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


Java Agent.initAg方法代码示例

本文整理汇总了Java中jason.asSemantics.Agent.initAg方法的典型用法代码示例。如果您正苦于以下问题:Java Agent.initAg方法的具体用法?Java Agent.initAg怎么用?Java Agent.initAg使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jason.asSemantics.Agent的用法示例。


在下文中一共展示了Agent.initAg方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setUp

import jason.asSemantics.Agent; //导入方法依赖的package包/类
protected void setUp() throws Exception {
    super.setUp();
    
    intention1 = new Intention();
    Plan p = Plan.parse("+!g0 : true <- !g1; !g4.");
    intention1.push(new IntendedMeans(new Option(p,new Unifier()), null));
    
    p = Plan.parse("+!g1 : true <- !g2.");
    intention1.push(new IntendedMeans(new Option(p,new Unifier()), null));

    p = Plan.parse("+!g2 : true <- !g4; f;g.");
    intention1.push(new IntendedMeans(new Option(p,new Unifier()), null));
    
    p4 = Plan.parse("+!g4 : true <- h.");
    intention1.push(new IntendedMeans(new Option(p4,new Unifier()), null));

    p5 = Plan.parse("+!g5 : true <- i.");
    
    ag = new Agent();
    ag.initAg();
    ag.getPL().add(Plan.parse("-!g1 : true <- j."));
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:23,代码来源:StdLibTest.java

示例2: testLogCons2

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testLogCons2() {
    Agent ag = new Agent();
    ag.initAg();
    
    Rule r = new Rule(Literal.parseLiteral("r([],a(X),b(X,4))"), Literal.parseLiteral("true"));
    ag.getBB().add(r);

    Iterator<Unifier> iun = Literal.parseLiteral("r([],a(20),X)").logicalConsequence(ag, new Unifier());
    //assertEquals(iun.next().get("X").toString(),"b(20,4)");
    assertTrue(iun.hasNext());
    Literal result = Literal.parseLiteral("r([],a(20),X)");
    Unifier u = iun.next();
    assertTrue(u.get("X").isStructure());
    assertEquals( ((Structure)u.get("X")).getArity(), 2);
    assertEquals( ((Structure)u.get("X")).getFunctor(), "b");
    assertEquals(result.capply(u), Literal.parseLiteral("r([],a(20),b(20,4))"));
    
    iun = Literal.parseLiteral("r([],a(20),b(X,Y))").logicalConsequence(ag, new Unifier());
    u = iun.next();
    assertEquals(u.get("X"), ASSyntax.createNumber(20));
    assertEquals(u.get("Y"), ASSyntax.createNumber(4));

}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:24,代码来源:RuleTest.java

示例3: testFindAll

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testFindAll() throws RevisionFailedException, ParseException {
    Agent ag = new Agent();
    ag.initAg();
    
    Literal l1 = Literal.parseLiteral("a(10,x)");
    assertFalse(l1.hasSource());
    ag.addBel(l1);
    ag.addBel(Literal.parseLiteral("a(20,y)"));
    ag.addBel(Literal.parseLiteral("a(30,x)"));
    assertEquals(ag.getBB().size(),3);
    
    Unifier u = new Unifier();
    Term X = ASSyntax.parseTerm("f(X)");
    Literal c = Literal.parseLiteral("a(X,x)");
    c.addAnnot(BeliefBase.TSelf);
    VarTerm L = new VarTerm("L");
    // System.out.println(ag.getPS().getAllRelevant(Trigger.parseTrigger(ste.getFunctor())));
    try {
        assertTrue((Boolean)new jason.stdlib.findall().execute(ag.getTS(), u, new Term[] { X, c, L }));
    } catch (Exception e) {
        e.printStackTrace();
    }
    ListTerm lt = (ListTerm) u.get("L");
    //System.out.println("found=" + lt);
    assertEquals(lt.size(), 2);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:27,代码来源:StdLibTest.java

示例4: testBUF

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testBUF() {
    Agent ag = new Agent();
    ag.initAg();
    
    ag.getBB().add(Literal.parseLiteral("a(10)[source(bob)]"));
    List<Literal> percepts = new ArrayList<Literal>();
    percepts.add(Literal.parseLiteral("a(10)"));
    percepts.add(Literal.parseLiteral("a(20)"));
    
    assertEquals(2,ag.buf(percepts));
    assertEquals(2,ag.getBB().size());

    assertEquals(0,ag.buf(new ArrayList<Literal>(percepts)));
    assertEquals(2,ag.getBB().size());
    
    percepts.remove(1); // remove a(20)
    assertEquals(1,ag.buf(new ArrayList<Literal>(percepts)));
    assertEquals(1,ag.getBB().size());

    percepts.clear();
    assertEquals(1,ag.buf(new ArrayList<Literal>(percepts)));
    assertEquals(1,ag.getBB().size());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:24,代码来源:BeliefBaseTest.java

示例5: setUp

import jason.asSemantics.Agent; //导入方法依赖的package包/类
protected void setUp() throws Exception {
    super.setUp();

    intention1 = new Intention();
    Plan p = Plan.parse("+!g0 : true <- !g1; !g4.");
    intention1.push(new IntendedMeans(new Option(p,new Unifier()), null));

    p = Plan.parse("+!g1 : true <- !g2.");
    intention1.push(new IntendedMeans(new Option(p,new Unifier()), null));

    p = Plan.parse("+!g2 : true <- !g4; f;g.");
    intention1.push(new IntendedMeans(new Option(p,new Unifier()), null));

    p4 = Plan.parse("+!g4 : true <- h.");
    intention1.push(new IntendedMeans(new Option(p4,new Unifier()), null));

    p5 = Plan.parse("+!g5 : true <- i.");

    ag = new Agent();
    ag.initAg();
    ag.getPL().add(Plan.parse("-!g1 : true <- j."));
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:23,代码来源:StdLibTest.java

示例6: process

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Agent newAg = new Agent();
        newAg.initAg();
        // add .print(te) in the begin and end of the plan
        for (Plan p: innerContent.getPL()) {
            Literal print1 = Literal.parseLiteral(".print(\"Entering \","+p.getTrigger().getLiteral()+")");
            PlanBody b1 = new PlanBodyImpl(BodyType.internalAction, print1);
            p.getBody().add(0,b1);

            Literal print2 = Literal.parseLiteral(".print(\"Leaving \","+p.getTrigger().getLiteral()+")");
            PlanBody b2 = new PlanBodyImpl(BodyType.internalAction, print2);
            p.getBody().add(b2);

            newAg.getPL().add(p);
        }
        return newAg;
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive error.", e);
    }
    return null;
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:23,代码来源:LoggerDirective.java

示例7: testFindAll

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testFindAll() throws RevisionFailedException, ParseException {
    Agent ag = new Agent();
    ag.initAg();

    Literal l1 = Literal.parseLiteral("a(10,x)");
    assertFalse(l1.hasSource());
    ag.addBel(l1);
    ag.addBel(Literal.parseLiteral("a(20,y)"));
    ag.addBel(Literal.parseLiteral("a(30,x)"));
    assertEquals(ag.getBB().size(),3);

    Unifier u = new Unifier();
    Term X = ASSyntax.parseTerm("f(X)");
    Literal c = Literal.parseLiteral("a(X,x)");
    c.addAnnot(BeliefBase.TSelf);
    VarTerm L = new VarTerm("L");
    // System.out.println(ag.getPS().getAllRelevant(Trigger.parseTrigger(ste.getFunctor())));
    try {
        assertTrue((Boolean)new jason.stdlib.findall().execute(ag.getTS(), u, new Term[] { X, c, L }));
    } catch (Exception e) {
        e.printStackTrace();
    }
    ListTerm lt = (ListTerm) u.get("L");
    //System.out.println("found=" + lt);
    assertEquals(lt.size(), 2);
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:27,代码来源:StdLibTest.java

示例8: testLogConsWithAnnotsBacktracking

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testLogConsWithAnnotsBacktracking() {
    Agent ag = new Agent();
    ag.initAg();

    ag.getBB().add(Literal.parseLiteral("p(10)[source(ag1),source(ag2),b,40,2]"));
    ag.getBB().add(Literal.parseLiteral("p(10)[source(ag3),source(ag2),b,40,2]"));
    ag.getBB().add(Literal.parseLiteral("p(20)[source(ag4),source(ag2),b,u,k]"));
    ag.getBB().add(Literal.parseLiteral("p(30)[source(ag5),source(ag2),40,u,k]"));

    Iterator<Unifier> iun = Literal.parseLiteral("p(Y)[source(X),b]").logicalConsequence(ag, new Unifier());
    int c = 0;
    while (iun.hasNext()) {
        iun.next();
        c++;
    }
    assertEquals(5, c);
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:18,代码来源:BeliefBaseTest.java

示例9: process

import jason.asSemantics.Agent; //导入方法依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Agent newAg = new Agent();
        newAg.initAg();
        
        Literal goal = Literal.parseLiteral(directive.getTerm(0).toString());
        
        // add +!g : g <- true.
        newAg.getPL().add(ASSyntax.parsePlan("+!"+goal+" : " +goal+"."));
        
        // add ?g in the end of all inner plans
        for (Plan p: innerContent.getPL()) {
            // only for +!g plans
            if (p.getTrigger().isAchvGoal()) {
                Literal planGoal = p.getTrigger().getLiteral();
                if (new Unifier().unifies(planGoal, goal)) { // if the plan goal unifier the pattern goal
                    PlanBody b = new PlanBodyImpl(BodyType.test, planGoal.copy()); //goal.copy());
                    p.getBody().add(b);
                }
            }
            newAg.getPL().add(p);
        }
        
        // add +g : true <- .succeed_goal(g).
        newAg.getPL().add(ASSyntax.parsePlan("+"+goal+" <- .succeed_goal("+goal+")."));
        
        return newAg;
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive error.", e);
    }
    return null;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:34,代码来源:DG.java

示例10: process

import jason.asSemantics.Agent; //导入方法依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Trigger trigger = ASSyntax.parseTrigger(((StringTerm)directive.getTerm(0)).getString());
        LogicalFormula context = LogExpr.parseExpr(((StringTerm)directive.getTerm(1)).getString());
        Term goal = directive.getTerm(2);
        
        Agent newAg = new Agent();
        newAg.initAg();

        // add t : not f__l(_) & c <- !f__g(g).
        newAg.getPL().add(ASSyntax.parsePlan(trigger+" : not f__l(_) & " +context +" <- !f__g("+goal+")."));
        
        // add t : f__l(_) & c <- +f__l(g).
        newAg.getPL().add(ASSyntax.parsePlan(trigger+" : f__l(_) & (" +context +") <- +f__l("+goal+")."));
        
        // add +!fg(g) : true <- +fl(g); !g; -fl(g)
        newAg.getPL().add(ASSyntax.parsePlan("+!f__g("+goal+") <- +f__l("+goal+"); !"+goal+"; -f__l("+goal+")."));            
        
        // add -!fg(g) : true <- -fl(g)
        newAg.getPL().add(ASSyntax.parsePlan("-!f__g("+goal+") <- -f__l("+goal+")."));            

        // add -fl(_) : fg(g) <- !fg(g)
        newAg.getPL().add(ASSyntax.parsePlan("-f__l("+goal+") : f__l("+goal+") <- !f__g("+goal+")."));            

        return newAg;
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive DG error.", e);
    }
    return null;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:32,代码来源:SGA.java

示例11: parse

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public SideKickParsedData parse(Buffer buf, DefaultErrorSource errorSource) {
    String text;
    try {
        buf.readLock();
        text = buf.getText(0,buf.getLength());
    } finally {
        buf.readUnlock();
    }

    try {
        jason.asSyntax.parser.as2j parser = new jason.asSyntax.parser.as2j(new StringReader(text));
        
        Agent ag = new Agent();
        ag.initAg();
        parser.agent(ag);
        
        // create nodes 
        pd = new SideKickParsedData(buf.getName());
        for (Plan p: ag.getPL()) {
            DefaultMutableTreeNode node = new PlanAsset(p, buf).createTreeNode();
            pd.root.add(node);
        }          
            
    } catch (jason.asSyntax.parser.ParseException ex) {
        addError(ex, errorSource, buf.getPath());
    } catch (Exception e) {
        System.out.println("Error in AS SideKick:"+e);
        e.printStackTrace();
    }
    return pd;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:32,代码来源:AgentSpeakSideKickParser.java

示例12: testDropGoal2

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testDropGoal2() throws Exception {
    Agent ag = new Agent();
    ag.initAg();
    TransitionSystem ts = new TransitionSystem(ag, null, null, null);
    ts.getC().addIntention(intention1);
    assertFalse(ts.hasGoalListener());
    new succeed_goal().drop(ts, Literal.parseLiteral("g2"), new Unifier());
    assertEquals(intention1.size(), 1);
    intention1.push(new IntendedMeans(new Option(p4,new Unifier()), null));
    new succeed_goal().drop(ts, Literal.parseLiteral("g4"), new Unifier());
    assertTrue(intention1.isFinished());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:13,代码来源:StdLibTest.java

示例13: testKQML

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testKQML() {
    Agent ag = new Agent();
    ag.initAg();

    assertTrue(ag.parseAS(new File("src/asl/kqmlPlans.asl")));
    assertTrue(ag.parseAS(new File("examples/auction/ag1.asl")));
    Plan p = ag.getPL().get("l__1");
    assertNotNull(p);
    assertEquals(p.getBody().getPlanSize(), 1);
    assertEquals(((PlanBody)p.getBody()).getBodyType(), PlanBody.BodyType.internalAction);
    assertTrue(ag.parseAS(new File("examples/auction/ag2.asl")));
    assertTrue(ag.parseAS(new File("examples/auction/ag3.asl")));
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:14,代码来源:ASParserTest.java

示例14: testCount

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testCount() throws Exception {
    Agent ag = new Agent();
    ag.initAg();

    assertTrue(ag.getFunction(".count",1) != null);
    ag.getBB().add(Literal.parseLiteral("b(10)"));
    ag.getBB().add(Literal.parseLiteral("a(x)"));
    ag.getBB().add(Literal.parseLiteral("b(20)"));
    assertEquals(3, ag.getBB().size());
    
    ArithFunctionTerm nb = (ArithFunctionTerm)ArithExpr.parseExpr(ag,".count(b(_))");
    NumberTerm tnb = (NumberTerm)nb.capply(new Unifier());
    assertEquals(2.0,tnb.solve());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:15,代码来源:ExprTermTest.java

示例15: testParserNS1

import jason.asSemantics.Agent; //导入方法依赖的package包/类
public void testParserNS1() throws ParseException, JasonException {
    
    as2j parser = new as2j(new StringReader("b(10). b(20). b(tell). ns71::b(30). default::b(40). !g(ok). +!g(X) <- .print(kk, 10, X). "));
    parser.setNS(new Atom("ns33"));
    Agent a = new Agent();
    a.initAg();
    parser.agent(a);
    a.addInitialBelsInBB();
    assertTrue(a.getBB().toString().contains("ns33::b(10)"));
    assertTrue(a.getBB().toString().contains("ns33::b(20)"));
    assertTrue(a.getBB().toString().contains("ns33::b(tell)")); // tell is reserved word
    
    //assertTrue(a.getPL().toString().contains("!ns33::g(ns33::X) <- .print(ns33::kk,10,ns33::X)"));
    assertTrue(a.getPL().toString().contains("!ns33::g(X) <- .print(kk,10,X)"));
    
    //assertTrue(a.getInitialGoals().toString().equals("[ns33::g(ns33::ok)]"));
    assertTrue(a.getInitialGoals().toString().equals("[ns33::g(ok)]"));

    // BB iterator
    int i = 0;
    Iterator<Literal> il = a.getBB().iterator();
    while (il.hasNext()) {
        //Literal l = 
        il.next();
        i++;
    }
    assertEquals(5,i);
    
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:30,代码来源:NSTest.java


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