Искусственный интеллект - взгляд в будущее

Обзор и обсуждение новых разработок в области создания систем искусственного интелекта
Гость

Искусственный интеллект - взгляд в будущее

Сообщение Гость »

Предисловие

Как уже было сказано раньше основной теорией для искусственной жизни являлось предположение, что искусственная и естественная жизнь едины в своей биологическом начале. Основу любой системы составляет хранилище информации - жесткий диск у компьютера или хромосома у человека. Как известно хромосома состоит из большого количества генов, отдельных участков. В этой серии рассылок (по этой теме будет 3-4 выпуска) я расскажу о нейрогенетики - основе универсальной нейросети (см. проект на сайте). Данная, первая рассылка по подтеме нейрогенетика - введение в генетические алгоритмы. Вторая рассылка из этой рубрики - естественная изменчивость на основе борьбы за выживание. Третья часть - расскажет об изменчивости генов за счет процессов мутации.



Генетические алгоритмы. Часть первая.

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

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



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



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



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

Первой задачей при реализации генетических алгоритмов является конструирование хромосом.



Конструирование хромосом



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



Вернемся к составлению хромосомы. Допустим, что у нас имеются четыре ключевые точки, соответственно A, B, C, D. Количество четыре не случайно, т.к. четыре различных числа могут быть закодированы двумя битами информации.



Пусть A=00, B=01, C=10, D=11.



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

Среди новых 200 экземпляров не обязательно будет присутствовать оптимальное решение. Конечно, можно увеличить число до 1000, но как быть если количество городов не четыре, а четыре тысячи? Здесь в ход вступают мутационные алгоритмы и алгоритмы наследственной изменчивости, но об этом в следующих выпусках.

Подведем итог: мы получили большое число различных вариантов хромосом.

Примеры расположения генов в хромосомах:

01001001 => 01 00 10 00 => B>A>C>D

10001110 => 10 00 10 00 => C>A>C>D

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



примечание: если вас заинтересовало создание генетических алгоритмов, то на моем сайте в разделе "Открытые проекты": http://aifuture.chat.ru/Projects/prj_1_1.htm можно найти небольшую программу, позволяющую переводить числа в двоичной системе в числа в десятичной системе и обратно, на сайте есть пример, а также исходные тексты программы.



Наследственная изменчивость

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

http://aifuture.chat.ru/Subscribe/sub_3_002.htm

Вернуться в «Искусственный интеллект»