[ POST: programacion-en-lenguaje-natural ]
[2004-10-15 11:13:00] @dresk 📁 2004

> Programación en Lenguaje Natural

Otro artículo de ficción más que habla de lo mucho que disfrutaremos de la vida cuando las máquinas se encarguen de todo el trabajo tedioso. Éste se enfoca a la Programación.

Una vez me quedé dormido con el control remoto de mi repro de DVD a mi lado, y me fumé accidentalmente los vapores del plástico de los botones. De allí nació este artículo:

Programación en Lenguaje Natural

(Versión revisada y más corta que la original).

Hoy en día existen herramientas y especificaciones que claman que su interfaz se asemeja mucho al lenguaje natural (por ejemplo, BASIC y SQL). Algunos llegan a ser más osados, y declaran que ya se puede programar una computadora usando el lenguaje natural. Sin embargo, ésto no es así, al menos no en el sentido literal.

Programar en lenguaje natural significa que un ser humano pueda indicar a la computadora qué hacer, tal como se lo diría a otro ser humano:

"Crea una aplicación que me calcule el factorial".

Así de simple.

Ni más, ni menos.

El lector pensará "pero eso se presta a muchas ambigüedades. ¿Qué si el solicitante necesita un programa que calcule factoriales con una GUI para la entrada de datos, y el compilador le sale con una solución de línea de comandos?".

No hay problema. Todo lo que hay que hacer es modificar el planteamiento para hacerlo más específico.

"Crea una aplicación que muestre una ventana con dos cuadros de texto. En uno, el Usuario podrá introducir un número entero. En el otro, deberá aparecer automáticamente el factorial del número introducido".

Permítanme presentarles al compilador del futuro: IntelliGram. IntelliGram es precisamente el tipo de compilador del que estaba hablando. Tomará un planteamiento formado en lenguaje natural, y lo convertirá en una solución computacional.

No se dejen engañar. La Inteligencia Artificial aún no es la gran cosa. No hace a una computadora "inteligente" de por sí. El grado de inteligencia que parece mostrar IntelliGram no se debe a que es "inteligente". Se debe a la gran base de datos de conocimientos asociada al compilador (¿de qué sirve la inteligencia si no se tiene acceso al conocimiento?). Esa base de datos de conocimientos está construida con librerías escritas en, adivinen, IntelliGram. A estas librerías se les llama "librerías de conceptos".

IntelliGram podrá resolver cualquier problema (matemáticamente resolvible), siempre y cuando se le suministren todos los datos requeridos para que dicho problema pueda ser comprendido. ¿Programa para simular corrientes oceánicas? Pan comido: explíquenle primero a IntelliGram qué es un líquido, qué es un fluido, las leyes que los gobiernan, qué es un mapa, qué es un mapa oceánico, cómo la gravedad afecta a los fluidos... ah, ¿ya existe una librería que explica todo eso? ¿Se llama "Librería de Oceanografía"? Excelente. Suminístrenle a IntelliGram dicha librería, luego el resto de los datos para resolver el problema, y ya. En un segundo estará lista la simulación.

Tomen el compilador de IntelliGram, remuévanle las librerías, y suminístrenle este "programa": "hazme un programa que sume dos números naturales". IntelliGram responderá con "No sé qué es 'número', y no entiendo el adjetivo 'natural'".

Para que IntelliGram pueda entender este "programa", necesita de las siguientes librerías:

Diccionario de Conceptos.

Diccionario de la Lengua Española (simplificado para usar el Diccionario de Conceptos).

Matemática Básica.

Álgebra Básica.

La librería de Álgebra Básica define todo, abosultamente todo lo que una persona estudia durante sus cursos de álgebra de la escuela primaria y secundaria. Impresa, sería un par de tomos.

IntelliGram, siempre que tenga que compilar un "programa", deberá partir desde cero: deberá "leer y comprender" todas y cada una de las librerías envueltas en el planteamiento, antes de entenderlo y comenzar a resolverlo. Como IntelliGram es un compilador del futuro, funciona en equipos millones (sí: millones) de veces más rápidos que los actuales, y todo ese camino de "procesar las librerías" lleva unos cuantos milisegundos. Compilar un programa tan simple como el de los factoriales toma también unos cuantos milisegundos. De hecho, un programa de extrema complejidad es construido por IntelliGram en no más que 1 segundo.

Interesante, ¿verdad? Cualquier problema podrá expresarse en lenguaje natural, sin importar su complejidad, ¿verdad? Teóricamente, todo suena muy bien, pero la práctica, es decir, la realidad es otra. Exploremos un terreno más superficial, el de los juegos. IntelliGram es tan potente como para compilar, virtualmente cualquier tipo de juegos. Se puede, por ejemplo, desarrollar un juego de autos de carreras en IntelliGram, pero ¿se imaginan especificar tooodos los detalles en lenguaje natural? ¿se imaginan describir los escenarios, las pistas, el comportamiento de los automóviles, en lenguaje natural? ¡Serían libros y libros enteros!

Por eso, como en la actualidad, se crearán Herramientas Visuales de Diseño. Como en nuestro ejemplo del juego de autos de carreras, se crearán visualmente todas las pistas, escenarios y objetos del juego. La herramienta, luego, hará el fabuloso trabajo de generar el código fuente en IntelliGram, es decir, describirá TODO el trabajo en lenguaje natural.

Esto tiene enormes ventajas. Todo el conocimiento estará preservado en un idioma que cualquier ser humano podrá entender. Los arqueólogos del futuro se volverán locos de euforia al descubrir que no tienen que descifrar nuestro legado informático.

El sector productivo de la sociedad del futuro, con el privilegio de tener una herramienta tan poderosa como IntelliGram, podrá dedicarse a ser creativo, a expresar sus ideas sin límites, y ver resultados casi inmediatamente, dejando el trabajo tedioso para las máquinas. Lástima que estaré muerto para ese entonces.

[ COMENTARIOS (9) ]
$ post_comment --anonymous
⚠ Los comentarios requieren aprobación
@/\/\® |)e/\/Gµe [] [2005-03-08 09:43]

>Los arqueólogos del>futuro se volverán>locos de euforia>al descubrir que no>tienen que descifrar>nuestro legado>informático.Eso solo ocurriría si en el futuro muy lejano, es decir miles de años despues de los miles de años que faltan para que exista Inteligram todavía usamos este lenguaje, bien sea escrito hablado o lo que sea, o acaso lo que consiguen ahora los arqueólogos no es lo que escribieron personas que pensaban que esa forma de comunicación perduraría para siempre?

@Dresk [2004-12-14 22:40]

Jeje, yo aún me pregunto si los egipcios realmente habrán dicho todo lo que los científicos dicen que han descifrado en sus jeroglíficos. Es decir, quizás en todos esos símbolos se esconden mensajes que, en vez de "Creemos en Ra", dicen "Vendo parcela amoblada, dos esclavos y una esclava incluidos".

@/\/\® |)e/\/Gµe [] [2004-11-15 23:22]

U Osiris Was Here

@multivak [2004-11-01 13:38]

Les comento que en la historia de la Inteligencia Artificial ya existe un "sistema experto" con ciertas similitudes, fué creado hace algunas decadas y su función era resolver problemas matemáticos de propósito general, algo similar a nuestro inteligram pero especializado en la matemática pura, hoy en día existen soluciones inteligentes que resuelven disyuntivas otrora exclusivas de los humanos, y lo hacen eficientemente.La inteligencia artificial es ya una realidad, y no hacen falta miles de años para que un robot cuide a los niños mientras salimos a cenar.

@/\/\® |)e/\/Gµe [] [2004-12-20 04:05]

Bueno lo de miles de años fue por decir mucho, mucho tiempo...si al caso vamos, yo soy de los que cree que la humanidad no va a durar miles de años más...en menos de 300 años, ya seguro nos destruímos nosotros mismos...

@Dresk [2004-11-23 00:47]

Yo creo que hay ser humano para rato (para desgracia de este planeta). Lo que puede derrumbarse de aquí a los próximos años es la forma de vida tal como la conocemos. Una explosión nuclear podría devastarnos, pero puede que no nos erradique. Puede que quedemos (bueno, yo no estaré allí) unos cuantos viviendo como los hombres y mujeres de las cavernas de antaño.

@ximena [2005-01-16 09:20]

Pues espero llegar a ver algo de ese futuro!!!

@BrainX [2004-10-31 04:36]

Existe un lenguaje llamado natural... que *creo* que en sintaxis se parece mucho a cobol.Hehe... y... entonces imaginen, si cualquier guebon pudiese programar... nos quedariamos sin trabajo no creen?saluts.http://vairux.blogspot.com

@/\/\® |)e/\/Gµe [] [2005-01-04 04:14]

No creo BrainX, a lo mejor nos contratan para hacer los módulos de Intelligram, o para enseñar a esos gu***** a que sepan expresar que quieren a Intelligram...LOL

[← VOLVER_AL_INICIO]