Package weka.associations.tertius

Examples of weka.associations.tertius.SimpleLinkedList


    if (m_parts == null) {
      m_instances = new Instances(instances);
    } else {
      m_instances = new IndividualInstances(new Instances(instances), m_parts);
    }   
    m_results = new SimpleLinkedList();
    m_hypotheses = 0;
    m_explored = 0;
    m_status = NORMAL;

    if (m_classIndex == -1)
View Full Code Here


   * The search starts with the empty rule, other rules are generated by
   * refinement.
   */
  public void search() {

    SimpleLinkedList nodes = new SimpleLinkedList(); /* The agenda. */
    Rule currentNode;
    SimpleLinkedList children;
    SimpleLinkedList.LinkedListIterator iter;
    Rule child;
    boolean negBody = (m_negation == BODY || m_negation == ALL);
    boolean negHead = (m_negation == HEAD || m_negation == ALL);

    /* Start with the empty rule. */
      nodes.add(new Rule(m_repeat, m_numLiterals, negBody, negHead,
       m_classification, m_horn));
   
    /* Print the current values. */
    printValues();

    /* Explore the rules in the agenda. */
    while (m_status != STOP && !nodes.isEmpty()) {
      currentNode = (Rule) nodes.removeFirst();
      if (canRefine(currentNode)) {
  children = currentNode.refine(m_predicates);
  iter = children.iterator();
  /* Calculate the optimistic estimate of the children and
   * consider them for adding to the agenda and to the results. */
  while (iter.hasNext()) {
    m_hypotheses++;
    child = (Rule) iter.next();
    child.upDate(m_instances);
    if (canCalculateOptimistic(child)) {
      child.calculateOptimistic();
      if (canExplore(child)) {
        m_explored++;
        if (canStoreInNodes(child)) {
        } else {
    iter.remove();
        }
        if (canCalculateConfirmation(child)) {
    child.calculateConfirmation();
    if (canStoreInResults(child)) {
      addResult(child);
    }   
        }
      } else {
        iter.remove();
      }
    } else {
      iter.remove();
    }
  }
  /* Since the agenda is already sorted it is more efficient
   * to sort the children only and then merge. */
  children.sort(Rule.optimisticThenObservedComparator);
  nodes.merge(children, Rule.optimisticThenObservedComparator);
      } else {
  /* The agenda being sorted, it is not worth considering the following
   * nodes. */
  break;
 
View Full Code Here

    if (m_parts == null) {
      m_instances = new Instances(instances);
    } else {
      m_instances = new IndividualInstances(new Instances(instances), m_parts);
    }   
    m_results = new SimpleLinkedList();
    m_hypotheses = 0;
    m_explored = 0;
    m_status = NORMAL;

    if (m_classIndex == -1)
View Full Code Here

   * The search starts with the empty rule, other rules are generated by
   * refinement.
   */
  public void search() {

    SimpleLinkedList nodes = new SimpleLinkedList(); /* The agenda. */
    Rule currentNode;
    SimpleLinkedList children;
    SimpleLinkedList.LinkedListIterator iter;
    Rule child;
    boolean negBody = (m_negation == BODY || m_negation == ALL);
    boolean negHead = (m_negation == HEAD || m_negation == ALL);

    /* Start with the empty rule. */
      nodes.add(new Rule(m_repeat, m_numLiterals, negBody, negHead,
       m_classification, m_horn));
   
    /* Print the current values. */
    printValues();

    /* Explore the rules in the agenda. */
    while (m_status != STOP && !nodes.isEmpty()) {
      currentNode = (Rule) nodes.removeFirst();
      if (canRefine(currentNode)) {
  children = currentNode.refine(m_predicates);
  iter = children.iterator();
  /* Calculate the optimistic estimate of the children and
   * consider them for adding to the agenda and to the results. */
  while (iter.hasNext()) {
    m_hypotheses++;
    child = (Rule) iter.next();
    child.upDate(m_instances);
    if (canCalculateOptimistic(child)) {
      child.calculateOptimistic();
      if (canExplore(child)) {
        m_explored++;
        if (canStoreInNodes(child)) {
        } else {
    iter.remove();
        }
        if (canCalculateConfirmation(child)) {
    child.calculateConfirmation();
    if (canStoreInResults(child)) {
      addResult(child);
    }   
        }
      } else {
        iter.remove();
      }
    } else {
      iter.remove();
    }
  }
  /* Since the agenda is already sorted it is more efficient
   * to sort the children only and then merge. */
  children.sort(Rule.optimisticThenObservedComparator);
  nodes.merge(children, Rule.optimisticThenObservedComparator);
      } else {
  /* The agenda being sorted, it is not worth considering the following
   * nodes. */
  break;
 
View Full Code Here

TOP

Related Classes of weka.associations.tertius.SimpleLinkedList

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.