Forth
http://fforum.winglion.ru/

Муравьи
http://fforum.winglion.ru/viewtopic.php?f=33&t=2793
Страница 1 из 1

Автор:  HaronK [ Вт янв 10, 2012 04:09 ]
Заголовок сообщения:  Муравьи

Некоторое время следил за состязаниями муравьев от Гугла. Было интересно, но не было времени попробовать самому. Сейчас вот решил соеднить приятное с полезным: написать своего муравья и вспомнить Форт.
Для начала хочу создать стартовый пакет под Форт, и если все получится, то можно было бы предложить Форт в качестве языка программирования для следующего этапа Ai Challenge. Получилась бы неплохая реклама Форту, а если еще и какой-нибудь форт-бот попадет в верхушку рейтинга, то будет вообще супер. Но это пока только мечты :).
На даный момент есть заготовка. Разработку провожу под Linux'ом используя SP-Forth для Linux.
Про то, как должен работать бот можно почитать тут, но если коротко, то бот получает по стандартному входу команды, обрабатывает их (время обработки ограничено) и по стандартному выходу передает свои действия по управлению муравьями.
Инструкция по локальному запуску системы симуляции находится здесь (в частности, для запуска под Linux необходимо скачать и распаковать этот архив).
Чтобы запустить бот можно использовать следующую команду:
Код:
./test_bot.sh "spf4 path/to/bot/MyBot.f"

(путь к spf4 должен быть в $PATH)
В текущей реализации стартового пакета я интерпретирую входящий поток команд как форт код. В ходе отладки столкнулся с проблемой чтения из входного потока. Проблема нашлась в слове READ-FILE. Я скопировал всю цепочку от TranslateFlow до READ-FILE в файл MyBot.f и добавил в READ-FILE вывод в лог. По логу (aigame.log) видно, что после успешного чтения первой строки из стандартного входа, попытка чтения следующей строки приводит к вылету из програмы.
В ходе тестирования подавал данные на стандартный вход бота перенаправлением из файла:
Код:
spf4 MyBot.f < aiTest.txt

(файл aiTest.txt можно найти в архиве)
В этом случае бот работает нормально.
Смотрел каким способом система симуляции передает данные в бот. Все происходит в файле sandbox.py в методе House._child_writer путем записи команд в стандартный вход процесса бота.
Пока не нашел причины проблемы, так что, если кому будет интересно и будет желание помочь, прошу предлагать идеи.
P.S. Даже если не получится добавить Форт к официальным состязаниям, всегда можно проводить их локально для форт сообщества.

Автор:  gudleifr [ Вт янв 10, 2012 15:11 ]
Заголовок сообщения:  Re: Муравьи

1) Ничего кроме вечного: "Когда человеку не хватает естественного интеллекта, он занимается искусственным",- в голову не лезет. Разбираться по английским исходникам, насколько эта игра отличается от канонической "задачи о муравье", очень не хочется. А на русском ничего нет?
2) По SPF ничем помочь не могу. Но, явно, это вопрос из другой темы.
3) Совмещение решения новой задачи и изучения нового (вспоминания старого) языка - прием, хотя, и широко разрекламированный, но ни разу не работающий.

Пардон за откровенный троллизм.

Автор:  HaronK [ Вт янв 10, 2012 16:10 ]
Заголовок сообщения:  Re: Муравьи

gudleifr писал(а):
А на русском ничего нет?

Можно глянуть на Хабре.

Автор:  gudleifr [ Вт янв 10, 2012 16:19 ]
Заголовок сообщения:  Re: Муравьи

HaronK писал(а):
Можно глянуть на Хабре.
Спасибо.

Автор:  mOleg [ Вт янв 10, 2012 16:57 ]
Заголовок сообщения:  Re: Муравьи

на всякий случай сюда добавлю MindForth Free AI Source Code for Robots.
и Forth for Artificial Intelligence in Robots
AI-Mind-I WinForth32

Автор:  gudleifr [ Вт янв 10, 2012 20:22 ]
Заголовок сообщения:  Re: Муравьи

mOleg писал(а):
на всякий случай сюда добавлю MindForth Free AI Source Code for Robots
Я ошибаюсь, или там, за исключением языкового блока, одни пустые фантики?

Автор:  mOleg [ Вт янв 10, 2012 20:24 ]
Заголовок сообщения:  Re: Муравьи

gudleifr писал(а):
Я ошибаюсь, или там, за исключением языкового блока, одни пустые фантики?

эм, вот zip

Автор:  gudleifr [ Вт янв 10, 2012 20:31 ]
Заголовок сообщения:  Re: Муравьи

mOleg писал(а):
эм, вот zip
Спасибо, там, на первый взгляд, получше.

Автор:  Wlad [ Вс янв 15, 2012 15:00 ]
Заголовок сообщения:  Re: Муравьи

Ещё во времена ДОС помнится была "среда" (чуть ли не текстовый режим!) в которой надо на фортоподобном языке написать ИИ для танков.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/