Mostrando las entradas con la etiqueta language. Mostrar todas las entradas
Mostrando las entradas con la etiqueta language. Mostrar todas las entradas

lunes, 12 de marzo de 2018

Multi-agent Building System using an Architectural Plan Language and some other Microlanguages

Hello! So long time!

I would like to share with you the following idea of a building system. My be an already existent one, but any way... it is just an idea.


Thinking about some building printing systems, suddenly an automated Lego-based building system came up in my mind. This system could use a multi-agent robotic system to orchestrate the building process. The problem is, how to guide the multi-agent system to proceed?


One solution, is to use some ADL (Architecture Description Language) as a visual language to describe the architectural, electric and plumbing/piping blueprint, an interior design description (may be using a CSS based description linked to the previous ADL definitions), schedule of the project (including human and material resources) and a contingency plan to be translated into a high level optimized language, perhaps based on URBI, to guide the execution of the multi-agent system along the building process. This multi-agent guidance process should be performed by a Universal Controller Module (UCM) fed up with some necessary inputs, described below:


  • Main human responsible of the building process, to be feed-backed  with main reports generated by the UCM. 
  • Current availability of materials in units, volume or mass.
  • Which responsible units (robots) are in charge of which material.
  • Which responsible humans are in charge of inspect the robotic units. (to be feed-backed with the real-time reports generated by the UCM through a web-app or mobile-app)
  • Time clock punching of human inspectors, to keep track the predefined schedule.
  • Security and quality standards to follow, perhaps described using some microlanguage.
To summarize the idea, the building process using this system is:

  1. Using some ADL:
    1. Define the architectural blueprint.
    2. Define the electric blueprint.
    3. Define the plumbing/piping blueprint.
    4. Develop an interior design description.
    5. Define a scheduling of the project.
    6. Define a contingency plan.
  2. Compile the ADL definitions to generate an URBI based code to be executed by the multi-agent system.
  3. Feed up the UCM with the compiled program and the rest of the just mentioned parameters (humans in charge, material availability, time clock punching and security and quality standards).
  4. Execute the building process.
What else? Your comments are welcome!

martes, 23 de julio de 2013

El Conocer el Conocer

En el capítulo uno del libro El Árbol del Conocimiento de Humberto Maturana, el autor plantea interesantes ideas sobre el verdadero conocer de la realidad.

Normalmente, nosotros, los seres humanos, aceptamos la realidad tal y cual la percibimos, creando dogmas y certidumbres innegables al respecto; de los sentidos experimentamos la realidad, y la asimilamos y aceptamos. Los sistemas educacionales actuales nos presentan hechos, en su mayoría dogmáticos, que debemos aceptar, transformando nuestras estructuras mentales al consenso universal humano, descrito más o menos por el concepto istina en la lengua rusa, que da a entender la acción de adaptar nuestras estructuras mentales al mundo que nos rodea. De esta forma, el sistema educacional enseña «istinas» al estudiante a través de hechos ya digeridos... evitando dos proceso cognitivos trascendentales en el ser humano: Experiencia y Reflexión.

Maturana plantea que cada individuo humano percibe el mundo según su mundo. ¿Qué quiere decir esto? Cada individuo es en sí un mundo de mundos. Esto lo podríamos resumir en el concepto de metamundo. Maturana al considerar  a cada uno de nosotros como un metamundo, habla acerca de que cada uno de nosotros poseemos estructuras mentales propias que nos hace ser únicos. Tales estructuras han sido moldeadas por vivencias a lo largo de nuestra vida o por la misma biología. Maturana ejemplifica esto a través de dos experimentos: El punto ciego del ojo; y, la percepción de los colores. Con respecto a este último, no sólo factores biológicos pueden alterar la forma en que reconocemos o entendemos los colores, sino que también factores lingüísticos alteran la manera en que los reconocemos; no en todas las lenguas humanas existen palabras para distinguir entre el verde y el azul, o el negro y el azul.

Es increíble, pero el consenso social es a crear certidumbre acerca de lo que se percibe. Bajo este paradigma de vida y de educación, evitamos la reflexión, y sólo nos concentramos en la acción, tan propia de nuestra cultura occidental. Finalmente, aprendemos a no pensar, sólo a aceptar. ¿Qué sociedad crece virtuosa así? Quizás esto explica lo viciosa que es.

A través de los sentidos captamos todo lo que nos rodea. Sin embargo, esto es sólo una pequeña parte de la realidad. Peor aún, es lo que nuestros sentidos -- con todas sus limitaciones y falencias -- nos dicen acerca de la realidad; no es la realidad misma. Aceptar que es la realidad misma sería un error horroroso: pero, irónicamente, del cotidiano vivir. En otras palabras, vivimos sumidos en el error, quedándonos sentados esperando a recibir el dogma del día.

Esto me recuerda a la caverna de Platón, donde las sombras serían la realidad que nos hacen ver de los sentidos.

El proceso de experiencia-reflexión rompe este esquema. Sin embargo, requiere del cambio cultural de nuestra sociedad. Por una parte, la experiencia mueve al individuo al hacer, al buscar, al observar y, por otra parte, la reflexión ayuda al individuo a conocer cómo conocer y, finalmente, a conocer. Como lo explica Maturana, el proceso de reflexión es similar al peculiar momento cuando un ser humano observa su reflejo en un espejo, permitiéndole ver su propio yo físico; mismo para un nivel intelectual y espiritual. La reflexión permite sacar al hombre de la caverna y liberarlo de la visión de sólo sombras, haciendo que vea la realidad tal cual.

Según Maturana, cada reflexión es un mundo en la mano. Esto resulta especialmente interesante, pues cada reflexión, entonces, llega a ser parte de nuestras estructuras biológicas mentales, por lo tanto, somos un metamundo. Sin embargo, todo parte de alguna parte, esto es, de una idea que alguien alguna vez a dicho. Tal idea inicial ha sido parte del mundo de otro individuo que ha sido transmitido a través de algo maravilloso, del que los humanos nos jactamos por su complejidad. Me refiero al lenguaje, que corresponde al puente de tránsito entre metamundos. Sin él, viviríamos en una sociedad inválida, incolora, inmóvil. Con él, es posible hacer intercambiar mundos, ideas y generar reflexiones a través de diálogos, ya sea, entre metamundos o de forma imaginaria, es decir con el mismo metamundo.

De lo anterior, en conclusión, la única verdad es la que no se percibe por los sentidos; similar a lo que dice Antoine de Saint-Exupéry en su obra El Principito:
Solo se ve bien con el corazón. Lo esencial es invisible a los ojos.
Quizás, esto último de un atisbo acerca de lo verdadero. Si los sentidos impiden ver la realidad, entonces la realidad no se mira con los sentidos, sino que con la mente; esta es la forma en cómo se conoce lo Divino.

jueves, 20 de enero de 2011

Sonidos de Eventos de Sistema

¡Saludos Cybernautas!

  Bueno, este post tratará sobre un tema más bien vano, pero muchas veces necesario para embellecer el entorno de productividad. Y es que nosotros, los seres humanos, gustamos de lo bello y adaptado a nuestras condiciones. ¿No me creen? Entonces, por qué el dicho "En gustos no hay nada escrito"...

  0K, ¿te gustaría que tu máquina -- y hablo en usando el amplio sentido de la palabra -- te hablara? ¿Y qué te parece si lo hiciera en tu propio idioma? Bueno, ¿la solución? ¡San Google! Sí, aunque no lo creas, Google habla, ¡¡¡y en muchos idiomas!!! ...bueno, la verdad es que esto es una pequeña pillería.

  Vamos y veamos cómo lo hace este gigante:
  • Examinemos esta URL. Aquí encontramos la interfaz típica que ofrece Google para realizar las traducciones desde un idioma hacia otro. Para probarla simplemente escribe "Hello World" en el cuadro de texto principal, y "mágicamente" (automáticamente) aparecerá la traducción "Hola Mundo" en un área de texto contigua. Luego, notemos que bajo ambas áreas de texto aparece un botón con la leyenda "Escuchar". Es aquí donde comienza la pillería; haz clic sobre ellos, y en cada caso escucharás la pronunciación en el respectivo idioma de su traducción. ¡Sonido! Sí, efectivamente: Sonido; y el sonido de una agradable voz femenina, de la cual sacaremos nuestros sonidos de eventos. ...pero, ¿y cómo extraemos el sonido? Probando... probando... mmm... no se puede de forma típica; nuestro clic derecho y guardar archivo no funciona en este caso. Pero no desesperen, a continuación, la solución...
  • Navegando por Internet, en un foro encontré la siguiente línea: http://translate.google.es/translate_tts?q="xxxxxxx"&tl=yy
0K, ¡pero de qué se trata esta línea! Bueno, ahora la explicación:
  • Esta línea es una URL que le dice a los mágicos servidores de Google que deben enviar al cliente un archivo de audio con una voz artificial sintetizando el mensaje "xxxxxxx".
  • Además, el mágico servidor debe sintetizar el mensaje antes mencionado considerando las reglas de pronunciación de la lengua yy (al final de la URL), donde yy es alguna de las abreviaciones de nombres de idiomas codificados bajo el estándar ISO 639-1 (sigue el link y encontrarás con una lista de nombres estándares, e.g. para el español es es, para el inglés es en, para el portugués es pt, para el francés es fr, y la lista sigue...).
0K, ahora veamos algunos ejemplos:
  • ¿Qué les parece si quisiéramos que nuestro móvil nos dijera que tenemos un mensaje de texto entrante en latín? Entonces la URL debiera ser algo así:
http://translate.google.es/translate_tts?q="Reditus verbum Text"&tl=la

  • ¿Y si nos llega un correo electrónico de Gmail y queremos escuchar el aviso en alemán?
http://translate.google.es/translate_tts?q="Eingehende "Gmail"-Meldung"&tl=de
 
  •   ¿Y un recordatorio sobre un pendiente en la lista de tareas, y queremos que nuestro móvil nos hable en inglés?
 http://translate.google.es/translate_tts?q="You have an event in the tasks list"&tl=en

  •  ¿Y un mensaje en Facebook, y que nos avise en francés?
http://translate.google.es/translate_tts?q="Vous avez un nouveau message dans fâisbouk"&tl=fr

...aaah! ¡momento! ¿Por qué "fâisbouk"? Porque el sintetizador pronuncia lo que le dicen, y /fâisbouk/ suena más similar a Facebook (pronunciado como corresponde, i.e. en inglés, dado que es la lengua de donde proviene este nombre) que si lo escribiéramos /facebook/. ¡Hagan la prueba! Reemplacen "Fâisbouk" por "Facebook" en la URL y contrasten las pronunciaciones. ...esto es sólo un juego fonético y estético.
  • ¿Y qué tal un aviso de Tweet en portugués?
 http://translate.google.es/translate_tts?q="Tem um novo Twe"&tl=pt

...aquí jugamos con la fonética de igual forma como lo hicimos con el ejemplo anterior: Aprovechando que en portugués la última "e" de las palabras suena como /i/, entonces escribimos "twe" para que suene similar a /tuIt/, voz con la cual se pronuncia la palabra Tweet en inglés.

Sí, es cierto, a este sintetizador provisto por estos mágicos servidores de San Google se les puede sacar mejor provecho que para esto tan vano. Sin embargo, sólo he pretendido mostrar una de estas tantas formas de utilizar este fantástico servicio, y con el ánimo de ejemplificar una de las formas -- bien, es cierto, una forma muy informática -- de obtener sus resultados.

Aquí les dejo algunos eventos ya listos para utilizar. Todos en formato "mpga" que es el formato en el cual retorna el audio el servicio... y no es otra cosa que el vital formato "mp3". Era sólo cosa de cambiar el nombre de la extensión... pero no es necesario, a menos que el software donde ejecuten el audio se los pida arrojándoles un desagradable error. Otra cosa, el nombre de cada archivo y antes de la extensión, lleva la abreviación del estándar ISO 639-1 del idioma en el cual está dicha la frase. Por ejemplo: EventInTheCalendar-de.mpga significa que es el audio que avisa de un evento en el calendario del equipo, y que está en alemán por la abreviación de al final del nombre. El mismo aviso bajo el nombre EventInTheCalendar-fr.mpga significa que está en francés, por la abreviación fr al final del nombre.

Enjoy this! ¡Saludos!