【问题标题】:How to reverse or construct a belief in jason (agentspeak)?如何扭转或构建对 jason (agentspeak) 的信念?
【发布时间】:2012-05-13 18:55:00
【问题描述】:

我想做以下事情:

我有一个将论点作为信念的初始目标,我想将其反转,使信念的论点成为新的信念,而论点成为信念名称。

类似这样的:

//Agent asker in project Test.mas2j
!translate(barks(dog)). //I would like to have the belief: dog(barks)
+!translate(T)<-
    T =.. [A,[B],C];
    .print("functor: ",A);
    .print("argument: ",B);
    //.print("source: ",C);
    +B(A);//<- I want something like this, but it gives a syntax error.
    +B. //<-this works, but it doesn't give the argument to it

所以,我的问题是,以这种方式来建立信仰是有野心的吗?

【问题讨论】:

    标签: prolog agent multi-agent


    【解决方案1】:

    T 一样构建术语:

    ...
    X =.. [B,[A]]; // constructs the belief
    +X; // adds the belief to the current belief base
    ...
    

    来自书Programming Multi-Agent Systems in AgentSpeak using Jason

    Prolog 中还提供了一个运算符 这里的工作方式略有不同(因为谓词注释不可用 在 Prolog 中)是“=..”,用于将文字解构为列表。所结果的 列表的格式为[functor, list of arguments, list of annotations],例如: p(b,c)[a1,a2] =.. [p, [b,c], [a1,a2]].

    【讨论】:

    • 与此同时,我已经想通了。您的解决方案在语法上不正确,但非常接近。如果你不介意,我会编辑它,然后接受它。
    • 好!我尝试了以下代码,效果很好! !翻译(吠声(狗))。 +!translate(T)
    猜你喜欢
    • 2018-09-28
    • 2015-03-29
    • 2018-11-11
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2020-03-13
    相关资源
    最近更新 更多