Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ контр раб ПЗ и ИС.doc
Скачиваний:
3
Добавлен:
24.11.2019
Размер:
5.41 Mб
Скачать

Задание 5

Построить продукционную систему, которая сортирует строку, состоящую из символов a, b, c, d, e, f, g, h. В этом случае продукция является допустимой, если ее условие соответствует части строки в рабочей памяти. При выполнении правила подстрока, которая соответствовала его условию, заменяется строкой из правой части правила.

варианта

Строка

символов

варианта

Строка

символов

1

fgaabchedfdc

11

gfcegaabcdfec

2

bcfacegacgbcbd

12

egabcfacegbcbfd

3

afbcegacabdfec

13

cbchafgcbhecab

4

fcbegabcfgbcbac

14

hcabfgchdfdc

5

dcebcbadgeacbdf

15

cacgfbbaedcch

6

cegaabcbdfec

16

efacfaccgbcbcd

7

cdcchcacgfbba

17

adgbdcebcbdfeac

8

bfacbegababced

18

bfacegaadcbc

9

ecgdabcfacegb

19

achfddebchdfdc

10

befhacddebchfdc

20

bchfdaebchefdc

Задание 6

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

варианта

Исходное состояние

Целевое состояние

варианта

Исходное состояние

Целевое состояние

1

1

2

11

4

10

2

2

25

12

9

6

3

21

17

13

10

7

4

18

13

14

7

8

5

14

19

15

25

24

6

5

4

16

6

1

7

21

16

17

19

14

8

3

20

18

8

18

9

15

11

19

11

6

10

23

3

20

22

17

3. Семантические сети

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

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

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

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

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

1. Что обозначают вершины и дуги графа.

2. Как их можно использовать при обработке.

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

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

В СС нет четких различий между операциями над данными и операциями над схемой. СС позволяет в одинаковой мере манипулировать как данными, так и знаниями о них.

Рассмотрим основные концепции, реализуемые в СС:

1. Концепция одновременного рассмотрения в модели как «знака», так и «типа». Знак – это конкретное значение или конкретный экземпляр рассматриваемого объекта. Тип – это класс подобных знаков.

Обобщение знаков в типы – элементарная форма абстрагирования. Это обобщение необходимо для улучшения понимания сложных объектов. Например, общее понятие ВЕЛОСИПЕД - абстракция множества представлений о конкретных велосипедах.

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

2. Концепция иерархии типов. Обобщение позволяет соотнести множество знаков или множество типов с одним общим типом. Различают обобщения:

знак – тип – его называют классификацией;

тип–тип, которое собственно и носит название обобщения.

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

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

Агрегация позволяет раскрыть структуру объектов. Допуска­ется многократное применение агрегации. Обратный процесс но­сит название пошаговой детализации.

Агрегация и обобщение могут применяться взаимодополняющим образом и выражать структурные и классификационные аспекты типизации. Структуру можно представить как агрегат базовых типов, а сам агрегат может служить объектом обобщения (классификации), см. пример на рис. 3, где _ _ _ _ - агрегация, ______ - обобщение, Классификация типов выражается иерархией обобщения, а структура – иерархией агрегации.

Агрегация соотносится с понятием ЕСТЬ – ЧАСТЬ и выражает тот факт, что тип объекта есть агрегат других типов (например, ФАМИЛИЯ ЕСТЬ – ЧАСТЬ СЛУЖАЩИЙ).

Обобщение соотносится с понятием ЕСТЬ – НЕК (есть некоторый) и выражает тот факт, что выполнено обобщение одним типом объекта другого типа объекта (например, СЛУЖАЩИЙ ЕСТЬ – НЕК ЛИЧНОСТЬ).

Рис. 3

В СС делается строгое различие между обобщениями ТИП–ЗНАК и ТИП–ТИП, что связано с необходимостью представления в модели данных обеих категорий. Кроме того, для иерархии типов точно специфицируются правила наследования свойств (атрибутов) и их значений. На рис. 4 приведен пример иерархии для типов ЛИЧНОСТЬ, СЛУЖАЩИЙ, СТУДЕНТ.

Так как тип ЛИЧНОСТЬ есть обобщение типов СЛУЖАЩИЙ и СТУДЕНТ, то последние наследуют атрибуты ФАМИЛИЯ, АДРЕС, ГОД – РОЖДЕНИЯ, если только это наследование явным образом не запрещено в описании модели.

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

Р ис. 4

Например (рис. 5), ЛИЧНОСТЬ может выступать в роли СЛУЖАЩИЙ, либо в роли ОТПРАВИТЕЛЬ – ГРУЗА, либо в роли ПОЛУЧАТЕЛЬ – ГРУЗА. Получателем либо отправителем груза может быть и организация, выступающая еще также и в роли изготовителя деталей. Приведенная структура обобщения соотносится с концепцией роли.

Р ис. 5

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

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

Р ис. 6

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

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

Базовым функциональным элементом семантической сети служит структура из двух компонентов: узлов и связывающих их дуг. Каждый узел представляет некоторое понятие, а дуга – отношение между парой понятий. Можно считать, что такое отношение представляет простой факт, например «Иванов П. Н. Работает в производственном отделе» представляется структурой на рис. 7.

Рис. 7

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

РАБОТАЕТ – В/ИВАНОВ, ПРОИЗВОДСТВЕННЫЙ – ОТДЕЛ/.

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

Пример. Рассмотрим модель, в которой предусматривается четыре категории вершин:

- концепты (понятия) - элементы ПО (приложения), для которой строится представление;

- события-действия, наблюдаемые в ПО;

- характеристики (свойства) - вершины, соответствующие свойствам концепта;

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

Дуги, соединяющие вершины-события и вершины-концепты, соответствуют ролям концептов в событиях:

- дуга, указывающая вершину-концепт, которая играет роль агента в со­бытии (исполнителя, либо инициатора действия, обычно в предложении естест­венного языка, выражаемого глаголом);

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

Дуги, соединяющие вершины-концепты:

- дуга, соответствующая представлению утверждения.

Дуги, соединяющие вершины-концепты и вершины-характеристики:

- дуга, соответствующая представлению связи концепта с характеристикой.

Дуги, соединяющие вершины-характеристики и вершины-значения:

- дуга, соответствующая представлению связи характеристики со значением.

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

1.Иванов работает программистом.

2. Иванов работает в вычислительном центре.

3. Иванов 1950 года рождения.

4. Вычислительный центр расположен в корпусе А.

Выполним построение СС:

  1. Вершины—события: РАБОТАЕТ.

  2. Вершины—концепты:

ИВАНОВ;

ПРОГРАММИСТ;

ВЫЧИСЛИТЕЛЬНЫЙ-ЦЕНТР;

КОРПУС—А.

  1. Вершины—характеристики: ГОД—РОЖДЕНИЯ.

  2. Вершины— значения: 1970.

  3. Дуга, указывающая агента:

РАБОТАЕТ—ИВАНОВ.

  1. Дуга, указывающая объект воздействия:

РАБОТАЕТ—ПРОГРАММИСТ. .

  1. Дуга, указывающая вершину-характеристику: ИВАНОВ-ГОД-РОЖДЕНИЯ.

  2. Дуга, указывающая вершину-значение: ГОД—РОЖДЕНИЯ-1970.

  3. Дуги, представляющие утверждения:

РАБОТАЕТ—В: ИВАНОВ—ВЫЧИСЛИТЕЛЬНЫЙ—ЦЕНТР;

РАСПОЛОЖЕН—В: ВЫЧИСЛИТЕЛЬНЫЙ—ЦЕНТР—КОРПУС/А.

Это один из возможных вариантов СС по данному фрагменту инфор­мации. Можно сделать иное назначение вершин и дуг и получить другой вариант модели для рассматриваемой ситуации. На рис. 8 приведено графи­ческое представление полученного варианта модели.

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

Рассмотрим теперь на данном примере получение вывода с помощью семантической сети. Обычно интерпретация семантической сети выполняется с помощью использующих эту сеть процедур управляющей системы. Существуют различные подходы к построению этих процедур. Рассмотрим наиболее, распространенный подход, основанный на сопоставлении частей сетевой структуры. Он заключается в следующем: вначале строится подсеть, соответствующая запросу, а затем выполняется сопоставление этой подсети с базой данных СС. Например, поступает запрос: «Кем работает Иванов?». Этот запрос система вначале, представляет в виде подсети (рис. 9). Затем управляющей системой проводится сопоставление, по результатам которого и формируется ответ на запрос.

Рис. 8

Рис. 9