Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы искусственного интеллекта.doc
Скачиваний:
66
Добавлен:
10.02.2015
Размер:
80.38 Кб
Скачать

Работа с внутренними базами данных: добавление и удаление фактов из базы данных.

В прологе легко реализуются реляционные БД. Любая таблица этой БД, может быть описана соответствующим набором фактов, где каждой записи таблицы будет соответствовать один факт, каждому полю — аргумент предиката реализующего таблицу.

Внутренняя БД — это БД, которая обрабатывается исключительно в оперативной памяти компьютера, в отличии от внешней, которая может обрабатываться на диске.

Внутренняя БД обрабатывается быстрее, но ее объем ограничен объемом оперативной памяти. Для обработки больших массивов данных, используют внешние БД.

Внутренняя БД состоит из фактов, которые можно в процессе компиляции добавлять в БД, удалять из БД, сохранять в файле, загружать факты из файла БД. Эти факты могут использовать только предикаты описанные в разделе предикатов БД.

Database – имя БД имя предиката. (имя домена аргумент1, …. аргумент n).

Если раздел описания предикатов БД в программе только1, то БД может не иметь имени, в этом случае имя по-умолчанию; в случае наличия в программе нескольких БД, только 1 из них может быть без имени. Описание предикатов БД аналогично описанию предикатов раздела predicates. Однако, эти предикаты можно использовать в качестве аргументов встроенных предикатов. Кроме того, факты использующие эти предикаты можно добавлять и удалять во время компиляции.

В БД могут содержаться только факты. Встроенные предикаты для работы в БД, могут содержать один/два аргумента. Одноаргументный вариант использования, если внутренняя БД не имеет имени. Если же база именована, то используются два аргумента в предикате, причем второй аргумент — это имя БД.

Для добавления фактов во внутреннюю БД используются предикаты: asserta - в начало БД; assertz, assert – в конец БД.

Для удаления фактов из БД используются: retract – удаляет первый сначала факт, который может быть отождествлен с его первым параметром. Для удаления всех фактов из БД используется retractall, первым аргументом может быть анонимная переменная.

Для сохранения динамической БД на диске: предикат save. Он сохраняет ее в текстовый файл, с именем, которое было указано в качестве первого параметра предиката. Факты, сохраненные в текстовом файле, могут быть загружены в оперативную память компьютера предикатом consult. Первый аргумент этого предиката — имя текстового файла, с которого нужно загрузить факты. Один факт должен занимать одну строку. Количество и тип аргументов должны соответствовать описанию предиката в разделе database. В файле не должно быть пустых строк, внутри фактов не должно быть пробелов, за исключение тех, которые содержатся внутри строк в кавычках.

Данные и знания.

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

Знания — это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области.

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

Представление знаний — это соглашение о том, как описать реальный мир.

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

Существуют следующие основные модели представления знаний:

  1. продукционная

  2. сетевая (семантические сети)

  3. фреймовая (фрейм)

  4. логическая.