P. 1
programacion_ludica

programacion_ludica

|Views: 2.549|Likes:

More info:

Published by: Mario A. Morales Solis on May 08, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

04/07/2013

pdf

text

original

Sections

  • Manuel López Michelone
  • Reloj digital
  • Anatomía de un metrónomo
  • Reproductor MP3
  • La experiencia Bach
  • Percepción extrasensorial en casa
  • iveles etílicos
  • Para ganar en las encuestas
  • Un mago por software
  • Software irreverente
  • Regalo de nuestros patrocinadores
  • Los bytes privados
  • Imágenes y filtros gráficos
  • Blending
  • Fotos Recursivas en color
  • Sopa de letras
  • Creador de Iconos
  • Fotos al óleo
  • Casos de prueba
  • Conclusiones
  • Referencias/bibliografía
  • Conjugación de verbos regulares
  • Cuadrados mágicos
  • Corrector fonético
  • Lapsus: un corrector ortográfico inteligente
  • Creador de crucigramas
  • Engañando a la prueba de Turing
  • Creación de sudokus
  • Historia
  • Creador de diagramas de ajedrez
  • Protector de pantalla en honor de Kasparov
  • Calculadora de rating Elo
  • Ajedrez a la ciega
  • Tarjetero electrónico de posiciones de ajedrez
  • ¿Qué tan bueno es su ajedrez?
  • Editor de partidas de ajedrez solitario
  • Patrones en Ajedrez
  • Lee-Sakharov
  • Barua-Maherramzade
  • Mc ab-Mullen
  • Patrones en ajedrez II
  • ¿Está conectado a Internet?
  • Mi solución contra el correo chatarra
  • Cuide a sus hijos
  • Bloqueador del ms–messenger
  • Juego de palabras
  • Mensajes subliminales
  • Programando la Palm
  • ¿Es usted honrado? (parte I)
  • Es usted honrado? (parte II)
  • Bosquejo de un curso de ruso
  • Portafolio para modelos
  • Sintetizando la voz
  • A 1996 Interview with Silvers:
  • Programa visualizador de los fotomorsaicos

Prólogo
Existen en la actualidad una inmensa cantidad de libros acerca de la programación. La cantidad de textos sobre cómputo se ha multiplicado de manera extraordinaria y no cabe duda que la razón de esto es la red Internet y el hecho evidente del uso de la computadora personal a todos los niveles, pero cada vez más cercana a la cotidianidad. En su mayoría, los libros de programación son finalmente libros de texto, para ser usados probablemente por profesores en sus respectivas cátedras universitarias. No obstante esto, no hay muchas obras de divulgación sobre la labor de programar. ¿Es fácil? ¿Es difícil? La mayoría de la gente no intentará programar computadoras debido a una proverbial idea de que es demasiado complicado y que “eso” se estudia solamente en las universidades o es únicamente para especialistas y “nerds”. . Cabe señalar que además de esto, los libros sobre la enseñanza de la programación son áridos y poco atractivos para el común de los mortales. Si uno hojea dichos tratados verá temas como: “Uso de listas ligadas y doblemente ligadas”, “Caso ejemplo: programa de costos unitarios”, “Estructuras de datos dinámicas”, etc. Es claro que este tipo de tópicos hacen que muchos programadores potenciales simplemente dejen el libro en donde lo hallaron. Sin embargo, la computación se ha hecho innecesariamente reverente y yo soy de la opinión que la diversión puede y debe estar presente cuando se programa una computadora. No todos son textos de solemnidad doctoral o software formal y serio de hojas de cálculo, procesadores de palabras o bases de datos. Afortunadamente la computación da para más que eso y en ese sentido este libro es la propuesta que bien puede ser para enseñar a programar en algún lenguaje popular o bien simplemente como una colección de ensayos sobre cómputo, ajedrez computarizado, Internet, la inteligencia artificial, etc., temas que finalmente nos son cotidianos por la relevancia que la cibernética ha cobrado en los últimos años. Con el empeño de que la programación es de esas pocas cosas divertidas que pueden hacerse con los pantalones puestos se encaran los temas dentro de este libro. A partir de artículos que originalmente se publicaron en periódicos virtuales y reales, pero reescritos para darles forma más completa (las ideas apoyándolas con argumentos técnicos), amén de no tener las limitaciones que imperan en un artículo de 5000 caracteres, este libro pretende que el lector se introduzca al mundo de la programación y que a la larga lo motive para crear sus propios sistemas. Algunos artículos son simples reflexiones filosóficas sobre ciertos temas de interés en el mundo de la informática, otros (la mayoría), son sistemas completos que pueden ser usados por los lectores de manera libre y que contienen ideas específicas de programación. Hoy día las mega-obras del software están hechas: hojas de cálculo, procesadores de palabras y bases de datos ya son comunes en las llamadas “suites”, paquetes completos para la productividad, impuesta por el modelo económico de occidente. Todos estos grandes esfuerzos se hicieron por enormes equipos de programación. Sin embargo, hay espacio para todo género de aplicaciones y programas menos ambiciosos pero que resuelven problemas cotidianos y que pueden ser escritos –los más complicados– en un par de semanas por una sola persona, si se trabaja lo suficiente en el problema a resolver. Puede verse así que aún hay margen para todos los programadores de fin de semana, por decirlo de manera coloquial. El libro contiene un disco compacto (CD) con todo el código fuente y programas de apoyo, así como algunas carpetas con componentes para ser usados por el lector interesado así como archivos adicionales. Así pues, no se necesita necesariamente meterse de lleno en el tema y aprender a programar a la fuerza para poder usar el contenido e información aquí descrita, aunque evidentemente no le caería nada mal hacerlo de esa manera.

Manuel López Michelone Enero 2011

Índice
Primeros pasos Reloj digital Anatomía de un metrónomo Reproductor MP3 La experiencia Bach Percepción extrasensorial en casa Niveles etílicos Para ganar en las encuestas Un mago por software Software irreverente Regalo de nuestros patrocinadores Los bytes privados Gráficas Imágenes y filtros Blending Fotos recursivas en color Sopa de letras Creador de iconos Fotos al óleo FotoMorsaicos Inteligencia Artificial Conjugación de verbos regulares Cuadrados mágicos Lapsus: un corrector ortográfico inteligente Corrector fonético Creación de crucigramas Engañando a la prueba de Turing Creación de sudokus Ajedrez Creador de diagramas de ajedrez Protector de pantalla en honor de Kasparov El Secreto de los grandes maestros Calculadora de rating Elo Ajedrez a la ciega Tarjetero electrónico de posiciones de ajedrez ¿Qué tan bueno es su ajedrez? Editor de partidas de ajedrez solitario (ver capítulo anterior) Patrones en ajedrez I Patrones en ajedrez II Internet ¿Está conectado a Internet? Contra los spammers Biométrica: No es lo que escribes, sino cómo lo escribes. Cuide a sus hijos Bloqueador del ms–messenger Proyectos varios Juegos de palabras en televisión Mensajes subliminales

Programando la Palm ¿Es usted honrado? (parte I) ¿Es usted honrado? (parte II) Bosquejo de un curso de ruso Portafolio para modelos Sintetizando la voz ¿Son sus empleados productivos? Apéndices Apéndice I Entrevista con Robert Silvers Apéndice II Programa visualizador de los fotomorsaicos .

busqué en Internet si había algún componente que me desplegara los números de las horas. Lo instalé en la paleta de Delphi y simplemente lo usé sin mayores contemplaciones. escribir un programa que actúe como un reloj digital es francamente sencillo. que vaya desplegando segundo a segundo las horas. se utiliza un componente de la paleta de sistema llamado Timer. TDateTime es del Tipo DateTime (fecha y hora. Una vez hecho esto. Así. Pero en un afán de hacerlo más “bonito”. totalmente gratis). Entonces. Delphi nos entrtega el formato de la hora de manera muy específica. cada segundo). como se ven en muchísimos instrumentos tecnológicos. El sistema regresará en la variable hora la hora actual que tiene la computadora en ese momento. Además. Primero necesitamos saber que los diseñadores de Delphi han integrado un tipo de datos llamado TDateTime y TTime (la ‘T’ inicial es una convención muy usada para decir que se está hablando de algún Tipo de datos en particular). entonces usamos el componente etiqueta.Primeros pasos Reloj digital Cuando empecé a programar en Delphi (realmente turbo Pascal para Windows). Imagen 1 Ejecutando el reloj digital Hasta aquí podría decirse que el proyecto funciona. si le decimos que dispare cada 1000 milisegundos (es decir. Ahora entramos a las funciones de manipulación del tiempo. en este ejemplo). mi primer sistema fue un reloj digital. Si queremos hacer un reloj digital. simplemente en el cuerpo del timer leemos la hora del reloj segundo a segundo y si la desplegamos. el timer disparará un evento cada segundo exactamente. Para el caso que nos ocupa (no estamos necesitando más que la hora sin necesidad de la fecha). A partir de ahí. La razón de ello es que. Si ponemos la instrucción Hora := ow. por ejemplo en una etiqueta. pero a través de la función TimeToStr. la cual es precisamente de ese tipo. el pseudocódigo del timer vendría a ser algo como esto: . llamada Hora. Encontré un componente “freeware” (es decir. tendremos un reloj digital totalmente funcional (claro. es decir. cuya función es disparar un evento cada cierta cantidad de milisegundos. y entonces definimos una variable. aunque es un proyecto simple. cambiando el tipo TTime al tipo string. usamos el tipo TTime. De esta manera. requiere utilizar algunos componentes del sistema y entender cómo es que Delphi maneja algunas estructuras de datos usuales. el sistema nos da funciones para manejar ese tipo de datos fácilmente. En el display de 7 segmentos se puede poner cualquier número del 0 al 9. minutos y segundos en una especie de “display” de siete segmentos. podemos convertirlo en una cadena de caracteres y para desplegarlo. Para hacer esto automáticamente. habrá que leer el reloj de la máquina una vez cada segundo (60 veces por minuto).

Pseudocódigo del timer Lee la hora Pásala a una variable Conviértela a una cadena de caracteres para que sea leíble por los seres humanos Toma el primer carácter de la cadena… ¿es 1? Eso quiere decir que son ya las 12 (ojo, usamos el formato de 12 horas) Si no es 1 entonces agrega a la cadena un cero para tener 0H:MM:SS AM/PM Revisa ahora cada carácter de Horas, minutos y segundos Ponlos en el display de siete segmentos correspondiente Revisa si el décimo carácter es ‘A’ o ‘P’ (AM o PM). De acuerdo a eso, pon en la etiqueta un ‘am’ o un ‘pm’. Termina Después de eso me di por satisfecho. Mi reloj digital funciona perfectamente y claro, podría aún agregarle funcionalidad, como por ejemplo, ponerle sonido (que haga tic tac), o bien, que tenga una alarma. Las posibilidades suelen ser infinitas, pero en este caso no haré más. Basta con esto para que el lector tenga con qué entretenerse. El código es muy sencillo de seguir. No tiene dificultad alguna.

Primeros pasos Anatomía de un metrónomo

Mi padre era guitarrista y desde que tengo uso de razón lo vi estudiar ayudado de un aparato mecánico conocido como metrónomo. Este aparatito da una pulsación cada cierto tiempo determinado. Así, mi padre, cuando estudiaba las escalas, por ejemplo, podía hacerlas a mayor o menor velocidad, de acuerdo a las necesidades interpretativas o de habilidad en los dedos, incluso, que esté practicando en ese momento. Un metrónomo es una especie de reloj que da un tic en instantes por demás precisos. Los metrónomos más conocidos tienen la forma de una pirámide y una barra que hace el equivalente de un péndulo de reloj, pero que a diferencia de este último, que da un tic cada segundo, el metrónomo puede ajustar esa barra con un contrapeso para que vaya más rápido o más lento. Los metrónomos tradicionales tienen mediciones que van de 40 a 208 pulsaciones (o golpes) por minuto. Obviamente, teniendo a un padre profesional de la música, he visto en casa más de un metrónomo. El que usaba normalmente era uno pequeñito, rojo, como diseñado para llevárselo de viaje. Sin embargo, me mostró también uno suizo, que es como un reloj de muñeca y dentro de la carátula del mismo está el péndulo que se mueve de un lado a otro, como si fuese una manecilla más. Por supuesto que hay también metrónomos digitales, los cuales presentan en un “display” la cantidad de golpes por minuto que el usuario quiere tener. La mayoría son de baterías aunque hay, desde luego, algunos que se conectan a la corriente eléctrica de la pared. Pero sin importar el modelo del metrónomo, éste tiene su costo. Posiblemente se puede hacer de uno por alrededor de 200 a mil pesos quizás. Debido a esto, y considerando que la vida está muy cara, decidí que era momento de hacer mi propio metrónomo computarizado de manera que, usando las bocinas de la computadora, me diera un golpe en intervalos muy precisos de tiempo. La tarea parecía muy simple. De hecho, antes de programar nada, decidí hallar sonidos típicos de metrónomos, es decir, del sonido que generan cuando dan un golpe. Encontré en la red más de un sonido wav y elegí el más parecido al que he escuchado siempre en los metrónomos que mi padre tiene. Una vez hecho esto, me metí a Delphi (la herramienta de desarrollo que uso) y le pedí que generara un golpe cada segundo, usando la programación orientada a objetos. Esto es, usando un componente que dispara un evento (como el tocar un sonido) en Windows cada cierta cantidad de milisegundos. Después añadí una barra de scroll, que permite desplazar un control de izquierda a derecha para incrementar o disminuir la cantidad de golpes por minuto. Hallé la fórmula que me dice cuántos milisegundos debo poner en el componente ‘timer’, es decir, en el que dispara un evento sonoro cada cierto definido tiempo precisamente en milisegundos, de acuerdo a la cantidad de golpes que quiero por minuto. Y una vez hecho todo esto, al correr mi aplicación, encontré que mi programa, a ritmos rápidos, no funcionaba.

Imagen 1 El programa del metrónomo

¿Qué estaba pasando? ¿Por qué no suena? Después de algunas cavilaciones di con el misterio: el componente que hace sonar el tono audible del metrónomo no tiene suficiente tiempo para que el sistema lance el evento de tocar el tono, y volverlo a hacer en el tiempo requerido. Dicho en otras palabras, a la máquina le lleva más tiempo que el necesario el tocar el tono correspondiente y no le da tiempo a hacer el que le sigue porque cuando lo quiere hacer, aún está sonando el tono anterior. Y de repente, un programa que prácticamente estaba escrito en 10 minutos se convirtió en un reto complicado. ¿Cómo hacer para que suene en los tiempos precisos? Era claro que con tiempos largos, hasta 90 pulsaciones por minuto, el sistema hacía la tarea correctamente, pero más allá de eso el sistema no podía hacer sonar el tono del metrónomo. Un poco de investigación me llevó a encontrar la rutina sndplaysound(‘sonido.wav’, snd_async); que hacía lo que yo quería y en los tiempos correctos. Quité entonces mi componente de audio multimedia (que evidentemente le mete una sobrecarga al sistema en cantidad de instrucciones a ejecutar), y lo sustituí por éste. Y entonces todo funcionó de maravilla. Procedí entonces a ‘vestir’ el programa poniéndole una buena foto de un metrónomo real, así como agregarle los detalles para que el software se viera más bonito. Y listo: metrónomo en software en un santiamén, aunque eso sí, sin sonido realista.

No necesito saber siquiera cómo se encuentra la información en el cedé de música. WAV e incluso de video (AVI o MPG). etc. Y no hay vuelta de hoja. Para esto. y en los que les cabe una barbaridad (alrededor de 700 megabytes). conexión directa a Internet de alta velocidad. En suma. Una ayuda más la otorgan los componentes creados ex profeso para manipular audio y vídeo (como el TMediaPlayer). sino que también tocan archivos MIDI. etc. hacen prácticamente todo lo referente a lo que llamamos una parte fundamental de la multimedia. CD-ROM de 24 velocidades (al menos). ¿Sería fácil? ¿Difícil? Ya sospechaba que esta labor no sería demasiado complicada si se tienen las herramientas de software adecuadas. dat. De esta manera. Esto se parece un poco a cuando vamos al supermercado a comprar una batería para nuestro radio.com) encontrará montones de estos programitas para prácticamente todas las plataformas de hardware e incluso Windows ya trae de fábrica una versión para esa tarea particular. Maravilloso porque simplifica la tarea. dan automáticamente las instrucciones necesarias para conectarnos. Uno de los más interesantes artefactos que poseé la computadora es el CD-ROM. etc. no sólo estos programas leen discos con música. se necesita un software que haga precisamente esa tarea. bocinas de audio. disco duro de no sé cuántos gigabytes. Resulta que el sistema ya tiene incorporadas las llamadas al API para manejar no sólo cedés de música. Mucha gente no ignora que su lector de CD-ROM puede tocar los cedés de música.shareware. teclado ergonómico de Microsoft (que parece que se derritió al dejarlo al sol). Así entonces puse manos a la obra y en Delphi hallé‚ que esta tarea es sorprendentemente sencilla. Sin embargo. prácticamente se puede escribir un reproductor de cedés casi sin escribir código. monitor de super alta resolución (ultraVGA que le dicen). Sin embargo.Primeros pasos Reproductor MP3 Las máquinas que podemos encontrar hoy en las tiendas tienen cualquier cantidad de artilugios: fax/módem. no se puede solamente pagar la pila necesitada. Imagen 1 El mp3 minimalista Por esto precisamente. roedor. sino archivos wav. hay que comprar el paquete completo. Por el precio que vemos consideramos que es una ganga (cuando hace un año un equipo menos avanzado quizás nos costó 25% más de lo que anuncian ahora). Con esto. decidí escribir mi propio programa lector de cedés musicales. . avi. a veces estos sistemas tienen montones de características que francamente quizás no queremos o necesitamos. todo lo que nos dan sirve para bien poco si no tenemos el software que permite manejarlo. claro está. Este permite leer discos con datos (que son idénticos en tamaño y color a los cedés de música). porque los sistemas compartibles (shareware) y otros comerciales hacen más cosas de las que quiero. Resulta que sólo las venden en paquetes de cuatro. por ejemplo. sólo es posible porque se tienen todos los programas que inicializan el módem. la conexión a Internet. mid. Por ejemplo. En la red (http://www. formato de videodisco.

Muchas de las obras de Bach contienen una estructura matemática compleja. dieron al joven Juan Sebastian una práctica del órgano y el conocimiento de las obras para este instrumento existentes en la escuela del sur de Alemania.S. instrumental.S. conciertos. cuando sin querer hallé en Internet una gran cantidad de sitios dedicados a J. me siento obligado a tratar el tema. conecta el trabajo del músico con las matemáticas de Kurt Gödel y los dibujos de M. Bach. música de cámara. En 1829.Bach” y logró atraer el interés de los musicólogos. En 1700. Al ser descubierto. Se trata de una colección de algunas de sus obras en formato MIDI (Musical Instrument Digital Interfase). Como dato curioso. el cual puede escucharse si se tiene una tarjeta de sonido. a la luz de la luna. le confiscaron las copias. A su muerte. Aquellos años en Ohrdruf. Fue amigo del organista Georg Böhm y conoció a grandes maestros organistas de Alemania del Norte. Escher. organista en Ohrdruf y en secreto. La música de Bach frecuentemente demanda un nivel especial de compromiso emocional e intelectual. la música de Bach contiene una estructura matemática inigualable.C. conviertiendo a esa ciudad el centro musical de la Alemania del Norte. las que fueron recuperadas hasta la muerte de su hermano en 1721. an Eternal Golden Braid (1979).S. Bach. Bach y su obra. En este caso. en su Gödel. Douglas Hofstadter. por demás merecido. la música de Bach cayó en un relativo olvido. Mendelssohn hizo ejecutar la “Pasión según San Mateo” que produjo un verdadero acontecimiento nacional. obras para órgano. Además. Bach recorrió casi trescientos kilómetros a pie hasta Lübeck para oír a Buxtehude en “Los conciertos de la tarde” (Abendmusik) en los que tocaba sus obras y las de otros compositores. aprendió a escribir música copiando partituras que su hermano no le hubiera permitido estudiar. Igualmente.Primeros pasos La experiencia Bach J. Como vengo de familia de músicos. Cabe señalar que la idea de este programa surgió de repente. De las 222 cantatas que escribió. arte y obras de J. el cual es uno de los componentes más vistos . aunque sea desde el reducto del cómputo. compuso música religiosa. se trasladó a Lüneburgo e ingresó al coro. notarán el uso de los ListBoxes. siete son de autenticidad dudosa y hay cierto número de fragmentos de cantatas pedidas. Es considerado “Padre de la música” título. clavicémbalo etc. Imagen 1 La experiencia Bach Por otra parte. para ganarse la vida.Bach (1685 – 1750 ) quedó huérfano a los diez años. que muchas veces no todos podemos tener. Convivió con su hermano mayor. Ahí encontré toda esta música MIDI y decidí que era buen momento para recopilarla en un solo programa. Escher.S. Fue hasta 1802 que Johann Nikolaus Forkel publicó “Vida . el software en esta ocasión es en honor a J. quienes estén interesados en el código fuente.

en Windows. atribuída al mismísimo Bach: “ o hay nada especial en tocar un instrumento. termino con una frase. sobre todo cuando viene de un genio de esos tamaños. . Finalmente. Aquí puede observarse cómo se usan en la práctica. Fácil decirlo. Todo lo que hay que hacer es tocar las notas justas en el momento justo y el instrumento tocará por sí mismo”.

E. la creencia que nuestra hipótesis de trabajo ha quedado confirmada nos hace perder el rigor que la ciencia impone y tales errores tienden a favorecer una creencia. se trata de la persona a la que le dedicábamos nuestros pensamientos. los registros de estos experimentos se solían registrar a mano. Hace falta un estudio más científico y serio para discernir lo falso de lo auténtico. la telequinesis (mover objetos sin tocarlos) o la percepción extrasensorial (P. Si se piensa analizar los fenómenos relacionados con la P.Primeros pasos Percepción extrasensorial en casa Todos alguna vez hemos tenido precogniciones. nos encontramos en casa. entre otras cosas. típicas en el estudio de la P. todos estos testimonios no son suficientes para poder demostrar que existe la telepatía. se establecen los objetivos del experimento (¿qué se desea medir?). o bien. Hemos sentido –sin causas aparentes– que algo va a ocurrir y así sucede. y después se analizan sus resultados para ver si se han producido desviaciones significativas de la casualidad. la probabilidad y estadística son las herramientas más utilizadas y desempeñan un papel preponderante a la hora de determinar la existencia real de tales acontecimientos. es que no bastan los testimonios para dar como existente este tipo de fenómenos. En este caso. Sin embargo.E.S. son firmes creyentes de la misma. mientras que los escépticos muestran registros similares.S. cuestión muy criticada de forma persistente.E. Sucede además.S Es evidente que todo experimento científico es sesgado de una u otra manera por los prejuicios de los investigadores. presentan errores significativos en favor de dicho fenómeno.S. En ocasiones –quizás– hemos dado como un hecho que sabíamos lo que nuestro interlocutor estaba pensando. Lo que queremos decir en este caso. .). Imagen 1 Las cartas Zener.E. los resultados carecen de la objetividad científica mínima y por supuesto. Durante muchos años. donde los sujetos tratan de influir sobre la caída de los dados. la presencia de cámaras secretas ha demostrado que los registros manuales efectuados por los creyentes. Por ejemplo. en pruebas de psicosinesis. Consciente o inconscientemente.. por lo que muchas veces. la comunidad interesada no tarda en criticarlos por su falta de controles. Nadie dice que la gente que haya sentido algo que después ocurre esté mintiendo. que la mayoría de los investigadores dedicados a la P. meditando sobre cierta persona y en ese momento suena el teléfono y para sorpresa de propios y extraños. pero en sentido opuesto a los primeros. se consiguen uno o sujetos que realizan un gran número de conjeturas. Luego.

tanto de los ensayos de la conjetura. entre los que se encuentran Martin Gardner. Un segundo contador muestra el número de aciertos. adepto a las creencias de Ron L. es claro que tales máquinas no son a prueba de fraude. toda la investigación del pasado no habrá sido en vano. los cuales no dejan de catalogar a los experimentos de Targ como chapuceros y fraudulentos.S. suena un timbre.. diseñaron un mecanismo mucho más complejo que el VERITAC original. físico y cientólogo (sí.S. dice en la última hoja: “Si doce meses de investigaciones sobre VERITAC pueden establecer la existencia de la P. Imprime un registro del dígito elegido. Hubbard). pero estos contadores pueden desconectarse si así se desea. Cuando el sujeto ha acertado.000 ensayos. en su libro: “ESP: a Cientific Evaluation”. Un contador situado a la derecha de los paneles indica el número de ensayo (1 a 25). . la conjetura del sujeto acerca del dígito que se trata.E. Desafortunadamente. E. el físico Russell Targ junto con el ingeniero David B. una vez que le hayamos incorporado un eficiente elemento de azar. un aparato electrónico representa una excelente manera de eliminar los sesgos inconcientes en las medidas. Tras cada ronda de ensayos. seleccione los objetivos. Pero pasemos a describir la máquina de Targ. Sin embargo. Targ fue contratado por el Laboratorio de Electrónica y Bioingeniería de Investigación Stanford (SRI por sus siglas en inglés) y en colaboración con Harold Puthorff. Hansel. disfrazado de otra cosa. indicando su selección al presionar el botón cuadrado más próximo a ese panel. con su nueva máquina.S.E. antes de mostrar cualquier imagen.. cada uno de los 37 sujetos completó cinco rondas de 100 ensayos cada una para tres modos diferentes de P. el tiempo que dura cada ensayo y el intervalo de tiempo que transcurre entre la selección del objetivo y la conjetura.E. un elemento de azar de la máquina selecciona una de las cuatro imágenes como objetivo. a muchos investigadores se les ocurrió que un modo muy sencillo de protegerse de los errores inconscientes de registro era automatizar el proceso en la medida de lo posible.E. utilizando un sistema denominado VERITAC..S. ni a nivel de grupo ni a nivel individual. que había sido diseñado y construido por un empleado de los laboratorios de investigación de la Fuerza Aérea en Cambridge. Los contadores de la consola de control proporcionan información instantánea de los resultados. existen escandalosos casos en donde los investigadores manipularon los aparatos para mejorar los resultados. En el experimento de 1962.000 dólares para realizar sus experimentos de P. y cada uno de ellos puede exhibir una transparencia en color. Puthorff y Targ consiguieron una subvención de la NASA por 80.E. El sujeto trata de adivinar éste. C. podrían ahorrarse muchos esfuerzos y muchos científicos jóvenes tendrían la posibilidad de enfocar su trabajo hacia investigaciones que merezcan más la pena”. Para 1972. De no establecerse la P. M. Los detractores oficiales. empleando conocidas técnicas de significación estadísticas. realizando un total de 55. los resultados obtenidos por Targ y colaboradores no parecen haberse hecho en condiciones de control estricto. VERITAC se bloquea y permanece bloqueado hasta que un teletipo imprime los datos. no apareció desviación alguna del azar. Tampoco había diferencias significativas entre las puntuaciones obtenidas por escépticos y creyentes.S. decidieron dedicarse a las investigaciones parapsicológicas. Dejemos que la máquina. Estos dos hombres cobraron cierta relevancia gracias a su pobremente controlado estudio sobre las facultades paranormales de Uri Geller. Hurt. El informe final. Esta es una caja que presenta cuatro paneles cuadrados. han descrito las pobres condiciones de rigor científico impuestas en dichos experimentos. dejando aparte estos casos de abierta trampa. Cuando se analizaron los resultados. Sin embargo. en determinadas ocasiones. Hagamos un poco de historia: en la década de los 30. se empezaron a construir varios artilugios para contrastar la P. Este sistema selecciona al azar dígitos del 0 al 9. No obstante. Tan pronto como el sujeto indica su elección. se enciende una luz tras la imagen objetivo correcta con el fin de aportar retroalimentación y refuerzo. de 61 páginas (¡1311 dólares por página!) fue publicado por el SRI bajo el título: “Development of Techniques to Enhance Man/Machine Communications”. el cual es en realidad un brillante mago israelí.Con la aparición de la electrónica y la tecnología de las computadoras. las primeras pruebas importantes con una máquina electrónica se realizaron hasta 1962. y diseñemos a la máquina de manera tal que efectúe el registro permanente e inalterable. Sin embargo.

copiar vía software la máquina de Targ es un asunto de programación relativamente trivial. la cual será comparada contra la elegida por la máquina para saber si fue la misma o no.S.S. AutoPES permite guardar toda la sesión realizada con el sujeto experimental. Características Principales El programa AutoPES. simula todos los elementos de la máquina mencionada. . La ventana de la derecha se encuentra la carta que va a sugerir el sujeto a experimentación.¿Pero siempre tiene que ser así? ¿No habrá manera de crear un sistema que elimine los errores sistemáticos en el estudio de la P.E. La pantalla principal Aparte de esto. en donde se muestra la carta elegida por la máquina. Hoy. bajo condiciones controladas la posibilidad de la existencia de la P. en un archivo en disco. Contiene dos ventanas en la pantalla.S. otra corresponde a la cantidad de fallos realizados. una estrella. con el avance en términos de cómputo. Uno muestra la cantidad de aciertos obtenidos y la. donde la de la izquierda aparece la carta seleccionada al azar por la computadora. una cruz. Tales imágenes representan un símbolo elemental de reconocer: Unas rayas onduladas. Imagen 2 Auto-Percepción extrasensorial. Existe una imagen más. si la carta elegida por el sujeto coincide con la que la máquina escogió. en la comodidad de su propia casa. Tomemos en cuenta la época en la que fueron desarrollados los experimentos mencionados y el hardware utilizado. o bien. que muestra un foco. se pone de un color verde. los cuales contienen las imágenes de las posibles cartas que el programa puede elegir al azar. la carta sugerida por el sujeto en experimentación y el tiempo desde que se generó la carta al azar y el que se llevó el usuario en hacer su elección. estudiar cada quien.E. Esto sugiere el refuerzo y retroalimentación que implementó Targ en su máquina original. el cual se pone de color rojo si la carta elegida por el sujeto experimental no correspondió a la elegida por la computadora. A la derecha de la pantalla existen dos contadores. La idea entonces es ésa: Reproduzcamos las características del diseño original de Targ y podremos investigar la posibilidad de la existencia de la P.E. un cuadrado y un círculo.? La respuesta fue entonces crear un programa que emule todas las características de la máquina de Targ y así. En la parte inferior de la pantalla pueden verse cinco botones.

de Targ.S.S. por lo cual. aunque en el fondo sepamos que se repite cada cierto tiempo. qué método habrá usado para elegir la secuencia aleatoria. Es decir. no es posible más que generar una secuencia pseudo-aleatoria. Para empezar. La culpa no es totalmente del buen escéptico de Martin Gardner. pueden contener la peor crítica. hay que reconocer que las cosas han cambiado mucho en 20 años. que las posibilidades reales en la ruleta siempre están ligeramente a favor de la casa y no de apostador. se trata de solamente un pasatiempo irrelevante. No sé para el caso de la máquina de Targ. los cuales pueden ser severamente criticados. cuando en realidad se trata de un truco o la demostración de una habilidad del sujeto. si el método de elección puede ser discurrido de alguna forma por el sujeto con el que experimentamos.E.S. que sobrepasan la velocidad de aprendizaje de las personas. pero por las indicaciones que da Martin Gardner en su libro. sino de los avances tecnológicos.Comentarios y dudas razonables Ahora bien. No obstante lo burdo del error. ya tienen todas las de ganar desde que empieza uno a jugar. todo parece concluir que siguen una fórmula pseudo-aleatoria también. . todo investigador serio debe hacerse algunas preguntas para saber si el programa AutoPES puede ser un aliado en la investigación de la percepción extrasensorial. Se sabe por ejemplo. Así. o bien. Yo creo en realidad que el programa tiene puntos débiles. notaremos que la cantidad de veces que dicho sujeto adivina la carta puede sugerir un resultado muy favorable a la existencia de la P. Las funciones azarosas interconstruidas en las computadoras modernas son funciones determinísticas siempre. Los casinos buscan hacer la menor trampa posible porque de entrada. tanto la máquina de Targ como el programa AutoPES. es que ambos adolecen de una función que no genera al azar una carta entre cinco posibles (para el software o cuatro en el caso de la mencionada máquina). provoca que se repitan unos números más que otros. y es donde creo que. siempre parece gobernada por el azar mismo. Curiosamente. Gardner en su libro jamás se pregunta sobre el estado de la función azarosa gobernando la máquina P.. Este cuestionamiento puede echar por tierra cualquier experimento de alentadores resultados de la P.E. que las ruletas en los casinos se nivelan perfectamente.E. puesto que un desnivel en el mecanismo de giro. que para usos prácticos.

La gente que conduce un auto en calidad de ebrio. especialmente si uno tiene el estómago vacío. Por algún motivo. en condiciones normales. He aquí una lista de efectos de acuerdo a la medición del BAL: • • • • • • • . Puede verse que los efectos más placenteros del alcohol ocurren cuando el BAL se encuentra entre . la cual se mide en miligramos de alcohol por cada 100 mililitros de sangre o porcentaje en miligramos. con nuestras sociedades. El resto va directamente al torrente de sangre). Entre los más importantes destacan: . por ejemplo. Cuando se beben bebidas etílicas.03 y . . es claro que el exceso en la ingestión de bebidas alcohólicas puede traer consecuencias nefastas. Evidentemente no hay dos personas en el mundo que reaccionen a las bebidas alcohólicas de la misma manera. procesar un trago por hora.10 significa 1/10 del 1 por ciento (1/1000) del total de sangre cuyo contenido es alcohol. Porque el alcohol hace que nuestros reflejos sean más lentos y el conducir un automóvil requiere precisamente de lo contrario a los efectos que producen estas bebidas etílicas. son un goce para el ser humano. Sin embargo.40: Pérdida grave de la conciencia. Esto quiere decir que poco alcohol genera un estado de pocas preocupaciones y de nuestra conciencia como persona. En la mayoría de las fiestas el alcohol es invitado por omisión y en general eso hace que las reuniones sean siempre más divertidas. de manera indisoluble. en esa misma medida se incrementa el BAL. Una de estas medidas es el nivel de alcohol en la sangre (BAL – Blood Alcohol Level.30: Pérdida temporal de la conciencia.05: relajación notable. el alcohol está ligado. .Primeros pasos iveles etílicos Las bebidas alcohólicas. Recuérdese que hay diferentes factores que determinan cómo la manera de beber lo afectará.05. Algunas personas encuentran este efecto tan agradable que continúan bebiendo.50: Se detiene la respiración.02: Menos inhibición. Muchos mueren por ello. sentimientos de calidez.05 en donde comienza entonces a notarse falta de control emocional y definitivamente pérdida en la coordinación motora con los consecuentes resultados como “cruda” y comportamiento impropio frente a los demás. El entender los efectos de un incremento en el BAL puede ser usado para controlar la manera de beber. . Por ejemplo. . Posible muerte. La ciencia ya se ha encargado de estudiar los efectos del alcohol en las personas y ha encontrado una serie de medidas que pueden considerarse bastante fiables para saber si alguien está alcoholizado o bien se encuentra en condiciones de hacer todas las labores y actos que las personas en sus cinco sentidos pueden realizar.15: Dificultades para mantener el balance y el movimiento. . comienza a notarse dificultades de coordinación motora.08: Límite para manejar un automóvil y dificultades evidentes en la coordinación y juicio. Desafortunadamente este efecto relajante comienza a tener resultados negativos cuando el nivel sobrepasa . un BAL de . El Bal depende de • • La cantidad de sangre (la cual se incrementa con el peso) La cantidad de alcohol que se consume en un tiempo determinado (mientras más rápido se beba. ya que el hígado puede. . el alcohol va directamente del estómago al torrente sanguíneo. No hay que sorprenderse. Es por ello que uno siente los efectos del beber alcohol con relativa rapidez. este efecto reduce la tensión y mejora la relajación del cuerpo. no sólo arriesga su vida sino la de los demás. Los investigadores han descubierto que bajos niveles de alcohol tienen un efecto específico en el discurrir mientras que un incremento en estos niveles genera una reducción en un “auto–monitoreo”. por sus siglas en inglés). en cantidades razonables. Claramente borracho. se está menos alerta.

mientras menos masa corporal se tenga. vi. Mientras menos coma. más evidentes son los efectos al beber Comida. En general. Mientras más tiempo tarde en tomarse su copa. mayor será el efecto del alcohol Tiempo bebiendo. No importa cuántos tragos tome. Mientras más cansado. Si quien bebe está tomando medicinas es probable que en algunos casos esto incremente los efectos del alcohol. los efectos serán más notables. lo que importa es cuánto alcohol consume Imagen 1 Probando el software Este somero análisis dio pauta para que me decidiera a hacer un programa de computadora que analizara el nivel de alcohol en la sangre. Si se le da tiempo al hígado de procesar el alcohol las posibilidades de emborracharse disminuirán Contenido de alcohol en las bebidas. Para personas del mismo peso. Verá que si está alcoholizado los efectos se verán directamente en cómo interactúa frente a su monitor. iv. . Haga la prueba. la cantidad de grasa es más determinante en los efectos del alcohol que en gente con músculos más desarrollados o menos cantidad de grasa Medicamentos. iii. Consulte a su médico Fatiga. ii.i. v. Peso/masa corporal. el efecto del alcohol obviamente será menor.

sólo puede emitirse la encuesta a . y en donde los medios se cuidarían de no hacer evidentes sus preferencias particulares de algún candidato. simplemente al querer oprimir sobre cualquiera de esos botones (pensé en “votones”. por más de 70 años. Roberto Madrazo. Los resultados se mandarían automáticamente por Internet a un sitio y así el candidato priísta podría saber la realidad de las encuestas. inventó todo género de trampas para ganar las elecciones. en particular. Sus contradicciones son el pan de cada día. etc. pensaba que le darían una importancia fundamental a las encuestas. Al publicarse las encuestas en cuestión. ¿No hay contradicción entre los términos revolucionario e institucional?). el sistema simula que se conecta por módem a una central y descarga el voto emitido para la encuesta. dijo respetar mucho las encuestas y mencionó que su segundo lugar (¿habrá leído mal? Si todas las empresas encuestadoras lo ponen en tercer sitio) lo iba a revertir con el paso del tiempo. Los demás candidatos realmente no pintaban en la intención de voto. muy poco transparentes. es claro que esto perjudicaría la intención de voto de los que van abajo y mejorando los resultados del que fuese lidereando en ese momento. por decir lo menos. En el caso de los otros dos candidatos. Llama la atención que Madrazo hable del respeto a las encuestas pero que a la malagueña se coloque sin más en un segundo puesto. en este mundo de tanta computadora y conteo cibernético. Si los números reflejaban un avance notable en alguno de los candidatos. el sistema no permite oprimirlos. Para ayudarlo a evitar los dimes y diretes. el descubrimiento de propiedades no declaradas. incluso los más sucios. el PRI (partido revolucionario institucional. De esta manera. López Obrador iba en primer puesto.Primeros pasos Para ganar en las encuestas A inicios del 2006 se inició la carrera por la silla presidencial y los candidatos arrancaron como caballos de carreras en el Derby de Kentucky. Calderón dijo tener un patrimonio de sólo unos 5 millones de pesos. en tercer sitio. Pero en mi percepción de los acontecimientos. por ejemplo. los cuales –como nunca antes– tendrían información puntual de cada contendiente por la silla presidencial. En esa misma semana se publicaron también las encuestas iniciales de quién era el candidato con más posibilidades de voto y de acuerdo a los números publicados por las diferentes encuestas. No supe de la declaración patrimonial del ‘Peje’. Andrés Manuel López Obrador. Si se vota por el PRI. mi programa de encuestas lo que hace es poner tres botones para que el usuario elija uno de ellos (sobre el candidato de su preferencia). seguido unos puntos atrás por Felipe Calderón y debajo de éste. Las trampas eran innumerables. Y ni hablar de las declaraciones patrimoniales. que consistía en votar tantas veces como se pudiera en una casilla. so pena de ser ventilados como paleros públicamente. los insultos. Obviamente en esas fechas estábamos empezando y habría veintitantas semanas de actividad política febril. sino que simplemente los mueve de lugar. habrá salido como el más humilde de los súper candidatos a la presidencia. algún candidato. Las descalificaciones. o bien el efecto de urnas “embarazadas”. Desde pagarles a los votantes por su sufragio a obligar a grupos enteros de trabajadores a votar por un candidato en particular –típico de los sindicatos mexicanos. sobre todo hacia el final de las campañas. se me ocurrió hacer un programa que le preguntase a la gente su intención de voto. como Madrazo. capaz de cualquier truco. El partido en el poder. mientras que Madrazo habló de un patrimonio de 29 millones de pesos. Debe saberse que los procedimientos electorales en México durante muchos años fueron. buscaría que las encuestas lo pusiesen de líder de alguna manera y. Salieron a paso veloz por el triunfo y desde el día uno tuvieron montones de actividades. dueño y señor de tantas trampas. creía que el hombre era (y sigue siendo). Por ello. pero para como él canta las rancheras. es decir el rellenar con votos ficticios a favor de alguno de los candidatos. por aquello del voto). o el carrusel. conociendo sus antecedentes priístas. las cuales –al menos a mí– me parecen una auténtica bofetada de burla a toda la nación mexicana. Dicho de otra manera. pensaba que Madrazo. de canonjías o prebendas de uno u otro candidato se irían sabiendo en los medios y todo eso con el propósito de cambiar la intención de voto de los ciudadanos.

favor del candidato de PRI. Imagen 1 Encuestas políticas amañadas . en el mejor estilo de sus trampas electorales que hemos vivido durante tantos años.

Esta percepción engañosa conduce a falsas creencias. De hecho. leerá el pensamiento de quien ha hecho la selección y adivinará. artificios y situaciones que pueden hacer creer al más inteligente las cosas más absurdas. la carta que el usuario seleccionó. En este caso. podemos disfrutar de actos que deberíamos considerar sorprendentes en todo sentido. el programa presentado logra un gran truco de mentalismo. El sistema le pide al usuario que elija una carta determinada (presentada en la pantalla) y la memorice. a terceros. Una vez hecho esto. La Estatua de la Libertad no se ha movido de su lugar para que Copperfield logre el efecto de desaparecerla. la imitación y el ocultamiento.Primeros pasos Un mago por software Una de los grandes entretenimientos del hombre ha sido el de la magia. Por supuesto que nada de esto en verdad ocurre. en definitiva. es obvio que algún truco está realizando. La intención de este artículo es intentar hacer ilusionismo utilizando la computadora. La duda estaba sembrada y más pronto que tarde hallé en Internet cualquier cantidad de información al respecto de la magia. Por supuesto que estos trucos son conocidos por unos pocos y quien quiera hacerse de los secretos atrás de ellos es probable que tenga que desembolsar grandes cantidades de dinero. desde luego. lo que finalmente hace a un mago de un gran éxito es no revelar jamás el truco. ¿Cómo es que Copperfield logra ilusiones como volar alrededor de un escenario sin que se hagan evidentes poleas. Para precisamente este artículo. porque es imposible que pueda violar a la gravedad. ley a todo esto más respetada que cualquier otra en el universo. etc. Sin embargo. no diré cómo es el truco porque como buen mago nunca hay que decir el secreto del funcionamiento del mismo. cables y arneses? Sólo él y su equipo de trabajo lo saben. la sugestión. En todos los casos. Más claro ni el agua. David Copperfield. Estos principios son la distracción. Los espectadores no ven todo lo que ocurre y creen ver cosas que en realidad no suceden. Cuando Copperfield vuela alrededor de un escenario. es probable que pueda sorprender a propios y extraños con este pequeño artificio de software. a la convicción de que el ejecutante consigue hacer cosas imposibles. ¿Cómo hacer para que la computadora pueda realizar algún truco de esta naturaleza. indefectiblemente. Quizás su origen se remonte a la intención de engañar (con fines aviesos). sin el mínimo margen de error. Sin embargo. el asunto es que hoy por hoy la magia resulta una de las grandes artes y que gracias al ingenio de los creadores de ilusiones. uno de los magos más exitosos de los últimos tiempos puede hacer ilusiones verdaderamente inconcebibles: desaparecer la Estatua de la Libertad. se le pide al mago computarizado que adivine la carta elegida por dicho usuario. ser cortado por una sierra eléctrica en dos partes. Esta es la definición que da la Enciclopedia Encarta de Microsoft al respecto de la Magia Blanca. Los magos basan sus prácticas en principios psicológicos y en la actualización de métodos manipulativos y mecánicos. de la enorme y vasta colección de trucos. La magia es pues el arte de entretener mediante trucos que aparentemente suponen una violación de las leyes de la naturaleza. . a una lógica falaz y. El Mago.

el programa podría haberse escrito de manera mucho más complicada precisamente para que costase más trabajo hallar las razones por las cuales funciona el truco. Como siempre. pues finalmente ésa fue la intención al escribirlo. La que destaca en este caso es la de la naturaleza de la observación humana. eventos y en nuestro caso. Por lo que se refiere a este software.Imagen 1 El software del Mago corriendo Sin embargo. más temprano que tarde hallarán cómo es que funciona el programa y entonces habrá que llegar a las conclusiones de rigor. Noten como gracias a esa peculiaridad de la manera en como prestamos atención a hechos. espero le divierta. . Pero la verdad esta tarea se la dejo a alguno de mis cinco lectores que sé que asumirán el reto de inmediato. cartas de una baraja. podemos realizar un truco por demás sorprendente a primera vista.

Digamos que ya no lo pensamos. rebelde en todos los sentidos? Mi plan era hacer un cursor al mejor estilo de la “Britney–señal”. como si viésemos el reloj del otro lado del espejo. desde luego. Hace tiempo vi el reloj de pared que tenía un viejo amigo en la Universidad Iberoamericana. Porque. usando la computadora. en principio. porque en Delphi estas labores resultan relativamente sencillas. la gama de cursores tradicionalmente disponibles a los usuarios. en el peor de los casos. nos debiera beneficiar a todos o. no eran suficientes. Hay un vastísimo campo para la creatividad en la programación y quizá es una de las razones por las cuales haya una verdadera cantidad enorme de programadores alrededor del mundo. a muchos nos educan de manera que decimos muchas veces “gracias” de manera automática. ¿quién dijo que todos los relojes deben correr con las manecillas de una manera y no en sentido opuesto? Aunque hace ya mucho tiempo de esto. ya tenía mi proyecto funcionando. por decirlo de alguna manera. es la posibilidad de aprender algo más de cómo una computadora funciona. “del otro lado del espejo”. Entonces. Hube de hurgar un poco en la red Internet y en una hora. Son como comportamientos aprendidos y. La razón de proyectos de este estilo.Primeros pasos Software irreverente Alguna vez se me ocurrió que los seres humanos hemos llegado a acuerdos tácitos en muchas situaciones. más allá de hacer algo irreverente o fuera de lugar. se me ocurrió que. pero en las sociedades se impone un esquema de conducta que. me senté a programarlo. que día a día encuentran nuevas y mejores maneras de hacer muchas cosas. a las mayorías. Nos salen como naturales. Guillermo Mallén me enseñó a hacer un reloj de esta naturaleza y ahora lo tengo en la pared del cuarto en donde normalmente trabajo. comportamientos aprendidos que no son tan aceptables. en particular. tienen su bondad: no tenemos que pensar para hacerlos. rebelde. Este reloj. al menos. lo que lo hace diferente a los esquemas conocidos. obviamente. No fue difícil. es un buen ejemplo de un comportamiento inesperado. es que camina al revés. Debe haber. Imagen 1 ¿Qué tipo de cursor le agrada más? . ¿Por qué no hacerse de un cursor no tradicional. Por ejemplo. A mí muchas veces me sorprende ver ideas realizadas en programas que me hacen pensar cómo es que no se me ocurrió antes. en el cómputo. quizás menos. Ese reloj.

peor aún. porque muchas veces necesitamos un programita muy específico. usar programas muy sofisticados para realiza tareas por demás sencillas. y por otro lado. Igualmente.Creo firmemente en que la gente que usa una computadora debe tener cierta preparación en programación. los mismos usuarios podrían resolverlas fácilmente. o bien. algo así como matar moscas a cañonazos. como Word o Excel. Por ello. entonces tenemos que decirle a alguien. que sería muy fácil de hacer probablemente. que no estaría mal saber un poquito de mecánica elemental. . tendríamos una perspectiva más certera de lo que realmente se puede o no hacer con una computadora. hay un tercer beneficio: no tendríamos que depender siempre de alguien que se dedique a estas labores profesionalmente. pero como no sabemos hacerlo. Vaya. al igual que lo que pasa en un coche. porque probablemente muchísimas tareas triviales. no se “instala” permanente o indefinidamente en la computadora. La virtud de esto es que nos daríamos cuenta de lo terriblemente difícil que es hacer ahora sistemas tan complejos. en cómputo podría sernos útil saber programar lo indispensable. Cabe señalar que el cursor rebelde funciona por el tiempo que uno quiera.

a comer mayonesa por el resto de la eternidad sin premio alguno que nos consuele. pero la verdad es que casi siempre los premiados son un par de personas y los demás estamos condenados. . independientemente de que las empresas hagan negocio con estas colecciones infinitas de estampas. en conjunto con gigantesca refresquera.. La_Morsa Software Co. se han ideado cualquier cantidad de artimañas. siguiendo con esta tónica. y considerando que los lectores merecen ser recompensados por haber sido fieles (hasta ahora) a la lectura de mis artículos. Pues bien. se llenan de estampas repetidas porque hay un par que son prácticamente imposibles de obtener. con el logotipo de alguna marca refresquera es algo por demás común y corriente. la posibilidad de hacerse de una vajilla completa. Por supuesto que alguien ganará esos premios. seguramente. incluyendo vasos.Primeros pasos Regalo de nuestros patrocinadores El mundo moderno es sin duda vertiginoso. Es claro para todos que no es lo mismo que aparezca un anuncio comercial a las tres de la mañana que a las nueve de la noche. se trata de hallar el pase de abordar para ir a un vuelo a algún lugar paradisiaco o ya de perdis la obsoleta Disneylandia. Si algo de suma importancia pasa en Timbuctú. hay el mayor auditorio. Aparentemente las prisas son ya parte cotidiana de la vida de todo aquel que ha decidido radicar en alguna populosa ciudad. lo sabemos prácticamente a los minutos de haber ocurrido. En otras promociones. etc. que son quienes caen más frecuentemente en estas promociones. de acuerdo a las televisoras. que sin duda será la delicia de muchos. Espero les guste. Con la intención malévola (de parte de los genios de la mercadotecnia). Los pepsilindros. desde luego coleccionables se pueden localizar en los centros de canje oficiales por un par de pesitos y un poco de suerte. Pero con los comerciales ha llegado toda clase de promociones fantásticas. Los medios de información supuestamente informan los acontecimientos más relevantes segundo a segundo. Por ejemplo. cilindros de agua. hemos decidido regalar un lindo portavasos. En algunas hay que destapar los envases de mayonesa para ver si nos hicimos de un coche. las estampitas de quizás La Guerra de las Galaxias o Tarzán. lo que se observa es que tales productos promocionales terminan por invadir nuestras alacenas y cuartos. vajillas. Obviamente con los medios de información aparecieron los comerciales. por ejemplo. En general los chamaquitos.. En realidad. Hay horarios triple AAA que son los que. de galletas saladas. La información se desplaza por cuanto medio ha inventado el ser humano para estar en contacto con otros de su misma especie. Imagen 1 Regalo para el lector Otras promociones pretenden mantener entretenido al consumidor dándole los premios a cuentagotas y por meses. La televisión gratuita está llena de ellos y lo que las empresas pagan para promover sus productos y bienes depende muchas veces de las horas en las que se desea salir “al aire”. de convertirnos en consumidores de todo cuanto se anuncia en la TV.

con las limitaciones de su momento. sino por sólo aquel quien tuviese la contraseña correspondiente. los días en que había sido escrito. Paradox. Y al llegar a la estructura de datos que había que crear para guardar el diario privado. el BDE nos provee de una serie de rutinas ya genéricas que hace el trabajo limpio y sin complicaciones.com/bde_replacement_database_delphi_absolute_database. Obviamente la labor fue por mucho más sencilla que en su versión de MsDOS.htm). Obviamente. Aquí saqué ventaja del BDE (Borland Database Engine). el cual además. es decir. por ser un asunto privado. no es necesario cargar con el BDE en el proceso de instalación. una maravilla este componente. me sugirió escribir un programita que sirviera como diario personal. La esencia del programa es que debía ser sumamente simple. En ese entonces.. pues el formato de la base de datos del diario sería crítica para que el desarrollo pudiese hacer fácil o complicado. escribir un programa de esta naturaleza representaba cierto reto. Había que tener rutinas que encriptaran los textos del autor de diario de forma tal que sólo él podría tener acceso a los mismos. Vaya. uno de los pioneros de Internet en nuestro país.Primeros pasos Los bytes privados Hace unos diez años. Javier Matuk había diseñado las pantallas que debía tener el programa. etc. muchas veces había que hacer las cosas “a mano”. Cuando todo funcionó correctamente en lo que se refiere a la base de datos. para Windows. además porque para uso personal es gratuito. encripta la base de datos y solamente con la contraseña correspondiente puede ser leída. como un mero ejercicio de programación en Delphi. DBase. copié hasta donde se pudo el diseño original. paso a paso. las interfaces gráficas no eran lo que hoy conocemos. FoxPro. que cuando uno tiene que acceder a los datos. El software corría en MsDOS. que todo llevaba su buena ración de esfuerzo. sin ayuda. ya que todo esto se compila en el ejecutable de Delphi. llamado Absolute Database (http://www. de tal forma. debía contemplar la posibilidad de que no pudiese ser leído por terceras personas. hacer la versión para Windows. sin bibliotecas de rutinas de terceros que bien podrían resolvernos las dificultades más elementales. la sustituí por un componente de terceros. Interbase. Javier Matuk. que es el mecanismo por el cual se pueden crear bases de datos en todos los formatos populares: Oracle. así como la manera de acceder a los datos alimentados. Aparte.componentace. la implantación de un procedimiento que hiciese esto solía ser complicado. pues había que proceder con cuidado. Igualmente. Aunque la teoría ya estaba más que analizada. sin excesiva cantidad de opciones. En suma. Puse manos a la obra y escribí una primera versión en turbo Pascal.. Imagen 1 Bytes Privados… Un diario personalísimo . etc. Años después se me ocurrió.. Su enfoque era minimalista y evidentemente no se trataba de hacer grandes aspavientos. y así surgió la versión de Los Bytes Privados. Como todavía tenía el archivo con las pantallas diseñadas por Javier (en un respaldo de mis antiguos discos duros). De hecho.

etc. imágenes.Al finalizar el software.org/isinfo. Otra maravilla del software gratuito. se escribió en menos de una semana y contempla características de encripción y seguridad informática que hace apenas unos años nos hubiese parecido casi mágico. escrito además en Delphi y con disponibilidad del código fuente. un programa para crear sistemas de instalación de software. Una vez realizado esto. El software es totalmente gratuito y genera un archivo ejecutable que puede contener todo lo que necesitemos en nuestra instalación: tipos de letra. .php). Usé para ello Inno SetUp (http://www. tengo ya un paquetito completo. que debido a la fortaleza de las herramientas modernas. entonces procedí a crear el sistema de instalación. archivos especiales.jrsoftware.

Hay tantos filtros como la imaginación de cada quien. Un filtro gráfico es un subprograma dentro de alguna aplicación. Empecemos por un poco de teoría. para un total de 16. Cuando uno ve lo que se puede hacer con estas herramientas de software. Ejemplos de filtros gráficos son: convertir una imagen de color a blanco y negro. tienen cualquier cantidad de artilugios por software que permiten modificar las fotos escaneadas.216 colores en total. Cuando hacemos esa imagen activa. uno se pregunta qué tan fácil o difícil debe ser el escribir este tipo de filtros. tendremos un punto colorado. en algunas tarjetas de vídeo con poca memoria si ponemos simultáneamente en la pantalla dos imágenes con dos paletas de colores diferentes. Existen compañías de software en los EEUU que se dedican a crear filtros gráficos para populares programas de manipulación como Photoshop. . etc. son en realidad un conjunto de puntos en la pantalla (pixeles). de cientos de maneras a través de filtros gráficos. tendremos el color blanco (cosa que pasa siempre. por decir algo. las imágenes multicolores. por ejemplo. etc. Picada mi curiosidad me puse a investigar y hallé respuestas interesantes. que permite la edición e impresión de documentos de maneras hace unos pocos años inconcebibles. Es una transformación de un conjunto de puntos a otro (muchas veces irreversible). Ni qué decir de los programas de gráficas actuales. que en manera análoga con la paleta de un pintor. El hardware de la PC soporta 256 tripletas RGB en su paleta de colores y por ello. como Sir Isaac Newton demostró hace siglos. pero más fantásticos aún parecen ser algunos programadores que realizan en ocasiones verdaderos actos de prestidigitación. en muchos casos. si tenemos el componente rojo en su máximo pero las componentes azul y verde en cero. Ahora bien. una de las mismas (en la ventana no activa) se verá con colores que no corresponden a su paleta. existe algo que se denomina la “paleta de colores”. con diversos tipos de letras. tomar el inverso o negativo de la misma. Las imágenes escaneadas. en sus estudios de la luz). verde y azul (RGB. además de los colores que se pueden generar. Pasamos a la hoja de cálculo y en verdad hay que admirarse de la cantidad de poder de manipulación de datos que tiene semejante herramienta financiera. Igualmente. En las computadoras personales (así como en la TV y en otros inventos del hombre blanco) cada pixel o punto en la imagen tiene un color definido por sus tres componentes primarias: rojo. por las siglas en inglés de dichos colores). Nos parece elemental ahora tener un procesador de palabras como Word.Gráficas Imágenes y filtros gráficos La computación es una ciencia que nos permite. realzar bordes de la imagen. entonces la imagen anterior se pone con la paleta de colores correspondiente a la segunda. de ahí que un conjunto de pixeles lo veamos como una sombra mientras que otro subconjunto de puntos forman lo que parece ser es una mano. cambiar brillantez o contraste. que permite modificar una imagen de alguna manera en particular. de tal manera que si tenemos todo el rojo.777. Esto significa 256 a la tercera potencia. llegamos a la conclusión que estos juguetes son maravillosos. con ciertos colores muy específicos. Nuestro ojo hace una labor interpretativa contínuamente. tiene ya la serie de colores definidos. regresar a esa capacidad de sorprendernos de nuestro derredor. En las tarjetas gráficas actuales se pueden tener hasta 16 millones de colores ya que cada componente de la tripleta RGB permite 256 valores diferentes. todo el verde y todo el azul en un punto de manera simultánea. Cuando vemos algunas de las cosas que actualmente pueden hacer los programas.

255. un filtro elemental es el cambiar la paleta de colores por la correspondiente blanco y negro (y sus respectivos tonos de gris). el dos un RGB(2. decidí que había que investigar en vivo y en directo cómo se hacen los filtros. Valor+Constante. .0.0). Al final de día. Valor+Constante) El contraste de una imagen requiere de otra técnica.2). manipular una imagen es mucho más sencillo. Eso se hace igualando los tres componentes RGB para cada registro. mi código es definitivamente tortugoso. Porque miren ustedes. el registro uno RGB(1. cuando uno observa la velocidad con la que los filtros de Photoshop hacen su tarea. hasta llegar al registro 255 con un RGB(255. que tiene que ver con una matriz de transformación y siempre es más complicado de comprender. tendremos que el registro cero tendrá RBG (0. me siento como Aquiles y la tortuga en una desigual carrera. Esto simplemente quiere decir que los programadores responsables de los filtros gráficos en los programas comerciales que usamos sí se aplicaron para generar el código más rápido del oeste. pues) y la intención primordial era hacerlo instructivo más que eficiente. en donde claro. En vista de todo esto. Por ejemplo. Si queremos. Cabe señalar que todo el código fuente está escrito en Delphi (Pascal para Windows. El programa incluido es un estudio bastante informal de algunos filtros gráficos que pueden ser aplicados a las imágenes en formato BMP y JPG.Imagen 1 Programa de filtros (la foto muestra la famosa foto de la mujer afgana (de ational Geographic). aplicando el filtro mosaico Una vez sabiendo esto. a mí no me queda claro por qué los números de la matriz son esos y no otros. Así.2. por ejemplo. simplemente le sumamos una constante a los tres componentes de color. Si queremos más brillo. hacer un filtro que cambie la brillantez de una imagen.1). hacemos que el RGB de cada punto en la pantalla sea RGB(Valor+Constante. sin embargo. los resultados de cada filtro son los mismos en donde la única ventaja del código escrito por un servidor es que al menos se entiende cómo es que funciona. De hecho.1. si la paleta de colores tiene 256 registros.255).

0 – alpha)). blendpixelB := (B1 * alpha) + (B2 * (1. Imagen 1 Blending de Aruna (la esposa del campeón mundial de ajedrez Anand) con la imagen de la conferencia de prensa entre Anand y Aronian . ¿Demasiado sencillo para ser cierto? El hacer esto. Uno de los efectos más interesantes es el del blending (término inglés que significa licuar). ¿Cómo se verá el resultado de esto? ¿qué tan difícil resulta programar dicho efecto? La teoría atrás del blending es muy simple. a través de su hardware. Donde blendpixelR. Por ello mismo. ve el color como una combinación de tres números que van de 0 a 255. verde y azul. Para la computadora una fotografía no es más que una colección de puntos de diversos colores. Imaginemos. Se trata de tomar cada punto de ambas imágenes y decirle al sistema que ponga un porcentaje que le correspondería al punto en la primera imagen y el resto (del 100%) sería para el punto de la segunda imagen. en un 40% (como si fuese una transparencia a un 40% del total del color). Blue. que finalmente en las entrañas de la máquina no son más que valores que van de 0 a 16 millones.0 – alpha)). sobre otra imagen. Para que esto funcione. Esos tres números representan el azul. que son un reflejo de los valores internos de sus respectivas coordenadas rojo. Esto es lo que se llama el modelo RGB (por aquello de Red.Gráficas Blending Los efectos visuales que hoy día se pueden hacer usando una computadora son simplemente el resultado del procesamiento digital de imágenes. blendpixelG := (G1 * alpha) + (G2 * (1.0 – alpha)). blendpixelG y blendpixelB son el resultado de fusionar las coordenadas roja. verde y azul del punto en la primera imagen (R1). pero que en realidad podría considerarse como el de fusionar. lo mejor es separar cada punto de las imágenes en sus respectivas coordenadas RGB de manera que tengamos algo como esto: blendpixelR := (R1 * alpha) + (R2 * (1. una imagen con otra. La razón de esto es que la computadora. por sus siglas en inglés) y es uno de los más usados a nivel mundial. verde y azul del punto en la segunda imagen (R2). Green. en algún porcentaje. que tenemos una fotografía A. pero queremos sobreponerla. el rojo y el verde. respectivamente y alpha es el porcentaje que se desea fusionar la imagen A con la B. por ejemplo. ésta siempre se basa en la manipulación de los puntos de color (los pixeles). cuando se hace una transformación de una imagen. aproximadamente. con las coordenadas roja. pensaba ¿no me hará una especie de batidero de ambos pixeles? Me di entonces a la tarea de escribir un programita que hiciese esto para ver si esto funcionaba correctamente.

por ejemplo. porque aquí la combinación de rojo. al combinarlos de acuerdo a la fórmula del blending. Por qué funciona el programa? La respuesta es simple: estamos hablando de pixeles de color. notaremos que ambas imágenes se fusionan. . verde y azul en iguales proporciones nos daría negro. o con pinturas físicas. no blanco. que en la pantalla de la computadora son haces de luz de una frecuencia determinada.Puede verse que el efecto funciona perfectamente. Por ello mismo. Cabe señalar que este comportamiento no se da en la pintura al óleo.

pero para esta aplicación. en diferentes tonalidades o colores representan al final de cuentas una imagen que el cerebro analiza y decide si n muestra algo reconocible o no. A partir de esta idea comencé a jugar con la suposición de poner imágenes en lugar donde había puntos. ¿cuántos colores necesitaríamos usar? Una computadora personal puede desplegar actualmente millones de colores. ¿qué otra posible solución existe? La solución es verdaderamente simple: usar una paleta de colores disminuída. Estos puntos. imágenes que se recurren a sí mismas. en color. Sustituir el tono de gris encontrado por la foto con el tono de gris más próximo. pero razonablemente completa de los siete colores del arco iris. G=1. Afortunadamente Netscape creó semejante paleta. de otra marca. en RGB son R=0. vea exactamente los mismos colores. Eso hace que la cantidad de imágenes a crear sea de 768 mínimo. Tomar cada pequeña región (una sección de la rejilla). en un gradiente que va de muy claro a muy oscuro Hacer una rejilla en la foto original. La teoría de la creación de imágenes recursivas. Sin embargo. no vamos a poner esa cantidad de imágenes. . Así. Los componentes en gris para el negro. las cosas son muy diferentes. y así sucesivamente hasta llegar al blanco. B=0. G=0. (o dicho en otras palabras. considerando que dejaríamos muchos colores fuera del espectro de trabajo. Quizás un cálculo conservador podría ser 256 para el Rojo. Si se quisiera tener una gama completa de imágenes (la misma imagen) con diferentes colores. es decir. la misma imagen que quiero procesar. la ocurrencia más simplista fue usar 20 fotos con tonos de gris diferentes. resulta formidablemente buena. como ya hemos dicho antes. con diferentes tonos o colores? A esto le llamé imágenes recursivas. B=255. están hechas de puntos. Desde luego. 256 para el verde y 256 para el azul. y calcular el tono de gris de la misma. Queda claro que hacer imágenes recursivas con la misma imagen fuente requiere de generar las imágenes que sustituirán regiones de puntos. En el caso particular de imágenes creadas con la misma imagen (en tonos de gris). B=1. las cuales puede ser costoso en tiempo y espacio en disco. es verdaderamente simple.Gráficas Fotos Recursivas en color Las fotografías. Para un negro menos oscuro. Desde luego que la paleta de colores websafe ya no es necesaria considerando que las tarjetas de vídeo manejan millones de colores y así. Para el caso del blanco y negro es relativamente fácil. Mencionamos antes que 256 tonos de gris son más que suficientes para pintar una imagen blanco y negro. por decirlo de alguna manera será: R=1. en lugar de puntos. si quisiera hacer lo mismo con fotos a color ¿qué habría que hacer? Problema de la recursión a color Básicamente la dificultad reside en que la gama de tonos que hay que tener presentes crece muy rápido en color que en blanco y negro. porque la paleta de tonos de grises no es mayor que 256 tonos de gris. Para el efecto deseado fueron suficientes. En la decisión del diseño del software de fotos recursivas en tonos de gris. Sin embargo. G=255. la gente de Netscape generó la llamada paleta websafe. imágenes creadas con otras imágenes). con la intención que quien ve en una computadora un color. dicha paleta resulta inútil en términos generales. que consta de 216 colores y esto da un buen margen para una gama reducida. por ejemplo. el cual tendrá como componentes RGB las siguientes: R=255. la teoría al respecto puede describirse de la siguiente manera: • • • • • Tomar una imagen a procesar (la que llamaremos imagen fuente) Pasarla a tonos de gris Copiar esa misma imagen 20 veces pero con diferentes tonos de gris. en otra. ¿Qué tal poner.

Sustituir la región analizada por la foto con el color más próximo. De ahí podemos concluir que el punto de ese color en particular podrá ser sustituido por el punto más cercano geométricamente hablando. Gx. en donde cada color de la paletta websafe es un punto en el espacio tridimensional. tenemos entonces una manera fácil de encontrar la distancia entre dos puntos. By son las componentes RGB de X y Y. Gy. Dicho procedimiento va como sigue: • • • • Tomar una imagen a procesar (la que llamaremos imagen fuente) Copiar esa misma imagen 216 veces pero filtrando cada imagen con un color websafe diferente. A esto le llamamos una métrica y en este caso la denominamos “métrica euclidiana”. respectivamente. entre dos colores. ocupará un punto en ese espacio. Así. considérese que ponemos en los ejes X. la geometría analítica tiene una ecuación elemental para encontrar la distancia entre dos puntos: Distancia(x. Lo que hacemos es. Este filtro es equivalente a poner una mica de un color específico sobre la imagen original. Así. Hacer una rejilla en la foto original. Si ahora. hay que entender cómo es que la computadora puede “ver” los colores de la región analizada y los de cada foto. tomamos una región de la imagen a procesar y la colocamos en nuestro sistema de coordenadas. Por suerte. En realidad todo se basa en algo que puede definirse como la distancia entre dos colores.y) = raíz cuadrada ((Rx-Ry)^2 + (Gx-Gy)^2 + (Bx-By)^2) donde Rx. hablamos de tonos de grises). Imagen 1 Ángeles hecha de Ángeles Aunque el procedimiento suena bastante simplista. Tomar cada pequeña región (una sección de la rejilla). tenemos un sistema de coordenadas. A eso le denominamos una métrica. G y B respectivamente. Bx. Ry.El procedimiento es entonces parecido al de crear imágenes recursivas en blanco y negro (cuando decimos blanco y negro. o mejor dicho. Para entender esto. calcular el RGB de la región de la imagen fuente contra el RGB de cada una de las fotos en la biblioteca y poner la que tenga la distancia mínima. entonces. Y y Z los colores R. y calcular el color promedio de la misma. Es decir. lo que tenemos que hacer es calcular la distancia de un punto a otro. .

los cuales generaría de diferente color (los 216 colores de la paleta web). encienda la opción “estilo Post-It” y listo. decide que quiere un mosaico Post-It. se me ocurrió que se podían tener imágenes de Post-It virtuales. las cuales añadí a mi programa. Imagen 2 Los post-it virtuales Como el programa de las imágenes recursivas ya calcula el color promedio de cada región a procesar y la compara contra la paleta web de colores. Si nos vamos a la raíz del problema. como en las imágenes recursivas). en lugar de crear una imagen recursiva. Se me ocurrió entonces que podía usarse el programa de imágenes recursivas para generar mosaicos al mejor estilo Post-it. en el primer resultado con post-it . un mosaico sencillo hecho con este elemento.La opción “Estilo Post-it” Hallé en una página de Internet a alguien que con los populares post-it (esas hojas de 3x3 pulgadas). Para que los Post-It se vieran más reales. El sistema usará la colección de Post-it virtuales en lugar de usar la imagen original para generar el mosaico final. un mosaico Post-It es simplemente un mosaico de cuadros de colores sólidos (en lugar de usar la misma fotografía. Si Ud. Gabriel Martínez Valois me ayudó generando siete imágenes de Post-It virtuales. Imagen 2 Marga. generó una imagen completa. se me ocurrió que debían ser procesados con algún programa de imágenes o de animaciones que le dieran cierto valor de imagen fotorrealista.

El efecto final es interesante. pero sin duda muy pastel. Esto. Una vez hecho esto.Problemas detectados El software usa la paleta websafe. pero muy rápida. La creación de las 216 imágenes se hace espectacularmente rápido. es un problema de la librería de manejo de imágenes JPG de Delphi y no puede ser. solucionado por el autor del software. Se hizo hincapié en el desarrollo de este software en la necesidad de que esta parte de creación de imágenes fuese muy. Más allá de ello el sistema de generación de mosaicos recursivos generará un error y no podrá guardar a disco la imagen generada. Para ello. aunque sea de otra foto fuente. Es un efecto final también interesante . primero procese la colección de imágenes que desea. por el momento. cargue la nueva imagen y procese. De hecho. Es posible crear fotos recursivas usando una imagen fuente y otra biblioteca distinta de imágenes. la cual contiene muchos tonos pastel. El sistema usará la biblioteca generada. . imágenes mayores de 16 megas es un problema enorme para el sistema operativo Windows. Imágenes de más de los 3 megas en total no pueden ser creadas. repetimos.

Pero esto es meramente un recuerdo de la infancia. etc. las cuales hoy día parecen gigantescos dinosaurios a punto de extinguirse. por decirlo de alguna manera. más oscura era esa parte. La técnica usada era muy simple: tomaba una región de una foto escaneada (asunto que no hay que olvidar tampoco. La idea es sugestiva y desde hace muchos años se ha dejado sistemáticamente esta tarea a generaciones de programadores. por ejemplo. la impresión mostraba una imagen fantástica. esas imágenes a letras las cuales al imprimirse se veían desde lejos. Las primeras impresoras. calculaba el tono de gris de dicha región y al imprimir sobre-encimaba letras para dar la cantidad de gris necesaria. cuando entré a la Universidad. Pero regresando al asunto. Más adelante. Así. Sopa de Letras es un programa para generar imágenes a partir de letras. aunque yo siempre sospeché que el profesor estaba usando algún programa de la IBM. a una despampanante mujer desnuda en la playa. cuando de niño me daban sopa de letras. Cabe recordar que el mundo no es como lo conocemos ahora. lo cual imprimían caracteres como de máquina de escribir a gran velocidad. En mis tiempos de estudiante en Ciencias. la única opción en ese momento era traducir. Sin duda este arte por computadora era meritorio. Visto de cerca se podían reconocer ciertas letras a veces. Es más. el maestro en cuestión mostraba carteles hechos a partir de símbolos de impresión. no podían imprimir imágenes como hoy estamos acostumbrados. El caso es que no aprendí Fortran. era prácticamente imposible de hacer. desde luego. las impresoras solamente existían en grandes tamaños y nadie en su casa podía soñar con tener una. que a lo lejos mostraban a la Monalisa. IBM fue quizás de los primeros en crear este tipo de imágenes usando sus enormes computadoras e impresoras. mi primer curso de programación fue en Fortran. no tan lejanos a todo esto. No recuerdo cómo fui a parar allá considerando que yo estudiaba en la facultad de Ciencias y que todo lo demás era por definición “chafa” frente a lo que nos podían enseñar en mi escuela. en la facultad de Contaduría y Administración. dichos artefactos eran de tambor.Gráficas Sopa de letras Alguna vez. se me ocurrió que se podía jugar a hacer frases con las letras de pasta que flotaban por todo el plato sopero. pero considerando que las limitaciones del pasado ya han sido superadas. pues los scanners eran muy costosos). como la imagen original. porque el profesor de dicha asignatura se la pasó mostrándonos carteles que imprimía en las enormes impresoras de las máquinas grandes de la UNAM. Mientras más letras eran encimadas en la misma posición en el papel. Imagen 1 Logotipo de Sopa de Letras (cortesía de Juan López) . Vista de lejos. porque todo parecía diseñado para esas impresoras.

se presentan como una página HTML que puede verse con Internet Explorer o Netscape Navigator. Por ejemplo. Por ello. ésta puede pasarse no sólo a tonos de gris. Si las regiones son muy grandes. al igual que modernos sistemas de programación. podemos hacer mejoras incluso sobre la idea original. primero se saca el color promedio de la región y se pasa a gris. El enfoque de los creadores de HTML fue dotar a cada letra en la pantalla de un color determinado dentro de los 16 millones disponibles en la paleta RGB. El tamaño de la rejilla es importante. Mozilla Firefox. incluyendo el lenguaje de descripción HTML para páginas web. Los resultados finales de esta idea son verdaderamente agradables y sorprendentes. . Imagen 2 Ventana principal de Sopa de Letras Ventajas de la modernidad Debido a que la vida moderna nos permite tener imágenes escaneadas fácilmente hoy día. la salida (los resultados) de procesar una imagen. etc. Si se tiene una imagen de múltiples colores. en HTML están permitidas las letras de color.Teoría de operación Para crear este tipo de imágenes. Si las regiones son muy pequeñas. sino que a letras de colores sustituyendo la región. la imagen con caracteres resultará mucho mejor definidas. las letras que sustituyan a las regiones de color no podrán mostrar una imagen muy bien definida. lo que básicamente debe hacer el software es: • • • • crear una rejilla sobre la imagen a procesar tomar cada región de la rejilla y ver su tono de gris sustituir el tono de gris por la letra más adecuada continuar así hasta terminar con a imagen Si se están considerando imágenes en color. Esto permite una inmensa gama de colores.

HTML para ver la imagen en su navegador de Internet) Letras blanco y negro. Aquí se imprime sin la propiedad de las letras en HTML.HTML para ver la imagen en su navegador de Internet) Tonos de gris. Si ud. El resultado es una página de texto (TXT) (guárdese con extensión .¿Qué tipo de imágenes puede hacer Sopa de letras? El procesamiento de las imágenes puede ser en una de las siguientes modalidades: • Colores SI letras. El resultado es una página de texto (TXT) (guárdese con extensión . Aquí se calcula el color de la región y se imprime una ‘M’ sobre cada color para que se vean todos los tonos.txt y use Word para ver la imagen) Fichas de Dominó negras (con puntos blancos). El resultado es una página HTML (guárdese con extensión . Usado normalmente en las viejas impresoras de matriz de puntos. Aquí el programa sustituye cada región analizada por una ficha del dominó. instaló el programa con el software de instalación entonces la instalación de fonts será automática. Aquí el programa sustituye cada región analizada por una carta de la baraja. El resultado es una página HTML (guárdese con extensión . El resultado es una página HTML (guárdese con extensión . Si ud. Aquí cada caracter tendrá el color de la imagen y la letra correspondiente al tono de gris asociado. Aquí cada caracter tendrá el tono de gris de la imagen y la letra correspondiente al tono de gris asociado. El resultado es una página HTML (guárdese con extensión . Aquí cada caracter tiene el color de la imagen pero las letras impresas salen de una cadena de caracteres que el usuario alimenta (máximo 255 caracteres). El resultado es una página de texto (TXT) (guárdese con extensión . El resultado es una página de texto (TXT) (guárdese con extensión . Se necesita tener instalado el tipo de letra truetype en la máquina. Sirve particularmente cuando la impresora solamente puede imprimir letras blanco y negro. Aquí se calcula el tono de gris de la región (si hay color se pasa primero a tono de gris) y se imprime una ‘M’ sobre cada tono hallado. Se necesita tener instalado el tipo de letra truetype en la máquina. Se necesita tener instalado el tipo de letra truetype en la máquina.txt y use Word para ver la imagen) Fichas de Dominó blancas (con puntos negros).HTML para ver la imagen en su navegador de Internet) aipes.txt y use Word para ver la imagen) • • • • • • • • . Si ud. El resultado es una página HTML (guárdese con extensión .txt y use Word para ver la imagen) Colores + letras tonos de gris.HTML para ver la imagen en su navegador de Internet) Tonos de gris + letras tonos de gris. Aquí el programa sustituye cada región analizada por una ficha del dominó. instaló el programa con el software de instalación entonces la instalación de fonts será automática.HTML para ver la imagen en su navegador de Internet) Colores con texto. instaló el programa con el software de instalación entonces la instalación de fonts será automática.

Recuerde que Word cuando no le cabe.Imagen 3 Ilse construida con la letra ‘M’ en colores Otras Opciones • • • Se puede apagar/prender (normalmente aparece apagado). dominó de fichas blancas con puntos negros y el de fichas negras con puntos blancos. pasa la línea abajo. probablemente no quepa la imagen en Word (que es en realidad un texto). puede ser el de cartas. Esto aparece en la opción ‘Seguir proceso’. Se puede cambiar el tamaño de la letra para la salida en HTML. Una vez cargado. Para Word su imagen no es más que un texto. tienen que procesarse con Word. se procesa la imagen y el archivo se carga a Word directamente como un archivo de texto. Así. Se puede cambiar el tamaño de X y Y en la región a procesar. Al sustituir Word el tipo de letra. Los tamaños van de 1 a 9. verá su imagen. Cabe destacar que si su imagen es muy ancha. . sustituya las letras que se ven en el texto por el tipo de letra (font) que desea. Intente cambiar el formato a landscape (apaisado) o reduzca el tamaño de la letra si es que aún así no puede ver la imagen. o fichas de dominó. No lo olvide. si se quiere ver cómo el software va procesando la imagen. otas importantes Las opciones que usan tipos de letra como cartas.

Gráficas Creador de Iconos Un icono o ícono. un icono es una imagen gráfica. En este caso vemos que los iconos han invadido las computadoras y los dispositivos móviles. Holzmann (http://www. Luca Cardelli (que al momento de escribir esto. Dijkstra.” En computación. ahora para DEC Systems Research Center. The Digital Darkroom”. para que quedara al tamaño de una foto pequeña. Dibujar una rejilla (matriz) de 12x12 puntos y hace4r entonces un patrón colocando puntos negros o blancos. El ícono suele ser una buena forma de identificación para lo representado. El resultado de este proceso dio lo siguiente: Imagen 1 Dijkstra como icono . Pues bien. en el diseño gráfico tal vez. Y sí. había cambiado de trabajo. quien lo diseñó probablemente pensó en posicionar el logo y la marca. un grupo de unos 50 investigadores empezaron a trabajar con un nuevo tipo de terminal de computadora. que suele ser pequeña. pienso que para los diseñadores de estos iconos es cada vez más difícil mantener la relación de semejanza entre el dibujo y lo que representa. es –de acuerdo al diccionario– una representación religiosa pintada o en relieve característica del arte bizantino.pdf). También es un símbolo que mantiene una relación de semejanza con el objeto que representa. De hecho. un enlace. ni scanners caseros. y en alto contraste. los celulares modernos. Encontré en el estupendo libro “Beyond Photography. pero es claro que el icono de CorelDraw no tiene nada que ver con las funciones que hace el programa. ni todos estos dispositivos que ahora son comunes en muchísimas casas y oficinas). de 4x4 cms. por Gerard J. Así. (Cabe aclarar que en 1983 no había cámaras digitales. con la que decidió trabajar. los teléfonos “inteligentes”. ahora AT&T.com/pico/a4. que representa un acceso directo. había pensado en una manera de convertir fotos manualmente en pequeños iconos en blanco y negro. Cardello halló una víctima. Alto). tienen pantallitas a color con iconos que representan un sinnúmero de programas. lo siguiente al respecto de este tema: Por ahí de 1983. por ejemplo: “Volvió de Rusia cargada de iconos”. un archivo. un programa. Inmediatamente pusieron manos a la obra para sacar provecho de sus capacidades gráficas. Por ejemplo. como en este ejemplo: “para entrar al diccionario. la foto de Edsger W. de acuerdo al porcentaje en que en alguna región de la foto había más blanco o más negro.spinroot. en los Laboratorios Bell. o cualquier otro recurso. el icono de CorelDraw es en realidad el dibujo de un globo aerostático. haz doble clic en el icono. El proceso fue así: • • Reducir la fotografía con una copiadora Xerox. en Palo. Así decimos.

La foto se digitaliza en 512x512 puntos. 32.32. para identificar al propietario de quienes mandaban trabajos para impresión. . Imagen 3 . vismon ha sido uno de los programas más populares en las computadoras de Bell Labs. a la cual le aplicaría algún proceso (ver más adelante). para acomodar el resultado en una rejilla que fuese de 16x16. Imagen 2 Cómo se veía vismon corriendo La imagen anterior muestra los iconos de quienes mandaron correo a un usuario. En un par de días. Desde entonces. es actualmente mucho más simple y fácil de implantar. Y aunque nadie sabía para qué Pike quería estas fotos.Luca hizo una demostración de su programa poniendo el icono de Dijkstra como si fuese una pelota rebotando en la pantalla. Decidí entonces mi estrategia: Tomaría una imagen. que podría anunciar la llegada de mensajes a las terminales mostrando el icono de quien lo enviaba. El servidor de rostros se usó por el programa de correo para anunciar la llegada de mensajes electrónicos y por el manejador de la impresora laser. El siguiente paso en esta secuencia ocurrió cuando Rob Pike y Dave Presotto desarrollaron el software para una base de datos centralizada de fotografías iconizadas. tanto en hardware como software. El icono entonces se incluye en la base de datos mantenida por el servidor de rostros. Pues bien. con un programa llamado Mugs. Incluir las fotos de los nuevos colegas fue algo que se hizo en la base de datos del servidor de rostros. escrito por Tom Duff. Los científicos se emocionaron con la idea y digitalizaron más imágenes manualmente. Las imágenes fueron entonces digitalizadas usando un scanner que se pidió prestado a los colegas del departamento de procesamiento de imágenes. que muestra la carga del sistema en ese momento. 48x48 o 64x64 pixeles. Luca Cardelli entonces escribió una primera versión que llamó vismon (con cierto humor considerando que existía un programa que se llamaba sysmon). todos colaboraron. se sacan semitonos y se convierte en un icono de 48x48 puntos. pero pronto se aburrieron del proceso. El programa vismon se reescribió para usarse con el servidor de rostros. la idea me pareció interesante y además. La barra de la izquierda viene del programa original sysmon. considerando los avances. A alguien entonces se le ocurrió usar esta idea en el nuevo servidor de correo. como algo de rutina. Rob Pike habló con los investigadores y les tomó fotografías de 4x5 pulgadas con su cámara Polaroid. 24x24. que son más o menos las resoluciones que se usan actualmente en la iconografía de los sistemas operativos actuales. en ese tiempo. desde la secretaria hasta el director ejecutivo. Ellos le llamaron a esto el servidor de rostros. se tuvieron cerca de 100 fotografías que fueron la fuente principal para los experimentos de procesamiento de imágenes.

para este problema en particular. usando el API correspondiente en Windows (recuérdese que usé Delphi bajo el sistema operativo de Microsoft). Los pasos a seguir son: • • • Se lee la imagen que se desea iconizar.Pantalla de inicio del creador de iconos En lugar de tomar la imagen y reducirla. se me ocurrió aplicar el filtro mosaico a la imagen. . De esta manera. salvé la imagen en el formato . Se usa la opción de menú (Procesar). como el de reducir una imagen. la cual permite -si se desea. Desde luego que este proceso. Al término del proceso aparecerá una ventana que simplemente pide al usuario con qué nombre se quiere salvar la imagen procesada. pero en mi opinión. . tomaría un punto de cada región dentro del mosaico y la pintaría en una imagen nueva. 32. valga el término. con precisamente las diferentes resoluciones: 16x16. El software es muy sencillo de usar. lo cual en algunos casos pierde la imagen cierta precisión por los algoritmos que se usan para hacerla más chica. 24x24.pasar antes la imagen a tonos de gris por si no se desea que se procese en color.32. Imagen 4 El programa ya habiendo procesado una imagen Una vez teniendo la imagen procesada.ico. 48x48 o 64x64. en formato . esta técnica parece ser más conveniente que usar los algoritmos para reducir una imagen. que es el que usa precisamente Windows. tiende a perder información.ico.

De esta manera. mientras que también los hay aquellos que no lo son. el cual convierte una imagen en alguna otra cosa. el cual puede ser un valor entre 0 y 255. 1 http://www. El resultado final convierte la imagen original en alguna otra cosa. una que tenga filme. por ejemplo. para quitar ruido. 4x4. 256 x 256 x 256 nos da 16. El filtro Oleo Digital (en tonos de grises) En el libro Beyond Photography (The Digital Darkroom). El resultado es casi una pintura al óleo”. estamos viendo desaparecer las cámaras analógicas y los filmes. para hacer más precisa una imagen. son en realidad una matriz cuadrada de pixeles (puntos en la pantalla). para deformarla. hechas de dígitos. Cabe señalar que el ojo humano no puede ver semejante espectro de colores. Photoshop. De hecho. es uno de los programas más populares para manipulación digital de imágenes. 10 o más megapixeles (estas últimas son para los profesionales probablemente). de números. el autor nos habla de cómo alterar imágenes.777. pues. lo que hace es esto: “Para cada punto en la imagen. pero como si fuese pintada al óleo. que bien puede ser en color o en blanco y negro.Gráficas Fotos al óleo Una característica de las imágenes en la computadora es que son digitales. pero es un hecho que la computadora puede desplegarlos. etc. Filtros Digitales La manipulación de una imagen digital se denomina genéricamente como un “filtro”. es sólo un término que da precisión a todo esto).216 posibles colores.pdf . las fotografías digitales (ya sean escaneadas o tomadas con alguna cámara digital). De acuerdo al autor. 8. Los resultados suelen ser sorprendentes. Se acabó el revelado y los costos asociados a esto. Cada dígito representa un punto en la pantalla. Con el advenimiento de la tecnología digital de imágenes y su gran aceptación en el mercado. la resolución de las imágenes ha crecido y con ello la necesidad de usar cada vez más bytes en los archivos y memorias donde se guarda. un programa calcula el histograma de los 36 bordes del derredor [del punto de interés] y se asigna el valor [al propio punto de interés] el valor que contenga la mayor frecuencia. se consideran transformaciones gráficas basadas en una matriz llamada también “convolución” (no se asuste por la palabra. Por ello mismo.azul) en cada pixel (o punto). Existen filtros para reconocer bordes. “el grano” de la cámara digital es la precisión con la cual puede distinguir los detalles. Por ello vemos que hay cámaras digitales de 4. de Gerard J. también nació la posibilidad de post procesarlas para generar efectos en ellas. Las aplicaciones son infinitas. digamos. 8 y 10 megapixeles. De esta manera. En la medida en que la tecnología ha progresado. que va recorriendo la imagen completa. y al procesarla la convierte en la misma imagen. con la generación de imágenes digitales. para hacerla menos precisa. hemos pasado de imágenes de 256 colores a las que nos pueden mostrar alrededor 16 millones de colores. Además. Estas convoluciones es el procesar segmentos de la imagen a partir de una submatriz (que puede ser de 3x3. Muchos filtros gráficos.spinroot. cada fotografía digital es en realidad una aproximación sobre lo que se fotografía tomando una cámara analógica. etc.) de pixeles. sino es que todos. De esta manera. cualquier tarjeta de video que se precie de serlo muestra los tres componentes de color R(ed . Existen filtros que son reversibles.com/pico/a4. es decir. De acuerdo a las necesidades. G(reen . Holzmann. Ahora bien. Ahí presenta la fotografía de Dennis Ritchie (uno de los inventores del lenguaje C). Actualmente. 5x5. es decir.verde) y B(lue . para meter ruido.rojo). tampoco ya el ojo humano no distingue entre. y normalmente el valor que vemos corresponde al color que ese punto tiene en la imagen. se pueden tener diversos filtros o transformaciones que pueden aplicarse a una imagen incluso ya filtrada. que trabajó algunos anos en los Laboratorios Bell1.

cometí el error de pintar la imagen filtradas sobre la imagen original y el resultado simplemente era muy pobre. no usar 36 puntos. las componentes RGB de cada pixel tienen el mismo valor. lo cual hace sencillo el encontrar el histograma de frecuencias de color. ¿Cuál le gusta más a usted? Este programa funcionaba originalmente sólo con imágenes en blanco y negro (tonos de grises).Al poner manos a la obra y diseñar mi primer programa que ejecuta este tipo de filtro. A la derecha aparece mi propia versión del algoritmo descrito. Con una convolución par no se puede tener un punto central. R=B=G.4]. sin embargo. es decir. Imagen 2 Marianna al óleo en tonos de gris . por lo cual me di cuenta que había que desplegar el resultado en una segunda imagen. De pronto entendí el error y es un instante se solucionaron los problemas que iba teniendo. pues en imágenes de tonos de gris hay nada más 256 tonos y además. Decidí. sino 49. como aparece en el libro de Holzmann. Imagen 1 La imagen de la izquierda es la de Dennis Ritchie (el creador del lenguaje C). para que así mi matriz de convolución tenga un punto central en [4.

En el menú de Archivo podrá leer la imagen que quiere procesar. Esto. El segundo problema fue el tener que aplicar el “blur” en cuatro ocasiones para que el ruido no deseado desapareciera. Así. con las otras dos matrices. a veces una matriz de 5x5 es la adecuada. encontré un par de problemas: Uno fue el hecho de que en color. a un cuadro hecho al óleo. otras veces es preferible la de 3x3 o la de 7x7. Cómo se usa el programa El sistema permite cargar imágenes JPEG y BMP. sin duda. Al poder hacer el histograma y hallar cuál es el valor de mayor frecuencia. La implementé y de pronto ya tenía mi programa que generaba el óleo digital en color. Una vez terminado esto. Compare y decida qué resultado le gusta más. en color. como que los amplifica. No hay un parámetro que establezca la mejor opción. ésta debe desplegarse en ambas imágenes del programa. La dificultad es que al querer pasar a color. Así. finalmente hallé una solución simple. . Use entonces la opción de Procesar y observará ante sus ojos el trabajo del filtro. El proceso es totalmente automático. Y eso es todo. simplemente lo pinto para cada punto en la pantalla. pero que no lo es. Dependiendo de la imagen en particular a procesar. Elija alguna de las opciones (por omisión es 7x7) y procese la imagen. dando un resultado poco aceptable. Cabe señalar que la resolución de la matriz puede cambiar el resultado del procesamiento. pero se asemeja. tenemos que las imágenes pueden contener poco más de 16 millones de colores. pues es totalmente ineficiente y absurdo. se necesita hacer una modificación que parece trivial. Después de dos semanas de darle la vuelta al problema.El filtro Oleo Digital (en color) Para poder generar imágenes al mejor estilo óleo. Se puede elegir entre color y tonos de grises. el filtro a veces mete ruido cuando hay puntos blancos y entonces aunque en la región haya pocos puntos blancos. Imagen 3 adia procesada con el filtro óleo en color (16 millones de colores) y con “blur” añadido. Es claro que el filtro hace una imagen que pierde precisión contra una fotografía real. decidí que necesitaba usar el filtro “blur” para quitarle ese ruido. pues no podemos generar un arreglo de 16 millones de colores (para seguir con la técnica usada en la parte en tonos de gris). El resultado final es ahora mucho más aceptable. Guárdela y procese de nuevo la imagen (cargándola de nuevo). de 5x5 y de 7x7. obviamente hace el problema un poco más difícil. No obstante. Hay tres opciones: matriz de 3x3. aquí hay que contar y crear el histograma de frecuencias de manera más sencilla. puede guardar la imagen procesada (como JPG o JPEG). Al cargarla a memoria.

se encontró que usando cuatro veces el blur antes de procesar con el filtro óleo la imagen en color. aquí se deja como una opción del menú para que el usuario utilice este filtro para ver si el resultado final le complace o no. Por ejemplo. en ocasiones es necesario utilizar previamente el filtro blur y después procesar. Se recomienda usar blur cuando se vaya a procesar una imagen en color. Sin embargo. los resultados mejoraban.El filtro Blur Este tipo de filtro permite limpiar de ruido una imagen. Se usa para quitarle detalle a las imágenes y en el caso del filtro óleo. .

A partir de ello Silvers saltó a la fama y en poco tiempo se empezaron a ver más de estas imágenes en diferentes portadas de revistas como Wired. que actualmente tiene una empresa que se dedica precisamente a estas labores.000 dólares. por ejemplo mostrando un fotomosaico con imágenes plenamente identificadas por el autor del mismo.000 fotografías ya digitalizadas y durante el proceso de selección se consideran. Tales pedidos personalizados pueden costar entre 10. IBM System Journal. de acuerdo al mismo autor. entre otros. hay un interés académico. Tiene alrededor de 100. cientos de aspectos para sustituir un pedazo de la imagen original por una fotografía. Esto podría dar suficiente información sobre cierta imagen y aún así no poderse usar para otros propósitos. Silvers creó los Fotomosaicos. cuando se ven en conjunto forman la fotografía original.000 a 80. es decir. por lo cual mantiene en secreto los algoritmos usados. Todas las pequeñas imágenes.com). no se hace automáticamente todo por el software que él mismo ha escrito (ver Apéndice I). la cual se dedica a hacer fotomosaicos a pedido específico. Obviamente la pregunta es ¿cómo los hace? Desafortunadamente Silvers no ha hecho públicos sus algoritmos. Life Magazine e incluso Playboy. La justificación para ello es que el autor no pretende crear una compañía que venda software (lo cual sería un éxito seguramente por un tiempo). Sus trabajos se venden por alrededor de 20 dólares en afiches (posters) en diferentes tiendas. Otra aplicación potencial es la de un método de organizar información (bases de datos) o incluso en esquemas de criptografía .I. incluso dentro de la red Internet. Entre sus trabajos Silvers ha hecho fotomosaicos de algunos personajes de la Guerra de las Galaxias y de Disney.T.Gráficas FotoMorsaicos El 22 de diciembre de 1997 la revista Newsweek presentó la imagen de la Princesa Diana creada con una miríada de pequeñas fotografías de flores (ver figura 1). Se sabe sin embargo que usa una computadora Silicon Graphics con 30 gigabytes en disco y 256 megabytes de RAM. estudiante graduado del M. él mismo declara que parte del proceso en la creación de los fotomosaicos es manual. Sin embargo. Fuera de la mera curiosidad de cómo se pueden generar fotomosaicos de esta naturaleza. sino que intenta hacer arte. los fotomosaicos pueden servir para proteger los derechos intelectuales de las obras pictóricas. los cuales son mosaicos hechos de fotografías (en lugar de hacerlos de colores sólidos). Figura 1 Silvers ha creado una empresa llamada Runaway Technology (http://www. El autor de semejante idea era Robert Silvers. porque independientemente de las aplicaciones obvias dentro del arte y el entretenimiento.photomosaic.

alcavia.y compresión de imágenes. en la medida que haya más gente que sepa cómo se hace un buen fotomosaico tendremos más competencia y no solamente habrá que atenerse a las técnicas de Runaway Technology y Silvers. otra es que existe relativamente poco software que hace esta tarea y además los algoritmos de Robert Silvers (el máximo exponente sin duda). ¿Cómo decidir qué imagen debo sustituir por una región o pedazo de la fotografía que estoy procesando? esto es. Otra razón es que la calidad de los fotomosaicos depende en parte de las propiedades del sistema visual humano y hay muy pocos estudios al respecto y los que hay parecen ser muy empíricos. ¿cómo definir una distancia gráfica que defina qué tan cerca está un color de otro? ¿Qué tan grande puede ser cada mosaico antes de que se pierdan los detalles de la imagen original? ¿Cuántos mosaicos debe tener la biblioteca de imágenes? ¿Cuántas veces se puede usar un mosaico antes de que se convierta en monótono? Los resultados que obtendremos aquí quizás puedan dar nueva luz sobre este tema y he aquí la importancia del mismo. Por ejemplo. Un poco de historia La creación de fotomorsaicos no es novedosa en realidad. Un primer intento es el usar las letras del alfabeto para crear imágenes. sacada de una página personal en Internet http://personales.net/~jmoreno/jose/ . generando así más posibilidades y artistas que puedan usar esta tecnología. son propietarios y por ende desconocidos para cualquier otro excepto el autor. De igual manera. El estudio de la creación de buenos fotomosaicos no ha sido analizado de manera formal. he aquí a la famosa Gioconda de Leonardo Da Vinci. Los fotomosaicos son un buen ejemplo de técnicas de diagonalización en la teoría de la complejidad y bien pudiese tener aplicaciones en este campo también. Hay varias razones para ello: Una es que el área de trabajo es relativamente nueva (Runaway Technology se creó apenas en 1996). Por ejemplo. Hay una larga historia atrás de ello.

...... .....IIXX$$@@@@@@@@@@@@@@@@@@@@@@MMMMXMXMXMXMXMMMMXM X$$MMMXMMM$$M@$$M@@@@@@@@$XII.......I.......I............III........X@@MX@@MM@$$M@@@@@@@@@@@@@@@@@@@@@MMX IXMIXMXXXI@@@@@@@@@@@@@@@@@@@MXXM......II...IIXXXMMM$@@$MI.III...I..........III......I.I........IZZ@@@@@$$XII................................................I.I...J..JJI$@@M@Z@@M@@IX@@@@MM@JJX@@XXMMMMMM@@@@ XXMMXX@@@@@@@@@@@@@@@@@JI@@JJJ.......$$@@$L.........I..II.......I......III...........I...................II....................III...................III........IJ.............IIXXM$M@@@M@@@@@@@@@@@@@@@@@@@@XXIXMWWX XXIXMMXIIIXXXXI@@@@@@@@@@@@@@@@@@@@LXXI..........IZZM@@@@@@MXII....II.IIXXX$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXINXIXHXXMXHIX MXMMXMMMXMMMM@@@@@@@@@@@@@@@@@@@@@@@@$I...IIIII.............I....IXXMM$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@MXMXMMMJJMXXMXHZX MXMMMXMXMMMIM@@@@@@@@@@@@@@@@@@I.I............IXJ@JX@X@XIJIXXMMMMMMIIIXX###MMM####MM# #####@@@@@@@@@@@@@@IJIIIXJJ...III..........IXXXMIIII..I...................MXXX..II.MZZM@@@@@@@@@@@@@@$FXXM$@@I.C@@@@@@@@@@MXIIIIIIXXXXMXII........IXXXMM$@@@@@@@@@@@@@@@@@@@@@@@@@LI................IIIII......III.IIIIIIIIIIIIX .I.....I.I...I...JI..........................II.IIIXM$$@@@@@@@@@@@@@@@@@@@@@@NNNNNXMXMXNXMXNXHXM XMMM$$MMMMMMM@MMM@@@@@@@@@II....J@@@@$$XXXII.....I....... ........................IJJIXJM@@@@@@X@M@MIM@@@@@@@@@@@@@@LXXEXB IXNMXXXIXXXXI@@@@@@@@@@@@@@@@@@LII......JJX@IXJJJJJJXMMMXMXXIIXMXXX####MM######M #####@@@@@@@@@@@@@$I.........III..........IJI....I.......I.......... I..................I..I$@@@$$$MX............IJJJI@@@@M@$X@X@@I@@@@@@@@@@@@@@LXXMXII XNXCXMMXIIXXXX@@@@@@@@@@@@@@@@@@@I....XX.....I...I.................I.....J.I.FFFFFMMIIIIIIXX$@@@@@@@@@@@@@@@@@@@@@@XXMXXXMMMMMMMXXXMMM .......... ......I...............III........IIIIIII..II.JIJJ@M@@@@@M$$M@X@@@@@@@@@@@@@@@@@@MXIX XXMXMXXXXXI@@@@@@@@@@@@@@@@@@JIX.....@@@@MXI.IZZ@@@@@@MXXIII.........IIIXX$$@@@@@@@@@@@@@@@@@@@@@@@@@IJXHMXHMMXHWHEMNXN MNM$MNNMMMM@@@@@@@@@@@@@@@@$$$XII........................XXXMXIMJ.....IMMMMMIIMM###########MM######M###M###### ######@@@@@@@@N##MM#####L...............@@M@@@M@@@X@@@@@@@@@@@@@@@@@@@@@@@L XXMXMXMM@@@@@@@@@@@@@@@@@@JXIIII..........I.... aunque ciertamente pobres frente a lo que los fotomosaicos pueden mostrar.@@@@@MXII....................................@$$@@@@@@@@$XI.......IIIXXX$$$@@@@@@@@@@@@@@@@@@@@@@@@@JHMMNKXWWXMMXXXMWH XNMMXXMXMMNMM@@@@@@@@@@@@@@@@$XXII..........II.I.III.....I....IIIIIIIIIIXII ..............IJIJL@@M@@@M@M@X@X@M@@@@@@@@@@@@@@@LXSSB INMNMXMXXXXX@@@@@@@@@@@@@@@@@@J..................IX$@@@@$XXIXX$$$@@@@@@@$M$@@@@@@@@@@@@@@@@@@@@@@LXXXXXXXXXXIXIXXXIXX ..IZZ@@@@@$MXIIII...I...........I................................III.I I...IXXX$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XNMZHNMXXMNXMZXMZ NAMXMAXMXMMIM@@@@@@@@@@@@@@@@$XII.....II........I....IXX$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XNMMMMMMJMIIIXXI XMZHXIXMMXMXX@@@@@@@@@@@@@@@@@@@$I..IIIXXXXX$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXNMNMXXXHXXIXX IIIIIIIIIIIIII@@@@@@@@@@@@@@@@@@@@@@@@@@$I..............III..............IXMMMMXXM###########XIXM##W##II++F#P#M##M###### MN#WM@@@W##M+##W#X#M##MII+MWM#++I###WM###MWN##WM#WM##########MMMFII####MI++############+##+F8++#M###W#######MM#### W+W###@###+M###X#M#N#+I+##M#M+IIW###MX###W#X##MM#XX#######Z##*XIXMMM****MX*********W**********I*M**M*M********MW** *************M*MM***M****M**MM***X*IW*W*IW*M**W**IIX****W**MXMMNNN*****MMM**N******N*****X***X*M***WW*******NMXXXM ********M*M*M**M****MW*******X*M**MMIMMI##WWX*MW*WW*M*MI*X*XXIIX************M***M***M***XXMM***XM*M*M***M***X*XXXX ***WM****W***M***M***W****MMWX***WWIMMWM***WM*M**X**XW*MI***I**MM***************W*@*W*M**M**MM**W*****MW*MMX*XXXXX M*W*M***I Jose Moreno Fernandez Atalaska BBS IW**MMMM****************W****W****WM*M*M*MWM*I*XZZI*IIIIXXMMM *W*W*M*******************NW****NMI**N***WMN****MMM*************************M*W*W***M*******8****M***MMMMMXX*MMMMMM Figura 2 Como un primer esfuerzo es pasable...........III...IIIIXXX$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LXXXXX............III..IIIIIIIIXXXXXM$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IIIIX..I................................IXX$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NXMXMXMMXXHXNXZW XXMIMIMIMIMIX@@@@@@@@@@@@@@@@@@@@@@$I.I.................II....II@@@@@@@@@@@@ZZ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LI..IJ@@@@@$MMIIIII....IXXXMM$@@@@@@@@@@@@@@@@@@@@@@@@@L......ZMMMMMMIIIMZZ####################M ######@@@@@@@@@@@###L...........IJXI..II.............IZZZ$@@@@@$$XIIIIIIXXXII......I..III...I.....IIIJ@@@@@@@@@@@@MZ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@III....ZZZM@@@@@$XIIIII.IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII@@@@@@@@@@@@@MXXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJ@@@@@@@@@@@@@@@@@@@@@@@@@@@IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII@@@@@@@@@@@Z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ... .....CXMMMMMXMJ................III.III.I...I..............IIIXXXXMMMMMMMXXXXXIIIIIXXM$$$@@@@@@@@@@@@@@@@@@@@@@MXMXMILIXXMX XXMXIIIIIIIIXXXIII@@@@@@@@@@@@@@@@@@@@@@@@@@@@XIIIIIIIIXXXXMXXXXXXXXII.I.........IIXXXXXXXXXIII......IIIXXXXMM$@@@@@@@@@@@@@@@@@@@@@@@L.@@@@@MXII...I$$MMXXI..IJMMMMMIXM#########M######M################### #####@@@@@@@WN+W+X+++ZMMM#######M$IXIII...I.......III.....IIIX$$@@@@@@@@@@@@@@@@@@@@@@JMMMMMMMXXXXMXXMMMM IMMMMMXXXMMMM$$$$@@@@@@@@$XI.XXMMMMMXXXXXXXXXXXXM$$@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXIIIIIIIIIXXII .....IIII....IXMMM$$@@@@@@@@@@@@@@@@@@@@@@@@@L.......IIIXXX$$@@@@@@@@@@@@@@@@@@@@@@@@@XIHXMXMNXNEMWNXMEX NMXNXMNMNMMX@@@@@@@@@@@@@@@@@$XII.IMMMMM.....IIXIIIII.I............I..I I.......I....I................IIIXM$@@@@@@@@@@@@@@@@@@@@@@@@@ZHXHXHXMAXNXMCXMNC MMMM$MMNMMMM$MM@@@@@@@@@@@@$YII..............................II....JI@8@XM@M@$XM@@@MMXXIXMMMMMI@@@@XXXMM XMX@@@@@@@@@@@@@@@@@@JII@JJII...........................IIXXXXXMMMMMMMMMMMXXIIXXXM$$$@@@@@@@@@@@@@@@@@@@@@@MXMXJOSEX.....III.....I .I.IIXX$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XMMXMXJIJMHZXXXM MXMXNMXMXMMI@@@@@@@@@@@@@@@@@@@@@M$XI.IIIIIXMMM$@@@@@@@@@@@@@@@@@@@@@@@@@L............IIIXXX$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@XXNIXXMXMXNXZXNXZ MXMMXMXMMMAMM@@@@@@@@@@@@@@@@@@XXIIIIX$X...............III.............IXX###M#####################M ######@@@@@@@@@M##M##.... ...I.II............IIIIII...I..I..XMMMMMMMM###########MM#########X#####W########## #####@@@@@###N#WII+X##M#M+XM#W#W###############MX+YYYYYYYYYYIXXMMMMMFI................JJII@@@M@@@M@@IMMMMMM@@@@@@@@M@@@@MMM@@@ MMMXXXX@@@@@@@@@@@@@@@@@@@XJJII.....II $$MMMMMMXMMXM@$$$@@@@@@@@@$XI..IIIIIXXX@$$@@@@@@@@@@@@@@@@@@@@@@LIIIX...........................JX@JXMMMMMMMFFIIII####MXXIIIMMMM####M# #####@M@@@@@M@MM@@@XII$$ILI............III...I.I.....$@@@@@MMXIII.............................................I.........$$@@@@@@@@@MMMXXMMM$$$$$@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXIXIIXXXXX ...........IFFFFIX...........IXXXXX$$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XNXIXIXXHXZMXIX XMXXMMXMXMMXX@@@@@@@@@@@@@@@@@@@@@@@@@$I........II $$$$$$$MNM@@$$$@@@@@@@@@@@@XII...IIIXXXXXXMMMM$@@@@@@@@@@@@@@@@@@@@@@@@@L.............IIIXXX$$@@@@@@@@@@@@@@@@@@@@@@@IXXMXXHXXIXX XXXXIIIMMMMXXXXXI@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XIII....ZZZZ$@@@@@@$$$XXMM$$@@@@MI.IIIXXXXXII.....II.....IMMXXXIIIIIXXXXXMMM.. titulado “The Recognition of Faces” Aquí aparece la siguiente imagen (véase figura 3)......I............... I...............IIIIIIXXXXMM$$@@@@@@@@@@@@@@@@@@@@@@LIX...I.@$@@@@@@@$MI............ .........IIXMMMMM@@@@@@@@@@@@@@@@@@@@@@@@...J@@@@$MI........I@@@@@@@@$MMXIXM$@@@@@@@@@@@@@@@@@@@@@@XXXMXXMXXMXXMXXMXMM ................IX@@@@@$$$$$@@@@$$$@@@@$MXM$@@@@@@@@@@@@@@@@@@@@@@XXXIXXXXXXXXXXXMMXX .........IXXXXXIIIIIIII...........I.........I...I..............II..II..IIXXX.......I...........I..I....................I..........I....I... ...JJJJIIXMMMMMXXIIXM##########M#####M### ######@@@@@@@@@@@##L..IIIIXXI..........................IIIIIIIXXXXX$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MIIXIX........IIXX$$M@@@@@@@@@@@@@@@@@@@@@@MXXIIMMAIIIIIII............II..J........I....................II.II.....II.......III...MZZM@@@@@@@@@@@@$$$@@@@MI@@....MZZM@@@@@@MXXIII..II..IIIXXM@@@@@@@@@@@@@@@@@@@@@@@@IIIXXIIIIIIIIIIIIIXI ...I@@@@@@@@@@@MMMXIIIIMMM$$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LII.......I............IIIIXXII...........I.......II....... Incluso...........X...MMMMMIIXM#######M##M#############M######### #####@@@@@@@@W##+#W##M######LI.............................II...IIXXM$X@$@@@@@@@@@@@@@@@@@@@@@XXXIXXIXMI XCXRMMMIIXXXXXIX@@@@@@@@@@@@@@@@@@@@@@@$$$XXIIII.....IIIXX$$@@@@@@@@@@@@@@@@@@@@@@@@XXIIMMAIIIIIII..IJ.....III.....I............XMMMMMI.IIIIIII.I...................IIIII...).........................XXXXII.......@@@@@@@@@@@IIIIXIII..IIIXXMM$@M@@@X@X@@@@@@@@@@@@@@@IXIXMMXIX XXXXMMXIIIXXIIXJ@@@@@@@@@@@@@@@@@@@@@XIII.IMMXII.IMMXXII..I.....III...¥..... hacer un programa que transfiera una imagen a las letras del alfabeto es una tarea simpática y los resultados aunque interesantes.IXXXII...II .........II...I........IZ$@@@@MMXI......III.I..IXX#M##############M############+####### #####@@@@@@##M+I+#W#+I+IW#W#############LX.............J########+++#####WM##M###M##M############## #####@@@##W#N#WW#X++#M##X+##M##N#X##M###X#M############PM####MMMMM..............I.........III..II.@@@@@@MXI..........I............IIIIIXI......IIXM$@$@@@@@@@@@@@@@@@@@@@@@@XMXXAXXAIXX MXMMXMMXXMMMMXXXX@@@@@@@@@@@@@@@@@@@@@@@@@MFXXIIII..................II...III.......................II... En noviembre de 1973 se publicó un articulo en Scientific American (cuyo autor es Leon Harmon de Bell Labs............III.......IIIIIIIIIIIIXI ..................................JJX@X@M@M@M@XXM@MJJJFFFM@@@@MIIIXMM@@@@ X#####@@@@@@@@@@@@@@@XI$IJJ...MM$$XXXXXXXXI...............IIXXX$$$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXIIIXMXXXIXMM MMMXIIXIIIIIIIM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LXNXMXZMMIIIIIX XXMMMMMXXXXIIII@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXNXMXZXXXXXIX XIIIIIIIIIIIIII@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$MMMM$$@@@@@@@@@@@@@@@@@@@@@@@@@XXZXZXMCMXMXZX XIIIIIIIIIIIIIII@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IXMMM$$@@@@@@@@@@@@$$$$MMMMM$@@@@@@@@@@@@@@@@@@@@@@@@@@IXZHNXMXNZMXNX IIIIIIIIIIIIIIIIII@@@@@@@@@@@@@@@@@@@@@@@@@@@IIXXX$$M$$@@@@@@@@$$$MMMMMMMM$@@@@@@@@@@@@@@@@@@@@@@@@@L22XMEHMEZMXXX IIIIIIIIIIIIIIIIII@@@@@@@@@@@@@@@@@@@@@@@@@@@IIIIXXXXMM$$$$$$$$$MMMMMXXXMMMM$@@@@@@@@@@@@@@@@@@@@@@@LXXZOCOXXBBSXX IIIIIXXXXXXXXXXIII@@@@@@@@@@@@@@@@@@@@@@@@@@@XI...II .I...................Z$@@@$$$...IIXIWLI....LZ@@@@@@@@@MIM@@$MIM@@@@@MX.II..II....I.MM$@@@@@@$II.IIIXM$@@@@@@@@@@@@@@@@@@@@@@MIIXIX........I................IIIIXXXX$$@@@@@@@@@@@@@@@@@@@@@@@@@@MMXNMMXMXNMZXNXMM MNMXEXXXAMMMM@@@@@@@@@@@@@@@@$$XXII.......IXMM@@@@@@@@@@@@@@@@@@@@@@XMMXMMXXMXMXXMXMMMM IXMMMMMMMMMJ.....I......XXX IIIIIIIIIIIIIXIIII@@@@@@@@@@@@@@@@@@@@@@@@@@@XI..I@D@@Z@@@X@@M@@@@@@@@@@@@@@@@@@@@@@XX IXIXIXIII@@@@@@@@@@@@@@@@@@JMXXJ...

al presentar la siguiente obra (Figura 4): “Gala Mirando al Mar” (Salvador Dalí. los esfuerzos de Harmon se ven magnificados por Salvador Dalí. En el artículo se presentan otras imágenes.Figura 3 Harmon escribió un programa llamado MagnaDott. Lo importante aquí es el exceso y redundancia en la información visual existente de tal manera que pocos bloques de diferentes densidades de color nos pueden dar la información estereotípica de Abraham Lincoln. sino que se hace llamar a sí mismo un “cibertista”. Más tarde. el programador de marras no se considera un “artista”. algunas más reconocibles que otras. Sin embargo. Chuck Close trabajó sobre esta concepción y he aquí un fragmento de su idea (figura 5): . De hecho. el cual genera este tipo de imágenes. Al escribir esto me entra la duda de si la imagen de Lincoln no es un caso excepcional. 1976) Figura 4 A 20 metros el cuadro de Dalí se convierte en el retrato de Abraham Lincoln. Alguien llamó a esto Lincoln en Dalivisión.

el fotógrafo Arthur Mole. Esta fue una de muchas fotos que este personaje hizo (figura 6). porque en 1918. Presidente Woodrow Wilson Figura 6 Beth Clemens. No se sabe cuánto tomó hacer esta foto. creó la siguiente imagen con 21. tomar un dato repetitivo en escalas cada vez más decrecientes y reemplazarlos para lo que Roy Lichtenstein llamó pinturas diminutas. llegó a una idea muy interesante. dándole diferentes densidades al color para así crear lo que él llamó “faux fractals” (fractales falsos). no una artista plástica o pintora. Ella es músico.000 reclutas del Campo Sherman. de 29 años. Y semejantes pequeñas pinturas pueden ser cualquier cosa y de cualquier textura. muchos años después. la cual representa al presidente Woodrow Wilson. Esto es. pero se tiene conocimiento de que más de un soldado se desmayó en el proceso.Figura 5 En algún momento Close se dio cuenta que podía llenar una malla cuadriculada con sus pinceles de aire. La siguiente imagen muestra el concepto fractal (figura 7): . Pero esta idea no es muy novedosa (la de los fractales falsos).

Aunque el efecto de Clemens es estéticamente muy agradable (y quizás podamos achacar esto a la idea de que el universo es fractal). veremos esto (figura 8): Acercamiento de la imagen de Beth Figura 8 Puede verse que la imagen de Beth es absolutamente fractal. Don Greenberg (figura 9): . se han hecho modificaciones al respecto. Eric Haines. Esta noción se llevó aún más lejos. EEUU. que trabaja/estudia en el departamento de gráficas por computadora de la Universidad de Cornell. considerando el concepto elemental inventado (¿descubierto?) por Mandelbrot hace ya unos años. Por ejemplo. hizo el siguiente mosaico de su jefe.Fractal Beth Figura 7 Si nos acercamos a la imagen de Beth.

que dio pie a un proyecto para una primera aproximación. Figura 10 .Figura 9 (fotomosaico hecho de las fotografías de sus estudiantes) A partir de estos datos nació esta investigación inicial. En este proyecto los fotomorsaicos generados se hicieron con fichas de dominó y naipes. Los resultados de este particular software pueden verse en las siguientes imágenes (Figura 10 y 11).

qué tan cercanas en color es una imagen contra el color promedio de la región analizada. . necesitamos considerar el concepto de “distancia” entre ambas imágenes. Evidentemente los dos primeros pasos son sencillos de realizar. Finalmente. es decir. Se necesita una colección de imágenes (los mosaicos). Bien podría tratarse de animales u objetos. 2. a la manera de Robert Silvers. tome cada una de las subregiones de dicha cuadrícula y las compare una a una contra la colección de imágenes (tomando ciertos criterios de similitud entre la región analizada y cada imagen en la colección). A esto le llamaremos una métrica. La imagen a procesar se obtiene generalmente a partir del escaneo de una fotografía particular. también llamada base de datos o biblioteca de imágenes. Obviamente las técnicas para hacer fotomorsaicos no involucran necesariamente fotos de rostros humanos. 3. Se requiere de una imagen a convertir en su equivalente en mosaicos (imagen fuente). Pasos iniciales en la creación de fotomorsaicos La creación de fotomorsaicos puede dividirse en los siguientes pasos: 1. hay que hablar a detalle de cómo la computadora manipula los colores y gráficos. No es obvio que podamos definir una métrica de manera muy sencilla y para comprender la idea sobre cómo encontrada. Ésta puede ser de gente famosa o incluso de familiares o amigos.Figura 11 Con estos antecedentes e historia se decidió entonces el desarrollar un sistema para la generación de fotomosaicos con imágenes a color. Un programa de computadora que cuadricule la imagen fuente. Existen una serie de colecciones de imágenes que pueden ser adquiridas por un costo específico o incluso gratuitamente a través de la red Internet (aunque esto último puede llevar muchas horas de conexión). sustituya por la más adecuada de acuerdo a los criterios establecidos. El paso 3 es sin embargo más complejo de realizar. Para decidir qué mosaico (imagen de la biblioteca de fotografías) es el que se acerca más a la región que estamos analizando dentro de la cuadrícula.

Distancia lineal Cabe señalar que si un solo número fuese atribuido a cada color. entonces hablamos del negro.0. el software lo que hace es calcular simplemente el promedio de color sumando las tripletas RGB de cada pixel dentro de la subregión de la imagen y dividiendo cada componente de color en el número de pixeles procesados. si la tripleta es (255. Para esto.0).0. tendríamos que la distancia entre dos imágenes sería simplemente la distancia lineal de un tono de gris a otro. o definición de una métrica Considerando el modelo RGB. por ejemplo. RGB permite 16 millones de colores. El rojo puro podrá estar representado por (255.255. En la computadora la tripleta de enteros RGB permite ver un color específico. es decir. De esta manera lo que tenemos es una colección de imágenes de colores sólidos (promedio de cada imagen original). por ejemplo como lo que pasa cuando se consideran las escalas de grises. Eso da un color promedio de toda la región que estamos analizando.El modelo de color RGB Un monitor de computadora (incluso una TV) usan el modelo de color RGB (Red Green Blue) para representar los colores. Cuando se usan 8 bits por color. Para esto. Bn . m . Gn . Este es el esquema RGB y es muy popular en las computadoras actuales. pero en este caso no solamente a una región de cada imagen de la colección. Tómese ahora una colección de imágenes a las cuales se les ha realizado el mismo proceso de color promedio. la métrica sería D2 − D1 donde D1 y D2 son los valores del tono de gris en la región analizada contra la que se encuentra en la colección de imágenes . muchos más que los que puede discriminar el ojo humano. En cambio. m )) / nm Donde n y m son los el largo y ancho de la subregión de la imagen a procesar. Criterios para la selección de imágenes. Esto da un solo valor de color promedio para toda la imagen. entonces estamos hablando de colores de 24 bits. Esto es: n 1 m 1 Colordelaregion = ∑∑ ( RGB ( Rn . si la tripleta es (0. m .0). sino a toda la imagen. el siguiente esquema es el que se ha puesto en práctica: considérese cada subregión de la imagen fuente como de un solo color.255) hablamos del blanco. el núcleo del programa de fotomorsaicos debe poder hallar algún criterio para seleccionar el mosaico a sustituir por la subregión dada. La métrica entonces es simplemente la búsqueda de la distancia mínima entre la región analizada y cada una de las imágenes de la colección usada para la creación del fotomorsaico. Así. si entendemos este modelo. Cada 8 bits puede guardar un valor que va de 0 a 255.

puede considerarse muy importante y útil. son cada uno un eje coordenado.idx”. De hecho dicha métrica se implantó en el software (ver más adelante) y se analizará posteriormente. en donde halló evidencia empírica sobre cómo los seres humanos distinguen las diferencias de color. Así. la manera en como los humanos percibimos el color no parece ser la distancia euclidiana. La colección de imágenes Para poder utilizar la métrica (sea cual sea ésta). de 24 bits de color se procesó en alrededor de 2. de Holanda. la cual fue analizada por Thiadmer Riemersma. Cada imagen (de un total de 5544). G y B). hallamos una posibilidad más. Esta es la mejor aproximación de métrica considerando los resultados obtenidos (que se analizan más adelante)). aunque simple.Distancia Euclidiana Sin embargo. Distancia Riemersma Sin embargo. si tomamos las tripletas RGB el problema no resulta trivial. se tomó una colección de imágenes (todas en formato jpeg) sin distinción en tamaño pero que todas cumpliesen con ser de 24 bits de resolución y se hizo un pequeño programa que preprocesara dichas imágenes de manera que sacara el promedio de color total sobre toda la imagen. se necesita que la colección de imágenes sea preprocesada con antelación. la distancia de la imagen que tenemos a la que estamos analizando se puede dar como: ∆ = ( R1 − R2 ) 2 + (G1 − G2 ) 2 + ( B1 − B2 ) 2 Esta manera de crear una métrica. de 960x1200 pixeles.5 segundos. El resultado es lo que hemos llamado distancia Riemersma y se basa en la siguiente mejora o corrección a la distancia euclidiana: ∆ = (2 + donde r 255 − r )( ∆R ) 2 + 4( ∆G ) 2 + ( 2 + )( ∆B ) 2 256 256 r= R1 + R2 2 ∆R = R1 − R2 ∆G = G1 − G2 ∆B = B1 − B2 (Para una discusión al respecto de cómo se llegó a esta fórmula. Se generó entonces un archivo al que se le llamó “imagen. conteniendo los siguientes datos por línea: Rojo Verde Azul NumeroColor NombreImagen He aquí un fragmento de dicho archivo: . Así. Podemos considerar entonces la distancia euclidiana si tomamos al modelo RGB como un espacio tridimensional en donde cada color (R. Así. en un afán por que el programa sea más rápido y menos costoso en recursos de máquina. consúltense la bibliografía).

se generó originalmente como una página HTML en donde se encuentra la lista de todas las imágenes seleccionadas y su ubicación dentro del fotomorsaico.jpg Im00008. Euclidiana. se pueden imprimir los fotomorsaicos resultantes sin necesidad de escribir las rutinas correspondientes bajo la interfaz gráfica de Windows. úmeroColor es el color asignado de acuerdo a la siguiente ecuación: umeroColor = ( R ⋅ 65536) + (G ⋅ 256) + ( B ⋅ 1) Así. Se calcula su valor (color) promedio y se busca en el archivo de índice (imagen. Define una métrica.jpg Im00006. El resultado.índice de imagenes 121 117 131 7959939 67 77 70 4410694 116 121 157 7633309 78 57 59 5126459 86 101 76 5662028 190 193 181 12501429 66 78 83 4345427 117 133 132 7701892 109 127 122 7176058 109 127 122 7176058 102 122 121 6716025 87 102 108 5727852 Im00001.jpg Im00012. FireFox o Internet Explorer).jpg Im00002. Algoritmo de búsqueda y selección Una vez teniendo las imágenes de la colección procesadas.jpg (en realidad en el archivo están separados por un espacio cada valor. umeroColor identifica cada imagen dentro de la colección con un solo color.idx) la imagen que tenga la menor diferencia de color.jpg Im00011. Riemersma) pero una sola a la vez. Se lee cada subregión.jpg Im00009. el algoritmo que usa el fotomorsaico es verdaderamente sencillo: 1. 3.jpg Im00007. Rojo. Aquí simplemente se agregaron espacios para una mayor claridad). para ser visto inmediatamente. el fotomorsaico en sí mismo. 5. haciendo uso del comando de impresión del navegador usado para ver los resultados finales del fotomorsaico ( etscape.jpg Im00009. Cabe señalar que las imágenes no tienen que estar numeradas como se ve en el fragmento del archivo de índice.jpg Im00004.jpg Im00003. La virtud de este enfoque es que los resultados del procesamiento pueden ser vistos y analizados de manera inmediata. Obtención de resultados La imagen resultado. Finalmente. Se repite este proceso hasta terminar con la imagen fuente. De igual manera. Se cuadricula la imagen fuente en subregiones de tamaño constante. es la colección de imágenes seleccionadas por el algoritmo correspondiente. aunque no necesariamente ésta es la mejor solución porque no se tiene mucho . El tamaño de cada región puede ser definido por el usuario previamente. ombreImagen es el nombre de la imagen procesada dentro del disco duro.jpg Im00005. 4. 2. Se elige la imagen de menor diferencia y se coloca en la subregión analizada. Verde y Azul son los valores de la tripleta RGB (valores que van de 0 a 255). Dependiendo de la cantidad de imágenes que hay en la colección este proceso puede ser más o menos lento. Se puede tomar alguna de las tres consideradas (Lineal.

el crear una página HTML con la imagen resultante permite que ésta pueda ser fácilmente reproducible en cualquier otra parte en donde se tenga la colección de imágenes usadas. puede guardarse como una imagen JPEG directamente al disco.jpg” width=“10” height=“10”><img src=“Im02784.jpg” width=“10” height=“10”><img src=“Im04133. quizás una estación de trabajo Silicon Graphics y/o Quizás las rutinas gráficas para el manejo de jpg por parte de Delphi no contempla la creación de imágenes tan grandes. Esto sugiere dos situaciones: • • • Las máquinas personales aún tienen serias limitaciones cuando hablamos de software que requiere demasiados recursos gráficos. Aunque la aproximación dio buenos resultados. Una imagen de 4000x4000 pixeles. hay limitaciones que Windows impone. En este caso. por lo que puede ser una dificultad de la librería gráfica usada. Lo que sí es un hecho es que aplicaciones gráficas como la que nos ocupa esta discusión parecen requerir de mayor y mejor hardware.jpg” width=“10” height=“10”><img src=“Im01419. la única solución pertinente es cortarla y procesarla en pedazos.control sobre los parámetros de la impresión en sí misma. En este caso se generó un programa visualizador para los fotomorsaicos.jpg” width=“10” height=“10”><img src=“Im01419.jpg” width=“10” height=“10”><img src=“Im01876. el archivo de salida (los resultados.jpg” width=“10” height=“10”><img src=“Im01826.jpg” width=“10” height=“10”><img src=“Im01826. estos argumentos son intuitivos y habría que elaborarlos a detalle. pero en el archivo HTML se puede cambiar con un Search&Replace global dentro de cualquier procesador de textos. si se desea utilizar el visualizador de fotomorsaicos en una imagen demasiado grande. el usuario puede cambiar fácilmente el tamaño de los mosaicos para hacer más grande o chica la imagen (esto se hace cuando el fotomorsaico se genera.jpg” width=“10” height=“10”><img src=“Im02251. Un fragmento del archivo de resultados como página en HTML puede verse a continuación: <table border=“0” cellspacing=“0” cellpadding=“0”> <tr><td><nobr>img src=“Im01419.jpg” width=“10” height=“10”><img src=“Im01798. Esto se hizo como un esfuerzo para minimizar la información redundante (las trayectorias de los archivos . Cabe señalar que para crear el fotomorsaico.jpg” width=“10” […] height=“10”><img src=“Im01798. No obstante. Por otra parte. Así. Igualmente. y es en lo referente a los tamaños finales de los mapas de bits (bitmaps). a 24 bits de resolución en color simplemente no se puede acomodar en una máquina incluso con 1 gigabyte de RAM. es un archivo de texto que contiene el siguiente formato y que el programa visualizador usa para mostrar la imagen final: Línea Línea Linea Linea Línea Linea Línea 1 2 3 4 5 6 7 en adelante Cantidad de mosaicos en X Cantidad de mosaicos en Y Tamaño de cada subregión en X Tamaño de cada subregión en Y Tamaño de cada mosaico en X Tamaño de cada mosaico en Y Nombre de las imágenes a colocar o el comando <br> que indica que hay que pasarse a la siguiente línea. un segundo enfoque se implantó.jpg” width=“10” height=“10”><img src=“Im02251. De esta manera el fotomorsaico puede ser visto de inmediato y además.jpg” width=“10” height=“10”><img src=“Im04133. el fotomorsaico por sí mismo).jpg” width=“10” height=“10”>nobr></td></tr> </table> Sin embargo. ya sea usando el archivo HTML o procesando la información a través del visualizador exige que las imágenes se encuentren en el mismo directorio que el archivo a procesar.jpg” width=“10” height=“10”><img src=“Im03895. La necesidad de equipo más sofisticado.

Curiosamente las métricas. vistos a la lejanía muestran la imagen de Abraham Lincoln.dentro del disco duro). considérese la figura 4 (ver más arriba). Discusión sobre las métricas y del por qué funcionan o no Las métricas definidas parten de una concepción muy simple pero que de alguna manera son lo suficientemente aceptables para funcionar. basta con hallar. tanto la euclidiana como la de Riemersma permiten esta comparación minimizando la distancia definida entre la subregión analizada de la imagen fuente contra todas y cada una de las imágenes en la colección preprocesada. aunque sea el promedio final de color. Cuánto se acerca el fotomorsaico creado a la imagen real cuando la primera se ve a cierta distancia Cuánto se acerca el fotomorsaico creado contra el equivalente realizado por Silvers. En su mejor posibilidad hallamos que solamente da un contorno de la imagen analizada.1) y la tripleta RGB(255.0. que aunque minúsculas son notables. porque a la distancia el ojo humano no podrá discernir si se trata de un color sólido o una imagen particular cuyo promedio de color se parece o es casi igual a la región observada. no requiere más que el archivo de índice. el cual contiene la información sobre cada imagen de la colección. la distancia lineal. veremos que los rectángulos de colores sólidos. Algo importante de señalar. Si consideramos que una subregión (un rectángulo en el cuadro de Dalí). De ahí que las métricas euclidiana y Riemersmana sean las más favorables pues consideran los pesos específicos de los valores RGB. porque en ambos casos se toman los valores RGB de cada imagen. En el apéndice II puede encontrarse más información sobre el visualizador. Se incluyó en el programa de generación original una serie de rutinas que permiten ver el trabajo que está ejecutando el sistema aunque para ello haya tenido que reducirse la velocidad de procesamiento. en cambio. ¿Por qué? Lo que pasa es lo siguiente: si tomamos los componentes R. dentro de la colección de imágenes.1. Esto es la clave que define la métrica. G y B y usamos la ecuación: L = ( R ⋅ 65536) + (G ⋅ 256) + ( B ⋅ 1) Encontramos que más de una tripleta puede dar valores muy cercanos. (para esto último hay que procesar imágenes que Silvers ya haya procesado). Si observamos con detenimiento esta imagen. Esto hace que esta métrica sea muy deficiente porque no puede reconocer estas diferencias.0) difieren por la unidad pero son dos colores diferentes sin duda. La depuración puede encenderse o apagarse incluso a la mitad de la generación de un fotomorsaico. . Descripción completa de la solución Para poder comparar los resultados obtenidos debemos definir diferentes parámetros visuales. Por ejemplo. Tómese. a saber: 1. los cuales son. El procesamiento de las mismas por el algoritmo que crea el fotomorsaico (con la métrica definida). puede ser tratado como un mosaico de un color sólido. Software de depuración incluido Uno de los primeros problemas enfrentados en la generación de fotomorsaicos fue seguir al software para saber cómo estaba seleccionando los mosaicos de acuerdo a la región analizada. es que las imágenes de la colección se utilizan únicamente cuando se quiere ver el resultado final. uno que se acerque a ese color. la tripleta RGB (255. A pesar de su simpleza funcionan bastante bien. Aquí se plantea con toda claridad la definición de un rostro a través de grandes rectángulos de colores sólidos. Para entender por qué ciertas métricas son adecuadas y otras no. Indudablemente esta ayuda permite analizar por simple inspección visual si el mosaico seleccionado tiene sentido o no. 2. además.

Finalmente la imagen 12D enseña el procesamiento de la imagen usando la métrica Riemersma.Resultados obtenidos Utilizando el primer criterio. es decir. La imagen 12C muestra el procesamiento del fotomorsaico usando la métrica euclidiana. es decir. procesando una imagen conocida para compararla contra los que genera Silvers no es un proceso justo porque Silvers hace “blending”. La imagen 12B muestra el procesamiento del fotomorsaico usando la métrica lineal. En este ejemplo se tomaron subregiones de 10x10 pixeles. en el blending cambia el color original de las imágenes en la colección o les agrega . Así entonces. La figura 12A muestra la fotografía fuente (la imagen a procesar). Cada fotomorsaico resultado se procesó con estos mismos parámetros y solamente cambiando la métrica. fusiona la imagen original contra el fotomosaico en un porcentaje que puede ir de 5% a 50% entre ambas imágenes. es decir. Evidentemente la transformación lineal es muy pobre. Los resultados obtenidos utilizando el segundo criterio. La generación de cada fotoMORSAico llevó alrededor de 2 minutos. cuánto se acerca el fotomorsaico creado a la imagen real cuando la primera se ve a cierta distancia. con 5544 imágenes en la colección y permitiendo la repetición de los mosaicos (véase más adelante la discusión sobre el permitir o no la repetición de mosaicos en la misma imagen). Figura 12 A Figura 12 B (lineal) Figura 12 C (Euclidiana) Figura 12 D (Riemersma) Nótese como las figuras 12C y 12D son las que más se acercan a la original.

Un acercamiento a la boca (labio superior) muestra como Silvers manipula los mosaicos a conveniencia (tales billetes aparecen marcados en el recuadro azul).sombra a la que quiere que corresponda. La foto está armada con imágenes de billetes de diferentes países. Por eso sus resultados se ven tan sorprendentes. Por ejemplo. Nótese en el acercamiento del sombrero cómo el autor mejoró la sombra para que el contorno quedara mejor delimitado. la siguiente imagen muestra uno de los fotomorsaicos de Silvers (figura 13). Figura 13 (detalle del sombrero de la figura 13) Figura 14 Otra imagen que muestra esta técnica de Silvers es la imagen que hizo de Bill Gates para su cumpleaños número 40. Robert Silvers entiende que el fotomorsaico así queda aún mejor a la vista aunque es un procedimiento mañoso y no exento de dificultades técnicas.las gráficas). Esto no es casual. El blending es un algoritmo muy simple de diseñar (el cual puede verse en otro de los capítulos dedicados a . . En cierta medida “hace trampa” para decirlo de alguna manera.

Esta es otra rutina que permite quizás en una versión mejorada de la que hoy se tiene. . en la medida de lo posible. como mantener una base de millones de imágenes es algo irrealizable en las computadoras personales actuales. mi colección de imágenes. Igualmente. Si estamos hablando de que el modelo RGB permite 16 millones de colores. el sistema puede trabajar creando un archivo que indique los mosaicos que se ponen y las diferencias de color halladas entre la región analizada y el mosaico seleccionado. las cuales se deben. una parte medular en el desarrollo de software de esta naturaleza es la colección (o base de datos) de imágenes que se tienen para generar los fotomorsaicos. Una colección debe contener. es adecuada? Para esto se escribió un pequeño programa que lee el archivo de índice y genera una gráfica con las regiones de color definidas a grosso modo. al menos se requerirían 16 millones de imágenes (una por cada color). Sin embargo. la posibilidad de manejar el fotomorsaico generado. tal y como hace Silvers (ver la entrevista a Silvers en los apéndices). hay que conformarse con la colección de fotos que se disponga. en principio la solución completa implica realizar un trabajo de blending sobre las imágenes de los fotomorsaicos tomando como base cada subregión original y aplicando la sombra o el contraste adecuado y combinarlo con el mosaico seleccionado. hay corrientes a favor y en contra. es tan importante el programa generador de mosaicos y las métricas usadas como la cantidad de posibles imágenes y los colores que éstas pueden estar representando. dando solamente un espectro genérico de 16 colores. Como en todo. Estadísticas de la colección de imágenes Para que un fotomorsaico tenga un resultado aceptable se necesita que la colección de imágenes contenga la mayoría de los colores necesarios. Sin embargo. Sin embargo éste es un tema que se sale de la discusión original aunque se volverá a abordar más adelante. para llenar el espectro completo. si es que no se va a hacer uso de blending. de alrededor de 5500 imágenes. Así entonces.Figura 15 Indudablemente el truco es interesante pero le quita cierto “purismo” al fotomorsaico. cubrir en promedio de manera pareja todo el espectro de colores. Este elemental programa estadístico permite ver qué tipo de imágenes necesitamos en lo que se refiere a color. es decir. De esta manera se garantiza que siempre habrá un mosaico que sustituya convenientemente alguna región sin importar el color. Cantidad y calidad de la colección de imágenes Escribir un software para generar fotomorsaicos no necesariamente es una labor difícil. La pregunta es entonces ¿cómo saber si mi base de datos. En resumen.

es importante analizar los posibles resultados con otras imágenes.Montaje óptimo Dada una colección de imágenes y una imagen fuente se tiene la siguiente información: La colección consiste de t imágenes. El tiempo de carga de cada imagen. Los fotoMorsaicos generados bajo la página web es una muestra del resultado que puede obtenerse con el programa original. problema abierto por el momento. quien cual nos proveé gratuitamente del hosting de las páginas web y el servicio de contratación del dominio. Típicamente una imagen que en el programa original de fotoMorsaicos lleva un minuto y medio se reduce a 30 segundos aproximadamente. Debido a las limitaciones de la WWW. resulta poco práctico generar un fotoMorsaico de gran tamaño (típicamente entre 3 y 16 megabytes). No obstante. He aquí una prueba con una imagen de la modelo Sofía Vergara usando también las tres métricas. Es obvio que existe al menos una solución a este problema que es mejor o igual de buena que las demás soluciones. Sin considerar restricciones extras podemos pensar en que el mosaico correcto a seleccionar es aquel que tiene la menor distancia con respecto al área seleccionada en lo que se refiere a colores RGB. debido a que no se requiere de ninguna interacción con el usuario. Consecuentemente. los resultados se generan de manera muy rápida. las imágenes de la biblioteca son las mismas que se usaron para generar los morsaicos ya descritos. en este caso www. la dificultad aquí se reduce a entender cuál es la mejor métrica a considerar. se tomó la decisión de generar fotoMorsaicos con imágenes reducidas. De esta manera. pero que en términos de muestra es suficiente para evaluar la posibilidad de este sistema. Se escribieron entonces los mismos programas de los que ya se ha hecho referencia pero los cuales reciben parámetros de entrada y salida. ver directamente (y en todo caso. que al ser ampliadas pierden resolución.com La interfaz CGI fue creada por Mauricio Fragoso. en particular el ancho de banda. Así entonces. a través de la página. El mejor fotomorsaico será aquel que tenga en suma la mínima distancia con respecto a las subregiones originales. Los resultados con la imagen de Ilse Olivo(imagen 12) muestran las tres métricas usadas. Simplemente el tiempo para bajar dicha imagen resultante puede ser enorme. pero reducidas a 50x50 pixeles. Puede incluso haber más de una solución. las cuales se colocarán en las posiciones m de la imagen fuente. el proceso es automático y además. el cual permite generar vía Internet fotoMorsaicos de prueba de manera que los visitantes puedan “subir” las imágenes y ejecutar el software que entrega como salida una imagen “jpeg” que puede verse directamente e incluso “bajarse” a la máquina del usuario. salvar en su computadora) Para esto se consiguieron los servicios de InterComputers. Casos de prueba El generador de fotomorsaicos se ha aplicado a diversas imágenes prueba. Sin embargo. Para esto.la-morsa. se necesita lo siguiente: • • • • Un ISP (Internet Service Provider) que dé hosting al sistema de fotoMorsaicos Un dominio específico para mantener las páginas WWW que se requieran Una interfaz CGI (Common Gateway Interface) para ligar el software fotoMorsaico con la red Resultados que el usuario pueda. Otro ejemplo de prueba con la imagen de Paulina López Noriega que amablemente se prestó a colaborar en este desarrollo: . para la creación de la imagen final jpeg es de esta manera mucho más rápida. Interfaz con la WWW Una interesante propuesta es generar una interfaz de los fotoMorsaicos para la World Wide Web de Internet (WWW).

pondremos aquí los resultados faltantes como casos prueba: (2) Sofía Vergara Imagen original Métrica lineal Métrica euclidiana Figura 16 Métrica Riemersma Nótese que en todos los casos hay una pérdida de precisión con respecto a la imagen original. no es uno a uno y no hay manera de reconstruir la imagen original a partir de la imagen procesada).En todos los casos se generó un fotomorsaico con mosaicos de regiones de 10x10 pixeles y con una base de imágenes de 5544. Esto por supuesto es natural considerando que en los términos matemáticos más simples. 2. estamos hablando de una función no biyectiva (es decir. . aunque hay de otras escalas. Tamaños de las imágenes procesadas: 1. Todas las imágenes de la colección están en formato JPEG y la mayoría son de 960x1200 pixeles. Ilse Olivo Sofía Vergara 458 x 588 460 x 554 (Figura 12) (Figura 16) Al igual que los resultados de la imagen (1).

Este método consiste en agregar a cada región del fotomorsaico creado parte de los colores originales de la región que estamos procesando.Blending El truco para mejorar las imágenes procesadas como fotomorsaico es el agregar lo que se denomina “blending”. Un ejemplo de ello lo tenemos en la siguiente imagen de Ilse: Figura 17 El efecto final es mucho más preciso. Algo así como superponer la imagen original sobre la imagen procesada. evitando así la necesidad de hacer blending sobre la imagen. la cual consiste en pre-procesar la imagen de manera que se pueda manipular el brillo y contraste de la misma (usando photoshop o retriever. El siguiente ejemplo muestra una foto preprocesada y su respectivo fotomorsaico. pero no deja de perder cierto purismo con respecto a la idea original del fotomorsaico. existe otra alternativa. Figura 19 (Métrica Riemersma sin repetición contínua) . Sin embargo. por ejemplo).

Por otra parte. and Recognition (1997). Conclusiones La generación de fotomorsaicos a color es un ejercicio de programación muy interesante pues se involucran diferentes factores que todo programador debe tener en mente: espacio en disco y velocidad de proceso. a JAVA Photomontage program. que le quita cierto mérito purista. Es claro que el preprocesamiento de las imágenes a usar para mejorar el contraste y brillo de las imágenes es importante y puede dar una mejora significativa a los fotomorsaicos sin necesidad de utilizar técnicas como la de blending.mit.lview. De Bonet y P.com Juggle.S. The etherlands.washington. Quizás este último trabajo sea el que lleve la línea directriz en el algoritmo de búsqueda y selección. S.de/~michael/juggle (5) Colour Metric. Igualmente. Scientific American. 1997-1999.com ). sin importarles mucho el criterio de selección (caso típico en Lview Poster cuyo autor es Leonardo Loureiro (comercializado por MMedia Research Corp. J. Viola. http://linux.cmetric.Puede verse las mejoras en el fotomorsaico resultante. Linux Image Montage Project (LIMP).ai. segmentación. http://www. A on-parametric Multi-Scale Statistical Model for atural Images (1997). o también.stud. De Bonet and P. Ver http://www. Castelle. y discriminación de imágenes (ver ovel Statistical Multiresolution Techniques for Image Synthesis. Discrimination. Triadmer Riemersma. Structure Driven Image Database Retrieval. and Recognition. y Structure Driven Image Database Retrieval. J. http://www. ovember 1973. Viola. Advances in Neural Information Processing 1997.. Michael. Generating Photomosaics: An Empirical Study. S. ITB CompuPhases.edu/~jsd/Research/Publications ). . De Bonet. como por ejemplo un estudio más fino sobre procesamiento digital. Jordan Husney.mit. es claro que la generación de fotomorsaicos debe poderse comparar contra otros programas comerciales e incluso. Referencias/bibliografía (1) (2) (3) (4) Recognition of Faces. October 1999. Leon Harmon. ver las posibilidades de precisamente comercializar esta idea.cs.unihannover. http://www.compuphase. http://www. síntesis de textura.com.remotepoint. el hallar las ecuaciones mínimas para comprender el uso de métricas y la relación de las mismas con el sistema visual humano son de interés teórico y académico de cierta relevancia.htm (6) Fast Multiresolution Image Querying. icolas Tran. Discrimination. Por lo que respecta a las cuestiones de interés meramente académico puede decirse que los algoritmos para este tipo de sistemas son relativamente sencillos pero que si se desea un proceso de selección mucho más preciso se requiere de hacer análisis mucho más detallado. Michael Troebs. A on-parametric Multi-Scale Statistical Model for atural Images (1997). J.ai.edu/~jsd/Research/Publications ). ACM Communications 1998. http://www. de los mismos autores y la misma publicación.edu/research/projects/grail2/www/projects/query (7) ovel Statistical Multiresolution Techniques for Image Synthesis. En particular se observa que la mayoría de los sistemas comerciales para PC son pobres y muchos de ellos simplemente usan blending como parte fundamental de sus algoritmos.

Pensemos. ambigüedades que nos permiten decir. Por ejemplo. lo cual complica la situación. porque se da a malas interpretaciones. e ‘ir’). a todo esto). el hombre ha podido describir y registrar su historia a lo largo de la historia. Conducir un auto. pero de pronto nos encontramos con excepciones a las reglas conocidas o bien. La intención de esto era entonces generar la cantidad de diferentes palabras (las conjugaciones). pero es más difícil decidir la medida de dicha inteligencia. El cerebro genera –a través de ideas– que se representan por sonidos específicos. amén de que gracias al lenguaje. string. por ejemplo. ¿qué es la inteligencia? ¿Cómo medirla realmente? Vaya. para cada verbo e incorporarlas a un diccionario de verbos conjugados. El lenguaje tiene una estructura muy bien definida. en la mente. lista) encuentra_sufijo(string. yo o la mujer en cuestión. pero que su representación matemática es poco menos que exacta. ¿se puede medir eso que es tan elusivo y que en principio nos diferencia de los demás animales? Es claro que hay eventos que revelan la inteligencia de los seres humanos. El programa en prolog salió entonces en una media hora. integer) encuentra_prefijo(integer. string. expresamos lo que pensamos. el lenguaje de los seres humanos describe en cierta medida una capacidad que resulta considerarse inteligente. En ese sentido los lenguajes son un medio fascinante para entender más qué nos hace inteligentes. Y sí. Es más. lo que demuestra que con la herramienta adecuada. que veo a una mujer que tiene un telescopio? La ambigüedad está presente y con esa simple oración no podemos llegar a ninguna conclusión sobre quién tiene el telescopio. ‘er’. en silencio. Por supuesto que tenemos verbos irregulares. El lenguaje habla entonces de lo sofisticado que puede ser el cerebro humano. Dentro de la cabeza de las personas los razonamientos se hacen en palabras. resolver incluso sudokus implica cierto nivel de inteligencia. Por ejemplo: “veo a esa mujer con un telescopio”. pensamos con un lenguaje. el análisis de los lenguajes humanos es tan importante. particularmente el escrito. Por ello. aparentemente.Inteligencia artificial Conjugación de verbos regulares El término “inteligencia artificial” me parece un término muy mal elegido (acuñado por Marvin Misnky. string) toma_elemento(lista. pensé si sería complicado escribir un programa que pudiese conjugar los verbos en español. ¿Qué estoy diciendo? ¿Qué yo veo a una mujer a través de un telescopio o bien. pero con un lenguaje.string) . en las matemáticas o en la física. Hay conceptos que incluso es difícil de expresar con palabras. pensando en estas cosas. todo ello para mi proyecto del corrector ortográfico inteligente. pues ahí está mucho de lo que somos y hacemos. jugar al ajedrez. Así pues. podemos describir lo que consideramos inteligente. Para empezar. Decidí entonces tomar solamente los regulares y hacer un programa en prolog que pueda generar sus posibles conjugaciones. sin lugar a dudas. en una misma frase dos cosas diferentes. Encontré que hay 51 diferentes conjugaciones de los verbos regulares (con terminaciones ‘ar’. que a través de éste compone las más extraordinarias ideas. la programación se vuelve incluso más sencilla”: /* conjugación de los verbos regulares */ domains lista = string * predicates pide_verbo member(symbol.

conjuga(futuro.ar):toma_elemento([aré.Prefijo. conjuga(presente.Prefijo):write(Prefijo._). readchar(_).Prefijo).Palabra.ó. encuentra_sufijo(Verbo. readchar(_).LongVerbo).aban].Prefijo. readln(Verbo).2). NumPref=LongVerbo-2. conjuga(pospreterito. readchar(_). clauses toma_elemento([].abais.ais.asteis. readchar(_). readchar(_).Sufijo2).arán].Sufijo2). encuentra_prefijo(_.Sufijo2). conjuga(futuro.Head).aron].Prefijo.an].as.Prefijo)._. encuentra_prefijo(Numero. !.”“).areis.Prefijo. string. conjuga(presente. pide_verbo:write(“Dame un verbo regular: “).ar):toma_elemento([aba.ar):- .Prefijo).Prefijo).!._):.amos.nl.Prefijo). toma_elemento(Tail. conjuga(copreterito.pide_verbo.Sufijo2).ar):toma_elemento([o. conjuga(copreterito.Prefijo.conjuga(symbol. pide_verbo.Prefijo.amos.Sufijo2).Prefijo.Prefijo.Sufijo2).Palabra.nl.Prefijo). conjuga(gerundio. pide_verbo.Prefijo.Sufijo2). encuentra_prefijo(NumPref. conjuga(preterito.Prefijo.ábamos.arás. str_len(Verbo.aremos.Prefijo.Prefijo. conjuga(otras. conjuga(pospreterito. conjuga(participio.abas. conjuga(preterito.a.Prefijo. readchar(_).Verbo.ar):toma_elemento([é‚astes.ará. string) goal clearwindow. readchar(_).Sufijo2.Sufijo2). clearwindow.Prefijo. readchar(_).Prefijo):frontstr(Numero. toma_elemento([Head|Tail].aba.

i‚ramos. conjuga(preterito.ara.ía.Prefijo).Prefijo).Prefijo). conjuga(copreterito.ían]. conjuga(participio.ir):toma_elemento([í.Prefijo.Prefijo).aseis.emos.Prefijo.emos.e.ase.ierais.Prefijo.éis.Prefijo.iríamos.íamos.Prefijo).iesen].es.aríamos. conjuga(preterito.Prefijo.ir):toma_elemento([iré.toma_elemento([aría.arías.er):toma_elemento([ido].imos.Prefijo).Prefijo.es.er):toma_elemento([a.erías.Prefijo).Prefijo).ases.Prefijo).ías.aras. as.ieses. conjuga(presente.Prefijo.ar):toma_elemento([ado].arais. conjuga(presente.arían].Prefijo.Prefijo).iríais.irán].ieron].ieseis.ir):toma_elemento([o.ir):toma_elemento([ía.iría.ar):toma_elemento([e.ió.irías. conjuga(otras. conjuga(pospreterito.áramos. conjuga(participio.eríamos.ieras.eríais.irá.Prefijo. conjuga(otras.ar):toma_elemento([ando].en].iese.iréis.iste.erían].e.er):toma_elemento([eré.éis.irían].er):toma_elemento([iendo].Prefijo.aran.er‚is.ieran.ieron].aría.a.er):toma_elemento([o.Prefijo).isteis. ase.ís. .íais.as.Prefijo).ir):toma_elemento([iendo]. conjuga(gerundio.amos.Prefijo.iste.Prefijo). conjuga(gerundio. conjuga(copreterito.en.Prefijo).iésemos. conjuga(pospreterito.imos.irás.isteis.ir):toma_elemento([iría.Prefijo.an.asen].Prefijo.Prefijo).erás.íamos.er):toma_elemento([í. conjuga(futuro.ía.erá.er):toma_elemento([ía.ásemos.imos.ías. conjuga(gerundio.Prefijo.eremos.iera.ió.ara.íais.iremos. iese. conjuga(futuro.Prefijo).en].aríais.ían].e.Prefijo.es.ería.Prefijo).Prefijo).Prefijo.er):toma_elemento([ería.iera.erán].Prefijo.

áis.ieses. . member(X. Longitud >= (Cuantos+1). encuentra_sufijo(_._).ieras. Sufijo.ir):toma_elemento([a. Sufijo).as.ir):toma_elemento([ido].Prefijo).i‚semos.member(X.iera.Prefijo).iera. _. /* busca la terminación de una palabra: */ /* encuentra_sufijo(PalabraABuscar.i‚ramos. member(X.an.”“. Palabra. PosInicial = Longitud-Cuantos.ierais. ieran.iesen].amos.Y). CuantasLetrasEnElSufijo) */ encuentra_sufijo(Palabra.iese.Prefijo.iese.[_|Y]):.ieseis.conjuga(participio.a. Cuantos):str_len(Palabra.[X|_]).Longitud). conjuga(otras.Prefijo. frontstr(PosInicial.SufijoAEncontrar.

quizás mi cerebro haga automáticamente una inferencia y me nazca preguntarle a Jorge: “¿no tienes un hermano llamado Luis?”. si me presentan a alguien que se llama Jorge Flores y yo encuentro un parecido con un amigo mío llamado Luis Flores. que en su momento fue la gran promesa del proyecto quinta generación de los japoneses (actualmente cancelado). pero esperemos que esto cambie en el futuro. creadora de Delphi. Sin embargo. El código que soluciona el problema de un cuadrado de 3x3. La herramienta. Hay cuadrados mágicos de orden par y de orden impar. no todo está perdido. prefiere describir el problema a programar el algoritmo (la receta de cocina. se conozcan y se difundan. en Prolog describimos el problema y el lenguaje nos da las soluciones a través de dos mecanismos: la recursión y el backtrack. Si esto ocurre. Así. pues). el regresar sobre nuestros pasos si resulta que la solución hallada no cumple con nuestras expectativas. horizontales y diagonales mayores suman todas las misma cantidad. Ese tipo de inferencias las puede hacer Prolog. a la larga notará estos elementos comunes y en un par de semanas podrá escribir todo género de aplicaciones. el cual pretende incorporar esta estupenda herramienta en el mundo Linux. Y no es que no pueda escribirse un buen editor de textos o una estupenda hoja de cálculo en Prolog. la versión 3 de Kylix es menos poderosa que Delphi 3 para Windows. Seguimos este procedimiento hasta hallar la salida. A manera de ejemplo. Como ejemplo consideremos la creación de un cuadrado mágico de orden 3 (impar). Para eso se necesita entrenar y capacitar a las siguientes generaciones que finalmente. es que –a pesar de sus grandes ventajas para cierto tipo de aplicaciones– es muy ineficiente para una buena cantidad de tareas que hacemos normalmente en la computadora. Los japoneses intentaron crear toda una generación de computadoras basadas en Prolog para que las aplicaciones que corrieran tuviesen mucho más “inteligencia” que las que actualmente conocemos. En términos de programación significa que una rutina se llame a sí misma hasta que cierta condición impida que se cicle eternamente. Curiosamente. ciertos lenguajes de programación han pasado desapercibidos hoy día. Un ejemplo simple de backtrack puede verse en el recorrer un laberinto. Sin embargo. Prolog se basa en inferencias lógicas. El backtrack es. las mejores herramientas de programación tienen sentido sólo si existen programadores que puedan sacar jugo de las mismas. Desafortunadamente. que resuelva la dificultad. . Prolog resuelve todo a través de un motor de inferencias. sino que no es el lenguaje más indicado para ello. La empresa Borland. Tenemos a Prolog. son quienes seguirán escribiendo los programas que en el futuro se necesiten. aquí intentaremos –en lugar de describir este algoritmo– de escribir un programa en Prolog que resuelva el problema y encuentre todas las soluciones (en caso de haberlas).Inteligencia artificial Cuadrados mágicos Existen todo género de herramientas de programación en este mundo del cómputo personal. Y es claro algo: hay que capacitar en la ciencia de la computación y no meramente en la herramienta de programación de moda. Las herramientas visuales son francamente excepcionales y hay que ser objetivos: Linux aún no cuenta con herramientas de un poder parecido. para decirlo en palabras simples. el cual suponía que el software moderno tendría los elementos más importantes de la llamada inteligencia artificial. Un cuadrado mágico es una malla cuadriculada en donde la suma de las líneas verticales. por el momento. también reconocido como algoritmo de Robinson (en honor al autor. Caminamos dentro de éste hasta que topamos con pared. a diferencia de los lenguajes imperativos (Pascal. C++). que publicó por primera vez el mecanismo en 1968). Lo importante es que los principios fundamentales de la programación (comunes a todos los lenguajes). C++Builder y Jbuilder ha sacado Kylix (Delphi para Linux). cuando el programador necesite aplicarse en algún lenguaje particular. inventado en 1972 por Colmeraur. La recursión es simplemente llamarse a sí mismo. aunque le parezca desconocido. Pero claro está. En Windows es donde quizás hemos visto las mejores aplicaciones en este sentido. Crear cuadrados mágicos de orden impar es muy fácil siguiendo un algoritmo muy conocido. De esta manera y abreviando el asunto (quizás demasiado). El problema de Prolog. entonces retrocedemos sobre nuestros pasos hasta encontrar la primera bifurcación posible.

numero(I). numero(2).R) :.D<>F.integer. numero(9).E<>H. numero(6).C<>H.Todo consiste en describir las condiciones iniciales y las de frontera. D<>E.D<>G. numero(7). describe */ las condiciones iniciales y de frontera que */ deben cubrirse en este tipo de cuadrados y */ entonces Prolog descubre todas las soluciones */ */ Programó: La_Morsa */ Octubre 2000 */ predicates numero(integer) /* los números que pueden usarse */ ecuacion(integer. */ */ */ */ Dicho de otra manera. pues */ A<>B. numero(B). numero(E).E<>I. C<>D.A<>E.F<>H.Y. Otro detalle notable es que el programa en Prolog ocupa muy poco espacio. /* la suma siempre debe dar R */ cuadrado_magico :numero(A).B<>F. el programa no usa el */ algoritmo conocido para hallar los cuadrados */ mágicos de orden impar.C<>G. /* escribe en pantalla la combinación de números a probar */ /* meta a resolver */ .Z. ecuacion(X. Luego entonces.R = X + Y + Z. E<>F. numero(D).0 de Borland: /* /* /* /* /* /* /* /* /* /* /* /* /* Este programa hace un cuadrado mágico de 3x3 Utilizando como característica principal el backtrack que viene integrado en Prolog. Intente hacer esto en otro lenguaje y notará cómo crece su código.A<>F.A<>D.D<>I. /* vienen las condiciones para los números: */ /* no debe haber números repetidos.B<>H. F<>G. He aquí la versión en Turbo Prolog 2. numero(G).D<>H.E<>G.B<>D.F<>I.B<>G. numero(5). En su lugar.B<>I. numero(C)..G<>I. H<>I.C<>E. numero(H).A<>H. numero(8).A<>C.B<>E.C<>F. numero(3).A<>G. le decimos a Prolog que nos dé las soluciones a través de probar todas las posibilidades exhaustivamente..A<>I. */ /* condiciones de frontera. numero(4).C<>I.integer) /* descripción de cada suma */ cuadrado_magico clauses /* condiciones iniciales */ numero(1). G<>H. numero(F). B<>C.integer.

” “.” “. ecuacion(G. /* presiona una tecla para continuar */ fail. Es increíble que tan pocas líneas de código generen tanto procesamiento.I.I. ecuacion(A.E.nl.” “. write(G.R)..C. write(D.F.E. ecuacion(G.E.” “. corra el ejecutable.”). /*meta a resolver */ Si le incomoda o francamente le da flojera entender cómo es que el programa funciona. ecuacion(B.” “. /* dame todas las soluciones */ goal cuadrado_magico.R). ecuacion(A. readchar(_).” “.E. Si está en Windows 9x en adelante encontrará que todo acontece en una ventana de DOS.R).nl.R).” “.nl. ecuacion(C.R).D.F).” “.R).B. ecuacion(D. nl.” “.G.I).write(“Solución”). no se preocupe.F.E.H.R).” “.F.G.H.nl.B.R).B.I).C. .H.E. /* condiciones necesarias para que sea cuadrado mágico */ ecuacion(A. write(A.write(A.H.” “.nl. write(“Presiona cualquier tecla para continuar.C..C).” “.” “.” “.D.I.

utilizamos comúnmente algún tipo de procesador de palabras. solamente podían explicarse por la xenofobia del creador de dicho archivo de definiciones. Ilustremos el caso: uno escribe la palabra “etsa”. de Microsoft. pues nadie más ha encontrado este tipo de errores después de que fueron señalados. que aludían a los de ciertos pueblos latinoamericanos. Como sea. el hecho de traer “preinstalado” en las computadoras en venta esas suites. sin duda fundamental en el cómputo personal. corrija los errores que los usuarios cometemos al escribir algún texto. por poner el programa más popular en el mercado. hace que muchos usuarios se conviertan en una especie de clientes cautivos. haría una revisión exhaustiva de estos problemas para que no volvieran a ocurrir. Microsoft contestó a las críticas indicando que un nuevo equipo de lingüistas y gente profesional de la palabra. hay que reconocer que amén de la publicidad que la empresa de las ventanas pueda hacer. Hasta donde sé. se ha desarrollado de manera impresionante. o bien. es claro que sus productos realizan con bastante versatilidad las tareas encomendadas. tiene sus propias dificultades. hace unos años se descubrió una cantidad de pifias bastante graves en el tesaurus de MsWord. Por ejemplo. Imagen 1 La pantalla principal del verificador fonético Sin embargo. Es decir. a tal grado que algunas empresas venden sistemas completos que contienen todo lo que el usuario puede necesitar: hoja de cálculo. lo importante de un procesador de palabras no es nada más que permita la escritura de documentos. programa para presentación de conferencias. MsWord. a veces los correctores integrados al procesador de palabras no funcionan correctamente. es evidente que la calidad de sus productos lo hacen ciertamente uno de los favoritos. que sin duda es líder del mercado en este nicho particular de aplicaciones y además de las razones ya expuestas. A esto se le ha denominado una “suite” de aplicaciones y las prestaciones de cada una de ellas ha logrado su propio nicho de clientes. ¿Cómo lidiar con este tipo de errores? ¿qué tipo de software podría atrapar estos . Definiciones como la de “flojo”. procesador de textos. sino que además. ni se da cuenta del error de dedo. es claro que la campaña mediática de algunas compañías de software. etc. bases de datos. las correcciones se habrán hecho. si mal no recuerdo. Ése es quizás el caso de la Suite Office. y el sistema no lo cambia por “esta”.Inteligencia artíficial Corrector fonético Todos los que usamos la computadora para escribir textos. Este mercado. por decir algo. Sin embargo.

Desde luego que el mérito principal de este esfuerzo de software es de Enricco Wizard. hace unos años. pero muy rápido. note que el sistema corre rápido y que además. Hoy. que murió hace un par de años. Tomé el código fuente que Enricco escribió. sin duda. pero que ha dejado en el tintero algunas ideas que han sobrepasado. que ya no está entre nosotros. se escribió una primera versión de lo que Wizard llamó el “turbo verificador” (pues estaba escrito en Turbo Pascal 5. casi 20 años después. un buen colega y mejor amigo. discutía conmigo acerca de esta dificultad. El programa trabajaba realmente bien y era muy.5). Así. Enricco Wizard. . en 1988. la prueba del tiempo. lo modifiqué de acuerdo a la herramienta que uso actualmente (Delphi) y de nuevo. Enricco dio con una solución simpática: se le ocurrió hallar todas las parejas de letras posibles en las palabras en español y entonces comparar contra esa lista de dos letras contra cada palabra y así ver si había errores de dedo. decidí pasar este esfuerzo a Windows. simples “errores de dedo”? Pues bien. para ser precisos. hace la tarea fenomenalmente bien. Después de un par de horas de someter al ring de las ideas los diferentes aspectos del problema.problemillas.

Esto quiere decir que el usuario puede pedir que se haga la corrección de documentos SI necesidad de salir de Word para poder usar Lapsus. Debido a esto. Este tipo de programas y sistemas aún están lejos de ser una realidad casera. no puede comprender el significado de las frases de un texto. para el idioma castellano existen muy pocos. debe tomarse en cuenta que Lapsus no entiende el español. la corrección de los textos se realiza de manera manual. La intención de Lapsus es permitir al usuario del sistema verificar sus textos automáticamente con la computadora. cuando el usuario así lo requiera. mediante la inspección visual del texto y en algunos casos. esto es. sin embargo. Esto. en algunos casos. Este último archivo puede ir creciendo cada vez que se verifica un texto o bien. memoranda y en general. Evidentemente este proceso no es tan sencillo como parece. El idioma español contiene más de 400. con ayuda de diccionarios. Lapsus permite hacer este proceso mucho más eficiente y rápido para los seres humanos. además de que su costo es alto. Sin embargo. sumamente complejo. El problema de revisar y corregir textos mediante programas de computadora es un problema ya añejo. Lapsus funciona concurrentemente con Word para Windows. La verificación de la ortografía de un texto es en algunos casos una labor pesada y tediosa. se han desarrollado múltiples editores y procesadores de palabras. En la actualidad existen muchos correctores de ortografía para el habla inglesa. Sin embargo. Imagen 1 El menú principal de Lapsus Lapsus puede crear varios archivos de acuerdo a los intereses del usuario: (1) Archivo de Diagnóstico. material escrito.000 vocablos distintos (sin tomar en cuenta las conjugaciones de los verbos). Lapsus –en suma– es un corrector de ortografía que consta de reglas gramaticales y uso de diccionarios específicos. ya que dicho archivo no contiene ningún formato especial. además de tener la alternativa de usar diccionarios específicos. cartas. En términos generales. Simplemente es un corrector de ortografía. Lapsus es un sistema para verificar la ortografía de un texto escrito en español. Trabaja –a diferencia de los correctores tradicionales que funcionan mediante gigantescos diccionarios– bajo las reglas de la ortografía castellana.Inteligencia artificial Lapsus: un corrector ortográfico inteligente Una de las principales tareas que las computadoras personales realizan a diario es la edición e impresión de textos. dicho en . todo el material escrito que se alimenta a una computadora debe ser en muchos casos revisado y corregido antes de ser impreso. es posible que todo aquel que usa un procesador de palabras pueda sacar provecho de la existencia de Lapsus. creado por el usuario. (2) Archivo de palabras no encontradas al revisar el texto en cuestión y (3) un diccionario auxiliar. Por otra parte. Debido a esto. no de estilo. lo cual hace que este procedimiento sea. pues muchas palabras son excepciones a las reglas gramaticales conocidas. señalar los posibles errores que surjan en el momento de la verificación de estos y tomar las acciones correctivas que sean pertinentes. es posible que en un texto se encuentren palabras que no estén incluidas en el diccionario del usuario o se encuentren bajo las normas de las reglas gramaticales.

otepad o incluso el editor auxiliar de Lapsus pueden servir para tal fin. agregar una línea más al archivo ya mencionado. puede ser que en un principio. WordStar en su modo nondocument. De esta manera. requieren de estar en un formato específico para poder ser leídas por el sistema.DB le parezca al usuario final difícil de entender. El español. las cuales pueden aplicar a: • • • prefijo (p) de la palabra analizada (parte inicial de la palabra en cuestión) sufijo (s) de la palabra analizada (parte final de la palabra en cuestión) subcadena (sb) de la palabra analizada (en cualquier subparte de la palabra en cuestión) Las letras “p”. Imagen 2 El menú para crear/modificar/eliminar reglas ortográficas Cada una de las reglas ocupa un renglón en el archivo Reglas.Db. “s”. sufijo y subcadena. Las reglas ortográficas. El programa permite verificar un documento en Word de diversas maneras.otras palabras. un “plug-in” (un añadido) para Word. Este archivo se denomina Reglas. Así entonces. haga las correcciones y entonces las comunique al documento en Word. el cual es consultado cada vez que el sistema se ejecuta. que utilizan reglas ortográficas para su funcionamiento. Así entonces. A continuación se describe el formato completo de las reglas. Lapsus puede considerarse. Las reglas pueden ser editadas con cualquier procesador de palabras (o editor de textos) que utilice el formato ASCII sin caracteres de control o símbolos especiales. expresiones y reglas que se usaban en el pasado son obsoletas ahora y en vista de esta situación. se decidió mantener las reglas ortográficas en un archivo especial. y estas letras serán usadas para informarle a Lapsus en qué parte de la palabra se aplica la regla ortográfica. indicando la sintaxis que las reglas necesitan y que -en rigor. . Uso de reglas ortográficas A diferencia de otros correctores del español. y “sb” corresponden respectivamente a prefijo. para que éste último. a su vez.deben ser escritas correctamente para que Lapsus pueda trabajar con las mismas: Las reglas ortográficas tienen tres posibles alternativas. escribir una regla nueva significa finalmente. No obstante la aparente complejidad del mismo. en cierta medida. significa que Word y Lapsus funcionan comunicándose el primero con el segundo.DB. Por ejemplo. para que puedan ser entendidas por Lapsus. habilitando o deshabilitando opciones para la corrección. PC-Write. sus elementos esenciales son muy fáciles de comprender y usar. y contiene alrededor de 260 reglas ortográficas de uso común en el castellano. como todo lenguaje humano es cambiante. el archivo Reglas. Palabras.

La regla entonces sigue el siguiente formato: Pasemos al análisis de esta estructura. En primer término aparece la palabra seguido de paréntesis que abre. Esto debe aparecer en minúscula estrictamente. Acto seguido, pueden verse cuatro parámetros, a saber: • letra Indica la letra a la cual se aplica la regla. Por ejemplo, si la regla ortográfica es sobre el uso de la v, éste es el parámetro que se utiliza. (Véanse los ejemplos más adelante). palabra Indica la palabra que no cumple precisamente con la regla que está siendo definida, es decir, muestra el ejemplo de la contraposición a la regla ortográfica misma. clave es exactamente lo que indica el alcance de aplicación de la regla (prefijo, sufijo o subcadena). Utilícese solamente las siguientes palabras claves (entre doble comillas: p, s, sb). lista Se refiere a la lista de palabras que son la excepción a la regla en cuestión. Tales palabras deben aparecer separadas por espacios entre sí.

Algunos ejemplos pueden ser realmente ilustrativos. Considérese la siguiente regla: Las palabras que empiezan con env se escriben siempre con v. La regla en el archivo Reglas.DB se escribirá entonces así: v enb p Lapsus reconoce la regla de la siguiente manera: Las excepciones a las palabras que empiezan con env nada más pueden ser aquellas que comienzan con enb, que en este caso no hay tales excepciones a la regla y el rango de aplicación de la misma es con todos los prefijos de las palabras. La regla descrita se refiere a palabras en donde el rango de aplicación corresponde al prefijo de las misma. Ahora considérese la siguiente regla: Todas las palabras que terminan con ave se escriben con v. Esta regla puede expresarse en el lenguaje descrito de la siguiente forma: v abe s árabe jarabe La cual puede ser descrita de la siguiente manera: Las excepciones a las palabras que terminan en ave nada más pueden ser aquellas que terminan con abe, las cuales son, árabe y jarabe (y nada más), y el rango de aplicación de la regla son los sufijos de las palabras. Por último, un ejemplo de una regla que se refiera a subcadenas puede ser la siguiente: Las palabras que tienen dentro de ellas (en cualquier parte de la misma) las letras ilv se escriben siempre con v. La cual se traduce en el archivo de reglas de la siguiente forma: v ilb sb bilbao Y se interpreta de la siguiente manera: Las excepciones a las palabras que tienen como subpalabra ilv se escriben siempre con v, excepto la palabra bilbao.

Sobre Lapsus Lapsus es el primer programa de corrección del lenguaje castellano que utiliza técnicas de la Inteligencia Artificial (IA) para la verificación ortográfica. La primera versión (circa 1992) fue escrita totalmente en prolog (turbo prolog versión 2.0) y además de utilizar un diccionario con más de 60,000 términos (en donde están consideradas las palabras más usadas del español), se incluía un análisis de verificación por reglas ortográficas. La versión actual funciona a través de la comunicación entre procesos llamada OLE (Object Linking and Embedded) y fue escrita usando Delphi 5.0 de Borland. Para que Lapsus llegue a sus manos, han pasado más de diez años de investigación en temas como análisis automático de textos, verificación y corrección a través de computadoras, discusiones interminables sobre cómo debe hacerse un programa de esta naturaleza, además de una maestría en bases de datos inteligentes, en la Universidad de Essex, Inglaterra, en el año de 1988.

Inteligencia artificial Creador de crucigramas

Una amiga –que editaba una revista de negocios– me pidió que hiciese una sección de crucigramas, siempre y cuando ésta presentara nombres y términos dedicados a las finanzas y al mundo de los negocios. Yo le dije que lo haría sin dudarlo, pues a priori pensaba que ya en Internet más de una persona habría encarado la creación de crucigramas a través de la computadora. Para mi sorpresa, encontré que el problema realmente no había sido analizado cuidadosamente. Por un momento pensé que debería haber ya muchos programas que me permitieran crear la malla cuadriculada en donde se pondrán las palabras, así como poner las casillas vetadas (las marcas negras), que separan las palabras. Una vez hecho esto, imaginaba que le podía dar una lista de palabras y el sistema intentaría acomodarlas al mejor estilo de un crucigrama. Pues bien, nada de eso existe estrictamente. ¿Por qué? Había que investigar el fenómeno. La razón de esto es que la creación de crucigramas necesita de diversos pasos, unos que son labores triviales de la programación, pero que en última instancia los pasos finales son prácticamente difíciles de cumplir adecuadamente. Crear un programa que dibuje la cuadrícula y me permita poner los cuadros negros es algo sencillo, pero la generación del crucigrama representa la gran dificultad. Imaginemos que tenemos las palabras que queremos poner en el crucigrama. Es más supongamos que tenemos palabras de más, para que si una no se puede poner en donde debe ponerse, podamos poner otra de la misma cantidad de letras, por ejemplo. Imaginemos el siguiente crucigrama elemental. Nótese que no es ni siquiera una cuadrícula con cierta simetría. Nada de eso, pero para efectos ilustrativos es muy interesante. Tenemos cuatro palabras que debemos acomodar en ese crucigrama. La palabra 1 es de 5 letras, la 2 es de 6 letras, la tercera es de 5 letras y la cuarta es de 7 letras. Ahora supongamos que tenemos las siguientes palabras, las cuales podemos usar para crear el crucigrama: 2 +---+ | | +---+---+---+---+---+ 1 | | | | | | 3 +---+---+---+---+---+---+ | | | | +---+ +---+ | | | | +---+---+---+---+---+---+---+ 4 | | | | | | | | +---+---+---+---+---+---+---+ | | | | +---+ +---+ | | +---+ Las palabras que puedo poner son estas: market, trees, monkey, simple, wise, vague, sea, yacht, ocean, foggy, artista, realice, brave y quite. Estas pocas palabras son suficientes para trabajar en el programa demostrativo. ¿Cómo resolveremos el problema? Necesitamos poner lo siguiente: Una palabra de cinco letras con otra de seis letras, en donde se intersecten en la tercera letra de la primera palabra con la segunda letra de la segunda palabra; además, requerimos una tercera palabra de siete letra y una cuarta de cinco letras, en donde la intersección de la segunda con la tercera palabra sea en la posición cinco de la segunda palabra

prolog hace un verdadero esfuerzo de procesamiento. Una vez hecho esto. es decir hace backtrack). no podemos saber si hay una solución o no al crucigrama que acabamos de dibujar para que el sistema nos ponga las palabras adecuadas. busca una nueva palabra de seis letras… Y si ninguna de las palabras que tiene de seis letras funciona. apelamos al backtrack. Imaginemos entonces que no tenemos una decena de palabras. Ahora intenta ver si la intersección de M1 con M2 en la posición 3 de M1 con la posición 2 de M2 coinciden en la letra que va ahí. Si definimos todas las restricciones. ésta es la solución que entrega el sistema: 2 +---+ | M | +---+---+---+---+---+ 1 | B | R | A | V | E | 3 +---+---+---+---+---+---+ | R | | Q | +---+ +---+ | K | | U | +---+---+---+---+---+---+---+ 4 | R | E | A | L | I | Z | E | +---+---+---+---+---+---+---+ | T | | T | +---+ +---+ | E | +---+ . el sistema regresa (hacia atrás. El tema da para más. ¿Podrá escribirse un programa que genere un crucigrama dadas ciertas palabras? ¿qué otras restricciones habría que poner para que por lo menos. que incluso para resolver este simplísimo crucigrama. ¿Cómo es que prolog resuelve el problema? Para resolverlo con prolog. El sistema es no decidible. un programa de esta naturaleza ayudase a los creadores humanos en esta labor? Quizás éste es uno de esos programas que parecen simples pero que en el fondo contienen un sinfín de problemas no del todo resolubles incluso a través del cómputo. extrapolemos esto a un crucigrama de 10x10 casilleros. si eso pasa. Esto significa que hablamos de restricciones entre las propias palabras y posiciones específicas en donde deben coincidir las letras de ambas palabras en conflicto. sorprendentemente para algunos. entonces busca la siguiente meta a resolver. el sistema no dice: no se puede resolver el crucigrama. es decir. y busca una nueva palabra de seis letras e intenta de nuevo satisfacer la intersección de M1 con M2. el cual significa regresar sobre sus propios pasos cuando el sistema se encuentra en un callejón sin salida. lleva cientos de miles de iteracciones a través del backtrack. Si falla. busca una palabra con 6 letras (M2). para ver si existe semejante crucigrama o no. Ahora bien. sino que hace backtrack de nuevo y entonces busca una nueva palabra de cinco letras y re-empieza todo el proceso descrito antes con la de seis letras. La única manera de saberlo es intentar generar todos los posibles crucigramas con esas palabras (y con las restricciones definidas). El sistema funciona así: primero resuelve en la meta la primera instrucción: hallar una palabra de 5 letras (M1). finalmente necesitamos que la intersección entre la tercera y la cuarta palabra se dé en la posición 5 de la tercera palabra con la posición 3 de la cuarta palabra. Por cierto. en donde la cuadrícula tiene un dibujo incluso simétrico (esto es clásico de los crucigramas profesionales). Dicho en otras palabras. ¿cuánto tiempo le llevará al sistema hallar una solución si es que la hay? No lo sabemos.con la tercera posición de la tercera palabra. pero si esto falla. sino unas miles.

'r'.'t']). word(['y'.integer.char) crisscross(wordlist.'z'.'t']).wordlist. word(['b'.'v'. word(['r'.N1.'e']).'r'.[M1|M2]) :num_lets(T1. /* predicate intersect(C1. /* predicate long(T.M) is true if M has lenght T */ long(T.'a']).integer) extract(wordlist.'i'. word(['f'.N2) extracts */ .'e'.'t'.'a'.'c'. /* predicate num_lets(T. de Patrick */ /* Saint-Dizier.'e']).'e'.'t']).'e'.'k'. T = T1 + 1.M2)./*************************************/ /* Crucigramas */ /* Por: La_Morsa */ /* Versión: 1.0 beta */ /* Fecha: Nov 4.wordlist) clauses word(['m'.'n'. /* el total de letras que tiene la palabra [] es 0 */ num_lets(T.'l'.'a'.'a'.'g'.'r'.'u'.'y']). num_lets(T.'e'.'o'.M) :word(M). word(['v'. word(['m'.'a'.'e']).M).'p'.[]).'u'.'s'.wordlist) intersect(wordlist.'e']).'a'.'e']).C2. word(['a'. word(['q'.'l'.'i'. word(['o'.wordlist) long(integer.'e'. ed Springer-Verlag */ /* */ /*************************************/ domains wordlist = char* predicates word(wordlist) num_lets(integer.'k'.'o'. word(['t'.wordlist.'g'.'h'.'e'. 1995 */ /* */ /* */ /* programa basado en el que aparece */ /* en el libro: An Introduction to */ /* programming in Prolog.'r'.'n']).'m'.'c'.'i'.'s']).'i'. word(['w'.'t'.'a'.integer.'s'.'y']).'i'.X1) is true if T */ /* is the number of letters in the word X1 */ num_lets(0.'e'. word(['s'.'g'. word(['s'.'e']).wordlist.

extract(C2. goal crisscross(M1. This is expressed through the ocurrence of the same variable R in both calls to extract. write(M3).M4).3).M4.. intersect(M2. 5.nl.R) :M=N-1. intersect(M1.5.M3.M2.N1.M2. long(5..M1).M2). and 5. long(6.5.N2) :- /* predicate extract(C./* /* /* /* /* /* the letters in position N1 from the list C1 and the one in position N2 from the list C2.3..M3. /* /* /* /* /* /* predicate crisscross is the main call.N1.. crisscross(M1.nl.M2.R) is true if R is the */ /* Nth letter in the list C of letter. write(M4). extract([C1|C2]. */ */ */ */ */ */ intersect(C1.N.M4) :- .N2.M4). extract(C1.nl.M3).R). */ extract([C1|C2].M3.R). 6. long(7. write(M1).N.M. The lenght of the words here */ is. It places */ constrains on the words through predicate */ intersect.C2. intersect(M3. extract(C2.R). */ long(5.nl.2). It */ selects words of the appropiate lenght for */ a given grid. respectively. write(M2). It then ask whether the two extracted letters are the same.1. 7.C1).2).

Cada vez que se quiere preguntar al sistema algo. que posteriormente llamaron lisa. entonces podré suponer que es una respuesta genérica.Calderón” (empiece con un punto). y sigue siendo uno de los mejores métodos para los defensores de la Inteligencia Artificial. La prueba consiste en un desafío. Por supuesto que todo es un truco. devil 666. favor de responder a la siguiente pregunta:” (al escribir los dos puntos. como el que ejecutan los profesionales de la ilusión y que nos sorprenden. el cual supuestamente es un sistema que. un acto de magia. y una máquina y un ser humano en otras. Fue expuesto en 1950 en un artículo (Computing machinery and intelligence) para la revista Mind. que simplemente reconocer las preguntas en lenguaje natural sería ya un mérito más que suficiente. denominado Liza. la pregunta. Si las respuestas de un programa de computadora es indiscernible de las respuestas que daría un ser humano. Considere a su posible víctima y dígale que tiene un programa fascinante e increíblemente inteligente. Pero no hay que cerrarse ante la posibilidad de imaginar un programa de estas características. porque no encontraré en primera instancia forma alguna para explicar dicha respuesta. podrían haber programado esta respuesta. escribió un programa que hace precisamente esto. Esto se hace escribiendo: “Liza. Note que cada vez que presiona alguna letra de lo que está realmente escribiendo. Imagine pues un programa verdaderamente inteligente. El juez debe descubrir cuál es el ser humano y cuál es la máquina. seguramente me quedaré sorprendido. estándoles a los dos permitidos mentir al contestar por escrito las preguntas que el juez les hiciera. responde cualquier pregunta. El límite temporal que Turing puso para que una máquina consiga superar el test engañando durante bastante tiempo a un buen interrogador. desde luego. ¿Será posible engañar a la prueba de Turing? Enricco Wizard. Pero sigamos. el sistema dirá algo así: “De acuerdo con mis estimaciones. quien es la encargada de responder a las preguntas. y no dejándole aclarar si se está dirigiendo a un ser humano o a una máquina. porque para esto necesitaría de una amplia concepción del mundo (y sería algo inteligente ¿no?). Vaya. Supongamos que dicha pregunta es: “¿Quién es el Presidente de México?”. fallecido hace unos pocos años. efectivamente. Wizard –a partir de esto– elaboró su programa y el autor del mismo se demostró como un verdadero observador de la conducta humana. Entonces escriba usted: “. tal y como hemos explicado antes. Ahora. ouija electrónica. los Pumas ganarán de nuevo”. Después de una breve pausa. por ejemplo: “¿Ganarán los Pumas en esta ocasión?” (Termine con signo de interrogación). Alguno de mis cinco lectores me dirá que ningún programa realmente puede responder cualquier pregunta. Insista que el sistema puede responder prácticamente cualquier pregunta que se le haga. el sistema pasa a la siguiente línea en la pantalla). por supuesto. en el lenguaje que naturalmente hablamos los seres humanos en nuestro país. no aparece en . el juez no podría distinguir quién era el ser humano y quién la máquina. se llama Prueba o Test de Turing al procedimiento desarrollado por Alan Turing para corroborar la existencia de inteligencia en una máquina. Ejecute el programa IQ y dígale a su interlocutor que piense en alguna pregunta. a lo mejor puedo suponer que a sabiendas que el programa iba a interactuar conmigo. hay que darle a Liza. Existen. Se fundamenta en la hipótesis positivista de que. uno que pueda responder a cualquier pregunta en español. entonces debe ser inteligente. Tomemos un lápiz y preguntémosle a nuestro hipotético programa: “¿Qué tengo en la mano?” Si la respuesta es: “un lápiz”. La tesis de Turing es que si ambos jugadores eran suficientemente hábiles. ¿Cómo trabaja? Muy fácil. Enricco creó el programa IQ. El sistema trabaja considerando que hay un personaje. de buenas maneras. entonces estamos ante –al menos– un ente inteligente. Todavía ninguna máquina puede pasar este examen en una experiencia con método científico. Ahora hacemos la pregunta que nos interese del tema que queramos.Inteligencia Artificial Engañando a la prueba de Turing De acuerdo a la Wikipedia. entre otros nombres. hagamos una pregunta cualquiera: ¿Quién es divina? por ejemplo. si una máquina se comporta en todos los aspectos como inteligente. Simplemente imagine que existe. Si la respuesta es: “Ilse”. Qué tal preguntarle: “¿Cuánto vale mi computadora?” Si el sistema me responde con: “Muchos pesos”. extraordinario programador. Se supone un juez situado en una habitación. liza. pues desafían todas las leyes conocidas. muchas versiones de esta prueba pero el afán es siempre el mismo.

haga que el programa responda de pronto de manera errónea o muy vagamente (si contesta siempre con certeza absoluta es más difícil que le crean). sino que siempre pone la frase: “Liza. Sólo me resta una advertencia. Cabe señalar que después de la creación de este programa. el programa no hace “eco” en pantalla de lo que teclea uno. incluso a aquellos que son unos verdaderos expertos en las artes de la programación (me consta). no se trata de hacer una sesión de dos horas porque entonces sí. Es decir. favor de. Puede con esto impresionar a más de uno. fue engañando por un adolescente que había modificado la versión original de Lisa y le había puesto frases satánicas para así crear un efecto más dramático. Después de algunos segundos Liza responderá: “Sin considerar más datos. Ahora bien. Limítese a hacer no más de diez preguntas y nunca deje el programa en la máquina en donde está haciendo la demostración. diga . y ahora. Es algo endémico.”). nadie observa qué teclas en particular estamos oprimiendo realmente. Cuando le pidan una copia del sistema. escriba la pregunta correspondiente. Imagen 1 Liza para Windows Tan fue un revuelo el programa de Enricco.. preguntémonos por qué el truco funciona. Al televisivo investigador le pasa eso contínuamente y por eso prácticamente todas sus “investigaciones” son finalmente sesgadas por sus propias creencias. Jaime Maussán.pantalla lo que uno debería ver. por ejemplo)– Enricco se dio a la tarea de hacer una versión para Windows y encriptó todos los mensajes para que fuese difícil cambiarlos. se trata de: Calderón”.” etc. complete la oración que hay que poner cada vez que se le hace una pregunta a Liza (termine con dos puntos (“:”)). tarde o temprano hallarán el truco usado. Para añadir un efecto más dramático. Obviamente el sistema está capturando la respuesta que el programa dará al usuario. Maussán se la creyó originalmente. es claro que la posible víctima está atenta a lo que aparece en pantalla y eso distrae la posibilidad de atender a lo que se escribe en el teclado.. sino parte del mensaje: “Liza. el cual es el terminador de la misma y entonces. Finalmente. que hace aún más difícil detectar el engaño (¿alguien ha tratado de ver la clave de un usuario mirando el teclado cuando éste escribe su contraseña?). hasta que alguien le explicó el truco de cómo funcionaba. que el dizque investigador de ovnis y fenómenos paranormales. Otra cuestión es la velocidad del tecleo. De esta manera pretendía mantener sin alteraciones el software original. Cuando termine de escribir la respuesta elegida. y a sabiendas que más de una persona lo modificó –editándolo con algún programa que manejaba el código como texto (un editor hexadecimal.. escriba punto de nuevo (“. Eso revela un dato por demás ya conocido: quien quiere creer en algo seguramente lo creerá sin considerar ninguna prueba en contra de lo que cree.” etc. tanto a favor o en contra de cualquier hipótesis que se planteé la gente. ahora sí.. en la siguiente línea. La verdad es que cuando tecleamos. favor de responder. Demuestre el programa por un corto tiempo.

. y esto es lo más importante.. que la BSA lo va a perseguir o alguna excusa de esa naturaleza. algo más.. Ah.que no se lo puede pasar a nadie por las cuestiones del pirateo de software. Haga como los verdaderos magos: nunca revele el truco usado.

publicándolo en el periódico Monthly Nikolist en abril de 1984 bajo el título “Sūji wa dokushin ni kagiru”. Poco a poco descubrí que los Sudokus pueden ser. la empresa Dell Magazines publicó este juego. ideado por Howard Garns. lo cual en ocasiones no resulta cierto. las regiones no tienen por qué ser cuadradas. Le dije que ya había visto ese tipo de “acertijos” pero que no entendía realmente por qué se estaban poniendo tan de moda. Fue claro que se trataba de un juego de lógica. porque es más fácil recordarlos. Entonces. Analizando con cuidado empecé a entender que el pasatiempo involucraba mucha lógica más que habilidad matemática. ella tomó el libro. Es muy probable que el Sudoku se crease a partir de los trabajos de Leonhard Euler. porque la primera fila y la primera columna son a. que se puede traducir como “los números deben estar solos”. En este pasatiempo no se debe repetir ninguna cifra en una misma fila. es posible hacer un cuadrado latino permutando (reordenando) las filas y las columnas. El objetivo de este juego es rellenar una cuadrícula de 9×9 celdas (81 casillas) dividida en subcuadrículas de 3×3 (también llamadas “cajas” o “regiones”) con las cifras del 1 al 9 partiendo de algunos números ya dispuestos en algunas de las celdas. Por ejemplo: |abc| |bca| |cab| Un cuadrado latino se dice que está reducido (o normalizado o de forma estandarizada) si la primera fila y la primera columna están en orden natural. lo abrió en alguna de las páginas y me enseñó cómo se resolvían dichos problemas. sin duda. Así. Además. en donde hay que asumir que en algunas casillas hay ciertos números. pero se utilizan números por comodidad. Posteriormente. Evidentemente. sino que se pueden usar letras. el primer cuadrado está reducido. presidente de Nikoli. para tener que empezar de nuevo. el cual es una matriz de n×n elementos. y entonces hay que asumir otros. La cuadrícula más común es de 9x9 con regiones de 3×3. Realmente no es estrictamente necesario utilizar números. . Historia Este rompecabezas numérico pudo haberse originado en Nueva York en 1979. en la que cada casilla está ocupada por uno de los n símbolos de tal modo que cada uno de ellos aparece exactamente una vez en cada columna y en cada fila. sino que utilizó el sistema llamado del cuadrado latino para realizar sus trabajos en la teoría del cálculo de probabilidades. Cabe señalar que el nombre de Cuadrados Latinos se debe a que fue el propio Euler quién utilizó caracteres latinos como símbolos Una solución de un Sudoku correcta genera un cuadrado latino. y que parecía correcto.Inteligencia Artificial Creación de sudokus Hace tiempo una amiga me mostró un libro con cientos de problemas de Sudokus. Un Sudoku está bien planteado si la solución es única. famoso matemático suizo del siglo XVIII. muy adictivos. Por ejemplo. pero también se utilizan otros tamaños. b. bajo el nombre de Number Place (el lugar de los números). columna o subcuadrícula. Lo que importa es que sean nueve elementos diferenciados. Dicho matemático no creó el juego en sí. quien le puso el nombre. Fue Kaji Maki. formas o colores sin alterar las reglas. Posteriormente. el nombre se abrevió a Sūdoku (sū = número. doku = solo). aunque generalmente lo son. la editorial Nikoli lo exportó a Japón. ya que es práctica común en japonés tomar el primer kanji de palabras compuestas para abreviarlas. Un error en una casilla puede llevar a tener que cambiar todo lo que hemos asumido. c.

En 2005 muchos otros periódicos de todo el mundo empezaron a incluir Sudoku a diario en sus páginas. en otras publicaciones internacionales ha hecho que lo apodaran en los medios de comunicación mundiales en 2005 como el “rompecabezas con un crecimiento más rápido en el mundo”. el lenguaje de programación diseñado para la inteligencia artificial. quizás comparable solamente con el cubo de Rubik. La pregunta es simplemente ¿cómo se pueden generar este tipo de acertijos usando la computadora? ¿qué programa hay que escribir? Aparentemente la tarea no es sencilla. En el año 1997. con una extensa descripción de la historia de este pasatiempo así como de sus reglas y un ejemplo que lleva de la mano.En 1986. Nikoli introdujo dos innovaciones que garantizarían la popularidad del rompecabezas: el número de cifras que venían dadas estaría restringida a un máximo de 30 y sería “simétrico” (es decir. He aquí el código que generé: . el juez jubilado de Hong-Kong Wayne Gould. por ejemplo. Los rompecabezas de Pappocom. La gran popularidad alcanzada por el Sudoku en los periódicos británicos y más adelante. se imprimieron cinco rompecabezas con soluciones ese día. Sabiendo que los periódicos del Reino Unido tienen una larga tradición en cuanto a la publicación de crucigramas y otros rompecabezas. a la resolución de los mismos. A este primero le siguieron 3 volúmenes más. The Daily Mail publicó sus Sudokus con el nombre codenumber. las celdas con cifras dadas estarían dispuestas de forma rotacionalmente simétrica). que los publicó bastante más tarde. en donde algunos de estos son simples variaciones del pasatiempo original. con 200 Sudokus agrupados en 4 niveles de dificultad. Tres días después. para poder hallar métodos para solucionarlo de manera eficiente y satisfactoria. y uno más sobre el Cuboku. Durante unos 6 años desarrolló un programa de computadora para producir rompecabezas rápidamente. un neozelandés. se han impreso diariamente en el Times desde entonces. Nationwide News Pty Ltd comenzó a publicar el rompecabezas en The Daily Telegraph de Sydney el 20 de mayo de 2005. que tuviese una aceptación mundial vertiginosa en los años ochentas y que generó no solamente ventas millonarias de dicho juguete. Sin duda el sudoku es un buen ejercicio de programación. promovió el Sudoku en The Times en Gran Bretaña. En el año 2005 ven la luz pública los primeros libros sobre Sudoku en español. “Los mejores Sudokus”. sino que además alcanzó notoriedad por el enfoque científico (particularmente en las matemáticas). empresa de software de Gould. Esto no siempre se cumple en los Sudokus actuales. paso a paso. publicándolo el 12 de noviembre de 2004 (llamándolo Su Doku). de 59 años de edad. así como un libro sobre Kakuros. vio un rompecabezas parcialmente completado en una librería japonesa. pero cuando pensé en Prolog. otro sobre Cuadrados mágicos. en diciembre de 2004. En 1997 Wayne Gould preparó algunos Sudokus para el diario The Times. llegué a la conclusión que el programa podía escribirse en pocas líneas.

E.D. /*permutaciones */ perm([]. R):perm(T. [X|T].E.B.G.D.H.C.H. []).E. R. .D. nl. [H|S]):delete(X.B. escribe(A.H. write(E). X).G.nl. write(H). write(B).F. */ */ */ */ delete(X. S). suma(A./* Generador de Sudokus /* Por La_Morsa /* Marzo 2010 /* Versión 1. write(G). [H|T].C. write(I).C.G.G. write(F).I).E.I) :write(A). T.B. X).F. delete(H.B.F.I) :write(A.0 delete(X.R) :A+B+C+D+E+F+G+H+I = R.H. T).I.D. resultados(A.C. write(D). perm([H|T].F. write(C).

nl.E2.[B1.G7.A3.F9.3.I9).4. escribe(A4.[G1. de la cuadrícula del sudoku. /* escribe los resultados */ escribe(A1.C9. E3. Para ello.I1. F5. C4. suma(A7.I5).6.G5.G7.8. G8.G3. suma(G4.E9.nl.H4. D5.5.C8.B9.A2. en una cuadrícula de 9x9.2.D5.6.H7. 45).[I1.D3.F1. suma(D4. 45).8.B1.F9.I5.2.I7.E4. C6.B1.B4.I3). G4. suma(A2. A7.H6. C7.B2.D4.F3. B3. E4.3.5.H4.8.B3.G3.5.H3.H4.7. D3. 45 */ 45). hallado ya escrito en Internet). escribe(A2. A3.C3.H7.I4).B7.9]. la suma de sus elementos siempre dará 45.H6. E8.8.A9.C1.A5.F8. A9]).I2). 45).2.F7.7.D8.I2. perm([1.5.G8. F7. B2.E1. B6. escribe(A7.6.E5.E7.B7.I7.E8. H8.4.E9.I4.I8.3.H2.H3.9]. I5.F1.I2.E4.D2. D6. 45).G2. H3.F4.sudoku :/* hallamos primero las permutaciones de los nueve renglones */ perm([1.F4.5.2. en cada línea. y genero una permutación de los 9 elementos.6.5. hasta el 9. /* ahora damos la restricción: la suma de cada columna debe dar suma(A1. 45).C5.H1. perm([1.F3.F8.F2. A5.3.8.I3. D2. 45).A6. D9]). H2.E5.I1).G9. suma(G1.4.D5.B8.4.D2.H5.[F1.G2. utilizo el procedimiento perm (las permutaciones. F3.C1.B7.F5.H6.8.3.C7.E4. I6.I5.G4.7.D6. E5. escribe(A6.C7. escribe(A3.F7. suma(A5. I9]). 45). . G5.9]. La teoría del código es ésta: Para crear un sudoku tengo que poner. H9]).G9.D9.2. escribe(A9.H8.G6.B4.E2.C6.F4. suma(A4.7.nl. /* ponemos ahora la restricción de las cajas: cada caja debe sumar 45 */ suma(A1.C8.B8. 45).A8. D8.I1. B7.5.G8.E6.I6. E7.3.D1. C3.G9.G4.E1.H5.F8.C7. I7. suma(D7.B3.6.B6.E8.I6.D5.H2. perm([1.H9.8. I4.C3.C6.H9.G2. F4. para ser preciso). B4. 45).D8. F8.[D1.4.F5.9].H8.G5.B4.E7. D7. A6.C5.3.I9.E2.G8. A4. escribe(A8. 45). H7.E1.D7. F6. F2.D3.4.D2.9].5. perm([1.B5.C2.F1.D9. 9 números diferentes (del 1 al 9. 45).I8).H7.H1. nl.2.H3.D6.4.E8.D1. B5.D6.6.7.B2.B2.E9.C5.E3.3. G3. 3.[E1.7.I3. suma(A8. Actúo de igual manera para el renglón 2. A2. 45).B8. C8. perm([1.7.C9. H5. F9]).nl.G3.[H1.7.D8. C9]).H5.C2.[C1.E3. suma(A4. suma(A6. B8. perm([1.C4.B9.B3. G7.F7.B6.nl.G6.F3. I8.I7). suma(G7. I3. G6.F9.G5.E7.E5.D3. suma(A9.I9.D9.B5. perm([1.B6. G2.2. suma(D1. D4.[A1. 45).4. I2.6. G9]).H8.H9.C1.4.C9. E2. 45). Es claro que para cada renglón.2.7.H2.6. suma(A3. suma(A7.F2.E3.2. 45).B9. perm([1.F6.F6.G1.8.C4.C3. A8.F5.9]. 45).I6). C5. B9]).D7.E6.3.C2.B1.G6.F2. escribe(A5.5. E6.6.F6.9].C8.E6.C6. 45).B5.C4.I4.8. H4.I8.H1. C2.9].G1. E9]). H6.9].D4.

hará backtrack sobre la permutación de la octava línea.I1. en total. hará de nuevo backtrack y así estará por un buen rato. y así hacia atrás sucesivamente. podría haber combinaciones de números.09 x 10^50 . pero el sistema me marcó un error parecido a: “too many structures in a predicate error”. al pasar a hacer la primera suma.G1.D1. con todas las posibles soluciones. pero para ello el programa habrá tenido que hacer un sinnúmero de permutaciones inválidas hasta hallar alguna adecuada. por lo cual agregué la restricción de que cada caja de 3x3 tuviese también que sumar 45. el sistema podría hallar la solución adecuada. lo cual obviamente no tiene solución. pero ninguna dará el resultado necesario. lo cual es 362880.B1.H1. pero el sistema se quedó “pensando” y después de un largo rato me harté y cancelé la ejecución del mismo. esperaría. alrededor de 1. Cuando eso falle.F1.E1. 45) fallará e intentará vía backtrack. para resolver el problema completamente. Con ello bastaría -pensaba. pero la cantidad de cálculos que tiene que hacer parece que sobrepasa todas las expectativas. Intenté entonces en SwiProlog. ¿Qué está pasando? La realidad es que Prolog en teoría podría resolverlo en un tiempo finito. Así. permutar 9 objetos diferentes implica 9!. no necesariamente todos diferentes. la primera suma de nuevo no podrá hacerse. en la suma de sus columnas. clauses y goal). con resultados parecidos.para que el sistema buscara todas las soluciones sin problemas.C1. Cuando el programa corre. Por ejemplo. Mis cálculos estiman que el sistema tendría que hacer. predicates. la de cada columna. que dieran 45.Ahora bien. suma(A1. de nuevo. ahora debo exigirle al software que los números que ponga en cada renglón. Intenté ejecutar este programa en turbo prolog (agregando las secciones de domains. pone la primera permutación de 9! para cada renglón. Eventualmente encontrará permutaciones que cumplan con eso. No obstante. la cual da: 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 Obviamente. dé también 45. en algún momento. por lo que el sistema buscará todas las permutaciones. pero tendrá que verificar también la suma de las cajas de 3x3. la siguiente permutación de la última línea. lo cual podría darle algo así como esto: 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 213456789 como puede verse.

el programa presentado crea todos los posibles sudokus que pueden generarse. indican que han revisado la cantidad de posibles sudokus: 5.geometer. 24 permutaciones y esto es manejable sin duda por los intérpretes y compiladores de Prolog actuales.iteraciones. La razón es que con 4 números tenemos solamente 4!.pdf http://www. aunque hay ejemplos que parecen indicar que 17 números es el mínimo indispensable.afjarvis. http://www.shef.ac.538 ¡El número de posibles sudokus es verdaderamente inmenso! (más de cinco mil millones). no se sabe aún cuál es la cantidad mínima de números dados para que el sudoku tenga solución. El código que escribí en Prolog es sin duda la aproximación más purista en este lenguaje para resolver el problema de generar pasatiempos como el sudoku. es decir. 3 2 .472. Estrictamente hablando.org/mathcircles/sudoku.730.uk/sudoku/ 4 Una version de 4x4 la resuelve de manera fácil cualquier implementación de Prolog.staff. probablemente en particular en lo que se refiere a memoria y a implementación del lenguaje usado4. De acuerdo a un artículo de Tom Davis2. lo cual resulta una cantidad inmanejable para la computadora casera. Desafortunadamente las computadoras caseras no pueden resolverlo por falta de recursos. Hallo además que un par de matemáticos del Reino Unido y Alemania3.

pero era una alternativa. No tardaron en caerme revistas especializadas y obviamente éstas se encontraban llenas de información fresca. no sólo la de ajedrez. . ahora con las verdaderamente económicas impresoras láser. Eso daba mayor calidad pero sin duda era un trabajo un poco ingrato pero era la mejor solución. Una vez más los resquicios de los estantes se llenaron entonces de cuanta publicación aparecía sobre el juego ciencia. Esto. Actualmente cualquier equipo de cómputo puede hacer tanto o más que ciertas imprentas viejas. cuando no había computadoras. y por si fuera poco. Mi sorpresa fue en aumento cuando descubrí muchos más libros desde los más elementales a los más específicos de una variante de apertura. se crearon finalmente tipos de letra que eran precisamente los figurines usados en los diagramas de ajedrez. Internet o estos artilugios que en definitiva han cambiado para siempre la manera de ver. la federación norteamericana vendía una serie de sellos con los figurines acostumbrados en los diagramas y los vendía. con sus correspondientes hojas impresas con diagramas vacíos para así uno poder poner las posiciones que uno quería inmortalizar en un diagrama. seguí la idea que se utilizaba en una revista de ajedrez por correspondencia: las jugadas de la partida en cuestión en mayúsculas. las cuales se colocaban simplemente desprendiéndolas de la hoja de acetato en las que venían. Los análisis en minúsculas (recuérdese que en ese entonces la notación descriptiva era de uso común). convirtieron en casi a cualquier escritor en su propio editor. estudiar y gozar de este fantástico juego de mesa. Pero entonces enfrenté un problema común a todos los que escribimos alguna vez de ajedrez: no podíamos poner diagramas de las posiciones más interesantes porque simplemente no existían las herramientas para precisamente hacer esto. Claro está que la calidad era muy pobre. Al aparecer las computadoras la tipografía computarizada. La calidad de salida. Con el tiempo la bibliografía ajedrecística que llegaba a mis manos empezó a llenar todo estante disponible. Ahora solamente había que hacer la sustitución de cada pieza en cada casilla por su equivalente en el tipo de letra que usáramos. Con el tiempo aparecieron algunas posibilidades. Por ejemplo. se convirtió en algo común y corriente. Con el tiempo más de una vez quise escribir algún articulillo de ajedrez y así empecé a hacerlo en el boletín “El Caballo egro”. Además. Por una parte me sorprendía que alguien escribiera de este tema. siempre puede ser una labor tediosa. sin embargo. Pasaron algunos años y con la llegada de Windows 3. Los paquetes como PageMaker o incluso el mismo Word para Windows se convirtieron en algo cotidiano. Estamos hablando de ya algunos años. Mis artículos para el club local estaban escritos con una poderosa máquina de escribir eléctrica y para distinguir los análisis de las jugadas (en las partidas que comentaba de vez en cuando). que el Maestro Internacional (MI) Willy de Winter editaba en el desaparecido Club Pomona de la ciudad de México.Ajedrez Creador de diagramas de ajedrez Cuando tuve en mis manos un primer libro de ajedrez quedé fascinado. así como los gases llenan completamente el envase que los contiene. Más adelante salieron planillas de el equivalente al letraset (pequeñas calcomanías con las figuritas de las piezas).x y la tecnología truetype. el boletín del Pomona eran un par de cuartillas impreso en mimeógrafo.

Por supuesto que hay detalles que agregar y mejorar. Igualmente Russek sugirió salvar en formato JPEG (y ya en esta versión esto se ha implantado). Otras resoluciones de vídeo hacen que no se vea correctamente las ventanas o que éstas haya que cambiarles el tamaño. que Microsoft daba a los programadores. y más adelante se le dio soporte a los del Sr. Esto no tiene compostura inmediata pero se trabaja en ello. y el software funcionaba (y aún corre) en MsDOS. Cuando tuve dicha herramienta visual decidí entonces transportar mi software a Windows. Hallé que la parte de salvar a BMP no funcionaba correctamente y la cambié. en tiempos récord. El sistema ahora guardaba las imágenes como BMP. como los que pueden encontrarse en ChessBase. Aunque la tarea no fue tan simple como pensaba (el manejo de gráficos cambia en la interfaz Windows).Imagen 1 La ventana principal de WinZug para Windows Así. Igualmente. usando las imágenes GIF que existen en ChessBase (de dominio público. sólidas. En primera instancia los diagramas se salvaban como imágenes PCX (un formato que ha caído en desuso con la llegada de la tecnología JPEG). Programar para Windows siempre estaba vetado a todo aquel que no quisiese usar el API (Application Program Interface). le agregué la posibilidad de crear diagramas para la WWW. Chess Assistant. . se incorporó al software la generación de diagramas usando los tipos de letra truetype específicos para ajedrez. un estupendo diseñador de este tipo de letras que tenemos en nuestro país. debido a que mucha gente tiene páginas dentro de Internet. Pero como todo programa terminado se vuelve obsoleto. hace unos días intenté hacer una revisión del software. en unos días tuve una primera versión funcionando. Marroquín. Se pueden generar aplicaciones poderosas. Pero llega Borland con una herramienta formidable: Delphi. etc. yo trabajo en 1024x768 pixeles de resolución. se aclara). Con el tiempo y gracias a las necesidades del MI Guil Russek. Por ejemplo. se me ocurrió escribir un programa que generara diagramas para poder entonces hacer publicaciones de buena calidad. la cual hace de la programación en Windows un paseo por el campo.

Así. Kasparov. sino desde un ambiente más pacífico pero igual de importante. me ha dejado –como a muchos– ciertamente consternado. ahora podrá ver cuatro partidas de Garry Kaspárov. escribí un protector de pantalla. hallé en la red algunas fotos de nuestro héroe y las incorporé. se me ocurrió que era un buen momento para hacerle un pequeño homenaje. no parece que se retira del ajedrez mismo. un icono mundial que tendrá siempre admiradores. y aunque se retira de las competencias. amor incondicional y obsesión por el ajedrez. cuando Ud. que compitió y ganó prácticamente las justas más importantes en el mundo (y además. Y yo. más de una vez. deje de usar la computadora por un tiempo razonable. Junior. Sin duda la decisión del azerbayano debe haberla meditado profundamente y como las jugadas de ajedrez. Su estilo violento y su profundo trabajo de análisis teórico. tiene su consecuencia. De esta manera. Shredder. Su carrera ajedrecística fue notable en todos sentidos. un screensaver. Cada cinco movimientos aparece una foto (de 25) al azar. en lugar de que se ejecute alguna simpática animación. lucha. Yo sé que veremos más libros de él. Sin duda que Kasparov es ejemplo de tenacidad. quizás el mejor jugador del planeta Me queda claro que independientemente de si juega o no. le dio dividendos y demostró un nivel de profundidad extraordinario. La razón es que en alguna medida Garry. más ajedrez. como admirador de su gran nivel de juego. de sus hazañas ante el tablero. en marzo del 2005. que reproduce algunas de las partidas más notables del ruso. al despedirse del escenario competitivo. . como por ejemplo en Linares. aunque ya no desde la trinchera de los torneos. Kaspárov es uno de esos héroes del tablero. Como campeón del mundo fue un jugador activo. Para hacerlo más interesante aún. Kasparov se mantuvo como el mejor del rating mundial los 20 años pasados. más DVDs con sus clases. con el Cannon de Pachelbel de fondo. Imagen 1 Garry Kasparov. en donde se coronó campeón nueve veces). ayudado por Fritz. trabajo constante.Ajedrez Protector de pantalla en honor de Kasparov El retiro del mejor jugador del mundo. todos estos ingenios cibernéticos. nos ha privado de futuras actuaciones y de otras magníficas producciones en el tablero que ya no veremos.

Puede –quien así esté interesado– en alimentar dicho archivo con partidas de su variante favorita y verlas reproducirse en su pantalla. que es donde residen los protectores de pantalla y lo único que tiene que hacer el usuario es dar de alta el protector de pantalla de Kaspárov para que pueda usarlo. este protector de pantalla podría servir incluso para estudiar. desplegar los nombres de los jugadores y el resultado final del encuentro. Quizás el hecho de observarlas cotidianamente le ayude a memorizarlas o tal vez. Nótese que este archivo contiene unos comandos muy simples que permiten mover las piezas en el tablero. en algún momento recuerde esa posición en alguna partida suya y pueda aplicar esos conocimientos que su computadora le mostraba al reproducir las partidas de Kasparov.Imagen 2 Kasparov con “el patriarca”. De hecho. .txt’ es posible incorporar otras partidas. el excampeón mundial Mijail Botvinnik Cambiando el archivo ‘game. El sistema se instala en el directorio ‘system’ de Windows.

pero sin duda. De ser cierta esta idea. los cuales no son otras cosas que las palabras. la única cosa importante es que la primera y última letra estén escritas en la posición correcta. El resto pueden estar totalmente mal y aún podrás leerlo sin problemas. en lugar de leerla y armarla letra por letra. Peonmrestalne me pacere ilnírebce. no importa el orden en el que las letras están escritas. de manera que al ver una palabra. y que solamente encontramos después de haberlo impreso. Así entonces. en muchos sentidos. pues nos hemos equivocado. de forma muy eficiente. no iomtpra el odern en el que las lerats eátsn ectasirs. Aunque probablemente la mayoría de los lectores puedan entender el párrafo en cuestión. La curiosa frase recibida en mi buzón da un dato fundamental: el cerebro es una máquina de procesamiento de patrones. la úcina csoa inrmptoate es que la prirmea y úlimta lreta eétsn esracits en la poóicisn ccrertoa. Es decir. encontraríamos una explicación a ese misterioso fenómeno de los errores en un texto que escribimos. Esto es porque no leemos cada letra por sí misma. he aquí la “traducción” al español perfectamente correcto: Según un estudio de una universidad inglesa. El resto peduen eastr ttmeatolne mal y aún párdos lelreo sin poamblers. Aparentemente nuestros cerebros han asimilado una serie de patrones. lo que estamos haciendo es simplemente buscar en nuestro acervo de palabras para ver si está y la reconocemos. lo cual parece serlo.Ajedrez El Secreto de los Grandes Maestros Recientemente me llegó un correo electrónico que decía lo siguiente: Sgeún un eiudsto de una uinsrvdiead iglensa. si creíamos que leemos letra por letra un texto. Es regla general que cuando se imprima el documento encontremos errores que nunca vimos. snio la pbarlaa cmoo un tdoo. los jugadores fuertes saben . Personalmente me parece increíble. las cuales se codifican y se guardan de manera misteriosa. Imagen 1 El software en acción Así. no importa las veces que lo revisemos en la pantalla de la computadora. sino la palabra como un todo. Lo simpático del asunto es que tiene la clave para jugar mejor al ajedrez y que en cierta medida revela lo que los grandes maestros hacen al jugar. Etso es pruoqe no leeoms cdaa ltrea por sí mmsia.

podría ahorrarse un valiosísimo tiempo de reflexión si conociera de antemano ciertos patrones. ¿se podrá hacer un programa que lo pase a un formato legible? Ahí encontré. el gran maestro. producto probable de estudiar sistemáticamente nuestro juego. la cuarta con la quinta. un jugador talentoso encontrará quizás las jugadas correctas analizando meticulosamente la posición. Pero he aquí que en un curso de reconocimiento de patrones. repito). etc.qué jugada hacer prácticamente desde el momento que ven una posición. Y así lo dejé. sino de otros géneros de posiciones. como por ejemplo. A partir de esta idea me di a la tarea de escribir un programa que hiciese este intercambio de letras. es mucho más probable que este “olfato” no sea más que una colección de patrones ajedrecísticos. los finales más comunes. y lo incorporé al programa. entonces no habrá quien lo detenga en el camino a la maestría ajedrecística. responden con un mohín moviendo la nariz en señal de es una especie de olfato. que el hecho de que podamos leer textos así escritos no significa simplemente que el cerebro reconoce la palabra que creemos que es. Es decir. Para ser más claro. analizando lo que otros han jugado en esa posición (por eso las bases de partidas son fundamentales para todo aquel que quiera mejorar su juego). utilicé un intercambio simple de letras. Sin embargo. De esta manera el cerebro va adquiriendo estos patrones arquetípicos que muestran cómo se deben manejar cierto tipo de posiciones. la segunda con la tercera. Eso se adquiere a través de varias actividades: (i) (ii) (iii) ver muchas posiciones parecidas. disciplina y trabajo constante). Más adelante puse un algoritmo más sofisticado que hace este intercambio de letras (recuérdese siempre dejar la primera y última letra de cada palabra igual). Cuando se les pregunta cómo es que encontraron prácticamente a vuelo de pájaro la mejor jugada. Pero bajo el esquema de lo que estamos considerando. por cuestiones de simplicidad. la cual se traduce en precisamente en analizar patrones de combinaciones típicas. desde luego. gracias al contexto. y además. y no sólo de estructuras de mate. el ejercicio de programación funcionaba bien. pensé que la labor inversa debía ser interesante de programar. sino que tiene un acervo de palabras. Pero ahora veamos esta frase completa: “Sirhdcogeenr fue uno de los más eairrtoarxnoids fiocíss de la mcáienca cnáituca” . pues se equivocan. de posiciones típicas. tiene una certeza sobre la manera de evaluar correctamente una posición. Sin duda el jugador fuerte. dado un texto escrito con esta técnica de poner al azar las letras de cada palabra (a excepción de la primera y última letra. Postscriptum Hace ya relativamente cierto tiempo escribí sobre esto. entre otras cosas. Por eso. puede reconocer lo que está escrito. un trabajo constante en el desarrollo de la habilidad táctica. conocimiento de las partidas modelo más importantes de la historia del ajedrez. (iv) Si usted hace eso (lo cual requiere tiempo. puesto que no hay contexto. es importantísimo estudiar ajedrez. Desde luego que no todo son patrones. aquí hay cientos de encuentros memorables. conocer los elementos básicos. imaginemos que encontramos la siguiente palabra: “Sirhdcogeenr” Probablemente no pueda usted saber de qué palabra se trata. incluso en las aperturas. Quienes no estudian y creen que pueden resolver todo en la partida viva. Al principio. dedicación. que nos darán una ventaja enorme sobre aquel que no haya hecho este trabajo. me parece. Es cierto que sí. si no totalmente al menos en parte. desde los de peones hasta los de torres. que todo jugador debe entender para tener una visión histórica y práctica de cómo se atacan cierto tipo particular de posiciones y. el cual es enorme.

La palabra a buscar debe ser mayor de tres letras (no hay cambio en “uno”. como lo que se hace frecuentemente. Para cualquier físico será relativamente fácil y podrá leer: “Schroedinger fue uno de los más extraordinarios físicos de la mecánica cuántica” Dicho en otras palabras. tenemos que alimentar al programa con una base de datos de palabras (nuestro conocimiento del lenguaje). “y”. ¿Se podrá hacer una rutina que lea un texto mal formado y lo ponga correctamente? Imagen 2 El programa con la opción de reconocimiento “inteligente” Para que esto sea posible. Aquí tenemos que buscar con los siguientes criterios: 1. el mecanismo que usa el cerebro para entender un texto desarticulado con la técnica mencionada se puede volver a su sentido original si se cumplen dos factores: • • el lector tiene un buen conocimiento del lenguaje el lector tiene un conocimiento del mundo exterior o de temas particulares que le facilitan el entendimiento de pasajes así escritos. para que así. “no”. al ver una palabra. “las”. “si”.probablemente nos cueste trabajo si jamás nos hemos ocupado de la física y mecánica cuántica. Esto en el fondo es un tema de la inteligencia artificial. Curiosamente la búsqueda no es en ningún sentido algo común. por ejemplo) . el sistema pueda buscar en dicho archivo y hallar la que corresponde.

2. Obviamente hay que buscar otra solución. pusieron caracteres especiales para señalar acentos. Supongamos que buscamos la siguiente palabra: “dnrtmvaescutiete” (destructivamente) De cada palabra que debo buscar en mi diccionario. la primera y última letra de la palabra a buscra debe coincidir con la primera y última letra. hallé que: • • Tuve que poner todas las palabras en minúsculas. En el punto 3 surge un problema... 3. El programa tarda en relativamente en procesar el texto mal formado. En el caso del ejemplo. hay que calcular 7! permutaciones. La razón es que tiene que analizar prácticamente las casi 500 mil palabras. Cuando el programa no encuentra una palabra. etc. Como eso complicaba la búsqueda de las palabras en mi aplicación se los quité en esta primera versión. pues mi diccionario de palabras está todo en minúsculas El diccionario consta de casi 500. además de la longitud en caracteres de la misma. pero no tienen acentos y eñes. Así me aseguro que ambas palabras (la que elegí como candidata y la original).000 palabras. debo saber que están todas las palabras de la palabra original sobre la que busco. pensé que lo más fácil sería sacar todas las permutaciones de estas letras y ver si se cumplían dentro de la palabra elegida en cada búsqueda. hay que calcular 14!. La razón de esto es que en el formato original del mismo los autores (para un proyecto de corrección ortográfica en Linux). pero encontré que es una mala idea. en este caso el subconjunto 'nrtmvaescutiet'. la marco en MAYÚSCULAS para que se vea el cambio de manera notable. pues una búsqueda binaria simplemente en este caso no se puede hacer. La palabra a buscar debe contener las mismas letras que la palabra original. • • . El algoritmo lo agregué al programa original y podría decir que de alguna manera busca tener un sistema con visos de inteligencia. Al final de cuentas lo que se me ocurrió es crear una tabla de frecuencias para la palabra que busco y las opciones que tengo. tengan las mismas letras dentro de la primera y última que no cambian. Cuando se le pide al programa que convierta un texto mal formado a uno correctamente escrito. Al principio. porque si tengo 7 letras. derivaciones de las palabras.

La diferencia de clasificación Elo (o rating) sirve para establecer los méritos de cada uno de ellos. que los nuevos resultados en los torneos son calculados a partir del 70 y en 1972 se establece también el rating femenino. basándose en la estadística elemental (ley normal de Poisson). Para quienes jueguen al ajedrez. En 1997 dicho listado contemplaba a 18555 ajedrecistas activos. José Raúl Capablanca. en 1970. mientras que el más fuerte. un matemático húngaro. a partir de los resultados de 210 jugadores de alto calibre ajedrecístico en partidas disputadas en los años 1968 y 1969. La FIDE publica cada tres meses la lista de rating oficial. Pongamos un par de ejemplos: si la diferencia de ratings entre dos jugadores es de cero a 3 puntos. Elo fue nueve veces campeón o co-campeón de Wisconsin. Arpad Elo estableció. Dicha fuerza se representa por un número que va desde los 1000 puntos (muy débil) hasta no más de 3000 aproximadamente (extraordinariamente fuerte. la cual se convertiría más tarde en la USCF (United States Chess Federation). por sus siglas en francés). Desde luego que el aumento de participantes en los torneos no se debió exclusivamente a la existencia de una lista de rating internacional. De 1935 a 1937 fungió Elo como administrador de la Federación Americana de Ajedrez. la cual rige para los torneos en todo el mundo. Tan buena fue su idea que al incorporar el rating. sino a que además. Esta dupla se mantuvo como primero y segundo sitio mundial por alrededor de diez años. subir su rating cada vez más. en donde solamente hay 112 jugadoras. todos se preocupan por mantenerse e incluso. si es posible. ser uno de los jugadores más fuertes del planeta implica ser invitado a participar en torneos magistrales. dinero a los jugadores por el simple hecho de participar. Por ejemplo. muchos torneos pudieron significar las aspiraciones de títulos deportivos a los jugadores que lograran los primeros lugares. En 1959 Elo decidió trabajar sobre un sistema de clasificación de los jugadores. el nombre Arpad Elo les será familiar. nacido en 1903 y emigrado a los EEUU a la edad de 10 años. Cabe recordar que los primeros cinco grandes maestros de la historia nacieron en el torneo de Petrogrado. las dos mejores de lo que ahora es la ExUnión Soviética. que ya para ese entonces era la campeona mundial y a la postre lograría la obtención del título de GM pero entre los hombres. clasifica a sus jugadores de acuerdo a su fuerza ajedrecística. El ajedrez ha crecido desde el año 1970 de manera notable. Alexander Alekhine. su rating. Es decir. una tabla de probabilidad de victoria en función de la diferencia de puntos Elo entre los jugadores. por el hecho de no imponerse.Ajedrez Calculadora de rating Elo La Federación Internacional de Ajedrez (FIDE). Siegbert Tarrasch y Frank J. en donde hay jugosos premios y. se sabe en los círculos ajedrecistas que el empate entre dos jugadores no significa la nulidad. Así. Elo pasó al salón de la fama del ajedrez norteamericano en 1988 y murió en 1992. Marshall. muchas veces. de hecho. nadie ha llegado a esta cifra nunca). el cual la USCF adoptó en 1960 y hasta 1970 por la FIDE. En ese entonces. la Federación Internacional de Ajedrez logró un esquema que permitía validar los resultados de los jugadores para así otorgarles los títulos de maestro FIDE (MF) maestro internacional (MI) y gran maestro (GM). el más débil consigue un buen resultado si arranca unas tablas . a Emmanuel Lásker. Elo desarrolló una serie de fórmulas para calcular lo bien que un jugador se desarrolla en las competiciones ajedrecísticas. Tiene tanto éxito este sistema. Los jugadores de ajedrez toman muy en cuenta este número. Eso sin duda motivó la participación de muchos jugadores. la lista de rating de la FIDE de 1980 contenía a 3103 jugadores pero en 1990 la lista ya era de 9186 ajedrecistas. Un incremento que cualquiera observará como notable. Nona Gaprindashvili. porque para los profesionales. cada jugador tiene un 50% de ganar la partida. La otra mujer mejor clasificada era All Kouchnir. Pero ¿cómo se calcula el rating? ¿a quién se le ocurrió una fórmula que pueda representar en un número la habilidad ajedrecística de un jugador? Arpad Elo. en donde el Zar concedió el título máximo (sin contar el título de campeón mundial). . cosecha un mal resultado. La primera lista oficial de rating fue publicada por la FIDE (Federación Internacional de Ajedrez. Siendo matemático. Fue profesor de física y astronomía de 1935 a 1965 en la Universidad Marquette. En términos de rating puede significar más puntos para el jugador más débil y esa misma cantidad de puntos menos para el jugador más fuerte. Pero regresando al asunto del rating.

que permite al ajedrecista calcular cuánto sube o baja su puntuación después de jugar un torneo en particular (conociendo. Hoy día hay manera de otorgar un rating provisional a un jugador (a partir de una fórmula modificada de las originales del Profesor Elo). Dicho de otra manera. Obviamente. desde luego. Esto puede extenderse. el jugador fuerte debiese ganar al menos 8 partidas de 10 jugadas. el cálculo de los jugadores se hacía a través de unas fórmulas por demás simples. desde luego.En cambio. sin embargo. de acuerdo con sus restantes actuaciones. los ratings de sus adversarios). es decir. Pero obviamente aquí no pretendemos dar un curso de álgebra para poder usar estas ecuaciones y encontrar el rating de un jugador. Elo así describió una tabla que muestra la probabilidad de un jugador de ganar una partida. El sistema de rating puede parecer misterioso. le quitará a su rival una cantidad de puntos. si la diferencia es de 99 a 106 puntos. un jugador de 2400 puntos Elo que juega contra un jugador de 2200 puntos tiene la misma chance de ganar que un jugador de 1400 puntos que enfrenta a uno de 1200 puntos. si el jugador de menor nivel gana.htm) Tabla 1 Tabla de esperanza contra diferencias de rating Podemos ver que un jugador que le saque 253 puntos a su contrario equivale a que tiene un 82% de posibilidades de triunfo. De la tabla de diferencia de ratings (copiada de http://chess. Menos obvio es. el cual a partir de esta primera clasificación. cuando la diferencia es de más de 267 puntos. Establecidos estos valores (compilados en una tabla de probabilidad que confeccionó Elo mismo). La diferencia es en ambos casos de 200 puntos. el jugador más fuerte tiene 64% de obtener la victoria contra un 36% del jugador débil de alzarse con el triunfo.com/library/weekly/aa03a25. al rating promedio de un torneo. de acuerdo a esta diferencia de rating entre los jugadores. que la misma diferencia de rating entre dos jugadores implica la misma chance de triunfo. Así. . En lugar de esto. empezará a moverlo (hacia arriba o hacia abajo).about. contra 17% de que su rival le gane. dos jugadores que tienen el mismo rating tienen la misma oportunidad de ganar una partida de ajedrez (50%). el software a escribir en esta ocasión es una calculadora Elo. Una diferencia de 268 a 278 hace que el jugador fuerte tenga a su favor un 83% de ganar. pero se basa en una teoría puramente estadística.

La tabla de Elo es curiosa: Gráfica 1 Puede verse que no es una función estrictamente lineal. aunque en gran parte de la misma se mantiene como si así lo fuera. No me meteré mucho en este punto porque creo que el matemático Jeff Sonas sabe mucho más de esto y está mejor calificado para discutir estos aspectos de la fórmula de Elo (ver chessmetrics. si gana el favorito.8 puntos. En cambio.5 puntos. le quitará al perdedor solamente 2.basada en una constante K. 25 si es su primer cálculo de rating hasta completar 30 partidas. Da la impresión que Elo quiso darle peso a las grandes diferencias de rating de manera que no sea tan brusco el cambio de puntuación en esta situación. ganará 12. si gana el jugador más débil en este hipotético caso. Así.com). 15 mientras el jugador no llegue a 2400 puntos Elo. de acuerdo a la fórmula Elo. Imagen 1 Calculadora Elo . 10 para jugadores con más de 2400 puntos Elo. Este valor entonces ya no se modifica más.

Una vez entendida la tabla y los fundamentos de la fórmula del rating. . me senté un par de días y como mero ejercicio académico. me hice mi propia calculadora de rating para la PC y además le agregué el cálculo del desempeño.

Si consideramos que hay estudios que indican que las personas comunes y corrientes pueden recordar hasta siete datos de una sola vez (es por ello que no es fácil recordar a la primera oportunidad un número de teléfono). por todos los medios. son dos de los compositores de problemas de ajedrez más importantes que haya tenido jamás el juego ciencia. debe acordarse dónde están las piezas propias y rivales en cada momento. Hay.Ajedrez Ajedrez a la ciega Existen muchas modalidades de ajedrez. al menos limitadamente. Por ejemplo. Es tan interesante esta forma de ajedrez que incluso hay grandes maestros de la composición ajedrecística. concursos de problemas y estudios en ajedrez. sin ver el tablero. Se trata de jugar el ajedrez a la ciega. 20. sin embargo. entonces el jugar ajedrez apelando solamente a la imaginación de dónde están las piezas. los maestros –gracias a su experiencia en el tablero– logran la mayoría de los triunfos. Kasparián o Kubbel. tendríamos una ventaja sobre muchos de . nos permite “mover” las piezas en la cabeza sin moverlas en el tablero. y esa regla es absoluta y sin excepciones. porque bien sabemos que pieza tocada es pieza jugada. juega al mismo tiempo contra 10. cuando se hace una demostración pública de alguien jugando una partida de ajedrez con los ojos vendados. vencer al rival. 30 ó 40 competidores. en general. donde un avezado jugador (normalmente un maestro). quien juega “de memoria”. Por ejemplo. no nos resta más que admirarlo. por decir lo menos. donde los jugadores buscan. Así. más sutiles. sin tener a la vista un tablero con sus piezas. cobran vida en el tablero. donde las ideas más sorprendentes. se hace en la memoria de corto plazo. es decir. Algunas son más recreativas que el ajedrez competitivo. las simultáneas de ajedrez. Por ello. por ejemplo. otra modalidad de ajedrez. Aquí. dicen los psicólogos. Esta es la pregunta que surge: ¿es posible aprender a jugar a la ciega? Y si esto es así. puede considerarse una labor muy compleja. Esto. pues una partida de ajedrez es un evento dinámico que dura unas cuantas horas. ¿qué beneficios/perjuicios se pueden tener por esta actividad? Imagen 1 Pantalla inicial del software de entrenamiento de ajedrez a la ciega Para quienes jueguen competitivamente al ajedrez. Hay que considerar que si el tablero de ajedrez contiene 32 piezas y 64 casillas. es evidente que el poder jugar a la ciega. si tuviéramos la capacidad de ver cómo quedará el tablero sin mover las piezas en el mismo. los aficionados intentan vencer al maestro de ajedrez. de la que se habla poco y quizá con razón. También existen modalidades artísticas. y en ocasiones un par de jugadores lo logran aunque.

aunque no sé de muchas experiencias que demuestren esto (aunque acabo de recibir un correo electrónico de Javier González Solabarría. trabajo constante. Mi récord es de hace dos años donde jugué con nueve oponentes de diversas categorías. simultáneamente. me puse malo y conseguí a duras penas llegar a casa”). puede aprenderse. . con práctica. aunque para ello se requiere de paciencia y trabajo cotidiano. pero sí profundizar a un nivel en donde se puede tomar la decisión si una jugada es correcta o no. sin lugar a dudas.nuestros adversarios. Úselo para desarrollar su capacidad de análisis en ajedrez. De hecho. los ajedrecistas dedicados logran empezar a ser eficientes en este cálculo mental de jugadas. Najdorf aseveraría más adelante que “una locura como esa no la vuelvo a repetir”. estudio de muchas posiciones sin mover las piezas. Obviamente. Imagen 2 El software en su ventana principal La habilidad del cálculo a la ciega es algo que todo jugador debe saber realizar. que después de ello. Una hazaña que le llevó más de 20 horas y. que me dice: “soy un jugador de categoría preferente y desde hace años practico simultáneas de ajedrez a la ciega. pues su cerebro mostraba cada partida como una película en cámara lenta. la mayoría no logra poder calcular todas las posibles posiciones que pueden darse en una partida de ajedrez. Esta práctica de visualizar el tablero se hace frecuente en la medida que uno compite en torneos. los jugadores de la escuela rusa prohíben el espectáculo de las partidas a la ciega por considerarlo dañino a la salud. el gran maestro polaco-argentino. pero no con afán de hacer ningún espectáculo de circo. quien pudo jugar hasta 45 partidas a la ciega. Aquí no se trata de simular esas hazañas como la del “viejo” Najdorf. Verá con el tiempo diferencias al respecto de cuán lejos podía ver en unas variantes antes de trabajar con el software y después. Hace tres años. al finalizar unas simultáneas con ocho adversarios. ganando 39 y empatando 4. Como una habilidad más. perdiendo dos. Poco a poco. el ajedrecista no durmió las siguientes 48 horas. El software en esta ocasión permite practicar el juego a la ciega.

los entrenadores soviéticos laboriosamente elaboraban para sus pupilos estos tarjeteros. perfectamente. 5 Hasta donde sé. incluso para alterar el orden a placer. como puede ser una posición básica (de las míticas 300 posiciones). a repraissal”. La idea es poner en una tarjeta una porción de conocimiento. En los años anteriores a la informática. . El GM Aaron Nimzovich en su libro de “Cómo llegue a ser Gran Maestro5 “ escrito en la década de 1920. o de alguna posición con una idea especial. como una manera de aprenderlas al “dedillo” literalmente. Repetición una y otra vez era el lema de los entrenadores soviéticos. De la misma manera que un tarjetero con temas de cualquier disciplina académica. Ed. vivirlas. sobre la informática aplicada al ajedrez. como revisando un paquete de naipes. sino un largo artículo del viejo maestro danés. La idea es poder intercalar hojas cuando es necesario” . refiere que mando a un encuadernador insertar una hoja en blanco entre cada hoja impresa de un libro sobre un torneo de maestros para poner sus propios comentarios a cada partida. una posición fundamental de una variante o sistema de apertura. Utilizaban unos sellos para imprimir diagramas y piezas para poner una posición en una tarjeta y ya sea a mano como con máquina de escribir se hacían las anotaciones correspondientes. El más afamado entrenador ruso. recomendando el uso de las famosas “libretas de tres argollas” que es común utilizar en las escuelas. Teniéndolas en tarjetas. sentirlas. Ejemplos de esta manera de trabajar nos lo relata la GM Kira Zvorkyna al comentar el apoyo que como entrenador le dio en los años 1950s. De lo particular a lo general y luego de nuevo a lo particular. Memorizarlas. en donde dice lo siguiente: “Uno de los métodos de estudio más preconizados por la escuela soviética de ajedrez era el uso de ‘tarjeteros’. hasta aprender esas posiciones básicas y las ideas contenidas. Pasar de la noción. caso aislado. no es un libro. o incluso más de ello. Personalmente en los años 1980 a 1990 escribí varios artículos al respecto. que aparece transcrito en el libro de Raymond Keene: “Aron imzowitsch.Ajedrez Tarjetero electrónico de posiciones de ajedrez Leo un artículo del MI Raúl Ocampo. el GM Piotr Arsenievich Romanovsky. como fueron la gran mayoría de los de la existencia de la URSS. a un concepto. el jugador puede prepararse revisando una y otra vez las diferentes tarjetas del tarjetero. Pero el caso del tarjetero es para facilitar el repasar una y otra vez las mismas posiciones. para luego pasar de nuevo al caso concreto. uno de los mejores entrenadores soviéticos. el MI Mark Dvoretsky. agrupación de casos que están unidos por un patrón. en muchos artículos menciona su famoso tarjetero con su colección de posiciones interesantes. De la noción al razonamiento conceptual y luego a la aplicación a una situación específica y única. El uso de tarjeteros o cuadernos para recolectar posiciones y variantes era un estándar entre los entrenadores del siglo XX. Para luego aplicar esas ideas y esquemas en posiciones similares pero nuevas. en un artículo publicado por la revista rusa “64” en su número 7 de 2003. Un método muy recomendado por pedagogos de cualquier área. Batsford.

pues hubo que definir la base de datos. que permita a los ajedrecistas hacer estos famosos tarjeteros. se pueden tener este tipo de “tarjetas” electrónicas.chessbase. Me llevó todo el sistema unos cinco días. El programa debería no sólo poner texto. Más de uno podrá decir que realmente ya no es necesario. sino que además. cuál es la información mínima que el sistema debe manejar. ¿por qué no tener un software especializado para hacer este tipo de tarjetas ajedrecísticas?. es decir. llegué a la conclusión que no hay software en el mercado especializado que haga precisamente esto. Dada entonces esta motivación. como menciona Ocampo en su artículo. incluir un diagrama en cada tarjeta. hacer búsquedas sobre los temas definidos en las mismas.Imagen 1 El logotipo del programa A partir esta idea.com . En alguna medida es cierto. pues con Chessbase6. debería poder imprimir las tarjetas y desde luego. me di a la tarea de escribir mi propia versión del tarjetero ajedrecístico. por ejemplo. Así. Igualmente. es decir. 6 www. De esta manera tendríamos esta vieja herramienta modernizada en las computadoras de hoy. aunque es claro que lo que hace el software alemán no es estrictamente esto.

si el manual de algún dispositivo viene en coreano. . es decir. Y sí. entonces estará encantado. ya tengo una versión beta. la cual denomine ChessCards. las piezas de ajedrez. ya sé. ¿por qué en inglés? De acuerdo a la teoría de mi hermano Pedro.Imagen 2 Ventana principal de Chesscards Aprovechando que actualmente existen muchos tipos de letra que despliegan “ figurines”. al mexicano le encanta ser malinchista. de manera que no ocupan tanto espacio en la base de datos con respecto a lo que usarían en caso de usar imágenes bmp o jpg. Poco a poco el software fue tomando forma y en el momento de escribir esto. Vaya. pude crear en “modo texto” los diagramas.

sistemas que juegan al ajedrez con un promedio de 2600 de rating (que compiten ya al tú por tú con los campeones del mundo). va aprendiendo con el estudio sistemático. Sin embargo. Todo jugador. En vista de eso. no es garantía de aprendizaje y el hecho de saber que existe un alto porcentaje de deserción escolar en la enseñanza media superior. Mucho de este trabajo lo hacemos solos. Indudablemente son muchos los factores para llegar a jugar bien. sin ayuda de terceros. lo cual hace de todo este asunto del aprendizaje algo más difícil y complejo. Los ajedrecistas leemos muchos libros de ajedrez. El estudio de cualquier tema exige que quien quiere aprender se involucre. Una vez que hayamos resuelto cientos de estos ejercicios empezaremos a acumular estos patrones de ubicación de piezas además de las ideas tácticas como pueden ser la clavada. en donde se repiten los patrones de las piezas en ubicación y poder. Tenemos algunas decenas de libros con ejercicios de combinación. de la posibilidad de calcular largas variantes con precisión. Hoy día. simplemente indica que no hay la suficiente motivación para que esa gente siga en la universidad. etc. que tenga un interés genuino por comprender lo que se está estudiando. Es claro entonces que el aprender el arte de las combinaciones se basa en realizar muchos estudios al respecto. etc. Hay de todo y para todos y quien saque provecho de todas estas nuevas herramientas seguramente podrá progresar incluso más rápido que hace apenas unos 10 años. Ponen la partida y la reproducen en el tablero electrónico en breves minutos.Ajedrez ¿Qué tan bueno es su ajedrez? Jugar bien al ajedrez no es solamente cosa de tener facultades para el juego. gracias a la computadora. Es claro que la mayoría de los jugadores tienen cierta capacidad. En repetidas ocasiones he visto a compañeros ajedrecistas sentarse frente al computador para ver partidas de una variante específica. este trabajo es una pérdida de tiempo. aunque quizás la principal sea que enfocamos incorrectamente el trabajo casero de aprendizaje. el ataque doble. Frecuentemente nuestros esfuerzos en el estudio no parecen reflejarse en los resultados de las competencias. con el agravante de que en la mayoría de los casos. es claro que el jugador de ajedrez que lo desee puede subir de nivel si su constancia en el estudio es la adecuada y si puede jugar una serie de torneos para ir probando lo que. precisamente. el ajedrez ha cobrado cierta relevancia. En el estudio del ajedrez muchas veces pasa lo mismo. . De eso ni hay duda alguna. a dólares). Pero aún falta el elemento competitivo… ¿Cómo entrenar cuando uno participa en torneos? En este caso el Ajedrez solitario puede darnos la respuesta. la cual se traduce en bases de datos con millones de partidas. las que causan más problemas al adversario. Los discos compactos con software especializado para estudiar líneas específicas de apertura o resolver ejercicios de diferente dificultad cuestan sus buenos pesos (traducidos. es evidente que el estudio puede hacer maravillas y sustituir en cierta medida lo que la naturaleza se negó a darnos. tendrá que hacer muchos ejercicios de esta naturaleza. hacemos ejercicios de táctica. decidí que era hora de escribir mi propio software de entrenamiento… Entrenamiento Táctico es una herramienta para estudiar ajedrez. hay que encontrar las mejores. empezando por un dominio de lo que se llama táctica. claro está. Al final se fastidian y se observa que sólo tratan de recordar algunas de las ideas que pudieron percibir en esa veintena de partidas vistas con celeridad. estudiamos incesantemente las aperturas y. La información está a la orden del día. Así. además. Para ello. por ejemplo. se me ocurrió que algo debía hacerse… Así pues. pasan a la siguiente partida y hacen lo mismo. no basta con ver jugadas. Desafortunadamente esto tiene un costo: los programas más poderosos de ajedrez no son gratuitos. Ir a la escuela. A la larga. programas específicos de análisis de alguna variante en particular. la cual quizás se vislumbró en la mayoría de los casos a tierna edad. participamos en torneos. las que encierran amenazas más poderosas. la instrucción es autodidacta. el ataque descubierto. si quiere llegar a jugar medianamente bien. Esto pasa por muchas razones. consultamos bases de datos.

en seleccionar una buena colección de partidas. Sin embargo. nos puede hacer mejorar notablemente en nuestro ajedrez. con práctica y un intenso esfuerzo por comprender lo que está ocurriendo en las partidas con este formato. Daniel King. (los dos libros son diferentes. el excampeón mundial Boris Spassky y quiero que esa experiencia ajena a mí entre dicho personaje y otro gran maestro pase a mi acervo de manera tal que se quede en mi memoria como si fuese una partida que yo hubiese jugado. aunque el título es exactamente el mismo). normalmente el autor del ejercicio califica el desempeño del estudiante. desde luego. Si en algún momento no se predice la jugada correcta. Ed. podría pensarse que no vamos a estar cuatro horas analizando una sola partida. Existen algunos libros que siguen esta idea7 pero con un elemento que refuerza la enseñanza: el calificar cada jugada que hace el maestro. parece preferible voltear hacia los viejos maestros como Alekhine. cuando uno ve la posibilidad de un remate brillante y el corazón empieza a palpitar más fuerte. Ahora bien. algo tan personal como cuando jugamos un encuentro nosotros mismos y que ponemos todo el interés en dicho momento? Imaginemos que estudio un juego de alguien como. Hay sin embargo muchos modelos de estrategia que vale la pena estudiar con detalle. y ya sabemos que las partidas con buenos comentarios siempre serán mejor que cientos de partidas en bloque sin ninguna nota. por ejemplo.Es fácil darse cuenta que una partida efectuada en cuatro horas no se puede comprender en todos sus aspectos si uno le dedica unos cuantos minutos. para hallar la jugada que sigue. La idea consiste. el recuerdo permanece porque nos involucramos en el problema. es posible que el autor de los comentarios de dicho encuentro otorgue puntos por más de una jugada y no solamente por la jugada que hizo el maestro. Una vez hecho esto. tanto los clásicos como los modernos. de hecho. probablemente. esas partidas que uno juega. Este esquema de estudio no es nuevo y. pues pareciera que eso es también perder el tiempo. Horowitz. poniéndose un tiempo razonable para el análisis personal. con la parte emocional. gana. 7 . que viendo dos decenas a velocidad constante. Así. How Good Is Your Chess? Leonard Barden. en intentar ganar y así resolver la partida de ajedrez a nuestro favor. por parte del estudiante. Ed. CornerStone Books o incluso revistas como Chess Life (EEUU) o Jaque (España). es evidente que no todas las partidas merecen un análisis exhaustivo por parte del estudiante. La retroalimentación que significa una calificación positiva en las jugadas que uno hace resultan en un afán más serio. porque sus partidas han sido analizadas hasta el hartazgo por muchos jugadores. Solitaire Chess. Digamos entre una hora y noventa minutos para el estudio de una sola partida. Sin embargo. desde luego. Ed. Cadogan. La razón es que dichos encuentros fueron analizados por uno mismo a profundidad. se conservan mucho más tiempo en nuestra memoria. e intente entonces acertar a las jugadas que en dicho encuentro se produjeron. en buena medida. el método consiste en que el estudiante se imagine jugando hombro con hombro con el maestro que ganó la partida. ¿Qué debo hacer? ¿Se puede experimentar en cabeza ajena? Podrá sorprender al lector. sin contar. con el tablero enfrente e incluso. pero la respuesta es afirmativa y el mecanismo se llama ajedrez solitario. Curiosamente no parece haberse comprendido el gran valor didáctico que puede ofrecer al estudiante dicho esquema. es común en las revistas especializadas. Siempre. Es claro que este tipo de ejercicios deben hacerse simulando las condiciones de juego estrictamente. Al final del encuentro. Considérese también que cuando uno participa en un torneo. Muchas veces en una partida de ajedrez hay más de una buena jugada. Es claro que hablamos de las partidas de los grandes maestros del tablero. Chess (Reino Unido). primero. no necesariamente tiene que serlo así. es decir. Libros como How Good Is Your Chess?. de una partida de estudio algo propio. I. empata o pierda.A. Lasker y Capablanca. Desde luego. Al principio. Y a partir de estas reflexiones surge la pregunta: ¿cómo poder hacer. Por ejemplo. En otras palabras. si uno estudia un encuentro vía esta técnica del ajedrez solitario. por ejemplo. se hace la que hizo el maestro así como la respuesta del adversario y de nuevo estamos en el camino de buscar la siguiente jugada que hizo el ganador de la partida. De hecho estoy convencido que es preferible analizar una sola partida usando un par de horas. las jugadas que uno hace estén alejadas de las que el maestro ha realizado. Dover.

y eso puede servir para ver cuánto progresa quien ejecuta los ejercicios en cuestión. pág 16. analizaba sin mover las piezas para hacerlo igual que en una partida de torneo”. el cual está en su primerísima versión (le faltarán cosas importantes. El sistema se ha diseñado mediante un lenguaje de comandos los cuales se escriben en un archivo de texto (sin caracteres de control o tipos de letras especiales). como suele pasar con los programas de computadora). con el fin de analizar todas las posibles variantes. a los cuales puede incluso dotarlos de una calificación (de acuerdo a la dificultad del ejercicio. Al principio había una gran discrepancia a favor de este último. cit. pero cuando se llegaba al punto crucial donde se encontraban dichas combinaciones y el mayor número de variantes posibles. por ejemplo). se transcribió el primer capítulo del librillo de táctica del MI Guil Russek (Para Ganar en Ajedrez. 8 Op. Al mismo tiempo intentaba ponerme en el estado de ánimo que tenía cuando estaba sentado ante el tablero en la sala del torneo”. escribía las variantes que había examinado. Colocaba a un lado el libro o cubría la página con una hoja de papel y me ponía la tarea de pensar larga y profundamente. y entonces las comparaba con las del comentarista. Luego las veía sobre el tablero. porque precisamente estos ejercicios de ajedrez solitario proveen todo esto que buscó Kotov en su momento para analizar y disciplinar su estudio. pero luego aprendí cómo ampliar mi campo y a describir cada variante con considerable exactitud. es factible crear sus propios “libros” electrónicos con posiciones específicas. De esta forma cualquiera que así lo desee puede generar sus propios libros de ejercicios. Selector). el estudiar posiciones de táctica. La descripción del gran maestro ruso es notable. . dejaba de leer los comentarios. algunas veces (especialmente en posiciones muy complejas). Ed.Kotov describe en su famoso libro8 la manera de entrenarse: “Seleccioné de libros de torneos las partidas en las que habían tenido lugar grandes complicaciones. Como ejemplo de lo que puede hacerse con este software. además de servir Entrenamiento Táctico para. Y continúa: “cuando había pasado entre media y una hora en este trabajo. precisamente. Imagen 1 Ventana principal del programa de entrenamiento táctico Por eso. aturalmente.

no hay ciclos iteractivos. es decir. Así entonces. es un archivo de instrucciones lineal. sino que además nos da el estímulo de retroalimentación positiva cuando acertamos las jugadas. por simplicidad y porque el sistema de ajedrez de esta naturaleza no lo necesita. recibiendo puntos por jugada acertada. y además.Ajedrez Editor de partidas de ajedrez solitario En el capítulo anterior hablamos de un programa que permite jugar una partida de Ajedrez Solitario. que se lleva a cabo paso por paso. el cual es muy sencillo de programar. Sin embargo. para que así. Imagen 1 Generador de scripts para ajedrez solitario . línea por línea. es decir. la tediosa labor de transcripción fuese más sencilla. de manera que en alguna medida el ejercicio no sólo nos muestra una partida magistral. La idea es entrenarse para la batalla. empecé a fastidiarme en lo repetitivo del asunto y me pregunté si no habría una manera más simple de hacer esto. la cual está codificada en un sencillo lenguaje de script. Evidentemente el codificar la partida para que quede en el formato que el programa necesita se hace en un editor de textos como notepad. entre otras cuestiones. pues es un texto sin formato que contiene las instrucciones que el programa desplegador simplemente interpreta. con la ventaja de poder añadir nuevas instrucciones cuando éstas se necesitan. se va reproduciendo el encuentro en el tablero electrónico. como un guión que se ejecuta línea por línea y así entonces. Después de haber codificado cuatro o cinco partidas. El programa del capítulo pasado sirve entonces para reproducir la partida de ajedrez solitario. intentando encontrar las jugadas correctas de uno de los jugadores de una partida magistral (normalmente quien ganó). lo que tenemos es un intérprete de comandos de un sistema basado en guiones. Y más pronto que tarde me di cuenta que necesitaba un programa para editar las partidas. por una parte se minimizaran los errores de dedo y por otro lado. El sistema tiene instrucciones que permiten añadir puntos al ‘score’ de quien está haciendo la prueba de ajedrez solitario.

El sistema generador de partidas de ajedrez solitario es un editor de textos que contiene todas las instrucciones que el sistema necesita y además.com). la codificación de las partidas debía ponérselas de manera fácil a los maestros que en Europa iban a codificar las partidas para el sitio en cuestión. se programen en inglés. Pero independientemente. permite jugar en un tablerito electrónico la partida que se quiere codificar. de manera que hace fácil y sencilla la labor de codificación de este tipo de partidas. para asignar puntuaciones. y por ende. Las instrucciones del sistema empiezan con punto y se escriben en la primera columna de cada línea.end’. Cabe destacar que todas las instrucciones del lenguaje de script están en inglés. de manera que se le puedan añadir más puntos si sus respuestas son correctas. El generador simplemente entra en un “loop” (ciclo iteractivo) y lo termina cuando encuentra la instrucción ‘. la tradición obliga a que los lenguajes de programación. pues eso es el estándar y así los que entiendan o tengan bases de programación podrán siempre minimizar la curva de aprendizaje. La razón es que el trabajo se hizo para una página de ajedrez en Inglaterra (www. Cabe señalar que las instrucciones del sistema tienen una sintaxis muy simple y en la medida de lo posible el programa generador automatiza cada una de ellas. . para regresarlas.improveyourchess. para hacer preguntas al ajedrecista (que está haciendo la prueba) en tiempo real. indicándole al usuario qué debe poner en un momento dado. Hay instrucciones para mover las piezas. incluso los de scripts.

000 patrones típicos que se dan en el juego. la combinación nace por sí misma. no hay ni que analizar qué jugada hacer: puestos todos los elementos en su lugar. Lo abrí en cualquier página y me encontré con la siguiente posición: . doble ataque. hallé una partida que le gané al FM Isidro Díaz Lombardo hace algunos años. … Dxf2!! Y las blancas abandonan. Quien haya estado con gripa sabrá lo inútil de dicha enfermedad. I – López. Se trataba de The Inner Game of Chess. Cuando desperté tomé otro libro. Esto podría explicar por qué un jugador débil no ve con la misma facilidad una buena jugada que su contraparte magistral. combinaciones de empate por ahogo. se basa en detalles que describen finalmente una posición y que por ende. Ahí ejecuté una bonita combinación con la que obligué a mi rival a rendirse de inmediato. Pues bien. han catalogado por temas las posiciones: sacrificios en h7. Dentro de uno de ellos. Pues bien. ya que después de 2. es decir. me atacó el virus gripal. la táctica en ajedrez. casi para empezar el año 2002. Dejé la papeleta para caer dormido durante algún tiempo.Txf2 Tc1+ y mate a la siguiente. Me tiró en cama tres días con sus respectivas noches. en esas condiciones deplorables. clavada. de A. Los temas son muchos pero finitos y en muchos casos las combinaciones. Es claro que en muchos sentidos las posiciones tienen características familiares y el hecho de conocer los detalles típicos nos dan la pauta para encontrar la jugada correcta en una partida. Pareciera que su único afán es mantenernos en cama por algún tiempo. cuando me hartaba de la TV me ponía a hojear algunos de los libros de ajedrez que tengo a mi alrededor. a fines de diciembre. aburriéndonos con la tele encendida prácticamente todo el día y sonándonos las narices hasta el hartazgo.Ajedrez Patrones en Ajedrez Se dice que un maestro fuerte de ajedrez tiene en su cabeza alrededor de 50. Manuel México 1993 Juegan las negras 1. Quienes estudien profundamente la táctica ajedrecística notará que ya muchos autores han hecho la tarea por uno. He aquí la mencionada posición crítica: XIIIIIIIIY 8-+-+-trk+0 7zp-+-wQ-vlp0 6-zp-+-+p+0 5+-tr-+-+-0 4-+-+P+-+0 3zP-+-+-+-0 2-zP-wq-zPPzP0 1tR-+-+RmK-0 xabcdefghy Díaz Lombardo. ataque al descubierto. Por eso la recomendación de estudiar táctica no hay que echarla en saco roto. etc. casi automáticamente. Soltis.

no lo podía creer. Txc3 especulando con que la dama blanca está defendiendo la torre de f1. pero las blancas dieron una sorpresa: 2. sin embargo. Después de 1. Encuentro la partida siguiente en donde. … Dxf7!! Y las negras se rindieron. el conductor de las negras comete un grave error: 1. Dxf7!! Y las negras abandonaron inmediatamente por el inminente mate. ni lerdo ni perezoso contestó: 2. Me pareció curioso encontrar una posición similar casi por azar. … Txg2?? Y Barua. Pero eso no fue todo: Más tarde hojeaba la revista holandesa ew in Chess 98/2. .Txe7 las negras confiaban en 1…. se repite la combinación de la que estamos hablando: XIIIIIIIIY 8-+-+-trk+0 7+Q+-+pzpp0 6p+-zp-+-+0 5+-+Pvl-+-0 4P+-+-+-+0 3+-+-+-+-0 2q+r+-+PzP0 1+R+-+RvLK0 xabcdefghy Barua-Maherramzade Ubeda (op) 1998 Juegan las negras El blanco está perdido. Aquí.XIIIIIIIIY 8-+r+-trk+0 7zpR+-vlpzpp0 6q+-+p+-+0 5+-+-zP-+-0 4-+-zP-+-+0 3+-sN-+Q+-0 2P+-+-+PzP0 1+-+-+R+K0 xabcdefghy Lee-Sakharov Campeonato Mundial Juvenil 1963 Juegan las blancas De pronto caí en la cuenta que era el mismo tema que mi partida contra Díaz Lombardo.

Este parecía en final de la historia. Pero unos días después de levantarme finalmente de la cama, hallé en el libro del MI Kopec (Mastering Chess), el siguiente diagrama:

XIIIIIIIIY 8-+-+-trk+0 7+-+l+pzpp0 6-+-+-+-+0 5+-zPp+-wq-0 4-+-zPn+-+0 3+-+-+-+-0 2-tr-+-wQPzP0 1tRN+-+RmK-0 xabcdefghy
Mc ab-Mullen Juegan las blancas Después de 1.Dxf7!! las negras tienen que rendirse. Curiosamente, hace poco aquí en la página de noticias de ajedrez www.Chessbase.com, Frederic Friedel publicó una serie de combinaciones que se dieron en un fuerte torneo en Turquía. Aquí hallé la misma combinación pero con un nuevo atuendo, es decir, en una posición totalmente diferente a las ya vistas:

XIIIIIIIIY 8-+q+ktr-+0 7+-+l+p+-0 6-+nzPpwQr+0 5+-+-+-+-0 4-+-+-+-+0 3+N+-+-+R0 2-zPP+-+PzP0 1+-mK-+R+-0 xabcdefghy
Atakisi, U – Ruck, R 4th IECC Estanbul, Turquía 2003 Juegan las blancas

Las negras aquí se equivocaron, pues su última jugada fue 30. ... Tg4-g6 en lugar de la requerida, 30. ... Tg4g8. Y aquí las blancas sorprendieron sin duda a su rival brillantemente: 31. Df7!! Tf7 32. Th8 Tf8 33. T8f8 mate. Notará el atento lector que el tema se repite. El patrón es el mismo incluso cuando la posición no lo parece. Si uno ve decenas de situaciones parecidas, si se le presentan en la práctica, es seguro que hallará la combinación ganadora. En muchos sentidos el ajedrez es búsqueda de patrones conocidos. Para conocerlos entonces hay que ejercitarlos. Es decir, en otras palabras, a trabajar esa visión combinatoria. La pregunta que surge de todo esto es: ¿se puede programar una computadora para que encuentre los patrones típicos? (como los mostrados en este artículo). Sin duda se necesita de un lenguaje que describa el tablero en las patrones que definan las posiciones ganadoras, y cómo actuar en esos momentos. En ese trabajo me he involucrado y ya he comenzado con la codificación de un software específico que defina patrones y jugadas.

Ajedrez Patrones en ajedrez II

Veo en http://npr.etri.re.kr/ un programa de computadora que “pinta al óleo” una fotografía.

Esto en realidad no algo nuevo para nosotros. En este mismo libro puede hallarse mi propia versión de dicho filtro para óleo digital. Sin embargo, la gracia del software en cuestión es que pinta de manera imperfecta. Los investigadores a cargo de este trabajo se han preguntado ¿Cómo es que ser humano hace una pintura? Y a partir de esto se entra en el fascinante mundo del “non-photorealistic rendering”, lo cual quiere decir, generación de imágenes no fotorrealístas. Las imágenes generadas con este programa nunca se repiten, no son exactamente iguales, cambian porque el software está diseñado a pintar con errores, como los seres humanos. Fantástico ¿no? De la misma manera me he preguntado muchas veces ¿cómo es que los jugadores juegan al ajedrez? Ya sabemos que ningún jugador de carne y huesos usa los algoritmos que las computadoras utilizan en general para poder jugar. Muchos investigadores de este fenómeno han encontrado que los jugadores de ajedrez no perciben una posición como una entidad estática, sino como una colección de acciones potenciales. Así, entonces, esto puede verse como que un jugador humano busca seguir las jugadas más prometedoras sin considerar todas las alternativas que existen. Para que esto pueda suceder, el jugador de ajedrez tiene que evaluar las posibles jugadas y en muchos casos tiene motivos para desechar muchas jugadas, pues no son las mejores, o al menos no lo parecen. Entonces ¿qué hace? Aparentemente busca esquemas conocidos, patrones muy específicos, en donde las jugadas correctas son claramente identificadas porque hay una continuación que gana o que adquiere una ventaja muy evidente. A partir de esto se me ocurrió que ¿por qué no incorporar estos patrones a los programas de computadora? Si esto pudiese hacerse, entonces en lugar de que la máquina analizara todas las posibilidades, podrían bien ahorrarse análisis que no lleva a ningún lado. El problema entonces es ¿cómo generar estos patrones de manera que una máquina pueda buscar en ellos y llegar a la conclusión de que hay un patrón específico aplicable? Después de muchos meses meditando sobre el asunto, encontré que se requiere de un lenguaje gráfico, que no sólo defina el patrón, la posición en el tablero, sino también la existencia de este análisis dinámico de qué pieza ataca a qué pieza/peón, para así llegar a configurar un lenguaje de patrones, que defina de la manera más humana posible, cómo es que pensamos en cada posición de ajedrez. Me tardé mucho en llegar a esta conclusión, porque en mi fuero interno estoy seguro que bien debe haber un lenguaje simbólico, algo parecido al que tiene la geometría analítica, que a través de ecuaciones puede manipular hipérbolas, parábolas y elipses. Así, para quienes sean avezados en estos temas, les debe quedar claro que y = x² habla de una

bien nos dirán algo así como esto: “mira. pues sólo el rey negro lo protege y en cambio las blancas. y además. hacer notar que el peón de negro no sólo no está defendido más que por el rey.Dh7+ Rf8 4. en primera instancia.parábola. por lo que la combinación de mate 1. considérese el siguiente patrón: XIIIIIIIIY 8-+r+-+k+0 7zp-+-+p+p0 6-zp-+p+-wQ0 5+-+-+-+-0 4-+q+-+-+0 3+-+-zP-+P0 2P+L+-zPP+0 1+-+-+-mK-0 xabcdefghy Juegan las blancas Aquí el patrón es claro: hay mate en cuatro jugadas (empezando por 1. Nótese que en este caso. Por ejemplo. Y aunque la idea sería crear un sistema en donde todas estas cuestiones las decidiera el propio software. con centro en (0. Desde luego que en algunos casos habrá necesidad de observar si es necesario tomar en cuenta otras figuras en el tablero. Mientras se me ocurría cómo generar dicho lenguaje simbólico. la situación de algunas piezas parece irrelevante (por ejemplo. tienen su poderosa dama ubicada en h6 con doble ataque a dicho peón.Axh7+). aún se requiere elaborar mucho más. al analizar esta posición. si consideramos que los jugadores de ajedrez humanos.Df7# es posible”. pero ahora con la dama blanca que está en h6.Ag6+ Rg8 3. además del alfil. sino que además. Esto en mi programa se ve en el diagrama así: . los peones blancos y el rey blanco). que en realidad está indefenso. el Alfil de c2 amenaza peligrosamente h7. El patrón entonces será: la amenaza del Alfil blanco a h7. buscando patrones existentes en las posiciones que se están jugando. el peón de f7 no está defendido por nadie.Axh7+ Rh8 2. No obstante esto.0). me puse a trabajar sobre esta idea de los patrones de ajedrez y del cómo podría ser útil para poder hacer un programa que jugara al ajedrez y buscara las jugadas más prometedoras. La misma amenaza. Por otra parte. impide el escape del monarca negro del inevitable mate.

cómo se defienden entre ellas. lo que no interactúa con el patrón que buscamos tendremos el siguiente diagrama definido: XIIIIIIIIY 8-+-+-+k+0 7+-+-+p+p0 6-+-+-+-wQ0 5+-+-+-+-0 4-+-+-+-+0 3+-+-+-+-0 2-+L+-+-+0 1+-+-+-+-0 xabcdefghy Y su patrón: . en cambio. es decir. muestran las piezas negras que están siendo atacadas por las respectivas piezas blancas. Las flechas rojas.Nótese que las flechas azules describen las piezas blancas interactuando unas con otras. es decir. Si quitamos todo lo que sobra.

Probablemente los haya para la táctica. por ejemplo. Si se tiene una colección de patrones. bien podemos poner la secuencia de mate u orientar al software para que entonces sólo analice esta posición específica. una “pieza” en el tablero que sirva simplemente para identificar que una figura blanca ataca una casilla determinada porque en este caso sería parte de un patrón específico y totalmente claro). Imagen 2 El software de análisis de patrones . aunque desde luego que tengo muchos libros e información ajedrecística acumulada en tantos años. quizás ya alguien ha hecho una especie de catálogo de patrones de posiciones de ajedrez. lo cual quitaría de tajo todos los análisis inútiles que la computadora hace cada vez que valora las jugadas en una posición dada (aunque lo haga muy velozmente. el problema se reduce a hacer una búsqueda en la base de datos de patrones y si se encuentra alguno. pero ¿para la estrategia? ¿No podría generalizarse algo de esta naturaleza para este tema siempre más complejo que el cálculo de jugadas? Me parece que esta idea tiene sus virtudes y hay que explorarla más a fondo. cómo actuar en el tablero. cómo jugar. Igualmente. que conste). ya se sabe qué hacer.Una vez con esta información. El software en acción Aunque mi programa es aún experimental y no está terminado (no estoy aún muy convencido si necesito una simbología más rica.

De hecho. porque no iba a estar “monitoreando” la red. éste comenzó a fallar. Así. que finalmente hay que irse con el gigante en el mercado. en alguna ocasión. Pensé en ese entonces. escribí un programa que verificaba –minuto a minuto– la conexión con la red de redes. que me indicaba. allá por los tiempos en que estaba conectado a Cablevisión”. nos guste o no. que reclamé porque no tenía Internet por horas. sin importar si la señal de tv por cable funcionaba. fallaba también la de Internet. El sistema creaba una bitácora (un archivo de texto). me cambié a Infinitum. el soporte técnico de Cablevisión era poco menos que pésimo. Poco después. en unas pocas horas he salido con un programa renovado. minuto a minuto para ver si seguía conectado o no. funcional prácticamente todo el tiempo y con un área de soporte que ninguna otra compañía que dé servicios de Internet puede tener. actualizado. es una megaempresa y su servicio de Internet de banda ancha es muy sólido. y no me equivoqué. Prometí enviarle a mi amigo el software y así lo hice. Éste. Porque sí. que sigue teniendo la funcionalidad del original. Obviamente su petición era un poco absurda. si hubo desconexión y cuánto tiempo efectivo no se tuvo acceso a Internet. La experiencia fue de mal en peor. puedes usar un programa que escribí para monitorear la conexión a Internet. simplemente Internet no se conectaba a ninguna velocidad. corregir un par de situaciones que no me terminaban de gustar y así. cuando tenía mis dificultades con el servicio mencionado. Infinitum de Telmex. Le dije que hablara con el proveedor y que le platicara su problema y entonces añadí: “si el problema no se ha arreglado aún. al final de la jornada. No solucionaban nada. porque un par de meses después de que tenía mi brillante servicio de banda ancha.Internet ¿Está conectado a Internet? Hace quizás ya unos pocos años. era mucho más barato… pero como dicen por ahí: lo barato sale caro. decidí darle una “manita de gato” al código fuente. Imagen 1 El monitor de Internet midiendo si uno está conectado a la red . pero ahora luce una interfaz más moderna. Si se iba la señal televisiva de Cablevisión. quien me atendió en esa empresa me dijo que anotara cada vez que el cablemódem me desconectara de la red. comparado con su mayor competencia. cuando empezó la conexión de banda ancha a Internet. lo dejaban a uno en la línea de “atención a clientes” por tiempo indefinido y cada problema llevaba al menos una semana intentar resolverlo. Telmex. porque en ese tiempo (no sé ahora. Y sí. No obstante que el programa es aún funcional. La realidad es que el servicio de Teléfonos de México lo hace muy bien y no tengo quejas… Pero he aquí que un amigo mío me dice que hace un par de días que su conexión a Infinitum parece estarlo desconectando contínuamente. contraté con la empresa Cablevisión su servicio. porque después de esta experiencia no quiero saber más de ellos).

com) o google (www. el comando ping. (La historia completa en http://ftp. . Para ello. es intentar saber si algún sitio –que comúnmente está funcionando en la red de redes– está activo o no.mil/~mike/ping. he de decir que saber si uno está conectado a Internet es un problema que puede resolverse de muchas maneras.google. pues ambos sitios siempre están funcionando.arl. que precisamente me dice si el sitio web está activo. utilizamos un comando llamado “ping”. a mi entender.Para quienes estén interesados en la parte técnica. Un ejemplo es usar yahoo (www. el “ping” manda una serie de bytes al sitio y éste responde con otra secuencia en milisegundos. el cual es un programa originalmente en Unix. es bastante probable que lo que esté pasando es que estamos desconectados nosotros. de acuerdo al autor.html). La más fácil.yahoo. Curiosamente. sino que. Una vez elegido el sitio.com). Con ello podemos asegurarnos que estamos o no conectados. Si no lo está. no es el acrónimo de “Packet InterNet Grouper”. le puso “ping” porque pensaba que hacía el mismo ruido que lo que hace un sonar cuando encuentra un punto de interés en la pantalla del mismo.

Internet Mi solución contra el correo chatarra

Hace unos días empecé a recibir una centena de correos en donde se me indicaba que mis mensajes estaban rebotando, es decir, no llegaban a su destinatario. Se me hizo raro, porque no suelo mandar cientos de mensajes de correo por día. Lo que descubrí entonces fue que un spammer usaba –para mandar su propaganda de medicinas contra la impotencia– mi dirección de correo como remitente. Cuando algún destinatario no existía o rebotaba por la razón que fuere, yo, y no el spammer, recibía los mensajes de error. Llevo así una semana con cientos de mensajes por día de correos no recibidos o fallidos. Lo peor es que en algunos sitios ya me bloquearon pues mi dirección es de spam. Vaya, que estoy como “boletinado” por spammer, aunque claro está, no es mi culpa. Lo peor del asunto es que no se puede hacer nada para evitar que alguien use una dirección de correo específica para usarla como remitente. Esto ocurre porque el protocolo de correo (SMTP Simple Mail Transfer Protocol, por sus siglas en inglés), no fue diseñado para autentificar al remitente. Y de hecho, Microsoft está apelando por una iniciativa para cambiar el protocolo de correo y así hacerlo más robusto, minimizando el problema del spam. El spam ha sido considerado ya un problema serio en la red. Para empezar, como el envío de correo electrónico es gratuito, entonces hay quien se sirve de inmediato con la cuchara grande. Para un usuario de Internet, mandar mil mensajes o uno solamente es igual, no tiene costo. Cuando la mercadotecnia se dio cuenta de las posibilidades que esto ofrecía para promover sus bienes y servicios, entonces nos inundaron nuestros buzones virtuales con cuanta basura, desde proponer hacerse rico poniendo una granja de avestruces, hasta el comprar una estrella y bautizarla como mejor queramos (aunque esto es un fraude porque no se pueden comprar los nombres de las estrellas). La realidad es que mucho del spam existente bien podría eliminarse si quienes proveen los servicios de Internet limitaran la cantidad de correos que sus usuarios pueden mandar. ¿Cuántos correos por día mandará una persona “normal” en Internet? ¿cincuenta? ¿cien? ¿mil? Yo creo que mil por día ya es excesivo, pero asumamos que los proveedores del servicio de Internet limitaran a 1000 mensajes diarios por usuario. Sin duda mucho spam desaparecería, porque estamos hablando que los spammers mandan miles de mensajes diariamente. Como el asunto del spam no parece tener una solución trivial, se han buscado muchas alternativas. Una de ellas, que se me ocurrió a mí (aunque no soy el único), es la de atacar el fuego con fuego. Si reconozco a un spammer, le mando 1000 correos idénticos, reclamándole su actitud. Obviamente eso sólo puede hacerse con un programa, el cual escribí en el 2004 con las herramientas que en ese entonces tenía. Hoy, usando actualizaciones del software que uso para programar (Delphi), hacer un programa que mande correos idénticos a una dirección de email es un asunto casi trivial. Así que le di una manita de gato al que escribí en el 2004 y lo actualicé. Usando Indy, unos componentes específicos para Internet (que vienen en Delphi), los cuales están más trabajados que en versiones anteriores, ya no he encontrado errores de sockets ni de sincronía al hacer la conexión a la red de redes, asunto cotidiano con la versión del 2004 (y el cual no sabía cómo resolver).

Imagen 1 Contra el correo chatarra Sé que más de uno dirá que con mi solución sólo doy pie a que exista más spam aún. Yo creo que tenemos el derecho a atacar con las mismas armas a quienes nos atacan, sino pues estamos en desventaja. Pienso que mi software no será la solución final y que quien decida usarlo lo haga de manera responsable y no a todo aquel que piense que lo spamea, valga la expresión.

Internet Biométrica: o es lo que escribes, sino cómo lo escribes.

Los sistemas de cómputo están en todos lados. Son parte de nuestra vida cotidiana y no se concibe el mundo moderno sin computadoras, cajeros automáticos, teléfonos celulares, la red internet, etc. Para que dichos sistemas sean efectivos, deben de ser seguros, de tal manera que la información que posean solamente esté disponible para los usuarios autorizados. La seguridad de los sistemas de cómputo modernos se basa usualmente en mecanismos de autentificación a través de nombres (login) y contraseñas (passwords). Algunas instituciones con información muy sensible o importante requieren del uso de tarjetas de identificación personalizadas o bien, de terminales especiales. El mecanismo tradicional de nombres de usuario/contraseña ya no es –quizás– suficientemente seguro debido a los ataques constantes de terceros por hacerse de esta información para ingresar a sistemas de cómputo de manera ilegal. Debido a esto, aquí exploramos la posibilidad de incorporar la dinámica del teclado, como una expresión medible de un usuario de forma tal que ahora no solamente se puede acceder a un sistema con el nombre y la contraseña correcta, sino además, midiendo si el usuario escribe su contraseña como acostumbra hacerlo. Se sabe, desde hace mucho, que el ritmo al escribir en un teclado es específico para cada usuario9. Este ritmo depende, desde luego, de las costumbres y prácticas que tenga la persona con el teclado. Quienes usan frecuentemente máquinas de escribir o teclados de computadora incluso, escriben correctamente sin necesidad de mirar las teclas. Quienes tienen menos experiencia son más lentos en su escritura. De esta forma, es factible pensar que la manera de escribir es una medida biométrica y que es susceptible de ser analizada e incorporarla en esquemas de nombre/contraseña, para así autentificar de manera más sólida al usuario que pretende ingresar en un sistema de cómputo. El método aquí estudiado tiene que ver con los tiempos que el usuario tarda en oprimir cada tecla de su contraseña, lo cual forma un perfil biométrico digital, el cual puede ser analizado y comparado para saber si se trata del usuario con permisos para ingresar al sistema.

Está en tus manos, en tu cara, en tus ojos La biométrica es la medida de las características físicas y de comportamiento que nos hace a cada ser humano único. A diferencia de los nombres/contraseñas de los sistemas de cómputo, ciertas medidas biométricas no se pierden, no pueden ser duplicadas o robadas. Pertenecen a cada ser humano en particular. Esto da la posibilidad de sistemas que sean imposibles de ser violados por terceros de manera ilegal, puesto que la información biométrica de los usuarios es única e irrepetible. Las características fisiológicas como pueden ser las huellas digitales, son buenas candidatas para la identificación de personas, ya que son únicas para cada ser humano, incluso si se trata de gemelos idénticos. Más aún, son difíciles de copiar sin causar daño severo a la persona. De esta forma, la biométrica está ganando popularidad, porque cuando es usada en conjunto con métodos como contraseñas o incluso tarjetas de identificación electrónicas, proveen un nivel extra de seguridad. Algunos de los sistemas biométricos usados para identificación humana se basan en la geometría de las manos, patrones térmicos en el rostro, las venas en la retina, voz y firmas manuscritas. Hoy en día hay algunos dispositivos de reconocimiento biométrico en el mercado. Sin embargo, algunas técnicas usadas por estos mecanismos son fáciles de burlar o bien, son generalmente costosas e invasivas.

9

Benjamin Miller. Vital Signs of Identity. IEEE Spectrum, pp 22-30, 1994

es lo mismo. . se define un “perfil” digital de cada usuario. Bajo esta concepción. Los perfiles. debe existir un factor de tolerancia para intentar discernir si la contraseña alimentada al sistema y su perfil. se parecen lo suficiente como para dar acceso a ese usuario particular al sistema. se decidió utilizar ciclos de reloj para generar el perfil del usuario. ¿Cómo son? Un perfil digital del teclado se define como el tiempo que tarda un usuario en escribir su clave o contraseña. para posteriormente ser analizados. el cual funciona similarmente a la firma manuscrita que la gente tiene. medir ciclos de reloj de la máquina que milisegundos. Una vez realizado esto. no lo hace más pobre que una medida biométrica tradicional y tiene una gran ventaja: es prácticamente gratuita. pues no se requieren de dispositivos extras. ésta pasa por dos filtros: (a) ver si se trata de la contraseña correcta y (b) si se cumple con el perfil digital. El hardware actual de las computadoras permite medir tiempos hasta de milisegundos. es factible entonces medir –con relativa precisión– los tiempos de retardo entre tecla y tecla oprimida. cuando el usuario alimenta su contraseña. sino cómo lo escribes La forma en que un usuario escribe en el teclado de la computadora tiene más de medición del comportamiento humano que de características fisiológicas. siempre y cuando sea lo suficientemente precisa. Esto sin embargo. De hecho. Características del sistema Un perfil digital del teclado se obtiene midiendo los tiempos que el usuario tarda en escribir una tecla y la siguiente. El único hardware requerido es el teclado.o es lo que escribes. para efectos prácticos. La imagen 1 muestra el perfil del usuario cuya contraseña es “la_morsita”. no importa qué medida se tome. donde el eje x contiene el número de teclas orpimidas y el eje y los tiempos de retardo de una tecla oprimida a la siguiente. En este caso. se basa en medir los tiempos de retardo que cada usuario en particular tiene al escribir su contraseña. Imagen 1 Perfil de un usuario cuya contraseña es “la_morsita”. permitiéndole al sistema medir los tiempos de retardo entre tecla y tecla oprimida. De esta manera. Así. La medida de su parecido es la que decide si se da acceso al sistema al usuario en cuestión. En algunos casos es factible incluso medir los ciclos de reloj a través de instrucciones de bajo nivel o de ensamblador. Debido a factores que se explican más adelante. Debido a esta resolución. lo que se necesita es un programa que mida primero dichos tiempos de retardo y los guarde. Los datos obtenidos pueden ser analizados a través de una gráfica cartesiana. Algunos autores le denominan a esto tiempos de latencia o retardo. La intención en este caso.

November 1999. Los métodos van desde la estadística descriptiva (usando la t de student para comparar la muestra de un usuario contra la hipótesis (el perfil))10 hasta aquellos que utilizan redes neurales. el análisis de perfil es un arreglo que muestra las pendientes de la curva diente de sierra del perfil y compara. De esta manera se pretende identificar a un usuario legal de un impostor considerando la analogía del perfil contra una firma manuscrita. Sin esta información parece más difícil que un impostor acceda a un sistema a través del robo de alguna contraseña. El perfil de la imagen 1 se convierte entonces en: positivo negativo positivo negativo positivo negativo positivo negativo positivo. En esta primera aproximación. el perfil digital se convierte en una lista de valores que definen si la pendiente es positiva o negativa (la pendiente. si un usuario impostor conoce el método que se está usando para medir el perfil digital. Análisis de los perfiles Existen muchas ideas al respecto de cómo analizar un perfil digital del teclado para así saber si el usuario es el correcto y no un impostor. sobre las pendientes que dicho perfil tiene. la idea es que el sistema mantiene en secreto la manera de validar un perfil. contra la alimentación de la contraseña por parte del usuario. el cajero rechaza el cheque y no lo paga (o bien. Sin embargo. es decir. considerando el perfil gráfico mostrado en la imagen 1. lo que parece evidente es que. Evidentemente los usuarios no escriben de la misma manera. Así. por ejemplo. aquí necesitamos un factor sobre la comparación de los perfiles digitales contra los que el usuario escribe. De esta forma. En este sentido. pp. La comparación se basa más en la forma de la gráfica que en otros datos. y tardándose estrictamente lo mismo. Así entonces. Sin embargo. Password Hardening Based on Keystroke Dynamics. Factor de Tolerancia Si le pedimos a un usuario que haga su firma manuscrita un par de veces. intentando discernir si el tipo de perfil pertenece al que el usuario ha introducido. Michael K. A este factor le llamamos Tolerancia y lo tomamos como una medida porcentual sobre la cantidad de pendientes donde se es igual el perfil registrado a la contraseña alimentada. De la misma manera puede analizarse el perfil digital de una contraseña para saber si es lo mismo que el usuario escribió al digitar su contraseña. Sin embargo. Sin embargo. 10 . Dicho de otra manera. Si la firma le parece que no coincide visualmente. un mismo usuario mantendrá constante un mismo perfil. no estamos siquiera considerando el valor de la pendiente. este factor va de Fabian Monrose. Reiter. la forma del perfil se mantiene constante. pide al cobrador más pruebas de su identidad). Ciertas curvas en las letras. Proceedings of the 6th ACM Conference on Computers and Comunications Security. podría hacer las pausas adecuadas para así acertar al perfil registrado. el cajero tiene que hacer una validación de la firma mostrada en le documento contra la que él tiene en sus registros computarizados. cierta fuerza y presión en algunos de los rasgos escritos identifican de manera general a un usuario verdadero de uno falso. debido a la naturaleza de la gráfica. solamente si es positiva o negativa. una línea vertical). La magnitud de cada diente de sierra será mayor en la medida que el usuario tarde más al pasar de oprimir una tecla a la siguiente. por lo menos en un buen porcentaje. en un cheque. por la naturaleza discreta de los eventos dentro del teclado. Desde luego. jamás puede ser infinita. su contraseña. pendiente de una tecla a la siguiente. observaremos que ambas firmas no son estrictamente iguales. en una primera aproximación. el análisis debe hacerse directamente. lo interesante es hacer un primer análisis y descubrir si es lo suficientemente adecuado para los fines de seguridad que se persiguen. Susanne Wetzel.Todos los perfiles tienen finalmente una forma de “diente de sierra”. Pruebas empíricas demuestran que al escribir repetidamente una palabra (contraseña). 73-82. Con el mismo criterio. hay ciertos elementos que la identifican como escrita por la misma persona.

Imagen 2 Contraseña alimentada por un impostor (en azul) contra el perfil de la contraseña “la_morsita”. El porcentaje de coincidencias es de 39%. El acceso es rechazado. el sistema rechazará a este usuario. La imagen 4 muestra la ventana principal del programa de demostración: .0% a 100%. Aquí las coincidencias son del 79% por lo que el usuario tiene acceso al sistema. si el factor de tolerancia es. La imagen 3. Aquí el sistema da un porcentaje de acierto de 39%. De esta manera. no se le dará acceso al usuario. en cambio. La imagen 2 presenta el intento de un impostor de duplicar el perfil del usuario cuya contraseña es “la_morsita”. por ejemplo. Imagen 3 Contraseña alimentada (en azul) por el usuario legal contra el perfil de la contraseña “la_morsita”. El porcentaje de coincidencia es de 79% y el acceso es permitido. El sistema está escrito para Windows 98 en adelante en el lenguaje Delphi 5 (de Borland). Si nuestro factor de tolerancia es de 80% le estamos diciendo que mientras el sistema no identifique el 80% de las pendientes correctamente. Software de demostración Todos los análisis se llevaron a cabo en un programa de demostración para entender en la práctica la validez de los perfiles digitales biométricos del teclado. 65% (aún así bajo). muestra al usuario correcto escribiendo su contraseña.

por ejemplo. Botón Ver/esconder gráfica: permite al usuario desplegar solamente las gráficas que le interesen. se necesitan pruebas estadísticas considerando todo género de usuarios.. el cual contiene la contraseña alimentada y los números que describen el perfil de quien alimentó ese dato. (a) que la contraseña sea la misma y (b) el porcentaje de similitud de las pendientes del perfil registrado contra el perfil alimentado. Sin embargo. Se miden dos factores. . Botón Salir: termina la ejecución de este programa. podemos concluir que el esquema del análisis de las pendientes. Botón Verificar contraseña: Aquí el sistema comparará la contraseña alimentada contra el perfil que dicha contraseña tenga. ante la falta de perfiles las conclusiones sobre la bondad de esta idea aún están en tela de juicio. A continuación la descripción de los mismos: Botón Inicializa valores: Limpia el campo de alimentación de la contraseña y la última gráfica (y perfil) alimentado. Botón Lee perfil: permite graficar cualquiera de los perfiles que se encuentran en el archivo de contraseñas. 90% de tolerancia significa que el usuario debe escribir su contraseña con un mínimo de certeza del 90%. De esta manera se pueden comparar los valores alimentados contra un perfil determinado. Obviamente.: despliega información sobre el autor de este software.Imagen 4 Ventana principal del software de demostración El sistema contiene una serie de botones que permiten las diferentes acciones de procesamiento y análisis. en donde una pendiente. porque de ser menor. Botón Añade password/perfil: permite –una vez alimentada una contraseña– guardarla en el archivo de contraseñas (‘passwords. Barra deslizable de tolerancia: Permite al usuario definir cuánta tolerancia (entre la contraseña de un perfil y la alimentada por el usuario) debe haber para aceptarla o rechazarla. así como una incertidumbre de tolerancia. Botón Ayuda: despliega una nueva ventana con la ayuda sobre los botones y comandos del sistema. Botón Acerca de. Desde luego que es posible generar más parámetros de comparación..txt’). Algunas conclusiones preliminares Para probar que este esquema de perfiles digitales biométricos basados en el retardo entre teclas puede validar a usuarios legales de impostores. el sistema rechazará esa contraseña por inválida. considerando solamente si son positivas o negativas da un buen acercamiento a la validez de la idea. Por ejemplo.

Sin embargo. incluso sabiendo el método de verificación usado. pero es obvio que el perfil de un usuario y su contraseña puede ser muy diferente si se usa un teclado de laptop o computadora portátil. evitando así que un impostor pudiese. drogado. Es nuestra opinión que un sistema basado en contraseñas y perfiles dinámicos del teclado pueden incrementar la seguridad de los sistemas de cómputo. entendemos que se necesita muchas más experiencias prácticas para validar los beneficios de esta idea. etc. Esto quiere decir que el perfil de un usuario a través de la dinámica del teclado es susceptible del tipo de teclado que se está usando. se estaría incorporando más precisión a la comparación.). Quizás en este caso la única manera de soslayar esta dificultad sea subir el nivel de tolerancia sobre el perfil alimentado contra el que pueda dar el usuario al alimentar la contraseña. De esta manera. . duplicarlo.comparada contra la del perfil. sea igual en ±10%. Cabe señalar que las pruebas se hicieron con un teclado estándar de computadora. Esto puede ser interesante en sistemas de cómputo con información muy sensible. por ejemplo. Es evidente que si un usuario legal en un sistema no viene en las condiciones adecuadas para usarlo (enfermo. el sistema podría así evitar que se introdujera al mismo. A la fecha no tenemos ninguna respuesta a esta problemática.

Por ejemplo. La naturaleza humana parece estar dispuesta a estirar todas las reglas al límite. es necesario llevar un control sobre los sitios que visitan y a qué páginas acceden. la red de redes. y considerando los peligros que ciertos contenidos pueden ser malinterpretados por los pequeños. Es posible bloquear direcciones específicas así como aquellas que contengan secciones de palabras. Cuando éstas se rompen entonces vienen las consecuencias. como todo lo que hace el ser humano. si hay pequeños en casa. si encuentra algún contenido ofensivo (o declarado así por el usuario). Por ejemplo.com e www. cerrará dichas ventanas de cada navegador en donde aparezca esa parte de la palabra dentro de la dirección www de internet. y bloquea –cerrando la ventana del navegador ofensor– automáticamente. Por ejemplo. una vez ejecutado. www. por los motivos que sean. Esto puede hacerse copiando el programa al directorio o carpeta: C:\WINDOWS\Menú Inicio\Programas\Inicio (considerando que usa Windows 98. no se puede cerrar. Como ejemplo ilustrativo. sin importar que haya más de una instancia del mismo. si queremos bloquear las direcciones en donde aparezca la palabra ‘sex’. En 15 segundos a más tardar. basta con escribir esa palabra en los URLs a bloquear. . abramos tres instancias de Internet Explorer. pero claramente. decidió poner manos a la obra. Vea su manual del usuario para hacer este cambio en Windows 2000.com. desde el menú de la ventana principal. El sistema analiza cada 15 segundos los programas que están ejecutándose en la PC y así. Se han deshabilitado estas opciones. NannyWare es un programa que bloquea los sitios que un adulto no quiere que sean vistos por menores u otras personas. puede ser llevada a los extremos. muchas veces hay contenidos para adultos en un sinfín de páginas. es decir. Por ello mismo. Córrase NannyWare y dígasele que se quiere bloquear todas las direcciones que tengan la palabra ‘chess’. esas tres páginas se cerrarán automáticamente. El sistema. es uno de los inventos más notables de nuestra época. En cada una póngase una de las direcciones web mencionadas. supongamos que queremos. es claro que la facilidad para encontrar información en Internet.chesscafe. bloquear el acceso a www. no puede ser eliminado de la memoria.com. XP o Vista). bloqueé la ventana cerrándola para no poder ser accedida. No obstante. Debido a que muchas veces no es posible estar al pendiente de los menores. El usuario podrá notar que no funciona el botón ‘X’ para cerrar la aplicación o bien. debido a la naturaleza pública y sin censura de la red.inforchess. o preadolescentes. La Morsa Software Co.chessbase.Internet Cuide a sus hijos Internet puede ser una herramienta estupenda. No quiere decir que el sistema funcione mal. El sistema revisará que cuando Internet Explorer se encuentre en un sitio en donde ‘sex’ aparece en alguna parte. La tecnología de NannyWare captura las direcciones que se escriben en el navegador Internet Explorer. generando annyWare como una posible solución al problema de control de contenidos en la red. Se sugiere que el sistema se cargue siempre desde el arranque de Windows.

NannyWare funciona en esta versión sólo con navegadores de Microsoft (Internet Explorer).Imagen 1 annyware. Mozilla. cualquier persona con ciertos conocimientos de cómputo y particularmente. del sistema operativo. El archivo no se puede ver normalmente porque el propio generador lo pone de modo invisible en la carpeta o directorio en donde se instaló. Avant Browser y otros. Sin embargo. Dicha clave se guarda en el directorio en donde fue instalado nannyware y se llama password. . considerando que el nivel promedio de los usuarios de la computadora personal carece de conocimientos al respecto. de forma tal que sea difícil saber cuál es la contraseña y así dar de baja el programa y evitar su funcionamiento. nannyware puede ser una estupenda herramienta para proteger de contenidos ofensivos o indeseables en un momento dado. podría cancelar este programa y con ello su posible efectividad. para proteger a los menores El sistema cuenta con un programa que genera una clave o contraseña para que solamente un usuario autorizado pueda dar de alta/baja/cambios ligas de Internet (URLs). Cabe señalar que en términos generales.txt. Se está trabajando para poderlo usar con navegadores como Netscape.

evidentemente. pero cuando esto se hace el efecto es general.Internet Bloqueador del ms–messenger Uno de los problemas que se están convirtiendo en “endémicos” en el cómputo actual es el uso y abuso del mensajero instantáneo. Probablemente la reprimenda caiga mal en quienes la reciben y ante la eventual amenaza de un despido. El sistema debe instalarse en la máquina del usuario que usa este programa (es decir. Sin embargo. se me ocurrió escribir un programa bloqueador de MSN Messenger. Por ende. es importante. El monitoreo se hace cada dos segundos y tiene algunas características que lo hacen difícil de detectar en la computadora. ya que los mensajes y pláticas se dan incluso de continente a continente. es un extraordinario avance de la comunicación. el software trabaja de manera local). Sin embargo. se midan más en el uso del Messenger. la ayuda de este tipo de programas para comunicarse incluso en un negocio. con el tiempo. son la mayoría. tales regaños tienen poca efectividad y a la larga no queda más remedio que tomar acciones más severas. y entiendo que en muchos casos. todos los usuarios de la red están imposibilitados de usar el programa prohibido. Así pues. me refiero). que si el usuario no es muy avezado en cómputo (incluso algunos con cierta pericia técnica). Por supuesto. es decir. de tal manera. a quienes que habría que bloquear son a aquellos que de alguna manera abusan. Una manera de enfrentar el problema es hablar en la oficina con quienes consideramos abusan de este privilegio del mensajero instantáneo. lo cual en mi opinión. Lo he visto instalado en oficinas de gobierno. En algunas ocasiones. esta solución no es la mejor. pues. Sin duda que día a día millones de mensajes “instantáneos” pasan entre máquinas y eso. en todas partes. porque la gente está platicando vía este programa. de tal forma que cuando quiere entrar a platicar en línea. en las oficinas no está aún valorada la cantidad de tiempo que se pierde (horas de trabajo. mi programa se da cuenta y cierra inmediatamente la aplicación. en las universidades. en particular el MSN Messenger. Imagen 1 Logotipo del bloqueador de mensajeros instantáneos (cortesía de Juan López) Obviamente los administradores de las redes locales cuentan con herramientas para bloquear cualquier programa. lo único que . no es posible bloquear en una oficina el uso de este programa pues quienes primero brincarán son los que lo usan para el trabajo mismo.

sus cuentas de correo están. No es. los que consideran que Google es una maravilla. es decir. en GMail. pero para el problema que nos ocupa resulta bastante acertado el enfoque. y éste último incluso vía voz. desde luego. Por ejemplo. esconder una aplicación dentro del sistema y no indicar cómo está escondida para hacerle difícil de detectar. y más aún.notará es que el messenger se ha estropeado e incluso. al ser humano muchas veces no se le puede tratar con la razón. no falta quien quiere sacar ventaja de ello o se siente más inteligente que los demás porque hay personas que creen que las reglas son para los tontos nada más. Hay otros mensajeros instantáneos en el mercado. pues simplemente no hacen caso. de acuerdo a mi experiencia. reinstalándolo. sin duda. A la fecha bloquea los mensajeros ya mencionados. el mejor método. La realidad es que la idea de la comunicación instantánea vía Internet es muy buena. pero el abuso es el que le da al traste completamente. después de entender cómo bloquear al MSN Messenger. 11 . Si nos fijamos en el mundo moderno. También está Yahoo! Messenger. De esta manera. desarrollé todo un sistema bloqueador de mensajeros instantáneos. explicándoles el abuso en el que incurren. las reglas de convivencia casi exigen siempre un castigo o multa a los eventuales infractores a una regla del sentido común. con su nicho de usuarios muy bien establecido. Todos ellos son sistemas de chateo. Desafortunadamente. AOL Instant Messenger e incluso Skype. usan con alegría Google Talk. De hecho. que nos beneficia a todos. Este esquema se llama “seguridad por oscuridad”. se ha intentado esconderlo lo suficiente para que sea difícil de deshabilitar. Cabe señalar que un usuario más o menos avezado en cómputo podría hallar la manera de desbloquear el Messenger. no le permite reiniciar su antigua práctica de platicar mientras está trabajando11. pero que desde luego.

El juego –como puede verse– tiene cada vez más restricciones y cada vez resulta más difícil poner una palabra.. Al llegar a mi casa encontré que Jesús ya me había mandado el archivo con 449.. ni ‘O’ ni ‘T’ en la cuarta posición.. compartió para que este programa pudiese hacerse. Las restricciones crecen palabra a palabra. ni ‘S’ ni ‘L’ en la tercera posición. que deben de ser de seis letras. Cuando lo vi pensé que sería muy fácil hacer un programa que buscara en un diccionario las palabras y dadas las restricciones. ¿de dónde sacaría yo un diccionario con muchos términos para ser usado? Casualmente ese día. ¿Qué palabra podemos poner? A mi se me ocurre PASTAS Entonces si esa es la palabra elegida por el concursante tendremos PELOTA PASTAS Aquí entonces empiezan más problemas. me reuní con el “Gemelo” (Jesús Ortega. porque termina en ‘A’ y ya está en la sexta posición (en ‘PELOTA’) esa ‘A’. Pensemos en alguna otra. .305 palabras. Por ejemplo. una ‘T’ en la quinta y una ‘A’ en la última letra. pero que no se repitan ninguna de las letras en el orden que están en la primera palabra. al platicarle mi idea. Dichas palabras pueden ser de una cantidad de letras variables. Así. y que la primera palabra (la que se da inicialmente en la televisión) es PELOTA Ahora sabemos que tenemos que formar palabras que empiezan con ‘P’. Ahora la tercera palabra no debe tener ni una ‘A’ ni una ‘E’ en la segunda letra. ‘PUDRIR’. una ‘O’ en la cuarta. Nada despreciable. tenga la misma longitud que la palabra original. en donde se trata de formar palabras. inicialmente. y que además. así que se puede llegar a un monto interesante. creo que se va duplicando.. el cual.. con las siguientes restricciones: ya no puede ponerse en la nueva palabra una ‘E’ en la segunda letra.. por ende.Proyectos varios Juego de palabras Veo en la televisión un concurso. ni ‘A’. casi medio millón. Parece que ésta sí se puede poner. una ‘L’ en la tercera. Pensemos en alguna otra. también conocido como Yixus). puse manos a la obra y en un par de horas hallé cómo hacer las búsquedas. tenía un amplio diccionario. Debe llegar el momento en el que ya no se puede poner ninguna. mientras pensaba cómo hacer. pero una vez que ya se puso la primera palabra. Por cada palabra puesta.. imaginemos jugamos nosotros (por teléfono es el concurso). El concurso trata de encontrar palabras que empiecen con la primera letra de la primera inicial. La tesis del gemelo fue precisamente sobre un programa para jugar scrabble y él. se gana dinero. El software Hasta aquí el juego. la longitud de las siguientes palabras queda fija. Veamos PELOTA PASTAS PUDRIR Y así sucesivamente.. pero no sirve. incrementando las restricciones obligadas por el juego. Por ejemplo ‘PIEDRA’. pero la cuestión era. ni ‘T’en la quinta posición y tampoco ‘A ‘ni ‘S’ en la sexta posición. No debe ser un programa difícil de hacer. me fuera diciendo qué palabras sería posible poner. que ha sido (o es) el campeón nacional de Scrabble.

Coloque la primera palabra en el casillero que dice Palabra del concurso Ésta es la palabra inicial. De aquí elegí. que le dé una palabra diferente a la primera. en donde la palabra inicial es PELOTA Si le damos buscar. considerando las restricciones que inicialmente se ponen. ‘PANZON’. el juego queda así: PELOTA PANZON . dando click sobre el botón ‘Buscar’. pues con la selección de cada palabra se va limitando el número de posibles palabras que pueden ser elegibles. por ejemplo. Consideremos el ejemplo original.Desde luego ahora había que programar las búsquedas lo cual es un interesante ejercicio de programación. Normalmente puede empezar el juego o bien pedirle que haga un juego nuevo... Así. nos dará un montón de palabras. Imagen 1 El software en acción ¿Cómo se usa el software? Instale el programa corriendo el ejecutable. Este procedimiento es todo automático y al final tendrá un icono que al darle doble click. Ahora puede decirle al programa. Tal vez ésta fue la parte más difícil de programar. ejecuta el software. Encontrará entonces un menú muy simple: ‘Juego’ y ‘Ayuda’.

. marcar la palabra con el ratón y dar doble click. definitivamente... será más restrictiva que la anterior y nos dará. Pero el sistema nos dio siete palabras y no tuvimos ni que pensar.170 palabras que puedo poner.. Elijo PRIMER y la coloco en el juego PELOTA PANZON PICADO PLACAS PORQUE PRIMER Hagamos una búsqueda más..... Puede verse que el programa encontró 796 palabras que pueden ponerse ahí.Podemos escribir la palabra en la caja de ‘palabra del juego’ o bien. PELOTA PANZON PICADO PLACAS PORQUE PRIMER PUERIL Una búsqueda más no da más palabras. la palabra pasará a la ventana del juego. PELOTA PANZON PICADO PLACAS PORQUE Hacemos una búsqueda más y sólo hallamos 9 palabras... ¡Genial! el programa encontró dos.... que por ende. Elegí PLACAS. Nos da 371 palabras. PELOTA PANZON PICADO PLACAS Una búsqueda más y obtenemos ahora sólo 36 palabras..... Pongo PUERIL. Elegimos PORQUE y la pongo en el juego... Elegí PICADO y la puse como la tercera palabra: PELOTA PANZON PICADO Sigamos. cada vez menos palabras. Ahora intentemos una segunda búsqueda.. ... Una nueva búsqueda y tenemos.

Aristóteles explicó de modo más detallado los umbrales de la conciencia subliminal en su Perva aturalia hace casi dos mil años.C. cabe destacar una máscara de la muerte. rugidos de león y maullidos de gatos.250 años Aristóteles explicó en su teoría del Sueño: “Si los impulsos que tienen lugar durante el día no son demasiado fuertes y poderosos pasan inadvertidos debido a impulsos altamente despiertos. El resultado fue asombroso: La venta de palomitas se disparó un 57. Incluso en películas de Walt Disney podemos encontrar imágenes subliminales. que ocupaba toda la pantalla. sin duda alguna su influencia alcanzará a un nicho (pequeño o grande) de la población expuesta a estos estímulos. por diversas circunstancias. sin embargo. se denomina percepción subliminal a la captación de un estímulo que. El director Friedkin ha empleado técnicas subliminales visuales y auditivas para reforzar los efectos emocionales. Por ejemplo. investigador del mercado norteamericano. los actores y actrices influyen en la moda cotidiana. falta de atención o breve duración del mismo. mientras que la de la bebida tan sólo un 18%. ¿Es posible usar la computadora para generar mensajes subliminales? Sin lugar a dudas. en la televisión. proyectada en numerosas ocasiones durante el filme. Simba. o se visten de una peculiar manera. En 1958. Algunos piensan que mediante la computadora personal es posible ayudar –mediante mensajes subliminales– a dejar de fumar. por ejemplo.5%. tan poco como para que el consciente no pueda advertirlo. determina la conducta de la persona al margen de su voluntad consciente. es evidente que se hace uso de estas técnicas desde hace muchos años. La escena transcurre en plena noche. demostró el taquistoscopio. por tan poco tiempo que los usuarios simplemente no lo notan. pero que de ser cierta la teoría subliminal.) ha denunciado a la Disney por el empleo de sexo subliminal. James Vicary. En 1957. Pero mientras dormimos tiene lugar lo contrario. por ejemplo. La intención de esta manipulación sigue siendo una incógnita. bebe coca-cola”. Independientemente de que sea cierto que es posible influir en el comportamiento y hábitos de las personas a través de mensajes subliminales. y parece se el primero en sugerir que los estímulos no percibidos de modo consciente bien podrían afectar los sueños. como baja intensidad. Éstas se van moviendo hasta que finalmente construyen la palabra “sex”.Proyectos varios Mensajes subliminales Ya en los escritos de Demócrito (400 a. Así pues. De hecho. De esta manera se han diseñado multitud de programas que precisamente hacen esto: enviar mensajes muy específicos a la pantalla. Entre los sub-estímulos visuales. Durante la proyección de una película aparecía un fotograma (En el cine se muestran 24 por segundo) con el siguiente mensaje: “Tienes hambre. entonces los pequeños impulsos parecen grandes. No se necesita ser un genio para darse cuenta que. no alcanza la representación consciente y. o fuman. los investigadores de la motivación Ernest Dichter y Louis Cheskin fueron amonestados públicamente debido a sus contribuciones científicas que habían sostenido los intentos de los publicistas por manipular a las personas.) se podía leer: “mucho de lo perceptible no es percibido por nosotros”. come palomitas. después de publicarse el libro de Vance Packard “The Hidden Persuaders”. así como gruñidos de cerdos al ser degollados. de Virginia (EE. enviando letreros alusivos al respecto a la pantalla por muy poco tiempo. . se encuentra en lo alto de una montaña con el firmamento repleto de estrellas al fondo. ya mayor. máquina que sirve para proyectar en una pantalla mensajes invisibles que pueden ser captados por el subconsciente. Hace 2. Hay muchos ejemplos de mensajes subliminales en el cine y la televisión: Uno de ellos es “El Exorcista”. podrían estar influyendo en el comportamiento y hábitos de las personas. entre los efectos de la banda sonora se incluye el zumbido de un enjambre de abejas enfurecidas. Un ejemplo de estimulación subliminal lo podemos encontrar en El rey león. Tienes sed. la American Life League. Esto aclara lo que pasa en el sueño. Si ciertas estrellas de la farándula usan algunos accesorios. Platón habló de esta noción en su escrito Timeo. Cuando sólo hay ecos débiles en sus oídos los hombres creen que se trata de algo relampagueante y extraordinario”.UU.

Imagen 1 Pantalla principal del software subliminal Así entonces. Para evitar el mal uso de este programa. etc. deshabilitando los mensajes programados. De no estarlo. hábitos de compra. se decidió que el sistema no pudiese esconderse o minimizarse sin que el usuario lo note. El sistema permite mandar mensajes (definidos por el usuario del software) por un tiempo muy pequeño y sin importar en la aplicación que se encuentre activa. quizás enviando mensajes no constructivos o poco benéficos. se ha decidido investigar si es posible que los mensajes subliminales afecten realmente a los usuarios en sus comportamientos. Quien use este programa debe estar consciente de que se le están aplicando técnicas subliminales y debe estar de acuerdo. . simplemente puede cerrar la aplicación. modos de ser.

con un poder de cómputo francamente espectacular. Así. pantalla de color. el cual traía seis juegos. pilas recargables. Imagen 1 El emulador de la Palm. un futbol sóccer de las mismas características y un fascinante juego de carreras de coches que sorprende por su realismo. después de experimentar un año completo con la Zire 71. PocketChess Deluxe contiene el PocketChess Companion for Windows. entre los que destacan un juego de tenis en tres dimensiones. Caben en la palma de la mano y tienen una capacidad de memoria y poder de procesamiento mucho mayor que las computadoras a bordo del módulo lunar de la nave espacial Apolo. amén de una pantallita de vivos colores y una colección de programas fantásticos para todo tipo de actividades. indispensable cuando se programa este dispositivo Todo esto en una computadorcita que cabe en la palma de la mano. que cuesta 20 dólares.Proyectos varios Programando la Palm Los asistentes personales (PDA. por sus siglas en inglés) son verdaderas computadoras. Pues bien. considerando su pequeño tamaño. la recomendación es irse con el fabricante líder del mercado. me hice de una Palm Tungsten E. tiene integrada una base de datos de partidas de ajedrez en formato PGN (portable game notation). La verdad sea dicha. Otros modelos tienen más de 32 megas de memoria RAM y corren a 400 Mhz. el cual. Además. compré semejante artilugio porque vi un programa de ajedrez llamado PocketChess Deluxe. una maquinita Palm Zire 71. Y. de acuerdo a las preferencias del usuario. más cara y costosa que . encontré que este programita. la cual contiene 32 megas. el cual permite integrar nuevas bases de datos de partidas a la Palm. En este caso olvídese de los asistentes personales que no sean compatibles con Palm o con Windows CE. como obsesivo y apasionado del ajedrez. cientos de ellos en la modalidad compartible (shareware) y los hay también de dominio público o freeware. Si usted quiere hacerse de una de estas maquinitas. además del clásico software de respaldo y sincronización con la PC. precisamente. tarjeta de expansión de memoria. estoy hablando del modelo barato de Palm. cuyo costo no es de más de mil pesos. la falta de software. El paquete venía con un disco de regalo. tiene dos megas de RAM y corre a más de 200 Mhz. que conste. me permite llevar a los torneos mis bases de datos de aperturas más usadas sin necesidad de tener que cargar con computadora personal. Cualquier otra plataforma no compatible limitará mucho su radio de acción por. Éste es el estándar que describe la notación de una partida de ajedrez. Por ejemplo. La realidad es que estas dos plataformas contienen muchísimos programas. Es decir. supera en velocidad doscientas veces a una Apple IIe y tiene veintitantas veces más memoria que la computadora personal mencionada. además de jugar contra el contrario humano.

porque finalmente debe haber manera de crear aplicaciones para este juguete. Me llevó un par de horas entender la mecánica de desarrollo y hoy. Hallé algunos sistemas comerciales y otros shareware y freeware. el cual puede ser bajado de www. Encontré que PocketStudio es la mejor opción si sus antecedentes como programador (como son en mi caso) es Delphi. El código fuente en este caso requiere de PDAToolbox. aunque hay una versión de prueba por 30 días. Es como una versión superrecortada de un sistema de desarrollo más completo pero hace muy bien la tarea. . ya que. de hecho. El sistema shareware tiene un par de limitaciones poco importantes. usando PDAToolbox diseñé una demostración de una base de datos telefónica.pdatoolbox. Me sumergí en la red buscando herramientas para programar la Palm. en 20 minutos escasos.estos PDA. el cual permite crear aplicaciones de bases de datos en pocos minutos. hay miles en el mercado. Igualmente. el ambiente de desarrollo. generé toda mi aplicación. PocketStudio es Delphi para Palm. Antes de decidir comprarlo bien puede echarle un vistazo. Lo malo es que cuesta alrededor de 150 dólares. Pues bien.com. Pero lo mejor aún estaba por venir. encontré PDAToolbox.

significaba tener un contrato por un tiempo determinado. de manera tal. Uno compra un programa que nos permite realizar alguna tarea en la computadora. pues simplemente no hay manera de usar el teléfono. Ahora hay el “plan amigo” (y todos esos nombres agradables y bonitos para cobrarnos). . que curiosamente. Para evitar que cualquiera copie el código de la tarjeta de tiempo-aire.. La idea es genial. en lo que respecta a la telefonía celular. Esto se da incluso cuando hablamos de software. etc. hacerse. en donde los usuarios de algún servicio de telefonía móvil compra tarjetas con tiempo-aire. que resuelve una dificultad Y. se ha acabado. Si el código alimentado no es correcto. El comprador entonces usa una moneda para raspar y retirar la tinta y descubrir el código impreso. que uno solamente tiene acceso a usar el teléfono por el tiempo contratado. Lo instalamos y el código al final de cuentas son ceros y unos en la memoria de la computadora. sin duda. la cual nos dará más tiempo telefónico. En un inicio. Eso. por ejemplo. es algo intangible. ya no es de extrañarse ver casi a cualquiera con un teléfono celular o un biper (supongo que se llama así porque hace “bip”). cada código de cada tarjeta y entonces el negocio es redondo. de un teléfono móvil. con el avance de la electrónica y las telecomunicaciones. aquí se narra tal y como se publicó en un medio de circulación nacional) El mundo de la tecnología casi siempre va de la mano con el de la mercadotecnia. Pero incluso esto también se vende. en la central telefónica. hay que ir a la tienda más cercana y comprar una nueva tarjeta. Imagen 1 El programa generador de IP para telcel Las tarjetas telefónicas no son más que un pedazo de papel –tamaño tarjeta de crédito– que tiene un código que se alimenta al teléfono y entonces nos da tiempo aire. firmar de aceptado. De esta manera. Pues bien. el clásico protocolo que aceptan dos partes en cualquier negocio. éste viene cubierto por una tinta que protege todo el largo número. y en menos de lo que imaginamos. Cuando éste se agota. ya hay un tercero que está viendo la manera de comercializarlo. Nos dan un medio físico en el cual el programa está almacenado.Proyectos varios ¿Es usted honrado? (parte I) (A diferencia de los otros artículos de este libro. Alguien inventa un dispositivo X. es decir. todo el control del tiempo-aire de cada teléfono celular se lleva a través de un software que valida.

pero ¿no es ilegal copiar música de discos compactos y pasarla a los reproductores de mp3 como el iPod? ¿O no es ilegal copiar películas en DVD? todo el mundo lo hace. Finalmente. si le pregunto a usted. sí. el código legal –sin pagar desde luego por éste. Pero bueno. lector. ¿qué me contestaría? Invariablemente que sí. lectora. la parte más susceptible de ser atacada por los bandidos cibernéticos. me encontré hurgando en la red Internet un programa que da tiempo aire gratis. como alguien me dijo cuado vio el programa: “bueno. Imaginen entonces que alguien encuentra la manera en como se generan los códigos que otorgan tiempo aire y crea un programita que le da al usuario del mismo. si es honrado. una cadena es tan fuerte como su eslabón más débil. ¡gratis! ¿Lo quiere? ¿le gustaría tener tiempo aire sin pagar por él? Mándeme un correo si quiere el programa y le daré instrucciones de cómo hacerse de él. ¿o me equivoco? Pues bien. y el software en este caso es probablemente. quien se horrorizará de saber lo que pagamos aquí. ¿verdad?” . Más de uno dirá que esto es ilegal. sin pagar un solo centavo.Sin embargo. ¿o no? O vayamos más lejos: ¿No es el costo del teléfono celular carísimo en nuestro país? Nomás compare lo que paga cualquiera en Estados Unidos por ese mismo servicio. es un crimen sin víctimas.

aunque es una necesidad”. todos aquellos que me pidieron (y que recibieron) el software en cuestión. con las consecuencias conocidas en los video-escándalos. en donde aparentemente está generando la clave correspondiente para abonar. desde luego. . Los Bejaranos e Imaz que rondaron hace un par de años por el gobierno capitalino así lo creyeron pero se les pasó por alto que los estaban videograbando. tan es así es que yo no uso teléfono móvil. en breves segundos. escribí sobre un programa de computadora que generaba las secuencias necesarias para obtener códigos. Por supuesto que entendía perfectamente su argumentación. quizás de mucho dinero. Al momento de escribir esto he recibido alrededor de 30 mensajes de gente que no pudo aguantarse a tan jugosa oferta de hacerse de tiempo para hablar desde su celular sin pagar por ello. Le dije que no era una necesidad. El software funcionaba tanto para teléfonos móviles de la compañía Telcel y Pegaso. si se nos da la oportunidad. Hubo gente que me lo pidió de inmediato. no pueden generar esos códigos que las compañías celulares usan para activar más tiempo a los usuarios de los teléfonos móviles. 200 pesos de tiempo aire a la cuenta de dicho celular. daban tiempo aire gratis. porque efectivamente. sin comprometerse. que era literalmente robar. ahora parece ser que lo conocen todos los políticos de México. los hizo caer en este espectacular gambito. Dicho en otras palabras: más de uno habrá pensado alguna vez en si hay forma de hacerse de dinero. me contestó: “es que es muy caro tener teléfono celular. y que además. que al ser alimentados en el celular. pásamelo. si podemos hacer que todo esto sea anónimo. Al final le aclaré el truco para que no se fuese con la idea de que no quería ayudarla en su economía. que los seres humanos somos capaces de querer obtener beneficios. Lo único que hace el programa es un bonito espectáculo con visos científicos (por los letreros que manda cuando éste se ejecuta). pero yo solamente me estaba poniendo pesado para hacerle ver lo mal que actuaba insistiendo en que le pasara semejante software. sin pagarlos. Ahumada. Cuantimás. Hoy día.Proyectos varios Es usted honrado? (parte II) Hace unos días (ver artículo anterior). Imagen 1 Un clásico teléfono celular Cuando comentaba con una alumna de la Ibero sobre este programa de claves telefónicas para tiempo aire me dijo: “yo lo quiero. habrán caído en la cuenta de que dichos programas son un fraude. personaje que me sorprendió por sus múltiples negocios en todos los ámbitos existentes en este país. ¿si?” Pero cuando le dije que eso era hacer trampa. La intención original era mostrar finalmente.

de un acto más de corrupción finalmente. no lo negaré. con argumentaciones similares. ¿quién sabe?. Soto. es algo que esta enquistado ya en nuestra esencia nacional. que no nos asombra ya casi nada. porque yo trabajo en la programación de los mismos y estoy en busqueda de jakers que intentan encontrar la forma de hacer fraude. Evidentemente no es mi idea moralizar ni decirle a nadie si hace bien o mal. Atentamente Ing. pero declino en nombre mío y de mis hijos. dándole yo mismo el ejemplo a mis hijos que apenas son unos niños. mi sondeo sobre el tema y mi intención de mostrar que todos (me incluyo). Miguel A. tendrá sus razones. Slim). de cualquier forma espero que como usuario de Telcel y empledo del mismo. porque no es correcto llevar a cabo lo que haces. No se a cuenta de qué esa necesidad de insultarlo. Si un millón de usuarios usa una sola vez este supuesto programa de tiempo-aire gratis. Cada quien sabrá cómo actúa y se responsabilizará de sus actos. al cual felicito por esa contundente negativa a ser cómplice de un fraude. pues Slim es el tercer hombre más rico del mundo y unos pesos más o menos no le afectarán (argumento falso. podríamos ser capaz de estas actitudes totalmente fuera de la ley (calificadas al menos como robo. Soto Rivera. Lo transcribo tal y como me lo mandó: “He leído su artículo y quiero decirle que tiene razón al hablar que estamos tan acostumbrados a la corrupción. no bajo de “cerdo” a Slim. no pude nisiquiera ingresar a la liga que anotaste. Otro más. hubo un par que me preguntaron si era truco o verdad. Cabe destacar que como el software no funciona. Le agradezco su oferta del programa para robar tiempo aire. no por algo no das la cara. Sergio Luna . ya que para esto me pagan. en este caso a la compañía celular). Ojalá todos actuáramos como el Sr. pero en fin. pues no hay crimen que perseguir y eso nos libera de una carga innecesaria a todos. pero no me interesa. Quedo a sus apreciables órdenes”. de Villahermosa Tabasco.] Pero el punto al que quiero llegar. Tal vez sea también un ser corrupto. Pero la diferencia es que ahora salen a la luz los videos que prueban lo que ya sabíamos. negándome a pagar mordidas y si cometo alguna falta y es justo. entonces pagar multas exigiendo mi recibo de la tesorería. Debo agradecer enormemente a Enricco Wizard (quien ha fallecido hace un par de años). así que no son “unos pesos más o menos”. Les confesé por correo privado mi estudio “estadístico”. pero sí creo que podemos empezar a dar la batalla a la corrupción desde uno mismo.Hubo gente que me escribió diciéndome que no tenía ningún remordimiento en usar este programa. Pero lo mejor del asunto fue el mensaje que me envió el Sr. recibí un correo que decía esto: Hola morsa: Nuevamente me pongo en contacto contigo. a lo mejor mañana salen videos tricolores o blanquiazules. Telmex perdería 200 millones de pesos en un momento).. Te estoy rastreando. Quedo a tus ordenes para cualquier duda. Postscriptum Cierto tiempo después de haber publicado el artículo sobre tiempo aire gratis. entre los que me pidieron el software. es que yo soy usuario de teléfono celular y creo que es perfectamente posible crear un software para robar tiempo aire a las compañías telefónicas.. creador del software mencionado. te recomiendo que retires tu publicidad si no quieres tener legales con el dueño de mi empresa (Ing. y. Sin embargo. siempre lo hemos sabido. sin embargo creo que es mejor así. [. Algunas veces le he entrado a la mordida por algún motociclista salvaje con mirada de perro.

Así que tu percepción sobre mi persona está fuera de lugar. Quiero saber como de qué me piensas acusar. Te sugiero que leas lo que escribí después de que hablé del supuesto programa que daba tiempo-aire gratis. está mi correo y con gusto te doy mi teléfono. De una vez te aviso que no quitaré nada de mi blog. ni de ninguna otra compañía.blogspot. un sondeo para saber qué tan honrada es la gente.Este señor. Sergio. Ahora bien. pero yo no tengo nada que hacer en ese rubro. es extraña tu percepción porque siempre he dado la cara. por la Universidad de Essex). porque no hago nada ilegal. Esta fue mi contestación: Hola. supongamos -en beneficio de la discusión. de nuevo. xxxxxxx. Soy desde hace muchos años un profesional del cómputo (físico por la UNAM y maestría en inteligencia artificial. Si tu trabajo es buscar hackers (con h. El programa que menciono es meramente una broma. Pero para que veas lo absurdo de todo el asunto. sólo leyó la primera parte del artículo o quizás nunca entendió las explicaciones del mismo.com/2007/03/tiempo-aire-gratis-para-celulareslas. ni de pegaso.que tuviese un programa que me diera tiempo aire gratis. el ingeniero Sergio Luna. a ver. dudo que el ingeniero Slim sea tan tonto como para perder dinero y tiempo demandándome -no sé exactamente cómo. . En fin. Entra a la liga en mi blog: http://la-morsa. me parece lamentable tu amenaza o pseudo amenaza de que me estás rastreando. Te reitero que estoy en la mejor disposición de aclarar tu percepción sobre este asunto. No puede generar ningún código ni de telcel. porque tus amenazas legales están. no entiendo el problema. que estoy convencido has sacado de proporción. fuera de lugar.html para que veas que todo fue un estudio. Mi blog tiene mi foto. y no tengo ni ganas ni tiempo para buscar hacer trampas o hallar maneras de defraudar a nadie. por si quieres hablarme y discutimos lo que quieras. ¿de verdad crees que lo andaría repartiendo gratuitamente y de forma pública? Como sea. pues lo celebro. no j). saludos Manuel López Michelone Finalmente me comuniqué con el ingeniero en cuestión y resolvimos la dificultad cuando terminó por entender que no tenía un programa como el creía.por un mero estudio estadístico sobre la honradez de los que me leen.

decidí que tenía que re-empezar. Así que decidí ir al CELE a buscarla con un pretexto: un bosquejo de curso. en la UNAM. porque como bien sabemos. puesto que sin práctica estas cosas suelen olvidarse. obviamente quitando algunas partes que en mi opinión. o mejor dicho. para el aprendizaje del idioma ruso. se complica enormemente. encontré que el lenguaje ruso por sí mismo es fascinante. Es apenas la lección primera y desde luego. . ya salen sobrando. el ruso usa el alfabeto cirílico. quita mucho tiempo de la programación. por ejemplo. al tener que escribir las notas en español y ruso. Para la cuestión de pronunciación le pedía a Marianna echytalo. y salió este programita. Me basé en lo que el manual que tengo dice. en algún momento decidí ir al Centro de Enseñanza de Lenguas Extranjeras (CELE).Proyectos varios Bosquejo de un curso de ruso Cuando era estudiante de la Facultad de Ciencias. Para el inicio del software puse la imagen que pueden ver en este artículo y le agregué una introducción musical muy rusa (¿y qué mejor que el tema del inicio del juego del tetris?). en algún momento se me ocurrió tomar mi manual de ruso y estudiar por mi cuenta. no está completa. exalumna mía en Sistemas Computacionales. la cual sin duda le ponía pasión y empeño a su trabajo. después se me ocurrió que mejor sería regresar al CELE para hacer este estudio de manera formal. de Ucrania (que a todo esto habla perfectamente español y ruso). hecho en la computadora. No obstante esto. que me ayudara con las frases que quiero alimentar al sistema. para aprender ruso. La maestra Svetlana Dougar-Jabon es sin duda un pilar en el departamento del ruso en el CELE y me alegró saber que aún está trabajando ahí. De hecho. y eso. La cuestión es que muchos años después de estos estudios. Estuve seis semestres con el mismo grupo y la misma maestra. Mi plan tenía como objetivo poder leer quizás la literatura rusa de ajedrez. Imagen 1 Pantalla inicial del software Me apena un poco regresar y decirle a la maestra Svetlana que necesito prácticamente empezar de cero. he notado que necesito un sistema para poner las partes de gramática. Sin embargo. Así. de manera que sea fácil de alimentar.

y eso hace complicado el pasarlas todas a un programa. sino también vídeos de Marianna. No obstante. La verdad es que es un trabajo monumental. así como la entonación. el esfuerzo puede valer la pena. En fin. porque el manual de ruso tiene muchas lecciones.Imagen 2 Parte de la primera lección Tengo otras ideas para incorporar: no sólo poner el audio de cómo se pronuncia. porque incluso uno aprende mucha más gramática cuando tiene que armar cada lección. pero podría progresar en un curso completo (porque no califica como un programa de enseñanza de ruso aún por sí mismo. esto es apenas un bosquejo. mostrando cómo se pronuncian las palabras. .

quien va a ver este portafolio de fotografías tenga instalado el powerpoint. es decir. Obviamente existen algunas soluciones simples. Sin embargo esto implica que el usuario. Isabelle. Sé que no se ha aplicado lo suficiente para desarrollarse en ese campo porque tiene otras actividades y además. para que los productores puedan registrarlos adecuadamente y ya con las imágenes puedan acordarse mejor de quienes aspiran a conseguir el trabajo en un anuncio publicitario. o lo que sea. tengo una amiga. Sin embargo. que es actriz. Imagen 1 El portafolios de Isabelle . etc. curriculum vitae. incluyendo fotos. de manera que solamente el productor tendría que poner el cedé en su computadora y de inmediato un sistema automatizado le desplegaría toda la información del actor o actriz. teléfonos. por ejemplo. en algunas ocasiones la llaman para que vaya a hacer el casting para un comercial. poner en powerpoint cada imagen con algún efecto de transición de una imagen a la que sigue. Por ello mismo. Son más de una centena de fotografías en buena resolución y entonces me puse en campaña. pensé que la solución era crear un archivo ejecutable que hiciese todo. Prácticamente todos los artistas llevan a estos procesos de casting sus fotos o videos. Le platiqué esto a Isabelle y ella entonces me dio un disco con una sesión de fotos que le hicieron hace algún tiempo. corto. Ahí es donde se eligen a los actores y actrices que participarán en el comercial de marras y muchas veces los productores tienen que hacerle pruebas a muchos de los aspirantes para que después. Se podrían leer las fotografías del disco y el sistema daría la opción de hacerlo automático o manual. por ejemplo.Proyectos varios Portafolio para modelos Todos los nichos de mercado parece que pueden ser atacados desde el mundo del software. película. Por ejemplo. A partir de esto se me ocurrió que por qué no llevar el portafolio a los productores en disco compacto. ahora ya es madre de un niño. comparando notas. decidan a quién le dan el trabajo. Ha hecho algunos comerciales y alguna película por ahí. También decidí incluir música de fondo ad hoc para que la presentación del portafolios fuese más atractiva a los sentidos.

Para ello decidí que no tenía sentido romperme la cabeza programando las transiciones visuales. Y no me equivoqué: encontré un componente para Delphi que me hace las transiciones de una fotografía a la siguiente. Copié todo a un disco compacto (del tamaño de una tarjeta de crédito para que así sea además. para actores y actrices que andan buscando trabajo. . Con todos estos elementos a la mano en un par de horas tuve una versión funcional. más fácil de llevar) y le di la primera versión a Isabelle de su portafolio de modelo. Limpié los detalles que no me gustaban. es posible modificar el comportamiento del programa para hacer otros portafolios. La virtud de mi enfoque es que cambiando las fotografías y un par de archivos de control. El componente es muy versátil pues tiene muchos efectos que pueden usarse de manera muy simple. sino que podría ver si en Internet ya alguien había programado algo por el estilo.Un problema a resolver era el de las transiciones entre imagen e imagen.

Proyectos varios Sintetizando la voz La tecnología casera ofrece muchas posibilidades. Dicho de otra manera. Así. Por ello. evidentemente eso limitaría las posibilidades de cualquier software.3 se convierte en una puntada. el cual es el manejador del sintetizador de voz. es decir. Para que este software funcione. no vienen gratuitamente como el SAPI 5. es posible modificarlo (vía software). que apareció en PC Techniques.3. comencé a trabajar sobre un programa que permitiera leer un texto en español usando el sintetizador de voz de la tarjeta de sonido. un texto en español. sin lugar a dudas. para que hable en español. Así. Las computadoras actuales para la casa contienen muchas una tarjeta de sonido SoundBlaster o compatible. tarjeta de vídeo con 24 millones de colores. el poder actual de los equipos de cómputo caseros sobrepasa muchas veces las alternativas que se tenían hace apenas un par de años. hay que adquirlos por separado. Habiendo decidido esto. a través de ésta. Encontré la solución: usar una biblioteca que sea compatible con Windows y que además. podemos hacer que la computadora “lea” (por decirlo de alguna manera). Desafortunadamente. Esto es un sistema de demostración que pretende mostrar cómo se hace la interfaz del usuario. gracias a esta biblioteca (que Microsoft incluye en su Windows). No obstante. está pensado para el idioma inglés y no para el castellano. La idea es tener compatibilidad con todas las posibles tarjetas de audio. prácticamente cualquier computadora actual contiene una tarjeta de vídeo y otra de audio compatible con el estándar más reconocido en su momento. Hacer un programa que -por ejemplo. lector de DVD. la cual se representa a partir de tarjeta de sonido de alta resolución (mínimo 16 bits en estéreo en canales A/D). si observamos cualquier computadora casera.3 que Microsoft pone a disposición de los desarrolladores. hallaremos probablemente la multimedia. Si así fuese. Si nosotros usamos este paquete para pedirle al sistema que lea un texto en formato ASCII. debido a la manera en que está construido este sintetizador. Con todo respeto. el SAPI 5. en los últimos años las computadoras ya incluyen todos los dispositivos más populares dentro de la misma tarjeta madre (motherboard). Los avances son increíbles. en la medida de lo posible. Lo primero que pensé es que quizás cada fabricante tenía su propio “driver” (manejador) para hacer síntesis de voz. Esta tarea fue realizada por Michael Covington y la explica en su artículo: El Hablador. se tomó la decisión de usar SAPI 5. Afortunadamente actualmente la mayoría de las tarjetas de audio tienen esa posibilidad. cómo se liga el programa con el sintetizador de voz y gracias a que se entrega con todo el código fuente. la ciencia y los avances tecnológicos son cada vez más rápidos y ii. de feb/mar 1995. de 24 velocidades. En cierto sentido el SAPI 5. modificándolo de manera que use los fonemas ingleses en su modo más españolizado posible. lo que se hizo fue hacer que los fonemas del inglés se comportaran —en la medida de lo posible— como si estuviesen en castellano.lea un texto en viva voz podría depender de si la tarjeta tiene algún subsistema o interfaz para hacer síntesis de voz. algunas inimaginables para la mayoría de los usuarios. el cual contiene toda la información relevante y necesaria para hacer que la computadora hable. Sin embargo.3 en inglés. A partir de esto se me ocurrió qué tan difícil sería hacer un programa que leyera un texto con voz. Esto representa muchísima más tecnología que lo que se podía conseguir a nivel laboratorio de cualquier prestigiada universidad hace no más de diez años. etc. nos permita acceso a la tarjeta de audio particular que el usuario tenga disponible. encontraremos que lo dice como si fuese un gringo leyendo algo en español. Esto ocurre porque i. incluyendo el español mexicano. . Desafortunadamente. uno de los pretendidos estándar en esta industria. usando simplemente el sintetizador que SAPI 5. francamente patético. el cual es Speech Application Program Interface.3 otorga. Puse pues manos a la obra. o bien. Microsoft y otras empresas venden sintetizadores con fonemas para otros lenguajes. el usuario interesado puede revisarlo y modificarlo a su antojo. es decir. en una curiosidad que no usamos mucho.

Fonetizar la palabra (traducir a fonemas) (ver función fonemizas). Analizar cada palabra y acentuarla adecuadamente (ver la función acentua). Habiendo hecho uso de esta función. quince burro.1 qué decir. esto no son los sonidos que el sintetizador debe decir. Por ejemplo. pasa a ser: ‘astilléro’. hay que acentuar ortográficamente las palabras correspondientes. llamar lingüista. resta entonces traducir a los sonidos que el SAPI tendrá que decir. es necesario consultar la revista mencionada anteriormente. buey. Una vez realizado este paso. así como los silencios o aspiraciones que debe tomar. vaca desde gato. Una vez hecho esto. El proceso a seguir contempla los siguientes pasos: • • • • Separar las palabras de la oración. Sin embargo. la función fonemiza la convierte en los fonemas correspondientes. el siguiente paso es acentuar adecuadamente cada palabra. transformar la palabra a los fonemas que la representan. Así entonces. Esto se hace a partir de la función ExtractWords de la unit StrngTTT. sino que son los símbolos que representan estos sonidos. La función que hace esto es fonetics. Por ejemplo. Mucho ojo. En este sentido. la palabra pasa a la siguiente etapa del procesamiento como ‘pelóta’. la cual le dice a SAPI 5. porque las palabras graves no se deben acentuar si terminan en n. La siguiente Tabla I (resumida) es la de los fonemas en español: Símbolo P T K B D G F S J Ejemplo peso tabla kilómetro. Que sirva como introducción al tema apasionante de la síntesis de voz. la palabra ‘astillero’ Al acentuarla para procesarla adecuadamente. No necesita originalmente acento ortográfico. aureola chico mal tener niño lado pero perro Tabla 1 Los fonemas en español Para una descripción más completa de la transformación de los fonemas ingleses al español. el siguiente es el de pasar a fonemas las palabras. . Esta acentuación es artificial. la palabra ‘astillero’ se termina por convertir en AasstIYyEHEHDXOW que es precisamente lo que dice el SAPI. Dada la oración a decir. es decir.Es importante destacar que la discusión que sigue a continuación no necesita ser seguida por nadie que quiera usar el programa. s o vocal. para que el Monologue la diga de manera correcta. cosa. particularmente en el artículo escrito por Covington. guerra favor ser. Pasar a sonidos que dirá el manejador del sintetizador (ver función fonetics). Estos tienen una representación. primero hay que separar las palabras de la oración. cinco. zorro junta Símbolo y w C m n N l r R Ejemplo yo. Teniendo cada palabra. Esto quiere decir. para que el programa hable lo más correctamente español. Esto quedaría así: ‘astiyéro’. considérese la palabra ‘pelota’. Es de utilidad como una referencia elemental sobre el sintetizador y el cómo se han manipulado los fonemas. La pronunciación de las palabras en español es muy fácil de deducir a partir de la manera en que se escriben y eso hace la tarea mucho más sencilla.

aparecerá la siguiente imagen (ventana): Imagen 1 El software ejecutándose El sistema permite leer un texto completo. Sin embargo. el cual viene incluido en este sistema para que Windows pueda usar la parte de audio y voz (sin necesidad de instalar todo el SDK). Si todo sale bien. los cuales vienen en SAPI 5. También puede reconocer palabras. Es un sistema que al menos ocupa 150 megas al bajarlo del sitio de Microsoft. Nos Hablamos asume que existe instalado el SAPI 5.exe.3 para poder hacer uso del sintetizador de voz.1 está instalado. ejecute spchapi. requiere de una serie de archivos de Windows. ¿Cómo se Ejecuta os Hablamos? Una vez habiéndose asegurado que SAPI 5. No sé las razones pero ya estoy investigando al respecto.3. Cabe señalar que SAPI hace más que síntesis de voz. como son si la voz que habla es de hombre o mujer. o que dé instrucciones habladas. también es posible solamente instalar los manejadores mínimos para que el sistema funcione. simplemente córrase Nos Hablamos. Cargue cualquier archivo (modo txt o rtf) y escuche cómo el sistema lee completo el texto. por ejemplo. permitir que el usuario dicte por voz a un procesador de palabras. . Para ello.¿Cómo se usa el software? Nos Hablamos (así se llama el programa). Debido a que éste programa es meramente experimental. así como la velocidad y el volumen de audio de la misma. El sistema tiene parámetros que pueden ser cambiados. Hay que decir que en Windows Vista el sistema no funciona.

. Puede para muchos ser el equivalente al “hasta luego”. . “ os hablamos”.. en la vida del autor de este software. Este software va dedicado precisamente a ella.¿Por qué os Hablamos? La historia tiene algunos años. y permitía seguir la liga de la relación más adelante.. esta frase significaba mucho pues cierta mujer divina me lo decía al despedirnos. En cierto momento.. me decía. en lugar del “adiós” pero en mi caso iba más allá.

. o al jefe. escribí el código necesario para que cuando un usuario entre a platicar con alguno de sus contactos. entonces el cronómetro empiece a marcar el tiempo. consultar bases de datos. la cual permite tener acceso a un buen número de funciones que normalmente los programadores de aplicaciones comunes y corrientes no necesitan. en las oficinas. el software entonces regresa al cronómetro del Messenger y sigue sumando segundos. ya son tan comunes como el teléfono. realizando presentaciones multimedia. aunque sigue siendo de 8 horas. si nos adentramos más en este fenómeno. Se les ve en todas partes. en el cuarto de los hijos. se pueden tener varias aplicaciones (programas) abiertos. es decir. entonces el sistema medirá el tiempo que utiliza cada una de esas aplicaciones.Proyectos varios ¿Son sus empleados productivos? Si meditamos un poco. Si regresa a una plática. veremos que la mayoría de los equipos de cómputo casero hacen las labores clásicas de editar textos. Y no es que tenga algo de malo comunicarse con otros usuarios a través de la gran red. hacer cálculos por demás complejos usando una hoja electrónica (como Excel) o bien. que indique cuánto tiempo el usuario pasó en cada aplicación. el propio programa puede mandar un correo al administrador de la red. tanto privadas como gubernamentales. Word. Igualmente. le incorporé unos cronómetros internos para medir el tiempo que el sistema pasa en cada aplicación activa. De esta manera. el primer paso estaba realizado. a una hora determinada. nos puede quitar muchas horas laborables en simpáticas pláticas. sino que el problema es que muchas veces nos quitan tiempo valioso para nuestras labores académicas o de trabajo. el programa que permite comunicarnos con otros usuarios de computadoras a través de Internet y que. Powerpoint o Photoshop. En muchos sentidos la pantalla (el monitor) y el CPU (la computadora). Si el usuario se sale de esa plática y se pone a usar otra aplicación como Excel. sin nos descuidamos. y usando Delphi como herramienta de programación. cuál es la aplicación activa. Debido a esta problemática. hay un programa más que cada vez se hace más presente en todos los ámbitos: el mensajero electrónico instantáneo. Yo ya podía saber cuando alguien entraba a platicar en el mensajero instantáneo de Microsoft (msn Messenger). aunque uno solo es el que está activo en la máquina. un buen amigo me sugirió escribir un programa para llevar el control de este fenómeno. gracias a las pláticas por la red. Se les encuentra en las casas particulares. Hallé que Windows tiene una gran biblioteca de funciones (llamada API por aquello de Application Programming Interface). en 6 o menos. Sonaba realmente como reto interesante y puse manos a la obra. Así. La dificultad comienza cuando se exagera el uso de esta herramienta y entonces nuestra jornada de trabajo. Encontré entonces que gracias al API. veremos que la computadora se ha adueñado de muchísimos espacios cotidianos. a quien se desee. Es cierto que hay equipos de personas que tienen que comunicarse entre ellos por diferentes razones laborables y el mensajero es una estupenda solución. Sin embargo. Al final del día. se reduce. Acto seguido. a través de los múltiples paquetes que para esto existen. se puede escribir una rutina que revise qué aplicaciones están siendo ejecutadas y además. En los sistemas multitareas como Windows.

pero el reto técnico me animó a hacerlo. Con la red es posible regresar a esta práctica y la verdad es que los empleadores. en algún momento. .Sí. tendrán razón para amonestar a quienes abusen de la mensajería instantánea por Internet. para platicar con sus amigos y familiares. Pensemos que actualmente nadie en una oficina podría hablar por horas en su tiempo laboral. además de pretender con esto minimizar el tiempo perdido con todas estas pláticas inútiles pero divertidas. sé que es un programa espantosamente fascista.

or the brightness.I see what I have images of and then select an appropriate subject. The Photomosaic is not done until it passes several iterations of this.There is also a lot of hand work involved. may end up as an eyebrow on the main subject. I just want to make artwork and I build tools to help do this. 2. but for now I prefer to keep my custom tools for myself.000 pieces of plastic to scan! Q . they told me that most of the images in their National Digital Archive were from the American Civil War.I use computers such as Silicon Graphics workstations with over 30 GB of disk space and 256MB of RAM.I prefer to work with clients that have their own collection of images. Q . I do not want to market software products because I do not want to create a computer company. Details in a Photomosaic may be smaller than a tile and regions within one tile may add to the overall design.I created Photomosaics as a class project while a student at the MIT Media Lab. Q . My software considers hundreds of aspects of each photograph during the selection process. A 1996 Interview with Silvers: Q . Q . When I graduated. when I did an ad for Mastercard made from thousands of credit cards. It is not simply the color of the tile.Do you think that this technology could be sold like a “normal” software? A . Q . Do you have a “giant-archive” of images or did you make an agreement with a stock agency ? A .” A . I then view the mosaic from a distance and decide to remove tiles that visually draw attention to themselves. called Runaway Technology. It often works that way -. When the Library of Congress wanted me to make a poster for them.I see that the individual pieces of the Photomosaic are related in content to the larger subject. When I created the cover of the Stock Market Photo Agency’s catalog (American Mosaic). The software tries to pick the tile that is the most visually similar to that area. The first step is to decide what subject to make. they sent me over 5.What do you think is the correct relationship between the dimension of the “pieces” and the distance of the viewer? . A mountain range in one tile. and what types of images to make it from. and limit my image database to tiles of the desired subject.Each tile in a Photomosaic is much more than a pixel. they provided me with images from their collection of Americans and I made the Statue of Liberty. designed to create and license them. I need far more tiles to consider during the selection process than end up in the mosaic. Then. I turned the idea into a company. I do not blend an image of the subject with the mosaic.What are your computer needs? A .Was Photomosaics an MIT project or your own project? A .How does the software choose the images? Is it only about color and density or do you use a trick that allows a tile to be better than a “pixel. for example. I then use a photograph of the main overall subject as a reference. This is because I eliminate many that do not have the right qualities. my software compares all of the available photographs with that area of the overall subject image. During development. for each grid spot on the mosaic. I look at the mosaic up close and remove tiles where I do not like the content or subject matter. The Photomosaic forms the subject on its own. Q . So we looked at those images and decided to make a Photomosaic of Abraham Lincoln.000 is a good start but I prefer much more. Likewise.Apéndices Apéndice I Entrevista con Robert Silvers (sin traducción por aquello de ¡Traductor traidor!).Yes. Also. but also the shapes of objects within the tiles.Is it all automatic? A .

Q .000 images are stored on my Silicon Graphics workstation at various resolutions that allows me to generate the bitmapped file at different sizes.Yes. or do you produce only one version of the image and later resize it with a program like Photoshop? A . Runaway Technology has applied for a trademark on the word “Photomosaics” and the whole process is based on patent-pending technology. I like to keep them at least 1cm wide. then use Photoshop to fine-tune the size. they each had to have one. Q .Can you produce the same image with lots of resolutions. these views cross over.200 entries in the 1997 Premier Print Awards given by the Printing Industries of America. including a collection of jigsaw puzzles from Buffalo Games and a series of 10 posters available from Portal Publications. one of Bill Gates’ friends approached me to make a portrait of Bill as a 40th birthday gift.I heard you were commissioned to do a portrait of Bill Gates . tell me more about the ad you did for Mastercard. If I have very few tiles you may have to be very far away to see what the subject is. A .After I compute a Photomosaic (decide the location of tiles). I generate the bitmapped file. if the Photomosaic were to be used on a postcard I could not use as many tiles as if it were going to be a poster because if I did each would be too small to see.and wrote me a check on the spot (so I would not use school funding to do something as trouble-attracting as making the image he requested). Penn and Teller came to visit the Media Lab and as soon as I showed them a sample of output from my newly-developed Photomosaic project.There are several lines of Photomosaics merchandise coming out. It won Best of Category for digital printing out of 5.Does Photomosaics use proprietary technology? A . Neil Schwartzen of the LOC (202/707-5112) says it is the best selling poster the Library’s gift store has ever carried.I design a Photomosaic to be viewed from various distances depending on the media in which it will be reproduced. A Photomosaic is an image on multiple scales. I also must be careful to allow each tile to be visible. The mosaic was of an image of Italy.For Mastercard I made a Photomosaic of George Washington’s face from 5000 Mastercards.A . The Library of Congress is already selling a poster that I made of Abraham Lincoln composed of Civil War photographs from the Library’s National Digital Archive.When I was still a student at MIT. Somewhere in between.Finally. Q . Q . Q . For example. When viewed from afar one should only see the main image. Over 100. or a little larger.What about Vice President Gore? A .Al Gore came to visit the Media Lab and I showed him my work. The more tiles in a Photomosaic the easier it is to see the overall subject up close. and it was shown on TV 425 times.What is your association with the magicians Penn & Teller? A . When viewed from up close one should only see the individual tiles. He wanted to know in detail how the process worked and we brainstormed for about 15 minutes over various ideas before we decided that I would do one of him. I try to generate a file the size that I need.Hewlett Packard won an award using a Photomosaic that I created for them. so I have to estimate the viewing distance to help decide where this cross over point should be. .After I did the cover for Wired. 21 million copies of the ad were printed.Do you have plans for merchandise? A . Q . Q . Q . How did this happen? A .Have Photomosaics won any awards? A . Penn was the first person to commission me – he wanted me to make an image of a subject too controversial to even mention here .

el cual contempla no sólo ver el fotomorsaico creado. Notas técnicas: Desarrollado en Delphi 5. Se recomienda usar la extensión JPEG en las imágenes creadas para evitar confusiones con las de la biblioteca de imágenes (que son todas JPG). con 128 megas de RAM y 6 gigabytes en disco duro en resolución de 800x600 pixeles a 16 millones de colores. se puede usar la opción “Guardar a disco”. . Cabe señalar que para poder crear el fotomorsaico el archivo TXT a procesar debe estar en el mismo directorio donde residan las imágenes ya que éstas se leen del disco duro en el momento del procesamiento de la información. en una máquina Pentium III.Apéndices Apéndice II Programa visualizador de los fotomorsaicos Otra aplicación de soporte para el software de los fotomorsaicos es un programa desplegador de los mismos. Para generar la imagen JPEG el software pide el nombre del archivo de texto creado y entonces lo procesa directamente en pantalla. sino guardar la imagen creada en un archivo en formato JPEG. La siguiente imagen muestra el software visualizador corriendo sobre un archivo de prueba (cuya terminación es txt y del cual ya se habló de su estructura en la discusión de la obtención de los resultados. Fragmento de la imagen armada con el visualizador Figura 23 Una vez generada la imagen.

Termina la ejecución del software La siguiente imagen muestra este software corriendo. El programa toma una imagen JPEG y se puede magnificar la región que se desee. de manera tal que puedan analizarse los detalles de cada fotomorsaico realizado. Figura 24 Lupa por software . He aquí la función de cada icono: Carga la imagen JPEG de alguna unidad del disco duro Permite amplificar la imagen (zoom in) poco a poco Permite alejarse de la imagen (zoom out) poco a poco Permite incluir/quitar barras de scroll sobre la imagen para moverse a lo largo y ancho de la misma.Lupa por software También es posible utilizar un lente magnificador (lupa) escrito por software. El sistema tiene las opciones como iconos.

Este último no requiere de extensión porque el generador crea dos archivos. Una vez seleccionado esto. el cual se debe guardar (estrictamente necesario) en el mismo directorio en donde se encuentra la colección de imágenes. ya que el software permite más de una colección. El generador de fotomorsaicos toma una fotografía escaneada (cualquier imagen). Para llamar al programa úsese la consola de comandos.Notas técnicas: Desarrollado en Delphi 5. para ser procesado con el software generador de imágenes. Notas técnicas: Desarrollado en Delphi 5. en una máquina Pentium III. se elige un nombre para el resultado (archivo de salida). la cual puede ser BMP o JPG y se elige una colección específica de imágenes (los mosaicos). Apéndice III Los programas El sistema generador de fotoMORSAicos se basa en varios subsistemas. en una máquina Pentium III. 3. El sistema tiene opciones que le pedirán: 1.idx. 2. con 128 megas de RAM y 6 gigabytes en disco duro en resolución de 800x600 pixeles a 16 millones de colores. los cuales son: • • • • Generador de fotomorsaicos (versiones para Windows9x y para la interfaz www) Procesador de la colección de imágenes Programas de estadística y monitoreo del software Programas de despliegue de resultados • Programa visualizador de fotomorsaicos • Lupa por software • Bonus (presentaciones animadas) Generador de fotomorsaicos Este programa genera el fotomorsaico considerando que ya existe una colección de imágenes preprocesadas de acuerdo con el Procesador de la colección de imágenes (véase más adelante). El generador necesita de la lectura del archivo imagen. usar el navegador de html de us elección para ver el resultado final. uno con extensión ‘txt’ y otro con extensión ‘html’. Una vez teniendo toda la información necesaria el sistema genera un archivo HTML y otro TXT con el fotomorsaico particular. Nótese que el tiempo necesario para la creación del fotomorsaico depende de varios factores. el cual se da como un archivo HTML (para ser visto de inmediato en el navegador de Internet de su preferencia) o bien TXT. El nombre de la imagen a procesar El directorio en donde reside la colección (biblioteca) de imágenes El nombre de archivo de salida. A saber: • Velocidad del procesador central (CPU) • Modo de depuración apagado (no mostrar avance en el desarrollo de la generación del sistema) . Una vez generado el archivo de salida se puede crear una imagen usando el programa de despliegue y creación de imágenes JPEG o bien. con 128 megas de RAM y 6 gigabytes en disco duro en resolución de 800x600 pixeles a 16 millones de colores.

Este modo de depuración se puede habilitar o inhibir en la medida de las posibilidades. considerando a la imagen toda como si fuese un mosaico de un solo color sólido. Este archivo es necesario para que el generador pueda trabajar. El Procesador de la colección de imágenes genera entonces un archivo de texto llamado “imagen. Una imagen que muestra dicho software se presenta a continuación: Figura 21 . cuya estructura ha sido analizada antes.G. la procesa aplicando un filtro mosaico y entregando el color promedio en tripletas RGB(R.B).idx”. Guarda además el número de color de acuerdo a como Windows maneja las tarjetas de vídeo de 24 bits y por último. guarda el nombre del archivo de la imagen. He aquí la imagen del programa cuando éste es ejecutado (vea siguiente figura) Figura 20 Procesador de la colección de imágenes Este programa permite generar un archivo que indexa las imágenes a través de sus colores promedio. El Procesador de la colección de imágenes simplemente toma cada imagen JPEG que encuentra en el directorio deseado.

en una máquina Pentium III. con 128 megas de RAM y 6 gigabytes en disco duro en resolución de 800x600 pixeles a 16 millones de colores. los cuales están dados en 16 rangos (un millón de colores por rango. aproximadamente).Notas técnicas: Desarrollado en Delphi 5. . Es sólo una ayuda al programador (y por ende no se incluye en la consola de comandos). La siguiente figura muestra una imagen del mismo: Figura 22 Así se puede entender por qué el generador no encuentra un determinado color o bien la selección resulta a todas luces ridícula. Este programa hace uso del archivo imagen. Programa de estadística y monitoreo del software Este programa básicamente mide la cantidad de colores disponibles en la colección de imágenes.idx para analizar los colores. El sistema generador de mosaicos puede trabajar sin necesidad de este subsistema. Es un sistema muy elemental y solamente fue escrito para encontrar cuáles colores son los que faltan y cuáles son los que se tienen en exceso.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->