I know recursive solution and I read the papers related to iterative solution.
Can someone explain me how to use AI techniques to solve the problem like tower of hanoi?
I know recursive solution and I read the papers related to iterative solution.
Can someone explain me how to use AI techniques to solve the problem like tower of hanoi?
3
Answers
One very common way is to generate heuristics via pattern databases. Here’s one of the more famous papers on the topic: https://www.aaai.org/Papers/JAIR/Vol22/JAIR-2209.pdf
Questions asking how to get started are too broad in general for this site. A better way to get started is to use something like google scholar to look for articles related to the topic and then ask about any trouble you run into with a specific solution.
Another solution would be to use a hierarchical planner. In hierarchical planning, one can easily specify procedural knowledge. The winning strategy of the towers of hanoi can also easily be encoded as such a problem, as shortly explained in the following paper:
They way I look at it is to get basic AI algorithm working and then rework it so it learns itself.
Firstly – we have three towers A, B, C. So only six moves will be possible:
A->B, A->C, B->A, B->C, C->A, C->B,
Let’s call them AB AC BA BC CA CB.
Create decision tree, where each Node represents a state. Each Node will have N-childrens for N-possible operators (e.g. AB for moving from A to B, BC for moving from B to C, etc…). That way we created a decision tree.
At this stage we can use basic Breadth-First-Search (BFS) algorithm to find out if in N-steps we can solve the puzzle. The problem with BFS is that it will consume extremely large amount of memory and time when Hanoi grows. But no worries.
We have our tree we have BFS algorithm. We find solution for Hanoi consiting of 3 discs, 4 discs, 5 discs. BFS should show us what is the best path.
Now the Path here is something worth focusing on. There is likely to be a pattern between 3, 4, 5 an 6 discs. Now I think we should consider looking at
a) pattern recongition algorithms to find out if there are elements that repeat themselves and maybe building something out of it.
b) Use genetic programming to find out if software can come up for algorithms for 3-, 4-, 5- discs that would work well for 6-discs algorithm: we have already BFS that could work as a tester for our Genetic-Programming algorithm.