Autor
|
Tema: ¿Resuelto? IA aprendiendo con pistas. ¿Por qué al final me da 1? (Leído 3,819 veces)
|
Tachikomaia
Desconectado
Mensajes: 1.213
Superhacker (es broma xD )
|
Cuando no hay pistas, no he tenido mucho problema por ahora; la "pista" es si cumplió el objetivo o no, y de qué situación se produjo cada una de las producidas que llevaron a cumplirse el objetivo. Así: Escena 1 actions for fotograma 1 // SitIni. Base.S = 10; // Guardar SitIni. SitID = "S"+Base.S; Depth = 1; attachMovie("Circ", SitID, Depth); setProperty (SitID, _x, random(401)); setProperty (SitID, _y, random(301)); set (SitID+".S", Base.S); set (SitID+".C", "Ninguno"); // Cand normal. C = 1; // Vars de Unsolved sits. U = 0; Us = 0; actions for fotograma 2 // Reset Sit. Aplic. S = Base.S+C; // ¿Sol? if (20<S) { // Sol; begin to show list List = C; gotoAndPlay (4); // Sino ¿la sit está anotada? } else if (eval("S"+S+".S") == undefined) { // No. Anotarla. SitID = "S"+S; Depth = Depth+1; attachMovie("Circ", SitID, Depth); setProperty (SitID, _x, random(401)); setProperty (SitID, _y, random(301)); set (SitID+".S", Base.S); set (SitID+".C", C); Us = Us+1; SitID = "U"+Us; Depth = Depth+1; attachMovie("Circ", SitID, Depth); setProperty (SitID, _x, random(401)); setProperty (SitID, _y, random(301)); set (SitID+".S", S); } actions for fotograma 3 // La sit existe. ¿Candmod is pos? if (C<2) { // Candmod. C = C+1; gotoAndPlay (2); } else if (U < Us) { // Use Uns. U = U+1; Base.S = eval("U"+U+".S"); C = 1; gotoAndPlay (2); } else { // No hay Sol. stop (); } actions for fotograma 5 SitID = eval("S"+Base.S+".C"); Base.S = eval("S"+Base.S+".S"); if (SitID != "Ninguno") { List = List+" "+SitID; gotoAndPlay (4); } else { stop (); } El pseudocódigo sería más o menos así: Parte 1: - Establecer situación inicial. - Establecer valor inicial del candidato. - Establecer situaciones halladas. - Establecer situaciones analizadas. ... Obviamente sigue pero no tengo ganas de pensar cómo describirlo humanamente. El candidato varía, las situaciones nuevas se analizan aplicándoles diferentes candidatos... Cuando hay pistas, habría que ver el tipo de pista ¿cuales son posibles? - Parecido de un valor. "Más" o "menos". - Parecido de parte de un valor. Una forma de esto es lo que se hace en MasterMind. - Parecido de la suma de las partes de un valor. ...son muchos imagino. Por ahora me interesa la 1, la más típica. Otro punto relevante es si son suficientes o insuficientes. Empezaré por las suficientes. Lo intenté... Escena 1 actions for fotograma 1 // SitIni. Base.S = 10; // Guardar SitIni. SitID = "S"+Base.S; Depth = 1; attachMovie("Circ", SitID, Depth); setProperty (SitID, _x, random(401)); setProperty (SitID, _y, random(301)); set (SitID+".S", Base.S); set (SitID+".C", "Ninguno"); // Cand normal. C = 1; // Vars de Unsolved sits. U = 0; Us = 0; Pista = ""; actions for fotograma 2 // Reset Sit. S = Base.S; // Mod de Aplic, basado en pistas. if (Pista == 2) { C = 2; } // Aplic S = S+C; // ¿Sol? if (20<S) { // Sol; begin to show list List = C; gotoAndPlay (4); } else { // sino se dan pistas si es posible if (20<=S) { Pista = 2; } else { Pista = ""; } // ¿La sit está anotada? if (eval("S"+S+".S") == undefined) { // No. Anotarla. SitID = "S"+S; Depth = Depth+1; attachMovie("Circ", SitID, Depth); setProperty (SitID, _x, random(401)); setProperty (SitID, _y, random(301)); set (SitID+".S", Base.S); set (SitID+".C", C); Us = Us+1; SitID = "U"+Us; Depth = Depth+1; attachMovie("Circ", SitID, Depth); setProperty (SitID, _x, random(401)); setProperty (SitID, _y, random(301)); set (SitID+".S", S); } } actions for fotograma 3 // La sit existe. ¿Candmod is pos? if (C<2) { // Candmod. C = C+1; gotoAndPlay (2); } else if (U<Us) { // Use Uns. U = U+1; Base.S = eval("U"+U+".S"); C = 1; gotoAndPlay (2); } else { // No hay Sol. stop (); } actions for fotograma 5 SitID = eval("S"+Base.S+".C"); Base.S = eval("S"+Base.S+".S"); if (SitID != "Ninguno") { List = List+" "+SitID; gotoAndPlay (4); } else { stop (); } ...pero las pistas siempre deberían ser "2" y no obstante el programa en el último caso elige "1". Es un programa de posicionarse en un casillero que inicialmente es mayor al objeto que se posiciona. ¿Cual es la falla?
|
|
« Última modificación: 10 Junio 2020, 10:31 am por Tachikomaia »
|
En línea
|
|
|
|
Emertech
Desconectado
Mensajes: 21
:)
|
IA aprendiendo con pistas Según esto piensas que tus líneas de código en Action Script están "aprendiendo" y tú estás desarrollando Inteligencia Artificial? Si es así, que te hace creer eso o en que te basas para afirmar que tus líneas de código van a "aprender" y que estás desarrollando IA?
|
|
|
En línea
|
|
|
|
Tachikomaia
Desconectado
Mensajes: 1.213
Superhacker (es broma xD )
|
Según esto piensas que tus líneas de código en Action Script están "aprendiendo" y tú estás desarrollando Inteligencia Artificial? Si es así, que te hace creer eso o en que te basas para afirmar que tus líneas de código van a "aprender" y que estás desarrollando IA?
Estoy cansado no sé por qué (en parte porque no hallo la solución) y me vienes con esas... preguntas. A veces soy simplista, pero a ver, todo empezó cuando desesperado pensé en ir a una iglesia a ver si así el supuesto Dios me respondía cierta duda, y me di cuenta que si no existe sería bueno crearlo con programación. A partir de ahí tuve la suposición muy marcada de que una cosa es la IA de juegos donde por ejemplo si saltas hacia el rival te hace dragon punch (en Street Fighter 4, una pirata, de NES, es así), y otra cosa es que luego de hacer varas pruebas aprenda que eso conviene o en qué casos. ¿Es aprender? Son datos que en principio no están, que yo no le doy (sólo le doy qué posibles movimentos hay), y que sirven para lograr un objetivo que le planteo. Tal vez "aprender" es demasiado pretencioso, pero qué más da... Similar en cuanto a si es IA o no es. No sé si quedó respondido. Imagina un eje de X y un objeto posicionado en él, antes del 20. Si le digo "ve al 20" así nomás, eso no es IA o es una sin aprendizaje, sin gracia, casi un programa normal. Si en cambio le digo que se mueva de todas las formas posibles en todas las condiciones posibles mientras no supere la casilla 20, hay diferencia... En este caso hay pistas, pero eso es un agregado que estoy poniendo, que como expliqué puede tener diferentes formas, dificultad, suficiencia... Realmente estoy cansado de gente que en vez de ayudar critica, o bien de discutir cosas. No digo que sea tu caso pero se parece. Posteo buscando soluciones obviamente, no para defender mis ideas. La diferencia también o básicamente es que yo no sé qué solución hallará, pero eso sólo en programas complejos que no he llegado a hacer. Cómo superar el 20 es fácil, pero otras situaciones no, aunque tengan cierta analogía.
|
|
« Última modificación: 10 Junio 2020, 00:48 am por Tachikomaia »
|
En línea
|
|
|
|
Emertech
Desconectado
Mensajes: 21
:)
|
Lo pregunté por lo siguiente: Tu problema sí se puede resolver con IA específicamente redes neuronales y aprendizaje profundo incluyendo una función tangente (inicialmente esta función para verificar eficacia por objetivo). Pero para llegar a resolver de este modo entenderás lo que se necesita saber, sin mencionar que Action Script no está a la altura para poder desarrollar la solución. Lo que estás haciendo se puede comparar a una persona que acaba de aprender a sumar y quiere realizar una suma algebraica de polinomios usando solamente sumas (sin recorrer el camino entre ambas), es por ese motivo que difícilmente encuentres a alguien pueda ayudarte.
|
|
|
En línea
|
|
|
|
Tachikomaia
Desconectado
Mensajes: 1.213
Superhacker (es broma xD )
|
Si saben tanto entonces podrían decirme por qué al final me da 1... No pido más que eso creo.
|
|
|
En línea
|
|
|
|
Tachikomaia
Desconectado
Mensajes: 1.213
Superhacker (es broma xD )
|
Hice una "investigación manual", o simulación manual, así: Y como ven en la última línea es 1, es decir, la 1era situación, que cuando la duda está resuelta es la última en cargarse, dice 1. No sé exactamente por qué pasa eso o por qué ese es el problema, pero creo que está relacionado conque al inicio la pista no es 2. Una solución es cambiar inmediatamente a C=2 una vez que se obtiene que pista es 2. Dudo que sea la solución correcta o ideal, pero me quité un peso de encima.
|
|
« Última modificación: 10 Junio 2020, 10:36 am por Tachikomaia »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
separar pistas mp3
Software
|
Maria Pia
|
1
|
2,897
|
16 Febrero 2003, 03:22 am
por Armando
|
|
|
pistas de audio
Multimedia
|
theloop
|
0
|
1,786
|
25 Mayo 2004, 07:17 am
por theloop
|
|
|
AVI con dos Pistas de audio
Multimedia
|
plo koon
|
1
|
2,140
|
25 Mayo 2004, 10:40 am
por Songoku
|
|
|
Algunas nuevas pistas sobre la tecnología que moverá Final Fantasy XIII
Juegos y Consolas
|
Castiblanco
|
0
|
1,408
|
23 Febrero 2008, 21:09 pm
por Castiblanco
|
|
|
Problemas para instalar wifislax 4.3(final), 4.4.5 y 4.5(final) en HD
Wireless en Linux
|
Sprocet39
|
0
|
3,633
|
20 Junio 2013, 17:13 pm
por Sprocet39
|
|