بیاییم ساختارسازی کنیم،

یا سازمان(ساختار)سازی: سازوکار بالفعل‌سازی نقاط قوت

بارها شنیده‌ایم که یک کاری موفقیت‌آمیز نبوده، یا یک فردی در کاری شکست خورده. در تحلیل‌هایی که انجام می‌شود می‌شنویم که فلانی فلان مشکل را داشته و این مشکل موجب شده که موفق نشود. احتمالا برخی از این تحلیل‌ها درست باشد. معنی این تحلیل‌ها این است:

اگر حتی یک نقطه ضعف داشته باشید، موفق نمی‌شوید.

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

یک نقطه قوت برای موفق کافی است.

بالاخره کدام درست است؟

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

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

یک راه دیگر این است که

بیاییم ساختارسازی کنیم.

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

اسقاط اضافات

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

کلا دکتر علیشاهی حرفشان این بود: ما در شرایط کنونی، باید کلی کار انجام بدهیم. وظایف مختلفی داریم و برای موفق بودن باید کارهای فراوانی انجام بدهیم. در این شرایط باید بتوانیم تا جایی که می‌توانیم کارهای اضافی را از فهرست کارهایمان حذف کنیم.

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

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

تدریس را که نگو. حدودا ۲ روز کامل از هفته را می‌گیرد. بعضا ۳ روز از هفته را پر می‌کند! شاید باور نکنید ولی واقعیت دارد. تصحیح‌ها را که نگو و اعتراض به تصحیح‌ها. و اعتراض به درس در انتهای درس.

پژوهش را چه کنیم؟ که اگر رها کنیم، دانشگاه هم ما را رها می‌کند.

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

برخی هم هستند که می‌خواهند در دانشکده ریاضی شریف تحصیل کنند و قول می‌دهند که حتما نمره‌های خوبی بگیرند اگر قبولشان کنیم.

توصیه‌نامه نویسی هم هست. البته عذاب وجدان برای نوشتن توصیه‌نامه بیش از وقتی است که می‌گیرد.

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

کلی کار دیگر هم هست.

خلاصه این کارها که هست، دکتر می‌گویند حداقل کارهای اضافه دیگری انجام ندهیم.

توصیف درس مباحثی در مدل‌سازی ریاضی – بهار ۹۷-۸

در ترم آینده، درس مشترکی با دکتر علیشاهی داریم با عنوان مباحثی در مدل‌سازی ریاضی. توصیف خیلی کوتاه درس:

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

مباحثی در مدل‌سازی ریاضی

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

برای دنبال کردن درس داشتن دانش اولیه در احتمال و آمار ضروری و دانش هرچه بیشتر در زمینە فرآیندهای تصادفی، آمار پیشرفته، نظریە بازی‌ها، بهینەسازی و مهارت‌های برنامەنویسی مفید است.

سرفصل‌ها:

  • ترجیحات و انتخاب‌ها، نظریە مطلوبیت و تصمیم‌گیری در عدم قطعیت.
  • مفهوم بازی، استراتژی و تعادل
  • بازی‌های با اطلاعات ناکامل • نظریه تقاضا و تولید
  • نظریە تعادل بازار
  • قیمت‌گذاری پویا
  • طراحی مکانیزم و حراج‌ها
  • قیمت‌گذاری کالای منحصر به فرد: نظریه بازی‌های تعاملی و مساله چانەزنی

منابع

  • [1] A. Mas-Colell, M.D. Whinston, J. R. Green, Microeconomic Theory, Oxford University Press, 1995
  • [2] A.R. Karlin, Y. Peres (2017) Game Theory, Alive. American Mathematical Society.
  • [3] Özer, Özalp, Ozalp Ozer, and Robert Phillips, eds. The Oxford handbook of pricing management. Oxford University Press, 2012.

پس از توصیف درس

اما واقعیت این است که یک منبع خوب برای قیمت‌گذاری پیدا نکردیم که به عنوان یکی از منابع درس معرفی کنیم. اما آقای دکتر رامش جوهری، که خودشان نیز از معدود دانشمندانی است که با دید ریاضی به مساله قیمت‌گذاری می‌پردازد، نیز درسی با همین موضوع و با عنوان Platform and Marketplace Design ارائه کرده‌اند. اما درس‌شان مجموعه‌ای است از مقاله‌های متنوع و ارائه‌ها که به عنوان منبع مناسب نبود.

اعتراض‌های ساختمان داده

این ترم درس ساختمان داده را در خدمت دانشجویان بودیم. حدودا ۷۰ نفر این درس را گرفته‌بودند از رشته‌های علوم کامپیوتر و برق. شاید برخی افراد از رشته‌های دیگر هم بودند، اما کم‌تر بودند. در مجموع ساختمان داده یک درس پایه‌ای است. در مجموع درس خوبی بود. به حساب بنده، درس خوب بود و خوب برگزار شد.

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

اعتراض‌هایی که من شنیده‌ام:

۱) اعتراض به حجم زیاد درس: در این درس، علاوه بر مباحث معمول، برخی مباحث دیگر هم درس داده شد. البته برای اینکه حجم درس خیلی تغییر نکند، برخی مباحث که مثلا در ترم‌های گذشته بیشتر درس داده می‌شد، در این ترم مختصرتر برگزار شد. مثل مبحث درهم‌سازی یا تصادفی. و از طرفی تلاش شد آزمون‌هایی که از درس گرفته می‌شود آزمون‌هایی سطحی‌تر باشد تا خواندن آن مباحث سخت نباشد.

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

۳) نامنظم بودن تمرین‌ها و آزمونک‌ها. یکی از آزمونک‌ها یک هفته به عقب افتاد ولی تمرین‌ها دیرتر از موعدی که از ابتدا گفته بودم داده شد. به نظر می‌آید اگر از ابتدا نمی‌گفتم تمرین‌ها را کی می‌دهیم این مشکل پیش نمی‌آمد.

۴) عدم تمدید تمرین‌ها: سر این مورد هم خیلی اعتراض بود که چرا پس از پایان مهلت تمرین‌ها را تمدید نمی‌کنید. مشکل معمولا از کل زمان نبود. یعنی نمی‌گفتند ۲ هفته کم است برای تمرین‌ها می‌گفتند چرا بعد از زمان پایان تمرین را تمدید نمی‌کنید. البته خوب با توجه به اینکه بقیه استادها این کار را می‌کنند، شاید بهتر بود ما این کار را انجام می‌دادیم.

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

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

منتظر پیشنهاد شما برای سیستم جمع‌آوری نظرات هستم.

پس‌نوشت ۱: برخی دانشجویان گفتند که دیگر با فلانی درس نمی‌گیریم. راستش این‌که دانشجویان درس‌های بنده را نگیرند اینقدر من را اذیت نمی‌کند، اما این‌که دانشجویان اذیت شده باشند، حیف است. یک درس به این خوبی، چرا باید دانشجویان با اذیت این درس را طی کنند، به جای این‌که یک خاطره خوش برایشان بماند.

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

علوم کامپیوتر برای زیست‌شناسی چه دارد؟

مطلب جالبی با عنوان بالا توسط  ARTEM KAZNATCHEEV منتشر شده که دیدن آن خالی از لطف نیست. عمق نگاه نویسنده و نویسنده دیگری که به آن اشاره شده، یعنی آقای دکتر Aronson هم جالب است. در حقیقت آقای دکتر Aronson در مورد علوم انسانی و نیاز آن به علوم کامپیوتر نوشته که ایشان همان موضوع را به زیست‌شناسی تعمیم داده. متن نوشته را در ادامه است:

What can theoretical computer science offer biology?

SEPTEMBER 9, 2013 BY ARTEM KAZNATCHEEV 19 COMMENTS

If there is anything definitive that can be said about biology then it is that biology is messy and complicated. The stereotypical image of a biology major is in the library memorizing volumes of loosely (at best) related facts only to have them overturned in the next semester. Concepts are related only vaguely, to the point that it looks like stamp-collecting to outsiders. The only unifying theme is evolution, and even that is presented with a smorgasbord of verbal and mathematical models, with many lacking predictive power or sometimes even solid empirical foundations. This might seem like the polar opposite of a theoretical computer scientist with her strict hierarchies and logical deductions. Even the complexity zoo seems perfectly tame compared to any biological taxonomy. However, since I’ve been promoting algorithmic theories of biology and even trying my hand at applying cstheory to models of evolution(Kaznatcheev, 2013), I must think that there is some possibility for a productive partnership. So, what can theoretical computer science offer biology? CStheory can provide the abstractions and technical tools to systematize and organize biology’s heuristic models.

One of the best proponents for theoretical computer science as a way of addressing the Big Questions, instead of being confined to serving technology, has been Scott Aaronson. It is unsurprising, that his blog has offered some of the best words for describing the aid that cstheory can offer to biological understanding. In yesterday’s post on the NSA and computational complexity, Aaronson — with attribution to mathematician Greg Kuperberg — provided the following words regarding the applicability of cstheory to cryptography (these words apply directly to biology, too):

[Theoretical computer science offers] what mathematics itself has sought to do for everything since Euclid! That is, when you see an unruly mess of insights, related to each other in some tangled way, systematize and organize it. Turn the tangle into a hierarchical tree (or dag). Isolate the minimal assumptions … on which each conclusion can be based, and spell out all the logical steps needed to get from here to there—even if the steps seem obvious or boring. Any time anyone has tried to do that, it’s been easy for the natives of the unruly wilderness to laugh at the systematizing newcomers: the latter often know the terrain less well, and take ten times as long to reach conclusions that are ten times less interesting. And yet, in case after case, the clarity and rigor of the systematizing approach has eventually won out.

Although the algorithmic approach to biology might be slow at first, and will restate obvious things many times, eventually it will systematize the models. With a clear taxonomy of models, and the powerful tools from analysis of algorithms and computational complexity, biologists will be able to better navigate the assumptions they make as they model the world around them. I expect this to be especially important to models of evolution, and other fields where extensive and detailed empirical measurements are hard to achieve. A rigorous understanding of how model assumptions and conclusions relate, will allow biologists to make minimally restrictive models that agree with what has been measured without making extraneous presuppositions about the physical world (beyond the restrictions imposed by the fact that it is our minds that has to understand these theories).

This unification of fields will not be easy going. As Aaronson answered earlier to my question on the prospects of computational complexity in biology:

The central difficulty is obvious: to whatever extent your model is “real” CS theory, biologists and social scientists will probably deride it as too idealized; conversely, to whatever extent biologists and social scientists like your model, it will probably have too many “arbitrary” aspects for CS theorists to prove anything clean about it.

Let me put it this way: to connect computational complexity (as actually practiced by computational complexity theorists) to physics (as actually practiced by physicists), seems to me like digging a tunnel between England and France. Highly nontrivial, but by 1994 people finally managed to do it!

To form an equally-compelling link between computational complexity and biological evolution feels to me like digging a tunnel between England and the US. A worthy aspiration, but orders of magnitude more ambitious!

Progress will require convincing from both sides. In computer science we will need to consider more heuristic approaches, and the biologists will have to put up with our initially slow (and sometimes tangential) progress. However, if we start digging the tunnel from both ends then we can meet somewhere at the mid-Atlantic ridge.

In a broader context, we can be see this organization of thought as the application of algorithmic philosophy, extending past simple logical analysis to a serious consideration of the laws of computation. Scott Aaronson (2011) explains why philosophers should be interested in joining this approach. Hopefully with computer science, philosophy, and biology working together, we can untangle and understand the messy living world.

Aaronson, Scott (2011). Why Philosophers Should Care About Computational Complexity. arXiv arXiv: 1108.1791v3

Kaznatcheev, Artem (2013). Complexity of evolutionary equilibria in static fitness landscapes. arXivarXiv: 1308.5094v1