public void printQLearning()
	{
		for(int i = 0; i < this.States.length; i++)
		{
			for(int j = 0; j < this.States[0].length; j++)
			{
				if(this.States[i][j].IsWall)
				{
					System.out.print("( WALL )");
				}else if(this.States[i][j].IsTerminal)
				{
					System.out.print("( TERMI )") ;
				}else{
					System.out.print("( *" + this.States[i][j].OptimalPolicy + "*)" );
					System.out.print("("+ ACTION.UP + ":" + this.States[i][j].GetQValue(ACTION.UP) + "|"
							+ ACTION.DOWN + ":" + this.States[i][j].GetQValue(ACTION.DOWN) + "|" 
							+ ACTION.LEFT + ":" + this.States[i][j].GetQValue(ACTION.LEFT) + "|"
							+ ACTION.RIGHT + ":" + this.States[i][j].GetQValue(ACTION.RIGHT) + ")");
				}
			}
			System.out.println();
		}
	}