Re: Пролог-машина для С
- From
- Sergey Sikorsky ()
- To
- All
- Date
- 2000-02-29T14:41:26Z
- Area
- RU.ALGORITHMS
From: Sergey Sikorsky <ssg@oxir.com>
On 29 Feb 2000 09:33:03 +0300, "Dmitry Obukhov"
<obukhov@earthlink.net> wrote:
>В принципе требуется
>как минимум реализация дерева перебора. Замысел таков: есть
>система, принимающая стабильные состояния. Есть набор из семи
>действий, которые можно над этой системой совершить и соответственно
Надо полагать, имеется в виду реализация wam-машины?
>изменить ее состояние. Есть возможность прочитать состояние
>системы. Задача: прочитать состояние системы, определить
>последовательность действий, которое приведет систему в
>требуемое состояние, выполнить действия, проверить состояние,
>выдать сигнал готовности.
"определить последовательность действий, ..." - это уже работа
написанной машины вывода. Честно-говоря, я не ставлю перед собой
задачу придумывания новой методики вывода.
Насколько я понял, предлагается транслировать некую программу в набор
элементарных команд машины вывода, выполнить их на этой машине и
получить результат.
Хочется иного ... Нет синтаксического анализа, нет команд машины
вывода, а есть некий фреймворк из классов прмерно такой структуры:
класс, отвечающий за предикат, класс, отвечающий за терм, класс,
описывающий проблемную облать (совокупность объектов двух предыдущих
классов) и есть метод solve. Соответствено, каким-то образом надо
описывать логические переменные.
Вот, всего много написал... Таким образом, должен получиться перебор с
возвратами, встроенный в объектный язык, который записывается в
читабельной форме, а не в виде множества вложенных циклов или операций
со стеком.
Сергей Сикорский.
--- ifmail v.2.15dev4
* Origin: Demos online service (2:5020/400)