Читать онлайн «Большие системы. Ситуационное управление»

Автор Дмитрий Поспелов

На каждом шаге поиска ЭВМ в соответствии с заложенной в нее программой производят локальную оценку возможного продолжения путей и выбирает на основании этой оценки один или не- 7 сколько путей дальнейшего перемещения по лабиринту. Программы такого типа часто называют эвристическими, подразумевая под эвристикой методы сокращения перебора. Наиболее полно принципы лабиринтной теории были воплощены в программе «Общий Решатель Проблем» (ОРП), в создании которой принимали участие видные американские ученые А. Ньюэлл и Г. Саймон. Эта программа «выросла» из программы «Логик—Теоретик» тех же авторов, сохранив те основные принципы, которые были заложены в начальную программу. В чем же состояли эти принципы? Программа «Логик — Теоретик» была предназначена для доказательства теорем исчисления высказываний. В качестве исходной, информации программе сообщалось некоторое соотношение вида F = Я, в котором справа и слева стояли некоторые сложные высказывания, построенные из элементарных переменных (букв) и логических операций. Требовалось либо доказать, либо опровергнуть заданное соотношение. Для этого программа располагала набором операторов, применение которых позволяло получать из них эквивалентные высказывания. Если после конечного применения операторов к F в результате получалось Я, то теорема считалась доказанной. В противном случае поиск надо было продолжать. Читатель, по-видимому, легко усмотрит в этой программе и методе решения задачи все ту же лабиринтную модель. Начальная площадка лабиринта соответствует F,- а конечная — Н. От каждой площадки идет столько путей, сколько операторов можно применить к тому высказыванию, которое получилось на данном шаге. Если вместо F и Н рассматривать слова табор и торба, а в качестве операторов — операторы попарной перестановки соседних букв в слове, то лабиринтная модель, описанная выше, в точности совпадает с моделью, лежащей в. основе программы «Логик — Теоретик».
Однако авторы программы сделали еще один существенный шаг. Они ввели понятие различия между F и Н и установили шкалу таких различий. После этого на каждом шаге они стремились использовать тот оператор, который максимально уменьшал различие между получаемым высказыванием и Н. Проиллюстрируем этот принцип на нашем примере. В качестве меры различия между двумя словами мы будем рассматривать суммарное число инверсий букв одного слова относительно другого. Подсчет производится следующим образом. Перенумеруем слева направо все пози- 8 ции букв в словах. Для нашего примера таких позиций пять по числу букв в словах. Зафиксируем некоторую букву в одном слове и отметим номер ее позиции. После этого определим номер позиции этой же буквы, в другом слове. Абсолютная разность номеров этих позиций определит инверсию, даваемую рассматриваемой буквой. Суммируя эти инверсии для всех букв, входящих в слово, мы получим меру различия двух слов. Пусть нам даны два слова табор и торба. Сравнивая последовательно оба слова побуквенно, мы обнаружим, что буква т инверсий не дает, буква а дает три инверсии, буква б — одну, буква о — две и, наконец, буква р — две инверсии.