Jeżeli dobrze się zastanowisz, to dojdziesz do wniosku, że przy odpowiednim prowadzeniu gry już drugi ruch rozstrzyga, czy partia zostanie wygrana/zremisowana (przy założeniu, iż pierwszy ruch będzie umieszczał symbol w centrum planszy). W takim przypadku możesz napisać algorytm, który bezbłędnie pozwoli komputerowi wygrać lub zremisować (bez względu na to pierwszeństwo ruchu). Następnie za pomocą zwykłego losowania ustalasz, czy komputer skorzysta z tej niezawodnej strategii, czy też celowo popełni błąd, który pozwoli wygrać graczowi. Nie jest to oczywiście dobre rozwiązanie do gry, ale może być ciekawym ćwiczeniem.
Jeżeli chodzi o strategię gry, to gdy gracz A umieszcza symbol w centrum planszy, to gracz B może podjąć tylko jedną z dwóch decyzji - albo umieści w prostej linii w stosunku do centrum, albo po skosie (innymi słowy jeśli polom na planszy przypiszemy liczby 1-9, centrum oznaczymy jako 5, to pierwszą opcją będą liczby 2, 4, 6, 8, natomiast drugą 1, 3, 7, 9). Jeśli gracz B zdecyduje się na pierwszą opcję, to gracz A ma zagwarantowane zwycięstwo (umieszczając swój symbol "po skosie"). Jeżeli gracz B wybierze opcję drugą, to przy odpowiedniej grze może doprowadzić do remisu. Oczywiście taki scenariusz jest możliwy jedynie w przypadku, gdy po wykonaniu drugiego ruchu żaden z graczy nie popełni błędu.
W takim przypadku komputer jako gracz B zawsze będzie stawiał swój symbol "po skosie" i prowadził grę tak, aby doprowadzić do remisu lub zwycięstwa, jeżeli gracz popełnia błędy. Losowanie "zdecyduje", czy komputer skorzysta ze strategii/przy pierwszym ruchu umieści swój symbol w centrum (co daje największe szanse na wygraną).
Praca domowa - opracuj algorytm, który pozwoli komputerowi zareagować, gdy człowiek będzie grał jako pierwszy i nie postawi swojego symbolu w centrum. Moja rada jest taka, abyś przed przystąpieniem do pisania pobawił się trochę z kartką i ołówkiem.