本文整理汇总了Java中jason.asSemantics.Unifier.unifies方法的典型用法代码示例。如果您正苦于以下问题:Java Unifier.unifies方法的具体用法?Java Unifier.unifies怎么用?Java Unifier.unifies使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jason.asSemantics.Unifier
的用法示例。
在下文中一共展示了Unifier.unifies方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
checkArguments(args);
ListTerm list = (ListTerm)args[0];
if (list.isEmpty()) {
return false;
}
Iterator<Term> i = list.iterator();
Term min = i.next();
while (i.hasNext()) {
Term t = i.next();
if (compare(min,t)) {
min = t;
}
}
return un.unifies(args[1], min.clone());
}
示例2: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
checkArguments(args);
Circumstance C = ts.getC();
Trigger teGoal = new Trigger(TEOperator.add, TEType.achieve, (Literal)args[0]);
// search in PA
for (ActionExec a: C.getPendingActions().values())
if (a.getIntention().hasTrigger(teGoal, un))
return un.unifies(args[1], aAct);
// search in PI
Map<String, Intention> pi = C.getPendingIntentions();
for (String reason: pi.keySet())
if (pi.get(reason).hasTrigger(teGoal, un))
return un.unifies(args[1], new StringTermImpl(reason));
return false;
}
示例3: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
checkArguments(args);
// try to get the intention from the "body"
Intention i = ts.getC().getSelectedIntention();
if (i == null) {
// try to get the intention from the event
Event evt = ts.getC().getSelectedEvent();
if (evt != null)
i = evt.getIntention();
}
if (i != null)
return un.unifies(i.getAsTerm(), args[0]);
else
return false;
}
示例4: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, final Unifier un, final Term[] args) throws Exception {
checkArguments(args);
// case 1, no vars
if (!args[0].isVar() && args[1].isString()) {
return args[0].toString().equals( ((StringTerm)args[1]).getString() );
}
// case 2, second is var
if (!args[0].isVar() && args[1].isVar()) {
return un.unifies(new StringTermImpl(args[0].toString()), args[1]);
}
// case 3, first is var
if (args[0].isVar() && args[1].isString()) {
return un.unifies(args[0], ASSyntax.parseTerm( ((StringTerm)args[1]).getString() ));
}
throw new JasonException("invalid case of term2string");
}
示例5: testUnify2
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testUnify2() throws ParseException {
Unifier u = new Unifier();
u.unifies(new VarTerm("X"), new NumberTermImpl(3));
Term e1 = ASSyntax.parseTerm("X-1");
e1 = e1.capply(u);
assertTrue(u.unifies(new NumberTermImpl(2), e1));
assertTrue(u.unifies(e1, new NumberTermImpl(2)));
assertTrue(u.unifies(new NumberTermImpl(2), e1.clone()));
u.unifies(new VarTerm("Y"), new NumberTermImpl(1));
Term e2 = ASSyntax.parseTerm("Y+1");
e2 = e2.capply(u);
assertFalse(e1.isLiteral());
assertFalse(e2.isLiteral());
assertTrue(u.unifies(e2, e1));
}
示例6: testHasVar
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testHasVar() throws ParseException {
Literal l = parseLiteral("a(Test,X,Y,b(g([V1,X,V2,V1]),c))[b,source(Y),B,kk(_),oo(oo(OO))]");
assertTrue(l.hasVar(new VarTerm("X"), null));
assertTrue(l.hasVar(new VarTerm("V2"), null));
assertTrue(l.hasVar(new VarTerm("OO"), null));
assertFalse(l.hasVar(new VarTerm("O"), null));
Unifier u = new Unifier();
u.unifies(parseTerm("X"), parseTerm("f(Y)"));
u.unifies(parseTerm("Y"), parseTerm("g(X)"));
u.unifies(parseTerm("T"), parseTerm("X"));
VarTerm t = new VarTerm("T");
assertFalse(t.hasVar(new VarTerm("X"), null));
assertTrue(t.hasVar(new VarTerm("X"), u));
assertFalse(t.hasVar(new VarTerm("Y"), null));
assertTrue(t.hasVar(new VarTerm("Y"), u));
}
示例7: testApplyAnnots
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testApplyAnnots() throws ParseException {
Term t1 = parseTerm("p[a,X,c,d]");
Unifier u = new Unifier();
u.unifies(new VarTerm("X"), new Atom("z"));
t1 = t1.capply(u);
assertEquals("p[a,c,d,z]",t1.toString());
t1 = parseTerm("p[X,b,c,d]");
t1 = t1.capply(u);
assertEquals("p[b,c,d,z]",t1.toString());
t1 = parseTerm("p[a,b,c,X]");
assertFalse(t1.isGround());
t1 = t1.capply(u);
assertTrue(t1.isGround());
assertEquals("p[a,b,c,z]",t1.toString());
}
示例8: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
checkArguments(args);
RuntimeServicesInfraTier rs = ts.getUserAgArch().getRuntimeServices();
ListTerm ln = new ListTermImpl();
ListTerm tail = ln;
for (String a: rs.getAgentsNames()) {
tail = tail.append(new Atom(a));
}
return un.unifies(args[0], ln);
}
示例9: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
checkArguments(args);
Term var = args[0];
LogicalFormula logExpr = (LogicalFormula)args[1];
ListTerm all = new ListTermImpl();
ListTerm tail = all;
Iterator<Unifier> iu = logExpr.logicalConsequence(ts.getAg(), un);
while (iu.hasNext()) {
tail = tail.append(var.capply(iu.next()));
}
return un.unifies(args[2], all);
}
示例10: testMakeVarAnnon5
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testMakeVarAnnon5() {
Literal l = Literal.parseLiteral("p(X,Y)[s(Y)]");
Unifier u = new Unifier();
u.unifies(new VarTerm("X"), new VarTerm("Y"));
l.makeVarsAnnon(u);
assertEquals(l.getTerm(0), l.getTerm(1));
assertEquals("[s("+l.getTerm(0)+")]", l.getAnnots().toString());
}
示例11: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, final Unifier un, final Term[] args) throws Exception {
checkArguments(args);
String arg = null;
if (args[0].isString())
arg = ((StringTerm)args[0]).getString();
else
arg = args[0].toString();
arg = arg.toLowerCase();
return un.unifies(new StringTermImpl(arg), args[1]);
}
示例12: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, final Unifier un, final Term[] args) throws Exception {
checkArguments(args);
String arg = null;
if (args[0].isString())
arg = ((StringTerm)args[0]).getString();
else
arg = args[0].toString();
arg = arg.toUpperCase();
return un.unifies(new StringTermImpl(arg), args[1]);
}
示例13: execute
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
checkArguments(args);
List<Term> lt = ((ListTerm)args[0]).getAsList();
Collections.shuffle(lt);
ListTerm ls = new ListTermImpl();
ls.addAll(lt);
return un.unifies(args[1], ls);
}
示例14: deleteFromList
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
ListTerm deleteFromList(Term element, ListTerm l, Unifier un) {
Unifier bak = un;
ListTerm r = new ListTermImpl();
ListTerm last = r;
for (Term t: l) {
boolean u = un.unifies(element, t);
if (u)
un = bak.clone();
else
last = last.append(t.clone());
}
return r;
}
示例15: testInnerVarUnif
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testInnerVarUnif() {
Unifier u = new Unifier();
Literal l = Literal.parseLiteral("op(X)");
u.unifies(new VarTerm("M"), l);
u.unifies(new VarTerm("M"), Literal.parseLiteral("op(1)"));
//assertEquals(u.get("M").toString(),"op(1)");
assertEquals(l.capply(u).toString(),"op(1)");
}