def breadth_first(state):
	"""Takes as input the description of the state of the puzzle
	as a list of number. Search for a path to the goal using breadth
	first search and returns the list of moves needed to get to the 
	goal state. The return value should be a list of string"""

	return []

def iterative_deepening(state):
	"""Takes as input the description of the state of the puzzle
	as a list of number. Search for a path to the goal using iterative
	deepening search and returns the list of moves needed to get to the 
	goal state. The return value should be a list of string"""

	return []

def astar_manhattan(state):
	"""Takes as input the description of the state of the puzzle
	as a list of number. Search for a path to the goal using A* and
	the manhattan distance as heuristic. Returns the list of moves
	needed to get to the goal state. The return value should be a
	list of string"""

	return []

def astar_misplaced(state):
	"""Takes as input the description of the state of the puzzle
	as a list of number. Search for a path to the goal using A* and
	the number of misplaced tiles as heuristic. Returns the list of moves
	needed to get to the goal state. The return value should be a
	list of string"""

	return []
