![]() |
|
|
![]()
|
|
| cherep |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 11.1.2006 Где: Москва Репутация: 2 Всего: 4 |
Пишу реферат по экспертным системам. Вот тут в конце есть реализация примера экспертной системы. Не мог бы кто помочь переложить ее на SWI-Prolog ?
В частности могу сформулировать несколько конкретных вопросов: Там юзается write("Bla-bla") в SWI это выдает массив со значениями а не строку. Но тут я вроде просек, надо брать в одинарных ковычках. Потом вот вопрос. Кто нибудь может разрулить что есть такое assert, retractall. Я так понял, это предикаты для видоизменения базы знаний. Проблема такая: в SWI похоже нет consult/2, retractall/2 (есть только с арностью 1). Как же тогда делать? И кроме того на попытку сделать
Спасибо. Это сообщение отредактировал(а) cherep - 20.5.2007, 20:17 |
|||
|
||||
| cherep |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 11.1.2006 Где: Москва Репутация: 2 Всего: 4 |
Впрочем одну проблему вроде просек: для того, чтоб предикаты можно было модифицировать их надо объявлять как dynamic
|
|||
|
||||
| Cobalt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 31.8.2006 Репутация: нет Всего: 1 |
asserta(predicat) - команда добавления предиката в базу данных в начало, assertz(predicat) - в конец
retract(predicat) - удаляет предикат из бд consalt(filename) - загружает бд что такое consult/2, retractall/2 понятия не имею --------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой! |
|||
|
||||
| Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 6 Всего: 50 |
Странно... У меня swi, и именно consult/1 загружает бд (может вы просто не поняли вопроса, в прологе традиционно арность предикатов обозначают как имя_предиката/арность) retractall/1 - удаляет из бд все факты, унифицирующиеся с аргументом. С арностью 2 ни того, ни другого в swi действительно нет -- здесь работа только с текущей базой (в Turbo-прологе из примера cherep вторым аргументом можно указывать конкретную базу) Добавлено через 11 минут и 53 секунды cherep, кстати, посмотрел еще раз на пример, понял, что это "Самообучающийся определитель животных" Что-то подобное я тоже как-то набрасывал для swi, только примитивней. Прикрепляю файл, только он в кодировке utf8, если нужно под win -- перекодируй в cp1251. Это сообщение отредактировал(а) Artemios - 21.5.2007, 11:27 Присоединённый файл ( Кол-во скачиваний: 51 )
animals.pro 2,30 Kb-------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
| cherep |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 11.1.2006 Где: Москва Репутация: 2 Всего: 4 |
Artemios, спасибо за разъяснения и пример.
|
|||
|
||||
| Cobalt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 31.8.2006 Репутация: нет Всего: 1 |
я писал просто в визуал 5.2, я там вообще не смог БД загрузить, прога загружается и пишет "ошибка программы 7002" если не ошибаюсь, что за дела
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой! |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |