macroevolution: (Default)
macroevolution ([personal profile] macroevolution) wrote2011-05-16 07:16 pm

Семинар "Вопросы эволюции" №20

 СЕМИНАР «ВОПРОСЫ ЭВОЛЮЦИИ»
Заседание № 20

Процессы самоорганизации в онтогенезе многоклеточных: опыт имитационного моделирования

А.В. Марков (Палеонтологический институт РАН)
М.А. Марков (Московский Государственный институт радиотехники, электроники и автоматики)

20 мая в 18-00. Москва, Ленинский пр-т 33, большой конференц-зал на первом этаже





UPD: видео семинара

А кто у Вас программы пишет ?

[identity profile] zlata-gl.livejournal.com 2011-05-18 10:11 am (UTC)(link)
Красивая программистская задачка как раз на тему "умного" поведения группы при ОДИНАКОВОЙ программе у каждого индивидуя.

Дано: дорога с севера на юг. Прямая линия.
Два абсолютно одинаковых робота одновременно приземляются с парашютами в разных местах дороги.
После чего оставляют парашюты на месте и движутся по программе. Роботы имеют одинаковую программу.
Задача: они должны встретиться. На расстоянии 1 метр или меньше - они уже притянутся друг к другу и взорвутся конъюгируют.

Программа строится на базе 4-х команд.

1. Шаг на север.
2. Шаг на юг.
3. Безусловный переход на строку программы номер ***
4. Условный переход на строку программы номер ***, если видишь парашют.

После команд 1, 2 - программа (разумеется) переходит к следующей команде. Аналогично - после 4, если нет парашюта.
1 шаг = 1 метр
Парашют тоже виден с расстояния 1м.
Время выполнения каждой команды - 1 секунда.

Памяти нет, считать роботы не умеют. Ну тупые !
Нужна программа, которая гарантированно заставит их встретиться.

Re: А кто у Вас программы пишет ?

[identity profile] dritte-mal.livejournal.com 2011-05-18 09:01 pm (UTC)(link)
а кроме "видишь парашют" никаких нету признаков приближения/удаления, да?:)

Re: А кто у Вас программы пишет ?

[identity profile] zlata-gl.livejournal.com 2011-05-19 08:03 am (UTC)(link)
Нет.
В системе НЕТ команд условного перехода по другим флагам, кроме "вижу парашют". Парашюты одинаковы.
Уточняю: парашют виден с расстояния ДО метра (ровно с метра не виден).
И с расстояния ДО метра - роботы считаются "встретившимися". Дальнейшие события уже не интересны, программа прекращает работу.

Re: А кто у Вас программы пишет ?

[identity profile] dritte-mal.livejournal.com 2011-05-19 08:20 am (UTC)(link)
аа, понял. парашют и робот же в разных местах))

Re: А кто у Вас программы пишет ?

[identity profile] zlata-gl.livejournal.com 2011-05-19 09:16 am (UTC)(link)
То есть на дороге имеются две одинаковые метки, видимые каждому роботу, когда он рядом.

Re: А кто у Вас программы пишет ?

[identity profile] macroevolution.livejournal.com 2011-05-19 12:06 pm (UTC)(link)
Программу сын писал. Но он пока не отреагировал на вашу задачу, поэтому я предлагаю вот такое решение:

1. шаг на север
2. Если видишь парашют, иди к строке 8
3. иди к строке 4
4. иди к строке 5
5. иди к строке 6
6. шаг на север
7. иди к строке 2
8. шаг на север
9. иди к строке 8

Роботы приземляются и делают шаг на север. Отсюда они уже своих парашютов не видят. Начинают циклически выполнять строки 2,3,4,5,6,7 и движутся на север медленно, т.к. выполнение строк 3-5 обеспечивает задержку. Когда тот из роботов, который приземлился южнее, наткнется на парашют "северного" робота, он от строки 2 перейдет к строке 8 и начнет двигаться на север быстрее, выполняя строки 8 и 9. В результате он обязательно догонит "северного" робота.

Re: А кто у Вас программы пишет ?

[identity profile] zlata-gl.livejournal.com 2011-05-19 12:19 pm (UTC)(link)
Великолепно !
Особенно - для непрограммиста !
(Кстати, строки 3 и 4 - можно и выкинуть, там и так уже 4 секунды на шаг, а во 2-м цикле - 2).
Что самое смешное - "шаг на юг" вообще не нужен. Но если его не давать в условии - задачка слишком проста.

Задачка - в тему, правда ? :-))

Re: А кто у Вас программы пишет ?

[identity profile] macroevolution.livejournal.com 2011-05-20 10:57 am (UTC)(link)
Задачка - абсолютно в тему. При работе с нашей программой такие задачки приходится решать постоянно, когда пытаешься создать какого-нибудь зверька. Но разрешенных команд побольше, и поэтому мозгов все равно не хватает, чтобы предсказывать результат, и приходится действовать методом проб и ошибок с элементами разумного дизайна.

Re: А кто у Вас программы пишет ?

[identity profile] dritte-mal.livejournal.com 2011-05-21 08:30 pm (UTC)(link)
Сенсация! Эволюционист Марков признал элементы разумного дизайна!!!
(шутка, если что)

Re: А кто у Вас программы пишет ?

[identity profile] wormball.livejournal.com 2011-05-19 10:00 am (UTC)(link)
Я эту задачу много раз втречал, но почему-то именно сейчас додумался до правильного решения. А доселе она мне казалась неразрешимой задачей-шуткой.

Re: А кто у Вас программы пишет ?

[identity profile] zlata-gl.livejournal.com 2011-05-19 10:20 am (UTC)(link)
У меня ушло около суток на переход от "невозможно" к "ой, как просто !"