本文整理汇总了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."));
}
示例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));
}
示例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);
}
示例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());
}
示例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."));
}
示例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;
}
示例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);
}
示例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);
}
示例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;
}
示例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;
}
示例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;
}
示例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());
}
示例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")));
}
示例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());
}
示例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);
}