¿Expresarse de forma más exacta sin "caer" en números?

Responder
Avatar de Usuario
Tachikomaia
Mensajes: 15819
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por Tachikomaia »

Escribí esto para un foro de programación pero me parece que aquí quedaría mejor:
Respecto a convertir lenguaje común en uno de programación.

-----------------------------------------------------------------

Modo resúmen:
A buen entendedor le alcanza con el título, pero si tienen alguna duda, pregunten.
Mis dudas son: ¿Es posible? ¿quedaría menos ambiguo? ¿cómo se logra?

-----------------------------------------------------------------

Modo normal o quizá sobreexplicado:
La expresión "intentando mejorar nuestra capacidad de hacer programas que busquen respuestas" puede interpretarse de varias formas, de hecho hay palabras (rojo) o frases (violeta) en ella que pueden interpretarse de dos o más formas.
Por ejemplo intentando ¿significa que aún no ha podido (puede ser porque no sabe, o porque le da asco, vagueza, etc)? ¿que dedica un tiempo significativo a ello? ¿o que lo intenta tanto que si pudiera intentarlo más rompería los límites de ser humano? Si piensen que "si lo intenta poco entonces no lo intenta" y/o que "la interpretación 2 implica la 3", les diré 1 y/o 2:
1- Bueno, he cambiado la frase por "No mucho intentando...", con lo cual he reducido un poco la ambiguedad, pero no estoy seguro de eso de "intentar poco no es intentar". ¿Acaso si robara un poco estaría bien que diga "no he robado, porque robar un poco no es robar"? No.
2- Sí, pero si dijera "intento mejorar el universo" alguno podría pensar, con cierta razón (y en tono sarcástico) "uf, sí, lo intentas tanto que te sangran las manos", como si yo no lo intentara un tiempo significativo (lo cual también es ambiguo, y discutible, pero bue), o como si "intentar algo sin dedicarse exclusivamente a ello, no es intentar". Por este motivo, de hecho, no quiero usar la frase en cuestión (el "no mucho" inicial soluciona el problema, creo).

He dado un ejemplo simplemente, una frase, que a su vez tiene ambiguedades en prácticamente cada palabra que contiene. Imaginen cuántas frases y palabras tienen problemas similares. Bueno, quiero escribir un libro que, hasta cierto punto, carezca de ambiguedades, así que imaginen cuan problemático es eso. He avanzado, pero sigo dando vueltas. Por eso he pensado en escribir de otro modo, como podría ser mediante un lenguaje de programación.

Más que "un conjunto de instrucciones" sería "un conjunto de variables", tal vez. Ahora bien ¿es posible, o más bien seguiría en la misma? Porque si tengo que asignar un número a la intensidad conque se intenta, o al tiempo que se dedica, se complica. A lo mejor ¿más que con programación debería intentar expresarme mediante dibujos?
Imagen
l0g0s
Mensajes: 938
Registrado: 06 Mar 2012, 19:00

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por l0g0s »

Hola Tachikomaia,

Que las máquinas hablen no es ninguna utopía, yo no paro de hablarle a mi teléfono y suele entender casi todo lo que le digo, claro que tengo cuidado de No usar figuras retóricas como la metáfora, la ironía o el sarcasmo, jeje.

El lenguaje tiene muchas capas, hoy por hoy podemos computar todas las capas más básicas, que serían la escritura, la fonética, la ortografía y la gramática, básicamente toda regla lingüística es perfectamente programable. Los traductores de Internet son buenos ejemplos de ello.

otra cosa es añadir una inteligencia artificial que sepa usar dicho lenguaje de forma autónoma, que parece ser lo que buscas.

Para empezar demos ser conscientes que esto es un reto que ni siquiera tu como ser humano puedes llegar a conseguir completamente. Un señor de un pueblo seguramente no pillará ciertos matices del lenguaje de otro señor de otro pueblo, simplemente porque no conocen sus formas culturales de usar el lenguaje. De ahí que siempre se diga que el lenguaje genera cultura, tu forma de hablar condiciona tus neuronas y tu forma de pensar.

Inclusive, en un mismo pueblo personas con estudios / gustos / filosofías / creencias / hobbies distintos a otro, tendrán problemas a la hora de comprender mutuamente esos matices del lenguaje del otro.

Así que no digamos ya lo complejo que es el reto de traspasar todo eso a una máquina. No basta con enseñarle a hablar, debes enseñarle una cultura propia, ¿mi aplicación será pragmática? ¿será picante? ¿será graciosa? No es lo mismo el lenguaje a desarrollar para una aplicación que comprenda que deseas hacer con el móvil que otra diseñada para caer bien a un joven que se conecta a un juego.

De todas formas todos los avances hasta la fecha son más bien del estilo "copia-el-patrón" donde la verdadera comprensión juega un papel inferior. Es como las computadoras que juegan al ajedrez, no ganan porque sepan jugar "mejor" sino porque han memorizado todos los posibles patrones jugables y dado que el ajedrez es un juego con movimientos muy limitados la ventaja la tienen las computadoras que pueden memorizar millones de patrones sin problema, pero su nivel de juego sin dicha memoria suele penoso.

De ahí que no exista máquina capaz de ganar a un hombre a otros juegos no tan limitados en movimientos como el ajedrez, por ejemplo el juego del Go, es un juego donde las máquinas no tienen nada que hacer, cualquier acercamiento a nivel profesional es inimaginable. A ese mismo nivel aun no existen máquinas capaz de hablar porque aun no existe una IA tan avanzada.
https://es.wikipedia.org/wiki/Go
https://es.wikipedia.org/wiki/Go#El_go_ ... mputadoras
pero ya está llegando dicha IA:
https://es.wikipedia.org/wiki/AlphaGo

¿Te sabes el chiste ese del hombre que estaba entre dos vallas? ... ¿NO?
vaya, hombre, vaya!

¿Q t gusta más la miel da o la miel comprá?

¿Sabes que le dice un coño en Chile a otro coño? Qué ganas de volver a España.
-¿Por qué crees que tu pueblo me hizo? -preguntó David.
-Te hicimos porque pudimos -respondió Holloway.
-¿Puede imaginar cuan decepcionante sería escuchar eso de su creador? -respondió el androide.
Avatar de Usuario
Tachikomaia
Mensajes: 15819
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por Tachikomaia »

l0g0s escribió:Hola Tachikomaia,

Que las máquinas hablen no es ninguna utopía
El tema es la definición de hablar, se puede entender como...
- Expresarse oralmente.
- Idem pero con la condición de que haya cierto raciocinio en base a lo escuchado, de modo que lo expresado sea acorde a ello.
- Idem pero tener cierto entendimiento de lo que se expresa. Esto me parece complicado explicarlo...
yo no paro de hablarle a mi teléfono y suele entender casi todo lo que le digo, claro que tengo cuidado de No usar figuras retóricas como la metáfora, la ironía o el sarcasmo, jeje.
Interesante, pero lo que más me interesa en este sentido es que puedan resolver problemas o dudas (mediante razonamiento, no simplemente acudiendo a Google). Igual supongo que para entenderte tienen que resolver divers@s dudas o problemas, como qué significa la 1era palabra que has dicho.
usar dicho lenguaje de forma autónoma, que parece ser lo que buscas.
En principio busco algo más simple, como dije arriba. Para eso no tiene por qué expresarse de forma autónoma sino simplemente expresar cómo resolver la duda o problema.

Te copio lo que tengo actualmente:
Spoiler: show
No mucho intentando mejorar nuestra capacidad de hacer programas que “busquen respuestas”.

Aclaraciones respecto al título.

No mucho: Porque no es que me sangren las manos de tanto intentarlo ni algo similar.

intentando: Porque me parece soberbio si digo “Mejorando la capacidad...” o cosas por el estilo, como si fuese seguro que se logre y que además se lograra todo el tiempo.

nuestra: Se supone que mucha gente sabe más que yo sobre estos temas, así que se supone que la capacidad de los digamos “estudiosos” no aumentará por leer este libro (que no incluye los saberes de “los estudiosos”), así que no me refiero a ellos sino a gente “normal”. Considerando eso, parece conveniente leer algo escrito por ellos, no por mí, pero si lo escrito por ellos les resulta (a uds) complicado entonces pueden (uds) probar leer esto que se supone es de un nivel más bajo.

capacidad: Si bien hay varios aspectos en que puede mejorar, como por ejemplo hacer los programas de forma más rápida o más fáciles de entender, básicamente los aspectos que me interesan son que los programas puedan responder sin que uno deba esforzarse tanto, que puedan responder dudas complejas, y rápido.

hacer programas: No sé si llegue a tratar el tema de hacer varios programas a la vez, no quise decir que el tema del libro fuera sólo eso ni que fuera el principal, pero tampoco es que trate sólo de hacer un sólo programa, serán varios, por eso decir programas no me pareció tan mal.

“que busquen respuestas”: No sé si llegue a tratar el tema de hacer que varios programas puedan funcionar a la vez, buscando varias respuestas a varias dudas, no quise decir que el tema del libro fuera sólo eso ni que fuera el principal. Comenzaré por que funcionen de a uno, buscando una respuesta a una duda que además será planteada antes de que el programa se ejecute. Hasta dónde llegaré, no sé.
Por otro lado, en vez de decir que “buscan respuestas” quizá sería más exacto decir que “realizan acciones que los llevan a obtener (si hay) una expresión que cumple alguna condición”, o sea, en realidad puede que buscar respuestas implique cierto nivel de consciencia y métodos de cierta complejidad que dudo mis programas lleguen a tener. Por eso lo puse entre comillas.

...

Otras cuestiones que deban aclararse espero se haga más adelante, pero varas cosas no las explicaré; esto no es un libro técnico, pero si quieren una definición de algo común busquen en un diccionario, no aquí. Tampoco es un libro respecto a redes neuronales ni todas las técnicas de “búsqueda” o de inteligencia artificial, es más bien respecto a fuerza bruta, fuerza bruta lógica, backtracking o algo similar, y lo que me parezca útil.
Para empezar demos ser conscientes que esto es un reto que ni siquiera tu como ser humano puedes llegar a conseguir completamente. Un señor de un pueblo seguramente no pillará ciertos matices del lenguaje de otro señor de otro pueblo, simplemente porque no conocen sus formas culturales de usar el lenguaje.
Supongo... Pero como escritor debo ajustar el texto a las formas de reaccionar de los lectores...
Así que no digamos ya lo complejo que es el reto de traspasar todo eso a una máquina.
A ver, estaría bueno, quizá en cierto punto requeriré hacer algo similar si mi duda es "cómo escribir X cosa" y quiero que lo resuelva una máquina, pero en principio no se trata de eso, se trata de cómo yo, una persona, puedo expresarme de forma más exacta.
De todas formas todos los avances hasta la fecha son más bien del estilo "copia-el-patrón" donde la verdadera comprensión juega un papel inferior. Es como las computadoras que juegan al ajedrez, no ganan porque sepan jugar "mejor" sino porque han memorizado todos los posibles patrones jugables y dado que el ajedrez es un juego con movimientos muy limitados la ventaja la tienen las computadoras que pueden memorizar millones de patrones sin problema, pero su nivel de juego sin dicha memoria suele penoso.
¿Cómo es eso de los patrones? Mi idea sobre "machine learning" es el backtracking, o sea, una vez que alguien gana, guardar la situación anterior y qué se hizo en ella y evaluarlo como ideal, luego guardar la anterior y calificarlo de negativo lo que se hizo en ella, y así sucesivamente siempre evaluando desde la victoria o lo considerado ideal. Eso es aprendizaje por experiencia, pero también he pensado (muy poco) sobre hacer deducciones (por ejemplo, si una situación es simétrica a otra entonces las jugadas convenientes e inconvenientes son deducibles, son "simétricas" también), y en probabilidades (si en una situación similar a la actual fue conveniente hacer X movimiento, en esta situación es probable que también convenga; esto sirve para acelerar el proceso de aprendizaje, no es que al final haga siempre lo "probable", que evidentemente puede no ser lo conveniente, una pequeña diferencia puede cambiar mucho), pero bueno, de patrones no, o a lo mejor sí pero le llamo diferente ¿?

Ya que mencionas lo de la memoria, otra cosa que había pensado es que los programas pudieran deducir "las reglas" que determinan lo conveniente. Por ejemplo, si cuando el rival tiene LV1 conviene tener 2, cuando tiene 2, 3, cuando tiene 3, 4, etc ¿cual es la regla? LV rival+1.
De ahí que no exista máquina capaz de ganar a un hombre a otros juegos no tan limitados en movimientos como el ajedrez, por ejemplo el juego del Go, es un juego donde las máquinas no tienen nada que hacer, cualquier acercamiento a nivel profesional es inimaginable
Nunca pude entender bien ese juego, pero a menos que tenga "azar", mi método no debería tener problema. Bueno, también lo tiene si las posibles situaciones son muchas, pero para eso está el disco duro, para memorizar mucho.
Me cuesta creer lo que dices... Quizá abra un tema sobre el juego.
¿Te sabes el chiste ese del hombre que estaba entre dos vallas? ... ¿NO?
vaya, hombre, vaya!
Por escrito no funciona :roll:
¿Q t gusta más la miel da o la miel comprá?
¿"da" viene a ser "dada" o "miel + da" viene a ser mierda? Pero en el 2ndo caso no me cierra lo de "comprá".
¿Sabes que le dice un coño en Chile a otro coño? Qué ganas de volver a España.
Ese no lo entendí pah nah.
Imagen
Avatar de Usuario
Nil
Mensajes: 5163
Registrado: 10 Jun 2011, 21:52

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por Nil »

Imagen

Tachikomaia escribió:
l0g0s escribió:De ahí que no exista máquina capaz de ganar a un hombre a otros juegos no tan limitados en movimientos como el ajedrez, por ejemplo el juego del Go, es un juego donde las máquinas no tienen nada que hacer, cualquier acercamiento a nivel profesional es inimaginable
Nunca pude entender bien ese juego, pero a menos que tenga "azar", mi método no debería tener problema. Bueno, también lo tiene si las posibles situaciones son muchas, pero para eso está el disco duro, para memorizar mucho.
Me cuesta creer lo que dices... Quizá abra un tema sobre el juego.
https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol
Spoiler: show
l0g0s
Mensajes: 938
Registrado: 06 Mar 2012, 19:00

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por l0g0s »

Ya nil, la cuestión es que estamos rompiendo barreras constantemente, esta se rompió en marzo 2016 hace justo un año.

AlphaGo recibió el nivel profesional de 9ºDAN (como el kárate sí), en 2015 la máquina más poderosa de GO ni siquiera consiguió el título de AMATEUR DAN, es decir, no podía competir un con jugador de 1erDAN. Es realmente revolucionario lo que ha hecho AlphaGo.

Deepblue ganó a Kasparov en el 97 cuando los ordenadores eran (desde el punto de vista actual) auténticas tortugas. Hemos necesitado 20 años de evolución informática para ganar a un jugador de GO profesional. Aunque no sepas de que va el Go, Tachikomaia, está claro que sólo este dato da que pensar.

En el Go el tablero tiene 19x19=361 posiciones, el primer jugador debe escoger donde colocar su ficha entre 361 posibilidades. En el ajedrez el primer movimiento se debe escoger entre 20 posibilidades (mover uno de los 8 peones 1 o 2 espacios o mover uno de los 2 caballos).

En el segundo movimiento el jugador de Go debe seleccionar entre 361-2=359 posibilidades (más adelante se pueden comer las piezas y aumentar las posibilidades) en el ajedrez es difícil que supere las 20 opciones de las cuales el 50% o más son descartables por absurdas. En el Go como mucho puedes llegar a descargar un 20% de posibilidades a la primera.

Así para calcular los 3 primeros movimientos en el ajedrez un ordenador debe tener en cuenta 20x20x20=8.000 posibilidades. Nada del otro mundo.

En el caso del Go estamos hablando de 361*359*357 = 46.266.843, no es moco de pavo, como dirían algunos, en sólo 3 movimientos Go se complica entre 5.000 veces más que el ajedrez. Esta exponencialidad hizo imposible trabajar con tableros 19x19 hasta hace muy poco.

Además el ordenador del ajedrez no tiene por que llegar al final de la partida, al memorizar todas las partidas famosas, sólo tiene que buscar como llegar a una de esas situaciones que le llevarán en X jugadas a un jaque mate. Por ejemplo, Deepblue conocía el "Jaque Pastor" un Jaque rápido utilizando la reina y el alfil nada más comenzar la partida, es muy común en jugadores principiantes que acaben perdiendo por este Jaque, no es nada complicado programar el ordenador para que detecte si el adversario a tomado las medidas defensivas adecuadas y sino proceder al jaque pastor, ganando en muy poquitos movimientos.

Nada similar ocurre en Go. Se dice que cada partida de Go es un mundo.

AlphaGo requiere principios de una IA que aprenda buena estrategia, con principios juicio mucho más sutiles o "humanos".

---

Por lo tanto, Tachikomaia, aunque no hemos llegado a dicho lenguaje "completo", pero ya hemos conseguidos hitos impensables hace poco y cada día se rompen nuevos. No sé exactamente donde pones tu el límite, pero está claro que se acerca.

Mientras te dejo con simsimi.com
http://www.simsimi.com/storygame/main

PD: Busca "coño" en RAE.
-¿Por qué crees que tu pueblo me hizo? -preguntó David.
-Te hicimos porque pudimos -respondió Holloway.
-¿Puede imaginar cuan decepcionante sería escuchar eso de su creador? -respondió el androide.
Avatar de Usuario
Nil
Mensajes: 5163
Registrado: 10 Jun 2011, 21:52

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por Nil »

Ah, volviendo al tema original, creo que es el intento de la lógica descriptiva.

Yo diría que no sirve para lo que quieres, y pondría en duda que sirva para algo. Pero eso no quita para que sea probablemente el mejor intento de hacer lo que dices.

Hicieron hará cosa de un año una entrevista al máximo responsable de [Open]Cyc. Básicamente ha dedicado su vida a eso, así que a lo mejor te interesa. Yo no consigo encontrarla, puede que fuera hace un par de años.
Spoiler: show
Avatar de Usuario
Tachikomaia
Mensajes: 15819
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por Tachikomaia »

Nil, está bueno el chiste pero no sé si lo capté del todo. Entre más elevada la educación, menos números (aunque son representados por letras, en el fondo lo siguen siendo). Bien. ¿Es sólo eso o algo más? Por ejemplo ¿me estás diciendo que en realidad siempre estamos tratando con números, en el fondo?
l0g0s escribió:Hemos necesitado 20 años de evolución informática para ganar a un jugador de GO profesional.
¿Lo habían intentado tanto como lo intentaron con el Ajedrez?
En el Go el tablero tiene 19x19=361 posiciones, el primer jugador debe escoger donde colocar su ficha entre 361 posibilidades. En el ajedrez el primer movimiento se debe escoger entre 20 posibilidades (mover uno de los 8 peones 1 o 2 espacios o mover uno de los 2 caballos).
Pero de esos 361 muchos son movimientos son simétricos, o sea, son prácticamente iguales (la única diferencia es que puede favorecer o dificultar la perspectiva de los jugadores). Si el tablero fuese de 3x3 sólo hay 3 movimientos. Si fuese de 5x5 sólo hay 6. La ecuación parece ser... (si el tablero es NxN y N es impar)

Código: Seleccionar todo

Total = 0
Repetir:
Total = Total + Ceil(N/2)
N=N-1
mientras N>0
Técnicamente creo que se dice factorizar.
N3 -> Ceil(3/2)=2 -> 2+1=3
N5 -> Ceil(5/2)=3 -> 3+2+1=6
N7 -> Ceil(7/2)=4 -> 4+3+2+1=10
N19 -> Ceil(19/2)=3 -> 10+9+8+7+6+5+4+3+2+1=55

Son más que en el Ajedrez, sí, pero en el Go se van reduciendo ¿no? (aunque la simetría se va rompiendo, o sea que más movimientos distintos surgen). Mientras que en el Ajedrez tienen altibajos.

...Más adelante sigues afirmando que el Go es más complejo. Me cuesta creerlo dado que todas las piezas "se mueven igual", pero bue...
En el segundo movimiento el jugador de Go debe seleccionar entre 361-2=359 posibilidades
¿Por qué -2 en vez de -1?
No sé exactamente donde pones tu el límite
Yo tampoco.
pero está claro que se acerca.
Nosotros a él xD
Mientras te dejo con simsimi.com
http://www.simsimi.com/storygame/main
hi
how we upgrade the universe?
Son re cualquiera.
Pensé que hablabas inglés
si bueno se me da mas el español xD
Entonces ¿cómo mejorar el universo?
el universo se ríje ah si mismo el universo es todo y no es nada
¿Dices que no es posible mejorarlo?
rarrata
No entendí
por bruta
¿Fuerza bruta?
masa por aceleracion
Lo que dices parece no tener sentido, piensa mejor
aah
Piensa de nuevo
esta bien
¿Y bien? ¿a qué conclusiones has llegado?
a donde hector
¿Podrías decirlo de forma más específica? No sé de qué hector me hablas.
hola buenas
WFT!!!!
I Have no response
:?
PD: Busca "coño" en RAE.
Ah:
4. adj. Chile y Ec. tacaño (‖ que escatima en el gasto).
Esos chilenos y sus rarezas...
Nil escribió:Ah, volviendo al tema original, creo que es el intento de la lógica descriptiva.
Entendí muy poco de lo que leí sobre ello.
Imagen
Avatar de Usuario
Tachikomaia
Mensajes: 15819
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por Tachikomaia »

Anduve viendo las posibilidades en un tablero de 3x3 y me cansé, creo que con eso digo todo xD
Imagen
l0g0s
Mensajes: 938
Registrado: 06 Mar 2012, 19:00

Re: ¿Expresarse de forma más exacta sin "caer" en números?

Mensaje por l0g0s »

Tachikomaia el Go es casi de estudio obligatorio en clases avanzadas de probabilistica y la predicción. Tanto matemáticos como informáticos e ingenieros de sistemas se han quebrado la cabeza con el Go.

No ocurre lo mismo con el ajedrez, ya que el ajedrez tiene muchas reglas complejas que debes respetar antes de hacer el primer movimiento, para luego aplicarle los cálculos estimativos, de ahí que no vale cualquier investigador, debe ser uno especialista en ajedrez y también de ahí que el cálculo en el ajedrez se base más en comparar patrones que en cálculo estimativo puro.

Así que es común ver a alumnos de postgrado enfrentarse al reto de crear aplicaciones que juegan al Go, pero no así con el ajedrez.

El Go es el segundo juego más importante después del ajedrez, en Asía es el primero con diferencia.

En la antigua China habían 4 artes puras que todo erudito debía cultivar, la caligrafía, la pintura, tocar el guqin y el jugar al Go.

Confucio escribió sobre el Go, cualquier estratega de guerra oriental debía ser un hábil jugador de Go, el general Sun Tzu escribió en el libro "el arte de la guerra" como el Go enseña a derrotar a enemigos superiores.

Quizá un lapso de 20 años te parezca poco a ti, pero te aseguro que en la informática es una eternidad.
-¿Por qué crees que tu pueblo me hizo? -preguntó David.
-Te hicimos porque pudimos -respondió Holloway.
-¿Puede imaginar cuan decepcionante sería escuchar eso de su creador? -respondió el androide.
Responder