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!

domingo, 12 de febrero de 2017

passseder - A new way to generate passwords


PassSeeder 1.0

About

passseeder is a language to generate passwords beginning from a set of alphanumeric list words (seeds) and a string of instructions (generator). To build the generator string there is a pre-defined set of instructions and a constrained range of values for parameters. We will call core word to each word in seeds.

Next, it is shown the syntax to build the generator string by using BNF:

generator = L+num + (M) + core
core = J+symb + (T+num) + W+id + core

Where...
  • L is to limit the length of the password to generate, defined by num.
  • num is a natural number between 1 (included) to infinity.
  • M is for mix in a loop fashion throughout the core words.
  • core is a sequence that defines how to traverse each core word.
  • J is the way to jump characters in a core word, defined by symb.
  • T is the way to take a certain number of character in each jump, defined by num.
  • W represents the inclusion of a core words, identify by id.
  • id is the identifier of a core word, which is a natural number.
symb could be:
  • 1...infinity: jumping of 1, 2, 3, ..., infinity.
  • f: Jumps by following Fibonacci sequence.
  • a: arithmetic progression.
  • g: geometric progression.

Example

*********************************************
****INPUTS***********************************
*** seeds    : hello,world,1234567890,password
*** generator: L16MJ2W1J2W2J2W3J2W4
*********************************************
*** L16     : Length of 16 characters.
*** M       : Mixed (iterate) among core words in seeds.
*** J2 W1   : Pick one character each 2 ones of word 1 (hello).
*** J2 W2   : Pick one character each 2 ones of word 2 (world).
*** J2 W3   : Pick one character each 2 ones of word 3 (1234567890).
*** J2 W4   : Pick one character each 2 ones of word 4 (password).
*********************************************
****OUTPUTS**********************************
** new password: eo2all4shw6olr8d
**********************************

Another example:

  • Seeds    : hello,world,1234567890,password
  • Generator: L32MJ2W1JgW2J1W3JaW4
  • New password: eo2slr3whd4rll5poo6ser7wld8rhl9p

License

passseeder, password generator.
Copyright (C) 2017 Sebastián A. Moraga Garrido.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see http://www.gnu.org/licenses/.

NOTE: I have implemented both a web and a nodejs versions of this algorithm. If you want it, please, leave a comment in this post.

Try it bellow! Use inputs from examples above! :-)

Inputs: Seeds:

Generator:

Password: ****************
Error: ****************
Copyright (C) 2017 Sebastián A. Moraga Garrido - GNU-GPL

viernes, 6 de septiembre de 2013

Embeber Archivos a PDF Generado usando LaTeX

Nunca pensé que se podría hacer algo así, pero sí, se puede y resulta muy práctico. Esto se trata acerca de embeber un archivo en un PDF generado desde LaTeX. ¿Qué les parece?

Quizás se estén preguntando, bueno, ¿y para qué querría embeber un archivo en un PDF? La respuesta resulta muy simple, y voy a reflejarlo con algunas situaciones:

  1. Se está generando un resumen estadístico que se necesita entregar -- digitalmente, por supuesto. Pero también, se desea adjuntar al resumen una planilla de cálculo muy completa con todos los datos brutos y análisis realizados.
  2. Se ha generado un reporte o libro sobre algún tema, y se envía a algún revisor o editor que, eventualmente, deberá realizar algunas modificaciones sobre él. Como ha sido hecho en LaTeX, se necesita adjuntar los fuentes y otros archivos.

En general, ante cualquier situación donde se requiera acompañar el PDF con información extra, es posible embeber tales archivos en el mismísimo PDF generado utilizando el siguiente comando:
\usepackage{embedfile} 
\embedfile{archivo-1-a-embeber.abc} 
\embedfile{archivo-2-a-embeber.abc}  
\embedfile{archivo-3-a-embeber.abc}  
· · ·
 \embedfile{archivo-N-a-embeber.abc} 

miércoles, 24 de julio de 2013

Transmisión de Datos con Menor Pérdida por WiFi

En la seguidilla de las ideas que estoy dando a conocer, esta es otra de ellas. En los siguientes párrafos, les dejo a continuación la idea.

Tomando la idea del artículo «Códigos QR para mejorar la encriptación óptica y proteger información confidencial», el otro día me preguntaba qué otra aplicación se le podría dar para la transmisión de datos, a parte de la mencionada en el artículo Transmisión de Datos de Mayor Densidad por Fibra Óptica, y comencé a imaginar un problema donde las virtudes de corrección de datos del QR se podría aplicar, llegando a visualizar la incómoda situación que se da cuando uno está ni muy lejos ni muy cerca de una red WiFi; mientras más lejos de una red de estas características, los paquetes de datos llegan más dañados, entonces, ¿en cuánto mejoraría si los paquetes fuesen envueltos en un QR?
Reflexionando al respecto, en este caso se podría utilizar sólo una conexión UDP, donde sólo se transmitan paquetes apropiadamente etiquetados con un id secuencial, para llevar una seguidilla, y en caso de que un paquete llegue con una distorsión tal que sea imposible decodificarlo, se vuelve a pedir por su id. En este último caso se aplicaría algo similar a una conexión TCP.
Ya he comenzado a trabajar en un protocolo, inspirado en Tor, a ver dónde llego. Lo he llamado InternetQRLayer.
A continuación, dejo un diagrama de esta idea.
InternetQRLayer project.
Diagrama del protocolo utilizado en InternetQRLayer.
Sus comentarios e ideas, por favor.

Transmisión de Datos de Mayor Densidad por Fibra Óptica

En la seguidilla de las ideas que estoy dando a conocer, esta es otra de ellas. En los siguientes párrafos, les dejo a continuación la idea.

Hace un tiempo, buscaba algunas aplicaciones para los códigos QR. Finalmente, en mi cerebro escuché un ¡clic!, y visualicé transferencia de datos entre celulares utilizando este medio. De forma entusiasta comencé a buscar qué había hecho ya al respecto que fuera similar, y me encontré con algo que no era similar a la idea, sino que ¡era idéntico! En el artículo «QuickeR: Using video QR codes to transfer data» se describe mi tristeza.
No quise ser derrotista, por lo que comencé a buscar alguna variante útil. Un día, leyendo algunas noticias, me encontré con el artículo titulado «Códigos QR para mejorar la encriptación óptica y proteger información confidencial», el cual hablaba acerca de utilizar el código QR como un contenedor de datos para enviarlos encriptados ópticamente y, aunque llegue distorsionado, decodificarlo en el receptor aprovechando las virtudes de corrección de errores del QR. A partir de esta última idea, se podrían mezclar con dos más, a saber el expuesto en el artículo QR de Mayor Densidad y el «High capacity colored two dimensional codes» de Grillo et al, utilizando un QR de mayor densidad, expuesto en el primer artículo, extendiéndolo utilizando colores, de tal forma que, en teoría, se podría densificar aún más. Esto último, eventualmente, sería posible debido a que la transmisión del código se haría a través de un medio medianamente controlado como lo es la fibra óptica.
Las preguntas que surgen de esta idea son:
  • ¿Qué tasa de transferencia se lograría?
  • ¿Se podría reutilizar la infraestructura de fibra óptica actual con un mínimo de modificaciones?
¿Alguna idea?

QR de Mayor Densidad

En la seguidilla de las ideas que estoy dando a conocer, esta es otra de ellas. En los siguientes párrafos, les dejo a continuación la idea.

El código QR convencional trabaja de forma binaria, codificando sus datos a través de bits representados mediante formas cuadradas en blanco y negro. En «High capacity colored two dimensional codes» de Grillo et al, se discute una extensión del QR utilizando color. De esta forma, los autores densifican la cantidad de datos a codificar en la misma área del QR. Sin embargo, existe un problema al utilizar colores: la luz del ambiente. Si el problema es la luz, entonces ¡por qué no descartarla! Entonces, ¿cómo densificar la codificación de datos de un QR?
Pensando en esta última cuestión, la respuesta vino de sopetón a mi mente, y me dije «¡si el problema es la luz, entonces usemos la forma!».
En un curso de la universidad donde trabajo, este semestre trabajamos junto a un alumno en esta idea, y conseguimos algunos resultados iniciales. Elegimos estratégicamente formas tales que fueran de simple identificación por parte de algún software, consiguiendo un sistema de representación en base 5 -- representándose 5 formas diferentes. Uno de los resultados más destacables es el hecho de que un caracter ASCII se puede codificar con 4 bits en base 5, consiguiendo, en forma teórica, doblar la densidad de un QR convencional.
A continuación, dejo dos imágenes que codifican 1 Juan 4:8, una versión usando el código QR y la otra el código propuesto. Es necesario aclarar que la imagen del código propuesto codifica sólo los datos ASCII en bruto, sin información de control ni de corrección de error ni datos para corregir distorsiones.
El que no ama no conoce a Dios, porque Dios es amor.
1 Juan 4:8 versión código QR.

El que no ama no conoce a Dios, porque Dios es amor.
1 Juan 4:8 versión código propuesto.


Compresión de Datos Utilizando Poliominós

En la seguidilla de las ideas que estoy dando a conocer, esta es otra de ellas. En los siguientes párrafos, les dejo a continuación la idea.

Específicamente, pentominós, los que podrían ofrecer una buena alternativa para representar formas, basándose en la morfología matemática.
Esta idea nace como una alternativa a la compresión utilizando las matrices Sudoku, discutida en el artículo Compresión de Datos Utilizando Matrices Sudoku -- estos problemas me estaban causando demasiados cortocircuitos cerebrales; por eso consideré esta idea, como una nueva vía.
La idea principal es implementar un algoritmo cuya entrada sea un flujo de bits, y cuya salida sea otro con ciertas propiedades que a continuación explico.
Internamente, el algoritmo va tomando de a m bits en m bits, conformando matrices binarias de nxn que llamaremos matriz T. A partir de T, se busca «encajar» poliominós donde existan conjuntos de bits encendidos (i.e. unos), generando un conjunto de poliominós utilizados que llamaremos P. De esta manera, sólo se necesitará codificar no toda la matriz, sino sólo el conjunto P.

Es necesario mencionar que en T pueden surgir tres situaciones. La primera es que en T existan mayor cantidad de unos que de ceros. En este caso, la cantidad de poliominós necesarios para cubrir la superficie de T será grande. Una solución simple, es invertir los bits de T. La segunda situación, es que ocurra lo contrario a la primera. En este caso, no es necesario hacer algo. Finalmente, la tercera situación es que vengan tantos unos como ceros en igual cantidad.

Los problemas que surgen de esta propuesta son los siguientes:
  • Se necesita encontrar la combinación óptima de poliominós p en P sobre T, tal que ||P|| sea el mínimo en U, donde U es el universo de conjuntos de poliominós.
  • Se requiere encontrar una representación óptima para p.
¿Alguna idea?

Compresión de Datos Utilizando Matrices Sudoku

En la seguidilla de las ideas que estoy dando a conocer, esta es otra de ellas. En los siguientes párrafos, les dejo a continuación la idea.

El objetivo de esta idea es conseguir un algoritmo que dado un conjunto de bytes de entrada, genere otro flujo de salida con ciertas propiedades que explico a continuación.
El algoritmo, en una primera versión, internamente va tomando subconjuntos de 81 bytes, conformando matrices de 9x9 que llamaremos matriz T (el tamaño del tablero de Sudoku tradicional; otra versión podría extenderse a otros tamaños). Posteriormente, a partir de T se busca un conjunto de matrices Sudoku S tal que aplicada alguna función, como sumas y multiplicaciones (u otro operador), se pueda reconstruir T.
Dada la naturaleza del Sudoku, es posible dejar sólo algunos datos en las matrices s en S. De esta forma, la representación binaria de s pudiera reducirse considerablemente, y no tan sólo porque, eventualmente, serían menos números, sino porque los números van de 1 a 9, representables con 4 bits.

Algunos pequeños gigantes problemas son los siguientes:

  • La búsqueda del conjunto S óptimo es un problema de combinación, resultando en un algoritmo exponencial. Se podría tratar con metaheurísticas, pero no garantizaría completitud.
  • Suponiendo que se ha encontrado un S óptimo, al momento de descomprimir, cada s debe ser reconstruido. Los mejores algoritmos para resolver Sudokus aún son exponenciales.
¿Alguna idea?

Obtención de Información a través de Datos Aleatorios

He querido y estoy trabajando en algunas ideas que me parecen muy interesantes -- claro, de lo contrario no las pensaría ni trabajaría en ellas... el cerebro algunas veces es muy antojado.
En los siguientes artículos, quisiera ir dando a conocer estas ideas una a una.
La primera la presento en las siguientes líneas.

Hace un par de años atrás, alrededor de 2007, más o menos, comencé a trabajar en una idea basadas en algunos conceptos de The Global Consciousness Project, el código de la Biblia e hipótesis de Masaru Emoto. La idea era hacer lo mismo que hacían con el código de la Biblia (aquí la relación con aquel tema), pero en lugar de utilizar como entrada la Biblia, utilizaba datos generados aleatoriamente. Específicamente, desde el servicio «Quantum Random Bit Generator Service», que envía números generados a través de dispositivos que utilizan técnicas cuánticas. La razón de utilizar números generados cuánticamente está basada en las ideas de Emoto, las cuales apuntan a que la mente humana, las ideas, las intenciones de un individuo, o un grupo de ellos, afectan la materia que le rodea. Por lo tanto, y a nivel cuántico aún con mayor razón, de alguna manera los datos aleatorios generados cuánticamente codifican las intenciones de los individuos que le rodean. 
A partir de los datos aleatorios obtenidos, a través de algoritmos similares a los utilizados para obtener códigos de la Biblia, pretendía extraer información, buscando patrones ASCII (nombres, principalmente) en una gigantezca matriz aleatoria. 
Mi hipótesis era aún es que a partir de tales datos y funciones matemáticas y algoritmos es posible extraer información acerca de las intenciones o impresiones de algún grupo de personas.
Yendo aún más allá, quizás a través de métodos de análisis matemático, estadístico o algorítmico complejos se podría llegar a filtrar intenciones, pensamientos o algo más acerca de personas de forma individual. Quizás, esto se podría comparar a una emisora transmitiendo su señal -- estos serían los individuos -- y una radio que capta la señal transmitida -- esto sería el sistema propuesto.
Este año, me vengo a enterar, gracias a que mi amigo +Ramiro Rebolledo comentó este artículo, que alguien más ha pensado algo muy similar.
Actualmente, he quedado varado en cuál es la codificación adecuada para los datos y cuál es el análisis adecuado para filtrar lo que se necesita... ¿alguna idea?

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.

domingo, 21 de julio de 2013

Virtua-Vida

Para entender este post, primero, por favor, leer "Descubrir al creador" de +Ramiro Rebolledo. De hecho, en op. cit. está el mismo comentario que a continuación dejo a ustedes.

Ya es conocido que existen varios intentos por replicar el funcionamiento neuronal de forma muy precisa; creo que así como vamos (y considerando ese impactante hallazgo del Blue Gene de IBM respecto de la generación espontánea de impulsos eléctricos espontáneos -- por supuesto, simulados), en una década más ya se encontrarán maneras primitivas de replicar la consciencia en las máquinas.

Con lo anterior ya conseguido por nuestra sociedad, ¿qué será lo primero en que pensarán las máquinas de forma autónoma?

El santo grial de la IA es crear un fiel reflejo de nosotros mismos en una máquina. Esta búsqueda implica llegar a conocernos profundamente a nosotros mismos; entender cómo emerge la inteligencia y la consciencia a partir de un sistema tan maravillosa y prolijamente diseñado como lo es el sistema nervioso. ¿Estas criaturas de seguro harían los mismo si se les deja ser en su mundo virtual? ¿En algún punto de su historia se agruparán en tribus, luego en villas, luego en reinos? ¿Surgirán grandes civilizaciones que aporten conocimiento a su civilización virtual? ¿Se crearían ciencias que tengan equivalencia a las nuestras, tales como la matemática, la física, la química, las ciencias de la computación? Con esto último, ¿sentirán la necesidad de entenderse a ellos mismos y comenzarán a buscar la forma de volver a replicarse en criaturas artificiales -- desde su punto de vista, claro está -- y observar cómo su creación evoluciona tal y cual como nosotros, eventualmente, lo haríamos?

Consideremos los siguientes supuestos: Supongamos que en algún momento de nuestra historia se consigue crear un simulador H que posee la capacidad de simular de forma exacta a un ser humano. Supongamos que existe otro simulador R que consigue simular de forma exacta la realidad; simula la naturaleza, la vida microbiana, la vida vegetal, la vida animal, la atmósfera y el sistema solar y el firmamento. Supongamos que se lanza la ejecución de esta simulación de R con un hombre H1 y una mujer H2 en un entorno donde R está en completo equilibrio, y H1 y H2 no tienen fallas genéticas ni desequilibrios neuronales. Dado que el simulador H respeta todas las leyes biológicas, físicas, químicas y genéticas que nos rigen, y si no hubiese intervención de parte de nosotros, los creadores, en la simulación ni de R ni de H, ¿qué historia nos contaría estas simulaciones? ¿Habría una Babilonia, un Israel, una Roma, una India, una Grecia, una Persia, un Egipto, un pueblo Maya o Inca en su historia? Ahora, supongamos que sólo en algunas ocasiones intervenimos, y supongamos que sí surgen civilizaciones equivalentes a las antes mencionadas. ¿Qué ocurriría, por ejemplo, si la civilización equivalente a la griega nunca fuese destruida, y que todo su conocimiento se preservara y se acrecentara, incluyendo el libre ejercicio de su ideal democrático, sin la destrucción y perpetua pérdida que implicaron las guerras con la "virtua-Roma"? ¿Qué ocurriría si en la simulación surgiera un equivalente a la Biblioteca de Alejandría pero que jamás fuese destruida? Personalmente, me inquieta el conocer a qué llegarían esas civilizaciones simuladas en el año 2000 d.C. de nuestra realidad; qué avances tendrían, qué descubrimientos habrían hecho. Además, ¿en qué se encontrarían las civilizaciones de nuestro continente si jamás fuesen perturbados por otras de otros continentes? ¿en qué estarían y cuánto avance tendrían? ¿qué tecnologías habrían surgido de sus mentes?. Finalmente, ¿qué religiones, filosofías e ideologías sociales existirían?

Hablando hipotéticamente, este tipo de tecnologías de simulación se podrían aprovechar para crear proyecciones alternativas de la ciencia y el arte para nuestra realidad; dado que los tiempos virtuales no necesariamente deben ser equivalentes a los tiempos reales, la simulación se podría acelerar para conocer y estudiar tecnologías futuras (en la simulación) que aún no existen en nuestra realidad, y así traer desde el "virtua-futuro" beneficios para nuestra sociedad...o maleficios.

Ahora, dado que H y R son réplicas, se podría levantar fuertes discusiones polémicas sobre si de H emerge consciencia, y decretar que H es en sí vida, aunque virtual, pero vida al fin y al cabo, y que JUGAR (en el sentido literal de la palabra) con ellos es absolutamente inmoral y totalmente anti-ético. Pero, si, eventualmente, se llegara a esa conclusión y las instancias jurídicas que decreten anti-ética las simulaciones decreten terminar con ellas, ¿sería ético apagar todas las simulaciones que los centros de investigación de "virtua-vida" para finalizar esta posible inmoralidad, poniendo fin a todas las simulaciones H que fueron decretadas vida?

jueves, 2 de agosto de 2012

Pensamiento sobre las Ciencias de la Computación

Una breve cita de José Galaviz Casas sobre las Ciencias de la Computación:
Las matemáticas y la física tienen siglos de existencia, son grandes montañas de conocimiento que la humanidad ha construido piedra por piedra para poder ver más lejos en el horizonte y sin embargo nos siguen sorprendiendo todos los días, seguimos acarreando piedras; lo mejor de la ciencia de la computación está aun por venir…Probablemente las futuras generaciones sonrían al pensarnos ingenuos por no percatarnos de una gran roca que estaba allí y nunca vimos, como sonreímos cuando nos enteramos de que los griegos pasaron de largo junto al álgebra sin verla.
Tomado desde www.revista.unam.mx, publicado el 10 de septiembre de 2004 Vol. 5, No. 7 ISSN: 1607 - 6079.