Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 17
На сайте нет зарегистрированных пользователей

Пользователей: 13,361
новичок: uehuat
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Движение шарика в эллиптическои параболоиде на Delphi [OpenGL] + Блок схемы
Моделирование процесса обработки заданий пакетным режимом работы с квант...
Моделирование литейного цеха на GPSS + Пояснительная записка

Базы данных и базы знаний в Турбо Прологе
Базы данных и базы знаний широко используются в совремменных
программных системах, использующих элементы искусственного интел-
лекта, и являются их информационной основой.
База данных (БД) - это совокупность взаимносвязанных данных,
использование которых осуществляется при помощи системы управле-
ния базами данных (СУБД). Информация, содержащаяся в БД, должна
удовлетворять следующим требованиям:
- минимальная избыточность, обеспечивающая сокращение объе-
мов БД и, как следствие, увеличение скорости общения с БД;
- независимость организации данных и способа их хранения
от использующих их программ;
- наличие общих программных средств сопровождения (СУБД);
- ориентация на долговременное хранение и использование.
В узком смысле БД - это совокупность файлов, для обращения
к которым используются средства СУБД. База данных может распо-
лагаться в некоторых файлах. Каждый файл БД состоит из записей,
каждая запись - из различных полей.
По характеру организации информации, различают реляционные
и сетевые базы данных. Сетевые СУБД имеют сетевую организацию:
любая запись старшего уровня может быть связана с данными, кото-
рые относятся к множеству других записей подчиненного уровня
(отношение типа "один - ко - многим"). Обращение к записям осу-
ществляется с помощью указателей.
Реляционные СУБД построены по табличному принципу, основой
которого являются реляционная модель данных и определенные на
ней отношения. Для манипулирования данными используется реля-
ционно полный язык, обеспечивающий все операции над множествами
(объединение, пересечение, разность, прямое произведение) и все
реляционные операции (поиск, перенос, соединение, разделение).
В связи с распространением персональных вычислительных средств
и популярностью СУБД, поддерживающие стандарты БД dBASE и Paradox,
реляционные СУБД в настоящее время получили наибольшее рас-
пространение.
В базе данных различают понятия "отношение"(relation) и
"связь"(association). Термин "отношение" применяется при опре-
делении операций над информацией, а термин "связь" используют
при описании объектов (entity), информационные модели которых
хранятся в БД.
База знаний (БЗ) представляет собой более высокий, по срав-
нению с БД, уровень представления информации. В общем случае БЗ -
это совокупность знаний, относящихся к отдельной предметной
области и представленных формально таким образом, чтобы на их
основе можно было строить рассуждения. Обычно БЗ содержит мно-
жество правил, разработанных специалистом-экспертом. Понятие
БЗ появилось в конце 70-х годов как расширение понятия БД на
информационно-справочные системы, содержащие не только факти-
ческие данные, но и описание общих правил и закономерностей.
Различают статические и динамические БЗ. Статические БЗ
содержат общие для всех задач какой-либо области применения
сведения, которые остаются неизменными при расширении любой
задачи из этой области. Динамические БЗ формируются при реше-
нии отдельной задачи и могут изменяться при переходе к решению
другой задачи.

Базы знаний и базы данных в Турбо-Прологе

Турбо-Пролог (ТП) позволяет работать с БД и БЗ. База данных
в ТП понимается как совокупность файлов. Факты, расположенные в
разделе clauses непосредственно в теле программы, образуют внут-
реннюю (в терминологии ТП - статическую) базу данных. Информация
в этой области не может изменяться в процессе выполнения програм-
мы. Факты, описанные предикатами из области database, образуют
внешнюю (по отношению к телу программы) базу данных, которая в
ТП называется динамической.
Турбо-Пролог обеспечивает работу с БД, находящимися в фай-
лах на внешних носителях. Для взаимодействия с такими данными ТП
имеет ряд стандартных предикатов для чтения и сохранения БД в
файле, для добавления и удаления фактов БД и т.д. Динамическое
формирование правил в ТП не предусмотрено. ТП работает с БД,
находящимися в оперативной памяти. Такие БД называются резидент-
ными.
Совокупность правил (разделы predicates и clauses) может
быть вынесена в отдельный фаул, которому присвоим расширение
RUL. Совместно с DBA-файлами, RUL-файлы будут образовывать базу
знаний Пролог-программы.
Используемая версия языка Пролог (Turbo Prolog version 2.0),
не поддерживает изменение правил в ходе выполнения программы и,
строго говоря, не обеспечивает работу с базами знаний. Однако,
ограничиваясь статическими правилами, можно говорить об органи-
зации базы знаний с использованием Турбо-Пролога.
Для работы в БД в Турбо-Прологе существуют следующие преди-
каты.
1. Загрузка файла БД в оперативную память:
consult (DosFileName),



где DosFileName - Dos-имя файла БД, имеющее тип string. Например,
для загрузки файла БД с именем GEO.DBA необходимо использовать
предикат consult("geo.dba"). После выполнения этого предиката БД
GEO.DBA становится резидентной.
2. Сохранение фактов БД в внешнем файле:
save (DosFileName),



где DosFileName - Dos - имя файла БД в формате string. Для сох-
ранения фактов в файле GEO.DBA следует использовать предикат
save("geo.dba")' после выполнения которого резидентная БД зано-
сится в указанный файл.
3. Занесение новых фактов в резидентную БД осуществляется
при помощи следующих предикатов:
assert(<факт>),
asserta(<факт>),
assertz(<факт>).



Предикаты assert и assertz заносят указанный файл в конец БД,
а предикат assertа - в начало.
Удаление файлов их резидентной БД осуществляется при помощи
предикатов
retract(<факт>),
retractall(<факт>).



Предикат retract удаляет первый из совпавших с указанным факт
резидентной БД. Для удаления последующих фактов необходимо
использовать откат(file). Предикат retractall удаляет все факты,
совпадающие с заданным. Примеры использования:
retract(parent(tom,bob)),
retractall(parent(tom,_)).



В первом случае удаляется единственный факт parent(tom,bob,
а во втором происходит удаление всех фактов для предиката
parent, первый аргумент которых имеет значение tom.
Опубликовал Kest April 02 2009 19:59:55 · 0 Комментариев · 25342 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
В.Понамарев - COM...
PHP 5 в подлинник...
NetGraph [Исходни...
Упорядоченный дин...
SMExport
Технология .Net в VB
Report
Программа предназ...
«Философия» прогр...
Drag&Drop
Microsoft SQL Ser...
Расширенный загру...
Просмотр файлов и...
PBEditPack
3D Тетрис [Исходн...
Изучаем Ассемблер
AJAX и PHP. разра...
Создание отчетов ...
Моделирование дви...
Разработка интерн...

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20261
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
• Доступ к Web-узл...
ей право сбрасыват...
Класс TMetafile
Поиск значений
Защита от вирусов ...
Автоматическая игр...
Процедуры и функци...
Файлы в языке C и C++
Администрирование ...
Я запустил все три...
Опыты с силой прит...
Примеры программир...
Передача данных в ...
Xbox открыта и Вы ...
14-29):Табл
Исключения и дестр...
Каково значение ад...
в кадре использует...
Язык С++ : объявле...
Состав текстовых ф...
Упражнения по рабо...
Типы онлайновой ин...
Большие объекты
Переход от старого...
зательно
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?