public Solution search(State init, int goalN, String strategy, boolean visualize) {
		GenericSearch searcher = null;
		switch (strategy) {
		case "DF":
			searcher = new DFSSearch(this, visualize);
			break;
		case "BF":
			searcher = new BFSSearch(this, visualize);
			break;
		case "ID":
			searcher = new IDSearch(this, visualize);
			break;
		case "GR1":
			searcher = new GRSearch(this, 1, visualize);
			break;
		case "GR2":
			searcher = new GRSearch(this, 2, visualize);
			break;
		case "AS1":
			searcher = new ASSearch(this, 1, visualize);
			break;
		case "AS2":
			searcher = new ASSearch(this, 2, visualize);
			break;
			
		}
		return searcher.search(init, goalN);
	}