Системы искусственного интеллекта

Проектирование и программная реализация экспертных систем на персональных электронно-вычислительных машинах. Структура информационной среды. Описание предметной области. Алгоритм работы интеллектуального комплекса. Реализация пользовательского интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.12.2013
Размер файла 963,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Структура экспертных систем
  • 2. Описание предметной области
  • 3. Описание экспертной системы
  • 4. Алгоритм работы экспертной системы
  • 5. Реализация пользовательского интерфейса
  • Заключение
  • Список используемых источников

Введение

Интеллектуальная информационная система (ИИС) - комплекс программных, лингвистических и логико-математических средств для реализации основной задачи - осуществления поддержки деятельности человека и поиска информации в режиме продвинутого диалога на естественном языке. [1] ИИС являются разновидностью интеллектуальной системы, а также одним из видов информационных систем.

Классификация задач, решаемых ИИС:

а) интерпретация данных;

б) диагностика;

в) мониторинг;

г) проектирование;

д) прогнозирование;

е) планирование;

ж) обучение;

з) управление;

и) поддержка принятия решений.

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

Диагностика. Под диагностикой понимается процесс соотношения объекта с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. Неисправность - это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является здесь необходимость понимания функциональной структуры ("анатомии") диагностирующей системы.

Мониторинг. Основная задача мониторинга - непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы - "пропуск" тревожной ситуации и инверсная задача "ложного" срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учёта временного контекста. [2]

Проектирование. Проектирование состоит в подготовке спецификаций на создание "объектов" с заранее определёнными свойствами. Под спецификацией понимается весь набор необходимых документов: чертёж, пояснительная записка и т.д. Основные проблемы здесь - получение чёткого структурного описания знаний об объекте и проблема "следа". Для организации эффективного проектирования и в ещё большей степени перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.

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

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

Обучение. Под обучением понимается использование компьютера для обучения какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом "ученике" и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.

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

Поддержка принятия решений. Поддержка принятия решения - это совокупность процедур, обеспечивающая лицо, принимающее решения, необходимой информацией и рекомендациями, облегчающие процесс принятия решения. Эти ЭС помогают специалистам выбрать и/или сформировать нужную альтернативу среди множества выборов при принятии ответственных решений. [3]

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

1. Структура экспертных систем

Экспертная система (ЭС) - компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. [4]

Структура ЭС интеллектуальных систем представляет следующую структуру ЭС:

а) интерфейс пользователя;

б) пользователь;

в) интеллектуальный редактор базы знаний;

г) эксперт;

д) инженер по знаниям;

е) рабочая (оперативная) память;

ж) база знаний;

з) решатель (механизм вывода);

и) подсистема объяснений;

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

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

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

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

Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт "У здорового человека 2 ноги" хранится в базе знаний, а факт "У пациента одна нога" - в рабочей памяти.

База знаний ЭС создается при помощи трех групп людей:

а) эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;

б) инженеры по знаниям, являющиеся специалистами по разработке ИИС;

в) программисты, осуществляющие реализацию ЭС.

Структура экспертных систем состоит из следующих основных компонентов: решателя (интерпретатора); рабочей памяти (РП), называемой также базой данных (БД); базы знаний (БЗ); компонентов приобретения знаний; объяснительного компонента; диалогового компонента. База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

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

Размещено на http://www.allbest.ru/

Рисунок 1 - Основные компоненты ЭС

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

Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы. В разработке экспертных систем участвуют представители следующих специальностей: эксперт проблемной области, задачи которой будет решать экспертные системы; инженер по знаниям - специалист по разработке экспертных систем (используемые им технологию, методы называют технологией (методами) инженерии знаний); программист по разработке инструментальных средств, предназначенных для ускорения разработки экспертных систем. Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания экспертных систем, либо значительно удлиняет его.

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

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

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

Необходимо отметить, что в зависимости от назначения экспертных систем пользователь может не быть специалистом в данной проблемной области. В этом случае он обращается к экспертным системам за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат. Он обращается к экспертным системам с целью либо ускорить процесс получения результата, либо возложить на экспертную систему рутинную работу. В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. Экспертные системы при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее. [5]

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

Размещено на http://www.allbest.ru/

Рисунок 2 - Классификация экспертных систем

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

Согласно определению Д.А. Поспелова, "Система называется интеллектуальной, если в ней реализованы следующие основные функции:

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

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

в) общаться с человеком на языке, максимально приближенном к естественному человеческому языку;

г) получать информацию от каналов, аналогичных тем, которые использует человек при восприятии окружающего мира;

д) уметь формировать для себя или по просьбе человека (пользователя) объяснение собственной деятельности;

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

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

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

База фактов (данных) хранит конкретные данные, а база правил - элементарные выражения, называемые в теории искусственного интеллекта продукциями.

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

База закономерностей включает различные сведения, относящиеся к особенностям той среды, в которой действует система.

Рисунок 3 - Структура интеллектуальной системы

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

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

Управление всеми базами, входящими в базу знаний, и организацию их взаимодействия осуществляет система управления базами знаний. С ее же помощью реализуются связи баз знаний с внешней средой. Таким образом, машина базы знаний осуществляет первую функцию интеллектуальной системы. [6]

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

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

Блок планирования применяется в задачах планирования решений совместно с блоком дедуктивного вывода.

Назначение блока функциональных преобразований состоит в решении задач расчетно-логического и алгоритмического типов.

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

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

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

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

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

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

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

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

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

Фреймом называют структуру данных для представления и описания стереотипных объектов, событий или ситуаций. Фреймовая модель представления знаний состоит из двух частей: набора фреймов, составляющих библиотеку внутри представляемых знаний; механизмов их преобразования, связывания и т. д.

Существует два типа фреймов:

а) образец (прототип) - интенсиональное описание некоторого множества экземпляров;

б) экземпляр (пример) - экстенсиональное представление фрейм-образца.

В общем виде фрейм может быть представлен следующим кортежем: <ИФ, (ИС, ЗС, ПП), ... , (ИС, ЗС, ПП)>, где ИФ - имя фрейма; ИС - имя слота; ЗС - значение слота; ПП - имя присоединенной процедуры (необязательный параметр).

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

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

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

Формально продукция определяется следующим образом: (i); Q;P;С; QA В; N, где (i) - имя продукции (правила); Q - сфера применения правила; Р - предусловие (например, приоритетность); С - предикат (отношение); А -> В - ядро; N - постусловия (изменения, вносимые в систему правил).

Практически продукции строятся по схеме "ЕСЛИ" (причина или, иначе, посылка), "ТО" (следствие или, иначе, цель правила).

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

а) понимание и интерпретация фактов и правил с применением продукций, фреймов, семантических цепей;

б) решение задач с помощью моделирования;

в) идентификация источника данных, причин несовпадений новых знаний со старыми, получение метазнаний;

г) составление вопросов к системе;

д) усвоение новых знаний, устранение противоречий, систематизация избыточных данных. [7]

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

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

При прямом поиске пользователь может задавать две группы вопросов, на которые компьютер дает объяснения:

как получено решение. При этом компьютер должен выдать на экран трассу в виде ссылок на использованные правила;

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

Как уже отмечалось, успешное решение проблемы интеграции систем и задач автоматизированного управления производством на различных уровнях связано также с их интеллектуализацией, т. е. организацией функционирования на базе технологии инженерии знаний. Основными функциональными и организационными частями автоматизированного производства являются проектирование, планирование, организация производства и диспетчеризация, управление технологическими процессами, диагностирование, роботизация технологических участков в составе гибких производственных систем. Внедрение 1с от фирмы HOMNET - автоматизация бухгалтерского учета.

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

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

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

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

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

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

Связь с распределенной БД интегрированной системы управления производством и Интернет используется интеллектуальными системами для получения данных и знаний, рассредоточенных на различных уровнях иерархии управления. Кроме того, организуется взаимодействие с внешними базами данных и Интернет.

В задачах управления производством экспертом обычно используются три уровня знания: 'умения', соответствующие поверхностному знанию рефлекторных реакций; правила для случаев стандартных рассуждений; глубинные знания для трудных, неординарных ситуаций. При проектировании базы знаний интеллект необходимо стремиться принимать в расчет глубинные здания, чтобы создать систему, способную при поддержке решений пользователя предлагать (рекомендации, наиболее адекватные возникающим ситуациям.

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

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

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

Чтобы реализовать и представить объяснение, интеллектуальная система обычно преобразует экспертные эвристические правила в цепочку рассуждений, которая показывает, как начальное множество данных и утверждений, а также набор эвристических или иных правил при­водят систему к заключению. Это свойство интеллектуальной системы реализуется пользователем также для периодической оценки качества функционирования системы.

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

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

Структура интеллектуальной СПР в значительной мере определяется предметной экономической областью и характером решаемых задач при наличии определенных модулей, реализующих функции, определяющих систему как интеллектуальную. [8]

2. Описание предметной области

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

Вопросы предполагают только один ответ (да/нет). В последствии ответы на вопросы суммируются, и система ищет наиболее подходящее решение:

- хотели бы вы, чтобы ваш смартфон работал как можно дольше? (yes/no);

- собираетесь ли вы активно использовать мультимедийные возможности? (yes/no);

- активно ли вы пользуетесь интернет ресурсами? (yes/no);

- собираетесь ли вы пользоваться мобильным интернетом (3G)? (yes/no);

- хотите ли вы использовать смартфон вместе с домашним ТВ? (yes/no);

- собираетесь ли вы использовать смартфон в качестве GPS-навигатора? (yes/no);

- хотели бы вы иметь наибольшую диагональ экрана на вашем смартфоне? (yes/no);

- хотели бы иметь возможность подключения док-станции к вашему смартфону? (yes/no);

- устраивает ли вас 1280*720 разрешение экрана смартфона? (yes/no);

- важно ли для вас наличие на смартфоне механических кнопок? (yes/no);

Диалог пользователя с системой происходит в окне браузера. Для примера были взяты 3 модели смартфонов, от таких фирм производителей как HTC, SAMSUNG, APPLE. Выборка производится при помощи наилучших характеристик, которые отображены в специально заданных вопросах.

3. Описание экспертной системы

Реализация экспертной системы в виде программного кода.

Создадим класс questions, описывающий атрибуты предполагаемых альтернатив, определяемых по составленным вопросам:

(defclass questions)

(is-a USER)

(role concrete)

(pattern-match reactive)

(slot time (type FLOAT) (create-accessor read-write)) // Описываем параметры такие как time, multimedia, Inet и т.д.

(slot multimedia(type FLOAT) (create-accessor read-write))

(slot Inet(type FLOAT) (create-accessor read-write))

(slot mobinet(type FLOAT) (create-accessor read-write))

(slot tv(type FLOAT) (create-accessor read-write))

(slot gps(type FLOAT) (create-accessor read-write))

(slot diag(type FLOAT) (create-accessor read-write))

(slot dokstation(type FLOAT) (create-accessor read-write))

(slot resolution(type FLOAT) (create-accessor read-write))

(slot mechbuttons(type FLOAT) (create-accessor read-write))

(slot useful(type INTEGER) (create-accessor read-write)))

Defclass - конструктор, создающий пользовательский класс в CLIPS.

Определяются свойста (слоты) и поведение класса объектов (обработчики сообщений). Create-accessor в CLIPS используется для автоматического создания явных обработчиков сообщений для read/write функций слота (create-accessor read-write).

Так же используем конструктор definstances, который позволит определить объекты, которые создаются при выполнение команды reset.

(definstances questions (maxim of questions (time 0.0)(multimedia 0.0) (Inet 0.0)(mobinet 0.0)(tv0.0) (gps 0.0)(diag 0.0)(dokstation 0.0)(resolution 0.0)(mechbuttons 0.0)(useful 0)) // системный класс для добавления максимальных значений параметров (HTC of questions(time 12.0)(multimedia 4.0)(Inet 10.0)(mobinet 10.0)(tv 10.0)(gps 10.0)(diag 10.1)(dokstation 1.0)(resolution 10.0)(mechbuttons 1.0)(useful 0))(GALAXY of questions(time 7.0)(multimedia 2.0)(Inet 9.0)(mobinet 9.0)(tv 9.0)(gps 9.0)(diag 9.0)(dokstation 0.0)(resolution 9.0)(mechbuttons 0.0)(useful 0)) (IPHONE of questions(time 10.0)(multimedia 8.0)(Inet 8.0)(mobinet 8.0)(tv 8.0)(gps 8.0)(diag 8.0)(dokstation 0.0)(resolution 9.0)(mechbuttons 0.0)(useful 0)))

Создадим правило, которое запускает обработчики, производит read/write данных в файлах.

defrule rulePDA

(object(name [maxim])(time 0.0))

=>

(printout t "work" crlf)

(open "C:/clips.txt" readFile)

(if (eq 1 (read readFile)) then (send [maxim]max_time))

(if (eq 1 (read readFile)) then (send [maxim]max_multimedia))

(if (eq 1 (read readFile)) then (send [maxim]max_Inet))

(if (eq 1 (read readFile)) then (send [maxim]max_mobinet))

(if (eq 1 (read readFile)) then (send [maxim]max_tv))

(if (eq 1 (read readFile)) then (send [maxim]max_gps))

(if (eq 1 (read readFile)) then (send [maxim]max_diag))

(if (eq 1 (read readFile)) then (send [maxim]max_dokstation))

(if (eq 1 (read readFile)) then (send [maxim]max_resolution))

(if (eq 1 (read readFile)) then (send [maxim]max_mechbuttons))

(open "C:/output.txt" inFile "r+")

(printout inFile (send [HTC]get-useful) crlf)

(printout inFile (send [GALAXY]get-useful) crlf)

(printout inFile (send [IPHONE]get-useful) crlf)

(close inFile)

(close readFile))

Правила конструкции if-then служат для представления эмпирических правил, которые определяют набор действий, выполняемых при возникновение случайной ситуации. Набор правил определяется разработчиком ЭС. Правила состоят из предпосылок и следствия, предпосылки это if-часть, а then-часть следствие. Так же их часто называют левой и правой частью правила.

(defmessage-handler questions up_useful()

(bind?i (dynamic-get useful))

(dynamic-put useful (+?i 1)))

Конструктор defmessage-handler предназначен для создания обработчика сообщений, который фактически задает поведение объекта данного класса в ответ на получение определенного сообщения. Реализация сообщения представляет собой некоторую заданную последовательность действий, называемую обработчиком сообщений.

Dynamic-put, функция предназначеная для динамического изменения содержимого слотов в активном объекте. Данная функция доступна из обработчиков сообщений.

PHP реализация ЭС отображена в приложении.

4. Алгоритм работы экспертной системы

Работа с ЭС осуществляется в режиме вопрос-ответ (рисунок 4) в окне браузера.

Рисунок 4 ­ Окно интерфейса

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

Рисунок 5 - Окно вывода результата

5. Реализация пользовательского интерфейса

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

1) PHP5.

2) HTML.

Разработка производилась под операционной системой Windows 7 64bit с установленной на ней связкой Apache 1.3.33 и PHP 5.0.5.

Для связывания экспертной системы на языке CLIPS использовалось расширение для PHP Phlips версии 0.5.0.

Непосредственно интерфейс реализован на языке HTML.

Часть, отвечающая за работу с CLIPS, так же написана на PHP5.

Заключение

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

Итогом курсового проекта стало написание экспертной системы.

Для реализации экспертной системы были использованы технологии PHP5 и HTML, а также программная среда CLIPS и PHLIPS, для связи PHP5 и CLIPS.

Список используемых источников

1. [Электронный ресурс]: Интеллектуальные информационная система. - Режим доступа: http://ru.wikipedia.org/wiki/Интеллектуальная_ информационная_система.

2. Интеллектуальные информационные системы: учебное пособие/ Ю.Ю. Громов, О.Г. Иванова, и доп. - Тамбов; М.; СПб.; Баку; Вена: Изд-во "Нобелистика", 2008. - 196 с.

3. Таусенд К. Проектирование и программная реализация экспертных систем на персональных ЭВМ/ К. Таусенд, Д. Фохт. - М.: Финансы и статистика, 1990. - 320 с.

4. Сафонов В.О. Экспертные системы - интеллектуальные помощники специалистов/ В.О. Сафонов - СПб.: Знания Росси, 2007. - 373 с.

5. Григорьев Л.И. Системы искусственного интеллекта. Учебное пособие/ Л.И. Григорьев, О.А. Степанкина. - М.: РГУ нефти и газа им. И.М. Губкина, 1998. - 59 с.

6. Уотермен Д. Руководство по экспертным системам. Пер. с англ./ Д. Уотермен. - М.: Мир, 1989. - 388 с.

7. Левин Р. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрациями на Бейсике / Р. Левин, Д. Дранг, Б. Эдельсон. - М.: Финансы и статистика, 1990. - 239 с.

8. Марселлус Д. Программирование экспертных систем на Турбо-Прологе/ Д. Марселлус. - М.: Финансы и статистика, 1994. - 128 с.

9. Романов В.П. Интеллектуальные информационные системы в экономике. Учебник плехановской академии, 2005. - 143 с.

10. Балдин К.В., Уткин В.Б. Информационные системы в экономике, 5-е изд. - М.: Дашков и К, 2008. - 205 с.

11. Дубровин А.Д., Интеллектуальные информационные системы: Учебное пособие. - М.: Дубровин и К, 2008. - 485 с.

12. Андрейчиков А.В., Андрейчикова О.Н. Интеллектуальные информационные системы, Учебник. - М.: Финансы и статистика, 2004. - 424 с.

13. Гаскаров Д.В., Интеллектуальные информационные системы. Учебник для вузов. - М.: Финансы и статистика, 2007. - 432 с.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.