Экспертная система

Автор: Пользователь скрыл имя, 22 Марта 2012 в 23:40, курсовая работа

Краткое описание

Целью данной курсовой работы является разработка экспертной системы, которая в зависимости от ответов пользователя на вопросы, будет выдавать наиболее подходящий ему для занятий вид спорта.
Для достижения заданной цели поставлены следующие задачи:
• изучение языка CLIPS;
• изучение особенностей создания интерфейсов средствами HTML, РНР, Java Script CSS.

Оглавление

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

Файлы: 1 файл

Курсовая работа экспертная система.doc

— 1.14 Мб (Скачать)

 

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

      Возможность применения в качестве интеллектуальной обучающей программы. Экспертная система может действовать в качестве интеллектуальной обучающей программы, передавая учащемуся на выполнение примеры программ и объясняя, на чем основаны рассуждения системы.[8]

 

Общие понятия экспертных систем.

 

Знания могут быть представлены в экспертной системе многими способами. Одним из широко применяемых методов представления знаний являются правила в форме IF-THEN, как показано ниже.

IF горит красный свет THEN стоять.

Если обнаруживается факт, что на светофоре горит красный свет, то этот факт согласуется с шаблоном «на светофоре горит красный свет». Условие правила удовлетворяется и выполняется обусловленное в нем действие «стоять».

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

Название языка CLIPS – аббревиатура от C Language Integrated Production System. Язык был разработан  в центре космических исследований NASA  в середине 1980-х годов и во многом сходен с языками, созданными на базе LIPS. Использование C в качестве языка реализации объясняется тем, что компилятор LISP не поддерживается частью распространенных платформ, а также сложностью интеграции LISP-кода в приложения, которые используют отличный от LIPS язык программирования. Хотя в то время на рынке уже появились программные средства для задач искусственного интеллекта, разработанные на языке C, специалисты из NASA решили создать такой продукт самостоятельно. Разработанная ими система в настоящее время доступна во всем мире, и нужно сказать, что по своим возможностям она не уступает множеству гораздо более дорогих коммерческих  продуктов.

Первая версия представляет собой, по сути, интерпретатор порождающих правил. Процедурный язык и объективно-ориентированное расширение CLIPS Object-Oriented Language {COOL} были включены в этот программный продукт только в 1990-х годах. Существующая  в настоящее время версия может эксплуатироваться на платформах UNIX, DOS, Windows и Macintosh. Она является хорошо документированным общедоступным программным продуктом и доступна по сети FTR с множества университетских сайтов. Исходный код программного пакета CLIPS распространяется совершенно свободно и его можно установить на любой платформе.

Основными компонентами языка описания правил являются база фактов (fact base) и база правил (rule base). На них возлагаются следующие функции:

      база фактов представляет собой исходное состояние проблемы;

      база правил содержит операторы, которые преобразуют состояние

проблемы, приводя его к решению.

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

      сопоставление фактов и правил;

      выбор правила, подлежащего активизации;

      выполнение действий, предписанных правилом.

Такой трехшаговый циклический процесс иногда называют «циклом распознавание – действие».

 

 

 

 

 

 

   2. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

 

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

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

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

системы вентиляции;

кондиционеры и сплит-системы;

очистители воздуха;

увлажнители воздуха;

осушители воздуха;

обогреватели и тепловое оборудование.

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

Однако свое триумфальное шествие по свету кондиционер начал только в середине сороковых годов, после создания первых портативных систем, рассчитанных на одно помещение. Выпуск этих кондиционеров, позже получивших название оконных, был налажен сначала в США, а затем в Европе и Японии. В те времена это был огромный шаг вперед.

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

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

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

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

 

 

 

 

   3. ОПИСАНИЕ экспертной системы

 

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

Использование объектно-ориентированных средств в CLIPS позволяет значительно упростить программирование.

Класс «Vid» наследует информацию от системного класса USER.

Класс «cConds» в свою очередь наследует информацию от класса «Vid».

В языке CLIPS предусмотрена возможность определять классы, используемые только для наследования. Такие классы называются абстрактными классами. Создание экземпляров абстрактных классов невозможно. По умолчанию классы являются конкретными. Для указания на то, должен ли класс быть абстрактным (abstract) или конкретным (concrete), применяется атрибут класса role. Ат­рибут класса role должен быть указан после атрибута класса is-а, но перед любыми определениями слотов, например.

Класс «Vid» имеет атрибут role равный abstract, Класс «cConds»  – concrete.

Управление доступом к слоту обеспечено с помощью атрибута слота – create-accessor. Ему присвоено значение read-write, обеспечивающий доступ к слоту для чтения и записи.

Атрибутом default задается значение слота по умолчанию, для класса «Vid» это значение является идентификатором ответа.

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

Язык CLIPS позволяет определять новые функции по такому же принципу, как и в других процедурных языках. Новые функции определяются с использованием конструкции deffunction.

Созданная функция «conds», при своем вызове из файла tabl.php с помощью функции clips_function_call(), принимает на вход параметр «?vid», являющийся идентификатором ответа, и с помощью команды make-instance создает экземпляр класса «cConds».

С помощью конструкции

switch ?vid

        (case …))))

        …

        (case …))))

        (case …))))

и обработчиков сообщение get-, put-, вызываемых командой send, организовано присвоение слоту score класса «cConds» значения идентификатора следующего вопроса – оно и является выходным значением функции «conds». В дальнейшем это вычисленное значение идентификатора определяет, какой из возможных вопросов, с вариантами ответов, выводится на экран.[1][2]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   4. АЛГОРИТМ РАБОТЫ ЭКСПЕРТНОЙ СИСТЕМЫ

 

Когда вызывается функция «conds» с соответствующим параметром, в ней создаётся объект класса «cConds», который наследует класс с идентификаторами ответов – «Vid», далее в зависимости от того, какие значения имеют параметры в слоте score класса «cConds», функции присваивается определенной значение.

Ниже представлены блок – схемы работы экспертной системы.

Блок схема работы экспертной системы представлена в приложении Б.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

1. База знаний (БЗ).

2. Механизм вывода (МВ).

3. Система пользовательского интерфейса (СПИ).

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

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

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

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

Система интерфейса с пользователем должна эффективно обрабатывать ввод и

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

 

Наконец, система пользовательского интерфейса должна быть «дружелюбной» к пользователю.[9]

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

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

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

Непосредственно интерфейс реализован на языке HTML, для визуального оформления применены CSS.

Серверная часть, отвечающая за работу с CLIPS и бизнес-логику написана на PHP. Для навигации также используется PHP.

Информация о работе Экспертная система