Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция №3 13.10.ppt
Скачиваний:
14
Добавлен:
27.10.2023
Размер:
2.92 Mб
Скачать

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

Первое приходящее на ум решение этой проблемы состоит в предварительном

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

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

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

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

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

— это конфигурация решенной головоломки)

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

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

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

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

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

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

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

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

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

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

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

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

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

Дизайн И. Гайдель 2007

Решающие деревья

Способность к рассуждению

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

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

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

Дизайн И. Гайдель 2007

Решающие деревья

Дерево поиска

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

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

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

Дизайн И. Гайдель 2007

Решающие деревья

Дерево поиска

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

Корневой узел дерева поиска — это начальное состояние, а дочерние состояния каждого узла — это состояния, которые могут быть достигнуты из родительского узла за одно порождение.

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

Пример – сети Петри.

Дизайн И. Гайдель 2007

Из теории графов

Граф — как математический объект есть совокупность двух множеств G(V,E)

— множества самих объектов, называемого множеством вершин (V), и множества их парных связей, называемого множеством рёбер (E) (рис.1).

Ориентированный граф - есть совокупность двух множеств G(V,E),

где V

множество вершин и E множество дуг совместно с двумя отображениями

Init E

V и ter E

V , где отображение init: E

V ставит в соответствие

каждой дуге ее начальную вершину (начало дуги), а отображение ter: E

V

ставит в соответствие каждой дуге ее конечную вершину (конец дуги) (рис.2). Говорят, что дуга e ведет из init(e) в ter(e).

Рис.1. Пример

Рис.2. Пример ориентированного

неориентированного

графа

графа