public void evaluate(Graph graph){
		Iterator<Edge> i0 = graph.edges();
		while(i0.hasNext()){
			Edge e = i0.next();
			Node m1 = graph.getSourceNode(e);
			Node m2 = graph.getTargetNode(e);
			if (m1.get("value").equals(m2.get("value"))){
				e.set("type", "same");
				sameedges++;
			}
			else{
				e.set("type","cross");
				crossedges ++;
			}
			//Triads
			Iterator<Node> i1 = graph.neighbors(m1);
			Iterator<Node> i2 = graph.neighbors(m2);
			ArrayList<Node> a1 = new ArrayList<Node>();
			ArrayList<Node> a2 = new ArrayList<Node>();
			while(i1.hasNext()){
				a1.add(i1.next());
			}
			while(i2.hasNext()){
				a2.add(i2.next());
			}
			for(Node n : a1){
				if(a2.contains(n)){
					triads++;
					if(!n.get("value").equals(m1.get("value")) && !m2.get("value").equals(m1.get("value")) && !n.get("value").equals(m2.get("value"))){
						difftriads++;
					}
				}
			}
			
			
		}

	}