@Override
	public String toString() {
		String output = "\t\t";
		for (String letter : alphabet)
			output += letter + "\t";
		output += "\n";
		for (State state : states) {
			if (state.isStart())
				output += "->\t" + state.getName() + "\t";
			else if (state.isFinal())
				output += "*\t" + state.getName() + "\t";
			else
				output += "\t" + state.getName() + "\t";
			for (String letter : alphabet) {
				Set transStates = state.transition(letter);
				if (transStates == null)
					output += "";
				else
					for (State state2 : transStates)
						output += state2.getName() + " ";
				output += "\t";
			}
			output += "\n";
		}
		return output;
	}