当前位置: 首页>>代码示例>>Java>>正文


Java Unifier.unifies方法代码示例

本文整理汇总了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());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:20,代码来源:min.java

示例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;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:21,代码来源:suspended.java

示例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;            
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:19,代码来源:current_intention.java

示例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");
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:22,代码来源:term2string.java

示例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));
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:17,代码来源:ExprTermTest.java

示例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));
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:18,代码来源:TermTest.java

示例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());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:18,代码来源:TermTest.java

示例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);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:12,代码来源:all_names.java

示例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);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:15,代码来源:findall.java

示例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());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:9,代码来源:TermTest.java

示例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]);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:13,代码来源:lower_case.java

示例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]);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:12,代码来源:upper_case.java

示例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);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:11,代码来源:shuffle.java

示例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;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:14,代码来源:delete.java

示例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)");
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:9,代码来源:VarTermTest.java


注:本文中的jason.asSemantics.Unifier.unifies方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。