private double randomSimulate(State s){
    	while(true){
    		Move m = s.findSmartRandomMove(s.whoseTurn());
    		if(m==null){
    			if(s.getnBlue()+s.getnRed() == 58){
    				if(me.equals("red")){
    					//return s.getnRed()>s.getnBlue()?1:0;
    					return sigmoid(s.getnRed()-s.getnBlue());
    				}
    				else{
    					//return s.getnBlue()>s.getnRed()?1:0;
    					return sigmoid(s.getnBlue()-s.getnRed());
    				}
    			}
    			else return s.whoseTurn().equals(me)?0:1;
    		}
    		s = s.tryMove(m);
    		int score = (me.equals("red"))?s.getnRed()-s.getnBlue():s.getnBlue()-s.getnRed();
    		if(s.whoseTurn().equals(me)){
    			if(score<nowScore-acceptDiff){
    				return 0;
    			}
    		}
    		else{
    			if(score>nowScore+acceptDiff){
    				return 1;
    			}
    		}
    	}
    }