Навигация
Главная
Поиск
Форум
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
Бип из системно... 61062
Организация зап... 58730
Invision Power ... 58715
Приложение «Про... 57174
Модуль Forms 57135
Оператор выбора... 56647
Создание отчето... 56104
Подключение Mic... 56082
ТЕХНОЛОГИИ ДОСТ... 52320
Программируемая... 49813
Пример работы с... 48165
Имитационное мо... 47857
21 ошибка прогр... 42806
Реклама
Сейчас на сайте
Гостей: 12
На сайте нет зарегистрированных пользователей

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

Изменения контуров и сортировка в двумерном массиве чисел на Turbo Pasca...
Моделирование работы ЭВМ на GPSS + Пояснительная записка
Калькулятор на Delphi с переводом в другую систему исчисления + Блок схемы

Реклама

Базы данных и базы знаний в Турбо Прологе
Базы данных и базы знаний широко используются в совремменных
программных системах, использующих элементы искусственного интел-
лекта, и являются их информационной основой.
База данных (БД) - это совокупность взаимносвязанных данных,
использование которых осуществляется при помощи системы управле-
ния базами данных (СУБД). Информация, содержащаяся в БД, должна
удовлетворять следующим требованиям:
- минимальная избыточность, обеспечивающая сокращение объе-
мов БД и, как следствие, увеличение скорости общения с БД;
- независимость организации данных и способа их хранения
от использующих их программ;
- наличие общих программных средств сопровождения (СУБД);
- ориентация на долговременное хранение и использование.
В узком смысле БД - это совокупность файлов, для обращения
к которым используются средства СУБД. База данных может распо-
лагаться в некоторых файлах. Каждый файл БД состоит из записей,
каждая запись - из различных полей.
По характеру организации информации, различают реляционные
и сетевые базы данных. Сетевые СУБД имеют сетевую организацию:
любая запись старшего уровня может быть связана с данными, кото-
рые относятся к множеству других записей подчиненного уровня
(отношение типа "один - ко - многим"). Обращение к записям осу-
ществляется с помощью указателей.
Реляционные СУБД построены по табличному принципу, основой
которого являются реляционная модель данных и определенные на
ней отношения. Для манипулирования данными используется реля-
ционно полный язык, обеспечивающий все операции над множествами
(объединение, пересечение, разность, прямое произведение) и все
реляционные операции (поиск, перенос, соединение, разделение).
В связи с распространением персональных вычислительных средств
и популярностью СУБД, поддерживающие стандарты БД 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 Комментариев · 20690 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
PHP глазами хакера
Как программирова...
начисление процен...
AboutSystem
Swat [Исходник на...
Blib [Исходник на...
PDPcheck
FileFind
Dnavigator
Программа для рис...
FormShape [Исходн...
Assistant
Java Server Pages...
RxLIB
C++ Стандартная б...
32 урока по Delphi
Работа с картотеками
WAP версия сайта
Использование Lis...
PolyFlow

Топ загрузок
Приложение Клие... 100308
Delphi 7 Enterp... 78147
Converter AMR<-... 20021
Borland C++Buil... 10705
GPSS World Stud... 9313
Borland Delphi ... 7677
Turbo Pascal fo... 6885
Visual Studio 2... 4906
Калькулятор [Ис... 4010
FreeSMS v1.3.1 3486
Случайные статьи
Установка принтера...
— алгоритм 474— от...
Файловая система s...
Решимость Microsof...
Ликбез по meta-тег...
Успешная проверка
Следует ли защищат...
Линейное рехеширов...
Преимущества языка...
Вспомогательные пр...
служб терминаловВы...
Методы-подставки
Предсказуемость во...
Унифицированный ло...
Новейший гибкий O...
Решение задачи ман...
Малая вирусная энц...
Ввод и вывод строк
Дыpы в Win95/WinNT
БЛУЖДАНИЯ БЕЗ ОРИЕ...
Конструкторы
Локхид
Неправильный спосо...
Общее представление
Домашний театр на ...
Статистика



Друзья сайта
Программы, игры
Отличное качество HD обзор матча chelsea смотреть онлайн бесплатно

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