Your task is to build an agent to a modifed version of the 8 puzzle problem (called the Expense 8 puzzle problem). The task is still to take a 3X3 grid on which 8 tiles have been placed, where you can only move one tile at a time to an adjacent location (as long as it is blank) and figure out the order in which to move the tiles to get it to a desired configuration. However now the number on the tile now also represents the cot of moving that tile (moving the tile marked 6 costs 6).
Your program should be called expense_8_puzzle and the command line invocation should follow the following format:
expense_8_puzzle.py
and are
can be
bfs - Breadth First Search
ucs - Uniform Cost Search
dfs - Depth First Search
dls - Depth Limited Search (Note: Depth Limit will be obtained as a Console Input) [Note: This part is EC for CSE 4308 students]
ids - Iterative Deepening Search [Note: This part is EC for CSE 4308 students]
greedy - Greedy Seach
a* - A* Search (Note: if no is given, this should be the default option)
If is given as true, search trace is dumped for analysis in trace--