package game.training;

import game.logic.GameBoard;
import game.logic.Vector;
/**
 * This class initializes the weight vector for each player as part of the
 * bootstrapping, according to our intuition, and writes them into a file.
 * As can be seen, we tried some different approaches:
 * a) weights are all zero.
 * b) weights are uniformly distributed.
 * c) weights are initialized to some logical values.
 * 
 * We chose the final option at the end, because it yielded the best results.
 *
 */
public class InitializeStartingWeights {
	public static void main(String args[]){
		
		Vector w1 = new Vector(GameBoard.VectorSize);
		Vector w2 = new Vector(GameBoard.VectorSize);
		
		/* *****************************
		 * Starting Weights for player1
		 * *****************************
		 */
		/* Weights for player1 */
		w1.setValue(GameBoard.TwoSideThreeInARow, 0.3);
		w1.setValue(GameBoard.OneSideThreeInARow, 0.1);
		w1.setValue(GameBoard.AllRowThrees, 0.01);
		w1.setValue(GameBoard.ThreeInARowHole1, 0.2);
		w1.setValue(GameBoard.ThreeInARowHole2, 0.1);
		w1.setValue(GameBoard.TwoInARow, 0.005);
	//	w1.setValue(GameBoardUpdated.AllRowTwos, 0.01);
	//	w1.setValue(GameBoardUpdated.OneInARow, 0.0005);
	//	w1.setValue(GameBoardUpdated.AllRowOnes, 0.001);
		w1.setValue(GameBoard.ThreeInACol, 0.01);
	//	w1.setValue(GameBoardUpdated.TwoInACol, 0.001);
	//	w1.setValue(GameBoardUpdated.OneInACol, 0.0001);
		w1.setValue(GameBoard.TwoSideThreeInADiagonal, 0.3);
		w1.setValue(GameBoard.OneSideThreeInADiagonal, 0.1);
		w1.setValue(GameBoard.AllDiagonalThrees, 0.01);
		w1.setValue(GameBoard.ThreeInADiagonalHole1, 0.2);
		w1.setValue(GameBoard.ThreeInADiagonalHole2, 0.1);
		w1.setValue(GameBoard.TwoInADiagonal, 0.005);
	//	w1.setValue(GameBoardUpdated.AllDiagonalTwos, 0.01);
	//	w1.setValue(GameBoardUpdated.FourInARow, 1);
		w1.setValue(GameBoard.OneMoveToWin, 0.1);
		w1.setValue(GameBoard.ProhibitedMove, -0.05);
		w1.setValue(GameBoard.PotentialFour, 0.01);
		w1.setValue(GameBoard.WinColumns, 0.3);
		w1.setValue(GameBoard.OneMoveToWinHole, 0.01);
		
		
		/* Weights for player2 */
		w1.setValue(GameBoard.OpTwoSideThreeInARow, -0.3);
		w1.setValue(GameBoard.OpOneSideThreeInARow, -0.1);
		w1.setValue(GameBoard.OpAllRowThrees, -0.01);
		w1.setValue(GameBoard.OpThreeInARowHole1, -0.2);
		w1.setValue(GameBoard.OpThreeInARowHole2, -0.1);
		w1.setValue(GameBoard.OpTwoInARow, -0.005);
	//	w1.setValue(GameBoardUpdated.OpAllRowTwos, -0.01);
	//	w1.setValue(GameBoardUpdated.OpOneInARow, -0.0005);
	//	w1.setValue(GameBoardUpdated.OpAllRowOnes, -0.001);
		w1.setValue(GameBoard.OpThreeInACol, -0.01);
	//	w1.setValue(GameBoardUpdated.OpTwoInACol, -0.001);
	//	w1.setValue(GameBoardUpdated.OpOneInACol, -0.0001);
		w1.setValue(GameBoard.OpTwoSideThreeInADiagonal, -0.3);
		w1.setValue(GameBoard.OpOneSideThreeInADiagonal, -0.1);
		w1.setValue(GameBoard.OpAllDiagonalThrees, -0.01);
		w1.setValue(GameBoard.OpThreeInADiagonalHole1, -0.2);
		w1.setValue(GameBoard.OpThreeInADiagonalHole2, -0.1);
		w1.setValue(GameBoard.OpTwoInADiagonal, -0.005);
	//	w1.setValue(GameBoardUpdated.OpAllDiagonalTwos, -0.01);
	//	w1.setValue(GameBoardUpdated.OpFourInARow, -1);
		w1.setValue(GameBoard.OpOneMoveToWin, -0.1);
		w1.setValue(GameBoard.OpProhibitedMove, 0.05);
		w1.setValue(GameBoard.OpPotentialFour, -0.01);
		w1.setValue(GameBoard.OpWinColumns, -0.3);
		w1.setValue(GameBoard.OpOneMoveToWinHole, -0.01);
		
		
		
		
		
		/* *****************************
		 * Starting Weights for player2
		 * *****************************
		 */
		/* Weights for player1 */
		w2.setValue(GameBoard.TwoSideThreeInARow, -0.3);
		w2.setValue(GameBoard.OneSideThreeInARow, -0.1);
		w2.setValue(GameBoard.AllRowThrees, -0.01);
		w2.setValue(GameBoard.ThreeInARowHole1, -0.2);
		w2.setValue(GameBoard.ThreeInARowHole2, -0.1);
		w2.setValue(GameBoard.TwoInARow, -0.005);
	//	w2.setValue(GameBoardUpdated.AllRowTwos, -0.01);
	//	w2.setValue(GameBoardUpdated.OneInARow, -0.0005);
	//	w2.setValue(GameBoardUpdated.AllRowOnes, -0.001);
		w2.setValue(GameBoard.ThreeInACol, -0.01);
	//	w2.setValue(GameBoardUpdated.TwoInACol, -0.001);
	//	w2.setValue(GameBoardUpdated.OneInACol, -0.0001);
		w2.setValue(GameBoard.TwoSideThreeInADiagonal, -0.3);
		w2.setValue(GameBoard.OneSideThreeInADiagonal, -0.1);
		w2.setValue(GameBoard.AllDiagonalThrees, -0.01);
		w2.setValue(GameBoard.ThreeInADiagonalHole1, -0.2);
		w2.setValue(GameBoard.ThreeInADiagonalHole2, -0.1);
		w2.setValue(GameBoard.TwoInADiagonal, -0.005);
	//	w2.setValue(GameBoardUpdated.AllDiagonalTwos, -0.01);
	//	w2.setValue(GameBoardUpdated.FourInARow, -1);
		w2.setValue(GameBoard.OneMoveToWin, -0.1);
		w2.setValue(GameBoard.ProhibitedMove, 0.05);
		w2.setValue(GameBoard.PotentialFour, -0.01);
		w2.setValue(GameBoard.WinColumns, -0.3);
		w2.setValue(GameBoard.OneMoveToWinHole, -0.01);
		
		
		/* Weights for player2 */
		w2.setValue(GameBoard.OpTwoSideThreeInARow, 0.3);
		w2.setValue(GameBoard.OpOneSideThreeInARow, 0.1);
		w2.setValue(GameBoard.OpAllRowThrees, 0.01);
		w2.setValue(GameBoard.OpThreeInARowHole1, 0.2);
		w2.setValue(GameBoard.OpThreeInARowHole2, 0.1);
		w2.setValue(GameBoard.OpTwoInARow, 0.005);
	//	w2.setValue(GameBoardUpdated.OpAllRowTwos, 0.01);
	//	w2.setValue(GameBoardUpdated.OpOneInARow, 0.0005);
	//	w2.setValue(GameBoardUpdated.OpAllRowOnes, 0.001);
		w2.setValue(GameBoard.OpThreeInACol, 0.01);
	//	w2.setValue(GameBoardUpdated.OpTwoInACol, 0.001);
	//	w2.setValue(GameBoardUpdated.OpOneInACol, 0.0001);
		w2.setValue(GameBoard.OpTwoSideThreeInADiagonal, 0.3);
		w2.setValue(GameBoard.OpOneSideThreeInADiagonal, 0.1);
		w2.setValue(GameBoard.OpAllDiagonalThrees, 0.01);
		w2.setValue(GameBoard.OpThreeInADiagonalHole1, 0.2);
		w2.setValue(GameBoard.OpThreeInADiagonalHole2, 0.1);
		w2.setValue(GameBoard.OpTwoInADiagonal, 0.005);
	//	w2.setValue(GameBoardUpdated.OpAllDiagonalTwos, 0.01);
	//	w2.setValue(GameBoardUpdated.OpFourInARow, 1);
		w2.setValue(GameBoard.OpOneMoveToWin, 0.1);
		w2.setValue(GameBoard.OpProhibitedMove, -0.05);
		w2.setValue(GameBoard.OpPotentialFour, 0.01);
		w2.setValue(GameBoard.OpWinColumns, 0.3);
		w2.setValue(GameBoard.OpOneMoveToWinHole, 0.01);
		
		/* Totally random weights */
		
		/* *****************************
		 * Starting Weights for player1
		 * *****************************
		 */
		/* Weights for player1 */
	/*	w1.setValue(GameBoardUpdated.TwoSideThreeInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OneSideThreeInARow, 0.0208);
		w1.setValue(GameBoardUpdated.AllRowThrees, 0.0208);
		w1.setValue(GameBoardUpdated.ThreeInARowHole1, 0.0208);
		w1.setValue(GameBoardUpdated.ThreeInARowHole2, 0.0208);
		w1.setValue(GameBoardUpdated.TwoInARow, 0.0208);
		w1.setValue(GameBoardUpdated.AllRowTwos, 0.0208);
		w1.setValue(GameBoardUpdated.OneInARow, 0.0208);
		w1.setValue(GameBoardUpdated.AllRowOnes, 0.0208);
		w1.setValue(GameBoardUpdated.ThreeInACol, 0.0208);
		w1.setValue(GameBoardUpdated.TwoInACol, 0.0208);
		w1.setValue(GameBoardUpdated.OneInACol, 0.0208);
		w1.setValue(GameBoardUpdated.TwoSideThreeInADiagonal, 0.0208);
		w1.setValue(GameBoardUpdated.OneSideThreeInADiagonal, 0.0208);
		w1.setValue(GameBoardUpdated.AllDiagonalThrees, 0.0208);
		w1.setValue(GameBoardUpdated.ThreeInADiagonalHole1, 0.0208);
		w1.setValue(GameBoardUpdated.ThreeInADiagonalHole2, 0.0208);
		w1.setValue(GameBoardUpdated.TwoInADiagonal, 0.0208);
		w1.setValue(GameBoardUpdated.AllDiagonalTwos, 0.0208);
		w1.setValue(GameBoardUpdated.FourInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OneMoveToWin, 0.0208);
		w1.setValue(GameBoardUpdated.ProhibitedMove, 0.0208);
		w1.setValue(GameBoardUpdated.PotentialFour, 0.0208);
		w1.setValue(GameBoardUpdated.WinColumns, 0.0208);
		
		
		/* Weights for player2 */
	/*	w1.setValue(GameBoardUpdated.OpTwoSideThreeInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OpOneSideThreeInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OpAllRowThrees, 0.0208);
		w1.setValue(GameBoardUpdated.OpThreeInARowHole1, 0.0208);
		w1.setValue(GameBoardUpdated.OpThreeInARowHole2, 0.0208);
		w1.setValue(GameBoardUpdated.OpTwoInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OpAllRowTwos, 0.0208);
		w1.setValue(GameBoardUpdated.OpOneInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OpAllRowOnes, 0.0208);
		w1.setValue(GameBoardUpdated.OpThreeInACol, 0.0208);
		w1.setValue(GameBoardUpdated.OpTwoInACol, 0.0208);
		w1.setValue(GameBoardUpdated.OpOneInACol, 0.0208);
		w1.setValue(GameBoardUpdated.OpTwoSideThreeInADiagonal, 0.0208);
		w1.setValue(GameBoardUpdated.OpOneSideThreeInADiagonal, 0.0208);
		w1.setValue(GameBoardUpdated.OpAllDiagonalThrees, 0.0208);
		w1.setValue(GameBoardUpdated.OpThreeInADiagonalHole1, 0.0208);
		w1.setValue(GameBoardUpdated.OpThreeInADiagonalHole2, 0.0208);
		w1.setValue(GameBoardUpdated.OpTwoInADiagonal, 0.0208);
		w1.setValue(GameBoardUpdated.OpAllDiagonalTwos, 0.0208);
		w1.setValue(GameBoardUpdated.OpFourInARow, 0.0208);
		w1.setValue(GameBoardUpdated.OpOneMoveToWin, 0.0208);
		w1.setValue(GameBoardUpdated.OpProhibitedMove, 0.0208);
		w1.setValue(GameBoardUpdated.OpPotentialFour, 0.0208);
		w1.setValue(GameBoardUpdated.OpWinColumns, 0.0208);
		
		
		
		
		
		/* *****************************
		 * Starting Weights for player2
		 * *****************************
		 */
		/* *****************************
		 * Starting Weights for player1
		 * *****************************
		 */
		/* Weights for player1 */
	/*	w2.setValue(GameBoardUpdated.TwoSideThreeInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OneSideThreeInARow, 0.0208);
		w2.setValue(GameBoardUpdated.AllRowThrees, 0.0208);
		w2.setValue(GameBoardUpdated.ThreeInARowHole1, 0.0208);
		w2.setValue(GameBoardUpdated.ThreeInARowHole2, 0.0208);
		w2.setValue(GameBoardUpdated.TwoInARow, 0.0208);
		w2.setValue(GameBoardUpdated.AllRowTwos, 0.0208);
		w2.setValue(GameBoardUpdated.OneInARow, 0.0208);
		w2.setValue(GameBoardUpdated.AllRowOnes, 0.0208);
		w2.setValue(GameBoardUpdated.ThreeInACol, 0.0208);
		w2.setValue(GameBoardUpdated.TwoInACol, 0.0208);
		w2.setValue(GameBoardUpdated.OneInACol, 0.0208);
		w2.setValue(GameBoardUpdated.TwoSideThreeInADiagonal, 0.0208);
		w2.setValue(GameBoardUpdated.OneSideThreeInADiagonal, 0.0208);
		w2.setValue(GameBoardUpdated.AllDiagonalThrees, 0.0208);
		w2.setValue(GameBoardUpdated.ThreeInADiagonalHole1, 0.0208);
		w2.setValue(GameBoardUpdated.ThreeInADiagonalHole2, 0.0208);
		w2.setValue(GameBoardUpdated.TwoInADiagonal, 0.0208);
		w2.setValue(GameBoardUpdated.AllDiagonalTwos, 0.0208);
		w2.setValue(GameBoardUpdated.FourInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OneMoveToWin, 0.0208);
		w2.setValue(GameBoardUpdated.ProhibitedMove, 0.0208);
		w2.setValue(GameBoardUpdated.PotentialFour, 0.0208);
		w2.setValue(GameBoardUpdated.WinColumns, 0.0208);
		
		
		/* Weights for player2 */
	/*	w2.setValue(GameBoardUpdated.OpTwoSideThreeInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OpOneSideThreeInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OpAllRowThrees, 0.0208);
		w2.setValue(GameBoardUpdated.OpThreeInARowHole1, 0.0208);
		w2.setValue(GameBoardUpdated.OpThreeInARowHole2, 0.0208);
		w2.setValue(GameBoardUpdated.OpTwoInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OpAllRowTwos, 0.0208);
		w2.setValue(GameBoardUpdated.OpOneInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OpAllRowOnes, 0.0208);
		w2.setValue(GameBoardUpdated.OpThreeInACol, 0.0208);
		w2.setValue(GameBoardUpdated.OpTwoInACol, 0.0208);
		w2.setValue(GameBoardUpdated.OpOneInACol, 0.0208);
		w2.setValue(GameBoardUpdated.OpTwoSideThreeInADiagonal, 0.0208);
		w2.setValue(GameBoardUpdated.OpOneSideThreeInADiagonal, 0.0208);
		w2.setValue(GameBoardUpdated.OpAllDiagonalThrees, 0.0208);
		w2.setValue(GameBoardUpdated.OpThreeInADiagonalHole1, 0.0208);
		w2.setValue(GameBoardUpdated.OpThreeInADiagonalHole2, 0.0208);
		w2.setValue(GameBoardUpdated.OpTwoInADiagonal, 0.0208);
		w2.setValue(GameBoardUpdated.OpAllDiagonalTwos, 0.0208);
		w2.setValue(GameBoardUpdated.OpFourInARow, 0.0208);
		w2.setValue(GameBoardUpdated.OpOneMoveToWin, 0.0208);
		w2.setValue(GameBoardUpdated.OpProhibitedMove, 0.0208);
		w2.setValue(GameBoardUpdated.OpPotentialFour, 0.0208);
		w2.setValue(GameBoardUpdated.OpWinColumns, 0.0208);
		
		/* *****************************
		 * Starting Weights for player1
		 * *****************************
		 */
		/* Weights for player1 */
	/*	w1.setValue(GameBoardUpdated.TwoSideThreeInARow, 0.0);
		w1.setValue(GameBoardUpdated.OneSideThreeInARow, 0.0);
		w1.setValue(GameBoardUpdated.AllRowThrees, 0.0);
		w1.setValue(GameBoardUpdated.ThreeInARowHole1, 0.0);
		w1.setValue(GameBoardUpdated.ThreeInARowHole2, 0.0);
		w1.setValue(GameBoardUpdated.TwoInARow, 0.0);
		w1.setValue(GameBoardUpdated.AllRowTwos, 0.0);
		w1.setValue(GameBoardUpdated.OneInARow, 0.0);
		w1.setValue(GameBoardUpdated.AllRowOnes, 0.0);
		w1.setValue(GameBoardUpdated.ThreeInACol, 0.0);
		w1.setValue(GameBoardUpdated.TwoInACol, 0.0);
		w1.setValue(GameBoardUpdated.OneInACol, 0.0);
		w1.setValue(GameBoardUpdated.TwoSideThreeInADiagonal, 0.0);
		w1.setValue(GameBoardUpdated.OneSideThreeInADiagonal, 0.0);
		w1.setValue(GameBoardUpdated.AllDiagonalThrees, 0.0);
		w1.setValue(GameBoardUpdated.ThreeInADiagonalHole1, 0.0);
		w1.setValue(GameBoardUpdated.ThreeInADiagonalHole2, 0.0);
		w1.setValue(GameBoardUpdated.TwoInADiagonal, 0.0);
		w1.setValue(GameBoardUpdated.AllDiagonalTwos, 0.0);
		w1.setValue(GameBoardUpdated.FourInARow, 0.0);
		w1.setValue(GameBoardUpdated.OneMoveToWin, 0.0);
		w1.setValue(GameBoardUpdated.ProhibitedMove, 0.0);
		w1.setValue(GameBoardUpdated.PotentialFour, 0.0);
		w1.setValue(GameBoardUpdated.WinColumns, 0.0);
		
		
		/* Weights for player2 */
	/*	w1.setValue(GameBoardUpdated.OpTwoSideThreeInARow, 0.0);
		w1.setValue(GameBoardUpdated.OpOneSideThreeInARow, 0.0);
		w1.setValue(GameBoardUpdated.OpAllRowThrees, 0.0);
		w1.setValue(GameBoardUpdated.OpThreeInARowHole1, 0.0);
		w1.setValue(GameBoardUpdated.OpThreeInARowHole2, 0.0);
		w1.setValue(GameBoardUpdated.OpTwoInARow, 0.0);
		w1.setValue(GameBoardUpdated.OpAllRowTwos, 0.0);
		w1.setValue(GameBoardUpdated.OpOneInARow, 0.0);
		w1.setValue(GameBoardUpdated.OpAllRowOnes, 0.0);
		w1.setValue(GameBoardUpdated.OpThreeInACol, 0.0);
		w1.setValue(GameBoardUpdated.OpTwoInACol, 0.0);
		w1.setValue(GameBoardUpdated.OpOneInACol, 0.0);
		w1.setValue(GameBoardUpdated.OpTwoSideThreeInADiagonal, 0.0);
		w1.setValue(GameBoardUpdated.OpOneSideThreeInADiagonal, 0.0);
		w1.setValue(GameBoardUpdated.OpAllDiagonalThrees, 0.0);
		w1.setValue(GameBoardUpdated.OpThreeInADiagonalHole1, 0.0);
		w1.setValue(GameBoardUpdated.OpThreeInADiagonalHole2, 0.0);
		w1.setValue(GameBoardUpdated.OpTwoInADiagonal, 0.0);
		w1.setValue(GameBoardUpdated.OpAllDiagonalTwos, 0.0);
		w1.setValue(GameBoardUpdated.OpFourInARow, 0.0);
		w1.setValue(GameBoardUpdated.OpOneMoveToWin, 0.0);
		w1.setValue(GameBoardUpdated.OpProhibitedMove, 0.0);
		w1.setValue(GameBoardUpdated.OpPotentialFour, 0.0);
		w1.setValue(GameBoardUpdated.OpWinColumns, 0.0);
		
		/* *****************************
		 * Starting Weights for player2
		 * *****************************
		 */
		/* Weights for player1 */
	/*	w2.setValue(GameBoardUpdated.TwoSideThreeInARow, 0.0);
		w2.setValue(GameBoardUpdated.OneSideThreeInARow, 0.0);
		w2.setValue(GameBoardUpdated.AllRowThrees, 0.0);
		w2.setValue(GameBoardUpdated.ThreeInARowHole1, 0.0);
		w2.setValue(GameBoardUpdated.ThreeInARowHole2, 0.0);
		w2.setValue(GameBoardUpdated.TwoInARow, 0.0);
		w2.setValue(GameBoardUpdated.AllRowTwos, 0.0);
		w2.setValue(GameBoardUpdated.OneInARow, 0.0);
		w2.setValue(GameBoardUpdated.AllRowOnes, 0.0);
		w2.setValue(GameBoardUpdated.ThreeInACol, 0.0);
		w2.setValue(GameBoardUpdated.TwoInACol, 0.0);
		w2.setValue(GameBoardUpdated.OneInACol, 0.0);
		w2.setValue(GameBoardUpdated.TwoSideThreeInADiagonal, 0.0);
		w2.setValue(GameBoardUpdated.OneSideThreeInADiagonal, 0.0);
		w2.setValue(GameBoardUpdated.AllDiagonalThrees, 0.0);
		w2.setValue(GameBoardUpdated.ThreeInADiagonalHole1, 0.0);
		w2.setValue(GameBoardUpdated.ThreeInADiagonalHole2, 0.0);
		w2.setValue(GameBoardUpdated.TwoInADiagonal, 0.0);
		w2.setValue(GameBoardUpdated.AllDiagonalTwos, 0.0);
		w2.setValue(GameBoardUpdated.FourInARow, 0.0);
		w2.setValue(GameBoardUpdated.OneMoveToWin, 0.0);
		w2.setValue(GameBoardUpdated.ProhibitedMove, 0.0);
		w2.setValue(GameBoardUpdated.PotentialFour, 0.0);
		w2.setValue(GameBoardUpdated.WinColumns, 0.0);
		
		
		/* Weights for player2 */
	/*	w2.setValue(GameBoardUpdated.OpTwoSideThreeInARow, 0.0);
		w2.setValue(GameBoardUpdated.OpOneSideThreeInARow, 0.0);
		w2.setValue(GameBoardUpdated.OpAllRowThrees, 0.0);
		w2.setValue(GameBoardUpdated.OpThreeInARowHole1, 0.0);
		w2.setValue(GameBoardUpdated.OpThreeInARowHole2, 0.0);
		w2.setValue(GameBoardUpdated.OpTwoInARow, 0.0);
		w2.setValue(GameBoardUpdated.OpAllRowTwos, 0.0);
		w2.setValue(GameBoardUpdated.OpOneInARow, 0.0);
		w2.setValue(GameBoardUpdated.OpAllRowOnes, 0.0);
		w2.setValue(GameBoardUpdated.OpThreeInACol, 0.0);
		w2.setValue(GameBoardUpdated.OpTwoInACol, 0.0);
		w2.setValue(GameBoardUpdated.OpOneInACol, 0.0);
		w2.setValue(GameBoardUpdated.OpTwoSideThreeInADiagonal, 0.0);
		w2.setValue(GameBoardUpdated.OpOneSideThreeInADiagonal, 0.0);
		w2.setValue(GameBoardUpdated.OpAllDiagonalThrees, 0.0);
		w2.setValue(GameBoardUpdated.OpThreeInADiagonalHole1, 0.0);
		w2.setValue(GameBoardUpdated.OpThreeInADiagonalHole2, 0.0);
		w2.setValue(GameBoardUpdated.OpTwoInADiagonal, 0.0);
		w2.setValue(GameBoardUpdated.OpAllDiagonalTwos, 0.0);
		w2.setValue(GameBoardUpdated.OpFourInARow, 0.0);
		w2.setValue(GameBoardUpdated.OpOneMoveToWin, 0.0);
		w2.setValue(GameBoardUpdated.OpProhibitedMove, 0.0);
		w2.setValue(GameBoardUpdated.OpPotentialFour, 0.0);
		w2.setValue(GameBoardUpdated.OpWinColumns, 0.0);
		
		/* Write the weights to the proper files */
		Vector.writeToFile("Player1Weights.txt", w1);
		Vector.writeToFile("Player2Weights.txt", w2);
	}
}
