- •Курсовая работа
- •Введение
- •1 Постановка задачи
- •2. Теоретическая часть
- •2.1 Структура экспертных систем
- •2.2 Представление знаний
- •2.3 Система пользовательского интерфейса
- •2.4 Экспертная система на правилах
- •3 Практическая часть
- •3.1 Определение атрибутов экспертной системы для выбора продовольственных продуктов
- •3.2 Проектирование и реализация системы, базирующейся на правилах
- •Заключение
- •Приложение а
Заключение
В результате выполнения работы, были получены навыки программирования на языке пролог, а так же получен опыт в создании и проектировании экспертных систем. Выполненная работа полностью соответствует поставленным требованиям. Экспертные системы обеспечивают точную диагностику и решение проблем, основываясь на знаниях эксперта, позволяют получить консультации людям, не имеющим профессиональных знаний в реализуемых областях. Экспертные системы способны пополнять свои знания в ходе взаимодействия с экспертом. Экспертные системы отличаются от систем обработки данных тем, что в них в основном используется символьный (а не числовой) способ представления, символьный вывод и эвристический поиск решения (а не использование известного алгоритма). Экспертные системы предназначены для так называемых неформальных задач, т.е. экспертные системы не отвергают и не заменяют традиционные подходы разработки программ, ориентированного на решение формальных задач.
Список использованных источников
Браун, Марк Р., Хоникатт Джерри. HTML 4.0.
Кейлингерт, П. Элементы операционных систем. М. Мир, 1995, 292 с.
Скляров, В.А. Применение ПЭВМ: В 3-х кн. Кн.1.Организация и управление ресурсами ПЭВМ; Кн.2.Операционные системы ПЭВМ;Кн.3.Программное и информационное обеспечение ПЭВМ. - М.: Высшая школа, 1992.
Приложение а
Листинг программы
domains
database
xpositive(symbol,symbol)
xnegative(symbol,symbol)
predicates
do_expert_job.
do_consulting
ask(symbol,symbol)
Prodykti pitani9(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,"XMI Expert-Prodykti pitani9 ",1,3,22,71),
nl,write(" ---------------------------------------------------"),
nl,write(" The Prodykti pitani9 Expert "),
nl,write(" "),
nl,write(" Answer the questions 'yes' or 'no'."),
nl,write(" ---------------------------------------------------"),
nl,nl,
do_consulting,
write("Press space bar."),nl,
readchar(_),
removewindow,
exit.
do_consulting:-
Prodykti pitani9(X),!,nl,
write("Prodykti pitani9: ",X,"."),nl,
clear_facts.
do_consulting:-
nl,write("Sorry !"),
clear_facts.
ask(X,Y):-
write(" expert> ",X," ",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.
Prodykti pitani9("M9so"):-
positive("Proisvoditel","GAZM9S"),
positive("Srok godnosti","6 mes9cev"),
positive("Data izgotovleni9","05.03.10"),
positive("Kalloriinost", "945"),!.
Prodykti pitani9("Moloko"):-
positive("Proisvoditel","Veselii molochnik"),
positive("Srok godnosti",1 god"),
positive("Data izgotovleni9","12.10.12"),
positive("Kalloriinost", "500"),!.
Prodykti pitani9("Makaroni "):-
positive("Proisvoditel","Makaronnik"),
positive("Srok godnosti","5 let"),
positive("Data izgotovleni9","01.01.01"),
positive("Kalloriinost", "300"),!.
Prodykti pitani9("9ico"):-
positive("Proisvoditel","Koko Djambo"),
positive("Srok godnosti","7 dnei"),
positive("Data izgotovleni9","01.08.12"),
positive("Kalloriinost","800"),!.
Prodykti pitani9("Pr9niki"):-
positive("Proisvoditel","OOO Mamontov"),
positive("Srok godnosti","6 mes9cev"),
positive("Data izgotovleni9","08.11.11"),
positive("Kalloriinost", "330"),!.