Publicado hace 12 años por albgarse a divertimentosinformaticos.blogspot.com

Muchas veces me he preguntado cómo son capaces los ordenadores de ganar a humanos en juegos de estrategia en los que se requiere una gran inteligencia. Cualquiera que haya intentado ganar a su ordenador jugando una partidita de ajedrez sabe de lo que hablo. Después de leer este artículo entenderás como funciona el algoritmo minimax que es uno de los más usados para dotar de inteligencia a los ordenadores. Claro que cuando te lo explican la cosa pierde un poco de su magia.

Comentarios

xxx

#28 Cualquier IA basada en redes neuronales jugaría al go o al ajedrez de pena... #3,#28 TODOS los intentos serios de batir estos juegos, se basan en árboles de busqueda de Monte Carlo (MCST)

#23 #10 Un ordenador cuántico, al ir más rápido, procesaría el árbol de búsqueda más rápido y con mayor profundidad, probablemente sí conseguiría su objetivo

La única diferencia entre el GO y el ajedrez que le importa al ordenador es el tamaño del árbol de TODOS los posibles estados del juego (#29 si recorres el árbol tienes tus jugadas, si ves un sólo nodo una posición)

#15 en 9x9 go se puede cargar a 1dan y 6dan fácilmente, incluso a un 9dan. En 19x19 no se si ya llegan a 6 dan

Computer Olympiads
19x19 9x9
– 2010 Erica, Zen, MFGo MyGoFriend
– 2009 Zen, Fuego, Mogo Fuego
– 2008 MFGo, Mogo, Leela MFGo
– 2007 Mogo, CrazyStone, GNU Go Steenvreter
– 2006 GNU Go, Go Intellect, Indigo CrazyStone
– 2005 Handtalk, Go Intellect, Aya Go Intellect
– 2004 Go Intellect, MFGo, Indigo Go Intellec


Human-computer results
● 9x9
– 2009: Mogo won a pro with black
– 2009: Fuego won a pro with white
● 19x19:
– 2008: Mogo won a pro with 9 stones
Crazy Stone won a pro with 8 stones
Crazy Stone won a pro with 7 stones
– 2009: Mogo won a pro with 6 stones

D

#33 Hasta el momento un ordenador cuántico sólo se sabe que irá más rápido factorizando números, buscando datos en una base de datos o simulando sistemas cuánticos. No es que los ordenadores cuánticos sean más rápidos en todo.

Más información: http://entangledapples.blogspot.com/2011/06/computacion-cuantica-teoria-y.html

War_lothar

#33 Hombre es que 9x9 go no es go... Una partida puede durar poquísimo y se reducen una barbaridad las posibilidades. Yo he jugado 9x9 go y solo vale para aprender las jugadas básicas y demás una partida 19x19 es muchísimo más complicada.

E

Continuo con un par de detalles que se me han olvidado en #45

#15 El Go no es el ajedrez japones, el ajedrez japones se llama Shogi (y es tambien ligeramente mas complicado computacionalmente hablando que el indio/occidental)... los chinos tambien tienen un ajedrez chino.

#33 #20 Sobre lo de los computadores cuanticos, el Go tiene la limitacion fisica de que existen mas posibles partidas que atomos en el universo conocido, asi que aun con ordenadores cuaticos no podrias pocesar el arbol completo.... pero ayudaria a procesar mas niveles en un tiempo razonable.


#33 Otra diferencia mas entre el ajedrez y el go es el branching del arbol, el arbol del go no solo es mas profundo sino tambien mucho mas ancho.


#38 En el Go quien empieza no tiene ventaja... no desde hace ya bastantes años, se equilibra con el komi... que se calcula justamente para que cada año se iguale estadisticamente el porcentaje de victorias blancas y negras.


#39 Lo dicho el 9x9 no es Go.

sid

#46 Desconocía que se hubiera solucionado este error.Simplemente sabia que Jhon Nash había creado el Hex para solucionar esto

E

#47 Aunque hay antedentes de la evolucion del komi desde 2.0 en 1935....

El komi de 4.5 se introdujo formalmente en los camponatos importantes en 1955, luego paso a ser de 5.5 en 1970 (tras estudiarse cual seria el mas adecuado) y ahora es de 6.5 (en Japon que es el que se usa internacionalmente).


De todas formas el handicap ha existido desde tiempos inmemoriables y estamos hablando de que el komi es solo una ventaja de 1/3~1/2 de piedra... es una ventaja minima (al igual que en el ajedrez tambien tienen ventaja las blancas por empezar) que solo imfluye cuando ambas personas son del mismo nivel.


En el ajedrez al mas alto nivel profesional (que supondremos "perfecto") las blancas ganan el 55.4%(segun los datos de los torneos del 2009) mientras que en el go al mas alto nivel profesional las negras, que son las que empiezan, ganan el 53% (segun los datos sobre los que se decidio introducir el komi oficial de 5.5).

Es decir, que estadisticamente el Go es incluso desde el principio mas justo que el ajedrez (y con la evolucion del komi mas todavia mas aun).



En el Hex es casi seguro que pasa lo mismo, es de lo mas normal que quien empieza tenga algo de ventaja al llevar la iniciativa, por el simple hecho de ser juegos por turnos.

War_lothar

#46 Hombre es que lo del ajedrez japonés lo usé para que quien no conozca el juego entienda que tipo de juego es, conozco el shogi aunque no se jugar al shogi.

E

#33 Curiosamente estoy intentando hacer el doctorado y la ivestigacion en la University of Tokyo (Tokyo Daigaku) sobre Computer Go, es un tema que me apasiona, todavia estoy terminando el horrible papeleo. Te contesto por partes


>> Cualquier IA basada en redes neuronales jugaría al go o al ajedrez de pena... TODOS los intentos serios de batir estos juegos, se basan en árboles de busqueda de Monte Carlo (MCST)

No todos ni de lejos.... es mas se utiliza un combinado de tecnicas, ahora mismo esta pegando fuerte los sistemas multi-agente con combinaciones de distintos tipos de agente (MCST, Geneticos, Neuronales...) para cada tipo de situacion (por ejemplo las redes neuronales son lo mejor para reconocer las formas/figuras [escalera, red, baboo, nido....], que es el punto mas basico del Go)


>> Un ordenador cuántico, al ir más rápido, procesaría el árbol de búsqueda más rápido y con mayor profundidad, probablemente sí conseguiría su objetivo

Cierto en parte, pero el jugar al Go no es solo procesar el arbol, aunque sea un punto clave... es justamente saber que partes no tienes que procesar.


>> La única diferencia entre el GO y el ajedrez que le importa al ordenador es el tamaño del árbol de TODOS los posibles estados del juego ( si recorres el árbol tienes tus jugadas, si ves un sólo nodo una posición)

No es la unica, el go tiene jugadas que entran en bucles, tambien tienes jugadas en las que si pones una piedra pierdes (asi que lo que tienes que hacer es pasar), tiene la lucha por la iniciativa, que una pidra en cualquier lugar cambia el significado de todo el tablero.... la dificultad no esta tan solo en el tamaño del arbol (que lo complica muchisimo) sino que tambien hay ciertas situaciones que son ya de por si muy dificiles de predecir.

La principal diferencia entre el ajedred y el go, es que en el ajedrez se puede podar el arbol bastante facilmente... y ademas puedes re-utilizar partes ya computadas que no cambian al mover otra ficha.... en el Go no.


>> En 9x9 go se puede cargar a 1dan y 6dan fácilmente, incluso a un 9dan. En 19x19 no se si ya llegan a 6 dan

Ten cuidado porque no un 1d (1 dan amateur) que un 1p (1 dan profesional) un 9d puede no hacerle sobra a un 1p (aunque el go amateur esta mejorando bastante ultimamente)... y luego estan tambien los paises, hace poco un 1p koreano se come con patatas a 4-6p japones

Hasta ahora el go por ordenador solo ha podido ganar a profesionales en 19x19 en contadas ocasiones (porque enseguida ven de que pata cojean) y con muchisima ventaja 9-7 piedras... cada piedra son unos 15 puntos extra (asi que esta partiendo con 135 puntos de ventaja... que es una barbaridad), para que te hagas una idea las partidas con handicap entre un 9p y un 1p suelen ser como mucho de 2-3 piedras.

Es decier que un amateur medio fuertecillo tambien puede ganarle al ordenador.


En 9x9 si que se esta ya consiguiendo plantarle cara a los profesionales poco a poco, pero es que el 9x9 es el tablero que se utiliza para enseñar a los niños de primaria a jugar, vamos que es un Go de jugete.




Lamentablemten el Go computacional aunque esta avanzando muy rapidamente, va mucho muchisimo mas atrasado de lo que comentas.

#28 #23 #10 #29 #15

prejudice

#12 Acojonante, se puede hacer zoom en el segundo dibujo y ver que llega a completar los 9 mov
http://xkcd.com/832_large/

Don_Gato

#11 la única forma que he encontrado para ganarle al Go a una máquina es jugar en otra máquina con los mismos movimientos y hacerle creer a la primera que estba jugando contra mi cuando en realidad yo estaba copiando los movimientos de la otra.

sid

#11 Es mejor el Hex, en el Go quien empieza tiene ventaja sobre el otro jugador, es por este motivo por el que jugar al Tic-Tac-Toe resulta imposible ganar a la maquina, porque si haces una partida perfecta siempre perderás.

#14 Kasparov termino diciendo que Deep Blue no era un ordenador ya que su forma de jugar no se parecía a la de los ordenadores, lo que el no sabia es que habían programado a Deep Blue específicamente para jugar contra el y conocía sus jugadas mas habituales

i

Saludos, profesor Falken...

ElPerroDeLosCinco

Yo me pasé el Fritz Chess sin mover los peones.

dogday

Me ha resultado muy interesante. Gracias #0.

D

Gari Kasparov dijo que Deep Blue no estaba en condiciones de ganarle y de hecho en sus primeras partidas no lo hizo...En el segundo enfrentamiento no tuvo tanta suerte.

War_lothar

Me ha encantado el artículo muy interesante . #4 En el enfrentamiento contra deep Blue que perdió en realidad Kasparov no se tomo en serio esa partida y no la preparo adecuadamente, es lo que dice la gente que entiende de ajedrez. Lo cual no quita que hoy en día es difícil que Kasparov u otro ganaran a una máquina, pero a Deep Blue por lo visto si que le podía haber ganado de sobra.

n

Pues curiosamente me encuentro programando un ajedrez en ANSI C, con la intención futura de pasarlo a C para microcontrolador y con una barra de leds que simule los movimientos.

Ya reconoce los movimientos de todas las fichas, cambio de turno, y falta de las reglas que reconozca peón al paso, promoción, jaque y enroques.

Y tiene algo inteligencia artificial en los peones, por puntuación.

Este artículo me viene genial :-), y también como apoyo estaba utilizando este:
http://profeblog.es/blog/alfredo/2009/06/04/oiga-pero-%C2%BFyo-puedo-escribir-un-juego-de-ajedrez/

D

Aún me acuerdo de los comentarios previos al enfrentamiento del pseudoperiodista J.J. Santos tildando el enfrentamiento de una operación de marketing y preveyendo que terminarían empatados. Debe ser algo común cuando pones a un necio frente a un hecho histórico pero desde entonces no trago a este tipo.

frixuelu

Siempre me ha gustado enfrentar a dos ordenadores al ajedrez. Esa partida sería digna de ver

K

#21 Hace unos meses en http://www.tcec-chess.org/ podías seguir en directo partidas de varias horas en vivo entre motores de ajedrez en un hardware potente. Tuvo una buena difusión, apareciendo en http://chessbomb.com/ (página para seguir partidas en vivo) junto con los más importantes torneos internacionales entre GM.

Lamentablemente ahora el proyecto está inactivo, pero en su archivo se pueden ver partidas de mucha calidad con movimientos muy profundos que un humano difícilmente podría entender.

D

wow, nunca pensé que analizaran todos los posibles movimientos o respuestas hoy en día uno se puede encontrar de todo

D

#1 termina el articulo

D

#2 ups lol como vi que era bastante largo solo me lei hasta la mitad o así lol

a

#1 De echo los ordenadores fueron creados con un ese propósito, muy distinto al que tienen ahora, la intención inicial era simplemente crear una máquina que hiciese las cuentas por ti y en menos tiempo, para poder hacer en un tiempo razonable cálculos que a las personas nos llevarían tiempos imposibles, como en esto, calcular simplemente miles o millones de posibilidades y aplicar algún criterio lógico de elección.

D

#1 Hoy en día no, hace ya 30 años o más que existen programas de ajedrez para computador que buscan todos los posibles movimientos.

KirO

#16 es imposible calcular todos los movimientos posibles en ajedrez, al menos al inicio de la partida.

Salu2!!

D

#16 Ni de lejos. Léete el post, incluso en las damas es imposible calcular todas las posibilidades.

D

El backtracking es bello

e

"No se trata de encontrar un camino que nos lleve a la victoria, se trata de lograr que todos los caminos lleven a la victoria." (Leído en la serie de Miles Vorkosigan, posiblemente extraido a su vez de El Arte de la Guerra).

DenisDiderot

¿¿¿¿Andáramos???? ¡¡¡¡Mis ojossss!!!!

War_lothar

Dicen que en el Go que es un juego aún más intuitivo que el ajedrez casi(digamos que es el ajedrez japonés) aún no habían diseñado programas capaz de ganar a los grandes maestros. Alguien sabe si ya se ha hecho?.

War_lothar

#20 Genial muchas gracias me interesaba de veras .

silencer

#20 Realmente los GM de ajedrez (y los MI) no recuerdan jugadas, sino posiciones.

isilanes

#20 "Nota: el ajedrez no es un juego en el que predomine la inteligencia (lo cual es obvio, si no un ordenador no podría ganar a los mejores humanos)"

Es un error común pensar que hay algo (llamémosle "inteligencia") que los humanos tenemos y las máquinas no, igual que nos llamamos a nosotros mismos "animales racionales" y al resto de animales "animales irracionales". Es un error comprensible, dada nuestra insufrible vanidad, pero la realidad es que nuestro cerebro es una máquina más (con mecanismo biológico), y sus diferencias con el cerebro de un perro o una calculadora de bolsillo son principalmente cuantitativas. Nuestro cerebro es más complejo y completo que otras máquinas artificiales o cerebros de animales "inferiores", pero no posee cualidades intrínsecas que esas otras máquinas no puedan (mediante mejoras) alcanzar algún día. Por ejemplo nosotros mismos provenimos de simios, que a su vez provienen de mamíferos inferiores, que a su vez provienen en última instancia de peces que provienen de organismos unicelulares.

Tengo la firme certeza de que un "cerebro" artificial, con una complejidad igual o superior al humano, es perfectamente posible, y que cuando se fabrique, será capaz no sólo de tener más "memoria" que un cerebro humano, sino más "inteligencia", más "humor", más "empatía", más "amor", y cualquier otra característica intelectual que creamos exclusiva humana.

D

El Minimax es parte de lo que se considera "Inteligencia Artificial Clásica". No está incluido en la inteligencia artificial moderna porque actualmente parte de la premisa de que, para ser inteligente, una máquina o ser debe aprender de experiencias pasadas. Y ese componente no está en el minimax. Por consiguiente, actualmente se considera el Minimax como un "algorismo sofisticado para la toma de decisiones competitivas" más que como inteligencia artificial.

p

D

al computador cuántico será muy difícil ganarle

D

#10 Siento decirte que la computación cuántica poco tiene que ver con esto, al menos de momento.

TXinTXe

#10 O no... lol

D

las damas 12x12, las que se juegan en tablero de ajedrez creo que si han sido resueltas, tampoco tendria mucho sentido jugar contra un ordenador, siempre perderias o harias tablas

RamonMercader

Se puede implementar un algoritmo con cajas de cerillas que va aprendiendo a ganar siempre al 3 en ralla, no recuerdo donde lo ví, pero era curioso cuanto menos

D

además cuando añades distintos niveles de dificultad, me imagino que será más difícil de programar, no? osea que no siempre vaya con todo a triturarte...

Angelusiones

Estos algoritmos son y serán una maravilla . Pero como las redes neuronales no hay nada . Una memoría modificable de decisiones , es el mejor bot que se puede hacer uno. No resultan sencillas de programar . Pero una vez hecho los resultados son bastante impresionantes si se enseña bien a la maquina y con los algoritmos adecuados .

A mi es una de las cosas que me motiva en programación hacer.

clinteastwood

¿El 15M?