Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Проблема непротиворечивости формализованной базы знаний
При добавлении информации от экспертов в базу знаний, необходимо обеспечить непротиворечивость базы знаний. Непротиворечивость означает, что в базе знаний не выводимы никакие два факта (формулы) вида а и (из которых один отрицает другой). Проблема непротиворечивости не является тотальной, т.е. вполне допустимы противоречивые системы, однако, нужно иметь в виду следующее. Во-первых, практически многие хорошо разработанные теории вывода работают с непротиворечивыми системами формул. Действительно, если система противоречива, то в ней выводимо все что угодно! Это обстоятельство практически лишает смысла само понятие вывода в противоречивой системе. В такой системе, следовательно, вывод заменяется иными механизмами (например, механизмами классификации - распознавания и принятия решений). Во-вторых, сам характер задачи, стоящей перед СИИ, не допускает противоречивого толкования знаний (например, заключения : " пациента нужно немедленно прооперировать" и : " пациента не нужно немедленно оперировать" таковы, что неясность в смысле их выбора может стоить жизни человеку. (Такова, к примеру, фабула романа А. Хейли " Окончательный диагноз" ). В формальных логических системах первого порядка противоречивость эквивалентна выводимости в системе пустой формулы (интерпретируемой как ложь). Неизбыточность. Требование незбыточности означает, что в базе знаний хранятся лишь независимые друг от друга знания. Формула зависима от формул x1, x2, ..., xk, если выводима из x1, x2, ..., xk в силу правил вывода. Неизбыточность знаний не является императивным требованием. Фактически, избыточность имеет сильный положительный момент, который заключается в следующем. Пусть СИИ в результате доказательства цели построила цепочку Пi1, Пi2, Пi3, ..., Пi n-1 C0 ® C1 ® C2 ®... ® Cn, где Сk - k -ый контекст вывода ( k -ое состояние трассы вывода); Пij - правило вывода (продукция), применяемое к контексту Сj-1. Это позволяет ввести в базу знаний новую продукцию , где является выводом по образцу из С0 и Сi1 ( Ci1 - условная часть продукции Пi1 ), П* = < Пi1, Пi2, ..., Пi n-1> - представляет последовательную цепочку операционных частей продукций Пi1, Пi2, ..., Пi n-1. Добавление продукции в базу знаний при следующем решении задачи < , Cn -? > избавит от необходимости строить план решения задачи снова, т.е. приводит к увеличению быстродействия СИИ. Рассмотрим, как определяется зависимость формул в логике высказывании, являющейся той частью логики предикатов, которая позволяет формализовать фактуальные знания (т.е. знания, представленные совокупностью фактов). Итак, пусть требуется установить выводимость пропозициональной формулы G, представленной в виде G = g1 Ú g2 Ú g3 Ú ... Ú gm, (1.41) где gi - формулы (гипотезы), взятые с отрицанием или без него, из формулы F произвольного вида, т.е. доказать справедливость: F ® g1 Ú g2 Ú g3 Ú ... Ú gm, (1.42) Суть предлагаемого метода заключается в последовательном умножении обеих частей (1.42) на , . Например, в порядке возрастания индекса i, пока не будет получена одна из следующих ситуаций: (a1) F* ® ð (a2) F* ® F* ( ð ® ð или F* ® 1) (a3) ð ® F*, где ð - символ пустой формулы, ð = х & ; F - непустая формула формальной системы. Тогда справедливы следующие заключения: Ситуация (а1) означает невыводимость G из F ( G не находится в отношении логического следствия из F ); Ситуация (а2 и а3) означает, что G логически следует из F, 1 = х Ú . Таким образом, для доказательства произвольной формулы F ® G, ее необходимо привести к виду (1.42) и выполнить описанную процедуру, доказательство которой здесь опускается. Пример. Пусть даны формулы f1 = a ® b& c& , f2 = b ® & f, f3 = c Ú ® x Ú y. Покажем, что имеет место a& f1& f2& f3 ® x. Умножим обе части нах: ® ð. Заменим (p ® q) на : ® ð. Откуда, раскрывая скобки, имеем ð ® ð, что устанавливает доказываемое соотношение. С другой стороны, отношение a& f1& f2& f3 ® y невыводимо, поскольку имеет место: ® ð. Или ð. Итак, проблема избыточности решается с помощью механизма вывода. Обучение системы Как уже отмечалось, более менее развитая техника обучения имеется для задач распознавания и классификации. Задача классификации заключается в отнесении предъявленного образца к некоторому классу. В качестве классифицирующей функции может, например, использоваться функция g(x) = w1x1 + w2x2 +... + wdxd + wd+1, (1.43) Данная функция называется также линейной дискриминаторной функцией. Для того, чтобы использовать линейную дискриминаторную функцию, исходное множество cобъектов разбивается на классы c1, c2, ..., cN, причем каждый объект из cпринадлежит только одному классу ci. Для каждого класса некоторым (определенным) образом подбираются весовые коэффициенты W = < w1, w2, ..., wd+1>. Считается, что предъявленный объект относится к тому классу, для которого значение дискриминаторной функции достигает максимального значения. Рассмотрим, из каких соображений определяются весовые коэффициенты wi. Прежде всего, для каждого класса выбирается представитель Рi этого класса. Расстояние между произвольной точкой X d -мерного пространства и представителем Рi, вычисляется как (1.44) где (Х - Рi )(Х - Рi) = Х·Х - 2Х · Рi + Рi · Pi. (1.45) Естественно полагать, что точка X принадлежит тому классу, расстояние между представителем которого Рi и X минимально. Поскольку член X× X в (1.45) для всех классов один и тот же, то минимум (-2ХРi + Рi Рi) эквивалентен максимуму (2ХРi - РiРi). В связи с этим в качестве gi(Х) используется функция gi(X) = 2X× Pi - Pi× Pi. (1.46) Из (1.46) имеем, что где - i -ая компонента вектора Рi и wd+1 = Pi× Pi. Теперь выясним, в чем заключается процесс обучения. Если заранее не известен представитель каждого класса, то нужно определить подходящим образом весовые коэффициенты wi, в дискриминантной функции (1.43). Определение весовых коэффициентов осуществляется с помощью обучающей выборки, относительно которой известна результирующая классификация. В качестве обучающей выборки для СИИ может выступать накопленный опыт решения задач классификации. Рассмотрим алгоритм непараметрического обучения, как он описан. В качестве начальных весов выбираются произвольные векторы, изменение которых производится только в случае неправильной классификации объектов. Допустим, при классификации объекта Y он неверно относится к классу ), вместо отнесения его к классу 1. Тогда весовые векторы, используемые как в 1-ой, так и в 1-ой дискриминантных функциях, изменяются следующим образом: (1.47) где - новые весовые выходы; с - коэффициент коррекции. Таким образом, исправление состоит в увеличении дискриминантной функции W(i) и уменьшении дискриминантной функции W(i). Также доказывается, что приведенный обобщенный алгоритм обучения находит разделяющие весовые наборы за конечное число исправлений. Отметим в заключении этого параграфа, что обучение может быть связано также с выдвижением гипотез и методами индуктивных рассуждений. Соответствующие формализмы были предложены в начале века Д.С.Миллем. Интерфейс с пользователем Интерфейс с пользователем включает следующие компоненты: - диалоговый компонент; - модуль обработки вопросов; - редактор знаний; - модуль объяснения. Возможно объединение всех этих компонентов в единственный диалоговый модуль, а также вынесение редактора знаний в систему управления базой знаний. В процессе диалога пользователь формирует спецификацию задачи. В простейшем случае этот процесс реализуется по одному и тому же сценарию типа " вопрос - ответ". При этом диалоговый компонент выполняет следующие действия: - распределяет роли пользователя и СИИ и организует их взаимодействие в процессе решения задачи; - преобразует спецификацию задачи, составленную пользователем, во внутреннее представление машины; - выдает сообщения, подсказки, вопросы; - протоколирует процесс решения задачи. Развитый интеллектуальный диалог реализует поддержку процесса решения задачи в духе Пойа. В этом случае пользователь сам активно включается в процесс решения задачи, а СИИ организует поисковую активность человека-решателя. Этот процесс описывается следующим семантическим фрагментом: < решение>:: = < контекст> < действие> [< решение> ] < контекст>:: = < начальный_контекст> [< история> ] < история>:: = < вопрос> < ответ> [< история> ] < начальный контекст>:: = < фрейм_задачи: > < ответ>:: = < совет> |< указание> |< элемент_меню> < действие>:: = < вопрос> |< совет> |< указание> Например, для математических задач дискретной оптимизации характерно следующее множество вопросов: < Вопрос>:: = Задача сводится к последовательному выбору элементов решения? | Все множество элементов решения доступно сразу? | Выбор одного элемента решения исключает выбор другого? | Критерий выбора одного элемента решения соответствует общему критерию задачи? | Число элементов решения велико? | Можно ли разбить задачу на независимые подзадачи меньшего размера? | Можно ли выделить непополняемое множество альтернативных решений небольшого размена? | Известно ли множество решений на каждом шаге? | Влияет ли выбор решения на шаге i на шаг (i + k), k> 1? | Выбор одного элемента решения изменяет другие элементы решений? | Известен т последний шаг решения? | и т.д. <: Совет>:: = запишите задачу в удобной для обозрения и понимания форме | используйте известные вам аналогии | отделите то, что дано, от того, что нужно найти | определите, от чего зависит искомая величина | определите содержание отдельного шага процедуры решения | упростите задачу ча счет объектов, гарантированно входящих или не входящих в решение | начинайте решение с наиболее простого и очевидного | и т.д. < Указание>:: = «Объект, который причиняет вред, должен быть поставлен в условия, обратные тем, в которые должен быть поставлен объект, доставляющий максимум пользы» | «Для получения хорошего решения нужно отбрасывать плохие» | «Решение, имеющее наиболее глубокие последствия, должно приниматься раньше других» | «Неизвестную задачу можно свести к известной через преобразования носителя или условий» | и т.д. Таким образом, процесс решения задачи организуется некоторым адекватным задаче наводящим перечнем вопросов и указаний. Все вопросы можно разбить на три группы. Первую группу образуют вопросы, уточняющие спецификацию (природу) задачи (т.е. задача считается все еще не определенной). Вторая группа вопросов - это вопросы, наводящие пользователя на идею решения задачи. При этом считается, что определенные классы задач характеризуются некоторым адекватным их природе набором наводящих вопросов. Наконец, третья группа вопросов - это вопросы информационного плана (например, требуется укачать значения того или иного параметра и т.д.). В системах, минимизирующих участие человека в ходе решения задачи, информационные вопросы являются основными. Как ранее отмечалось, это является недостатком и причиной того, что многие разработанные системы плохо воспринимаются пользователем. Поэтому важнейшей компонентой СИИ является модуль объяснения, который для каждой продукции может дать информацию о цели и способах ее реализации. Предъявление подобного объяснения пользователю может убедить его в рациональности стратегии вывода или побудить к самостоятельному принятию решения. Таким образом диалоговый компонент СИИ в принципе должен позволять пользователю вмешаться в любой точке трассы вывода и изменить ее по своему усмотрению. Итак, выделим основные функции интерфейса с пользователем СИИ: - ввод спецификации задачи - обеспечение возможности вмешательства со стороны пользователя в процесс решения задачи - организация поисковой активности человека-решателя - предъявление объяснений - выдача сообщений - протоколирование процесса решения задачи - обработка вопросов и команд - функции редактирования знаний Организация работы В процессе функционирования СИИ можно выделить три режима: 1 - приобретения (редактирования) знаний, 2 – консультации и 3 – непосредственного решения задачи. Рассмотрим первые два режима. В режиме редактирования знаний пользователь формирует и модифицирует базу знаний, т.е. определяет и вводит правила решения задачи (задач) для данной предметной области. Каждое правило характеризуется набором атрибутов, определяющих ее структуру. Так, если, например, атрибутами являются А.В.С....К.Е5, то примерами правил являются следующие: IF A = a1 & B = b1 & C = c1 & ... THEN RES = r1 IF A = a2 & B = b2 & C = c2 & THEN RES = r2 и т.д. Система ведет диалог, задает вопросы и дает возможные ответы в форме меню. Результат может представлять диалог, совет или некоторое числовое (символьно-числовое) выражение. Система встроенных окон и меню, используемых в режиме редактирования, упрощает процесс работы с базой знаний. При редактировании базы знаний редактор обеспечивает следующие функции: - вставка и удаление атрибутов; - переименование атрибутов и изменение их значений; - изменение и добавление вопросов и текстов объяснения; - создание правил; - просмотр базы знаний; - поиск атрибутов и правил; и др. Другой вариант режима редактирования - автоматическое создание базы знаний. Этот вариант характеризуется тем, что специальная программа заменяет инженера знаний с максимально возможным переносом его положительных качеств. Этот режим имеет следующие положительные черты: - в значительной мере устраняются отрицательные факторы, связанные с взаимодействием эксперта и инженера по знаниям; - систематизируется процесс ввода знаний; - появляется возможность редактировать базу знаний неограниченное число раз до тех пор, пока результат не будет удовлетворять и эксперта, и инженера по знаниям; - уменьшаются нежелательные эффекты, связанные с вводом неверной, противоречивой или синтаксически некорректной информации; - программы редактирования знаний организуют мышление эксперта в нужном направлении. В режиме консультации СИИ осуществляет процесс решения задачи, сформулированной пользователем. Пример. Познакомимся вкратце с организацией режима консультации в системе Expеrt PRIZ (позднее в этом пособии эта система будет рассмотрена подробно). Прежде всего пользователь выбирает из предлагаемого меню тему консультации, например, выбирается задача по выбору скорости автомобиля в зависимости от технических и климатических данных. Далее система задает пользователю вопрос: " Является ли дорога...? " и указывает список возможных опций-ответов: - сухой; - мокрой; - скользкой. Если пользователь выбирает опцию " сухая", то система выводит на экран текст очередного вопроса: " Что можно сказать о видимости? Является ли она...? " - до 100 м; - более 100 м. Если пользователь выбирает опцию " до 100 м", то система выдает ответ: " Рекомендуется не превышать 80 км/ч". После завершения консультации можно просмотреть на экране дисплея возможное объяснение полученного решения задачи. Так, на экране в ответ " да" на вопрос: " Объяснения? (да/нет)" будет выведено, например, следующее объяснение: " При таких условиях длина тормозного пути не превосходит 2 - 3 м" Процедуры. В режиме консультации система Expert PRIZ позволяет вычислять значения одних переменных по другим, а также решать уравнения. Например, зная скорость (v) и время (t), можно записать уравнение для расстояния, пройденного за время t: S = v × t Процедура используется либо для вычисления объектов, либо для отыскания аналитических выражений для зависимостей между объектами. Таким образом, в отличии от традиционных программ СИИ в режиме консультации не только исполняет предписанную последовательность операций, но и предварительно формирует задачу, а также предоставляет пользователю: - возможность вмешиваться в процесс решения; - получать объяснения полученного решения. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1056; Нарушение авторского права страницы