Consider an agent for playing Connect-4 on a c x r board (c columns and r rows).
1. Formulate the search problem, that is,
All of this can be done on paper (or in a text file). You don't actually have to program it! Just write down pseudo-code.
2. Estimate the memory requirement for you state data structure (in bytes relative to c and r). Suppose you want to solve the game by searching the state space. How does the size of your data structure influence the applicability of breadth-first search, depth-first search and iterative deepening search? What is the largest board (c x r) that you could solve using each of the three algorithms assuming you have 2GB of memory available? For the sake of simplicity, you can assume a square board, i.e. c=r.
3. For each of functions above (legal moves, successor state, …), determine its (worst-case) time complexity in terms of c and r.