Foros - Stratos

Programadores => Inteligencia Artificial => Mensaje iniciado por: hipatya en 11 de Abril de 2007, 10:12:20 PM

Título: conciencia en software
Publicado por: hipatya en 11 de Abril de 2007, 10:12:20 PM
hola a todos!!

Tengo una duda y no he encontrado mucha informacion acerca de ello ustedes podrian ayudarme a encontrar algun articulo o informacion sobre  :?: ¿Como incorporar conciencia en un sistema de software ? y quiza si es posible si existe algun algoritmo para hacerlo ???

Graxias por la ayuda que me proporcionen....
Título: conciencia en software
Publicado por: cobo en 11 de Abril de 2007, 10:21:38 PM
perdonad mi ignorancia, pero... ¿conciencia en el sentido filosófico?  :shock:

en ese caso, a lo mejor dentro de unos cientos de años escribirán algo al respecto  :(
Título: conciencia en software
Publicado por: [EX3] en 11 de Abril de 2007, 11:37:59 PM
Cita de: "cobo"perdonad mi ignorancia, pero... ¿conciencia en el sentido filosófico?  :shock:

en ese caso, a lo mejor dentro de unos cientos de años escribirán algo al respecto  :(
O mejor esperar a que desarrollen cerebros positronicos :P

hipatya, mejor define que es lo que buscas hacer <<exactamente>>, por que preguntar como dar "inteligencia" a un programa es algo muy generico e inpreciso a grandes rasgos. No es algo tan concreto como calcular la raiz cuadrada de un numero y no existe un solo algorritmo que cubra todo tipo de simulacion de "inteligencia".

Salu2...
Título: conciencia en software
Publicado por: Diferencial en 12 de Abril de 2007, 09:43:40 AM
Todo depende sobre que terreno quieras abarcar, no existe un algoritmo generico que pueda responder en todas las situaciones. Por ejemplo en esta página http://elies.rediris.es/elies9/index.htm muestra algoritmos para usarlos en la interpretación de la lengua escrita, para el uso de traductores automaticos. Es un mundo muy pero muy complejo.
Título: conciencia en software
Publicado por: ethernet en 12 de Abril de 2007, 10:30:46 AM
Un nuevo experimento social de seryu?
Título: conciencia en software
Publicado por: [EX3] en 12 de Abril de 2007, 12:14:00 PM
Cita de: "ethernet"Un nuevo experimento social de seryu?
Por que sera que no eres el unico que piensa lo mismo cuando lee un tema de este tipo :lol:

Salu2...
Título: conciencia en software
Publicado por: chinofer en 18 de Abril de 2007, 02:04:03 PM
hay personas que no tienen conciencia, pedirle a soft que la tenga, sería demasiado.
Título: conciencia en software
Publicado por: cobo en 18 de Abril de 2007, 03:57:39 PM
Cita de: "chinofer"hay personas que no tienen conciencia, pedirle a soft que la tenga, sería demasiado.

supongo que te refieres a la capacidad de juzgar bien y mal... yo pensaba que iban los tiros más hacia el tema de la capacidad de percibirse a uno mismo. En ese caso, todos los seres humanos tienen conciencia, a no ser que nos pongamos muy solipsistas (http://es.wikipedia.org/wiki/Solipsismo)
Título: conciencia en software
Publicado por: seryu en 18 de Abril de 2007, 05:27:55 PM
Una máquina de Turing no puede tener conciencia.


(pd. Yo tengo más imaginación para los experimentos:evil:)
Título: conciencia en software
Publicado por: Mars Attacks en 21 de Abril de 2007, 12:28:00 AM
Incorporar conciencia en un sistema de software es más fácil de lo que parece. El algoritmo es simple: haz que pregunte a un usuario humano cuando tenga que hacer lo que quieras que haga. Ya está.
Título: conciencia en software
Publicado por: [EX3] en 21 de Abril de 2007, 01:50:27 AM
Eso mas que conciencia mas parece dependencia :P

Salu2...
Título: conciencia en software
Publicado por: Mars Attacks en 29 de Abril de 2007, 11:00:39 PM
Mi solución incorpora conciencia al sistema, te guste o no.
Título: conciencia en software
Publicado por: guibix en 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.
Título: conciencia en software
Publicado por: guibix en 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.
Título: conciencia en software
Publicado por: Vicente en 26 de Junio de 2007, 01:31:24 AM
Cita de: "guibix"si tiene forma de pato, camina como un pato y chilla como un pato, no tiene porqué ser un pato

No tiene mucho que ver con el tema, pero me hace gracia porque 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).

Un saludo!

Vicente
Título: conciencia en software
Publicado por: Daemon en 26 de Junio de 2007, 09:08:00 AM
Citar
...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.

Y si funciona de la misma manera hasta en el mas minimo detalle, ¿en que se distinguira del real?, simplemente en tu conocimiento a priori de que es simulado, pero si no lo tuvieses, serian indistinguibles. Como dicen en el Russell&Norvig, simular el resultado de una tormenta no nos deja empapados, sin embargo simular por computadora hacer una suma si que es sumar. A priori, y hasta que la psicologia cognitiva diga lo contrario (y hasta donde yo se no lo hace), la conciencia es fundamentalmente funcional y de la misma clase que las sumas. No creo en los argumentos de Searle sobre propiedades intrinsecas indistinguibles de la inteligencia y la consciencia humanas.

Saludos
Título: conciencia en software
Publicado por: Tei en 26 de Junio de 2007, 10:35:02 AM
Cita de: "Daemon"
...

Que sorpresa me he llevado al leer tu mensaje, Daemon. Creia que no se podia decir nada interesante, etc..  del asunto. Pero parece que me equivoque.
Título: conciencia en software
Publicado por: guibix en 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
Título: conciencia en software
Publicado por: Daemon en 26 de Junio de 2007, 12:34:10 PM
Citar
Que sorpresa me he llevado al leer tu mensaje, Daemon. Creia que no se podia decir nada interesante, etc.. del asunto. Pero parece que me equivoque.

Perdon, llevo mucho tiempo sin escribir por aqui y a veces se me va la pinza, de hecho ahora mismo no recuerdo en que contexto puse yo esos puntos suspensivos ¿podrias ser un poco mas explicito, por favor? En cualquier caso, espero no haber ofendido a nadie...

Por otro lado:
Citar
... 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

No pongo en duda lo que es real o lo que es simulado, pero yo opino que nuestros cerebros (maquinas biologicas) tambien simulan la inteligencia que hace que nos comportemos de la forma en que lo hacemos. A mi entender lo que importa es el proceso, no el soporte.
Título: conciencia en software
Publicado por: Tei en 26 de Junio de 2007, 03:52:54 PM
Cita de: "Daemon"
Perdon, llevo mucho tiempo sin escribir por aqui y a veces se me va la pinza, de hecho ahora mismo no recuerdo en que contexto puse yo esos puntos suspensivos ¿podrias ser un poco mas explicito, por favor?

Me refiero a que antes de leer un hilo titulado "¿cuando tendran los ordenadores conciencia?" (o algo asi), espero que sea una perdida de tiempo leer ese hilo.  Si a pesar de todo lo leo, y encuentro un mensaje interesante, me llevo una sorpresa.
Tu mensaje me parecio interesante, y por eso me sorprendi. No lo esperaba en un hilo de esta tematica.

Me quedo un poco raro lo de citar tu mensaje, borrando el contenido. Pero es que odio esos mensajes que repiten lo que dice otro, solo añadiendo un "Estoy de acuerdo" debajo. Por eso no repeti intrego tu mensaje, y en su lugar puse una "elipsis".
Título: conciencia en software
Publicado por: tamat en 26 de Junio de 2007, 04:23:59 PM
Yo hice una librería que le daba conciencia a cualquier aplicacion, lo programé en un .h y un .cpp pero al ejecutarlo la primera vez formateó mi disco duro y no tenía ningun backup :/
Título: conciencia en software
Publicado por: Daemon en 26 de Junio de 2007, 05:21:03 PM
Si, este es un tema que puede ser muy bonito, pero sucede que no puedes hablar de el mientras te tomas un cafe en el bar de la esquina, por que  te empezara a envolver un silencio creciente y a los 5 minutos la pareja que acababa de llegar que estaba sentada en la mesa de al lado parece que tiene cosas urgentes que hacer y discretamente se larga. Aunque bueno, por otro lado es un metodo magnifico para abrir hueco en cualquier mesa, y si vas habitualmente sabras que ese sitio (e incluso sus alrededores) los vas a tener reservados :lol:

[MODO = PENSANDO EN VOZ ALTA]
Definitivamente se me va la pinza muuuucho, me he pasado 10 minutos buscando un supuesto mensaje mio que dijese "... Estoy de acuerdo" :oops: . Hasta que he leido de nuevo tu post y he comprendido que con la elipsis te referias a mi post anterior. Pero lo peor de todo no es eso, lo peor de todo es que yo tenia la sensacion de haber escrito un mensaje como ese...
Si la inteligencia de las maquinas se basa en la nuestra... ¡pobrecitas! :P
[/MODO = PENSANDO EN VOZ ALTA]
Título: conciencia en software
Publicado por: Tei en 26 de Junio de 2007, 06:17:46 PM
....humm...
Título: conciencia en software
Publicado por: marcode en 26 de Junio de 2007, 08:36:15 PM
Si tuviéramos un superordenador, capaz de simular a la perfección todo tipo de partículas y su física, en cantidades inmensas, y con esas partículas construyéramos un cerebro virtual idéntico a uno humano que funcionase y se comportase exactamente igual. ¿tendría conciencia?.
Título: conciencia en software
Publicado por: cobo en 26 de Junio de 2007, 09:40:07 PM
marcode, no lo sabrías, de la misma manera que no puedes saber con certeza cierta si yo o cualquier persona con la que te cruces tiene conciencia.

Uno sólo es capaz de percibir su propia conciencia y asume que los demás también deben tenerla porque "parece" que la tienen... ya comenté al principio de este hilo que era fácil caer en el solipsismo; y es que es imposible descifrar un problema (la conciencia) desde dentro de él (autoconciencia).
Título: conciencia en software
Publicado por: Mars Attacks en 27 de Junio de 2007, 12:15:24 AM
Si construyes un cerebro exactamente igual que un cerebro, tendrá conciencia. Si te sale más bien un páncreas, igual no.

Todo está en la estructura. Por eso (al menos con las arquitecturas actuales) no podremos obtener IAs fuertes... ni falta que nos hacen, anyways:
http://estenoeselblogqueestaisbuscando.blogspot.com/2007/06/soar-dave-veces-pasan-cosas.html
Título: conciencia en software
Publicado por: Daemon en 27 de Junio de 2007, 03:10:31 PM
Citar
Todo está en la estructura...
En parte es cierto, nuestro cerebro es, simplificando muuuucho, varios conjuntos de redes de neuronas que aprenden por asociacion. Sin embargo queda abierto si la funcionalidad que ofrece esta estructura que al fin y al cabo lo que hace es calcular funciones (todo lo complejas que querais) no es implementable en una máquina de turing (que al fin y al cabo lo que hace tambien es calcular funciones).

- Cosas que una maquina de turing no resuelve: el problema de la parada. Esa es una función que no puede calcular una maquina de turing.
- ¿Alguno de nosotros seria capaz de resolverlo? Y digo nosotros refiriendome a que somos humanos, el maximo exponente conocido de lo que es una entidad supuestamente inteligente. Yo, al menos no, y no creo que haya nadie que pueda...

Conclusiones sobre el tipo de funciones que puede calcular las maquinas de turing y los cerebros biologicos, la verdad no muchas solo que ese tipo de funciones no son calculables por ambos. ¿Alguien que pueda decir una funcion que sea calculable por una y no por la otra?

Saludos.
Título: conciencia en software
Publicado por: Daemon en 27 de Junio de 2007, 03:11:12 PM
Citar
Todo está en la estructura...
En parte es cierto, nuestro cerebro es, simplificando muuuucho, varios conjuntos de redes de neuronas que aprenden por asociacion. Sin embargo queda abierto si la funcionalidad que ofrece esta estructura que al fin y al cabo lo que hace es calcular funciones (todo lo complejas que querais) no es implementable en una máquina de turing (que al fin y al cabo lo que hace tambien es calcular funciones).

- Cosas que una maquina de turing no resuelve: el problema de la parada. Esa es una función que no puede calcular una maquina de turing.
- ¿Alguno de nosotros seria capaz de resolverlo? Y digo nosotros refiriendome a que somos humanos, el maximo exponente conocido de lo que es una entidad supuestamente inteligente. Yo, al menos no, y no creo que haya nadie que pueda...

Conclusiones sobre el tipo de funciones que puede calcular las maquinas de turing y los cerebros biologicos, la verdad no muchas solo que ese tipo de funciones no son calculables por ambos. ¿Alguien que pueda decir una funcion que sea calculable por una y no por la otra?

Saludos.
Título: conciencia en software
Publicado por: Mars Attacks en 29 de Junio de 2007, 09:52:09 PM
Es que si lo reduces a "funciones", ya estás tratando problemas computables. Sería mejor hablar de "procesos", y hay incontables procesos que un humano puede hacer y una computadora no (programar, por ejemplo). Luego me paso y añado un ejemplo de "función" más matemática que un humano puede decidir y una computadora no, que no recuerdo el nombre del problema. Es de esas cosas que se aprenden en Teoría de Autómatas y Lenguajes formales. Insisto, computacionalmente, es imposible obtener una inteligencia artificial con las arquitecturas actuales (con una máquina de Turing, vaya).
Título: conciencia en software
Publicado por: Daemon en 29 de Junio de 2007, 11:44:33 PM
Cuando digo funciones me estoy refiriendo a programas, identificados por numeros y hay operadores con los que puedes componer con otros numeros (programas) y formar programas mas complejos (que son otro numero).... eeeh, ya se que no es muy formal esto, pero es que no recuerdo muy bien cuales eran los operadores de composicion y las funciones basicas, aunque creo recordar que eran asimilables a las operaciones basicas de una maquina de turing y a partir de hay tirando millas :) Por lo que la distincion entre proceso y funcion, pues realmente no es tanta, vamos que lo del problema de la parada realmente se formula como un proceso (que tiene su numero que representa una funcion). Todo esto es teoria de la computabilidad, que recuerdo que en su tiempo me sirvio para hacer muchos crucigramas :wink: y de la que actualmente recuerdo poco.

Como tu dices, quizas el error si que este en abstraer demasiado y dejarlo todo en si el programa que tenemos funcionando en la cabeza es implementable en un pc. Las redes de neuronas parece que consiguen de forma facil cosas que no se consiguen con la misma facilidad en el campo simbolico que domina a las máquinas de turing, pero... yo creo que sigue siendo posible (facil o dificil) obtener esa misma funcionalidad en estas ultimas. De todas formas antes de decir nada mas espero tu ejemplo Mars,  :).

Saludos.

[EDITADO 1]

¿Inteligencia Artificial? ¿Sera natural no?, que de las primeras ya hay muchas, aunque muy especificas..., jeje

[/EDITADO]

[EDITADO 2]
Lo de programar, tambien lo puede hacer una maquina, o si no preguntale a Vicente que supongo que con lo que le da a los geneticos habra hecho algo de eso :wink:
[/EDITADO 2]
Título: conciencia en software
Publicado por: Mars Attacks en 01 de Julio de 2007, 12:49:42 PM
Aquí estoy de nuevo. El problema en cuestión (uno de tantos) se llama el Problema de Correspondencia de Post. Le he tenido que pedir prestada la información a mi querida profa de TALF, menos mal que no se puede suspender con carácter retroactivo :D

Copipasteo su correo, que lo explica mu bien.

Hay una frase muy buena de Penrose: Cualquier niño, si ve una cuerda
colgando del techo tira de ella, con la curiosidad de saber qué va a
pasar. El día que consigamos que un ser artificial inteligente haga lo
mismo (sin instrucción precisa), empezaré a creer que la IA será
posible ;-)

No pongo el (sic) ni las comillas, porque no es literal, es una
versión libre de la frase (pero creo no haber modificado la esencia
:-) )

Un humano puede resolver el problema de la parada. Definiendo el
invariante de un bucle y estableciendo una función limitadora se puede
concluir y demostrar la finitud de cualquier bucle. ¿Qué ocurre? lo de
siempre: tanto la formulación del invariante como el establecimiento
de la función limitadora no es automático. Igual que no hay teorema de
los teoremas (lo que buscaba Hilbert y todo el movimiento del
formalismo, http://www3.uji.es/~martine/DOC/E45/apuntes/node20.html),
pero los seres humanos pueden demostrar teoremas.

De todas formas, leyendo el peñazo ese que está ahí enlazado y
saltándose los dos apartados de definiciones y eso, se llega aquí :
http://www3.uji.es/~martine/DOC/E45/apuntes/node23.html, que nos
recuerda que hablamos de una Tesis: sólo es computable lo que puede
resolver una MT y sobre esa afirmación levantamos la teoría de la
computación, tal y como la conocemos. Dentro de esa teoría se puede
demostrar que hay porblemas indecidibles, como el de la Parada que
admite desde demos poéticas

http://www3.uji.es/~martine/DOC/E45/apuntes/scooping.pdf

;-)

hasta demos en C:

http://www3.uji.es/~martine/DOC/E45/apuntes/parada.html

pasando por las formales :

http://www3.uji.es/~martine/DOC/E45/apuntes/node38.html

Pero igual parece muy metafísico. Vamos a jugar al dominó, para eso
adjunto pantallazo de la def del PCP. Sirve para aprender a jugar. El
reto está en constestar a la pregunta: De los PCPs propuestos en
PCP1.png y PCP2.png, ¿cuántos tienen solución y cuántos no la tienen?

Nota del copiadordemails: subo los pngs de los que habla en los siguientes enlaces:

http://www4.uji.es/~al024459/PCP.png
http://www4.uji.es/~al024459/PCP1.png
http://www4.uji.es/~al024459/PCP2.png

P.D.1: Me refiero a una IA dura.
P.D.2: Pues entonces no sé qué hago haciendo programando videojuegos. Le diré a Vicente que me programe un programador de videojuegos :D
Título: conciencia en software
Publicado por: Daemon en 01 de Julio de 2007, 08:20:07 PM
Hola Mars,

como sigamos asi vamos a tener un sitio reservado en este bar, jeje... :wink:.

Intento contestarte, rapido, mal y al vuelo, con lo que me dejare algunas cosas en el tintero. Contestarte bien requiere mas tiempo del que tengo ahora mismo :(, de todas formas intentare documentarme mejor y responder en condiciones :roll:.

Penrose es un devoto de la IA debil (al menos hasta donde yo lei de sus obras, es decir el primer libro que se llamaba La Mente del Emperador). Eso de decir lo de la curiosidad del niño y quedarse tan fresco es bastante tipico suyo, por que no se llega a preguntar que es realmente eso de la "curiosidad" que fundamentos tiene y por que es util. Hay otro autor J.R. Anderson, mas afiliado al campo de la psicologia cognitiva, y cuyas teorias a mi me gustan bastante. Este hombre tiene un libro "The Adaptive Character of Thought" en donde intenta explicar los fundamentos del sistema cognitivo humano y algunas de sus peculiaridades y lo hace basandose en dos principios evolucion y racionalidad. Basicamente indica que todos los procesos que el ser humano posee cognitivamente hablando son por asi decirlo producto de que han sido útiles para la evolucion y el exito de la especie, incluidos los sentimientos (y por supuesto la curiosidad). Con esto decir que, por ejemplo la curiosidad, es un proceso que esta ahi por algo, con una funcion determinada y util (en algun momento lo fue y perduro) y por tanto caracterizable en base a esa funcionalidad. Vamos, que esas "determinadas instrucciones" para tirar de la cuerda tambien las tenemos nosotros.

Sobre el problema de la parada, el truco esta en que es un paradoja y nisiquiera los humanos somos capaces de resolverlas. Tu dices que con un invariante del bucle y estableciendo una funcion que limite. Lo de la funcion limitadora es salirse de las condiciones del problema (si para -> no para, no es que pare a los 1000 iteraciones, si es eso a lo que te refieres), pero bueno aceptando incluso eso, si tu eres capaz de pensar en algo que resuelva algun tipo de problema de la parada para una clase de programas pues seguro que puedes ponerlo en forma de algoritmo.

Lo del PCP al menos A, C, D la tienen, la de B no la he encontrado y los otros no los he mirado (que me tengo que ir).

Re P.D.2: tchissst! Calla, calla que nos quita el curro! : :lol:
Título: conciencia en software
Publicado por: Mars Attacks en 02 de Julio de 2007, 10:22:38 PM
Mira el segundo png, que es el divertido :) Dime tú si eres capaz de algoritmizar el razonamiento que haces para darte cuenta de que en algunos casos no hay solución.
Título: conciencia en software
Publicado por: Daemon en 03 de Julio de 2007, 05:00:12 PM
Me vas a tener que perdonar Mars, pero tengo una fecha de entrega de un prototipo y me gustaria acabar antes del viernes la implementacion basica.
De todas formas resulta muy interesante lo que planteas, te aseguro que este finde lo miro e intento poner lo que saque (o segun dices, lo que no saque :)) en forma de algoritmo. Aunque sin mirarlo ni nada, voy a aventurar una pequeña conjetura (seguro que me equivoco, o sea que no me hagas mucho caso). Ahora que dices lo de algoritmizar el metodo para determinar los PCP que no tienen solucion y como antes habias expuesto lo del problema de la parada supongo que no me valdra decir que me he cansado de combinar cadenas :P (lo que por otro lado es una tarea infinita) y por eso no tiene solucion :). Supongo que "darse cuenta" de que ciertos casos no tienen solucion resulta equivalente a decidir que estructuras son incompatibles o no encajan con lo que se requiere y que esas estructuras tienen, en general una cierta forma. Si es asi yo juraria que si se puede, pero bueno ya lo vere...

De todas formas, si no nos hemos quedado solos en este bar, supongo que tambien habra gente aceptando el reto, ¡que varias cabezas piensan mas que una sola! :D

¡Saludos, hasta este finde!
Título: conciencia en software
Publicado por: Mars Attacks en 03 de Julio de 2007, 06:13:11 PM
De todas maneras, ya te ayudo: tú puedes "darte cuenta", y un programa, no. Te puedes dar cuenta porque tienes mayor poder computacional (resuelves problemas de una complejidad mayor de la que puede resolver un ordenador-MT), porque puedes "salir" de ese sistema hasta un nivel de razonamiento superior en el que no estás limitado a las reglas del sistema. Gödel y esa mala gente, supongo.

En fin, que matemáticamente no se puede (con esa arquitectura al menos, insisto; de ahí que opine que la conciencia debe tener un cambio cualitativo debido a su estructura).
Título: conciencia en software
Publicado por: Daemon en 08 de Julio de 2007, 03:17:25 PM
Hola Mars,

lo prometido es deuda. He estado mirando el pcp2 (de hecho solo he mirado el ejemplo e) que no tiene solucion y me centrado en conseguir un algoritmo general que resuelva cualquier pcp y eventualmente te diga si este no tiene solucion (tampoco estoy dispuesto a llegar a mas, eso se lo dejo a los matematicos :)). Expongo el algoritmo en lenguaje natural (la estrategia es busqueda en profundidad):

1 Comenzar por una pareja de cadenas que empiecen por las mismas letras. Si esto no es posible no hay solucion (obviamente :D).

2 Mientras las cadenas no sean iguales y haya solucion

2.1 Si las cadenas cubiertas son distintas, no hay solucion en el estado actual.

2.2 Escoger otra pareja de cadenas que comience por las siguientes letras no cubiertas. Si esto no es posible no hay solucion en el estado actual.

2.3 Comprobar si las letras no cubiertas de la pareja escogida en el estado actual son iguales a las letras no cubiertas de un estado anterior (comprobar ciclos). Si esto es asi, no hay solucion en el estado actual.


El algoritmo en accion con el ejemplo e, (las letras en mayusculas y entre parentesis son estados):

 ab       ba    
 --- > ----- <-- ESTADO A2 NO HAY SOLUCION (caso 2.1)
/ a       bab

          b
 (B)     --- <-- ESTADO BA1 NO HAY SOLUCION (caso 2.2)
\ ba   /  aa  
 ----            ba
 bab            ----  <-- ESTADO BAB1 NO HAY SOLUCION (caso 2.1)
       \ ba   /  bab       b
          ---             >  --- <-- CICLO ESTADO BA1 NO HAY SOLUCION (2.3)
           ab \ ba           aa
                  --- <-- CICLO ESTADO B, NO HAY SOLUCION (2.3)
                   ab

Como vemos esto no tiene mas historia, pero ahora vamos a lo interesante y que es lo que supongo que tu preguntabas ¿Como me he "dado cuenta" de todo esto?

1º Estableciendo un objetivo:
  "La cadena de arriba y abajo del PCP tienen que ser iguales"

2º Sacando condiciones que impiden cumplir con ese objetivo:
   - "La 1ª pareja de cadenas arriba/abajo empiezan por las mismas letras, sino no hay solucion"
   - "Las siguientes cadenas tienen que empezar por las siguientes letras no cubiertas, sino no hay solucion"
    - "Si en algun momento las cadenas cubiertas son incompatibles, entonces no hay solucion"

3º Utilizo la definición del problema y empleo las condiciones descubiertas:

    -"Aplico operadores (escoger una pareja de cadenas y juntarlas con las ya hay) para crear un arbol de estados para cada operador aplicado. Si alguna de las condiciones descubiertas no se cumple entonces no hay solucion en ese estado y continuo con otro. Si obtengo un estado con 2 cadenas de la misma longitud y compatibles -> hay solucion".

Vamos a seguir desmenuzando el "dado cuenta". Pasemos del cómo al por qué, y continuemos el proceso de abstraccion (algo importante, ya estamos en lo que tu llamabas procesos) con una serie de preguntas:

1º ¿Por qué establezco un objetivo?
A partir de unas condiciones que me dan tengo que llegar a un estado en que se cumplan otras condiciones. Estas condiciones últimas son el objetivo que tengo que cumplir.

2º ¿Por qué busco condiciones que impiden cumplir con ese objetivo?
Las especificaciones de un problema contienen información util y en algun momento de mi vida aprendi que es bueno limitar el espacio de busqueda.

3º ¿Por qué aplico operadores?
De manera un tanto burra, si quiero conseguir algo, algo tengo que hacer. Lo que puedo hacer me lo dice el problema.

Si seguimos para arriba todo esto de aqui, es un proceso de analisis medios-fines que algoritmizaron unos señores llamados Newell, Simon y Shaw en un sistema denominado GPS (General Problema Solver, mas o menos en los años 60) y es en lo que se basa toda la teoria de la planificación. De forma mas básica un mecanismo de deduccion o inferencia es la base de cualquier sistema experto, pero ¿cual es el proceso mas simple que hay que poseer sobre el que se construye todo esto? Respuesta: el reconocimiento de la igualdad/parecido/semejanza de dos entidades. Si quieres llamalo ligadura logica, si quieres llamalo "pattern matching".
Todos estos procesos son parte de lo que se considera comunmente "inteligencia" y han podido ser algoritmizados, siendo procesos bastante generales cuyos resultados mas que nada dependen del conocimiento que manejan y no del proceso que realizan en si.

Ten en cuenta una cosa, hay personas que no serian capaces de decir con seguridad cuando un PCP tiene solucion, y lo que dirian seria lo que te dije yo al principio "no tiene solucion por que me he cansado de combinar y no la encuentro", pero unicamente por que no han aprendido o no dominan correctamente estos procesos. Tienen la capacidad, pero no el conocimiento.

Tampoco quiero decir que ya todo sea perfecto y que todo lo que hacemos a nivel cognitivo los humanos lo puedan realizar las maquinas, en absoluto. Ciertamente hay cosas que siendo maquinas simbolicas encerradas en su propio mundo y sin relacion con el mundo externo mas que por unos interfaces de entrada muy simples limitan enormemente el tipo de inteligencia que pueden desarrollar, pero con otras (no quiero decir a nivel teorico).

Que rollazo he soltado.  :)
Título: conciencia en software
Publicado por: Mars Attacks en 08 de Julio de 2007, 06:11:10 PM
No tengo demasiado tiempo (ni ganas ahora mismo) para ponerme a buscarle las cosquillas a tu solución pero, para abreviar, vayamos un paso más allá: incluso si tu solución fuera buena, tú puedes salir del sistema, mientras que un programa, no; no puedes programar un programa que obtenga automáticamente esos procesos deductivos para problemas genéricos (por ejemplo, que con las reglas del ajedrez te programe una IA que juegue a él, o a un FPS, o al tetris, lo mismo que te resuelve puzzles como éste o cubos de Rubik).
Volviendo a lo dicho, mientras tengas que ser tú quien le dé el patrón de comportamiento, la inteligencia real eres tú. El programa estará siempre limitado a los patrones que le hayas marcado (incluso a los patrones de inferencia que puedas programarle), mientras que tú no lo estarás.

Por cierto, felicidades por currártelo así :)
Título: conciencia en software
Publicado por: shephiroth en 08 de Julio de 2007, 09:32:47 PM
Muy buenas. No soy demasiado ducho en este tema, recien empiezo. Sobre los retos, creo que B no tiene, C tiene 1322, D tiene 13 (un poco pobre, pero weno xDD), E no tiene, F tampoco, y en G me sale 1213.

Sobre el tema en concreto, hay una diferencia enorme entre la consciencia humana y una simulacion.....en la simulacion se utilizan valores absolutos o semiabsolutos, mientras que la consciencia humana es capaz de utilizar valores para nada absolutos. En todos los algoritmos actuales devuelven un valor absoluto (tiene solucion o no la tiene), nunca llegan a un momento en que no les merezca la pena continuar con el proceso (en realidad no tienen capacidad de decision como para dejarlo).
Título: conciencia en software
Publicado por: Mars Attacks en 09 de Julio de 2007, 07:28:22 PM
Recopipasteo un mail que me han mandado sobre esa entrada :)

En lo de los ciclos ha estado hábil.
Pero no siempre se pueden detectar :-) , que se lo digan a pi ;-)

De todas formas, evidentemente, es posible que el algoritmo se pueda
refinar y refinar... partimos de una hipótesis sobre lo que es
computable y lo que no y esa hipótesis se puede revelar falsa,
implique eso lo que implique que no tiene por que ser malo... Y
refinando un proceso de cálculo podemos intentar acercarnos cada vez
más a nuestro proceso mental... y conseguir que el proceso mecánico se
asemeje cada vez más al nuestro.

Lo que me lleva a que ese mismo razonamiento también se puede aplicar
a nuestra mente. No sabemos a dónde nos puede llevar el refinamiento
del proceso de cálculo de un algoritmo ¿pero sabemos cuánto da de sí
nuestra mente?

Quiero decir, el reto era saber qué procesos puede hacer nuestra mente
que no pueda reproducir un ordenador. ¿Conocemos los límites de
nuestra mente? Hay quien insiste en que usamos muy poquitos
recursos, sólo un 10% o un 15%...

Igual ya es hacer trampa y meterse a filosofías baratas, pero ¿cómo
puedo simular algo de lo que no tengo ni idea de hasta dónde puede
llegar? Vamos, que tampoco me parece justo afirmar que estamos en
mantillas en procesos algorítmicos y hasta donde llegarán y no
reconocer que también lo estamos en el otro tema.

Me estoy explicando como el culo :-/. Que igual mi problema de
agnosticismo con la IA se debe precisamente a ese no saber cómo
funciono yo. Pero que bienvenido cualquier intento de simularlo que
nos lleve a mejorar algoritmos... y a aclararnos con nuestro cerebro,
claro.

Que buena falta hacen las dos cosas ;-)
Título: conciencia en software
Publicado por: Daemon en 14 de Julio de 2007, 06:37:44 PM
Buenas,

desde luego, no nos vamos a convencer el uno al otro (tampoco lo pretendo :)). Gente mas lista que yo ha defendido cada uno de las posiciones que adoptamos tu y yo ahora, y para cada posición habia una respuesta desde el otro bando, en lo que si estoy de acuerdo contigo es en lo de la estructura. Yo pienso que efectivamente las maquinas no podran desarrollar una inteligencia "humana" por que no poseen un cuerpo y no estan inmersas en un entorno que les requiere ciertas funciones (no solo las meramente cognitivas de mas alto nivel).  Lo que si creo que poseen es la capacidad para, una vez que se resuelva ese problema (y claro, se sepa mas sobre como funciona nuestro cerebro tanto a nivel de procesamiento, de estructura y de sistemas) reproducir la inteligencia que mostramos. Facil, claro que no. Posible, en el futuro lo veremos ( o no :? ).

Voy a dejar por aqui un enlace para el que este interesado en todo esto. Se trata de Searle y su habitacion china, junto con respuestas:
http://plato.stanford.edu/entries/chinese-room/#3 <-


Un saludo a todos!

PD: las prisas son malas consejeras, al parecer mi anterior post se corto y salio un poco descolocado, por lo que pongo el ejemplo aqui: http://imagina.openforyou.com/ejemploalgoritmo.png
Título: conciencia en software
Publicado por: Esgaroth en 09 de Noviembre de 2007, 09:13:21 PM
Lo que yo creo (y tal vez sea muy cuestionado por esto xD) es que puede existir inteligencia artificial excesivamente superior a la nuestra. El hecho de que no la veamos porque no tengamos la capacidad suficiente no significa que sea posible. Es más, me parece que si bien la incompletitud de godel explica muy claro todo, aún así se podría lograr una presición casi matemática para controlar sistemas complejos. Para mí la IA que incluye "conciencia" es la IA que puede operar el campo de la filosofía, algo demasiado complejo.

Además ni siquiera nosotros conocemos a fondo la filosofía, y hasta personas que estudiaron toda su vida la materia pueden pensar cosas distintas.

Creo que es cuestión de que aprendamos a mirar el mundo de otra forma.
Título: conciencia en software
Publicado por: Mars Attacks en 09 de Noviembre de 2007, 09:56:31 PM
Me gustaría que te explicaras mejor, creo que no he entendido bien tus dos primeras frases.
Título: conciencia en software
Publicado por: Daemon en 09 de Noviembre de 2007, 10:57:46 PM
Pues tienes suerte Mars, por que yo estoy totalmente fuera de juego  :?
Por favor Esgaroth, podrias desarrollar un poquito mas, es que no te pillo (vamos que no te entiendo demasiado bien...)

Gracias.
Título: conciencia en software
Publicado por: Esgaroth en 12 de Noviembre de 2007, 09:03:24 PM
NOOOOOOOOOOOOO XD, estube escribiendo 54324587 testamentos sobre IA  :(  y por un error que saltó en la PC se me borró lo que escribí :shock: ...

Y tanto que pensé.....

En fín, debo explicarles entonces qué era lo que quise decir:

Lo que quiero decir es que no existe un teorema de los teoremas, sino que existe (al menos hasta donde yo percibo) una ley de esfuerzo y respuesta, en la que las variables son, en promedio, directamente proporcionales. Esto se cumple tanto para cuando queremos mover un objeto con fuerza física como para cuando pensamos para programar un programa. Según mi punto de vista esto tendría que ser explicado con exactamente el mismo concepto.
Para hacer eso tendríamos que poder representar de alguna manera el mundo físico y el cognitivo y, mediante alguna transformada, hacer que sea "procesable".

Los dos tendrían reglas de decisión como si fueran una función, entonces solo tendríamos que ubicar la variable matemática, comunmente denominada X, dentro del intervalo donde, según las reglas de desición, sea favorable. Los perceptrones y algún que otro programa para identificar prioridades nos ayudarían a hacerlo.

Lo que dije con respecto al teorema de la incompletitud de godel, quise decir que no existía, según mi opinión, un teorema de los teoremas (además se contradice con mi teoría de la relación directamente proporcional entre el promedio de el esfuerzo y el promedio de la respuesta para un sistema dado, ya que con esfuerzo finito se obtendrían respuestas infinitas).
Lo que dije con respecto a filosofía es que el programa debería poder filosofar.

Espero que hayan podido entender Mars y Daemon (y sino les explico otra vez :o ).

Saliendo un poco de tema:

Me gustaría que juntos podamos desifrar al menos CUAL es el problema, es decir, ¿qué es lo que nos falta desarrollar para despejar dudas sobre el tema?

Tal vez sea una meta que sí podamos encontrar. Definir el problema. Y no hablo de matemáticas ni de computación, eso ya es demasiado pedir; pero aún así y todo, al menos es un comienzo, una puesta en acción.
Creo que las cosas se aprenden con comunicación, ya sea entre nuestras neuronas o entre nosotros. Si bien el tema que tratamos es muy complicado, la meta es lo menos ambiciosa posible, tal vez con un granito de arena de todos lleguemos a una medianamente difusa conclusión (a cambio de una gran difusa conclusión XD).
Título: conciencia en software
Publicado por: Daemon en 17 de Noviembre de 2007, 02:16:50 PM
Hola,

Citar
Para hacer eso tendríamos que poder representar de alguna manera el mundo físico y el cognitivo y, mediante alguna transformada, hacer que sea "procesable".

No se si con esto te estas refieriendo a que en nuestro cerebro a un nivel cognitivo lo que realiza es modelos del mundo real e intenta actuar sobre ellos, siendo esto un reflejo de como lo haria en el mundo real. En este sentido en el campo de la psicologia cognitiva existen autores que siguen esta idea, Barsalou, es el principal exponente con la teoria de los sistemas de simbolos de la percepcion, en la que expone que la forma de pensar de un ser humano esta ligada a como percibe y actua en el mundo. Un ejemplo y evidencia a favor de esta teoria es que un adulto cuando realiza una accion, por ejemplo golpear un balon, tiene una actividad cerebral determinada (controlando el movimiento que realiza dicha persona) que tambien se refleja cuando el usuario piensa en realizar dicha accion.
Este es un modelo muy interesante y que todavia no he visto realizado como un modelo computacional, algo así requeriria tener un sistema que comprendiera al menos un medio de percepcion (que puede ser visual) y un medio de actuacion sobre el entorno en el que se obtiene dicha percepcion. Un punto importante a destacar es que incluso las conceptos abstractos que no tienen representación en el mundo físico se formarían a partir de conceptos mas básicos que si la tienen y son procesados de formas distintas para sacar el concepto final (como el concepto de verdad o falsedad se sacaria mediante abstraccion de situaciones en las que se representa una afirmación en un contexto en la que esta es cierta o falsa). En ese punto y siguiendo un modelo como el propuesto por Barsalou creo que se podria empezar a esclarecer, o avanzar en como procesa la informacion nuestro sistema cognitivo.
Título: conciencia en software
Publicado por: Esgaroth en 19 de Noviembre de 2007, 07:01:15 PM
¡¡¡Exacto!!!

:?: No conosco a Barsalou ni sus teorías, pero por lo que dijiste de él, pienso que está totalmente acertado.

:!: También pienso que creamos un modelo cognitivo. Las matemáticas y la lógica son la sinergia (las reglas que valen para todo sistema) de los conceptos que adquirimos. Se presentan en todos y cada uno de los modelos.

:idea: Nuestro cerebro analiza sistemas y relaciones, nuestros programas no. Esa es una gran diferencia. Además, nosotros tenemos "sensores" (sentidos), de los cuales sacamos información. Al acto de modelar en base a muestras el mundo exterior, y entender la interacción entre estos modelos, podemos denominarlo como conciencia.

Cabe aclarar que como los modelos no son perfectos, sino modelos basados en muestras (en la no totalidad de los casos), generan errores.

Concuerdo con lo que escribiste Daemon.  :o

El que quiera visite el tema "Un enfoque filosófico" dentro del foro "Inteligencia Artificial": Lo creé hace poco para debatir el asunto de una forma más abstracta a la habitual (por ejemplo, como Daemon lo hizo): http://www.stratos-ad.com/forums3/viewtopic.php?t=9770
Lean todo atentamente, que solemos adoptar neologismos XD.

¿Alguien me podría explicar con palabras sencilas el problema de la parada?
Título: conciencia en software
Publicado por: Mars Attacks en 19 de Noviembre de 2007, 09:05:20 PM
Con palabras sencillas: hay problemas ante los que un humano puede encontrar "patrones de comportamiento" y deducir que tienen (o no) solución, mientras que una máquina se quedaría colgada infinitamente en ellos.
Título: conciencia en software
Publicado por: Esgaroth en 19 de Noviembre de 2007, 09:46:49 PM
Entonces existe un sistema regulador que controla al sistema de reconocimiento de patrones. Nuestra mente trabaja "en paralelo", así que no dudo en absoluto que podamos darnos cuenta de que el problema no tiene solución. Gracias por la explicación (lo entendí al instante).  :o
Título: conciencia en software
Publicado por: Daemon en 19 de Noviembre de 2007, 10:38:35 PM
El comportamiento actual de Mars y mio es un ejemplo precioso de tipico problema de la parada encubierto que ningun humano (supongo que lo eres, ¿no Mars? :D) podria resolver. Aunque dejemos de postear sobre el tema, cada uno podria seguir dando infinitos argumentos al otro (y daria igual lo del control de ciclos ;) ) sin llegar a convencernos realmente de ninguna posicion, por lo que continuariamos ad-eternum con la discusion. Otra cosa es que nos "cansemos" pero hasta eso se puede simular en una maquina.

Saludos.
Título: conciencia en software
Publicado por: Esgaroth en 21 de Noviembre de 2007, 03:25:44 PM
Pero lo que quiero decir es que no existe un límite finito que permita descubrir el patrón de un número irracional asi como no existe información finita (los datos que se cargan al programa) para poder deducir información infinita, ya que si resolveríamos el problema de la parada obtendríamos información infinita.

Lo que quiero decir es que podemos hacer dos cosas: seguir para ver si encontramos el ciclo del patrón (en el caso de los números) o paramos, deduciendo que no existe solución, al menos intentando con la manera convencional.

Además, no quise dar a entender que el programa "se cansa de buscar". Sino que al programa debería asumir que los datos que tiene y/o la forma en que los obtiene no son suficientes para concluir en algo. Es un hecho de indefinición formal.  :o

PD: En caso de que pensemos distinto, podemos concluir que todos pensamos distinto (al menos concluimos en algo). XD
Título: conciencia en software
Publicado por: Esgaroth en 30 de Diciembre de 2007, 08:40:15 AM
Leí todo el apartado, desde el primer hasta el último mensaje, para no obviar nada; además estuve pensando bastante sobre el tema...

En caso de que dividamos los problemas en sub-problemas y confeccionemos redes lógicas:
:?:  ¿Podría ser que el nodo objetivo esté desligado de la estructura restante?

Dicho de otro modo:
:?:  ¿Podría ser que la estructura lógica (el modelo que creamos mentalmente) no nos permita llegar a determinado destino?

Si todo algoritmo se registra con una estructura lógica correspondiente, entonces deberíamos poder aplicar algún método para detectar la indeterminación. Para poder aplicar el método, entonces tendríamos que tomar y archivar datos del sistema (entradas/salidas). Dejando de lado la eficiencia (para denotar aspectos teóricos), deberíamos analizar todos los estados posibles junto con todas las variaciones posibles del sistema.
Éste sería el "programa regulador" del que hablaba. Y cuando no tiene información que analizar (cuando no hay salida de datos, excepto la salida que nos informa sobre si se llegó a la meta), entonces simplemente analiza ciegamente hasta dar con el blanco o hasta concluir en que no existe solución (como en el caso del patrón de Pi) al menos con el método utilizado.

Que alguien me corrija si me equivoco (aunque solo es una teoría).
Título: conciencia en software
Publicado por: Daemon en 30 de Diciembre de 2007, 01:19:03 PM
Citar
¿Podría ser que la estructura lógica (el modelo que creamos mentalmente) no nos permita llegar a determinado destino?

Si, eso sucede muchas veces cuando estamos intentando comprender un problema por primera vez, que el modelo que nos hacemos del mismo no es correcto. Pero como todo, eso forma parte de la tarea de hacerse experto en una materia. De hecho los novatos y los expertos en un tema no representan la información de la misma manera (me estoy refiriendo a estructuras mentales).

Y sobre lo del "programa regulador" pues podria ser algo del estilo del analisis medios-fines que comente en uno de mis post, algo que depende del conocimiento que se introduzca en el sistema (y esto es una opinion).

Saludos.

P.D.: Por cierto, ¡felices fiestas y prospero 2008 a todos!

[Editado]
Acabo de leer los ultimos post que se han publicado en el tema que abriste tu, Esgaroth. Esta muy bien tratar de llegar a algo en este tema de la IA, pero mediante la razon pura (o dicho de otra manera elucubrando como el que mas, el que menos hace aqui) es dificil llegar a ninguna conclusión valida, pues como muchos sabemos (y respetamos totalmente) lo que en este foro se ofrecen son opiniones que pueden estar mas o menos fundamentadas (no creo que nadie sea capaz de hacer afirmaciones categoricas en este tema). En mi caso particular, aplicado al tema de la IA, las opiniones que doy (que no dejan de serlo) siempre trato que tengan algún fundamento  Es por eso te dare un consejo que puedes seguir o no: el camino que tratas de recorrer lo han seguido otros antes y de una manera mas fundamentada (es decir intentando establecer indicios que apoyen las teorias que ellos proponían, mediante experimentos). Ademas depende de los autores leas te sorprenderias de cuanto puedes encontrar que confirme lo que piensas o por el contrario si lees otros te pueden dar una visión completamente distinta. Los autores que me parecen más afines a tu forma de pensar son como te comente Barsalou y Anderson, ambos del campo de la psicologia cognitiva. Tambien escogería a Pulvermuller del campo de las neurociencias que posee algunos libros bastante buenos en el tema de como el cerebro procesa el lenguaje.
Todo esto lo digo por que por el interes que muestras en el tema, no se si intentas hacer algo, pero creo que ahorrarias tiempo si leyeses a esos autores y tu razonamiento comenzase en ese punto.

Pues lo dicho, ¡que feliz año nuevo :D!

[/Editado]
Título: conciencia en software
Publicado por: Esgaroth en 02 de Enero de 2008, 12:37:03 AM
Jejeje... bueno, gracias entonces por recomendarme esos autores. Voy a ver qué me pueden decir al respecto.  :o

Espero que tengan tanto perspectivas distintas como iguales. Distintas para poder comprender nuevas formas de observar el mundo, e iguales para afirmar mi manera de pensar.

En especial creo que Barsalou tiene una perspectiva muy interesante.

PD: !Feliz 2008 a todos!
Título: conciencia en software
Publicado por: Esgaroth en 04 de Enero de 2008, 06:56:47 AM
Yo escribí:

En caso de que dividamos los problemas en sub-problemas y confeccionemos redes lógicas:
¿Podría ser que el nodo objetivo esté desligado de la estructura restante?

Dicho de otro modo:
¿Podría ser que la estructura lógica (el modelo que creamos mentalmente) no nos permita llegar a determinado destino?

Cita de: "Daemon"Si, eso sucede muchas veces cuando estamos intentando comprender un problema por primera vez, que el modelo que nos hacemos del mismo no es correcto. Pero como todo, eso forma parte de la tarea de hacerse experto en una materia. De hecho los novatos y los expertos en un tema no representan la información de la misma manera (me estoy refiriendo a estructuras mentales).

No quise decir que creamos un modelo que no refleja correctamente a los sistemas de nuestro entorno, sino que el modelo que creamos (que es correcto) puede no asumir determinados estados, ya que hay solo una cantidad finita de acciones que podemos llevar a cabo en un modelo.

Por ejemplo, es imposible hacer que el valor de una variable que tiene valor entero tome el valor de un número no entero sumándole o restándole números enteros. El conjunto resultante del modelo no incluiría ningún número no entero, y la solución es hacer que el valor de la variable sea un número no entero. Entonces, si no encontramos la solución para los primeros 10000 números elegidos, entonces "probablemente no la vamos a encontrar". Y como el conjunto resultante no incluye al conjunto solución, no es posible hallar una solución al problema con las herramientas que teníamos.

Y también estoy seguro de que el tema no es tan simple, pero al menos esto podría ser un indicio. Una buena idea sería la de poder calcular derivadas o "distancias" y procesarlas con perceptrones, pero no serviría para modelos que tengan una salida binaria [0,1], ya que hasta que no se encuentra la solución no se puede afirmar nada.

Dicho de otro modo, es como un pathfinding: para "moverse un cuadrado" se debería operar una de las herramientas del modelo, para saber si se acerca a la meta tal vez se debería usar un algoritmo específico, y por último se tendría que archivar las "movidas" y los resultados conjuntamente. Aunque no conozcamos el "mapa", podemos "dibujarlo" definiendo un grafo si operamos las herramientas y archivamos la salida del modelo.

:!: Aunque no descarto que puedan existir mejores técnicas que ésta.