Поиск химической формулы

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

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

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

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

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

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

Министерство образования Российской Федерации.

Федеральное государственное общеобразовательное учреждение высшего профессионального образования

Курсовая работа

По предмету: «Рекурсивно-логическое программирование»

На тему: «Поиск химической формулы»

2009г.

План

Введение

1. Разработка структур экспортных систем

2. Представление знаний

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

4. Структура базы знаний экспертной системы

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

6. Результат работы экспертной системы

Заключение

Список литературы

Введение

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

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

1. Разработка структур экспортных систем

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

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

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

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

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

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

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

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

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

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

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

Хорошо разработанные оболочки экспертных систем обычно содержат механизм для добавления и обновления информации в базе знаний.

2. Представление знаний

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

Экспертные системы часто создаются «инженером по знаниям» (или проектировщиками экспертных систем), которые работают с человеком-экспертом, чтобы закодировать знания эксперта в базе знаний.

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

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

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

Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций:

· Обработка данных, полученных с клавиатуры, и визуализация вводимых и выводимых данных на экране.

· Поддержка диалога между пользователем и системой.

· Распознавание ситуации непонимания между пользователем и системой.

· Обеспечение «дружественности» по отношению к пользователю.

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

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

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

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

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

4. Структура базы знаний экспертной системы

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

Все перечисленные ниже атрибуты являются необходимыми, так как ни один из них не характерен для всех формул одновременно:

1) водород;

2) кислород;

3) сера;

4) углерод;

5)кальций;

6)хлор;

7)натрий.

Каждая характеристика для конкретной формулы либо верна, либо не верна.

Для каждой формулы справедливы следующие характеристики:

Химическая формула

Характеристики

C2H5OH (спирт)

4, 1, 2

H2SO4 (серная кислота)

1, 3, 2

H2O (вода)

1, 2

CaCO3 (мел)

5, 4, 2

CO2 (оксид углерода)

4, 2

HCl (хлороводород)

1, 6

NaCl (хлорид натрия)

7, 6

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

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

domains

database

xpositive(symbol,symbol)

xnegative(symbol,symbol)

predicates

do_expert_bird.

do_consulting

ask(symbol,symbol)

helem_is(symbol)

positive(symbol,symbol)

negative(symbol,symbol)

remember(symbol,symbol,symbol)

clear_facts

goal

do_expert_bird.

clauses

do_expert_bird:-

makewindow(1,7,7," *** Экспертная система *** ",1,3,22,71),

nl,write(" ----------------------------------------------"),

nl,write(" Поиск химической формулы "),

nl,write(" "),

nl,write(" Пожалуйста отвечайте на вопросы 'yes' или 'no'. "),

nl,write(" ----------------------------------------------"),

nl,nl,

do_consulting,

write("Нажмите <SPACE>."),nl,

readchar(_),

removewindow,

exit.

do_consulting:-

helem_is(X),!,nl,

write("Химическая формула: ",X,"."),nl,

clear_facts.

do_consulting:-

nl,write("Извините, химическая формула не найдена !"),

clear_facts.

ask(X,Y):-

write(" Эксперт> Формула содержит ",Y," ?"),

readln(Reply),

remember(X,Y,Reply).

positive(X,Y):-

xpositive(X,Y),!.

positive(X,Y):-

not(negative(X,Y)),!,

ask(X,Y).

negative(X,Y):-

xnegative(X,Y),!.

remember(X,Y,yes):-

asserta(xpositive(X,Y)).

remember(X,Y,no):-

asserta(xnegative(X,Y)),

fail.

clear_facts:-

retract(xpositive(_,_)),

fail.

clear_facts:-

retract(xnegative(_,_)),

fail.

helem_is("C2H5OH (спирт)"):-

positive(helem,"углерод"),

positive(helem,"водород"),

positive(helem,"кислород"),!.

helem_is("H2SO4 (серная кислота)"):-

positive(helem,"водород"),

positive(helem,"серу"),

positive(helem,"кислород"),!.

helem_is("H2O (вода)"):-

positive(helem,"водород"),

positive(helem,"кислород"),!.

helem_is("CaCO3 (мел)"):-

positive(helem,"кальций"),

positive(helem,"углерод"),

positive(helem,"кислород"),!.

helem_is("CO2 (оксид углерода)"):-

positive(helem,"углерод"),

positive(helem,"кислород"),!.

helem_is("HCl (хлороводород)"):-

positive(helem,"водород"),

positive(helem,"хлор"),!.

helem_is("NaCl (хлорид натрия)"):-

positive(helem,"натрий"),

positive(helem,"хлор"),!.

6. Результат работы экспертной системы

логический программирование пролог интерфейс экспертный

Заключение

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

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

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

Список литературы

1. Емельянов В.А., Емельянов Б.В. Курсовое проектирование. Рекурсивно логическое программирование: разработка экспертных систем и систем принятия решений. Учебно-метод. пособие, Чуваш. Ун-т. Чебоксары, 2006.

2. Ц. Ин, Д. Соломон. Использование Турбо-Пролога: Пер. с англ.-М.:Мир, 1993.

3. И. Братко. Программирование на языке пролог для искусственного интеллекта. М.: Мир, 1990.

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


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

  • Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".

    курсовая работа [1,1 M], добавлен 18.08.2009

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

    курсовая работа [325,0 K], добавлен 04.02.2011

  • Структура типичной экспертной системы. База данных (рабочая память), её назначение. Функция getsport как экземпляр класса cSport. Алгоритм работы экспертной системы. Реализация пользовательского интерфейса. Результаты тестирования системы пользователем.

    курсовая работа [1018,8 K], добавлен 13.06.2012

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

    дипломная работа [2,4 M], добавлен 06.03.2013

  • Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".

    курсовая работа [2,2 M], добавлен 05.11.2014

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

    курсовая работа [69,6 K], добавлен 12.05.2013

  • Понятие экспертных систем, их классификация, виды и структура. Построение продукционной модели экспертной системы прогнозирования результатов сессии на основании анализа успеваемости, ее реализация в языке логического программирования Visual Prolog.

    дипломная работа [1,6 M], добавлен 25.01.2011

  • Структура экспертной системы: база знаний, механизм вывода, система пользовательского интерфейса. Анализ требований, проектирование системы "Подбор сотовых телефонов". Спецификация области, кодирование. Листинг программы, результаты тестирования.

    курсовая работа [24,5 K], добавлен 12.05.2013

  • Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.

    лабораторная работа [17,8 K], добавлен 15.01.2011

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

    презентация [169,1 K], добавлен 14.08.2013

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