Вибачаюсь, вибачаюсь, вибачаюсь (.
В недавній статті щодо штучного інтелекту я зробив маленьку помилку в прогі, яка давала змогу мені вигравати. Бага була в тому що він не навчався на помилка, а лише навчався на перемегах, що було не досить ефективно. Тож тепер можу вам показати скриптик, який майже НЕПЕРЕМОЖНИЙ!
Оце кусок який відповідає за логіку:
class Game(object):
memory = one_game = {}
def __init__(self, sticks_count):
self.sticks_count = sticks_count
for _ in xrange(self.sticks_count+1):
self.memory[_] = {1:1, 2:1, 3:1}
def finish_lose(self):
self.memory[ min(self.one_game) ][self.one_game[ min(self.one_game) ]] -= 1
def one_move(self, stick):
ch = []
for i in self.memory[stick]:
for _ in xrange(self.memory[stick][i]):
ch.append(i)
if not ch:
return 1
self.one_game[stick] = random.choice( ch )
return self.one_game[stick]

