Системы искусственного интеллекта. Искусственного интеллекта Понятия ии, свойства знаний
Скачать 0.75 Mb.
|
Перечень теоретических вопросов на экзамен по учебной дисциплине системы искусственного интеллекта 1. Понятия ИИ, свойства знаний. Искусственный интеллект — это искусственная система, имитирующая решение человеком сложных задач в процессе его жизнедеятельности. Центральная проблема искусственного интеллекта — это проблема представления знаний в компьютере. Доказательство теорем. Перекрывается с определенными областями математики. Связано с использованием исчисления высказываний. Модели игр. Особое внимание уделяется шахматам. Распознавание образов. Связано с распознаванием зрительных и слуховых образов. Использование естественного языка. Большое внимание уделялось системам «вопрос-ответ» и системам автоматического перевода. Робототехника. Имеет непосредственную практическую ценность. Экспертные системы. Представляют большой раздел систем искусственного интеллекта, будут подробно рассматриваться в данном курсе. Инженерия знаний. Эта область не является самостоятельной, но тесно связана, например, с экспертными системами. Знаниями принято называть хранимую (в компьютере) информацию, формализованную в соответствии с определенными структурными правилами, которую компьютер может автономно использовать при решении проблем по таким алгоритмам, как логические выводы. Знания можно разделить на факты (фактические знания), правила (знания для принятия решений) и метазнания (знания о знаниях). Внутренняя интерпретируемость. Вместе с традиционной информационной единицей элементом данных – в памяти ЭВМ можно хранить схему имен, связанных с этой единицей. Наличие схемы имен позволяет информационной системе «знать», что хранится в памяти, и уметь отвечать на запросы о содержимом БЗ. Рекурсивная структурируемость. Информационные единицы могут при необходимости расчленяться на более мелкие единицы и объединяться в более крупные. Взаимосвязь информационных единиц. Между информационными единицами возможно установление разнообразных отношений, отражающих семантику и прагматику связей, явлений и факторов. Возникновение семантического пространства. Знания не могут быть бессистемными, а должны быть взаимосвязанными и взаимозависимыми в общем для них семантическом пространстве. Структурирование знаний направлено на формирование семантического пространства. Активность знаний – определяющее свойство. С начала своего развития программирование опиралось на первичность процедур и вторичность данных, т.е. процедуры отражали способ решения задачи и активизировали необходимые данные, которые пассивно хранились. В БЗ знания являются активными, т.е. способ представления знаний, как правило, отражает способ решения задачи. Активность знаний обозначает, что мы можем получить знания, которые в явном виде в базе знаний не хранятся. 2. ОСОБЕННОСТИ ЭКСПЕРТНЫХ СИСТЕМ (ЭС) И НЕ ФОРМАЛИЗУЕМЫХ ЗАДАЧ. Экспертная система — это интеллектуальная информационная система, основанная на концепции использования базы знаний и опыта работы экспертов в определенной предметной области. Как правило, экспертная система предназначена для решения слабо формализуемых задач. Отличия экспертных систем от интеллектуальных: практическая направленность, высокая надежность, наличие реального опыта, накопленного экспертами, объяснение обоснованности предлагаемых решений, взаимодействие с пользователями разного уровня. 1) экспертные системы, используя опыт экспертов в исследуемой области, моделируют не столько саму природу предметной области, сколько механизм мышления человека применительно к решению задач в этой области; 2) экспертная система не только выполняет логические операции, но и формирует определенные рассуждения и выводы, основываясь на базе знаний, представленных отдельно от собственно программного кода на некотором специальном языке; 3) для экспертных систем основными являются эвристические методы решения задач, которые в отличие от алгоритмических не требуют полноты исходной информации, зато и не всегда гарантируют успех, а всего лишь определенную степень уверенности в том, что предлагаемое решение является верным (эвристика представляет собой некоторое знание, приобретенное но мере накопления практического опыта решения аналогичных проблем). Существует класс задач, называемых неформализованными, характеризующихся одной или несколькими из следующих особенностей: 1. алгоритм решения задачи неизвестен или не может быть использован из-за ограниченности ресурсов компьютера; 2. задача не может быть определена в числовой форме; 3. цели задачи не могут быть выражены в терминах точно определенной 3. Типы инструментальных средств разработки СИИ. 1. Системы программирования на языках высокого уровня: С++, Паскаль, Фортран, Бэйсик, Forth, Refal, SmallTalk, Лисп и др. Не ориентированы на решение задач искусственного интеллекта. Не содержат средств представления и обработки знаний. Можно выделить Лисп и SmallTalk, как наиболее удобные и широко используемые. Использование языка Лисп объясняется наличием развитых средств работы со списками и поддержкой рекурсии. 2. Системы программирования на языках представления знаний (ЯПЗ) Имеют: Средства для создания СИИ. Собственные средства представления знаний (в соответствии с определенной моделью) и поддержки логического вывода. К ЯПЗ относятся: FRL (Frame Representation Language – язык представления фреймов), KRL (Knowledge Representation Language – язык представления знаний), OPS (Official Production System), Log Lisp, Пролог и др. 3. Средства автоматизированного создания ЭС программные системы, допускающие использование нескольких моделей представления знаний, способов логического вывода и видов интерфейса, содержащие вспомогательные средства создания ЭС. Примеры: EXSYS (для создания ЭС классификационного типа), 1st-Class, Personal Consultant Plus, ПИЭС (программный инструментарий экспертных систем), GURU (интегрированная среда разработки ЭС), XiPlus, OPS5+. 4. Оболочки, или «пустые» экспертные системы готовые экспертные системы без базы знаний. Примеры: зарубежная EMYCIN (Empty MYCIN – пустой MYCIN) и отечественная Эксперт-микро, ориентированная на создание ЭС решения задач диагностики. Достоинство - простота применения – специалисту нужно только заполнить оболочку знаниями, не занимаясь созданием программ. Недостаток - возможное несоответствие оболочки разрабатываемой с ее помощью прикладной ЭС. 4. СТРУКТУРА ЭС. Решатель Решатель предназначен для того, чтобы, используя исходные данные из рабочей памяти и знания из БЗ, формировать такую последовательность правил, которые, применяясь к исходным данным, позволяют решать необходимую задачу. База данных В базе данных (рабочей памяти) хранятся исходные и промежуточные данные решаемой задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах и системах управления базами данных (СУБД) для обозначения всех данных, хранимых в системе. База знаний База знаний необходима для хранения долгосрочных данных, описывающих рассматриваемую область, и правил, описывающих необходимые действия над данными этой области. Компоненты приобретения знаний Компоненты приобретения знаний автоматизируют процессы наполнения ЭС знаниями, осуществляемый пользователем-экспертом. Эксперт высокого уровня вносит свои знания в экспертную систему, точнее, в компонент приобретения знаний. На этом компоненте в последующем и основывается весь эвристический метод решения задач. Объяснительный компонент Объяснительный компонент интерпретирует в доступную для пользователя форму методы решения задачи или принятия системой определенного решения. Кроме того, он выполняет функции объяснения порядка использования данных, необходимых для принятия решения. Это облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату. Диалоговый компонент Диалоговый компонент необходим для организации дружественного общения с пользователем, как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы. Название этого компонента говорит само за себя – он выполняет функции диалогового интерфейса. С его помощью в систему вносятся вопросы и поправки, а также визуализируются ответы. 5. Статические и динамические ЭС. Статические ЭС рассчитаны на задачи, во время решения которых условия окружения не изменяются, а динамические — на задачи, во время решений которых условия окружения могут изменяться. для реализации статической ЭС можно выделить следующие подсистемы: • базу знаний, включающую набор знаний в данной проблемной области (знания об окружении, формирующие статическую модель мира, и поведении, позволяющие принимать решения в соответствии с текущим заданием в рамках этой модели М), представленных в продукционной форме реляционной модели; • подсистему вывода на знаниях, формирующую план действий Р с помощью: — интерпретатора, реализующего итерационный логический вывод по заданной цели G с использованием знаний М из базы знаний, — рабочей памяти, хранящей исходные и промежуточные данные решаемой в данный момент задачи, — объяснительного компонента, показывающего, какие правила и в какой последовательности были использованы при выводе; • подсистему диалогового общения, обеспечивающую: — ввод целевого задания Z и сопутствующих сообщений оператором VMD на языке, близком к естественному, — преобразование задания в формальный вид Г, — вывод необходимых оператору сообщений системы R; • подсистему формирования цели, которая анализирует возможность реализации задания и вырабатывает по нему цель G, а также сообщает оператору о результатах анализа задания; • подсистему приобретения знаний, обеспечивающую накопление знаний в ручном, полуавтоматическом или автоматическом режиме. Традиционно в разработке статической ЭС участвуют эксперты, инженеры по знаниям и программисты. Для реализации динамической ЭС дополнительно к описанных подсистемам статической ЭС требуется добавить подсистемы, реагирующие на динамические изменения условий окружения и получающие результаты в реальном времени. Дополнительные подсистемы должны реализовать две функции: моделирование внешнего мира и связь с внешним окружением. В общей структурной схеме интеллектуальной системы (см. параграф 5.3) для реализации этих функций используются средства ввода (сенсоры и источники данных, получаемых вне данной ЭС, но необходимых для учета изменений условий окружения — поток С), а также средства обработки этой информации, преобразующие введенные данные разного вида в интегрированный поток I. Изменяемые знания, формируемые подсистемой приобретения знаний, обрабатывающей часть потока /, несущую информацию об изменениях окружения (/-компонент потока Мю), корректируют модель мира, находящуюся в базе знаний системы. Эти коррекции позволяют учесть динамические изменения окружения, как правило, фиксируемые в реальном времени. 6. Подсистема логического вывода(решатель). Эта подсистема управляет процессом консультации, сохраняя для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочей памяти не хватает данных. Функции: во-первых, просмотр существующих фактов и рабочей памяти и правил из базы знаний и добавление в рабочую память новых фактов; во-вторых, определение порядка просмотра и применения правил. Порядок работы: В некоторых ЭС используется прямой порядок вывода – от фактов, находящихся в рабочей памяти, к заключению. В других системах вывод осуществляется в обратном порядке: заключения просматриваются последовательно до тех пор, пока не будут обнаружены в рабочей памяти или получены от пользователя факты, подтверждающие одно из них. Два компонента : Компонент вывода просматривает имеющиеся правила и факты из рабочей памяти и добавляет в нее новые факты при срабатывании какого-либо правила. Действие этого компонента основано на применении правила вывода, именуемого "модус поненс", суть которого состоит в следующем: пусть известно, что истинно утверждение А и имеется правило вида "ЕСЛИ А, ТО В", тогда утверждение В также истинно. Управляющий компонент определяет порядок применения правил. 7. Управляющий компонент. Этот компонент определяет порядок применения правил, а также устанавливает, имеются ли еще факты, которые могут быть изменены в случае продолжения консультации. Управляющий компонент выполняет четыре функции: 1. Сопоставление образец правила сопоставляется с имеющимися фактами; 2. Выбор если в конкретной ситуации могут быть применены сразу несколько правил, то из них выбирается одно, наиболее подходящее к заданному критерию (разрешение конфликта). 3. Срабатывание если образец правила при сопоставлении совпал с какими-либо фактами из рабочего множества, то правило срабатывает. 4. Действие рабочее множество подвергается изменению путем добавления в него заключения сработавшего правила. Если в правой части правила содержится указание на какое- либо действие, то оно выполняется (как, например, в системах обеспечения безопасности информации). Интерпретатор правил работает циклически. В каждом цикле он просматривает все правила, чтобы выявить среди них те посылки, которые совпадают с известными на данный момент фактами из рабочего множества. Интерпретатор определяет также порядок применения правил. После выбора правило срабатывает, его заключение заносится в рабочее множество, и затем цикл повторяется сначала. В одном цикле может сработать только одно правило. Если несколько правил успешно сопоставлены с фактами, то интерпретатор производит выбор по определенному критерию единственного правила, которое и срабатывает в данном цикле. 8. Прямой вывод. В системах с прямым выводом по известным фактам отыскивается заключение. Например, пусть при движении автомобиля происходит снижение давления масла в двигателе. Требуется предсказать возможные последствия. Правило1. ЕСЛИ снизилось давление масла, ТО повысится трение. Правило 2. ЕСЛИ повысится трение, ТО двигатель заглохнет. 9. Обратный вывод. В системах с обратным выводом сначала выдвигается гипотеза, а от нее возвращаются назад к фактам и пытаются найти те, которые подтверждают гипотезу. Например, двигатель не заводится. По известному результату требуется найти причины. Возможные варианты правил для примера: Правило 1. ЕСЛИ вышел из строя бензонасос, ТО неисправна подсистема питания. Правило 2. ЕСЛИ неисправна подсистема питания, ТО двигатель не заводится. 10. Повышение эффективности поиска. В системах, база знаний которых насчитывает сотни правил, весьма желательным является использование какой- либо стратегии управления выводом, позволяющей минимизировать время поиска решения и тем самым повысить эффективность вывода. К числу таких стратегий относятся поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа- бета алгоритм. а) Сопоставление методов поиска в глубину и ширину. Суть поиска в глубину состоит в том, что при выборе очередной подцели в пространстве состояний предпочтение всегда, когда это возможно, отдается той, которая соответствует следующему, более детальному уровню описания задачи. Пространство состояний - это граф, вершины которого соответствуют ситуациям, встречающимся в задаче (“проблемные ситуации”), а решение задачи сводится к поиску пути в этом графе. При поиске в ширину, напротив, система проанализирует все признаки, находящиеся на одном уровне пространства состояний, и лишь затем перейдет к признакам следующего уровня детальности. б) Альфа- бета алгоритм. Задача сводится к уменьшению пространства состояний путем удаления в нем ветвей, не перспективных для поиска успешного решения. Поэтому просматриваются только те вершины, в которые можно попасть в результате следующего шага, после чего неперспективные направления исключаются из дальнейшего рассмотрения. Например, если цвет предмета, который мы ищем, не красный, то его бессмысленно искать среди красных предметов. Альфа- бета алгоритм нашел широкое применение в основном в системах, ориентированных на различные игры, например в шахматных программах. в) Разбиение на подзадачи. При такой стратегии в исходной задаче выделяются подзадачи, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Если удается правильно понять сущность задачи и оптимально разбить ее на систему иерархически связанных целей- подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален. Однако если задача является плохо структурированной, то сделать это невозможно. При сведении задачи к подзадачам производится исследовании исходной задачи с целью выделения такого множества подзадач, чтобы решение некоторого определенного подмножества этих подзадач содержало в себе решение исходной задачи. 11. Проблемы представления знаний. Проблема представления знаний заключается в несоответствии между сведениями о зависимостях данной предметной области, имеющимися у специалиста, методами, используемыми им при решении задач, и возможностями формального (однозначно- ограниченного) представления такой информации в ЭВМ. Часто проблема осложняется трудностями для эксперта по формулированию в явном виде имеющихся у него знаний. Общая проблема представления знаний включает ряд частных проблем: представление декларативных знаний как данных, наделенных семантикой (фактов); представление процедурных знаний как отношений между элементами модели, в том числе в виде процедур и функций; представление метазнаний – правил обработки фактов, способов организации логического вывода, методов решения задач пользователем, порождения новых знаний и т. д. |