www.boolean.name

www.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   ИИ: нейросети, генетические алгоритмы (http://forum.boolean.name/showthread.php?t=18579)

den 29.09.2013 14:26

ИИ: нейросети, генетические алгоритмы
 
Значит захотелось мне сделать простенький ии на нейросетях. На вход должны были подаваться данные окружающего мира, на выходе - действия бота. Т.к. обучение с учителем в данном случае не возможно (?), сделал генерацию сетей с помощью генетического алгоритма.
Так вот, сделал, начал тестировать. Для простых логических функций, типа И ИЛИ НЕ XOR всё работает отлично. Пошел дальше, сделал генерацию бота для крестиков-ноликов. Но тут даже после нескольких тысячь поколений, не удалось научить сеть тупо не нарушать правила - не делать ход не на свободную ячейку. Прогресс конечно был, но уж очень маленький. Реализация генетического алгоритма не самая оптимальная, но думаю проблема не в этом. А это только какие-то крестики нолики.
Вот собственно вопрос: делать ИИ на нейросетях для более-менее сербезных вещей (например монстр из РПГ игры) изначально прохая идея, или же как-то можно?
Может какую-то часть ИИ сделать на сетях, другую таблицами состояний, а характеристики бота подобрать генетическим алгоритмом?

moka 29.09.2013 14:51

Ответ: ИИ: нейросети, генетические алгоритмы
 
Как практика показывает, в индустрии используются предсказуемые методы для реализации AI, т.к. это тестируемо и контролируемо.
Нейросети не управляются напрямую, и не предсказуемы по сути. Что как бы клёво (это же AI), но это не подходит в большинстве случаев.

Если что-то и делать, то обычно это требуется для принятия решения, а не логики решений. Наш мозг сложен, но в искуственных пока не реализовали такие сложности поэтому пытаться создать сеть что будет отвечать за кучу аспектов - не выйдет.

Генетический код тоже, очень зависит от конкретных условий, и изменения этих условий обычно обламывают генетически развитый код, т.к. он уже будет не подходить под условия.

Использовать сети нужно в принятии решении, например решить хочет ли он атаковать или бежать, исходя из входных данных. Когда куда атаковать уже может быть либо генетический алгоритм, либо конкретной логикой.

Лit}{Ъ 30.09.2013 08:15

Ответ: ИИ: нейросети, генетические алгоритмы
 
Сделать ии на нейросетях можно для очень широкого класса игр, другой вопрос, что требуется более сложная основа нежели простой подбор коэффициентов простым гинетическим алгоритмом. При элегантной организации топологии сети и грамотном обучении, нейронки творят чудеса.
А вообще советую вам почитать книжку "Алекс Шампандар. Искусственный интеллект в компьютерных играх, как обучить персонажи реагировать на внешние воздействия". Так всё расписано исключительно грамотно. На сколько мне известно именно нейро сети были основой для ботов халф лайфа.
Вот, если что, первая попавшаяся ссыль, за более качественным вариантом гуглить отдельно http://rutracker.org/forum/viewtopic.php?t=650327

alex 14.11.2020 04:21

Ответ: ИИ: нейросети, генетические алгоритмы
 
Цитата:

Сообщение от den (Сообщение 267812)
Вот собственно вопрос: делать ИИ на нейросетях для более-менее сербезных вещей (например монстр из РПГ игры) изначально прохая идея, или же как-то можно?
Может какую-то часть ИИ сделать на сетях, другую таблицами состояний, а характеристики бота подобрать генетическим алгоритмом?

Тема интересна, хотя и некротопик.

Набросал cli-app на ruby для игры в крестики-нолики; играет пока что только вторым номером, но играет, чаще всего, безошибочно. В трех словах: это AI, выстраивающий нейронную сеть на основе FANN для поиска оптимальных ходов. После первого запуска скрипт проигрывает несколько десятков тыс. партий (требуется пара минут), формируя лог-файл, в дальнейшем использует его для игры.



Код всегда доступен на гитхабе, там же ссылка на подробное, с примерами кода и на русском, описание алгоритма работы. В любой момент можно скачать и опробовать, если, конечно, не лениво ставить ruby. Так или иначе, было бы интересно услышать реплики по делу, спс.


Часовой пояс GMT +4, время: 17:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Перевод: zCarot