4. Формальные логические модели.
Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов 1 порядка, когда предметная область или задача описывается в виде набора аксиом (правильных высказываний или объектов) и задаются правила построения новых объектов из других правильных объектов системы (правила вывода).
Пример.
1)высказывание: a>bпредставляется термом p(a,b) (двуместный предикат), где p – предикатный символ, заменяющий знак “>";
2)высказывание “аппаратная ах – исправна” представляется Q(x);
3)теорема Пифагора может быть представлена термом:
P![P2 (P3(x),P3 (y)),P3(z)]
В качестве предикатных символов могут использоваться следющие:
Ø - НЕВЕРНО ЧТО (ЗНАК ОТРИЦАНИЯ);
Ç - И (ЗНАК КОНЪЮНКЦИИ);
È - ИЛИ (ЗНАК ДИЗЪЮНКЦИИ);
® - ЕСЛИ … ТО (ЗНАК ИМЛИКАЦИИ);
Û - ТОГДА, КОГДА (ЗНАК ЭКВИВАЛЕНТНОСТИ);
" - ДЛЯ ВСЯКОГО ( ЗНАК КВАНТОРА ОБЩНОСТИ);
$ - СУЩЕСТВУЕТ (ЗНАК КВАНТОРА СУЩЕСТВОВАНИЯ).
В различных логических системах используются разнообразные правила вывода. Приведем два наиболее распространенные.
Правило подстановки. В формуле, которая уже выведена, можно вместо некоторого высказывания подставить любое другое присоблюдении условия: подстановка должна быть сделана во всех местах вхождения заменяемого высказывания в данную формулу.
Правило заключения. Если a и a®b являются истинными высказываниями посылками, тогда и высказывание заключение b также истина. Записывается правило в виде дроби
Особенность систем представления знаний заключается в том, сто они моделируют деятельность человека, осуществляемую часто в неформальном виде. Модели представления знаний имеют дело с информацией, получаемой от экспертов, которая часто носит качественный и противоречивый характер. Для обработки с помощью ЭВМ такая информация должна быть приведена к однозначному формализованному виду. Методологией формализованного представления знаний является логика.
2. СТРУКТУРА И РЕЖИМЫ РАБОТЫ ЭС
Знания, которыми обладает специалист в какой-либо области (дисциплине), можно разделить на формализованные (точные) и неформализованные (неточные). Формализованные знания формулируются в книгах и руководствах в виде общих и строгих суждений (законов, формул, моделей, алгоритмов и т.п.), отражающих универсальные знания. Неформализованные знания, как правило, не попадают в книги и руководства в связи с их конкретностью, субъективностью, и приблизительностью. Знания этого рода являются результатом обобщения многолетнего опыты работы и интуиции специалистов. Они обычно представляют собой многообразие эмпирических (эвристических) приемов и правил.
В зависимости от того, какие знания преобладают в той или иной области (дисциплине), ее относят к формализованным (если преобладают неточные знания) описательным областям. Задачи, решаемые на основе точных знаний, называют формализованными, а задачи, решаемые с помощью неточных знаний,- неформализованными. (Речь идет не о неформализуемых, а о неформализованных задачах, т.е. о задачах, которые, возможно, и формализуемы, но эта формализация пока неизвестна.
Традиционное программирование в качестве основы для разработки программы использует алгоритм, т.е. формализованное знание. Поэтому до недавнего времени считалось, что ЭВМ не приспособлены для решения неформализованные задач. Расширение сферы использования ЭВМ показало, что неформализованные задачи составляют очень важный класс задач, вероятно, значительно больший, чем класс формализованных задач. Неумение решать неформализованные задачи сдерживает внедрение ЭВМ в описательные науки. Основной задачей информатики является внедрение ее методов в описательные науки и дисциплины. На основании этого можно утверждать, что исследования в области ЭС занимают значительное место в информатике.
Ньюэлл предложил относить к неформализованным задачам те, которые обладают одной или несколькими из следующих особенностей:
алгоритмическое решение задачи неизвестно (хотя, возможно, и существует) или не может быть использовано из-за ограниченности ресурсов ЭВМ (времени, памяти);
задача не может быть определена в числовой форме (требуется символьное представление);
цели задачи не могут быть выражены в терминах точно определенной целевой функции.
Как правило, неформализованные задачи обладают неполнотой, ошибочностью, неоднозначностью и (или) противоречивостью знаний (как данных, так и используемых правил преобразования).
Экспертные системы не отвергают и не заменяют традиционного подхода к программированию, они отличаются от традиционных программ тем, что ориентированы на решение неформализованных задач и обладают следующими особенностями:
алгоритм решений не известен заранее, а строится самой ЭС с помощью символических рассуждений, базирующихся на эвристических приемах;
ясность полученных решений, т.е. система "осознает" в терминах пользователя, как она получила решение;
способность анализа и объяснения своих действий и знаний;
способность приобретения новых знаний от пользователя-эксперта, не знающего программирования, и изменения в соответствии с ними своего поведения;
обеспечение "дружественного", как правило, естественно-языкового (ЕЯ) интерфейса с пользователем.
Обычно к ЭС относят системы, основанные на знаниях, т.е. системы, вычислительная возможность которых является в первую очередь следствием их наращиваемой базы знаний (БЗ) и только во вторую очередь определяется используемыми методами. Методы инженерии знаний (методы ЭС) в значительной степени инвариантны тому, в каких областях они могут применяться. Области применения ЭС весьма разнообразны: военные приложения, медицина, электроника, вычислительная техника, геология, математика, космос, сельское хозяйство, управление, финансы, юриспруденция и т.д. Более критичны методы инженерии знаний к типу решаемых задач. В настоящее время ЭС используются при решении задач следующих типов: принятие решений в условиях неопределенности (неполноты), интерпретация символов и сигналов, предсказание, диагностика, конструирование, планирование, управление, контроль и др.
Экспертные системы – это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Пользователь Инженер по знаниям
Эксперт
Пользователь – специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока и поэтому он нуждается в помощи и поддержке своей деятельности со стороны экспертной системы.
Инженер по знаниям – специалист по ИИ, выступающий в роли промежуточного буфера между экспертом и базой знаний.
Интерфейс пользователя – комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и на стадии получения результатов.
База знаний (БЗ) – ядро ЭС, представляющее собой совокупность знаний предметной области, записанная на машинный носитель в форме, понятной пользователю и эксперту.
Решатель - программа, моделирующая ход рассуждений эксперта на основе знаний, имеющихся в БЗ.
Подсистема объяснений – программа, позволяющая пользователю получать ответы на вопросы: “Как была получена та или иная рекомендация ?” и “Почему система приняла такое решение?”
Интеллектуальный редактор БЗ – программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает подсистему вложенных меню, шаблонов языка представления знаний, подсказок и т.д.
Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляет через посредничество инженера по знаниям эксперт. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования данными, характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области.
Важную роль в режиме приобретения знаний играет объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы ЭС, что позволяет эксперту целенаправленно модифицировать старые или вводить новые знания. Обычно объяснительный компонент сообщает следующее: как правила используют информацию пользователя; почему использовались или не использовались данные или правила; какие были сделаны выводы и т.п. Все объяснения делаются, как правило, на ограниченном естественном языке или языке графики.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ получения решения. Пользователь в зависимости от назначения ЭС может не быть специалистом в данной проблемной области, в этом случае он обращается к ЭС за советом, не умея получить ответ сам, или быть специалистом, в этом случае он обращается к ЭС, чтобы либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу. Термин "пользователь" является многозначным, так как кроме конечного пользователя применять ЭС может и эксперт, и инженер по знаниям, и программист.
В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия:
распределяет роли участников (пользователя и ЭС) и организует их взаимодействие в процессе кооперативного решения задачи;
преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, во внутренний язык системы;
преобразует сообщения системы, представленные на внутреннем языке, в сообщения на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики).
После обработки данные поступают в РП. На основе входных данных из РП, общих данных о проблемной области и правил из БЗ решатель (интерпретатор) формирует решение задачи.
В отличие от традиционных программ ЭС в режиме решения задачи не только исполняет предписанную последовательность операций, но и предварительно формирует ее. Если ответ ЭС не понятен пользователю, то он может потребовать объяснения, как ответ получен.