private void randomSolve()
	{
		Log.log("RandomSolve <Start>");
		collectAreas(true);
		if ( !mAreas.isEmpty())
		{
			double prop = 0;
			Area maxArea = null;
			for (Area area : mAreas)
				if ( !area.isToRemove() && (maxArea == null || area.getProbability() > prop))
				{
					maxArea = area;
					prop = maxArea.getProbability();
				}
			for (int tile : maxArea.getTiles())
			{
				final int x = Tile.getX(tile), y = Tile.getY(tile);
				Log.log("Opening: " + x + " " + y);
				mAnalyzer.userOpenTile(x, y);
				mChanged = true;
				break;
			}
		}
		Log.log("RandomSolve <End>");
	}