مقدمه
تئوری بازیها مطالعه درگیریها و همکاریها بین تصمیم گیرندگان منطقی و هوشمند توسط مدلهای ریاضی است. ناگفته نماند که در اقتصاد و سیاست و علوم کامپیوتر و روانشناسی استفاده بالایی دارد. بازیکنهای مدل شده ممکن است اشخاص، دولتها، شرکتها باشند تصمیمشان ممکن است انتخاب اینکه یک درگیری را پایان دهند، یک سهام را بفروشند، با طرف مقابل همکاری انجام دهند باشد. انگیزههایشان ممکن است سود یا اهمیت دادن به دیگر بازیگرها باشد. این مدلسازیها و دانستن آنها به ما کمک میکند در شرایطی که تضاد منافع وجود دارد چگونه تصمیم گیری نماییم و استراتژیهای آن هرچند در سطح بسیار ساده اینجا مطرح میشود و فاقد اعتبار علمی لازم در علم تئوری بازیهاست اما به نظرم میتواند برای خواننده تا حدی راهگشا باشد.
طرح مسائل
یک مساله پایهای در نظریه بازیها دو راهی زندانی است بر طبق اطلاعات مفیدی که از ویکیپدیا داریم طرح این مساله به صورت زیر است:
«دو مظنون توسط پلیس دستگیر شدهاند پلیس باید شواهد کافی برای محکومیت مظنونین جمعآوری کند و برای این کار به صورت جداگانه از مظنونین باز جویی میکند. اگر یکی از مظنونین علیه دیگری شهادت دهد و مظنون دیگر سکوت را ترجیح دهد، در این حالت مظنون اول آزاد و دیگری به یک سال حبس محکوم میشود. اگر هر دو سکوت در بازجویی را انتخاب کنند هر دو زندانی در زندان تنها برای یک ماه حبس خواهند کشید و اما اگر هر دو علیه دیگری شهادت دهند باید به مدت ۳ ماه هر زندانی حبس بکشد. هر زندانی باید بین خیانت و سکوت یکی را انتخاب کند و هر کدام از آنها نمیداند که دیگری کدام راه را انتخاب میکند.»
اگر توجه کرده باشید در هر یک از انتخابهای یک زندانی بدون توجه به شخص مقابل انتخاب خیانت بیشتر به نفع شخصی زندانی است. در نتیجه اگر هر دو زندانی بر این اساس عمل کنند به حالت اینکه هر دو سه ماه زندانی بکشند میرسند در حالی که میتوانستند با سکوت، به یک ماه زندانی شدن برسند.
مثالهای دیگری نیز وجود دارند مانند نبرد زن و شوهر، که در آن زن میخواهد به کنسرت اپرا و شوهر میخواهد به دیدن مسابقه فوتبال برود و اگر نتوانند بایکدیگر مکالمه کنند باید چه کاری را انجام بدهند. یک مشکل اضافه که اینجا وجود دارد این است که اگر هر دو همکاری هم کنند و به عبارتی مطابق میل طرف مقابل عمل کنند هم نتیجه این میشود که زن به مسابقه فوتبال رفته و شوهر به دیدن اپرا میرود که نتیجه این عمل رسیدن سود صفر به هر دو است.
یک مساله دیگر که آن هم به خوبی در ویکیپدیا شرح داده شده است مساله شکار گوزن است، توضیحات این مساله به نوعی نحوه رسیدن به یک راه حل برد-برد را شرح میدهد. هدف از بررسی این قضیه این است که دعوا بر سر شکار گوزن چندان از مسالههای روزمره ما مانند درگیری برای بدست آوردن ارتقای شغلی دور نیست.
«دو شکارچی برای شکار گوزنی به جنگل میروند. هر یک از آنان میتواند به تنهایی در پی شکار گوزنی باشد. اما احتمال این امر بسیار پایین است. همچنین آنان میتوانند به تنهایی در پی شکار خرگوشی باشند. اما احتمال آن نیز کم است چرا که شکار یک خرگوش توسط یک شکارچی باعث خواهد شد شانس شکارچی دوم برای شکار خرگوش به شدت کاهش یابد. از طرف دیگر، منافع حاصل از شکار گوزن بسیار بیشتر از شکار یک خرگوش (آن هم با احتمال بسیار کم) است. بهترین گزینه ممکن، همکاری دو شکارچی برای شکار یک گوزن است که هر دو میتوانند در این شکار سهیم شده و از منافع آن بهرهمند گردند. اما این شکار، مستلزم صبر و تحمل زیاد، همکاری دو شکارچی و اعتماد آنان به یکدیگر است. ممکن است ساعتها یا روزها طول بکشد که گوزنی به محل شکار برسد؛ بنابراین باید دو شکارچی از تحمل بالایی برخوردار بوده و اغوا نشوند که با شکار یک خرگوش، باعث فرار گوزن از محل شکار شوند؛ بنابراین رسیدن به این تفاهم و همکاری مستلزم اعتماد و دورنگری دو شکارچی است. همچنین شکار گوزن مستلزم حسن نیت و خیرخواهی، اما شکار خرگوش حاکی از خودخواهی شکارچیان است.»
یک مساله که به بیان کلیتر این قضیه میپردازد مساله بازی هماهنگی است که در مورد آن میتوانید اطلاعات کاملی در ویکیپدیا پیدا کنید. این ارجاعات بسیار من به ویکیپدیا هم در نوع خودش جالب هست ولی متن دقیقی که آماده کردند بازگو کردنش به زبان من ارزش افزودهای ندارد.
استراتژیها
این بخش بیانگر استراتژیهای مختلف برای بازیکنهای این مدلهای بازی است. باید اینجا اضافه کنم که حالت دیگری از بازی وجود دارد که به واقعیت بیشتر نزدیک است و به نام Repeated Game معروف است. در این حالت بجای یکبار اجرا شدن بازی، بازی چندین بار اجرا میشود و بازیکنها دارای حافظه از حرکات انجام شده توسط خودشان و حریف هستند. برخی از این استراتژیها تنها در این حالت معنا پیدا میکنند.
Naively Cooperate
این استراتژی که به معنای همکاری کورکورانه است همیشه و در همه حال بدون توجه به اینکه شخص مقابل خیانت و یا همکاری کرده است همکاری را انتخاب میکند.
MinMax
این استراتژی فقط به دنبال بهینه کردن سود شخصی بوده و همیشه به حریف خیانت میکند، این اسم از آنجا آمده که به دنبال مینیمم یا کمینه کردن سود حریف و ماکسیمم یا بیشینه کردن سود خودش است. شاید این استراتژی در مقابل استراتژی همکاری کورکورانه بتواند سود خوبی بدست بیاورد اما در مقابل استراتژیهایی که در ادامه میبینیم و مقابله به مثل میکنند بجز یک دست از بازی کار به جایی نمیبرد.
Grim
این استراتژی در ابتدا همکاری میکند و سپس در هر مرحله از اجرای الگوریتم در صورتی که فقط یکبار طرف مقابل خیانت کند بدون توجه به حرکات بعدی طرف مقابل همیشه گزینه خیانت را انتخاب میکند.
Tit-For-Tat
این استراتژی که توسط اناتول پاپورت ثبت شده است در دور اول همکاری میکند و سپس در ادامه کاری را که حریف در مرحله قبل انجام داده بود را انجام میدهد. این استراتژی در واقع به دنبال همکاری یا سکوت و سپس مقابله به مثل کردن میباشد. اگر حریف خیانت را انتخاب کرد این استراتژی حریف را با خیانت در مرحله بعد جریمه میکند و اینکار را تا زمانی که حریف شروع به همکاری کند ادامه خواهد داد.
Mixed Strategy
این استراتژی به صورت احتمالاتی ترکیبی از استراتژیهای مختلف را اجرا میکند.
یک آزمایش جالب
این آزمایش از کتاب Introduction to Genetic Algorithm که کتابی مطرح در زمینه هوش مصنوعی و الگوریتمهای تکاملی است انتخاب شده است. آقای رابرت اکسلرود از دانشگاه میشیگان در سال 1984 یک مسابقه برای نوشتن برنامهای برای تصمیمگیری در دو راهی زندانی برگزار میکند. این مسابقه به این صورت بود که هر یک از شرکت کنندگان میبایست یک برنامه کامپیوتری که یک استراتژی را پیاده کرده بود بنویسند و این برنامههای مختلف با یکدیگر چندین بار به صورت ادامه دار مساله دوراهی زندانی را بازی کنند. در هر بازی یک برنامه دارای حافظهای سه حرکت قبلی خودش و طرف مقابلش هست و بر اساس آن تصمیم بعدی را میگیرد. در این مسابقه هر برنامه با تمام برنامههای دیگر مسابقه داده و برنده مسابقات آن تیمی است که در کل امتیاز بیشتری کسب نماید. برخی از استراتژی های ثبت شده از مدل مارکو و نظریه بیز برای مدل کردن رفتار بازیکن یا همان برنامه مقابل استفاده کرده بودند اما در هر دو مسابقه برنده استراتژی ساده Tit For Tat بود.
بعد از این آقای اکسلرود تصمیم گرفت که بررسی کند آیا الگوریتم ژنتیک نیز میتواند در تکامل به استراتژی مناسبی برای بازی کردن برسد یا خیر. نحوه کدگذاری اکسلرود به این صورت بود: فرض کنید که هر بازیکن میتواند حافظه یک بازی قبلی را نگه دارد. در این صورت چهار حالت ممکن بود رخ بدهد: CC و CD و DC و DD که C مخفف cooperate و D مخفف defect هست و با توجه به اینکه دو بازیکن هر یک دو انتخاب دارند در کل چهار انتخاب داریم. در نتیجه یک استراتژی را میتوان با چهار کاراکتر که حرکت متناظر با هر کدام از این حالات میباشد نشان داد. اکسلرود استراتژیای ساخت که سه حرکت پیشین را بخاطر میسپرد مطابق اصل ضرب 64 حالت برای این سه حرکت وجود خواهد داشت و در نتیجه یک رشته 64 کاراکتری میتواند هر استراتژی برای این حافظه را مدل کند. همچنین 6 کاراکتر اضافه در نظر گرفت که برای شروع بازی هر برنامه بتواند از سه حرکت دو بازیکن را به عنوان مقدار اولیه به خودش بدهد. در اولین آزمایش ژنتیک با 20 برنامه بعد از 40 اجرای 50 نسل، استراتژیهایی مانند Tit For Tat و حتی بهتر در رقابت با 8 برنامه از پیش تعریف کرده بودند، کشف شدند. البته با توجه به اینکه این 8 برنامه ثابت بودند و الگوریتم ژنتیک در حال تکامل بود توانست این بهبود چشمگیر را کسب کند و شاید در کل منصفانه نباشد.
قسمت جالبتر ماجرا آزمایش بعدیست که تاثیرات یک محیط پویا در تکامل استراتژی توسط الگوریتم ژنتیک را بررسی کرد در این آزمایش هر عضو جمعیت (هر برنامه مدل شده با الگوریتم ژنتیک) بجای رقابت با برنامههای از پیش تعریف شده با دیگر عضوهای جمعیت رقابت میکرد. حالا محیط از نسلی به نسل دیگر تغییر میکرد زیرا حریفها هم در حال تکامل بودند. در نسلهای ابتدایی الگوریتم ژنتیک به برنامههایی رسید که استراتژیای مشابه با MinMax و خیانت داشتند و برنامههایی که به دنبال سکوت و همکاری بودند به علت اینکه حریفهای مشابه خودشان نبودند از چرخه تکامل حذف شدند. به عبارت دیگر به نوعی میتوان تحلیل کرد که کسی ارزش به رفتارهای خوب این دسته نشان نمیداد. اما بعد از 10 الی 20 نسل مختلف مد عوض شد الگوریتم ژنتیک استراتژیهایی را شکل داد که از همکاری استقبال کرده و خیانت را مجازات میکنند. این استراتژیها که در واقع مشابه Tit-for-Tat با تنوعهای مختلف بودند بخاطر همکاری با یکدیگر امتیازی بالاتر از میانگین بقیه دریافت میکردند.
یک نتیجهگیری جامعه شناسانه
در جامعه معمولا یکبار با یک فرد روبرو نمیشویم و ارتباطات ما بیشتر شبیه مدل Repeated Game است. بنظر میرسد استراتژی همیشه خوب و خوشبین بودن و حتی در مقابل رفتار بد رفتار خوب نشان دادن محکوم به شکست است، اما استراتژیهایی که متناسب با حرکت طرف مقابل حرکت کرده و در انجام همکاری پیشقدم هستند میتوانند به سود حداکثر در جامعه برسند. شاید ما نتوانیم همیشه اینقدر ساده از یک استراتژی پیروی کنیم و رفتار خوب یا بدرفتاری دیگران را مقابله به مثل کنیم. بیشتر چیزی شبیه Mixed Strategy هستیم و با توجه به حال و احوال کلیمان رفتار متفاوتی با اشخاص داریم. بهرحال به نظرم و با توجه به مشاهدات جالبی که از آزمایشات آقای اکسلرود گرفتیم اضافه کردن وزن استراتژیهای مقابله به مثل که هر از چندگاهی در رفتار خوب پیشقدم میشوند و فرصت جبران به طرف مقابل میدهند بهترین انتخاب برای نفع فرد و جامعهای که در آن قرار گرفته است، میباشد.