28 сентября 2007 г.

Эволюционный эксперимент

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


Но давайте все по порядку :)


Постановка задачи


Нашим главным героем будет некое виртуальное "существо" или, как их называют, интеллектуальный агент. Давайте для простоты называть его - организм.
Главной задачей, конечно же, будет "разумное" поведение организма. Самым "разумным" поведением будем считать то, которое приводит к более продолжительной жизни организма. Т.е. "умнее" тот, кто сумел выжить дольше :)


Наш организм будет примитивен, да и мир в котором он будет обитать будет тоже весьма примитивным. Организм будет обладать одним сенсорным органом - зрением. Это зрение будет фиксировать расстояние к еде (каким точно образом решим позже). Также организм будет иметь возможность двигаться с определенной скоростью и поворачивать. А в самом мире организм будет одинок, но там будет пища для него. При чем, пища будет периодически появляться в случайном месте. Ну и мир будет ограниченным пространством.
Вот такие вот лабораторные условия :)


Итак, цель - создать систему по обучению и отслеживанию обучения нашего организма эволюционным методом с целью получения "разумного" организма.


Первоначально условия сделаны простыми специально для простоты реализации. В случае успеха, хотелось бы в будущем расширить систему до более сложной эволюционной системы.


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





Продолжение будет.

8 комментариев:

Анонимный комментирует...

помню, помню... :)

Виталий Бондарь комментирует...

Да, Сергей, именно наши идеи об имитации примитивного мира и натолкнули меня на этот эксперимент. Только я решил все делать от простого к сложному.

Буду рад если ты будешь потом поддерживать свежими идеями.

archimed7592 комментирует...

Идея очень понравилось. Непонятно только почему организм будет одинок? Эволиционировать то может только стадо...

Виталий Бондарь комментирует...

2 alchimed7596:
Организм будет одинок только для простоты первого приближения.
Скажем так, организм будет давать потомство и сразу умирать.

Андрей Валяев комментирует...

А когда будет продолжение темы?
тема ИИ меня всегда интересовала, но боюсь влезть со своими глупостями :)

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

Только не совсем понятно к чему это развитие может привести... научится находить оптимальный маршрут от еды к еде? Куда его может завести развитие? Оно сможет развивать свои органы чувств?

Может их правда лучше стадом.. выживет сильнейший :)

Виталий Бондарь комментирует...

Развитие темы будет на днях.
Но, к сожалению, развитие будет медленным, так как вечная нехватка времени :(

По поводу обоняния. Думаю примитивного зрения будет достаточно.

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

Анонимный комментирует...

если стада не будет, но выживать будет сильнейший, значит будет определенное кол-во попыток (ну если вдруг поначалу все дохнуть будут?), right?

со стадом сложнее, его сложнее контроллировать

мои эксперименты с этим делом приводили к перенаселению и последующей смерти всех "бобров" :)

с удовольствием помогу идеями (может даже и не свежими)

вопрос - на чем планируется это реализовать?

Виталий Бондарь комментирует...

2 case:
Планирую реализовывать на С++, хотя это не принципиально.

А теперь по поводу всех вопрос об эволюционировании. Я боюсь что в комментарии всего не впихну, поэтому будет отдельный пост конкретно про эволюционное развитие нашего организма.