Пролог - Замена терминов, Изменение терминов в графиках рабочего процесса - PullRequest
0 голосов
/ 11 июля 2011

В этой ссылке ( Meta Interpreter ) я считаю, что нашел изящный способ решения проблемы, которую мне нужно решать, но, поскольку мой пролог очень плохой, я сначала спросил бы, возможно ли вообще, что Я имею в виду.

Я хочу преобразовать определенные части рабочего процесса / графика в зависимости от набора правил. График в основном состоит из последовательностей (a-> b) и split / join, которые являются либо параллельными, либо условными, то есть два шага выполняются параллельно в рабочем процессе или выбирается одна ветвь в зависимости от условия (само условие не имеет значения на этом уровне) (параллельное разбиение - (a && b) - параллельное соединение) и т. д. Теперь у графа обычно есть узлы и ребра, в форме использования терминов, которые я хочу избавить от ребер.

Кроме того, у каждого узла есть атрибут партнера, указывающий, кто его будет выполнять.

Я попытаюсь привести простой пример того, чего я хочу достичь:

Узел с именем A, выполненный партнером X, соединенный с узлом с именем B, выполненный партнером Y.

A_X -> B_Y
seq((A,X),(B,Y))

Если я обнаружу подобный шаблон, то есть два шага в последовательности с разными партнерами, я хочу заменить его на:

A_X -> Send_(X-Y) -> Receive_(Y-X) - B_Y // send step from X to Y and a receive step at Y waiting for something from X

seq((A,X), seq(send(X-Y), seq(receive(Y-X), B)))

Если бы кто-нибудь мог дать мне несколько советов или помочь найти решение, я был бы очень благодарен!

1 Ответ

0 голосов
/ 12 июля 2011

График в основном состоит из последовательностей (a-> b) и split / join, которые являются либо параллельными, либо условными, то есть два шага выполняются параллельно в рабочем процессе или выбирается одна ветвь в зависимости от условия1002 *

Звучит ужасно, как и / или график .Алгоритмы пролога на этих графиках описаны Иваном Братко в Программирование пролога для искусственного интеллекта , глава 13. Даже если ваши графики не совсем и / или графики, вы можетеадаптировать некоторые из этих алгоритмов к вашей задаче.

...