Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Моделирование сознания arrow Моделирование сознания. Урок 12. Внутренняя модель.
22.10.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Моделирование сознания. Урок 12. Внутренняя модель. Печать E-mail
Автор megabax   
21.06.2024 г.
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.. 


Последнее обновление ( 21.06.2024 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги