Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PPP.doc
Скачиваний:
17
Добавлен:
25.11.2019
Размер:
129.54 Кб
Скачать

Виды интеллектуальных систем.

Среди ИС можно выделить следующие основные виды:

1.Информационно-поисковые. Обеспечивают в режиме диалога взаимодействие конечных пользователей с базой знаний на профессиональных языках пользователей.

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

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

Модели представления знаний в ис.

Сейчас распространены 4 модели представления знаний:

1.Продукционная (Продуктивная) модель.

2.Семантическая сеть.

3.Фреймовая модель.

4.Логическая модель.

Прод. модель. Этот способ представления знаний основан на исп. мн-ва правил (продукций). Продукции обеспечивают способ предоставления рекомендаций, указаний или стратегий. Продукция - это утверждения типа “ЕСЛИ–ТО” (# A->B) (if then) . Системы построения на основе знаний, представленных продукцией называется продукционными. Система продукций представляет собой пару: ситуация - действие; посылка - действие; причина – следствие; и т.п.

Основную часть продукции принято обозначать, используя знак ‘=>’ “секвенция” (# A=>B). Если условие требуется раскрыть более подробно, то используется знак амперсанда (# P1&P2&…&Pn=>B). Здесь Pi это условия, которые могут трактоваться как причины, ситуации, действия, условия, факты и т.д. В заключении – действие или факт. Основная проблема продукционных систем является скорость поиска необходимой продукции во множестве продукций и время, затрачиваемое на проверку выполнимости условий (длительных действий). При возрастании количества продукций в программах при работе с такой базой знаний стараются реализовать любого рода ускорения этих процессов. Для обеспечения таких способов продукцию представляют в более сложном виде: (i),Q,P,A=>B,N.

1. i - имя продукции, по которому она выделяется из всего множества (id, № или название);

2. Q - характеризует сферу применения продукции, указывает принадлежность продукции к какому-либо подмножеству (экономит время на поиск продукции во множестве);

3. P - условие применимости ядра продукции (логическое выражение, величина), если P=true ,то продукция активизируется, иначе ядро не используется. Эта часть продукции сокращает время анализа продукции;

4. A=>B - ядро продукции:

a) A=>B обычное ядро.

b) ядро, допускающее альтернативный выбор: “ЕСЛИ A ТОГДА B ИНАЧЕ C”, обозначается A=>B|C, называется альтернативным.

Есть детерминированные (правая часть реализуется обязательно), недетерминированные (-||-|| c некоторой возможностью). Возможность может определяться некоторыми оценками реализации ядра, в частности это могут быть вероятности. Прогнозирующее ядро: особый тип, в нем описываются последствия ожидания в результате актуализации левой части (ЕСЛИ A ТО МОЖНО ОЖИДАТЬ B).

5. N-постусловие продукции. Актуализируется, если ядро реализовалось и описывает действие и процедуры, которые необходимо выполнить после реализации правой части. Например, после выполнения действий, указанных в правой части, надо изменить какой-либо параметр или записать рез-т в базу данных или базу фактов.

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

В продукционных системах 2 механизма логического вывода:

1.Прямой: в направление секвенции.

2.Обратный.

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

Алгоритм прямого вывода:

Процесс начинается с запроса к пользователю об известных ему фактах, эти факты помещают в БФ. Затем обращаются к БП и производит поиск такого, которое м.б. выполнено, т.е. все факты необходимые для левой части имеющихся в БФ. найденное правило выполняется, отмечается {в последствии} и полученные факты (с помощью правой части продукции), добавляются в БФ. Затем снова идет в БП такое, которое м.б. выполнено и т.д. Процесс прямого вывода заканчивается если в БП не найдено такое которое м.б. выполнено.

Алгоритм обратного вывода:

При обратном выводе система начинает с того, что необходимо получить или доказать затем происходит проверка выполнения тех правил, в правой части которых имеются требуемые факты. Процесс начинается с выяснения у пользователя: какой факт необходимо получить, или установить. Затем обращение к БФ и опр. имеется ли в ней данный факт. Если да, то считается установленным, и процесс заканчивается. Если его нет в БФ, то система обращается в БП и ищет такое, в правой части которого имеется требуемый факт. Затем проверяет м. ли б. выполнено найденное правило. Если да - требуемый факт считается установленным. Если нет, то требуемым фактом считаются те которые имеются в левой части найденной продукции и т.д. Процесс обратного вывода заканчивается, если требуемые факты установлены (они имеются в БФ) или в БП нет таких с помощью которых м. установить эти факты.

# Пусть БФ состоит из =>:

БФ:A,B,C,E,G,H

БПр:1)F&G=>Z

2)C&D=>F

3)A=>D

схема прямого вывода:

схема обратного вывода:

Семантические сети:

рисунок:

Семантическая сеть - это модель представления знаний в виде графа с помеченными вершинами и дугами

/* треугольник-равно-^ */ r1^<x1,x2,x3>,r2^<x4,x5,x3>

Сем-е сети бывают разного вида, отличаются они тем, что сопоставляются вершинам и дугам в ПО.

Рассмотрим сем-ю сеть общего вида:(N-арная сеть)

В этом случае вершинам сопоставляются объекты, события, процессы, явления N-ое отношение ПО, а дугам бинарные отношения, существующие между этими понятиями.

Пусть W={W1,W2,...,Wn}-семейство объектов, характеризующих ПО. V={V1...Vm}-множество n-ых отношений, заданных на множестве элементов W.

Поставим в соответствие элементам этих множеств обозначающие их знаки и определим => множество X={x1,...,xn}-множество знаков, обозн-х элементы мн-ва W, R={R1...Rm}-множество знаков, обозн-х отношение из множества V.

Множества W и V м.б. множества описаний объектов и отношений между ними. X и R - множества знаков, обозначающих объекты и отношения между ними.

В семантической сети общего вида выделяют 3 типа вершин:

1. Вершины понятия. Каждая такая вершина изображается в графе кружком, соответствует определённому элементу из W и отмечена его знаком из мн-ва X.

2. Вершины отношения. Обозначаются овалом, соответствует определённому отношению из V и отмечается его знаком из R.

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

В сем. сети каждая вершина-связь соответствует конкретному реальному отношению соединяется с меткой ISA (является) и с вершинами понятиями - дугами, с метками указывающими роли которые играют в данной связи соответствующие понятия.

# если на рисунке R-3-арные отношения: <фирма, товар, регион>, причём имеются объекты X1-фирма1 X2-товар1 X3-регион1 X4-фирма2 X5-товар2, причем они связаны связями:r1^<x1,x2,x3>,r2^<x4,x5,x3> тогда соответствующая сеть на рис:

Частный случай семантической сети.

Бинарные семантические сети.

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

#(a)----R1---->(b) то получим: вершины могут быть соединены только одной дугой, если между одними и теми же объектами существует несколько отношений, то в графе это изображается наличием у соответствующей вершины нескольких меток #(a)--- {R1,R2,R3}--->(b). Если одни и те же объекты связаны несколькими отношениями разной направленности, то в сеть включается вершина дублирующая одну из связанных # (b)---R3--->(a)<---{R1,R2}---(b).

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

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

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

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

1.вершины – параметры (изображается кругом).

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

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

# решение задачи треугольника. R1:A+B+C-П=0 R2:a/sinA-b/sinB=0 R3:h-bsinA=0 R4:b/sinB-c/sinC=0 R5:a+b+c-p=0 R6:s-h*c/2=0 (рис1)(рис2)

Фреймовая модель ориентирована на такие знания в которых объект, ситуация явление описывается множеством характеристик. В этом случае БЗ состоит из фреймов, каждая из которых представляет собой объект или ситуацию. Он состоит из частей называемых слотами. В каждой из этих частей размещается хар-ка объекта. Формально под фреймом понимают именованный картеж двуместных картежей f = <<v1,g1>, ...,<vi,gi>, ...<vn,gn>>, где f - имя фрейма, <vi,gi> - i-тый слот vi - имя слота gi - его значение. Фреймы делят на две группы. Фреймы описания и ролевые фреймы.

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

Логические модели

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

ЛМ м.б. представлены в виде четырехместного кортежа: М=<T,P,A,F>. Т - множество знаков, кот. допустимо использовать (алфавитов), в нем есть знаки: const - константа - это знаки, обозначающие конкретные объекты ПО, переменные - это знаки, используемые для обозначения объектов в утверждениях, когда речь идет обо всех объектах или о каких-либо, когда неважно, какие имеются в виду, функции (функц. знаки) - обозначают функц. отношения между объектами ПО. Пример:

1. отец: отец(х)=отцу человека, обозначенного знаком х

2. f(x)=1/x - числовая функция

3. плюс: плюс (х,у)=х+у

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

логические связки ( ®, (, (, (, ") - используются для записи утверждений, состоящих из других утв.

кванторы((, () - исп-ся для записи общих утв-ий .Пример: смертен: смертен(х)=" истина", если х смертен. читает: читает(х)="истина", если х умеет читать. Можно записать утв.: (( х ) смертен(х), (( х) читает(х), что имеет смысл: все объекты смертны и есть такой, кот. умеет читать.

Р - множество синтаксических правил, в соответствии с кот. из элементов Т строятся правильно построенные формулы.

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

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

Основное преимущество исп-ния ЛМ для представления знаний заключается в том, что соответствующие средства позволяют получать новые знания. Для ЛМ сущ-ет язык программирования ПРОЛОГ, кот. позволяет непосредственно запрограммировать процесс получения новых утв-ний.