Автор работы: Пользователь скрыл имя, 21 Мая 2012 в 16:26, курс лекций
Целью изучения дисциплины является подготовка специалистов в области автоматизации сложноформализуемых задач, которые до сих пор считаются прерогативой человека. Задачей изучения дисциплины является приобретение знаний о способах мышления человека, а так же о методах их реализации на компьютере.
Основным предметом изучения дисциплины являются мыслительные способности человека и способы их реализации техническими средствами.
Лекция 1. Введение в интеллектуальные системы
1.1. Основные понятия и определения
1.2. Область применения
1.3. Краткий исторический обзор развития работ в области ИИ.
1.4. Функциональная структура использования СИИ.
Лекция 2. Разработка систем, основанных на знаниях
2.1. Предметные области для Экспертных систем
2.2. Обобщенная структура ЭС. Основные понятия и определения.
2.3. Классификация ЭС
2.4. Инструментальные средства построения ЭС
Лекция 3. Теоретические аспекты инженерии знаний.
3.1. Стратегии получения знаний
3.2. Теоретические аспекты структурирования знаний
Проектирование. Проектирование состоит в подготовке спецификаций на создание "объектов" с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов — чертеж, пояснительная записка и т.д. Основные проблемы здесь — получение четкого структурного описания знаний об объекте и проблема "следа". Для организации эффективного проектирования и, в еще большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.
(Н-р:
• проектирование конфигураций ЭВМ VAX
— 11/780 в системе XCON (или R1), проектирование
БИС — CADHELP; • синтез электрических цепей
— SYN и др.)
Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров "подгоняются" под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
(Н-р:
• предсказание погоды — система WILLARD;
• оценки будущего урожая — PLANT; • прогнозы
в экономике — ECON и др.)
Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
(Н-р:
• планирование поведения робота — STRIPS;
• планирование промышленных заказов
— ISIS; • планирование эксперимента —
MOLGFN и др.)
Обучение. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом "ученике" и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
(Н-р:
• обучение языку программирования Лисп
в системе "Учитель Лиспа"; • система
PROUST — обучение языку Паскаль и др.)
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в следующем: если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально строится из решений компонентов или подпроблем. Задача анализа — это интерпретация данных, диагностика; к задачам синтеза относятся проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
(Н-р: Диагностика неисправностей в автомобиле.)
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
(Н-р:
Микробиологические ЭС, в которых снимаются
лабораторные измерения с технологического
процесса один раз в 4 - 5 ч (производство
лизина, например) и анализируется динамика
полученных показателей по отношению
к предыдущему измерению.)
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с
(Н-р:
Управление гибкими производственными
комплексами, мониторинг в реанимационных
палатах и т.д. Пример инструментария для
разработки динамических систем — G2)
На сегодняшний день существуют:
• ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и др.);
• ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe);
• ЭС на символьных процессорах и рабочих станциях (SUN, APOLLO);
• ЭС на мини- и супермини-ЭВМ (VAX, micro-VAX и др.);
• ЭС на персональных компьютерах (IBM PC, MAC II и подобные).
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически "экспертных" задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т.д.).
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря
на внешнюю привлекательность
В эту группу инструментальных средств входят традиционные языки программирования (С, C++, Basic, SmallTalk, Fortran и т.д.), ориентированные в основном на численные алгоритмы и слабо подходящие для работы с символьными и логическими данными. Поэтому создание систем искусственного интеллекта на основе этих языков требует большой работы программистов. Однако большим достоинством этих языков является высокая эффективность, связанная с их близостью к традиционной машинной архитектуре. Кроме того, использование традиционных языков программирования позволяет включать интеллектуальные подсистемы (например, интегрированные экспертные системы) в крупные программные комплексы общего назначения. Среди традиционных языков наиболее удобными считаются объектно-ориентированные (SmallTalk, C++). Это связано с тем, что парадигма объектно-ориентированного программирования тесно связана с фреймовой моделью представления знаний. Кроме того, традиционные языки программирования используются для создания других классов инструментальных средств искусственного интеллекта.
Это прежде всего Лисп (LISP) и Пролог (Prolog) [8] — наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта. Есть и менее распространенные языки искусственного интеллекта, например РЕ ФА Л, разработанный в России. Универсальность этих языков меньшая, нежели традиционных языков, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями по работе с символьными и логическими данными, что крайне важно для задач искусственного интеллекта. На основе языков искусственного интеллекта создаются специализированные компьютеры (например, Лисп-машины), предназначенные для решения задач искусственного интеллекта. Недостаток этих языков — неприменимость для создания гибридных экспертных систем.
В эту группу программных средств искусственного интеллекта входят специальные инструментарии общего назначения. Как правило, это библиотеки и надстройки над языком искусственного интеллекта Лисп: КЕЕ (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Represantation Language), ARTS и др. [1,4,7,8,10], позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, нежели это возможно в обычных языках искусственного интеллекта.
Под "оболочками" (shells) понимают "пустые" версии существующих экспертных систем, т.е. готовые экспертные системы без базы знаний. Примером такой оболочки может служить EMYCIN (Empty MYCIN — пустой MYCIN) [8], которая представляет собой незаполненную экспертную систему MYCIN. Достоинство оболочек в том, что они вообще не требуют работы программистов для создания готовой экспертной системы. Требуется только специалисты) в предметной области для заполнения базы знаний. Однако если некоторая предметная область плохо укладывается в модель, используемую в некоторой оболочке, заполнить базу знаний в этом случае весьма не просто.
Существует несколько стратегий получения знаний. Наиболее распространенные:
• приобретение;
• извлечение;
• формирование.
Под приобретением
знаний
понимается способ автоматизированного
построения базы знаний посредством диалога
эксперта и специальной программы (при
этом структура знаний заранее закладывается
в программу). Эта стратегия требует существенной
предварительной проработки предметной
области. Системы приобретения знаний
действительно приобретают готовые
фрагменты знаний в соответствии со
структурами, заложенными разработчиками
систем. Большинство этих инструментальных
средств специально ориентировано на
конкретные экспертные системы с жестко
обозначенной предметной областью
и моделью представления знаний, т.е.
не являются универсальными. Например,
система TEIRESIAS, ставшая
прародительницей всех
инструментариев для
приобретения знаний,
предназначена для пополнения
базы знаний системы MYCIN
или ее дочерних ветвей, построенных на "оболочке"
EMYCIN в области медицинской диагностики
с использованием продукционной
модели представления
знаний.
Термин извлечение знаний касается непосредственного живого контакта инженера по знаниям и источника знаний. Авторы склонны использовать этот термин как более емкий и более точно выражающий смысл процедуры переноса компетентности эксперта через инженера по знаниям в базу знаний экспертной системы.
Термин формирование знаний традиционно закрепился за чрезвычайно перспективной и активно развивающейся областью инженерии знаний, которая занимается разработкой моделей, методов и алгоритмов анализа данных для получения знаний и обучения. Эта область включает индуктивные модели формирования гипотез на основе обучающих выборок, обучение по аналогии и другие методы.
Таким образом, можно выделить три стратегии проведения стадии получения знаний при разработке экспертных систем (рис. 3.1).
На
современном этапе разработки экспертных
систем в нашей стране стратегия
извлечения знаний, по-видимому, является
наиболее актуальной, поскольку
промышленных систем приобретения
и формирования знаний на отечественном
рынке программных средств
практически нет.
Извлечение знаний - то процедура взаимодействия эксперта с источником знаний, в результате которой становятся явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.
Рис. 3.1. Три стратегии получения знаний
В настоящее время большинство разработчиков экспертных систем отмечают, что процесс извлечения знаний остается самым "узким" местом при построении промышленных систем.
Процесс
извлечения знаний - это
длительная и трудоемкая процедура, в
которой инженеру по знаниям,
вооруженному специальными
знаниями по когнитивной психологии (—
раздел психологии, изучающий когнитивные,
т. е. познавательные, процессы человеческого сознания. Исследования в этой области
обычно связаны с вопросами памяти, внимания, чувств, представления
информации, логического мышления, воображения, способности к принятию решений. Многие положения когнитивной
психологии лежат в основе современной психолингвистики), системному
анализу, математической логике и пр.,
необходимо воссоздать модель предметной
области, которой пользуются эксперты
для принятия решения. Часто
начинающие разработчики
экспертных систем,
желая избежать этой
мучительной процедуры,
задают вопрос: может
ли эксперт сам извлечь
из себя знания? По многим причинам это нежелательно.
Информация о работе Лекции по "Системам искусственного интеллекта"