48. Создание базы данных, располагающейся на диске.
Слабым местом всех БД в ОП компьютера является то, что по мере накопления в ней новых данных сдерживающим фактором становится объем оперативной памяти. Более жизнеспособными являются СУБД, хранящие данные на диске (нерезидентные). Так как объем внешней памяти существенно больше объема оперативной памяти, системы такого класса
пригодны для большинства практических задач.
Турбо-Пролог располагает всеми средствами, необходимыми для поддержания таких значительных по объему информации БД.
(в примере база данных про футбол, отличие от оперативной памяти в том, что базу на диск мы создаем в отдельный файл, который потом пеняем с помощью спец предикатов)
Модуль do_dbase является одновременно целью данной программы. Теперь необходимо описать введенные правила в разделе clauses.
Так же, как и предыдущая программа, do_dbase вызывает модуль menu. В свою очередь menu вызывает один из модулей process; который именно из них вызывается, зависит от значения введенного пользователем числа. Структура модулей do_dbase и menu остается такой же, какой она была в программе "Футбольная база данных". Модули process похожи на одноимен-
ные модули той же программы, с немногочисленными отличиями:
1) process(1) вызывает вспомогательный модуль dbassert,
предназначенный для засылки данных в базу на диск,
2) process(2) вызывает вспомогательный модуль dbretract,
который удаляет данные из базы на диске,
3) process(3) вызывает вспомогательный модуль dbread, осу-
ществляющий выборку данных для выдачи их на экран.
49. Принципы построения экспертных систем
Экспертная система - это компьютерная программа, которая в некоторой области проявляет степень познаний равнозначную сте-
пени познания человека-эксперта. Обычно эта область строго ограничена. Однако, количество приложений огромно. Сюда входят понимание речи, анализ изображений, прогноз погоды, оценка будущего урожая, медицинская диагностика, разработка интегральных схем, финансирование, управление воздушным движением, управление боем и т.д.
Несколько экспертных систем уже считаются классическими. Примером могут служить разработанные в Стендфордском университете такие системы как DENDRAL, определяющая молекулярную структуру неизвестного химического соединения с помощью данных
масс-спектрометрии и MYCIN, определяющая наличие инфекции у пациента , идентифицирующая микроорганизмы, выбирающая подходящее лекарство и назначающая эффективный режим приема лекарства. А так же разработанная в миланском университете Карнеги экспертная система XCON, определяющая конфигурацию компьютерных систем VAX фирмы DEC, проверяющая спецификацию частей и правильность соединения в требуемую компьютерную систему.
Структура экспертных систем
Чтобы проводить экспертизу, компьютерная программа должна быть способна решать задачи посредством логического вывода и получать при этом достаточно надежные результаты. Программа должна иметь доступ к системе фактов, называемой базой знаний. Программа также должна во время консультации выводить заключения из информации, имеющейся в базе знаний. Некоторые экспертные системы могут также использовать новую информацию, добавляемую во время консультации. Экспертную систему, таким образом, можно представлять состоящей из трех частей:
1. База знаний (БЗ).
2. Механизм вывода (МВ).
3.Система пользовательского интерфейса (СПИ).
База знаний - центральная часть экспертной системы. Она содержит правила, описывающие отношения или явления, методы и знания для решения задач из области применения системы. Можно представлять базу знаний состоящей из фактических знаний и знаний, которые используются для вывода других знаний. Утверждение "Джон Ф. Кеннеди был 35-м президентом Соединенных Штатов" - пример фактического знания. "Если у вас болит голова,то примите две таблетки цитрамона" - пример знания для вывода. Сама база знаний обычно располагается на диске или другом носителе. Механизм вывода содержит принципы и правила работы. Механизм вывода "знает", как использовать базу знаний так, чтобы можно было получать разумно согласующиеся заключения (выводы) из информации, находящейся в ней. Когда экспертной системе задается вопрос, механизм вывода выбирает способ применения правил базы знаний для решения задачи, поставленной в вопросе. Фактически, механизм вывода запускает экспертную систему в работу, определяя какие правила нужно вызвать и организуя к ним доступ в базу знаний. Механизм вывода выполняет правила, определяет когда найдено приемлемое решение и передает результаты программе интерфейса с пользователем.
Когда вопрос должен быть предварительно обработан, то доступ к базе знаний осуществляется через интерфейс с пользователем. Интерфейс - это часть экспертной системы, которая взаимодействует
с пользователем.
Как правило, пользователи мало знают об организации базы знаний, поэтому интерфейс может помочь им работать с экспертной системой даже, если они не знают, как она организована. Интерфейс может также объяснить пользователю , каким образом экспер-
тная система выводит результат.
Для базы знаний, которая содержит обширную и разнообразную информацию, могут быть разработаны и реализованы несколько разных оболочек. Хорошо разработанные оболочки экспертных систем обычно содержат механизм для добавления и обновления информации в базе знаний.
Представление знаний - это множество соглашений по синтаксису и семантике, согласно которым описываются объекты. Хорошее правило при проектировании представления знаний – это организация знаний в такой форме, которая позволяет легко осуществлять доступ с помощью естественных и простых механизмов. "Чем проще, тем лучше" - правило, которое нужно помнить, при работе с представлением знаний.
Экспертные системы часто создаются "инженером по знаниям" (или проектировщиками экспертных систем), которые работают с человеком-экспертом, чтобы закодировать знания эксперта в базе знаний. Проектировщик экспертной системы должен иметь возможность манипулировать представленными знаниями и работать с человеком экспертом. Эти работы составляют развивающуюся область инженерии знаний.
В экспертных системах знания будут всегда представлены одним из двух способов.
Первый способ - это классификация и помещение фактов и чисел (фрагментов фактического знания) в правила Турбо-Пролога.
Это представление подходит для использования в экспертных системах, базирующихся на правилах. Другой способ - это организация фактов и числовой информации в утверждениях, которые образуют базу знаний на утверждениях. Представление знаний в утверждениях подходит для использования в экспертных системах, базирующихся на логике.
Существуют и другие системы представления знаний. К ним относятся система на фреймах и на моделях. Система на фреймах использует представление знаний, основанное на логических группах атрибутов объекта.
Для хранения и обработки логические группы описываются во фреймах. Для систем , базирующихся на моделях, проект и структура системы основаны на знании структуры и поведения устройства, которое является предметом исследования.
50. Методы вывода и система пользовательского интерфейса ЭС. Метод вывода - это систематический способ для доказательства того, что из множества предположений следует некоторое заключение. Этот систематический метод закодирован в правилах вывода, которые специфицируют принятую логику получения заключения. Вывод осуществляется посредством поиска и сопоставления по образцу. Другие языки требуют написания собственных правил поиска и сопоставления по образцу. В Турбо-Прологе эти задачи выполняются с помощью внутренних программ унификации, поэтому в данном случае требуется только написать необходимые спецификацию. Как в системах, базирующихся на правилах, так и в системах, базирующихся на логике, пользователь получает ответы на свои запросы в соответствии с логикой, заложенной в системе. В первом случае запросы пользователя трансформируются в форму, сопоставимую с формой правил базы знаний. Механизм вывода инициализирует процесс сопоставления, начиная с "верхнего" правила. Обращение к правилу называется "вызовом". Вызов соответствующих правил в процессе сопоставления продолжается до тех пор, пока не произошло сопоставление или не исчерпана вся база знаний, а сопоставление не найдено. Во втором случае трансформированные запросы являются значениями, которые сопоставляются со значениями, находящимися в базе знаний.
Если механизм вывода обнаруживает, что можно вызвать более одного правила, то необходимо осуществить определенный выбор. При этом приоритет отдается обычно либо правилам, которые более специфицированы, либо правилам, которые учитывают больше текущих данных. Этот процесс называется разрешением конфликта.
Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций:
1. Обработка данных, полученных с клавиатуры, и высвечивание вводимых и выводимых данных на экране.
2. Поддержка диалога между пользователем и системой.
3. Распознавание ситуации непонимания между пользователем
и системой.
4. Обеспечение "дружественности" по отношению к
пользователю.
Система интерфейса с пользователем должна эффективно обрабатывать ввод и вывод. Для этого необходимо обрабатывать вводимые и выводимые данные быстро, в ясной и выразительной форме. Необходимо также включить возможность работы с дополнительными средствами такими, как печатающие устройства, магнитные диски и дополнительные файлы данных.
Кроме того, система интерфейса должна поддерживать соответствующий диалог между пользователем и системой. Диалог - это общая форма консультации с экспертной системой.
Консультация должна завершаться ясным утверждением, выдаваемым системой, и объяснением последовательности вывода, приведшей к этому утверждению.
Система пользовательского интерфейса должна также распознавать непонимание, между пользователем и системой, возникшее
либо из-за ошибки, либо на принципиальной основе . Система должна реагировать соответствующим образом на эту ситуацию.
- 40. Программы для обработки файлов.
- 41. Дозапись данных в файл
- 42. Использование файлов прямого доступа
- 44. Использование графики в программе
- 45. Использование звука и музыки
- 46. Базы данных в прологе. Предикаты динамическое бд.
- 48. Создание базы данных, располагающейся на диске.
- 51. Экспертная система на правилах