Разработка базы данных с применением выбранной модели представления знаний и системы пользовательского интерфейса. Определение системы логического вывода. Спецификация составных частей программы. Обзор основных используемых приёмов и методов обработки.
Аннотация к работе
Экспертная система - это программа, которая ведет себя подобно эксперту в некоторой проблемной области. Часто от экспертной системы требуют, чтобы она могла работать с неточной и неполной информацией. Для того, чтобы построить экспертную систему необходимо создать механизмы, обеспечивающие выполнение следующих функций: решение задач, взаимодействие с пользователем и работа в условия неопределенности. Типичные применения экспертных систем включает в себя такие задачи, как медицинская диагностика, локализация неисправностей в оборудовании и интерпретация результатов измерений. Часто к экспертным системам предъявляют дополнительное требование - способность иметь дело с неопределенностью и неполнотой.Требуется разработать программу, отвечающую некоторым требованиям экспертной системы. Программа выступает в роли эксперта - грибника. Программа должна реализовать опрос консультирующегося человека по данной теме при помощи вопросов и предлагая следующий состав ответов на поставленный вопрос(1-“да”;2-“нет”;3-“не уверен”). К требованию также относится то, что одинаковые грибы могут иметь разный набор характеристик, а разные грибы не могут иметь одинаковый набор характеристик. При ответе на вопрос “да” программа продолжает опрашивать характеристики текущего гриба.Predicates rule(RNO,GATE,GATE,Cond) Clauses rule(1,"Гриб","Рыжик сосновый",[10,20,90,120,160,190,200,210,230,250,310,340]). rule(211,"Гриб","Рыжик",[30,90,120,160,190,200,210,230,250,310,340]). rule(2,"Гриб","Рыжик еловый",[10,15,90,120,160,180,200,225,230,250,310,340]). rule(3,"Гриб", "Груздь настоящий(Сырой)", [30,50,90,130,155,175,190,205,220,230,280,310,340]). rule(4,"Гриб","Груздь желтый", [30,50,90,110,155,175,190,205,220,230,280,310,340]). rule(5,"Гриб","Груздь дубовый", [30,55,90,110,155,170,190,205,220,230,290,310,330]). rule(6,"Гриб","Груздь осиновый", [30,58,90,130,155,175,190,205,220,230,260,280,310,340]). rule(7,"Гриб","Груздь черный(Чернуха или цыган)",[30,50,90,140,155,175,190,205,220,230,300,310,340]). rule(8,"Гриб","Лисичка настоящая", [10,15,70,110,160,190,230,260,300,310,330]). rule(9,"Гриб","Лисичка настоящая", [30,70,110,160,190,230,260,300,310,330]). rule(10,"Гриб","Лисичка настоящая", [10,15,70,110,160,190,230,260,300,325,330]). rule(11,"Гриб","Лисичка настоящая", [30,70,110,160,190,230,260,300,325,330]). rule(12,"Гриб","Лисичка желтеющая", [10,20,65,140,160,190,230,260,290,325,330]). rule(13,"Гриб","Волнушка розовая(волжанка)",[30,50,80,100,155,170,180,220,230,260,290,310,340]). rule(14,"Гриб","Волнушка розовая(волжанка)",[40,80,100,155,170,180,220,230,260,290,310,340]). rule(15,"Гриб","Волнушка белая(Белянка)(Белянка пушистая)",[30,50,80,130,155,170,180,220,230,260,290,310,340]). rule(16,"Гриб","Волнушка белая(Белянка)(Белянка пушистая)",[40,80,130,155,170,180,220,230,260,290,310,340]). rule(17,"Гриб","Сыроежка сереющая",[10,20,70,120,170,205,230,270,290,320,330]). rule(18,"Гриб","Сыроежка сереющая",[10,20,70,140,170,205,230,270,290,320,330]). rule(19,"Гриб","Сыроежка родственная",[10,70,130,170,205,230,270,300,320,330]). rule(20,"Гриб","Сыроежка родственная",[10,70,140,170,205,230,270,300,320,330]). Cond(10,"Растет в хвойных лесах",1). Cond(20,"Растет в сосновых лесах",2). Cond(15,"Растет в еловых лесах",2).Исследуемая область - грибы. Применение области - определение грибов по их признакам, для того чтобы быть уверенным, что это за гриб. Все грибы разделены по признакам.Рассмотрим случаи вычисления вероятностей: Допустим, мы ответили “не уверен” на вопрос типа N, колво вопросов которого равно двум. Если мы ответили “не уверен” на вопрос типа N, колво вопросов которого равно десяти, то вероятность будет равна 90%. Если мы ответим еще раз “не уверен” на вопрос типа M, колво вопросов которого равно 10, то вероятность будет равна 81%. И получается вопросы, которые уточняют - где растет гриб, играют более важную роль в определении гриба, чем вопросы, которые уточняют цвет гриба. При ответе на вопрос “не уверен” в динамическую базу данных neuveren() помещаются номера всех вопросов данного типа, а в базы данных no() и yes() ничего не заносится.My_menu - предикат предназначен для прорисования меню и ждет, какой пункт меню выбран Init(integer,integer,integer,integer) - предикат для инициализации, какая клавиша нажата и если это клавиша вверх или вниз, то выполнение соответствующих действий. Первый параметр содержит код нажатой клавиши, второй содержит текущий пункт, третий возвращает следующий пункт, последний параметр содержит количество пунктов в меню. Readkey(integer,integer,integer,integer) - пре
План
Содержание
Введение
1. Разработка экспертной системы “ Грибы”
1.1 Постановка задачи
1.2 Проектирование
1.3 Спецификация области
1.4 Структура логической программы
2. Кодирование
Заключение
Список литературы
Приложения
Введение
Экспертная система - это программа, которая ведет себя подобно эксперту в некоторой проблемной области. Она должна иметь способность к объяснению своих решений и тех рассуждений, на основе которых эти решения были приняты.
Часто от экспертной системы требуют, чтобы она могла работать с неточной и неполной информацией.
Для того, чтобы построить экспертную систему необходимо создать механизмы, обеспечивающие выполнение следующих функций: решение задач, взаимодействие с пользователем и работа в условия неопределенности. Типичные применения экспертных систем включает в себя такие задачи, как медицинская диагностика, локализация неисправностей в оборудовании и интерпретация результатов измерений.
Часто к экспертным системам предъявляют дополнительное требование - способность иметь дело с неопределенностью и неполнотой. Информация о поставленной задаче может быть неполной или ненадежной; отношения между объектами предметной области могут быть приближенными.
Например, может не быть полной уверенности в том, какой цвет гриба (белый или серый, а может он просто грязный): гриб может быть ложным и вызвать отравление. В этом случае необходим вероятностный подход.
При разработке экспертной системы принято делить ее на три основных модуля: База знаний
Машина логического вывода, Интерфейс с пользователем.
База знаний содержит данные, относящиеся к конкретной прикладной области, в том числе отдельные факты, правила, методы. Она отличается от базы данных тем, что в последней информация пассивна (она либо есть, либо ее нет). База знаний, напротив, активно пытается пополнить недостающую информацию.
Машина логического вывода умеет активно использовать информацию, содержащуюся в базе данных.
Интерфейс с пользователем отвечает за бесперебойный обмен информацией между пользователем и системой.
Экспертную систему легко реализовать на Прологе так как, пролог обладает такими качествами как рекурсия, динамическая база данных, отсечение, подключение модулей, предикаты для работы с файлами и многое другое.
Анализ требований
Согласно заданию, необходимо разработать на языке Turbo Prolog экспертную систему по предметной области « Грибы.
Разработанная программа должна: - содержать базу данных;
выдавать вероятность полученного гриба;
содержать удобный и понятный интерфейс.
Информационная система должна быть разработана в среде TURBOPROLOG 2.0. и функционировать в операционной системе MS-DOS 7.0.
Основными программно-техническими требованиями для нормального функционирования разработанной системы являются: ЭВМ с процессором не ниже Pentium 75.
ОЗУ - не менее 8 Mb.
Цветной монитор с разрешением экрана не менее 640 на 480 точек.
ОС MS-DOS 7.0.
1. Разработка экспертной системы “ Грибы”
Вывод
В ходе курсовой работы была разработана экспертная система по предметной области «Грибы» на языке программирования TURBOPROLOG.
Полученная экспертная система содержит базу знаний на фактах. Данная система выполняет следующие функции: - выдает промежуточное значение вероятности;
выдает результат опроса и вместе с ним конечную вероятность.
Экспертная система имеет понятный и удобный интерфейс, систему помощи, разработана возможностью редактирования базы данных.
Список литературы
1. Малпас Дж. Реляционный язык Пролог и его применение.- М.: Наука, 1990.-464 с.
2. Братко И. Программирование на языке Пролог для искусственного интеллекта. - .: Мир, 1990.-560 с.
3. Курс лекций по предмету “Системы искусственного интеллекта” Михалев А.Г.
4. «Встроенные предикаты Турбо- Пролога»: методические указания часть 1,2,3/ Б.В. Казаков, И.А. Казакова, А.Г. Михалев, О.С. Дорофеева; под редакцией проф. Б.Г. Хмелевского. - Пенза: издательство ПГУ, 1998 г.