Vlad-Shcherbina / icfpc2014-tbd

fourth place
Do What The F*ck You Want To Public License
4 stars 0 forks source link

Эмулятор ghc на gcc #20

Open manpages opened 10 years ago

manpages commented 10 years ago

[00:54:24] Cyberdervish: фактически это задача программирования на кастрированном питоне [00:54:24] Cyberdervish: а у нас кодбаза на к.п. растёт и питфоллы мы находим по мере написания кода [00:54:44] Cyberdervish: стало быть человеку, который будет этим заниматься должно быть вообще плевать на суть задачи, стратегии, и т д [00:55:34] Cyberdervish: мы ему дадим спеку ghc и покажем как писать на КП и он закодит штуку, которая угадывает пути гостов. [00:55:56] Cyberdervish: тогда в стейт стратегий мы будем пихать пути гостов и принимать их во внимание [00:56:58] Cyberdervish: или даже эмулировать поведение гостов от нашего на некоторую глубину

Очень хочется, чтобы кто-нибудь типа @sumerman @greggy этим занялся, поскольку библиотека требует написания эмулятора по чёткому спеку на подмножестве питона. Тут вообще не надо вникать в уже существующую код-базу!

manpages commented 10 years ago

Нахуй надо (см. беклог скайпа)

Vlad-Shcherbina commented 10 years ago

Аргументы против (мои, по крайней мере) были:

  1. очень сложно, особенно с учётом ограниченных возможностей по отладке программ на КП
  2. чтобы это вообще заработало, нужна безупречная эмуляция гостов И правил игры, иначе малейшее расхождение, лавина, и предсказания станут бесполезны или вредны
  3. госты и так довольно предсказуемы, поскольку не могут разворачиваться в коридорах; столь продвинутая модель добавит совсем немного информации
  4. нужен АИ который эти предсказания сможет заюзать; такого предложено (и тем более реализовано) не было

Но после контеста в спокойной обстановке я подумал о модификации, которая адресует 2 (все остальные пункты остаются в силе): эмулируем госта до тех пор, пока на его поведение не зависит от динамического окружения типа положения пакмана и других гостов (его собственный стейт и статические штуки типа где находятся стены использовать дозволено). Пока это условие выполняется, госта можно считать просто передигающейся стенкой. А как только в его программу просачивается внешний инпут, эмуляцию прекращаем и считаем госта adversarial.