/* Learning Net - shlomy boshy 031868912
 * Reinforcement Learning network simulation  
 */
package learnnet;

public class GRID6X6Topology implements Topology {

Node[][] nodes;

GRID6X6Topology() {        
    nodes = new Node[6][6];
  }

  public void loadTopology (Network NT) {
     /** loads nodes and links in network */
     /* node[i][j] is node at row i,column j of the 6X6 grid 
      *  as described in the paper
      */
     
     
     /* create nodes */
     Network.debugPrint("Creating network topology...");
     for (int i=0;i<6;i++)
       for (int j=0;j<6;j++)           
          nodes[i][j] = NT.createNode();  
        
     /* add links by topology (ordered by rows) */          
     NT.createLink(nodes[0][0],nodes[0][1],1);
     NT.createLink(nodes[0][0],nodes[1][0],1);
     NT.createLink(nodes[0][1],nodes[0][2],1);
     NT.createLink(nodes[0][2],nodes[0][3],1);
     NT.createLink(nodes[0][3],nodes[0][4],1);
     NT.createLink(nodes[0][4],nodes[0][5],1);
     NT.createLink(nodes[0][5],nodes[1][5],1);
     NT.createLink(nodes[1][0],nodes[2][0],1);
     NT.createLink(nodes[1][1],nodes[1][2],1);
     NT.createLink(nodes[1][1],nodes[2][1],1);
     NT.createLink(nodes[1][2],nodes[2][2],1);
     NT.createLink(nodes[1][3],nodes[1][4],1);
     NT.createLink(nodes[1][3],nodes[2][3],1);
     NT.createLink(nodes[1][4],nodes[2][4],1);
     NT.createLink(nodes[1][5],nodes[2][5],1);
     NT.createLink(nodes[2][0],nodes[2][1],1);
     NT.createLink(nodes[2][0],nodes[3][0],1);
     NT.createLink(nodes[2][1],nodes[2][2],1);
     NT.createLink(nodes[2][1],nodes[3][1],1);
     NT.createLink(nodes[2][2],nodes[2][3],1);
     NT.createLink(nodes[2][2],nodes[3][2],1);
     NT.createLink(nodes[2][3],nodes[2][4],1);
     NT.createLink(nodes[2][3],nodes[3][3],1);
     NT.createLink(nodes[2][4],nodes[2][5],1);
     NT.createLink(nodes[2][4],nodes[3][4],1);
     NT.createLink(nodes[2][5],nodes[3][5],1);
     NT.createLink(nodes[3][0],nodes[3][1],1);
     NT.createLink(nodes[3][0],nodes[4][0],1);
     NT.createLink(nodes[3][1],nodes[3][2],1);
     NT.createLink(nodes[3][1],nodes[4][1],1);
     NT.createLink(nodes[3][2],nodes[4][2],1);
     NT.createLink(nodes[3][3],nodes[3][4],1);
     NT.createLink(nodes[3][3],nodes[4][3],1);
     NT.createLink(nodes[3][4],nodes[3][5],1);
     NT.createLink(nodes[3][4],nodes[4][4],1);
     NT.createLink(nodes[3][5],nodes[4][5],1);
     NT.createLink(nodes[4][0],nodes[4][1],1);
     NT.createLink(nodes[4][0],nodes[5][0],1);
     NT.createLink(nodes[4][1],nodes[4][2],1);
     NT.createLink(nodes[4][1],nodes[5][1],1);
     NT.createLink(nodes[4][2],nodes[5][2],1);
     NT.createLink(nodes[4][3],nodes[4][4],1);
     NT.createLink(nodes[4][3],nodes[5][3],1);
     NT.createLink(nodes[4][4],nodes[4][5],1);
     NT.createLink(nodes[4][4],nodes[5][4],1);
     NT.createLink(nodes[4][5],nodes[5][5],1);
     NT.createLink(nodes[5][0],nodes[5][1],1);
     NT.createLink(nodes[5][1],nodes[5][2],1);
     NT.createLink(nodes[5][3],nodes[5][4],1);
     NT.createLink(nodes[5][4],nodes[5][5],1);
  }

}