Cómo saber si el programa está usando IA

Si puedes jugar contra la computadora es AI. Eso no significa que sea una buena IA, de hecho, a menudo quieres una mala IA en los juegos, ya que una buena IA es inmejorable.

Los viejos sistemas de IA se llaman sistemas expertos, que son solo declaraciones if / else. Para los juegos, a menudo utilizas un Sistema de estado para crear IA con comportamiento emergente.

La nueva IA utiliza redes neuronales que se basan en la probabilidad.

Dicho esto, nada de esto es realmente inteligente, pero el problema es que no sabemos qué es la inteligencia. Hasta ahora, la mejor definición es bastante pobre:

Somos inteligentes, así que si puede engañarnos, es inteligente.

Respondiendo a la pregunta original, puedo decir si un oponente multijugador es AI cuando:

  • Hace demasiados movimientos estúpidos.
  • Nunca hace un movimiento estúpido nunca.
  • Cuando realiza movimientos predecibles todo el tiempo que fallaron anteriormente.
  • Cuando sus movimientos son completamente al azar.

Es posible que haya notado que estos son lo opuesto el uno del otro. Es por eso que la IA en los juegos es difícil.

“AI” es algo que no entiendes. Una vez que entendemos cómo funciona, deja de ser IA.

Tic tac toe es un juego resuelto. Puede implementarlo con un simple algoritmo minmax y ganar cada vez. Eso es fácil de rodar a mano.

Si quiere hacer “AI” y hacerlo bien, tendrá que usar las bibliotecas de otra persona. Podría rodar su propio software de red neuronal desde cero y entrenarlo desde cero, pero estaría haciendo un montón de trabajo redundante que no será aplicable más adelante. Sería mejor descargar una biblioteca de redes neuronales y aprender a entrenarla. O algo así como Tensorflow.

De cualquier manera, terminarás con algo “AI” en el sentido de que piensa a través de enlaces internos que no construiste y que prácticamente no puedes rastrear. Esos se acercan más a la apariencia de una inteligencia humana. Entrenar a uno con tres en raya es un proyecto tan bueno como “hello world” como cualquier otro, y podrás aplicar lo que aprendes a otros dominios.

Hay diferentes niveles para la IA

La más simple es una IA con reglas básicas de condición-acción que usa declaraciones “si-entonces”.

El siguiente nivel sería un agente basado en modelos que utiliza reglas de condición-acción pero tiene un estado. Básicamente como un robot aspirador que sabe en qué habitación está y puede limpiar la suciedad

El siguiente es un agente basado en objetivos donde el agente también tiene un objetivo asociado. Entonces el agente intenta hacer cosas que estén en línea con su objetivo. El juego de tres en raya que estás escribiendo es muy probablemente este tipo de IA ya que está tratando de ganar, ¿verdad? Esa es una meta.

El agente de inteligencia artificial de más alto nivel es un agente de aprendizaje que es básicamente el que probablemente está pensando. Ahí es donde entra el aprendizaje automático.

La forma más fácil de saber si el juego Tic Tac Toe tiene inteligencia artificial incorporada sería analizando el algoritmo utilizado. Para ser considerado AI, no debe ser un algoritmo fijo basado en reglas que haga movimientos basados ​​en movimientos de los oponentes. Por lo general, aprende de sus errores y mejora su juego con el tiempo.

El caso de Tic Tac Toe no encaja bien porque los estados posibles en el juego son pequeños y fáciles de traducir usando código estático.

Para ser justos, es probable que tu juego tampoco esté usando IA. La mayoría de las aplicaciones no están construidas con la IA adecuada; usan algunos árboles de comportamiento o máquinas de estado o algunas secuencias de comandos inteligentes para tomar decisiones, pero difícilmente califican como AI en el sentido estricto de la palabra.

En cualquier caso, puede saber si el programa tiene IA si el programa le dice que tiene IA. Es muy difícil distinguir solo del programa y las interacciones con él si tiene una IA o no.