logo search
Informatics

12.5. Эвристическое программирование и моделирование

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

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

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

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

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

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

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

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

История создания решателей начинается в 50-х годах циклом исследований по разработке общего решателя задач - GPS (General Problem Solver). Авторы GPS - А. Ньюэлл, Дж. Шоу и Г. Саймон первоначально ставили перед собой задачу создания эффективного решателя для работ в области искусственного разума. Затем они попытались рассмотреть GPS как общую теорию человеческого мышления. Эта попытка не удалась: как психологическая теория GPS описывал слишком узкий круг феноменов мышления. Не оправдались также и надежды авторов на универсальный характер GPS как решателя: класс доступных ему задач оказался весьма узок. Позитивный вклад GPS в проблематику ИИ состоит в разработке ряда стратегий решения задач, которые используются и в современных, более совершенных решателях. Были также сформулированы основные задачи и подходы к созданию моделей мышления, решен ряд проблем методологического характера, отработаны приемы эвристического программирования и создана основа для дальнейшего совершенствования решателей задач.

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

Оригинальное направление работ по использованию эвристических методов при решении задач и планировании активности роботов в течение ряда лет развивается в Институте кибернетики им. В.М. Глушкова АН Украины под руководством В. П.Гладуна. Особенностью этих работ является то, что наряду с применением различного рода стратегий при построении решателей используется аппарат представления знаний в виде пирамидальных семантических сетей, в которых определены процессы формирования новых понятий и связей. В последние годы этим коллективом разработана система APROS, предназначенная для экспериментальных исследований в области планирования и решения практических задач. На этой системе проводились эксперименты по планированию действий робота при решении им задач перемещения объектов в средах, содержащих до 100 объектов.

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

Эвристическое моделирование. Пусть имеется некий комплекс поведенческих актов, поведенческая функция, или поведение F, и для решения некоторой практической задачи требуется построить модель этого поведения. Исследователь, работающий на нейронном уровне, попытается найти нейронную структуру, ответственную за формирование F, изучить ее и построить модель этой структуры S. Функционирование модели S и должно воспроизводить поведение F. Недостатки схемы SF связаны с тем, что нейронный уровень описания слишком далек от поведенческого и построить модель S удается, как правило, только в тех случаях, когда функция F достаточно проста.

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

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

Недостатки обоих подходов и пытается преодолеть эвристическое моделирование. Пусть поведение F весьма сложно. Действия исследователя, работающего в области эвристического моделирования, будут строиться следующим образом. Прежде всего он изучит нейронные механизмы, ответственные за формирование F. Из-за сложности F ему, скорее всего, не удастся локализовать отдельные нейронные структуры, ответственные за F, и построенная структура будет описывать лишь некоторые наиболее существенные свойства нейронного аппарата. При построении такой гипотезы будут широко использованы данные нейрофизиологии и физиологии мозга. Затем будет построена модель гипотезы S. Однако модель еще не будет пригодна для воссоздания F, она окажется лишь аппаратом для решения этой задачи.

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

Итак, теперь имеем ситуацию, в которой, с одной стороны, известно, что именно вложить в разрабатываемую модель F (это <что> зафиксировано в модели Р), а с другой-известно, как именно строить модель F (это <как> представлено моделью S, составляющей аппарат моделирования). Очередной этап работы и состоит в том, что исследователь реализует Р с помощью S. Созданная модель представляет собой разновидность нейроноподобной сети и, как все такие сети, может быть реализована либо в виде компьютерной программы, либо в виде специализированного физического устройства. В последнем случае наиболее полно проявляются достоинства нейроноподобных сетей, связанные с их способностью осуществлять параллельные процессы переработки информации.

Созданная модель может быть подвергнута экспериментальному исследованию, в ходе которого она должна демонстрировать поведение, близкое к F. Однако, продвигаясь по цепочке SРF, исследователь вынужден сделать целый ряд эвристических предположений.

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

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

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

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

Исследования по эвристическому моделированию в нашей стране начались в 60-х годах. Интересные работы в этом направлении были наполнены Л.Б. Емельяновым-Ярославским. В настоящее время некоторые идеи эвристического моделирования используются при изучении процессов формирования поведения на стыке когнитивной психологии и искусственного интеллекта.

Одно из наиболее развитых направлений в эвристическом моделировании представлено работами авторского коллектива под руководством Н. М. Амосова. Наиболее интересные результаты связаны с созданием эффективного аппарата построения моделей - аппарата активных семантических сетей, называемых M-сетями.

M-сеть разработана как аппарат моделирования информационных процессов мозга и используется для построения систем управления действиями автономных роботов. М-сетъ принадлежит к классу нейроноподобных сетей с семантикой; ее узлы являются формальными элементами, отображающими нейронные ансамбли, и ставятся в соответствие понятиям об объектах и процессах внешней и внутренней среды робота, а связи - отношениям между понятиями. На множестве узлов и связей М-сети определены операции передачи возбуждения мысленной величины, характеризующей текущее значение актуальности или ценности зафиксированных в сети единиц информации. В каждый момент дискретного времени состояние M-сети может быть описано распределением возбуждений ее. узлов. Это распределение постоянно изменяется в результате передачи-возбуждений от одних узлов к другим по имеющимся между ними связям.

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

Существует два основных канала, по которым возбуждение поступает в M-сеть.

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

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

Второй канал - общие <установки> робота (типа самосохранения, приоритетности тех или иных видов деятельности). Эти установки задаются постоянным возбуждением определенных узлов М-сетей.

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

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

Особую роль в регуляции активности в M-сети играет система усиления-торможения (СУТ). Это специфическая система, обеспечивающая в каждый момент времени доминирование одного информационного дискрета над всеми остальными. Принятие решений отождествляется с актом выделения СУТ одного из множества входных узлов сети, помеченных именами возможных действий робота. Результатом такого выделения является активизация специальных процедур, реализующих действие.

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