Cómo programar una computadora para tomar la decisión más racional

Depende mucho del contexto. Usando el ajedrez como ejemplo, generalmente se hace construyendo un árbol de escenarios y mirando hacia adelante para ver los posibles resultados de un movimiento.

Describamos un robot de ajedrez con un movimiento de anticipación.

Es decir, por cada movimiento que nuestro bot podría hacer, calcula todos los movimientos que el oponente podría hacer en respuesta, asume que el oponente juega el mejor disponible para ellos y luego anota el estado del tablero que resulta en cada caso.

Luego elige el mejor estado de tablero resultante de esa gran lista, y realiza el movimiento que conduce a ese estado de tablero preferido.

Pero, ¿cómo puede calificar el tablero que dice que encuentra? Es el mismo problema nuevamente, ¿verdad?

Hay dos enfoques para esto. Una es crear una función de puntuación barata, una heurística, para ese estado de la tabla de resultados. Cuanto mayor sea el puntaje, más deseable será el estado del tablero. Puede contar las piezas que tiene cada jugador, puede dar puntos si las piezas de los jugadores se colocan en el centro del tablero, etc. Esta es la forma más fácil y tiene sus desventajas, pero todavía se usa en la práctica.

La otra forma es anidar ese proceso de anticipación y hacerlo una y otra vez hasta el final del árbol del juego, hasta que encuentre un jaque mate. Es decir, si puede mirar 12 movimientos hacia adelante y encuentra una secuencia que siempre conduce al jaque mate, entonces sabe con certeza que ha ganado. Esta es una técnica llamada programación dinámica.

Desafortunadamente, hay demasiadas posibilidades para mirar a través de la fuerza bruta, por lo que debemos ser inteligentes. Para el ajedrez, la madriguera del conejo desciende un largo camino: los investigadores han construido sus carreras escribiendo ajedrez AI.

Si desea probar esto, intente implementar este enfoque de programación dinámica para tic tac toe: las reglas son más simples y son lo suficientemente pequeñas como para comprenderlas de manera clara, por lo que podrá depurarlas. Si lo haces bien, debes tener un programa que, en el peor de los casos, atrae y gana si te equivocas al jugar contra él.

Esta es una pregunta dificil. Primero: la computadora no toma ninguna decisión. El programador, que escribe el programa, incorpora las decisiones en el algoritmo del juego, utilizando las reglas y las experiencias anteriores del juego. Recomiendo, no empieces con el ajedrez. Comience con “Tic-Tac-Toe” Tic-tac-toe – Wikipedia

y luego “Gomoku” (amebas). Luego aprende, qué reglas, y defender, atacar, ganar experiencias que debe seguir y usar. Aquí está el tic-tac-toe:

More Interesting

Encontré un desafío de IA en línea organizado por estudiantes de PICT en Pune. ¿Qué se requiere para organizar tales eventos? ¿De qué podría estar hecho su backend?

¿Quién es la IA más malvada, inteligente y poderosa en los juegos?

Quiero entrar en el campo de la inteligencia artificial. ¿Puedo hacer una licenciatura en informática en Stanford si he completado una licenciatura en el Reino Unido?

¿Podemos construir IA con todas las preguntas contenidas en Quora? ¿Si es así, cómo?

¿El uso de AI para editar y seleccionar fotos digitales eventualmente se generalizará?

¿Cuáles son los problemas de investigación abierta en la simulación basada en agentes?

¿Puede la programación competitiva ser útil para aprender o investigar en IA?

¿Qué productos de IA existen hoy para optimizar y agilizar los procesos comerciales?

¿Qué plan de matemáticas debería elegir en la universidad que mejor se prepare para el aprendizaje automático en la escuela de posgrado?

Cómo mejorarme en IA

¿Cuáles son las críticas efectivas, si las hay, del 'Principio de optimismo' de David Deutsch: que todo mal proviene de la falta de conocimiento?

¿Cuáles son las mejores formas de comenzar a implementar una red neuronal?

¿Crees que la tecnología de redes neuronales podrá producir un modelo 3D a partir de una sola imagen 2D? ¿Por qué o por qué no?

¿Qué métodos están disponibles en el procesamiento del lenguaje natural para cuantificar las emociones?

¿Cómo se usa el aprendizaje automático en las finanzas cuantitativas?