The Goat AI appears to do the same, and seems very hard to defeat. What's the counterplay?
edit: I'm not sure the game is coded correctly. It seems like once a tiger moves from A to B, it can never move from B to A. Including cases where the tiger jumps A to C, it cannot jump back from C to A if the goat places another one in B... That feels very unintuitive and untrackable in a real world game.
There are times where the game could fall into a repetitive cycle of positions; especially goats may use this resort to defend themselves from being captured. In order to avoid this kind of situation, that rule was established.
Well it's not my game, but this does not sound correct to me. The game by definition cannot get into a cycle of positions until all the goats are placed. This seems like it ought to be a restriction only on moving goats, and only that the goat player should not be allowed to move the last moved goat to it's original spot.
As it stands now, a tiger player cannot move a tiger to it's previous spot from several turns prior, including capturing over the same space. Which means that even if the goat player loses a goat, they can put a goat back in the same space and it'll now be safe (vs. the tiger that just captured it at least). I'm not convinced it is possible to win against a competent goat player.
Your arguments are also valid. I believe there should be an option to choose whether this restriction is applied or not, which would provide players with greater flexibility.