ИМПРИНТИНГ И ЦЕНТРАЛЬНЫЕ МОТОРНЫЕ ПРОГРАММЫ В РОБОТОТЕХНИКЕ

IV-я Международная научно-практическая конференция "Интегрированные модели
и мягкие вычисления в искусственном интеллекте" (28-30 мая 2007 г.)
Сб. научн. трудов, М.: Физматлит, 2007, Том 1, с. 322-332

Карпов В.Э., доц., к.т.н.
НИИ Информационных технологий, г.Москва,тел.235-49-26
e-mail:
karpov_ve@mail.ru

Рассматривается реализация двух биологических моделей поведения – импринтинговое обучение и модульная организация локомоторной системы в робототехнических системах. Показана значимость импринтинга в критическом, адаптивном периоде функционирования робота, предложена архитектура системы управления, построенной из однотипных элементов – U-модулей.

ВВЕДЕНИЕ

Одним из важнейших направлений развития современной робототехники и искусственного интеллекта являются исследования в области моделей поведения. До сих пор наиболее результативным методом исследования представляется заимствование той или иной модели поведения из биологии. Существуют два основных подхода к построению таких моделей – прагматический, ориентированный на внешний результат (феноменологию моделируемого явления) и бионический, основанный на моделировании биологической (обычно – нейрофизиологической) основы явления.

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

ИМПРИНТИНГ

В животном мире существует весьма любопытный феномен, называемый импринтингом или запечатлением (от англ. imprint - впечатывать). Этот термин был введен этологом Конрадом Лоренцем в 1935 г. В опытах Лоренца импринтинг у гусей, выращенных в инкубаторе, проявлялся в следовании после рождения за первым движущимся предметом [Данилова, 1997].

Такое установление прочной связи с жизненно важными объектами среды в раннем периоде развития организма сейчас рассматривается в биологии как специальная форма обучения с очень стабильным результатом. Между импринтингом и условным рефлексом трудно провести четкую границу. Наиболее характерная особенность импринтинга состоит в том, что индивидуальные формы поведения приобретаются на жизненно важные объекты среды (мать, гнездо и т.п.), значение которых в большой мере предопределено генетически. Таким образом, импринтинг может рассматриваться как дополнительный «гарантийный» механизм индивидуальной адаптации организма.

В работах Лоренца сформулированы четыре критерия импринтинга как самостоятельной формы обучения, позволяющие отличать его от истинного ассоциативного обучения:

  1. Импринтинг наиболее эффективен на определенной стадии развития животного («сенситивный период», «критический период»).
  2. Импринтинг необратим, т.е. связь, установленная в сенситивный период, сохраняется в памяти на всю жизнь.
  3. Запечатлеваются видоспецифические, а не индивидуальные характеристики жизненно важного объекта.
  4. Импринтинг происходит в тот период, когда соответствующее поведение еще не развито, т. е. данный вид обучения характеризуется отсутствием подкрепления.

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

Не вдаваясь в нейрофизиологическую основу этого эффекта, ограничимся его феноменологической составляющей.

ЦЕЛЕНАПРАВЛЕННОЕ ПОВЕДЕНИЕ РОБОТОВ И ИМПРИНТИНГ

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

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

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

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

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

Итак, определим условия, определяющие целесообразность механизма импринтинга.

1.   Наличие среды с неизвестными характеристиками (параметрами).
2.   Наличие у особи встроенной (априорной) программы или модели поведения в критический период функционирования. Эта модель должна быть:

·  параметризированной;
·  адаптивной.

СЛЕДЯЩАЯ СИСТЕМА

Рассмотрим в качестве примера одну простую модель поведения робота в начальном периоде адаптации.

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

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

1. Основная («обычная», «медленная») обучаемая система распознавания изображений.

2. Система быстрой обработки изображений.

Основная система реализует процедуру распознавания образов на основе множества обучаемых примеров. Это – достаточно «медленная», формируемая в процессе адаптации часть. В отличие от нее, система быстрой обработки должна формировать распознаваемый образ практически сразу, без предварительного этапа обучения. Точнее, обучение должно свестись к единичному предъявлению распознаваемого образа. Этого можно добиться, если речь будет идти, например, о распознавании цветового пятна.

На Рис.1 представлена обобщенная структурная схема следящей системы робота.

Рис. 1. Структурная схема следящей системы

Блок «Двигательный рефлекс» отвечает за выработку управляющих воздействий на моторную систему робота, в том числе – на факультативный привод камеры. Под факультативностью будем понимать, что устройство может и не реализовывать слежение камеры за объектом с помощью отдельного привода, а камера, для простоты, может быть жестко закреплена на корпусе робота.

Такая импринтинговая следящая система позволяет роботу осуществлять целенаправленное поведение в адаптивном периоде, причем сразу, после однократного предъявления целевого образа.

ДВИГАТЕЛЬНЫЕ ФУНКЦИИ РОБОТА И ЦЕНТРАЛЬНЫЕ МОТОРНЫЕ ПРОГРАММЫ

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

Обычно под иерархизацией в робототехнике понимают следующее. Имеется трехуровневая структура: верхний уровень – анализ ситуации, средний уровень – программное движение (желаемый закон изменения обобщенных координат исполнительных механизмов), нижний – определение управления исполнительными механизмами (напр., [Тимофеев, 1978], [Макаров и др., 2006]).

Мы же рассмотрим вопрос организации иерархического управления именно на «нижнем» уровне – уровне движения. Идея многоуровневого иерархического управления применительно к построению движений была сформулирована в наиболее четкой форме Н.А. Бернштейном (пирамидная двигательная система) еще в 30-40-е гг. прошлого века ([Бернштейн, 1991, 1997]).

То, что движения могут управляться не только по типу непрерывной коррекции, но и через механизм центральных моторных программ, известно нейрофизиологам уже давно. Механизмы, ответственные за некоторые двигательные акты, локализованы в спинном мозге. В частности, ходьба животного – перемещение при помощи координированных движений конечностей – также запрограммирована на уровне спинного мозга. Например, болевое раздражение одной из конечностей у спинального животного вызывает рефлекторные движения всех четырех лап.

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

В качестве примера на Рис. 2. представлена схема нейронной сети, обеспечивающей движение одной ноги таракана [Данилова, 1997].

Рис.2. Генератор локомоторного ритма у таракана

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

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

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

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

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

АДАПТИВНАЯ СИСТЕМА УПРАВЛЕНИЯ

Применительно к робототехнике адаптивная система управления (с элементами ИИ) – это система, способная вырабатывать целесообразное поведение робота в условиях неопределенности.

Более формальное определение адаптивной системы может выглядеть так.

Пусть задан класс задач, определяемый совокупностью всех неизвестных условий и характеристик объекта управления и среды. Адаптивная система – это такая управляющая система, которая в ходе решения любой задачи из заданного класса обеспечивает достижение цели управления за конечное время (время адаптации). Процесс адаптации заключается в целенаправленном изменении структуры и (или) параметров системы на основе накопленного опыта и текущей информации, воспринимаемой сенсорной системой [Тимофеев, 1978].

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

«В процессе эволюции соматической системы определяющим звеном являются всё же эффекторные функции. Судьбу индивидуума решают его действия. Рецепторика здесь представляет собой уже подсобную функцию. <…> Нигде в филогенезе созерцание мира не фигурирует как самоцель. Они <рецепторы> процессуально обеспечивают полноценную координированную работу эффекторов» [Бернштейн, 1997]

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

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

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

 (1)

S = L Ù H

R = L Ù ØH

L = Фп Ú Фл

Здесь:

ЛВ, ЛН, ПВ, ПН – сигналы управления эффекторами (двигателями): левый вперед, левый назад, правый вперед и правый назад соответственно.

Фл и Фп – сигналы от левого и правого фотодатчиков, H – сигнал «голод».

Производные сигналы: S и R – сигналы включения процедур «поиск» и «убегание», L – сигнал наличия света.

Итак, мы получаем следующую логическую схему системы управления (Рис.3,а):

а)   б)

Рис.3. Схема поведения «поиск» и «убегание».

а) Логическая схема. б) Функциональная схема.

От логической схемы перейдем теперь к более общей, функциональной «нейроподобной» схеме, реализующей то же поведение (Рис.3, б).

Основное отличие ее в том, что жесткие фиксированные логические функции «спрятаны» внутри элементов, каждый из которых представляет собой модуль общего преобразования вход–выход. Будем называть такие элементы U-модулями (универсальными модулями).

Рассмотрим более подробно архитектуру этих функциональных элементов.

АРХИТЕКТУРА ЭФФЕКТОРНОЙ СИСТЕМЫ

Представим эффекторную управляющую систему в виде совокупности простых подсистем (U-модулей), образующих иерархическую структуру. Каждый U-модуль – это преобразователь «вход-выход»:

Y=F(X, C)  (2)

Y – вектор выходных сигналов, X – вектор входных сигналов, C – функция внутреннего состояния U-модуля.

Простота U-модуля означает «малую» размерность векторов. С технической и «биологической» точек зрения – от 3 до 5.

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

Будем также полагать, что каждый U-модуль может быть обучаемым. В простейшем случае - реализовывать схему обучения с подкреплением или иную схему стимул-реактивного поведения. Тогда входные сигналы модуля буду состоять из 3-х групп: Xctl – управляющие (командные) сигналы от вышестоящих U-модулей, Xrec – сигналы от рецепторов (как внешних, так и «внутренних», т.е. выходных сигналов иных модулей), Xstd – сигналы обучения, изменяющие функцию внутреннего состояния C.

Будем считать, что все сигналы двоичные. Это нисколько не противоречит «биологической» основе наших рассуждений.

На самом деле, командные U-модули можно было бы назвать нейронами, однако тогда возможна некоторая путаница с достаточно разработанным и хорошо формализованным аппаратом искусственных нейронных сетей. Здесь более уместным было бы проведение аналогий с понятием т.н. интеллектуального нейрона, введенного Вальцевым ([Вальцев и др., 1999]), однако это выходит за рамки настоящей статьи.

ОБУЧЕНИЕ

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

Основной вопрос подобного обучения – это кого и за что наказывать. В теории искусственных нейронных сетей этот вопрос был решен благодаря реализации процедуры обучения с учителем, когда системе можно предъявить эталонный образ и, исходя из знания вектора ошибки, перестроить весовые коэффициенты (тот же метод обратного распространения ошибки). Здесь же мы имеем дело с обучением в значительно более общей постановке задачи. Кроме того, будем далее считать, что при обучении системе не задается эталонный образ, а оценивается поведение системы в целом, т.е. обучающая реакция сводится к общей оценке «хорошо/плохо» (т.н. Б-обучение, см. [Карпов, 2006]).

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

Рис.4. Схема управляющей системы

Команда подается командным нейроном (уровень 0). Пусть необходимо осуществить переобучение системы, пользуясь лишь общей оценкой «хорошо/плохо» или «правильно/неправильно». Очевидно, что при таком Б-обучении мы получим систему с полным перебором всех возможных вариантов реакций на управляющие команды вне зависимости от того, какой механизм обучения используется в узлах сети.

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

Здесь уместна аналогия с такой иерархической системой, как армия. Для того чтобы солдат (конечный эффектор) совершил необходимое действие, его обучает сержант. Над сержантами – младшие офицеры и т.д. Генерал обычно не выносит взыскания солдату, а «воздействует» на свое непосредственное подчинение.

Кроме того, будем полагать, что обучающее воздействие распространяется сверху вниз, осуществляя своего рода поиск в ширину в дереве требуемых реакций. Это обуславливается тем, что с нейрофизиологической точки зрения обучение начинается обычно с верхних уровней управления. Базовые рефлексы (уровень 2) затрагиваются при переобучении в самую последнюю очередь.

Сигнал поощрения/наказания адресуется центральному командному U-модулю – вершине иерархии. Далее он распространяется по подчиненным уровням. При этом сигнал поощрения/наказания пропускается узлом дальше в том случае, если исчерпаны варианты его переобучения. Таким образом, исходя из того, что:

·        сначала происходит переобучение узлов верхних уровней (командных узлов мало);

·        все узлы (U-модули) содержат заданные априори модели поведения (центральные моторные программы),

следует ожидать, что переобучение может произойти в разумные сроки без перебора всех возможных вариантов (число которых в зависимости от количества уровней растет по степенному закону).

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

Таким образом, структура U-модуля приобретает следующий вид:

Рис.5. Структура U-модуля

Здесь Yeff – эффекторные сигналы, Ystd – обучающие сигналы, Xans – отклик подчиненного U-модуля, Imod – вход информации о модели поведения подчиненного U-модуля.

Тогда модель U-модуля (2) превращается в

Y=F(X, C, M) (3)

Y = <Yeff, Ystd>,

X = <Xctl , Xrec, Xstd, Imod, Xans>,

Ystd = f(M, Xans),

M = M(Imod, Xans)

Можно сказать, что такой U-модуль обладает признаками интеллектуальности или, по меньшей мере, адаптивности даже с точки зрения «функционально-перечислительных» определений (обучение, наличие модели поведения и т.д.).

Отчасти эти модули имеют сходство с i-моделями амосовских M-автоматов ([Гаазе-Рапопорт, 1987]) с их нейронными ансамблями. Однако если M-автоматы описывают функциональные состояния организма, то U-модули реализуют поведенческие реакции.

ЭКСПЕРИМЕНТЫ

Для экспериментальной проверки работоспособности предложенных механизмов была создана техническая система, состоящая из мобильной платформы с установленной на ней web-камерой и управляющей ЭВМ. Характерным является то, что контроллер робота не отрабатывал базовые двигательные функции (повороты, движение вперед/назад и т.д.). Эти функции определялись U-модулями управляющей системы.

Локомоторная (двигательная) система робота включает пару дифференциальных двигателей и систему управления, построенную из однотипных U-модулей, образующих 3 уровня иерархии (см. Рис.3). Управляющая система U-модулей моделировалась программно. Роль бортовой ЭВМ сводилась лишь к функциям устройства сопряжения межу датчиками и исполнительными механизмами и управляющей ЭВМ (УЭВМ).

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

Схема поведения «Поиск» и «Убегание», представленная на Рис.3., реализовывалась программно сначала на УЭВМ, а затем «автономно», на базе бортовой ЭВМ.

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

 

Рис.6. Фрагменты робота и монитор управляющей программы

Переобучение локомоторной системы. Изначально U-модули реализовывали программу поведения, определяемую системой (1). Цель экспериментов заключалась в процедуре переобучения: при заряженном аккумуляторе (H=0) робот должен был преследовать объект, а при разряженном (H=1) – убегать. Сигнал поощрения/наказания подавался извне экспериментатором.

Условно-рефлекторная модель поведения U-модуля была реализована на основе конечного стохастического автомата. Входной алфавит автомата – 16 символов (2 управляющих и 2 внешних сигнала, итого – 24), выходной – 2 символа.

Поскольку формирование такого стохастического вектора занимает в среднем 2–3 такта для сигнала наказания и 1 такт для сигнала поощрения, то критерием завершения обучения модуля был простой счетчик обучающих сигналов.

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

Несмотря на очевидные недостатки заведомо упрощенной архитектуры робототехнического комплекса (прежде всего – медленный канал связи между роботом и УЭВМ и отсутствие априорных базовых рефлексов в контроллере робота), а также неустойчивость работы системы распознавания изображений в условиях недостаточной освещенности и наличия дешевой web-камеры, в целом система показала достаточно удовлетворительные результаты.

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

[Бернштейн, 1991] Бернштейн Н.А. О ловкости и ее развитии. -М.: Физкультура и спорт, 1991.

[Бернштейн, 1997] Бернштейн Н.А. Биомеханика и физиология движений. Избранные психологические труды. Под ред. В.П. Зинченко. Москва-Воронеж: 1997. 608с.

[Вальцев и др., 1999] Вальцев В.Б. .Григорьев В.Р., Черкашин Е.А. Значение мотивационной регуляции в интеллектуализации функций нейрона. V Всесоюзная конференция « нейрокомпьютеры и их применение». –М., 1999 г., 478-481.

[Гаазе-Рапопорт, 1987] Гаазе-Рапопорт М.Г., Поспелов Д.А. От амебы до робота: модели поведения. -М.: Наука, 1987, -286с.

[Данилова, 1997] Данилова Н.Н., Крылова А.Л. Физиология высшей нервной деятельности. -М.: Учебная Литература, 1997

[Карпов, 2006] Карпов В.Э. Об одной задаче управления мобильным роботом //Десятая национальная конференция по искусственному интеллекту КИИ-2006: Труды конф. В 3-т. Т.2., -М.: Физматлит, 2006, 2, с.719-727, -310с.

[Макаров и др., 2006] Макаров И.М., Лохин В.М., Манько С.В., Романов М.П. Искусственный интеллект и интеллектуальные системы управления. –М.: Наука, 2006. –333 с.

[Тимофеев, 1978] Тимофеев А.В. Роботы и искусственный интеллект. -М.: Наука, Гл. ред. физ.-мат. Литературы, 1978, -192с.