RUVIDEO
Поделитесь видео 🙏

Algoritmo Minimax en Python

Algoritmo Minimax en Python
# triki con algoritmo de minimax

import sys

MAX = 1
MIN = -1
global jugada_maquina

def minimax(tablero, jugador):
global jugada_maquina
# hay ganador o empate
if game_over(tablero):
return (ganador (tablero), 0)
# Generar las posibles Jugadas
movimientos =[]
for jugada in range (0, len(tablero)):
if tablero [jugada] ==0:
tableroaux=tablero [:]
tableroaux[jugada] = jugador
puntuacion= minimax(tableroaux, jugador*(-1))
movimientos.append([puntuacion, jugada])

if jugador == MAX:
movimiento = max(movimientos)
jugada_maquina = movimiento[1]
return movimiento
else:
movimiento = min(movimientos)
return movimiento[0]


def game_over (tablero):
# hay tablas
no_tablas = False
for i in range(0,len(tablero)):
if tablero[i] == 0:
no_tablas = True

# hay ganador?
if ganador (tablero) == 0 and no_tablas:
return False
else:
return True

def ganador (tablero):
lineas = [[0,1,2], [3,4,5],[6,7,8],[0,3,6],[1,4,7], [2,5,8], [0,4,8], [2,4,6]]
ganador =0
for linea in lineas:
if tablero [linea[0]] == tablero[linea[1]] and tablero[linea[0]] == tablero[linea[2]] and tablero[linea[0]] !=0:
ganador = tablero[linea[0]]
return ganador

def ver_tablero (tablero):
h=0
for i in range (0,3):
for j in range (0,3):
if tablero [h] == MAX:
print ('X'),
elif tablero [h] == MIN:
print ('0'),
else:
print ('.'),
h=h+1
print ('')


def juega_humano (tablero):
ok=False
while not ok:
casilla = input("Casilla?")
if str (casilla) in '0123456789' and len (str (casilla)) == 1 and tablero [casilla-1] == 0:
if casilla ==0:
sys.exit(0)
tablero [casilla-1]=MIN
ok=True
return tablero


def juega_ordenador(tablero):
global jugada_maquina
punt = minimax(tablero[:], MAX)
tablero[jugada_maquina] = MAX
return tablero


if __name__=="__main__":
print ('introduce posicion de casilla para jugar')
tablero = [0,0,0,0,0,0,0,0,0]

while (True):
ver_tablero(tablero)
tablero = juega_humano(tablero)
if game_over(tablero):
break

tablero = juega_ordenador(tablero)
if game_over(tablero):
break

ver_tablero(tablero)
g = ganador (tablero)
if g==0:
gana = 'Tablas'
elif g== MIN:
gana ='Jugador'
else:
gana ='Ordenador'

print ('Ganador', gana)

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Algoritmo Minimax en Python», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.