Inteligencia Artificial en JS?

Ultimamente me ha dado por documentarme de este tema... Hace tiempo siempre que se hablaba de AI, se pensaba en una muy limitada en c++ o una en LISP.
Pero parece ser que esa tendencia esta cambiando y empiezan a querer usar JavaScript y me gustaria poder contribuir asi que si conoceis a gente metida en el mundillo de AI y que pueda ayudarme o recomendarme libros o proyectos ya empezados, etc...

Por ahora el unico libro asi que he visto interesante es el de Arthur Murray
Pues para empezar a rascar ahí tienes Lista de proyectos de software libre de inteligencia artificial en GitHub.

Ten cuidado no nos hagas una Skynet [oki]
MDman escribió:Pues para empezar a rascar ahí tienes Lista de proyectos de software libre de inteligencia artificial en GitHub.

Ten cuidado no nos hagas una Skynet [oki]


No pongamos el liston tan alto, de momento con que este ahi ahi con un cani me vale!

Gracias!! voy a mirar y dire cuales me parecen más utiles.
Saphyel escribió:Ultimamente me ha dado por documentarme de este tema... Hace tiempo siempre que se hablaba de AI, se pensaba en una muy limitada en c++ o una en LISP.
Pero parece ser que esa tendencia esta cambiando y empiezan a querer usar JavaScript y me gustaria poder contribuir asi que si conoceis a gente metida en el mundillo de AI y que pueda ayudarme o recomendarme libros o proyectos ya empezados, etc...

Por ahora el unico libro asi que he visto interesante es el de Arthur Murray


Yo en JS nunca las he visto, pero las IAs en C++ son muy potentes, de hecho seguramente puedas sacar mas rendimiento a un algoritmo de este tipo en C++ que en JS.

Saludos ;)
anikilador_imperial escribió:Yo en JS nunca las he visto, pero las IAs en C++ son muy potentes, de hecho seguramente puedas sacar mas rendimiento a un algoritmo de este tipo en C++ que en JS.

Saludos ;)


Puedes ponerme alguna que no sea la tipica de un juego de 4 en linea y demas?
Saphyel escribió:
anikilador_imperial escribió:Yo en JS nunca las he visto, pero las IAs en C++ son muy potentes, de hecho seguramente puedas sacar mas rendimiento a un algoritmo de este tipo en C++ que en JS.

Saludos ;)


Puedes ponerme alguna que no sea la tipica de un juego de 4 en linea y demas?


Por poner un ejemplo, aqui tienes un par de IAs hechas para jugar al ajedrez:

https://github.com/mpweinge/Chess-AI
https://github.com/dchhetri/SFML-Chess/ ... /ChessGame

De todas formas el mundo de la IA y los sistemas inteligentes es muy grande y existen cientos de algoritmos que se pueden aplicar a muchos problemas reales. Si tienes claro que parte de la IA te interesa podria enseñarte mas cosas.
anikilador_imperial escribió:Por poner un ejemplo, aqui tienes un par de IAs hechas para jugar al ajedrez:

https://github.com/mpweinge/Chess-AI
https://github.com/dchhetri/SFML-Chess/ ... /ChessGame

De todas formas el mundo de la IA y los sistemas inteligentes es muy grande y existen cientos de algoritmos que se pueden aplicar a muchos problemas reales. Si tienes claro que parte de la IA te interesa podria enseñarte mas cosas.


Pues una más enfocada a "machine learning" o chats, no se.. la de la mayoria de videojuegos me parece muy "reptil" , no evoluciona y esta muy limitada (tampoco necesitan más ellos)
Saphyel escribió:la de la mayoria de videojuegos me parece muy "reptil" , no evoluciona y esta muy limitada (tampoco necesitan más ellos)

Lo bueno de esa IA esque son muy fáciles de depurar, en las IA que va evolucionando con el tiempo puede ser bastante complejo encontrar los bugs.

También creo que el tema de diseño influye, y esque la mayoría de los jugadores no les gusta una IA que sea excesivamente impredecible. De lo contrario sería díficil que el jugador desarrolle técnicas y estratagemas.
amchacon escribió:
Saphyel escribió:la de la mayoria de videojuegos me parece muy "reptil" , no evoluciona y esta muy limitada (tampoco necesitan más ellos)

Lo bueno de esa IA esque son muy fáciles de depurar, en las IA que va evolucionando con el tiempo puede ser bastante complejo encontrar los bugs.

También creo que el tema de diseño influye, y esque la mayoría de los jugadores no les gusta una IA que sea excesivamente impredecible. De lo contrario sería díficil que el jugador desarrolle técnicas y estratagemas.


Sí, son sencillitas, para ese tipo de objetivo, tampoco hace falta una muy compleja... El problema es que yo busco una que pueda ser tan completa como podria ser ¿Siri?, con utilidades para domotica, web, etc...

En parte tienes razon y no.. La tendencia siempre en la industria del videojuego es darle mas aleatoridad/complejidad a los enemigos para que no sean "predecibles" (o darles mas "dinamismos" asi en neolengua xd).
Saphyel escribió:
amchacon escribió:
Saphyel escribió:la de la mayoria de videojuegos me parece muy "reptil" , no evoluciona y esta muy limitada (tampoco necesitan más ellos)

Lo bueno de esa IA esque son muy fáciles de depurar, en las IA que va evolucionando con el tiempo puede ser bastante complejo encontrar los bugs.

También creo que el tema de diseño influye, y esque la mayoría de los jugadores no les gusta una IA que sea excesivamente impredecible. De lo contrario sería díficil que el jugador desarrolle técnicas y estratagemas.


Sí, son sencillitas, para ese tipo de objetivo, tampoco hace falta una muy compleja... El problema es que yo busco una que pueda ser tan completa como podria ser ¿Siri?, con utilidades para domotica, web, etc...

En parte tienes razon y no.. La tendencia siempre en la industria del videojuego es darle mas aleatoridad/complejidad a los enemigos para que no sean "predecibles" (o darles mas "dinamismos" asi en neolengua xd).


Siri no diría que es una IA compleja, es simple mas bien, es solo semantica y una gran base de datos, pero que yo sepa ni evoluciona, ni desarrolla estrategias ni otros. He visto bots en jabber con mas conversación y en juegos de estrategia con mas aprendizaje.

Eso si, yo no se mucho de IA, pero para mi, una IA compleja debe ser una que se adapte a patrones de comportamiento del usuario mas alla de una simple base de datos llenas de si hace esto, haga lo otro (simples if) teniendo en cuenta otros patrones como reacciones ante eventos, tiempo de reacción, promedio entre distintos usuarios y acciones, etc.
Desde el desconocimiento más absoluto de Siri, la IA que pueda tener un juego de... ¿damas? deberia aspirar a ser un plugin/modulo de Siri..
No se si igual lo que busco aún no esta ni planteado/desarrollado (No creo que todo en IA siga como en 1980...)


Edit: Voy a investigar a fondo este proyecto, se acerca a mi idea :D http://jasperproject.github.io/
Si aparte de aprender lo basico te quieres reir un poco puedes mirar robocode, basicamente es un simulador de tankecitos donde tu programas tu tanque con unas rutinas(llamalo rutinas, ia o como quieras) y luego los puedes poner a competir con otros tankes creados por otras personas. Hay campeonatos y todo.

A nosotros en la facultad en una asignatura la practica era crear un tanke para al final de curso hacer un megacampeonato y los puntos se repartian según el ranking de tu robot y la verdad es que fue muy coñero.
Había otra arena para que se pegaran robots mas interesante Real Time Battle, digo había porque el proyecto esta estable pero muerto.

Lo interesante de RTB es que puedes programar el robot en cualquier lenguaje que quieras, se comunica por entradas y salida estándar.

Y bueno hace un tiempo estoy intentando darle vida al proyecto en github...tampoco es que le dedique mucho tiempo...pero por lo menos he conseguido convertir la creación del binario a cmake que en teoría es mas sencillo que las viejas autotools.

Mi primer hito (y que esta ahí parado) es separar el "motor de juego" del "visor en GTK" para poder ejecutarlo en terminal y sin dependencias, y poder hacer mas "visores" como por ejemplo pillar el motor de alguno de los quake y ver en 3D pegandose a los robots.

[666] si alguien quiere echarme una mano, estaría gratamente encantado, porque estoy atascado desde hace años.
https://github.com/mdtrooper/RealTimeBattle_reloaded
12 respuestas