Особенности работы с БД, хранящими данные в файлах на диске 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Особенности работы с БД, хранящими данные в файлах на диске



 

СУБД, хранящие данные на диске (нерезидентные), являются более жизнеспособными. Так как объем внешней памяти существенно больше объема памяти оперативной, системы такого класса пригодны для большинства практических задач.

Турбо-Пролог располагает всеми средствами, необходимыми для поддержания таких значительных по объему информации БД.

Предикаты нерезидентной БД объявляются в разделе программы database так же, как и предикаты резидентной.

database(symbol,symbol,symbol)- test(symbol,symbol,integer)_stud(dbasedom)

Add_exam(test)

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

Add_stud(Term):-Write(“Ведите шифр”), readln(Code),

Write(“Ведите имя”), readln(Name),(“Ведите факультет ”),(Dep),=stud(Code,Name,Dep),(Term), Asserta(Term)._exam(Term):-Write(“Ведите Шифр”), readln(Code),(“Ведите название дисциплины”),

Readln(Course),

Write(“Ведите оценку”), readln(Mark),=exam(Code,Course,Mark),(Term), Asserta(Term).

Здесь правило Add_stud позволяет ввести запись (переменная Term) и добавить ее в резидентную БД dbasedom. А правило Add_exam вводит запись и добавляет одну запись в базу test.

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

readterm(<имя домена >,< значение объектов домена>).

Рассмотрим, к примеру, предикатное выражение

readterm(test,Term)

Здесь, предикат успешен, если с установленного устройства ввода была прочитана строка, совпадающая по синтаксису с записью БД test. Например, exam("99-291","Информатика",3). Тогда переменная Term получает значение этой записи. То есть, предикат Term=exam(“99-291”,”inf”,3) истинен.

Рассмотрим другой пример

readterm(test, exam(Code,Course,Mark))

Предикат успешен также, если с установленного устройства ввода была прочитана строка, совпадающая по синтаксису с записью БД test, но этот предикат уже определяет значения полей записи, то есть переменная Code получает значение "99-291", переменная Course - значение "Информатика", а переменная Mark -3.

 

РАЗРАБОТКА ЭКПЕРТНЫХ СИСТЕМ

 

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

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

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

 

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

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

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

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

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

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

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

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

В настоящем издании мы ограничимся лишь организацией БЗ и управлением стратегией вывода. Для чего рассмотрим два примера реализации ЭС средствами Турбо-пролога: ЭС, построенную на правилах, и ЭС, построенную на логике.



Поделиться:


Последнее изменение этой страницы: 2020-03-14; просмотров: 137; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.51.241 (0.006 с.)