Интеллектуальные системы © А.А.Усольцев,
Введение в искусственный интеллект Понятия «Интеллектуальные системы» и «искусственный интеллект» Направления развития искусственного интеллекта Понятия «Данные» и «знания». И их классификация. Модели представления знаний Понятия «Интеллектуальные системы» и «искусственный интеллект» Интеллектуальные системы и технологии применяются для тиражирования профессионального опыта и решения сложных научных, производственных и экономических задач, например, анализ инвестиций, планирование рекламной кампании, прогнозирование рынка и.т.д. «Искусственный интеллект»- это одно из направлений информатики, цель которого разработка аппаратно-программных средств, позволяющих пользователю – непрограммисту ставить и решать свои задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка. © А.А.Усольцев,
Направления развития искусственного интеллекта - Игры и творчество -Разработка естественно-языковых интерфейсов и машинный перевод -Распознавание образов -Новые архитектуры компьютеров -Интеллектуальные роботы -Специальное программное обеспечение - Обучение и самообучение
Понятия «данные» и «знания» При изучении интеллектуальных систем традиционно возникает вопрос- что же такое знания и чем они отличаются от обычных данных, десятилетиями обрабатываемых ЭВМ. «Данные- это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а также их свойства». При обработке на ЭВМ данные трансформируются, условно приходя следующие этапы: данные как результат измерений и наблюдений данные на материальных носителях информации(таблицы, протоколы, справочники) модели(структуры) данных в виде диаграмм, графиков, функции данные в компьютере на языке описания данных базы данных на машинных носителях. Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе выполнения какой-либо практической деятельности. «Знания –это выявленные закономерности предметной области(принципы, связи, законы), позволяющие решать задачи в этой области». При обработки на ЭВМ знания трансформируются аналогично данным: -знания в памяти человека как результат мышления -материальные носители знаний(учебники, методические пособия)
-поле знаний- условное описание основных объектов предметной области, их атрибутов и закономерностей. -знания, описанные на языках представления знаний ( продукционные языки, и.т.д.) -базы знаний- основа любой интеллектуальной системы Знания могут быть классифицированы по следующим категориям: поверхностные- знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области; глубинные –абстракции, аналогии, схемы, отражающие структуру и процессы в предметной области; Также знания можно разделить на процедурные и декларативные. *процедурные знания, т.е.знания, «растворенные» в алгоритмах, они управляли данными; *декларативные знания, т.е. предложения, записанные на языках представления знаний, приближенных к естественному и понятных неспециалистам; Существуют десятки моделей представления знаний для различных предметных областей: -продукционные; -семантические сети; - фреймы; -формальные логические модели. Понятия «данные» и «знания». И их классификация.
Модели представления знаний «Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если(условие),то (действие).» Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием- действия, выполняемые при успешном исходе поиска. Программа, управляющая перебором правил, называется машиной вывода. Вывод бывает прямой( от данных к поиску цели) или обратный(от цели для ее подтверждения – к данным). Например :Имеется фрагмент базы знаний из двух правил: П1: Если "отдых летом" и "человек активный", то "ехать в горы". П2: Если "любит солнце", то "отдых летом". Предположим, в систему поступили данные "человек активный" и "любит солнце". Прямой вывод исходя из данных, получить ответ. 1-й проход. Шаг 1. Пробуем П1, не работает (не хватает данных "отдых летом"). Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых летом". 2-й проход. Шаг 3. Пробуем П1, работает, активируется цель "ехать в горы», которая и выступает как совет, который дает ЭС.
Модели представления знаний Обратный вывод подтвердить выбранную цель при помощи имеющихся правил и данных. 1-й проход. Шаг 1. Цель "ехать в горы": пробуем П1 данных "отдых летом" нет, они становятся новой целью, и ищется правило, где она в правой части. Шаг 2. Цель "отдых летом": правило П2 подтверждает цель и активирует ее. 2-й проход. Шаг 3. Пробуем П1, подтверждается искомая цель. Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода. Термин «Семантическая» означает смысловая, а сама «семантика»- наука определяющая смысл знаков. Семантическая сеть- это ориентированный граф, вершины которого- понятия, а дуги – отношения между ними. Понятиями обычно выступают абстрактные или конкретные объекты, а отношения - это связи типа: «это» ( is), «имеет частью»(has part), «принадлежит», «любит». Характерной особенностью семантических сетей является обязательное наличие трех типов отношений: класс-элемент класса свойство- значение пример элемента класса.
Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений: однородные (с единственным типом отношений); неоднородные (с различными типами отношений). По типам отношений: бинарные (в которых отношения связывают два объекта); парные (в которых есть специальные отношения, связывающие более двух понятий). Наиболее часто в семантических сетях используются следующие отношения: связи типа "часть-целое" (класс-подкласс, элемент-множество и т.п.); функциональные связи (определяемые обычно глаголами "производит", "влияет"...); количественные (больше, меньше, равно...); пространственные (далеко от, близко от, за, под, над...); временные (раньше, позже, в течение...); атрибутивные связи (иметь свойство, иметь значение...); логические связи (и, или, не) и др. Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу. Модели представления знаний
Основное преимущество этой модели в соответствии современным представлениям об организации долговременной памяти человека. Недостаток модели –сложность поиска вывода на семантической сети. Для реализации семантических сетей существуют специальные сетевые языки, например NET и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний-PROSPECTOR, CASNET, TORUS. Фреймы «Фрейм»(англ.Frame-каркас или рамка)предложен М.Минским в 70-е гг. как структура знаний для восприятия пространственных сцен. Так же «Фреймом» называется и формализованная модель для отображения образа. Например: Изображена семантическая сеть. В качестве вершин- понятия: Человек, Иванов, Волга, Автомобиль, Вид транспорта, Двигатель. Модели представления знаний
Различают фреймы-образцы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных. Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через: фреймы-структуры, для обозначения объектов и понятий(заем, залог) фреймы-роли(менеджер, кассир) фреймы-сценарии(банкротство, собрание акционеров) фреймы-ситуации(тревога, авария)и др. Например: в сети фреймав понятие "ученик" наследует свойства фреймав "ребенок" и "человек", которые находятся на более высоком уровне иерархии. Так, на вопрос: "Любят ли ученики сладкое?" Следует ответ: "Да", так как этим свойством обладают все дети, что указано во фрейме "ребенок".Наследование свойств может быть частичным, так, возраст для учеников не наследуется из фрейма "ребенок",поскольку указан явно в своем собственном фрейме. 4. Модели представления знаний
Основным преимуществом фреймав как модели представления знаний является способность отражать концептуальную основу организации памяти человека, а также ее гибкость и наглядность. Специальные языки представления знаний в сетях фреймав FRL (Frame Representation Language) и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фрейма- ориентированные экспертные системы, как ANALYST, МОДИС. Формальные логические модели Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов I порядка, когда предметная область или задача описывается в виде набора аксиом. Мы же опустим описание этих моделей по следующим причинам. Исчисление предикатов I порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основном в исследовательских "игрушечных" системах,так как предъявляет очень высокие требования и ограничения к предметной области. В промышленных же экспертных системах используются различные ее модификации и расширения, изложение которых выходит за рамки данного учебника. Модели представления знаний
Экспертные системы: структура и классификация Обобщенная структура экспертной системы. Основные понятия и определения «Экспертные системы»(ЭС)-это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей. Структура экспертной системы. Следует учесть, что реальные экспертные системы могут иметь более сложную структуру, однако блоки непременно присутствуют в любой действительно экспертной системы.
Основные понятия и определения Пользователь специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС. Инженер по знаниям специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Интерфейс пользователя комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов. База знаний (БЗ) ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому "человеческому" представлению существует БЗ во внутреннем "машинном" представлении. Решатель программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Подсистема объяснений программа, позволяющая пользователю получить ответы на вопросы: "Как была получена та или иная рекомендация?" и "Почему система приняла такое решение?" Интеллектуальный редактор БЗ программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок ("help" режим) и других сервисных средств, облегчающих работу с базой.
Классификация экспертных систем Экспертные системы по задаче по связи с реальным временем по типу ЭВМ по степени интеграции интерпретация данных диагностика мониторинг проектирование прогнозирование планирование обучение статические квазидинамические динамические на суперЭВМ на ЭВМ средней производительности на символьных процессорах на мини –и супермини-ЭВМ на ПЭВМ автономные гибридные (интегрирова нные)
Классификация по решаемой задаче Интерпретация данных. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных Диагностика. Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность это отклонение от нормы. Важной спецификой является необходимость понимания функциональной структуры ("анатомии") диагностирующей системы. Мониторинг. Основная задача мониторинга непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Проектирование. Проектирование состоит в подготовке спецификаций на создание "объектов" с заранее определенными свойствами.. Для организации эффективного проектирования и, в еще большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров "подгоняются" под заданную 1 ситуацию. Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. Обучение. Системы обучения диагностируют ошибки при изучении какой- либо дисциплины с помощью ЭВМ и подсказывают правильные решения.
Классификация по связи с реальным временем Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Статические Э С разрабатываются в предметных областях,в которых база знаний и интерпретируемые данные не меняются во времени Они стабильны. Классификация по типу ЭВМ ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, GRAY др.); ЭС на ЭВМ средней производительности (типа ЕС ЭВМ); ЭС на символьных процессорах и рабочих станциях (SUN,APOLLO); ЭС на мини- и супермини-ЭВМ (VAX, micro-VAX) ЭС на персональных компьютерах (IВМ РС, МАС II).
Классификация по степени интеграции с другими программами Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически "экспертных" задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т.д.). Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний
Традиционные языки программирования В эту группу инструментальных средств входят традиционные языки программирования (С, C++, Basic, SmallTalk, Fortran и т.д.), ориентированные в основном на численные алгоритмы и слабо подходящие для работы с символьными и логическими данными. Поэтому создание систем искусственного интеллекта на основе этих языков требует большой работы программистов. Однако большим достоинством этих языков является высокая эффективность, связанная с их близостью к традиционной машинной архитектуре. Кроме того, использование традиционных языков программирования позволяет включать интеллектуальные подсистемы (например, интегрированные экспертные системы) в крупные программные комплексы общего назначения. Среди традиционных языков наиболее удобными считаются объектно-ориентированные (SmallTalk, C++). Это связано с тем, что парадигма объектно-ориентированного программирования тесно связана с фреймавой моделью представления знаний. Кроме того, традиционные языки программирования используются для создания других классов инструментальных средств искусственного интеллекта. Инструментальные средства построения экспертных систем
Универсальность этих языков меньшая, нежели традиционных языков, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями по работе с символьными и логическими данными, что крайне важно для задач искусственного интеллекта. Специальный программный инструментарии. В эту группу программных средств искусственного интеллекта входят специальные инструментарии общего назначения. Как правило, это библиотеки и надстройки над языком искусственного интеллекта Лисп: KEE (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Represantation Language), ARTS и др. позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, нежели это возможно в обычных языках искусственного интеллекта. "Оболочки" Под "оболочками'" (shells) понимают "пустые" версии существующих экспертных систем, т.е. готовые экспертные системы без базы знаний. Примером такой оболочки может служить EMYCIN (Empty MYCIN пустой MYCIN),которая представляет собой незаполненную экспертную систему MYCIN. Достоинство оболочек в том, что они вообще не требуют работы программистов для создания готовой экспертной системы. Требуется только специалист(ы) в предметной области для заполнения базы знаний. Языки искусственного интеллекта Это прежде всего Лисп (LISP) и Пролог (Prolog) наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта. Есть и менее распространенные языки искусственного интеллекта, например РЕ ФАЛ, разработанный в России
Основные этапы разработки экспертных систем Разработка программных комплексов экспертных систем как за рубежом, так и в нашей стране находится на уровне скорее искусства, чем науки. Это связано с тем, что долгое время системы искусственного интеллекта внедрялись в основном во время фазы проектирования, а чаще всего разрабатывалось несколько прототипных версий программ, прежде чем был получен конечный продукт. Такой подход действует хорошо в исследовательских условиях, однако в коммерческих условиях он является слишком дорогим, чтобы оправдать коммерчески жизненный продукт. Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии, можно разделить на шесть более или менее независимых этапов практически не зависимых от предметной области.
Последовательность этапов дана для общего представления о создании идеального проекта. Конечно, последовательность эта не вполне фиксированная. В действительности каждый последующий этап разработки ЭС приносит новые идеи, которые могут повлиять на предыдущие решения и даже привести к их переработке. В целом за разработку экспертных систем целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки информации, например: информационный поиск; сложные расчеты; графика; обработка текстов. Решение таких задач, во-первых, подготавливает высококвалифицированных специалистов по информатике, необходимых для создания интеллектуальных систем, во-вторых, позволяет отделить от экспертных систем не экспертные задачи. ЭТАПЫ РАЗРАБОТКИ
Заключение Благодаря интеллектуальным системам, пользователь, применяя их(системы), сможет получать сведения на основе обработки данных, различными методами, которые даже подходят для простых людей, не имея определенного знания в этой области. © А.А.Усольцев,