import java.io.*;
import java.util.*;

/**
 * Class for testing the different Networks.
 *
 * @author Jeff Chen
 * @version %I%,%G%
 */
public class TestNetwork{

	public static void main(String[] args)throws IOException{
	
		BackpropagationNetwork net=new BackpropagationNetwork();

		genTestNetwork(new File("../data/test.net"));

		net.resolveStructure(new File("../data/test.net"));
		net.init();
		net.printNetwork();
		double[] out=net.run(new double[]{1,2,3,4,5,6,7});
		for(int n=0;n<out.length;n++)
			System.out.println(out[n]);

		net.writeNetwork(new File("../data/test.net"),new File("../data/test.weights"));
	}

	public static void genTestNetwork(File f)throws IOException{
	
	
		PrintStream out=new PrintStream(new FileOutputStream(f));

		out.println(6);

		for(int n=0;n<5;n++) out.println(7);
		out.println(1);

		ArrayList<Integer> conn=new ArrayList<Integer>();

		for(int n=0;n<7;n++) out.println("0 "+n+" "+n);

		for(int n=1;n<4;n++){
		
			conn=new ArrayList<Integer>();

			for(int m=0;m<14;m++) conn.add(new Integer(m%7));

			for(int m=0;m<7;m++){
	
				out.println(n+" "+m+" "+conn.remove((int)(Math.random()*conn.size())).intValue());
				out.println(n+" "+m+" "+conn.remove((int)(Math.random()*conn.size())).intValue());
			}
		}

		for(int n=0;n<7;n++)
			out.println("4 "+n+" 0");
	}
}