Bob Sidebotham wrote:
> Sea&Gull wrote:
> 
>>I made one guess - count of possible wins of the first and
>>second player on the 4x4 board is in direct proportion to
>>count of their wins on the 4x2 board (due to the symmetry of
>>the 4x4 board and possible moves).
>>
>>I have not managed to prove it mathematically,
>>so my program below may be totally wrong... :-)
> 
> 
> That was a good try, Sea&Gull. Your attempt does have some of the
> elements of the solution that I will post tomorrow. And it even gets
> the right answer (well, alright, I mean, if it agrees with MY program
> as to what the right answer is!). 

I was lucky :)))

> Your solution is partly on the right
> track, in that you have:
> 
> 1. Devised an efficient algorithm for actually playing games (using
> bit operations).
> 
> 2. Made an attempt at reducing the number of games that have to be
> played in order to reach a solution.
> 
> Both of the above elements are critical to success.  There's a couple
> of things missing, though:
> 
> 1. A solution that uses no other knowledge about the game than that
> provided in the basic rules of play. Appealing to a mathematical
> conjecture, whether true or not (and no matter how interesting) is not
> allowed by these rules--unless the proof can somehow be contained
> within the program itself. 

Why?
The game "Tactics" is an informational _object_ of the
Universe. It has its own laws of life. Math helps
to _understand_ that laws, to express them _clearly_.

To code the program is the last stage. The first is to
_undestand_ the problem, to see how everything works.

If I would find some regularities in the life
cycle of the Tactics object and would prove
that they really exist (with help of math
and combinatorial theory in particular or
whatever else), I would undestand how it lives.
So I coud solve the quiz in a most effective way.

I would not come to you saying "Hey, I proved that
second player always win!". Instead of it I would
give you an algorithm which uses proved regularities.
If they really exist (my prove was correct), they
exist always and everywhere, not depending on how you found them.
Because they exist somewhere beyond, somewhere
on the informational field/sphere.

:-)


> If someone came to me and said, "I can
> prove that the second player can always win", and then wrote the
> following ruby program:
> 
>   puts("Second player wins")
> 
> I'm afraid I'd have to disqualify him, too! But he might deserve some
> points for chutzpah and simplicity, and getting an answer that agrees
> with mine :-)

His/her program knows nothing about how the Tactics object lives.
So the disqualification of such a try would be well-taken :)
But... it depends on the rules of the quiz  ; )

> 2. I suggested that there should be "bonus" points for making the case
> that your program gets the right answer for the right reason. I'm
> starting to think that this should have been a *requirement*.

;-)

> <SPOILER>
> I'll drop a big hint here: The board can be represented by a 16-bit
> number. There are a HUGE number of games that can be played. BUT,
> there are only a certain number of positions that can be arrived at
> during play. And all of them are either winning positions or losing
> positions.

I thought of that too... Is the count of free cells even or odd number?
Need to think again :)

> </SPOILER>
> 
> Cheers,
> Bob
> 
> 

--
   s&g