01/10/2018, 10:09
Giải thích code game tictactoe dùng minimax
def __minimax(self, player):
if self.won():
if player:
return (-1,None)
else:
return (+1,None)
elif self.tied():
return (0,None)
elif player:
best = (-2,None)
for x,y in self.fields:
if self.fields[x,y]==self.empty:
value = self.move(x,y).__minimax(not player)[0]
if value>best[0]:
best = (value,(x,y))
return best
else:
best = (+2,None)
for x,y in self.fields:
if self.fields[x,y]==self.empty:
value = self.move(x,y).__minimax(not player)[0]
if value<best[0]:
best = (value,(x,y))
return best
def best(self):
return self.__minimax(True)[1]
ai giải thích hộ mình đoạn return self.__minimax(True)[1] này với
Bài liên quan
Hi Hoàng Triều.
Tìm tài liệu thuật toán MINMÃ đọc thôi.
em có đọc minimax rồi
nhưng phần code:
return self.__minimax(True)[1]
không hiểu cho lắm, giá trị true là trỏ đến phần nào trong minimax bên trên
giá trị [1] trỏ đến phần nào trong minimax bên trên
True
làargument
và sẽ đượcparameter player
takeCòn về giá trị mà nó trả về cũng tùy để mà lấy
[1]
hoặc[0]
mỗi giá trị màparameter player
nhận được. Có lúc sẽ trả về(-1,None), (+1,None), (0,None), (-2,None)
Đôi lúc cũng sẽ là
(value,(x,y))
Với
value
và(x, y)
Hoặc là
Mình chưa đọc hết code nên chỉ biết nhiêu đó thôi