Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Искусственный интеллект arrow Моделирование сознания (платный раздел). arrow Моделирование сознания. Урок 12. Внутренняя модель.
16.12.2017 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Моделирование сознания. Урок 12. Внутренняя модель. Печать E-mail
Автор megabax   
02.12.2017 г.
unit AIObj

Моделирование сознания. Урок 12. Внутренняя модель.

Исходники к уроку можно скачать здесь.

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

...

...Давайте подумаем. Как хранит информацию об окружающем мире сам человек? Понятно, в его мозгу нет карты, отражающей всю Вселенную. Но есть некие объемные карты различных мест, которые он может представить в своем воображении. И есть некоторые схемы взаимного расположения мест. И, судя по всему, при хранении этих схем в памяти человека не всегда соблюдаются масштаб. Иными словами, карта реальности представлена в виде графа, некоторые куски которого детализированы с разной степенью детализации. Точно также сделаем и мы.

Но опять возникает вопрос: а какой структурой реализовать граф? Есть несколько способов:

  • Список смежности. Представляет собой список вершин и их смежностей (с какими вершинами они смежные).Этот список также может быть реализован разливными способами. В виде таблицы вершин и их смежностей; в виде массива, в котором каждая ячейка ссылается на однонаправленный связный список соседних вершин либо в виде объектно-ориентированного списка смежностей, содержащий специальные классы вершин и рёбер, где каждый объект вершины содержит ссылку на коллекцию рёбер и/или каждый объект ребра содержит ссылки на исходящую и входящую вершины

  • Матрица инцидентности. Форма представления графа, в которой указываются связи между инцидентными элементами графа (ребро(дуга) и вершина). Столбцы матрицы соответствуют ребрам, строки — вершинам. Ненулевое значение в ячейке матрицы указывает связь между вершиной и ребром (их инцидентность).

  • Матрица смежности. Матрица смежности графа G с конечным числом вершин n (пронумерованных числами от 1 до n) — это квадратная матрица A размера n, в которой значение элемента aij равно числу рёбер из i-й вершины графа в j-ю вершину.

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

Моделирование сознания. Урок 12. Внутренняя модель.

...

....

Здесь у нас присутствует новый класс InnerModelingObject, его тоже создадим:

    /// <summary>

    /// Объект внутреннего моделирования

    /// </summary>

    public class InnerModelingObject

    {

        /// <summary>

        /// Признак того, что это твердый объект и сквозь него нельзя пройти

        /// </summary>

        public bool solid;

    }

Для проверки создадим форму, которая покажет нам содержимое внутренней карты....

...

...

 Теперь мы будем тестировать в пошаговом режиме, отключим обработку шагов в обработчике от таймера. Шаги буем смотреть, нажимая на соответствующую кнопочку:

Моделирование сознания. Урок 12. Внутренняя модель.

Проверим:

Моделирование сознания. Урок 12. Внутренняя модель.

Попробуем поставить стенку:

Моделирование сознания. Урок 12. Внутренняя модель.

Как видим, карта соответствует тому, что робот реально "видит". То есть, мы учли тот факт, что одно препятствие закрывает другое. Или вот другой тест:....


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


Последнее обновление ( 02.12.2017 г. )
 
Пред. »
 
© 2017 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше