23.06.15

Модель поведінки генів

Відчуваючи взаємну з учнями підзадовбаність темою дробів та послуговуючись тутешнім принципом "доки пре і як попре" я дозволив собі стрибнути на іншу тему. Незабаром я захищаю дипломну роботу, присвячену моделюванню поведінки регуляторних генів у живій клітини. Особисто мене в цій темі втішає, як одна задача поєднує у собі купу всього: генетику, еволюційну теорію, логіку, програмування, теорію автоматів, теорію графів, теорію імовірності та крпельку танцювальної імпровізації — але те, як працює сама модель, можна пояснити абсолютно без цих теорій. Теоретично:)

Спочатку ми трохи побазікали про гени, про те, де вони і за що відповідають, та окреслили приблизно межі, в яких вони визначають нашу поведінку. Наприклад, гени можуть визначати стать або здатність засвоювати молоко, але не можуть визначити чи буде людина лихою чи доброю. Мені довелося перервати дискусію про виховане проти вродженого (nature vs. nurture), бо ми б в ній загрузли. Хоч може і не варто було, просто я був не готовий то такого повороту.

Я запропонував моїм колегам по пізнанню світу наступну гру. Кожен і кожна — гени. Гени можуть перебувати в активному стані й впливати якось на поведінку клітини або бути у неактивному стані і ніц не робити. Крім того те, чи робитимуть вони щось, залежить від станів сусідніх генів на минулому кроці. Мета гри — попридумувати правила взаємодії і пофункціонувати як клітина, пожити.

***
Генами вирішили бути Клим, Федько і Варя. Решта обрали роль спостерігачів. Ми відішли від парт, що дещо збільшило міру хаосу в класі. Особливо — коли я запропонував "генам" визначити, як вони показуватимуть активний і неактивний стан. "Гени" миттю визначилися, проблема була лише в тому, що активний і неактивний стани обидва були активними, хоч і по-різному. Тож, щоб було видніше, що є що, я авторитетно порадив, щоб неактивний стан був "сидіти/лежати", а активний — "стояти". Далі я запропонував Климу, Варі й Федькові визначити, за якими правилами кожен буде рухатися залежно від інших. Я очікував, що вони кожен собі виберуть по правилу, і будуть рухатися відповідно до них, а інші спостерігатимуть, доки не побачать закономірність, що неминуче виникне у рухах. Але замість того трійця прийняла одне правило на всіх, правило одразу для системи в цілому. Вони почали наввипередки розповідати це правило. Хоч я нічого не зрозумів із пояснень, але коли вони показали на собі, то стало видно, що по кожен "ген" вставав по колу, в той час, як інші лежали. Тоді я запропонував записати правила поведінки на дошці й вийшло приблизно наступне: К+В=Ф, В+Ф=К, К+Ф=В. Я знов нічого не зрозумів попри строкаті Климові аналогії з двигунами і різними видами палива.
Тому я почав тупо записувати варіанти активностей генів і запитувати, що станеться у наступний момент. Про варіанти, коли всі лежать або всі стоять (000, 111), або двоє стоять - один лежить (011, 101, 110) мені сказали, що вони неможливі. Решта переходів між станами — такі (001 --> 010, 010 --> 100, 100 --> 001). Втомлене моїми розпитуваннями трійко "генів" побігло пускати по колу літачки. Згодом Клим і Федько ще показали мені поведінку, де Федько йде від краю до краю кімнати, в той час як Клим махає одним пледом, і стрибає, коли Клим махає іншим. 

Тим часом Тома й Іванка вирішили не втикати і утворили свій двогеновий одноклітинний організм: 01 --> 10, 10 --> 01.

Після моїх розпитувань про інші випадки додалися ще переходи 11 --> 00, 00 --> 11.

Юля і Маша, здавалося, просто офігівали з того, що відбувається, але, як виявилося з відповідей на мої підступні запитання типу "а чи завжди буде цикл?", вшарили фішку і запропонували свої варіанти повних переліків переходів для нашого трійка генів.

Клим висловив цікаву думку, що для нециклічної поведінки необхідна нескінченна кількість генів.

На наступних заняттях ми програвали ще багато варіантів поведінки.

Юля, Федько і Сашко. Юля змінювала свій стан на протилежний, якщо бачила якісь зміни в станах сусідів. Правило Федька точно не згадаю, але він змінював свій стан, якщо я попередні кроки я не змінював стан. Я переходив у активний стан, якщо Федько і Юля були в різних станах і в неактивному, якщо вони були в однакових станах. Ми "зіграли" поведінку клітини з цими правилами і за кілька кроків поведінка стала циклічною. Потім я пояснив, що для генів з нашої моделі, як і для генів взагалі, правила Федька і Юлі виявилися б непідйомними, адже вони спираються на історію станів генів клітини на кілька кроків назад, а не тільки на попередній стан. Бо ген — це не істота і навіть не мікрокомп’ютер. Це всього лише молекула і багато від неї очікувати не слід.

Маша і Варя. Настукували We will rock you. Варя гуп-гуп ногами, Маша стоїть. Маша хлоп руками, Варя стоїть. 
10->01->10->01->....

Маша, Варя і Сашко. Правило було одне на всіх і його придумала Маша але правило стосувалося вже гена, а не системи в цілому. Воно звучало ось так: "не можна сидіти, коли двоє сидять; не можна стояти, коли двоє стоять".

Ми спробували його застосувати, але швидко стало не ясно, що робити, коли один сидить, а інший стоїть. Тоді я записав на дошці усі можливі стани і спитався в Маші, які будуть наступні. Для випадків, коли один із сусідів сидить, Маша допридумала правило, що тоді ген приймає стан, у якому знаходився сусід з правого боку. Спільними зусиллями ми позаписували для всіх можливих станів наступні і намалювали граф. Правда зіграти клітину не встигли. Вийшло два можливих цикли: 111<->000 та 001->011->010->110->100->101->001. "Всі стоять - всі сидять" та "по колу всі пускають хвильку, як на стадіоні". Треба буде дограти при нагоді.
Якщо узагальнювати то правила, які придумували діти поступово змінювалися від таких, які імперативно вказували поведінку системи в цілому (ззовні, згори вниз), до таких, які визначали поведінку складових і зв’язки а поведінка системи поставала (emerged) з локальних взаємин (зсередини, знизу вгору). Другий випадок, коли патерни поведінки виникають без творця, який їх задумав, зветься самоорганізацією.
Сашко Лихенко

1 коментар: