Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебно-методическое пособие по дисциплине Интеллектуальные информационные системы и технологии

.pdf
Скачиваний:
1
Добавлен:
11.08.2026
Размер:
609 Кб
Скачать

ПРОЦЕДУРНЫЕ ЗНАНИЯ представлены в БЗ в виде описаний процедур, в результате выполнения которых над фактами, как исходными данными, получается информация о характеристиках объектов, явлений, процессов проблемной области. Процедуры: методы, аналитические преобразования, алгоритмы, программы, инструкции, методики и т.п.

Проблема представления знаний - это проблема разработки формализованных методов (моделей) представления знаний в БЗ ЭС, позволяющих осуществлять решение задач в ЭС методами логического вывода и поиска. Основные классы разработанных моделей: логические модели, семантические сети, продукции, фреймы [1-9; 13; 14; 16-18]. Логические модели: знания представляются совокупностью формул выбранной ФЛС, как правило, исчисления предикатов[16]. Семантическая сеть - представление знаний с помощью ориентированного графа, вершины которого соответствуют фактам (объектам, событиям, процессам и т.п.), а дуги описывают отношения между этими фактами. Основные практически применяемые модели - продукционные и фреймовые.

4.2. Продукционная модель представления знаний [1-9; 13; 14; 16; 18]. Знания представляются с помощью набора правил вида "Если А, то В", где А - условие (посылка), В - действие (заключение). Конструкция предложена Э. Постом (E. Post) в 1943 г. при исследованиях в области теории алгоритмов. Была использована при разработке первых ЭС

(DENDRAL, MYCIN и др.). Примеры правил:

1.Если автомобиль не заводится, то проверить наличие бензина

вбаке и исправность аккумулятора.

2.Если рентабельность предприятия высокая и задолженности нет, то финансовое состояние предприятия хорошее.

Общий вид продукционного правила:

 

 

i , Q, P,

A B

,

N

A B

- ядро продукции: "если A , то

B"; i - имя или номер правила;

Q - сфера применения продукции (наименование группы правил, включающей данное правило); P предусловие - условие применимости ядра продукции; N постусловие - описание действий, выполнение которых требуется после выполнения действия B.

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

данных, поступающих в рабочую память (базу данных-БД). Применяются две процедуры вывода: прямой вывод ("от данных к цели") и обратный ("от цели к данным"). Процедура вывода выполняется в виде итераций, т.е. циклически повторяющихся этапов. При прямом выводе на каждой итерации МЛВ просматривает условия всех заданных правил, сопоставляет их с исходными данными и выявляет ВСЕ правила, для которых условия оказались на данной итерации выполненными. Эти правила составляют

фронт готовых продукций или конфликтный набор, из которого выбирается (в соответствии с той или иной стратегией разрешения конфликтов)

11

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

При обратном выводе МЛВ рассматривает цель решения задачи и выявляет в БЗ множество всех правил, заключением каждого из которых является это целевое утверждение. Затем проверяется, являются ли истинными условия этих правил (т.е. имеются ли соответствующие данные, описанные в левых частях этих правил, в БД). При каждом обратном движении система находит подцелевое состояние, из которого целевое состояние может быть получено при прямом движении. При этой процедуре также возможно появление конфликтных наборов правил. Проблема разрешения конфликтов - основная проблема управления выводом в системе продукций. Ряд стратегий разрешения конфликтов описан в [2; 8; 13].

4.3. Фреймовая модель представления знаний [1-9; 16; 18].

Предложена М. Минским(M.Minsky) в 1975 г. Фрейм – это структура данных, предназначенная для представления класса объектов (процессов, ситуаций) и состоящая из подструктур - слотов, соответствующих «элементам», в виде совокупности которых данный класс объектов (процессов, ситуаций) представляется характеризующим его человеком.

Общий вид фрейма:

< ИФ, (ИС1, ЗС1, ПП1), …, (ИС i, ЗС i, ПП i),…, (ИСn, ЗСn, ППn) >

слот i

ИФ - имя фрейма, ИСi – имя i-го слота, ЗCi – значение i-го слота, ППi – имя i-й присоединенной процедуры.

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

порождает фрейм-экземпляр,

описывающий конкретный объект, процесс,

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

Значениями

слотов

могут

быть как конкретные данные,

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

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

12

4.4. Представление и обработка неопределенных знаний в ИИС [2; 6-9]. Работа с неопределенными знаниями и данными - характерная черта ИИС. Используются два основных подхода к этой проблеме -

(1)вероятностный, (2)основанный на теории нечетких множеств Л. Заде (L.A.Zadeh) и нечеткой логике. Последний получил широкое применение.

Кратко о применении этого подхода при использовании продукционной модели представления знаний [3; 4; 6-8]. В качестве меры достоверности обрабатываемых знаний используются экспертные оценки определенности как фактов, учитываемых в процессе вывода решения, так и применяемых правил, называемые факторами (коэффициентами) уверенности. Факторы уверенности для аргументов посылок, представляющих исходные данные, - это весовые коэффициенты, отражающие степень соответствия принятых значений этих аргументов реальной ситуации. Итоговые факторы уверенности получаемых результатов вывода решения отражают порядок достоверности результата, а не его точность, что приемлемо во многих задачах. Фактор уверенности для некоторого значения данной переменной - это степень принадлежности этого значения к определенному нечеткому множеству, для оценки которой используется относительная шкала, например, от 0 до 1 (или от 0 до 100). В отличие от теории вероятностей сумма значений факторов

уверенности,

соответствующих

альтернативным

значениям

данной

переменной, не обязательно равна 1.

 

 

 

Пусть X = {х12,…,хn} - множество

всех

возможных

значений

некоторой переменной X (универсальное множество). Нечёткое множество

A на

универсальном множестве

Χ определяется как совокупность пар

{1, A

1)),

2, A 2)),…, (хn, A

n))}, где

A i), i=1,…,n, -

степень

принадлежности значения хi переменной X к нечеткому множеству A.

Конкретное нечеткое множество A задается с помощью сопоставления определенных значений A i) со всеми хi X (т.е. с помощью задания функции принадлежности значений хi к нечеткому множеству А). При построении ИИС степень принадлежности Ai) трактуется как фактор уверенности cf(хi) для некоторого значения хi данной переменной X.

Факторы уверенности исходных данных задаются пользователем при описании конкретной ситуации, а факторы уверенности применения правил

определяются инженерами знаний совместно с экспертами с помощью

определенных эвристических формул. Так, при

объединении факторов

уверенности аргументов, которые связаны

конъюнктивно или

дизъюнктивно, используются формулы:

 

(1). cf (А В) = min (cfA, cfB) или (2).cf (А В) = (cfA cfB) /100

(3).cf (А В) = mах (cfA, cfB) или

(4). cf (А В) = cfA + cfB - (cfA cfB )/100

Объединение

факторов уверенности аргументов, содержащихся в

посылке каждого

конкретного

правила (для получения

фактора

 

 

13

 

0rk,.., A0
0r1,.., A

уверенности посылки в целом), осуществляется чаще всего по формулам вида min/max (1), (3); объединение факторов уверенности посылки и заключения одного правила (для получения фактора уверенности результата применения этого правила) - по формулам вида "произведение" (2); объединение факторов уверенности одинаковых результатов нескольких правил (для получения фактора уверенности этого результата) - по формулам вида "сумма" (4).

5. Генетические алгоритмы

Генетические алгоритмы (ГА) [7; 11] - эвристические алгоритмы поиска, основанные на имитации механизмов, прототипом которых являются процессы эволюции популяций живых организмов. Под воздействием операторов алгоритма, имитирующих механизмы эволюции, пространство поиска решений изменяется в направлении "улучшения" содержащихся в нем решений. Результат такой эволюции - пространство поиска, содержащее наилучшие (или приемлемые) решения, которые и обнаруживаются алгоритмом.

Пространство поиска решений – это популяция особей (или хромосом), т.е. множество P = {A1,..,Ak,..,AN}, где Ak - решение, т.е. хромосома (особь), представляемая как строка символов Ak = {a1,…,aj,…,aL},

называемых генами. С каждым геном aj сопоставлено множество его возможных значений ("аллелей"): W j= {wjh}, h = 1,2,…r; часто принимается W j= {0,1}. На множестве решений (хромосом) задается целевая функция

(ЦФ) - функция полезности (fitness-функция): F(Ak) полезность решения

Ak. Генетический алгоритм осуществляет поиск хромосомы A*, для которой значение этой функции максимально или удовлетворяет заданным требованиям. Размер популяции N, т.е. число содержащихся в ней хромосом (решений) может изменяться в процессе работы алгоритма, но наиболее распространены ГА, для которых он остается постоянным. От размера популяции зависит время поиска решения и его "качество". Важно, что размер популяции (т.е. мощность пространства поиска решений) значительно меньше числа всех допустимых решений. Именно это позволяет находить решение за приемлемое время.

Первая версия ГА - ПРОСТОЙ ГА, впервые описана Д. Голдбергом

(Goldberg D.E.) в 1989 на основе работ Дж. Холланда (J. Holland) – 1975 г.

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

начальной популяции P0 = {A rNo} (случайный выбор,

возможно, с использованием знаний о проблемной области); (2) применение

14

к начальной популяции последовательности генетических операторов, порождающей новую популяцию Pt; (3) проверка заданных условий остановки работы алгоритма и либо выдача результата, т.е. решения задачи (при выполнении этих условий) либо (в противном случае) переход к созданию следующей популяции Pt+1 путем применения к популяции Pt последовательности генетических операторов. Основные генетические операторы: репродукция (селекция, отбор); кроссинговер (скрещивание); мутация, инверсия.

Репродукция - формирование следующей популяции на основе текущей путем отбора из нее лучших хромосом для включения в следующую популяцию. Это стохастический процесс, имитирующий принцип «выживания сильнейших»: хромосомы с лучшим значением функции полезности имеют большую вероятность попадания в новую популяцию и, следовательно, большую возможность для воспроизводства потомков. Существует большое число методов селекции. Широко используемые методы - пропорциональная и турнирная селекция [11].

Пропорциональная селекция. Вероятность выбора r-й хромосомы для включения ее в следующую популяцию определяется как:

P(Ar) F(A r )/ N

F Ak .

k 1

 

Один из способов программной

реализации этого принципа -

использование метафоры «колеса рулетки».

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

включается в следующую популяцию Pt+1.

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

Кроссинговер, как правило, выполняется после оператора репродукции

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

образом, над каждой из всех возможных пар хромосом популяции PR

с

некоторой заданной вероятностью рk выполняется кроссинговер и

с

вероятностью (1- рk) не выполняется.

 

Принцип выполнения кроссинговера для данной пары хромосом:

 

A= a1,…,am , am+1, …, aL

B= b1,…,bm, bm+1 …, bL

(1)в строках A и B выбирается (с заданной вероятностью) позиция m

(точка разрыва), где 1<m<L;

15

(2) родители A и B обмениваются своими частями, определяемыми точкой разрыва, в результате чего формируются две новых хромосомы -

потомки:

A = a1,…,am,

 

am+1, …, aL

A = a1,…,am ,

bm+1 …, bL

 

B = b1,…,bm,

 

bm+1 …, bL

B = b1,…,bm,

am+1, …, aL

 

 

 

 

 

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

(3) как результат выполнения кроссинговера над всей популяцией PR создается популяция PК, в которую включаются: (А) хромосомы, являю-

щиеся результатом кроссинговера каждой пары «состоявшихся» родителей,

выбираемые по одной из указанных стратегий (а), (б), (в), (г); (Б) «несостоявшиеся родители» (хромосомы, не подвергнутые кроссинговеру).

Здесь приведен простейший способ выполнения одноточечного кроссинговера. Имеется множество способов выполнения этого оператора, в том числе, многоточечный и другие варианты кроссинговера [13].

Мутация применяется к хромосомам, которые выбираются из популяции PК обычно с достаточно низкой вероятностью pm 0,001.

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

(2)многоточечная мутация, например, двухточечная: в хромосоме A случайным образом выбираются две позиции, и соответствующие гены,

меняются местами, в результате чего создается новая хромосома A . Инверсия может применяться с очень низкой вероятностью наряду с

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

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

плана и образующих дочернюю популяцию Pct, т.е. Pt+1 = Pct, так и с частичным сохранением наилучших особей предыдущей популяции Pt, в этом случае популяция Pt+1 состоит из лучших особей как дочерней Pct, так и родительской Pt популяций (элитизм). В первом случае новые хромосомы полностью заменяют старые, а во втором – только менее ценные из них.

Дальнейшие шаги: (1) оценка качества популяции Pt+1 - вычисление

полезности F(Ak) каждой хромосомы и полезности всей популяции как

16

суммы значений полезности всех ее хромосом или как среднее значение

полезности любой хромосомы, принадлежащей

этой

популяции;

(2) проверка

критерия остановки работы

алгоритма,

заданного

пользователем. Возможные критерии: (а) достижение заданного значения функции полезности F*(Ak) для некоторой хромосомы Ak , принадлежащей популяции Pt+1; (б) заданное максимальное число итераций (циклов формирования новых популяций). Самая «полезная» хромосома в популяции, полученной перед остановом, является решением задачи. Как эвристический алгоритм ГА не гарантирует оптимальность полученного решения.

6. Получение и структурирование знаний в ИИС

ПОЛУЧЕНИЕ ЗНАНИЙ ЭКСПЕРТНОЙ СИСТЕМОЙ - это весь процесс наполнения БЗ ЭС, т.е. процесс передачи знаний от источника знаний к БЗ, включая выявление знаний, необходимых для решения определенного класса задач, из некоторого источника, их структурирование (преобразование в нужную форму) и перенос в БЗ, т.е. в программную среду, реализующую ЭС. Это круг проблем научного направления, называемого

инженерией знаний (knowledge engineering) [1; 2; 4; 6; 8; 9; 16].

На разных этапах этого общего процесса применяются три стратегии получения знаний, описываемые соответствующими моделями [1; 2; 4; 6; 9]:

1. ИЗВЛЕЧЕНИЕ (выявление) знаний (knowledge elicitation) - процедура переноса знаний от эксперта или другого источника в БЗ путем непосредственного контакта инженера по знаниям (ИЗ) с этим источником

без использования компьютерных (программных) средств поддержки. При этом выясняется структура представлений эксперта о предметной области и процесс его рассуждений при получении решения. Классификация методов извлечения знаний и их характеристика приведены в [1; 4; 6; 9].

2. ПРИОБРЕТЕНИЕ ЗНАНИЙ (knowledge acquisition) - процесс получения знаний от источников знаний и переноса их в БЗ авто-

матизированным путем с использованием программных средств [1; 4; 8].

Большинство этих средств ориентировано на конкретные ЭС с заданной предметной областью и моделью представления знаний. Есть два основных варианта этих средств.

2а. Передача знаний от эксперта в БЗ с помощью интеллектуальной редактирующей программы, которая имеет развитые возможности для диалога с экспертом и обладает знаниями о структуре БЗ (метазнаниями), т.е. играет роль инженера по знаниям [17]. Пример - система TEIRESIAS для пополнения БЗ ЭС для медицинской диагностики типа MYCIN - «прародительница» всех инструментариев для приобретения знаний.

. Передача знаний в БЗ непосредственно из литературы, т.е. текста

на естественном языке (ЕЯ) с помощью программ,

понимающих такой

текст и извлекающих из него знания в форме,

которая позволяет

17

 

использовать формализованные модели представления знаний (продукции, фреймы и др.) при наполнении БЗ.

3.ФОРМИРОВАНИЕ ЗНАНИЙ (machine learning) - процесс получения знаний из данных путем анализа данных и выявления в них скрытых закономерностей с использованием специального математического аппарата

ипрограммных средств (обучающих программ, в частности, программ индуктивного вывода). Это интенсивно развивающееся направление получило название интеллектуального анализа данных (Knowledge Discovery in Databases (KDD) and Data Mining (DM)) [1; 2; 4; 9].

Получение знаний осуществляется в процессе разработки ЭС, в

основном, на этапах идентификации проблемы и концептуализации, а также на этапах реализации текущего прототипа ЭС и его тестирования (см.

раздел 7.1), когда выявляются НЕ-факторы [1], т.е. неполнота, неточность, неопределенность, нечеткость, противоречивость знаний и осуществляется их устранение.

7.Методология и инструментальные средства разработки ЭС

7.1. Методология разработки ЭС[1; 3-6; 8; 9; 17; 18]. В ее основе -

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

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

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

быстрой разработки приложений (Rapid Application Development - RAD),

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

7.2. Виды инструментальных средств разработки ЭС [1; 3; 5; 8; 18; 19].

1.Оболочки экспертных систем, которые создаются, как правило, на основе ЭС, хорошо зарекомендовавших себя на практике [8].

2.Языки программирования высокого уровня (специализированные и универсальные). Первые специализированные языки для задач ИИ - LISP (начало 60-х гг.) и PROLOG (начало 70-х гг.) Применяются также языки

18

описания порождающих правил (пример - OPS5), объектно-ориентированные языки, языки логического программирования [6; 7; 8].

3. Многофункциональные программные среды, поддерживающие несколько парадигм программирования [8].

4. Дополнительные автономные программные модули,

предназначенные для выполнения специфических задач в рамках выбранной архитектуры ЭС [8].

Сейчас наиболее мощными средствами разработки ЭС являются

инструментальные комплексы для создания ЭС - интегрированные среды,

поддерживающие весь цикл создания и сопровождения ЭС (системы типа WorkBench) [6]. Примеры: комплексы G-2 (для создания ЭС реального времени, Gensum Corp, США) [3; 6], ЭКО (для создания статических ЭС, Россия) [3], АТ-ТЕХНОЛОГИЯ (Россия, МИФИ) [1], VITAL, KADS, ART, KEE, Knowledge Craft [6].

Лабораторный практикум

ТЕМА. Экспериментальное изучение методов разработки ЭС с помощью инструментального комплекса СLIPS [8; 9; 19] .

Лабораторная работа №1. Освоение комплекса СLIPS.

Изучить теоретические основы построения комплекса CLIPS и способы его применения при разработке ЭС: основные элементы языка CLIPS (типы данных, функции, конструкторы); основные конструкции CLIPS для представления фактов, правил, глобальных переменных и функций.

Изучение провести экспериментально на примерах реализации соответствующих конструкций в программной среде CLIPS.

Лабораторная работа №2. Создание пробной ЭС для решения простой задачи с помощью комплекса CLIPS.

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

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

Лабораторная работа №3. Разработка ЭС с использованием набора основных функций CLIPS для решения более сложной задачи в заданной проблемной области.

Проблемная область разрабатываемой ЭС задается преподавателем или выбирается студентом и согласуется с преподавателем. Примерный список возможных тем приведен в Приложении 2.

19

Студенту необходимо:

1.Провести анализ проблемной области, определить цели создания ЭС.

2.Разработать набор правил (не менее 15) для решения данной задачи, представить его с помощью конструкций CLIPS, используя основные функции CLIPS (присвоение приоритетов, функции not, or, bind, read readline, test, exists, forall, logical, предикативные функции).

3.Реализовать разработанный набор правил в среде CLIPS, провести ряд

сеансов консультации с ЭС при различных входных данных и получить результаты решения задачи.

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

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]