This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.

I have programmed tic-tac-toe using min-max algorithm.
In min max the number of nodes traversed is W^d where W is the number of leaves at particular depth d.
Thus for my program d=9 on empty board playing first.
I placed a variable called as 'nodes' in evaluation method.
and then incremented it every time using node++.
then the final number I got from computer was 549945. So I got W as 4.343 .
Is my result correct?

Actually, W would be 9 on an empty board, since at d = 1, you have 9 nodes. (Actually, you only have three because you only have to check the center, a corner, and an edge).

The result you get from simply counting nodes is completely dependent on how "naïve" your scheme is.

What is it you're trying to figure out?

The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.

Ashish Schottky
Ranch Hand

Joined: Dec 29, 2009
Posts: 93

posted

0

Thanks for taking interest in my query.
I am trying to findout the total number of legal positions that a regular board of tictactoe can have(Right now I am not counting on reduction due to symmetries and reflections).
Just total number of legal moves for an empty board of tictactoe till its end.

So what's wrong with traversing the nodes recursively and counting the nodes like you do?

You can make a very simple formula that calculates all the permutations of the board, but determining how many of those are legal is going to be hard without recursion.

Ashish Schottky
Ranch Hand

Joined: Dec 29, 2009
Posts: 93

posted

0

Thanks again.
Actually I am confused with the fact that only 9! legal positions are allowed in tictactoe
(upper bound).
But then the searched nodes are far too more than 9!(326880)