.
Моделирование сознания. Урок 5. Добавляем мотивацию.
Автор megabax   
01.04.2024 г.
unit AIObj

Моделирование сознания. Урок 5. Добавляем мотивацию.

Что бы смотреть урок полностью и скачать исходники, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


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

И так, начнем. Нам надо создать класс Food. Но, прежде всего, необходимо разработать механизм, что бы робот брал из вселенной некоторые объекты, например, еду. Иными словами, нужно добавить несколько новых функций в физику нашей виртуальной вселенной. Поэтому к классу CoordinatesObject  добавляем абстрактный метод can_get:

        /// <summary>

        /// Проверяет, можем ли мы взять этот объект

        /// </summary>

        /// <returns>true - сюда можно взять, false - нельзя взять</returns>

        public abstract bool can_get();

 

Теперь реализуем класс Food (объекты класса Food будут у нас отображаться светло-зелеными квадратиками)...

...

...

 

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

 

Моделирование сознания. Урок 5. Добавляем мотивацию.

 

Практически, робот иногда выходит из зацикливания и начинает искать еду....

,,,,

 


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 01.04.2024 г. )