Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Бип из системно... 58691
Invision Power ... 57702
Организация зап... 57497
Модуль Forms 56543
Создание отчето... 55143
Приложение «Про... 54869
Подключение Mic... 54676
Оператор выбора... 54467
ТЕХНОЛОГИИ ДОСТ... 51202
Программируемая... 47835
Пример работы с... 46967
Имитационное мо... 46898
21 ошибка прогр... 41930
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Метод конечных разностей для интерполяции/экстраполяции на Delphi
Моделирование работы участка термической обработки шестерен на GPSS + По...
Моделирование круглосуточного интернет кафе на 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 23:59:55 · 0 Комментариев · 20479 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Zoom [Исходник на...
БД студентов
Алгоритм трассиро...
PolyFlow
Простой пример ка...
Панель Наша Кнопка
Crystal Button
PHP5. Профессиона...
FormShape [Исходн...
Dbgridpack
Мод "проверочный ...
Пример работы с ф...
Blobs [Исходник н...
Java 2. Наиболее ...
Программирование ...
XPATComponents
База для Allsubmi...
VFW
MpegPlay
Page Promoter 7.7...

Топ загрузок
Приложение Клие... 100276
Delphi 7 Enterp... 75252
Converter AMR<-... 20017
Borland C++Buil... 10482
GPSS World Stud... 8858
Borland Delphi ... 7491
Turbo Pascal fo... 6868
Visual Studio 2... 4869
Калькулятор [Ис... 3846
FreeSMS v1.3.1 3481
Случайные статьи
Поднятие тИЦ и PR
Узловое представле...
2.4. Равенство и ...
Как использовать п...
Работа с WDDX в РНР
Создание модуля с ...
С++, консоль, пузы...
для служб терминал...
107.40.
12.2. Одно из решений
Секреты: как удерж...
Нужно ли продвигат...
Найти всю информац...
Игровые автоматы В...
Чтение низкоуровне...
Сохранение и чтени...
Outlook для iOS и ...
Интерпретация данн...
Установка и удален...
Как обойти AVP
конфигурации компь...
Как управление изм...
Несколько полезных...
Разработка любител...
Функции ввода для ...
Статистика



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


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