Пример независимости знаний и процедур их обработки

Общие сведения об ИИС

 

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

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

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

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

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

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

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

В СОЗ:

- знания представляются в конкретной форме в БЗ, которая позволяет их легко определять, модифицировать и пополнять;

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

 

 
 

 


Рис. 1.1. Система основанная на знаниях (СОЗ)


Понятие знаний, фактов и правил

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

В СОЗ знания разделяются на:

- факты (фактические знания);

- правила (знания для принятия решений).

Под фактами подразумевают знания типа «А это А»; они характерны для БД и сетевых моделей. В рассматриваемом примере фактами являлись кортежи отношений:

имеет (КТО, ЧТО)

цена (Вещь, ЦЕНА)

Под правилом подразумеваются знания вида «ЕСЛИ – ТО». В приведенном примере это правило:

может_купить (Некто, Вещь)

Знания обычно имеют классификационную иерархическую структуру вида: «живое существо à животное à человек à мужчина à Вадим»

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

Пример независимости знаний и процедур их обработки

 

Упрощенно иллюстрацию независимости двух основных компонентов систем основанных на знаниях можно показать на примере использования языка Пролог.

Пусть имеется набор фактов, внесенных в базу:

 

имеет (иван, машину)

имеет (петр, часы)

имеет (николай, телевизор)

 

Рассмотрим различные виды запросов, которые можно вводить и получать на них ответы с использованием внутреннего механизма логического вывода Пролога. Предположим, нас интересует, что имеет Иван:

 

Запрос: ? - имеет (иван, Вещь)

Ответ: Вещь = машина

 

Если мы заполним базу еще рядом фактов

 

имеет (петр, руб.(500))

имеет (петр, телевизор)

цена (видео, 4200)

цена (приемник, 20 )

цена (часы, 70)

 

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

 

Запрос: ? - имеет (петр, Вещь)

Ответ: Вещь = часы

Вещь = руб (500)

Вещь = телевизор

 

Заметим, что имя «петр» мы вводим со строчной буквы, так как это атом; а «Вещь» является переменной и записывается с заглавной буквы.

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

Рассмотрим еще ряд примеров. Предположим, нас интересует, кто является владельцем телевизора (простой запрос)

 

Запрос: ? - имеет (Человек, телевизор)

Ответ: Человек = николай

Человек = петр

 

и может ли Петр купить видео (сложный запрос)

Запрос: ? - имеет (петр, руб (Наличные)),

цена (видео, Цена),

Наличные ≥ Цена

Ответ: ? - нет

 

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

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

 

может_купить (Некто, Вещь): имеет (Некто, руб (Наличные)),

цена (Вещь, Цена),

Наличные ≥ Цена,

Не (имеет (Некто, Вещь)).

 

Если теперь данное правило добавить в базу знаний к имеющимся там восьми фактам, то мы сможем сформулировать к базе запрос «Что может купить Петр?»:

 

Запрос: ? - может_купить (петр, Вещь)

Ответ: Вещь = приемник


Экспертные системы

 

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

Назначения ЭС и основные требования к ним

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

Если при традиционном процедурном программировании компьютеру необходимо сообщить что и как он должен делать, то общим для экспертных систем является то, что они имеют дело со сложными проблемами:

- которые недостаточно хорошо понимаются или изучены;

- для которых нет четко заданных алгоритмических решений;

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

Специфика ЭС состоит в том, что они используют:

- механизм автоматического рассуждения (вывода);

- «слабые методы», такие как поиск или эвристики.

Основными требованиями к ЭС являются:

1. использование знаний связанно с конкретной предметной областью;

2. приобретение знаний от эксперта;

3. определение реальной и достаточно сложной задачи;

4. наделение системы способностями эксперта.

Эксперты - это квалифицированные специалисты в своих областях деятельности – финансисты, экономисты, врачи, адвокаты и т.д., которые обладают общими качествами:

- имеют огромный багаж знаний о конкретной предметной области;

- имеют большой опыт работы в этой области;

- умеют точно сформулировать и правильно решить задачу.

ЭС призваны заменить специалистов в конкретной предметной области, то есть позволить решить задачу без эксперта.

 

Упрощенная структура ЭС

 

Упрошенная базовая структура ЭС имеет следующий вид (рис. 2.1):


                   
   
     
 
     
Определение, модификация и дополнение знаний
 
 
 
Ввод данных
 
Заключения, советы, объяснения
 

 

 


Рис. 2.1. Базовая структура экспертной системы.

 

Для успешного выполнения функций, возлагаемых на ЭС, необходимы:

- механизм представления знаний о конкретной предметной области и управления ими (БД и БЗ);

- механизм, который на основании имеющихся в БЗ знаний способен делать выводы;

- интерфейс для получения и модификации знаний эксперта, а также для правильной передачи ответов пользователю (пользовательский интерфейс);

- механизм получения знаний от эксперта, поддержки БЗ и при необходимости ее дополнения (модуль приобретения знаний);

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

Следует особо подчеркнуть важность механизма объяснений в составе ЭС:

- без него пользователю трудно будет понять заключение, полученное при консультации или решении какого-либо вопроса;

- этот механизм важен для эксперта, он позволяет определить, как работает система и выяснить, как используются предоставленные им знания.

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


База знаний как элемент экспертной системы

 

База знаний содержит факты и правила. Факты – это фразы без условий, они содержат утверждения, которые всегда абсолютно верны. Правила содержат утверждения, истинность которых зависит от некоторых условий, образующих тело правила.

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

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

Чем такой подход отличается от обычной методики использования БД?

Основное различие состоит в том, что БЗ обладает большими «творческими» возможностями.

Факты в БД обычно пассивны: они там либо там есть, либо их нет.

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

 

Необходимые условия представления знаний

 

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

Представление знаний изображено на рис. 2.2.

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

При проектировании модели представления знаний следует учитывать такие факторы, как:

- однородность представления и

- простота понимания

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

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

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

- модель на базе логики;

- продукционная модель;

- модель семантической сети;

- модель, основанная на использовании фреймов и др.

Иллюстрацией логической модели является приведенный выше пример.

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

Факты представляются как формулы в некоторой логике (первого или высшего порядка, многозначной, нечеткой или др.) Система знаний отображается совокупностью таких формул и, представленная в ЭВМ, она образует БЗ.

Формулы неделимы и при модификации БЗ могут лишь добавляться или удаляться.

Логические методы обеспечивают развитый аппарат вывода новых фактов из тех, которые явно представлены в БЗ.

Основным примитивом манипуляции знаниями является операция вывода.

 
 

 


Рис. 2.2. Представление знаний