جامعه‌ی ذهن - علیّت دایره‌ای - آیا آنچه از علت و معلول به ما گفته‌اند درست است؟

اول مرغ بود یا تخم مرغ؟
اول مرغ بود یا تخم مرغ؟
کتاب «جامعه‌ی ذهن» (The Society of Mind) اولین بار توسط ماروین مینسکی که یکی از مطرح‌ترین دانشمندان حوزه‌ی هوش‌مصنوعی و علوم شناختیه، در سال ۱۹۸۶ میلادی به چاپ رسید و به نظریه‌ای با همین عنوان نیز تبدیل شد. مینسکی در این کتاب سعی می‌کنه تا نحوه‌ی کارکرد «هوش طبیعی» رو توضیح بده و برای این کار مفاهیم و ایده‌های بسیار جالب و مختلفی رو در زمینه‌های گوناگون مثل نحوه‌ی کارکرد زبان، حافظه و چگونگی یادگیری مطرح می‌کنه. کتاب از ۳۰ فصل تشکیل شده که در هر فصل بخش‌های گوناگون و عمدتا کوتاهی وجود دارن.
جذابیت بالای این کتاب برای من، سلیس و قابل فهم بودن اون برای کسیه که تقریبا هیچ مطالعه‌ی قبلی در زمینه‌ی علوم شناختی و روان‌شناسی نداشته. بعد از مدتی که این کتاب رو شروع به خوندن کردم، متوجه شدم که داشتن ایده‌های هرچند ابتدایی در مورد نحوه‌ی کار ذهن انسان، می‌تونه تو زندگی شخصی، اجتماعی و همچنین طرز نگاه آدم به دنیای اطرافش تأثیر باورنکردنی‌ای داشته باشه و همین شد که تصمیم گرفتم نظرات خودم رو درمورد بخش‌هایی از کتاب که برام جالب هستن، منتشر کنم.
از اونجایی که زمینه‌ی تخصص خودم در مورد روان‌شناسی، علوم‌شناختی و از این دست مسائل نیست، خوشحال میشم که نظراتتون رو (هرچند تند و صریح)، فارغ از این که شما هم مثل من هستید یا این که متخصص این حوزه‌اید، باهام درمیون بذارید.

در بخش ۱ از فصل ۵ کتاب که عنوانش هست Circular Causality یا همون «علیّت دایره‌ای»، مینسکی این ایده رو مطرح می‌کنه که نظریه‌ی «علیّت» قادر به توضیح تمام پدیده‌ها و سیستم‌ها نیست. به طور مثال یک روز کاری سخت رو برای خودتون متصور بشید که بعد از چندین ساعت کار، احساس خستگی شدیدی بهتون دست می‌ده و ادامه‌ی کار رو براتون سخت می‌کنه و همزمان هم یاد خونه و مبل راحتیِ جلوی تلویزیون می‌افتید! خلاصه این که کارو رها می‌کنید و میرید خونه تا روی مبل لم بدید، تلویزیون تماشا کنید و خستگیتونو درْکُنید!

یه ایده اینه که، خستگی ذهنی شدیدتون باعث شده تا به فکر خونه بیا‌فتید تا با این ترفند کارو رها کنید و به مغزتون استراحت بدید؛ یا به طور خلاصه: شما می‌خواستید برید خونه، چون احساس خستگی شدیدی می‌کردید.
اما ایده‌ی دیگه اینه که، با خطور کردن فکر مبل جلوی تلویزیون به ذهنتون، مغز برای این که مجبورتون کنه تا کارو رها کنید و برید خونه، احساس خستگی شما رو تشدید کرده؛ یا به طور خلاصه: شما احساس خستگی می‌کردید چون می‌خواستید که برید خونه.
مینسکی میگه که دلیلی برای این که بگیم یکی اول رخ داده و بعد دیگری پیش اومده، وجود نداره. هردوشون می‌تونن در آن واحد روی ذهن ما تأثیر گذاشته باشن. یعنی احساس خستگی به این ایده که برید خونه دامن زده و باز این ایده که برید خونه احساس خستگی‌تون رو افزایش داده. یعنی هردوشون بر هم دیگه تأثیر داشتن ولی از طرفی یکی بر دیگری مقدم نبوده.

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

ما آدما اغلب دوست داریم برای توضیح مسائل و یا رفتار آدمای دیگه، یک زنجیره از علت‌ها و معلول‌ها را تصور کنیم و این‌شکلی موضوع رو برای خودمون ساده و قابل فهم کنیم.
مثلا بخاطر برخورد دوستمون ناراحتیم. خیلی راحت این برخورد نادرستشو به گردن چیز‌هایی مثل حسادت، عدم تربیت خانوادگی و ... می‌ندازیم. مثلا می‌گیم «علی فلان برخوردو با من کرد، چون فوق‌العاده آدم حسودیه. همین حسودیش هم دفعه‌ی قبل تو کافه باعث شد فلان حرف رو بزنه. تازه یه بار دیگه هم اگه یادت باشه...» و خیلی راحت کلی فاکتور مهم دیگه (مثل شرایط خانوادگی اون فرد، این که توی ایام امتحاناته و شاید روحیه‌ی خوبی نداره، اتفاقاتی که اون روز سر کار براش افتاده و یا این که بیماری خاصی که به اون مبتلاست) رو که روی چگونگی برخورد یه آدم تأثیر داره، نادیده می‌گیریم.

این طرز فکر از اونجایی ناشی می‌شه که فوق‌العاده سادست و به تحلیل عمیق و فکر زیادی نیاز نداره و البته در اکثر مسائل روزمره این نوع نگاه می‌تونه توضیح دهنده‌ی پدیده‌ها باشه. بچه از کودکی یاد میگیره که با عینک «علت و معلولی» دنیای اطرافشو ببینه؛ مثلا به بخاری دست نمیزنه چون دفعه‌ی قبل متوجه شده که دست زدنش به بخاری باعث سوختن دستش شده.
اما اگه از دنیای کودکی و بازی‌های بچه‌گانه فراتر بریم، هم در زمینه‌های علمی، فلسفی، سیاسی و هم در تحلیل رفتار آدما‌ها، با سیستم‌هایی مواجه می‌شیم که پر هستن از این حلقه‌های علیّت دایره‌ای و اگه بخوایم به اون‌ها هم با دید ساده‌ی علت و معلولی نگاه کنیم، «روابط و وابستگی‌های» زیادی رو در سیستم نادیده می‌گیریم و از جبنه‌های مهمی چشم‌پوشی می‌کنیم.

Let's Geek it Out! (مخصوص گیک‌های کامپیوتری)

برای آخرین قسمت پست، تصمیم گرفتم یه تیکه شبه کد ساده رو بنویسم که فکر می‌کنم ایده‌ی ابتدایی مفهوم Circular Causality رو بتونه توضیح بده:

var LeaveWorkAndGoHome = 0.1;
var tiredness_impact = 0.01;
var watchingTVAndLayingDown_impact = 0.01;

function tiredness_agency () {
    ....
    LeaveWorkAndGoHome += random_between(0.0, 0.1) * tiredness_impact;
    watchingTVAndLayingDown_impact += random_between(0.0, 0.1) * tiredness_impact;
    ...
}

function watchingTVAndLayingDown_agency () {    
     ....
      LeaveWorkAndGoHome += random_between(0.0, 0.1) * watchingTVAndLayingDown_impact;                         
      tiredness_impact += random_between(0.0, 0.1) * watchingTVAndLayingDown_impact; 
      ...
}

function main() {
    if (LeaveWorkAndGoHome > THRESHOLD)
        exit('Leave Work and Go Home!');
}

runAsynchronouseAgainAndAgain(main, tiredness_agency, watchingTVAndLayingDown_agency);

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

در آخر هم امیدوارم گیک‌های عزیز به مشکلات حافظه‌ی مشترکی که در شبه کد وجود داره، گیر ندن :)