Visto che lo spazio degli stati in un caso del genere è ridotto (e lo si può dimezzare in quanto se ci pensi è simmetrico) potresti definire un'euristica appropiata e usare A* (
http://en.wikipedia.org/wiki/A*_search_algorithm).
Questa è plausibilmente la più semplice da realizzare.
Ovvio, ma non ci han spiegato come stimare con esattezza il tempo che andrai ad impiegare.
Torno a dire che non riesco a capacitarmi di come possa essere possibile stimare con precisione assoluta il tempo che si impiega.. cioè una stima generica ok, ma con precisione totale.. :look:Si ma un sistema a regole implica la conoscenza di Jess o simili, A* lo implementi anche in java.