private void AlphaBetaRun(String host, int port) {
		
		sol = new AlphaBeta();

		try{
			Socket s = new Socket(host,port);  
			ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());  
			ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
			oos.writeObject(new String("Solver-Alpha-Beta "+sol.getClass().toString()+" sent from the client"));
			oos.writeObject(sol); 
		
		while(!isSucceed() && (!stop) && hintsNum>0) {
		
			oos.writeObject(new String("Model-2048 sent from the client"));
			oos.writeObject(new Game2048Model(this));
			
			Object obj = ois.readObject();
			
			if(obj != null){
				if(obj instanceof Integer){
					Integer x  = (Integer) obj;
					hint = x.intValue();
					System.out.println("Hint: "+hint);
					doUserCommand(hint);
				}	
			}
			--hintsNum;
		}
			
		oos.writeObject(new String("exit"));
		
			oos.close();    
			ois.close();
			s.close(); 
			
		}catch (Exception e) {
			System.out.println("AB "+ e.getMessage());
		}
			
		hintsNum 	= Integer.MAX_VALUE;
		depth 		= 7;
		System.out.println("done AlphaBeta.");
	}