La inteligencia artificial, es uno de los campos más complejos pero también más misteriosos de la informática, es por ello que en un futuro, seguramente será uno de los campos más importante de esta ciencia. Vamos a intentar acercar la inteligencia artificial y los desarrollos en este campo de una manera sencilla.
Podemos definir la inteligencia artificial como el proceso de pensar realizado por un agente inerte. Pero dentro del concepto de inteligencia artificial, hay varios “tipos” que son muy distintos entre ellos:
Llegados a este punto mucho podréis preguntaros, pero entonces lo que nosotros llamamos comúnmente IA es una verdadera inteligencia artificial. La respuesta a esta pregunta nos es exacta, si ponemos un ejemplo en el campo de los videojuegos tenemos:
Por una parte un juego de estrategia, tipo Age of Empires o StarCraft (para mí una de las mejores IA), en este tipo de juegos, realmente no se puede considerar que tengan una inteligencia artificial, ya que lo que tienen es un conjunto de estrategias, ya grabadas y predefinidas, pero a nosotros no nos parecen que las partidas sean siempre iguales y si el proceso es secuencial deberían serlas. Sin embargo, lo que los desarrolladores utilizan son un conjunto lo más amplio posible de estrategias, junto con “estados” que permiten cambiar de una estrategia a otra y el acceso a una base de datos donde tienen información importante para poder jugar.
Principalmente esto se realiza con una cola de prioridad, en la que se indica cada elemento (construcción, producción, creación de personaje) junto con la prioridad que tiene crearlos.
Si tenéis ganas de experimentar o profundizar en este campo os recomiendo esta página, en ella hay una serie de inteligencias artificiales programadas por usuarios y se ve el rendimiento que alcanzan.
El campeón por ejemplo utiliza entre otras cosas:
Este tipo de inteligencia artificial se utiliza de forma usual en software de resolución de juegos de mesa, tipo ajedrez, o las damas. En el caso del ajedrez suelen tener un gran conjunto de jugadas de los llamados maestros del ajedrez, precargadas y lo que se hace es simular, qué estrategia es mejor utilizar. Pero no por la posición actual de las fichas, sino por la posición en la que pueden llegarse a colocar dentro de varios movimientos.
El utilizar jugadas precargadas, en lugar de probar todas y elegir la mejor, es debido a que con los ordenadores actuales, el número de combinaciones es tan alto que no pueden optimizarlo a tiempo, es decir si que el usuario nota que tarda varios minutos u horas en responder.
El gran problema es que aunque estas inteligencias artificiales programas son capaces de seleccionar la mejor estrategia dentro de las que tienen todavía les faltaría 2 cosas:
Hay que entender, que esto no es nada sencillo, lo primero de todo porque no es lo mismo contar con una ficha que tiene dos tipos de movimientos, que con un personaje que se mueve en 360º y tiene 40 tipos de armas distintas, que realizan daño distinto y tienen unas ventajas frente a las otras.
Con esta pequeña entrada queremos introducir el concepto de inteligencia artificial y ejemplificar con elementos que son comúnmente conocidos. En las siguientes entradas, intentaremos hablar sobre los avances en este campo y un pequeño acercamiento a la programación de ellas.
Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…
Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…
Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…
Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…
Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…
Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…