این اولین پستیه که قراره در مورد چیزایی حرف بزنم که کسی در موردش زیاد نشنیده و نخونده. یک موضوع جدید و در حال توسعه که به نظرم به شدت جذابه. خب یک سری مشکلات هست توی این پست از جمله اینکه خیلی از عبارت‌ها رو «من» ترجمه کردم و هنوز ترجمه‌ی رسمی براشون ارائه نشده و یا اینکه لااقل هنوز عرف نشدند. ممکنه یک سری ایراد علمی هم وارد بشه که در آینده تصحیحشون می‌کنم. موضوع این پست Balance Theory هست، اما از اونجایی که اگر «نظریه تعادل» ترجمه بشه خیلی‌ها ممکنه در نگاه اول یاد تعادل نش یا نظریه تعادل عمومی بیفتند من به جای واژه‌ی «تعادل» از واژه‌ی «توازن» استفاده می‌کنم تا اطلاع ثانوی! درضمن مدلی که در ادامه مطرح میشه یک مدل ساده و ابتدایی هست، بنابراین احتمالا بعضی از سوال‌های شما رو در حوزه‌ی علوم اجتماعی و/یا علوم سیاسی بی‌جواب میذاره!

 

خیلی خب، سه‌ نفر رو فرض کنید که می‌تونند دوست یا دشمن همدیگه باشند. همین‌طور دوستی و دشمنی رو متقابل فرض کنید، یعنی اگر کسی رو دوست دارید، اونم شما رو دوست داره. حالا اگر این سه نفر دوست هم باشند، اون موقع همه چیز خوبه و تنشی پیش نمیاد؛ دوست دوست شما، دوست شماست! اصطلاحا میگیم این مجموعه‌ سه نفری در توازن قرار داره و یا اینکه متوازن -balanced- هست. اما اگر از بین این سه نفر دو نفر رابطه‌ی خوبی با همدیگه نداشته باشند اون‌موقع ممکنه تنش پیش بیاد. به عنوان مثال فرض کنید که شما، همسرتون و مادرتون رو دوست دارید با این وجود، متاسفانه، مادرتون و همسرتون رابطه‌ی خوبی با همدیگه ندارند.

 یک شبکه نامتوازن بین آلیس، باب و کرول.دوستی با خط و دشمنی با خط‌چین مشخص شده است.

یک شبکه نامتوازن بین آلیس، باب و کرول.دوستی با خط و دشمنی با خط‌چین مشخص شده است.

اجازه بدید ،از این به بعد، به خاطر راحتی بیشتر از واژه‌های دقیق «دوست» و «دشمن» برای نوع روابط استفاده کنیم و دوستی رو کاملا ۱+ و یا ۱- فرض کنیم. بنابراین شما و همسرتون دوست، شما و مادرتون دوست ولی همسر شما و مادر شما دشمن همدیگه هستند. اینجا توازن از بین میره، به عنوان مثال کافیه شما هدیه‌ای برای مادرتون بخرید، در این صورت همسرتون شاکی میشه و مجبورید شب رو توی کوچه بخوابید! حالا فرض کنید که شما و آرش، هم‌زمان از یکی از همکار/هم‌کلاسی‌هاتون به اسم احسان متنفرید. خب طبق یه قاعده‌ی قدیمی، داشتن دشمن مشترک دوستی میاره و یا اینکه دشمن دشمن شما، دوست شماست. آرش دشمن احسان و احسان دشمن شماست پس طبق این قاعده شما و آرش دوست هستید. این مجموعه هم متوازنه. حالت دیگه که ممکنه پیش بیاد این هست که شما، میثم و سهیل هر سه دشمن همدیگه باشید، خب به وضوح مشخصه که این مجموعه نامتوازن هست؛ هر لحظه ممکنه کسی علیه کسی شورش کنه!

تا اینجا چارچوب بحث ما در مورد توازن مشخص شد. جذابیت این موضوع برای ما دانشمندان (!) زمانی شروع میشه که به فکر مدل‌سازی این چارچوب باشیم. ایده‌ی اصلی این کار توسط هایدر (۱۹۵۸) مطرح شد. مثلثی فرض کنید که هر راسش یکی از سه نفر بالا باشه و ضلعی که هر دو راس رو بهم متصل میکنه رو به عنوان رابطه اون دو راس(نفر) در نظر بگیرید. اگر دو نفر دوست هم باشند، به ضلعی که دو راس متناظر با اون دو نفر رو  متصل میکنه، ۱+ نسبت میدیم و اگر دو نفر دشمن هم باشند به ضلع متصل کننده  ۱-.

اجازه بدید از نظریه‌ی گراف کمک بگیریم. مطابق شکل ما یک گراف کامل با ۳ راس و ۳ یال داریم که رئوس، نماینده‌ی اعضای مجموعه و یال‌ها تعیین کننده نوع رابطه (دوستی یا دشمنی) بین رئوس هستند. با توجه به چارچوب بالا اگر تعداد یال‌های منفی که با خط چین توی شکل زیر مشخص شده‌ند فرد باشند (یکی یا سه‌تا) اون‌موقع گراف ما و یا شبکه ما نامتوازن -unbalanced- خواهد شد.

Screenshot from 2015-08-04 20:26:34

شبکه‌های متوازن و نامتوازن و نوع آرایش آن‌ها

بنابراین مدلی که به عنوان یک «شبکه‌ اجتماعی» برای توصیف روابط بین انسان‌ها و متوازن بودنشون مطرح می‌کنیم این جوری ساخته میشه:

  1. با توجه به افراد،‌سازمان‌ها، کشورها و هرچیزی که روابط دوستی یا دشمنی دارند ما یک گراف کامل از مرتبه تعداد اعضا مشخص می‌کنیم. گراف کامل هست چون که فرض بر اینه که همه‌ی اعضا همدیگه رو می‌شناسند و رابطه دارند. به عنوان مثال به کشورهای عضو سازمان ملل فکر کنید که یا از هم خوششون میاد یا از هم بدشون میاد!
  2. هر یال یا مثبته و یا منفی. هیچ حالت بینابینی وجود نداره.
  3. یک مثلث متوازن (balanced) است اگر و تنها اگر حاصل‌ضرب علامت یال‌های آن مثبت باشه. (اگر تعداد یال‌های منفی فرد باشه: (-,-,- یا -,+,+) اون‌موقع گراف ما و یا شبکه ما نامتوازن خواهد شد.)

    شیوه‌ی قطبیده شدن جهان به دو بلوک شرق و غرب قبل از جنگ‌جهانی اول

    شیوه‌ی قطبیده شدن جهان به دو بلوک شرق و غرب قبل از جنگ‌جهانی اول

خب حالا فرض کنید که ما یک شبکه‌ی مشخص از اعضا و روابطشون داریم:

  • آیا می‌تونیم بگیم که اوضاع این شبکه چقدر متوزانه؟
  • آیا می‌تونیم با در نظر گرفتن شبکه‌ی کشورهای دنیا و روابطشون بگیم آیا ممکنه بین دو کشور صلح برقرار بشه؟ یا اگه بین دو کشور صلح برقرار شد، اون موقع این صلح موضعی (منطقه‌ای) چه اثراتی روی صلح جهانی داره؟ به عبارت دیگه اگه علامت یالی رو در یک شبکه عوض کنیم (رابطه‌ی دو نفر رو از دوستی به دشمنی و یا عکس تبدیل کنیم) اون موقع میشه فهمید برای کل شبکه چه اتفاقی می‌افته؟
  • آیا می‌تونیم پیش‌بینی کنیم در چه شرایطی ممکنه بین هوادارهای دو تیم ورزشی توی ورزشگاه آزادی درگیری و نزاع پیش میاد؟

بله، با تقریب خوبی می‌تونیم همه این‌کارها رو به لطف نظریه‌ی توازن و یا بالانس تئوری انجام بدیم.

اجازه بدید کمی عمیق‌تر بشیم. خیلی راحت اثبات میشه که فقط دو راه برای یک شبکه بزرگ وجود داره که متوازن بشه، یا همه دوست هم بشند (جامعه بهشت بشه!) و یا اینکه شبکه قطبیده بشه، به این معنی که شبکه به دو بلوک تقسیم بشه جوری که داخل هر بلوک اعضا، دوست همدیگه حساب میشند و اعضای بلوک مقابل دشمن! درست مثل زمانی که دنیا به دو بلوک شرق و غرب تقسیم شده بود؛ یه سری این ور دوست هم بودند، یه سری هم اون‌ور، بعد این‌وری‌ها نمی‌خواستند سر به تن اون‌وری‌ها باشه!

خب پس وقتی ما یک شبکه داریم که در یکی از این دو حالت نیست یعنی متوازن یا بالانس نیست. سوال مهم اینه که خب اگر بخواهیم که شبکه رو بالانس یا متوازن کنیم چه کار باید انجام بدیم؟ یک راه پیشنهادی این هست که یک یال رو به صورت تصادفی انتخاب کنیم و علامتش رو عوض کنیم و بعدش ببینیم برای سیستم چه اتفاقی می‌افته. به عبارت دیگه اگر بعد از عوض کردن اون یال، تعداد مثلث‌های متوازن در کل شبکه زیاد بشه یعنی اینکه ما تونستیم شبکه رو به یک حالت متوازن‌تر هدایت کنیم، ولی اگر با عوض کردن علامت یالی تعداد مثلث‌های متوازن شبکه کم بشه یعنی عدم‌توازن رو توی شبکه بالا بردیم.

از اون‌جایی که ما فیزیک‌پیشه هستیم، اجازه بدید با رویکرد انرژی به قضیه نگاه کنیم؛ با توجه‌ به پیش‌فرض‌های ما، انرژی شبکه باید متناسب باشه با تعداد مثلث‌های نامتوازن منهای تعداد مثلث‌های متوازن موجود درشبکه:

CodeCogsEqn_001

معادله انرژی برای یک شبکه اجتماعی

 

CodeCogsEqn

اگر دو راس دوست باشند به یال بین آن دو ۱+ نسبت می‌دهیم و اگر دشمن باشند ۱-

 

نمودار انرژی برای شبکه‌هایی با (A) سه راس و (B) چهار راس

نمودار انرژی برای شبکه‌هایی با (A) سه راس و (B) چهار راس

n تعداد کل رئوس است و به خاطر بهنجارش (Normalization) تفاضل انرژی‌ها رو بر تعداد کل مثلث‌های شبکه تقسیم کردیم تا انرژی هنجار به واحد بشه! بنابراین بیشترین مقدار انرژی ۱ و کم‌ترین مقدار ۱- خواهد شد. وجود منفی هم به این خاطر هست که هرچی انرژی کم‌تر باشه (منفی‌تر) سیستم متوازن‌تره. خب بیاید با استفاده از این رابطه نمودار انرژی رو برای دو تا شبکه‌ی کوچیک، یکی با ۳ راس و دیگری با ۴ راس بکشیم:

نمودار A انرژی یک شبکه یا ۳ راس رو نشون میده که ساده‌ترین شبکه برای بررسی هست. بنابراین انرژی شبکه یا ۱ (نامتوزان) و یا ۱- (متوازن) هست. عددی که بالای هر مثلث نوشته شده فراوانی هر کدوم هست (مثلا اینکه یک یال خط‌چین باشه سه حالت داره، بدیهیه!)

نمودار B انرژی یک شبکه‌ی با ۴ راس رو نشون میده. خب توی این شبکه علاوه بر حالات قبل، انرژی صفر هم مشاهده میشه. طبیعیه که ما توی این شبکه می‌تونیم از بالا به پایین بیایم و شبکه رو متوازن کنیم. برای این کار کافیه علامت یکی از یال‌ها رو عوض کنیم و به وضعیت پایدارتر برسیم. خب این سوال مطرح میشه که:

  • آیا توی هر شبکه‌ای ممکنه با عوض کردن علامت یک یال، به یک شبکه‌ی متوازن‌تر رسید؟
Screenshot from 2015-08-04 22:06:50

وجود حالت‌های مسدود (jammed state)

متاسفانه در مورد شبکه‌های بزرگ(تعداد راس بیشتر) حالت‌هایی در سیستم وجود داره که به Jammed States و یا به قول استیون استروگاتز Strict Jammed States معروف هستند. این حالت‌ها چیزی نیستند جزو کمینه‌های نسبی انرژی. به این معنی که انرژی این‌حالت‌ها از تمام حالت‌های ممکن که با تغییر علامت یک یال در دسترس هستند، کمتر هست. بنابراین در حالت‌های jammed یا مسدود، امکان این‌که تنها با تعویض علامت یک یال به یک حالت متوازن‌تر رفت، وجود نداره. به عبارت دیگه انرژی حالت‌های مسدود کوچکتر یا مساوی انرژی حالت‌های مجاور هست.

نکته‌ای که وجود داره اینه که حالت‌های مسدود نمی‌تونند هر مقدار انرژی اختیار کنند. در حقیقت این‌حالت‌ها حداکثر می‌تونند انرژی صفر داشته باشند (کران بالای انرژی حالت‌های مسدود صفر است). اثبات این موضوع خیلی سرراسته: هر یالی در یک حالت مسدود متعلق به مثلث‌های متوازنی هست که تعدادشون برابر با تعداد مثلث‌های نامتوازنه، چون در غیر این صورت علامت اون یال باید عوض بشه که این در تناقض با تعریف حالت مسدوده! بنابراین در شبکه‌های نسبتا بزرگ حالت‌های مسدودی وجود که انرژی این‌ حالت‌ها حداکثر صفر هست.

یک گراف Paley با ۱۳ راس،‌ به شیوه‌ی اتصال رئوس دقت کنید.

یک گراف Paley با ۱۳ راس،‌ به شیوه‌ی اتصال رئوس دقت کنید.

ویژگی جالبی در مورد حالت‌های مسدود با انرژی صفر وجود داره؛ یال‌های مثبت در این حالت‌ها عضو یال‌های گراف Paley هستند. گراف Paley گرافی هست که تعداد رئوسش (q) یک عدد اول به شکل q=4k+1 هست. هر دو راس در این گراف درصورتی وصل هستند که تفاضل شماره اون دو راس یک عدد مربع کامل باشه به پیمانه‌ی q. این گراف‌ها خیلی خوشگل‌ هستند و قیافه‌ی متقارنی دارند. می‌تونید تعدادی از این گراف‌ها رو این‌جا ببینید.

 اگر دوست دارید به یک حالت مسدود با انرژی U=0 برسید:

  1. به یال‌هایی از شبکه که عضو گراف Paley هستند «+» نسبت دهید.
  2. به سایر یال‌ها (یال‌هایی که عضو شبکه (گراف کامل) هستند ولی عضو گراف Paley نیستند) «-» نسبت دهید.
  3. یک راس جدید به شبکه اضافه کنید (وسط شبکه!). هم اکنون شبکه شما q+1 راس دارد.
  4. راس جدید را به q راس قبلی وصل کنید و به یال‌های بین این راس و سایر رئوس «-» نسبت دهید.

با این روش شما می‌تونید یک حالت مسدود با انرژی صفر بسازید که q+1 راس داره.

 

فکر کنم برای مقدمه کافی باشه!


  • همین طور این مقاله‌ها رو به عنوان منابع این پست بخونید:
  1. The Energy Landscape of Social Balance
  2. Dynamics of Social Balance on Networks
  3. STRUCTURAL BALANCE: A GENERALIZATIONOF HEIDER’S THEORY’

توی قسمت قبلی دیدیم که اگر هر تابع f رو داشته باشیم می‌تونیم برای اون تابع مجموعه‌ی ژولیای مربوط به اون رو پیدا کنیم که خب یکمی از کامپیوتر هم کمک گرفتیم. کار ما این بود که یک تابع رو بر می‌داشتیم شرایط اولیه‌ای (یک سری نقطه توی فضای مختلطی (موهومی)) بهش می‌دادیم، مقدار تابع رو به ازای اون شرایط اولیه به دست می‌اوردیم و همین طور دوباره این مقدار رو به تابع می‌دادیم و این روند رو ادامه میدادیم تا ببینیم آیا شرایط اولیه‌ای که انتخاب کردیم به بی‌نهایت میل میکنه یا نه، اگر نمی‌کرد اون موقع مجموعه‌ی ژولیا اون تابع رو تشکیل میداد.  همین طور گفتیم که از بین همه‌ی توابع، توابعی که به صورت چندجمله‌ای های مربعی می‌باشند بیشتر مشهور هستند؛ توابعی با فورم: $$f(z)=z^2 +c$$توی این پست در مورد علت این شهرت توضیح میدم؛

تابع ${f(z)=z^2 +c}$ رو در نظر بگیرید؛ فراموش نکنید که c می‌تونه هر عددی – ولی حتما مختلط – باشه. حالا اگر با نقطه‌ی z=0 شروع کنیم، به این دنباله‌ می‌رسیم:

  $$  c , c² + c , (c²+c)² + c , ((c²+c)²+c)² + c , (((c²+c)²+c)²+c)² + c , …$$

اگر این دنباله واگرا نباشه، یعنی اگر c هایی انتخاب کنیم که در نهایت این دنباله به بی‌نهایت نرسه اون موقع مجموعه‌ی ژولیایی که توسط این cها برای تابع  ${f(z)=z^2 +c}$ ساخته میشه، «همبند» هست. احتمالای توی نظریه‌ی گراف با مفهموم همبند بودن آشنا شدین (معمولا سال آخر دبیرستان بچه‌های رشته‌ی ریاضی فیزیک نظریه‌ی گراف رو توی درس ریاضیات گسسته می‌خونند!) اگر نشدین، همبند بودن یک جور مفهموم متصل بودن رو داره، وقتی یک گراف یا شبکه‌ای همبند باشه اونموقع اگر شما از یک نقطه‌ای شروع به حرکت کردید، می‌تونید به هر نقطه‌ای که دلتون می‌خواد برید وبدون اینکه جایی مسیرتون قطع بشه. خلاصه این که اگر دنباله‌ای که ساختیم واگرا

مجموعه مندلبرو

نشد اون موقع ما یک مجموعه‌ی ژولیای همبند می‌تونیم بسازیم. (اثبات این مطلب فراتر از حوصله‌ی ماست!) خب حالا این مجموعه‌ی ژولیای همبند به چه دردی می‌خوره آیا؟! اجازه بدید تا یک مجموعه‌ی جدید معرفی کنیم به نام «مجموعه‌ی مندلبرو».

«مجموعه مندلبرو شامل نقاطی (c) از صفحه‌ی مختلط هست که به ازای آن ها مجموعه‌ی ژولیا تابع ${f(z)=z^2 +c}$ همبند باشد.»

شما می‌تونید یک برنامه بنویسید تا براتون مقادیری که C ممکنه بگیره رو پیدا کنه ولی یک نکته‌ای هست و اون اینه که همه‌ی مجموعه‌های ژولیا همبند شامل نقطه‌ی 0 = 0+ z= 0i  هستند! بنابراین «اربیت» یا «چرخش» یا «تکرار» مبدا برای این دسته از مجموعه ها، همیشه باید یک مقدار کران‌دار باشه و به بی‌نهایت میل نکنه، پس نقطه‌ی صفر در همه‌ی مجموعه‌های ژولیای همبند صدق میکنه. به طور مشابه در همه‌ی مجموعه‌های ژولیای ناهمبند نقطه‌ی صفر وجود نداره! خب این یک سنگ محکی شد برای تشخیص اینکه آیا نقطه c دلخواهی عضو مجموعه‌ی مندلبرو هست یا نه! یعنی کافیه تا ما «اربیت» یا «چرخش» یا «تکرار» نقطه‌ی z=0 رو برای تابع  ${f(z)=z^2 +c}$ بررسی کنیم، اگر مقادیری که به دست میاند (همون «اربیت» یا «چرخش») کران‌دار باشند اون موقع اون c مورد نظر ما عضو مجموعه مندلبرو هست ولی اگر به بی‌نهایت میل کنه اون‌موقع اون c دیگه عضو مجموعه مندلبرو نیست! شرمنده 😀

مندلبرو در حال کار در IBM

مجموعه‌ی مندلبرو یکی از موضوعات دینامیک مختلطه که برای اولین بار ایده‌ش اوایل قرن بیستم توسط ریاضی‌دانان فرانسوی بهنام «فاتو» و«ژولیا» مطرح شد. اون موقع‌ها هنوز کامپیوتر زیاد رونق نداشت برای همین مثلا فاتو نتونست شهود و تصویر خوبی از این مجموعه ارائه بده. تا اینکه مندلبرو اول مارس ۱۹۸۰(اواخر قرن بیستم!) به لطف کامپیوترهای شرکت IBM تونست این کار رو انجام بده و بعدش هم این موضوع رو گسترش زیادی داد. آدم‌های زیادی بعد از مندلبرو روی این موضوع کار کردند ولی به خاطر خدمات مندلبرو یا به احترام مندلبرو، اسم این مجوعه رو «مجموعه مندلبرو» گذاشتند!

این مجموعه در حقیقت یک فرکتال هست با مرز بسیار بسیار پیچیده، جوری که شیشیکورا ثابت کرد (۱۹۹۸) که بعد این مرز ۲ هست! این فرکتال برخلاف مجموعه‌ی ژولیا کاملا خودمتشابه نیست و اگر روی شکل زوم کنید این رو به راحتی متوجه خواهید شد!

همین طور این مجموعه توی صفحه‌ی مختلط، توی دیسکی یه شعاع ۲ قرار میگیره و  تقاطع اون با محور حقیقی بازه [۰/۲۵, ۲-] هست. حدودا دو سال پیش مساحت مجموعه مندلبرو 0.0000000028 ± 1.5065918849 واحدمربع تخمین زده شد! پیشنهاد می‌کنم حتما به صفحه‌ی ویکی پدیای این مجوعه عجیب و غریب  سر بزنید، مخصوصا اگر دوست دارید که الگوریتم‌هایی که برای تولید این دسته از فرکتال‌ها مورد استفاده قرار می‌گیرند چه جوری هستند!

برای مطالعه، پیشنهاد میکنم کتاب زیر رو بخونید، خیلی خوب توضیح داده هم فرکتال‌ها رو هم آشوب رو!

David P. Feldman, Chaos and Fractals, An Elementary Introduction, Oxford University

به عنوان حسن ختام، یک جمله از مندلبرو رو نقل میکنم (از سخنرانی تد ۲۰۱۰) : «خب، اجازه دهید تمام کنم. این شکل در اینجا تنها از یک تمرین در ریاضیات محض بوجود آمد. ظهور شگفتی های بی پایان از قواعد ساده، که بی نهایت تکرار می شوند.»