Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - guibix

#1
Inteligencia Artificial / Inteligencia Cooperativa
26 de Junio de 2007, 07:52:53 PM
También tienes razón Tei, lo que pasa es que este sistema no lo programé con C# ni ningún lenguaje standard, sino que usé las redes neuronales de Framsicks que es un programa para crear vida artificial con un código genético, que da mucho juego a la hora de crear redes neuronales recursivas y ver cómo actúan. Además con el lenguaje script que incorpora, puedes programar de todo y más
#2
Inteligencia Artificial / Inteligencia Cooperativa
26 de Junio de 2007, 12:50:05 PM
Cita de: "Daemon"creo que haria falta especificar mas en que consiste ese estado que forma la entrada de la red.
¡Por supuesto! Yo he probado muchas combinaciones pero a nivel teórico lo simplifiqué para testearlo más fácilmente a “1 todo va muy bien”, “-1 todo va fatal” y “0 no va ni bien ni mal”  con todos los estados intermedios. Lo mismo para las salidas, que las simplifiqué a los tres estados básicos de la estrategia (atacar, defender y huir). Había pensado que con una red nuerodifusa se conseguiría con facilidad el tener muchas variables para la entrada (armadura, arma, moral, estado anterior, tipo de terreno, nº de enemigos, nº de amigos, etc.) y muchos estados de salida (atacar, defender, emboscar, ocultarse, apoyar, retirada táctica, etc.) pero aún estoy en ello, aunque a nivel teórico creo que voy por buen camino, o no...
Cita de: "Daemon"Si se quieren formar subgrupos yo haria una red en la que el nivel de "soldados" se tomase en su conjunto, es decir todas las neuronas "soldado" tuviesen conexion con todas las neuronas "sargento". Esto es asi para hacer dinamica la asignacion de grupos y desviar soldados de uno a otro grupo cuando estos lo necesiten.
Esto también lo hice conectando los soldados con los soldados y los sargentos con sargentos con un peso más alto con soldados más cercanos dentro de la formación y más bajo con soldados más lejanos, lo mismo con sargentos, tenientes, etc.
#3
Inteligencia Artificial / conciencia en software
26 de Junio de 2007, 12:18:39 PM
Por favor Moderadores y administradores, Borrad mis tres últimos mensajes que me daban error al enviar y después se enviaron todos

Cita de: "Vicente"
la definición de duck-typing es que "si tiene forma de pato, camina como un pato y chilla como un pato, es un pato" :p (si una clase cumple una interfaz es como si la implementara).

La afirmación del pato era para crear un poco de debate. Creo que la gente tiende a simplificar demasiado las cosas, para mí, para que sea un pato tiene que tener todas las funciones básicas de un pato, incluyendo el hecho de nacer de un huevo de pato, y si construyes un robot con forma de pato que se mueva cómo un pato y que chilla cómo un pato, sigue siendo un robot que imita alguna funciones de los patos. Cómo mucho lo podríamos llamar “pseudopato”, porqué “pato” es algo más que plástico, plumas sintéticas, un motor, un sistema hidráulico y un altavoz. Que no seamos capaces de diferenciarlo no significa que sea un pato, significa que a nosotros nos parece un pato. Y si lo simulas hasta el último detalle, lo que significa que debes simular-lo a nivel atómico o quántico, (vaya matada, si en una granja puedes conseguir uno de autentico ¡Y sin coste de CPU!), entonces ya hablaremos de si es un pato o un pseudpato. Con eso quiero poner en duda la distancia que marcan algunos entre la realidad y la simulación, hasta que no se consiga simular la realidad al nivel más detallado del que dispone nuestra percepción no debemos confundir (además es peligroso) lo que entendemos como realidad y lo que entendemos como simulación.

Gracias por aguantarme
#4
Inteligencia Artificial / conciencia en software
25 de Junio de 2007, 07:23:16 PM
Cita de: "Mars Attacks"Mi solución incorpora conciencia al sistema, te guste o no.

Mmm... Interesante.

Creo que más que gusto es cuestión de creencia ya que la conciencia humana no está del todo definida y es más un todo que sus partes. Yo creo que no se puede llamar conciencia a una simple faceta reactiva (si tiene forma de pato, camina como un pato y chilla como un pato, no tiene porqué ser un pato). Hay un puñado de diferencias entre simular algo y ser algo aunque, aparente ser lo mismo. No creo que con un puñado de algoritmos basados en algunas facetas de la consciencia y consiguiendo un comportamiento parecido al de la consciencia humana, hayamos conseguido crear consciencia. Pero esta es mi opinión y sí creo que algún día y gracias en parte a la programación de IA comprendamos de forma completa el cómo funciona nuestra conciencia. Tal vez entonces, podremos simular algo mucho más parecido a la conciencia humana de lo que podemos simular hoy, pero seguirá siendo una simulación aunque parezca real.
#5
Inteligencia Artificial / conciencia en software
25 de Junio de 2007, 07:22:57 PM
Cita de: "Mars Attacks"Mi solución incorpora conciencia al sistema, te guste o no.

Mmm... Interesante.

Creo que más que gusto es cuestión de creencia ya que la conciencia humana no está del todo definida y es más un todo que sus partes. Yo creo que no se puede llamar conciencia a una simple faceta reactiva (si tiene forma de pato, camina como un pato y chilla como un pato, no tiene porqué ser un pato). Hay un puñado de diferencias entre simular algo y ser algo aunque aparente ser lo mismo. No creo que con un puñado de algoritmos basados en algunas facetas de la consciencia y consiguiendo un comportamiento parecido al de la consciencia humana, hayamos conseguido crear consciencia. Pero esta es mi opinión y sí creo que algún día y gracias en parte a la programación de IA comprendamos de forma completa el cómo funciona nuestra conciencia. Tal vez entonces, podremos simular algo mucho más parecido a la conciencia humana de lo que podemos simular hoy, pero seguirá siendo una simulación aunque parezca real.
#6
Inteligencia Artificial / Inteligencia Cooperativa
25 de Junio de 2007, 06:53:11 PM
Un tema muy interesante, lástima que llego tarde, pero a ver si lo podemos animar.  :D

Des de, mi punto de vista estoy de acuerdo en muchos de los planteamientos que se proponen, intentaré hacer mi propia síntesis del tema a partir de ideas que han salido aquí y de otras obtenidas en otras fuentes.

En primer lugar me gustaría contar cómo seria mi juego ideal, aunque lejos de ser realizable, no creo que se tarde en disponer de la tecnología adecuada.
Seria un juego que estaría a medio camino de ser shoot'm'up y de un RTS. La idea es que empiezas como soldado de una escuadra que, forma parte de un pelotón, que a su vez forma parte de una compañía, etc. Tanto en el juego individual cómo en el multiplay, todos los demás soldados no jugadores serian boots  Tu eres un simple soldado y si sobrevives lo suficiente pasas a ser sargento de escuadra e ir subiendo hasta los rangos más altos posibles. A partir del rango de capitán de compañía (por ejemplo), ya no usas tanto tu visión sino que usas más el mapa. Lo más parecido a esto que he visto es el “Operation Flashpoint” y el “Armed assault” lo que pasa es que como shoot'm'up es muy tosco y difícil de controlar y los enemigos tienen una puntería infernal más que ser listos y cómo RTS no tiene más que un nivel de jerarquía y la ejecución táctica no se puede usar bien mediante el mapa.
Pero hablamos de la IA que necesitaría este juego. 8)
En primer lugar y sin duda tendría que tener una IA de shoot'm'up en cuanto a los individuos. Cómo variable añadida, debería usar las órdenes del mando inmediatamente superior para realizar la acción individual comparando el entorno con las órdenes para tomar una decisión. Al mismo tiempo el individuo informa a su mando de su situación para valorar la situación del grupo y tomar la mejor decisión para ejecutar la orden. Incluso se podría llegar a la situación de que no quiera cumplirla y retirarse en vez de aguantar una posición (por ejemplo). El mando a su vez informa a sus superiores hasta el  mando supremo que organizará la estrategia global. No es necesario complicar mucho la IA de los mandos superiores ya que la escalera jerárquica hace más simple la cantidad de unidades que se deben manejar, por ejemplo: eres el capitán de una compañía y tienes 3 pelotones de asalto i uno de apoyo. Cada pelotón de asalto está compuesto de 3 escuadras de asalto y una de apoyo y el pelotón de apoyo 3 escuadras de apoyo y una de asalto. Si cada escuadra hay 10 hombres y hay 16 escuadras, tenemos que mandar a 160 hombres (esta jerarquía es mas o menos la misma que los ejércitos reales) Se podrían reducir a 16 grupos de 10, pero a tiempo real y des del punto de vista 3D del capitán se haría muy engorroso. Lo suyo de las jerarquías militares, es que ese capitán sólo debe preocuparse de los pelotones que son 4, si hay que tomar una colina, sólo tiene que dar 4 órdenes (o secuencias de órdenes) una por pelotón y confiar que lo que ordenen sus tenientes de pelotón sea lo más apropiado aunque si quiere puede dar órdenes a una escuadra o a un individuo en concreto.

Para no enrollarme más :oops: , propongo que a quién le interese este tema critique y/o aporte ideas de cómo se podría lograr. Para empezar creo que con una combinación de estados mediante grafos y lógica difusa para dar el aspecto más humano en las decisiones, de otro lado yo he probado redes neuronales recursivas para la comunicación jerárquica dónde cada individuo tiene una neurona para valorar su estado ponderando las ventajas, desventajas y el estado anterior (+1 máxima ventaja y -1 máxima desventaja), y lo transmite a su mando. Esto se pondera hasta el mando superior que si resulta un número superior a un umbral positivo la orden es atacar, si es inferior a un umbral negativo,  la orden es retirarse y si está entremedio, la orden es aguantar y defender. Esto se transmite a los mandos inferiores que acatarán la orden si no se contradice mucho a su estado propio. Al final no tiene un comportamiento muy realista pero valora muy eficazmente lo que se debe hacer (sólo con 3 posibilidades). Por otra parte no hace falta calcularlo cada frame, sólo cuando sea necesario.
A ver si hay alguna otra idea...

Gracias por aguantarme  :oops:
#7
Inteligencia Artificial / RE: Clasificacion de Documentos
09 de Febrero de 2007, 07:40:26 PM
Buenas, creo que las redes neuronales son una buena forma de clasificar tanto de forma supervisada como de forma no supervisada. Aunque dependiendo de los criterios de clasificación puede no ser una buena solución. Pero por si acaso leete este tutorial que es bastante clarificador.
Espero ser de ayuda y hasta pronto.

http://ohm.utp.edu.co/neuronales/maindown.htm





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.