Package urban.model

Examples of urban.model.Rule


            }
          }
        }
      }
     
      return new Rule(null, toAgents(lhs, ordering), toAgents(rhs, ordering), true, 0.0, 0.0);
  }
View Full Code Here


  public Rule calculateRates(Generator g, Rule in){
    RuleGraph rg = new RuleToRuleGraphTransformer().transform(in);
    Double forward = Math.pow(Math.E, getConstant(g) + shapes(g,rg, false, 0) - shapes(g,rg, true, 0) );
    Double backward = Math.pow(Math.E, getConstant(g) + shapes(g,rg, false, 1) - shapes(g,rg, true, 1) );
   
    return new Rule(in.getName(), in.getLhs(), in.getRhs(), true, forward, backward);
  }
View Full Code Here

      List<Agent> btmp = new ArrayList<Agent>(rule.getLhs()).subList(0, searchAfter);
      btmp.addAll(lc);
      List<Agent> atmp = new ArrayList<Agent>(rule.getRhs()).subList(0, searchAfter);
      atmp.addAll(lc);
      try {
        list.add( new Rule(rule.getName() == null ? null : rule.getName()+"."+i,btmp,atmp, rule.isBidirectional(), rule.getForwardRate(), rule.getBackwardRate()));
      } catch (Exception e) {
        e.printStackTrace();
      }
      i++;
    }
View Full Code Here

   * @param string
   * @return generator constructed from string
   */
  public static Generator createGeneratorFromString(String string){
    try {
      Rule rule = UrbanParser.parse(string + "@ 0,0\n").rule();
      return new RuleToGeneratorTransformer().transform(rule);
    } catch (RecognitionException e) {
      e.printStackTrace();
      return null;
    }
View Full Code Here

  @Test
  public void testRule() throws RecognitionException {
    String expected = "A() -> B() @ 1\n";
    UrbanParser parser = new UrbanParser(expected);
    Rule rule = (Rule) parser.line();
    assertEquals(expected, rule.toString());
  }
View Full Code Here

   
    p.constants.put(G,3.16227766016838);
    p.epsilons.put(S1, Math.log(0.1));
    p.lambda.put(pairOf(G,S1), -0.5);

    Rule r = new Rule(null,A_f("0"), A_f("1"), true, 0.0, 0.0);
    Rule expected = new Rule(null,A_f("0"), A_f("1"), true, 1.0, 10.0);   
    Rule actual = new RateCalculator(p).calculateRates(G, r);
    assertEquals(""+expected, ""+actual);
  }
View Full Code Here

  public void testCalculateRates_EmptyParameters(){
    Collection<Agent> f0 = join(A_f("0"));
    Collection<Agent> f1 = join(A_f("1"));
    ShapeParameters p = new ShapeParameters();
   
    Rule r = new Rule(null,f0, f1, true, 0.0, 0.0);
    Rule expected = new Rule(null,f0, f1, true, 0.0, 0.0);   
    Rule actual = new RateCalculator(p).calculateRates(G, r);
    assertEquals(""+expected, ""+actual);
  }
View Full Code Here

import urban.parser.UrbanParser;
import urban.transformers.RuleToGeneratorTransformer;

public class RuleMergerTest {
  private void doTest(String expected, String rule1, String rule2) throws RecognitionException {
    Rule r1 = rule(rule1);
    Rule r2 = rule(rule2);
    if (expected == null){
      nullTest(r1, r2);
      nullTest(r2, r1);     
    } else {
      assertEquals(expected + " @ 0, 0\n", RuleMerger.merge(r1, r2).toString());
View Full Code Here

      assertEquals(expected + " @ 0, 0\n", RuleMerger.merge(r2, r1).toString());
    }
  }

  public void nullTest(Rule r1, Rule r2) {
    Rule merge = RuleMerger.merge(r1, r2);
    assertNull(""+merge, RuleMerger.merge(r1, r2));
  }
View Full Code Here

TOP

Related Classes of urban.model.Rule

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.