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/ |