skip to search
.




Projects - Thesis

Projects and Themes for Computing Thesis Projects and Themes for Computing Thesis

List of Main Thesis directed Main Thesis directed

List of Thesis in process Thesis in process


Adolfo Guzmán Arenas


Curriculum
Professional Experience
You are here Projects and Thesis
Research
Publications

Lectures Topics
Home






Projects and themes for Computing Thesis


See details Summary
See details Feedback
See details How to proceed?

  1. Clasitex.
  2. Movil agents.
  3. Classifiers type  k-d  trees.
  4. Use strip-trees instead of k-d trees.
  5. Classifiers generator.
  6. Expressions transformer in SQL for data mining.
  7. Universal Eliminator of “Baches” (E U B).
  8. Electronic Yellow section.
  9. System for handling  arrivals and travelers' exits in the international airports.
  10. Services (inscription, etc.) Of students via Intranet.
  11. Center for donations storing.
  12. Server for  misplaced people's images; looked for; for  stolen objects; recovered, via Internet.
  13. Hole.
  14. Design of electronic marks in electronic images.
  15. Prove of programs by means of errors injectors.
  16. Compilers for paralleling several instructions.
  17. Electronic Tramitel: informs of transactions in Spanish by telephone.
  18. Searches in databases with inexact keys.
  19. Language to express “interesting situations” in data  mining.
  20. Methods to evaluate relevance and utility of topics in articles written in Spanish.
  21. Detecting tendencies and making extrapolations in reports written in Spanish.
  22. Electronic caretaker of automobiles.
  23. “Transparentador”  of  Professors'.
  24. Electronic meeting  for the I.P.N.  Honor Commission.
  25. Construction of a parallel computer as SP2 ones  using Pentium processors  (not Power pcs) and a switch of optic fiber.
  26. Translator of a language “standard” 4GL toward sqls of Informix, Progress and Oracle.
  27. Translator of the different front-ends which  access to  a database.
  28. Handler  for conventional Â  and electronic documents (workflow).
  29. Construction of an object request broker for applications of software inter-operability already existent and in production.
  30. Transformation of functions in real time (on-line), to others like store & forward, in a database.
  31. Digitalizer  in three dimensions using laser rays.
  32. Intelligent searcher for web information  of differed execution.
  33. Save interaction among suspicious agents.
  34. Automatic Replier for files, with actualizations differed or in real time
  35. Automatic explanations.
  36. Anotaciones  que ayudan al mantenimiento de programas grandes o ya existentes.
  37. Database filled by agents.
  38. Language to exchange information among agents.
  39. Use of land digital models to study erosion.
  40. Form numbers in three dimensions.
  41. Analysis of medical images.
  42. Simulation  language for effects and consequences (in affected populations), of politic, rules and bureaucracies.
  43. Knowledge administrator of a company.
  44. Digital knowledge index.
  45. Dynamic study  of  digital libraries  readers.
  46. Patterns of clients' purchases, on the tree of products.
  47. Web statistics  of articles, suspenders, languages, etc.
  48. Predicting catastrophes by agents watching the data base: beyond data mining
  49. Proto- data  mining.
  50. Better routes for distributing trucks.
  51. Investment costs and operation in a presential university versus a virtual one.
  52. Web sites which organizes themselves according to users preferences.
  53. Describer of people and automatic searcher.
  54. Coordinated text databases.
  55. Arañas (crawlers) que leen noticias.
  56. Arañas distribuidas.
  57. Construcción de una memoria caché para una base de datos relacional.
  58. Búsqueda automática.
  59. Traductor de español de México a español de España
  60. Ordeña de bibliotecas digitales
  61. Árbol automático de conceptos
  62. Resumen de un documento
  63. Estandarización de frases comunes.
  64. Similaridad de documentos
  65. Detección automática del nivel (grado de escolaridad) de un documento
  66. Búsquedas basadas en la dinámica de registros
  67. Sincronización automática entre bases de datos débilmente acopladas.
  68. Medicion automática de lo interesante de hechos sobre valores no numéricos.
  69. Descripción cualitativa de conjuntos de objetos con propiedades simbólicas
  70. Aumentar el árbol de conceptos de CLASITEX






Summary

Se describen varios trabajos o proyectos en las áreas de computación, informática, software, comunicaciones, Internet, que podrían servir, según su nivel de dificultad, como trabajos finales de cursos, trabajos de laboratorio, trabajos de investigación, tesinas, tesis de licenciatura, tesis de maestría, y quizá (algunos cuantos) tesis de doctorado. El autor está en la mejor disposición de dirigir unos cuantos de ellos. Es útil que el interesado posea ciertos conocimientos o habilidades, descritos en cada proyecto, además de la habilidad general de saber programar una computadora digital, usar bases de datos y terminar lo que empieza en un tiempo finito.
Projects and Themes for Thesis







Feedback

En 1980-85, el autor publicó un informe técnico parecido (ver nota 1). Esta nueva versión es muy distinta de la anterior, dados los avances de nuestra disciplina.
En 2001, el autor publicó ¿Proyectos y Temas de tesis en computación¿ con el formato de este documento, pero con temas distintos, por supuesto. Se puede consultar en mi página Web en la ceja ¿Proyectos y temas de tesis.

Projects and Themes for Thesis






How to proceed

Si usted desea desarrollar alguno de estos temas, véngame a ver o envíeme (por correo electrónico está bien) una propuesta conteniendo lo siguiente:

(1) Una mejor descripción del problema escogido. Acote el problema. Modifique su enunciado para ajustarse a sus necesidades, a su gusto. Quite lo vago. Reemplácelo por algo más concreto, según usted lo necesita, según usted lo entiende. Defínalo mejor, a su gusto. Cambie el título, si se requiere. [media cuartilla de extensión, está bien]
(2) Describa su solución y proponga una arquitectura para resolver (1). ¿Qué va a construir, a programar? ¿Cuáles son sus partes? ¿Cómo interaccionan entre sí, como funcionarán? Haga un diagrama que muestre su arquitectura o estructura. Si es necesario, al diseñar su arquitectura, consulte otras fuentes, revistas, compañeros, etc. Esta parte es trabajo creativo, de la mente. [dos cuartillas de extensión, están bien]
(3) Plan de acción. ¿Cómo va a construir, a fabricar (2)? ¿Qué herramientas va a usar? ¿Va a usar una base de datos relacional? ¿Va a programar en C? La interfaz de usuario, ¿la va a hacer en Visual Basic? ¿En Power Builder? ¿En Delphi? Si es para Internet, ¿sabe Java? ¿Applets, servlets? ¿Tiene usted a su alcance las herramientas necesarias? (Si necesita un cohete para llegar a la luna, y no tiene el cohete, no va a ir a la luna). Las herramientas que usted propone, ¿las sabe usar usted? ¿Tiene usted las habilidades requeridas para la solución del problema? Explique su plan de acción. Incluya un plan de trabajo, con fechas y resultados a entregar. Liste al final del plan los resultados a entregar, e incluya: ¿Como resultado de todo este trabajo, al final del mismo se tendrá un sistema llamado xx capaz de yy y de zz.¿ ¿Cuenta usted con todo el tiempo que se necesita? ¿O trabaja, está casado, toma un curso de inglés, vive lejos de su trabajo y, además, aprende a tocar la guitarra? [Una cuartilla].
(4) Dirección. ¿Qué espera de mí? ¿En qué partes quiere que lo dirija? ¿Desea que le haga críticas? ¿Sugerencias, cambios? [Un párrafo] Con su propuesta en mis manos, yo le contestaré rápidamente (10 días) si le puedo ayudar, dirigir, ser útil. Note que no tengo más información adicional sobre el tema. Si vive en el área metropolitana de la Ciudad de México, es más práctico vernos (hábleme antes o envíeme correo) para avanzar en (1)-(4). Venga preparado.
Los números que llevan mis artículos se refieren a la lista que aparece en mi curriculum vitae (ver al final de este documento). La mayoría de ellos pueden leerse o copiarse gratuitamente, en texto completo, desde http://alum.mit.edu/www/aguzman. También tengo una página en construcción (que puede no existir cuando usted lea esto) en http://148.204.20.228:8080/guzman/ La Biblioteca Digital en el CIC está en http://148.204.20.228:8080/bibliodigital/ y ahí puede usted entrar como lector anónimo (simplemente empezar a usarla) y quizá halle documentos míos más recientes.
Projects and Themes for Thesis  






1. Clasitex. Análisis de documentos escritos en español para encontrar sus temas principales

OTROS NOMBRES (títulos alternos).
Clasificador automático de textos según su contenido. Indexador de documentos en un árbol temático de conceptos.
ÁREA (dentro de la Computación).
Inteligencia Artificial, Procesamiento de lenguaje natural, procesamiento de textos en español.
DESCRIPCIÓN.
En qué consiste el proyecto. Continúe desarrollando el árbol de conceptos que permite que Clasitex encuentre los temas principales a los que se refiere un artículo escrito en español. Haga el desmembrador de cada palabra en raíz, prefijo, sufijo. Haga el propagador de votos. Haga el módulo de votación a la francesa o de dos vueltas. Desarrolle las otras sugerencias que aparecen en mi artículo de Clasitex en el Journal of Expert Systems, enero 1998. Haga un programa en C que utilice dispersión al azar o hashing para encontrar rápidamente los conceptos en el árbol de conceptos. Pero sobre todo, agregue unos cincuenta mil nodos al árbol de conceptos.
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad. Búsqueda inteligente de texto. Se buscan los conceptos, no las palabras. Un artículo que habla de defensa delan-tero, portero, gol, tiro de esquina, será correctamente clasificado como en “fútbol sóccer”, aún cuando este par de palabras no aparezca en el artículo.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Use el programa Clasitex ó el Clasitex++ como punto de partida.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
98.  Guzmán A. Hallando los temas principales en un artículo en español. Soluciones Avan-zadas. Vol. 5, núm. 45, pág. 58. I parte, 15 de julio Â  de 1997, II parte vol. 5, núm. 49, pág. 66, 15 de septiembre de 1997. También en: Simposio Internacional de Computa-ción. Centro de Investigación en Computación. Instituto Politécnico Nacional. Noviem-bre 12-14, 1997. México, D.F., páginas 36-51.

99. Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.


101. Beatriz Beltrán Martínez, Adolfo Guzmán Arenas, Francisco Martínez Trinidad, José Ruiz Shulcloper. Clasitex++: una herramienta para el análisis de textos. Memorias del Tercer Taller Iberoamericano de Reconocimiento de Patrones, TIARP-98, Centro de Investigación en Computación, Instituto Politécnico Nacional, México, D. F. Marzo 1998. Páginas 369-379.

Projects and Themes for Thesis






2. Agentes móviles

OTROS NOMBRES (títulos alternos).
 Ayudante del Inyector de Agentes.
ÁREA (dentro de la Computación).
Inteligencia Artificial, Agentes, Computación distribuida.
DESCRIPCIÓN.
En qué consiste el proyecto. Se inyecta de alguna manera en una máquina huésped, un agente que lleva a cabo una tarea específica (por ejemplo, la sumarización de datos que lleva a cabo el Sumarizador de Anasin). Por algún motivo, el agente detecta una de las siguientes situaciones:
a) los datos han cambiado de morada, ya se mudaron a otro sub-directorio o a otra máquina, por lo que el agente debe emigrar.
b) la máquina huésped presenta paros frecuentes (está enferma) lo que amenaza con que el agente se muera y no resucite. Es necesario eternizar al agente (hacerlo inmortal, o sea, resistente a fallas o caídas de la máquina huésped).
c) parte de los datos se han ido, el archivo se ha duplicado o replicado, por lo que es conve-niente que el agente haga una mitosis y se divida en dos (o más), y sus clones emigren y persigan a los nuevos datos.
Diseñe e implemente usted un sistema donde haya agentes móviles capaces de ser inyectados, de detectar las condiciones (a) a (c) (y algunas otras), y de responder a ellas con las características de migración, mitosis, inmortalidad, etc., señaladas.
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad. Para definir procesos distribuidos débilmente acoplados que sean más robustos, adaptables a los cambios que inevitablemente ocurren en un ambiente de explotación de información.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Quizá el Inyector de Agentes del Ing. Gilberto Martínez Luna (Lab. de Sistemas de Información, C. I. C.) sea un punto de partida.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
1). Adolfo Guzmán. Sumarizador-Transmisor de Anasin. SoftwarePro International, Austin, Texas.
2). Gilberto Martínez Luna. Inyector de agentes. Tesis de M. en C., Depto. de Ing. Eléctrica, CINVESTAV-I. P. N., 1998.
3). 94. Guzmán A. Tecnología de Agentes. Simposio Internacional de Computación. Centro de Investigación en Computación, Instituto Politécnico Nacional, Octubre 21-23, 1996, México, D.F., páginas 25-36. También en: I. P. N. Ciencia, Arte y Cultura, vol. 2, núme-ro 10, Nov-Dic. 1996, páginas 3-10.

Projects and Themes for Thesis






3. Clasificadores tipo árboles k-d
OTROS NOMBRES (títulos alternos).
Clasificación supervisada usando árboles de decisiones.
ÁREA (dentro de la Computación).
 Inteligencia Artificial, Reconocimiento de patrones, clasificación supervisada.
DESCRIPCIÓN.
En qué consiste el proyecto. Se puede hacer un clasificador que aprenda de una matriz de aprendizaje y cuyo resultado sea un programa en C, un árbol de decisiones (IfÂ’s anidados, árbol k-d) que es el clasificador apropiado para lo que se aprendió. Aquí hay varios proyectos relacionados:
1. Aprenda de varias matrices de aprendizaje, y de alguna manera combine los clasificado-res (árboles k-d) obtenidos en cada aprendizaje, para obtener un clasificador (árbol) óp-timo, es decir, la mejor combinación de los árboles individuales.

2. Utilice árboles balanceados («b-trees») en vez de árboles k-d para tales clasificadores.

3. Utilice archivos indexados o funciones hash (de dispersión al azar) en vez de árboles k-d, para la implementación de tales clasificadores. El uso de archivos hará lento el sistema, pero hará posible la clasificación con clasificadores enormes (por ejemplo, el clasifica-dor ALVOT requiere todos los datos de la matriz de aprendizaje [MA] a tiempo de eje-cución; si la MA es muy grande, habrá que guardarla en disco).

Projects and Themes for Thesis






4. Utilice strip-trees (árboles rebanados) en vez de árboles k-d.
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad. Acoplar las herra-mientas modernas de tecnología de software a la ciencia de Reconocimiento de Patrones.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Para cada una de las proposiciones (1) a (4), habrá que usar métodos de codificación distintos, creo yo. Es demasiado pedir un solo algoritmo unificado, tal vez no sea deseable o posible.
TRABAJOS RELACIONADOS Y REFERENCIAS. Proyectos previos.
A. Guzmán. Generador de árboles k-d. SoftwarePro International, 1993.
89. Guzmán, A. Árboles k-d como clasificadores supervisados y para la substitución de sistemas expertos. Congreso Internacional sobre Reconocimiento de Patrones. ICIMAF, Habana, Cuba. 1995. (Este congreso fue el TIARP I, o Taller Ibero americano sobre Re-conocimiento de Patrones.
*100. Ruiz Shulclóper, José; Guzmán, A. y Martínez Trinidad, Francisco. (1999) Enfoque lógico combinatorio al Reconocimiento de Patrones: Clasificación Supervisada. Editorial Politécnica. ISBN 970 18 2384 1. También será publicado por la editorial Fondo de Cultura Económica, México.
A. Guzmán. Exploración de distintos árboles para clasificación supervisada. Proyecto DE-PI-I. P. N., 1997-98.
Ricardo Avilés. Tesis de Ingeniero en Comunicaciones y Electrónica, ESIME-I. P. N., 1978? Utiliza árboles rebanados (strip trees) para clasificación rápida, pero los genera a mano.

Projects and Themes for Thesis






5. Generador de clasificadores
OTROS NOMBRES (TÍTULOS ALTERNOS).
Búsqueda automática de clasificadores que tengan una eficiencia dada.
ÁREA (dentro de la Computación).
 Inteligencia artificial, reconocimiento de patrones, clasifi-cación supervisada.
DESCRIPCIÓN.
En qué consiste el proyecto. Utilice algún método para obtener un clasifica-dor supervisado, el cual depende de ciertos parámetros: qué testores típicos se usaron, cuál es la granularidad o precisión de las variables (por ejemplo, una variable continua, como peso en kilogramos, puede engrosarse o convertirse a una variable con los intervalos [de 0 a 10 kg.], [de 11 a 20 kg.], etc.) Utilícese una matriz de control para obtener la eficiencia (porcentaje de aciertos) de tal clasificador. Ahora bien, supongamos que la eficiencia obte-nida no es la adecuada. Hay que buscar un clasificador mejor (con mayor eficiencia).
El proyecto consiste en generar de manera automática muchos clasificadores, bus-cando uno (o varios) que tengan eficiencia alta. El generador modificará los parámetros (granularidad de las variables, escoger otros testores típicos, eliminar objetos de la matriz de aprendizaje, ...) de suerte que se vayan generando clasificadores con eficiencia (quizá) mayor. El método obvio es el de fuerza bruta, pero es muy lento (por ser exhaustivo y estar trabajando con una gran cantidad de variaciones de los parámetros). La idea es guiarse por la eficiencia, por la cantidad de información de los rasgos, por la confusión entre objetos, etc., para guiar el método de fuerza bruta hacia uno de “fuerza semi-bruta”, que proponga parámetros razonables y encuentre mejores clasificadores sin tanta exploración.

Adicionalmente, pueden combinarse los 3 (o n) mejores clasificadores, para obtener un clasificador aún mejor que los clasificadores que se combinan. Idea: utilice la sensibili-dad (precios sombra) de cada parámetro del clasificador, para saber en qué sentido modifi-car el parámetro.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Es engorroso estar buscando manualmente un clasificador mejor que el que ya se tiene. A menudo este trabajo se hace por una persona que es especialista en el campo de aplicación (es especialista en préstamos), pero no es especialista en Reconocimiento de Patrones. El método manual o del tanteo no garantiza encontrar rápido un clasificador de-seado.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo. Desarrolle un algoritmo de fuerza bruta para generar clasificadores, y simultáneamente es-tudie (teóricamente) los efectos de los diferentes parámetros del clasificador en su eficien-cia. Consecuentemente, agregue heurísticos a su generador bruto para guiar la generación inteligentemente. Bono adicional: demuestre que su generador es monotónico (la eficiencia de un nuevo clasificador generado, con respecto al anterior, aumenta siempre o no disminu-ye).
Para el algoritmo de fuerza bruta, el clasificador a usar será uno que (a) sea el más robusto o eficiente posible, y (b) se conozca bastante bien su fundamento teórico, a fin de entender el papel de cada parámetro del clasificador. Por ejemplo, use ALVOT. Bono adi-cional: tenga una tabla que diga: para tales y cuales condiciones, el mejor clasificador a usar, a priori, es la recta de Fisher, para esto otro hay que usar diagramas de Voronoi, etc.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
100. Ruiz Shulclóper, José; Guzmán, A. y Díaz de León, Juan Luis. Enfoque lógico combi-natorio al Reconocimiento de Patrones: Clasificación Supervisada Editorial Politécnica, 1999. México, D. F.
A. Guzmán. Generación de clasificadores con una eficiencia dada. Trabajo en progreso, incompleto. SoftwarePro International. (tengo un borrador de este artículo).

Projects and Themes for Thesis






6. Transformador de expresiones en SQL para minería de datos
OTROS NOMBRES (títulos alternos).
Virtualizador del cubo de minería de datos.
ÁREA (dentro de la Computación).
 Sistemas de información, minería de datos.
DESCRIPCIÓN.
En qué consiste el proyecto. Un minero utiliza expresiones en SQL (o en un lenguaje especial, según el proyecto # 18, convertible en expresiones en SQL) para accesar un cubo de datos. El cubo de datos es isomorfo a la base de datos original (contiene la mis-ma información, guardada en una forma especial que facilita la búsqueda al minero). Cuan-do se utiliza un cubo real, se duplica la información: se tiene en la base de datos original, y se tiene en el cubo.
El proyecto consiste en eliminar el cubo de datos, pero haciendo creer al minero que aún existe, que aún continúa accesándolo. El truco es convertir la expresión en SQL que el minero usa para accesar al cubo, en otra expresión equivalente en SQL, pero que ahora ac-cesa la base de datos real u original. Es decir, la expresión original en SQL accesa al cubo y obtiene los mismos datos que la expresión nueva en SQL obtendrá al accesar la base de datos original. Por consiguiente, si “engañamos” al minero y le cambiamos su expresión en SQL por la  nueva expresión en SQL, y usamos ésta para accesar la base de datos original, se obtendrán los mismos resultados, por lo que el cubo de datos ya no es útil y puede elimi-narse, lo que ahorra espacio en disco.
Usted hará el traductor de SQL a nuevo SQL. Este traductor estará parametrizado por la definición de la base de datos original, y por el árbol que nos dice quiénes son los hijos geográficos de Jalisco, los hijos temporales de 1998, etcétera (ver proyecto # 18).
Variante: no haga un traductor, haga un intérprete que atrape la expresión original en SQL que el minero usa para accesar al cubo, y la interprete y entienda y haga los accesos adecuados a la base de datos original, arrojando la misma información que se obtendría si el cubo (ahora inexistente) se hubiese accesado.
Bono adicional: ¿Cómo se manejarán los campos (totalizadores) que no existen, que son la mayoría de los totalizadores? Ahora que el cubo es real, tenemos la opción de ca-chear un totalizador cuyo valor era desconocido y acaba de ser computado, guardándolo en el cubo real (valor obtenido bajo demanda, o evaluación perezosa), o desechar tal valor, teniendo que recomputarlo después si se vuelve a necesitar. Para acelerar el procesamiento, se sugiere que los totalizadores se vayan cacheando para evitar recomputarlos, pero ¿dónde guardarlos? ¡No me atrevo a sugerir que se guarden en la base de datos real, la que está en producción!
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad. La minería de datos es un campo reciente, muy productivo, con productos comerciales primitivos que sin em-bargo han alcanzado cierto éxito (y mucho ruido). Sirven para descubrir anomalías, situa-ciones interesantes, desviaciones y tendencias en un mar de datos, de manera automática. Apoyan la toma de decisiones tácticas y estratégicas en los mandos medios y superiores de una empresa.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Utilice técnicas de expansión de macros en texto ASCII (después de todo, eso es lo que es una ex-presión en SQL).
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
92. Guzmán A. Mineros de Datos. En Soluciones Avanzadas, México D.F., 1996. También en: ARCHIPIÉLAGO. Vol. 2 núm. 9, página 19. Nov.-Dic. 1996.
97. Guzmán A. Estado del Arte y de la Práctica en Minería de Datos, Análisis y Crítica. II Taller  Iberoamericano de Reconocimiento de Patrones. Marzo 24-28, 1997. La Habana Cuba, páginas 367-376.





Projects and Themes for Thesis


7. Eliminador Universal de Baches (E U B)
OTROS NOMBRES (TÍTULOS ALTERNOS).
Rueda que se adapta a las irregularidades de la carretera.
ÁREA (dentro de la Computación).
 Inteligencia Artificial, Visión, Control en tiempo real.
DESCRIPCIÓN.
En qué consiste el proyecto. Diseñar el hardware y software para el EUB.
Una cámara de imágenes, conectada a una computadora, montada en la parte delan-tera de un automóvil, va detectando los baches (agujeros) y topes (agujeros negativos) que se encuentran en el camino adelante. Las ruedas están formadas por rayos (como las de las bicicletas, aunque no tantos rayos) y cada rayo termina en un pedazo de hule, que es el que hace contacto con el terreno. Es decir, la circunferencia de la rueda no es una sola pieza, sino que está formado de quizá doce rayos que terminan en pedazos de hule (como si fueran zapatos), cada uno al final de un rayo. Cuando cada rayo de la rueda tiene una misma lon-gitud (radio), los doce pedazos de hule forman una circunferencia.
Ahora bien, los rayos pueden cambiar su longitud, controlados por la computadora. El objeto del EUB es (1) detectar los baches positivos y negativos sobre los que pronto an-dará el automóvil; (2) calcular qué rueda y qué rayos harán contacto con el bache, y (3) alargar o acortar los rayos correspondientes, a fin de que el bache no se sienta. Es un siste-ma que trabaja en tiempo real.
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad.
La ventaja del EUB es que permite que un automóvil no “sienta” los baches, porque los detecta y modifica la superficie de contacto, adaptándola a la superficie de la carretera, de tal manera que el vehículo avance a una altura constante sobre la superficie, aunque ésta sea irregular. Es un amortiguador automático adaptivo en tiempo real.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.





Projects and Themes for Thesis


8. Sección Amarilla electrónica
OTROS NOMBRES (títulos alternos).
Búsqueda inteligente de productos y servicios.
ÁREA (dentro de la Computación).
 Sistemas de Información, Procesamiento de lenguaje natural, Procesamiento de textos en español.
DESCRIPCIÓN.
En qué consiste el proyecto. Usando un árbol de conceptos como el que usa CYC ó Clasitex, construir una sección amarilla electrónica (podría venderse en un CD rom) que supiera sinónimos, padres e hijos de un concepto, y otras relaciones sobre el árbol de conceptos. Por ejemplo, una persona está buscando “consultores”, pero la sección amarilla los tiene almacenados como “asesores” o “consejeros”. Por ejemplo, buscamos “bisagras de 3 pulgadas” y encontramos que hay una fábrica de bisagras (pero no dice explícitamente que sean de 3 pulgadas), y hay ferreterías, y hay tiendas para carpinteros. El sistema debe ser capaz de señalar “lo más cercano” a lo que se pidió, midiendo la distancia en el árbol de conceptos.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Mejoraría la sección amarilla actual, ya que uno pierde tiempo buscando “autobuses de pasajeros” y está guardada la información como “transportes foráneos de personas”.
POSIBLE DESARROLLO.

 Una de las maneras en que (tal vez) se pueda llevar a cabo. Use el árbol de conceptos de CYC ó Clasitex.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

98. Guzmán A. Hallando los temas principales en un artículo en español. Soluciones Avan-zadas. Vol. 5, núm. 45, pág. 58. I parte, 15 de Julio de 1997, II parte vol. 5, núm. 49, pág. 66, 15 de septiembre de 1997. También en : Simposium Internacional de Computa-ción. Centro de Investigación en Computación. Instituto Politécnico Nacional. Noviem-bre 12-14, 1997. México, D.F., páginas 36-51.

99. Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.


Projects and Themes for Thesis


8. Sección Amarilla electrónica
OTROS NOMBRES (títulos alternos)
 Búsqueda inteligente de productos y servicios.
ÁREA (dentro de la Computación).
Sistemas de Información, Procesamiento de lenguaje natural, Procesamiento de textos en español.
DESCRIPCIÓN
 En qué consiste el proyecto. Usando un árbol de conceptos como el que usa CYC ó Clasitex, construir una sección amarilla electrónica (podría venderse en un CD rom) que supiera sinónimos, padres e hijos de un concepto, y otras relaciones sobre el árbol de conceptos. Por ejemplo, una persona está buscando “consultores”, pero la sección amarilla los tiene almacenados como “asesores” o “consejeros”. Por ejemplo, buscamos “bisagras de 3 pulgadas” y encontramos que hay una fábrica de bisagras (pero no dice explícitamente que sean de 3 pulgadas), y hay ferreterías, y hay tiendas para carpinteros. El sistema debe ser capaz de señalar “lo más cercano” a lo que se pidió, midiendo la distancia en el árbol de conceptos.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 
Mejoraría la sección amarilla actual, ya que uno pierde tiempo buscando “autobuses de pasajeros” y está guardada la información como “transportes foráneos de personas”.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Use el árbol de conceptos de CYC ó Clasitex.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

98. Guzmán A. Hallando los temas principales en un artículo en español. Soluciones Avan-zadas. Vol. 5, núm. 45, pág. 58. I parte, 15 de Julio de 1997, II parte vol. 5, núm. 49, pág. 66, 15 de septiembre de 1997. También en : Simposium Internacional de Computa-ción. Centro de Investigación en Computación. Instituto Politécnico Nacional. Noviem-bre 12-14, 1997. México, D.F., páginas 36-51 
99. Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.


Projects and Themes for Thesis






9. Sistema para manejo de llegadas y salidas de viajeros en los aeropuer-tos internacionales
OTROS NOMBRES (títulos alternos)
. Control de entradas y salidas de viajantes.
ÁREA (dentro de la Computación).
 Sistemas de Información.
DESCRIPCIÓN. En qué consiste el proyecto.
 En México, los aeropuertos reciben y dejan salir a las personas (el Instituto Nacional de Migración, para ser más exactos) de/a otros países en forma manual, llenando unas hojitas y verificando los documentos. La propuesta es captar esta información en la computadora, por el agente de migración, al momento en que tiene al viajero frente a él. En ese momento la computadora accesa una base de datos para verificar su estado, si no se le busca, etc. Nota 1: las aerolíneas ya tienen en su base de da-tos los nombres de los pasajeros que están llegando o van a salir, por lo que esta informa-ción se puede “pre-cargarse” a fin de hacer más rápida la búsqueda (aunque hay que tomar en cuenta que los nombres que aparecen en los boletos de avión no siempre coinciden con los nombres del pasaporte).
Nota 2: Muchos países tienen ya sus pasaportes con código de barra y caracteres OCR (fáciles de leer por la computadora).
Extensión: a buques, puentes (paso con automóviles, paso a pie).
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Modernizar el manejo de visitantes internacionales en aeropuertos y puertos de entrada.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo. Use una base de datos local con acceso rápido, probablemente en modo cliente-servidor y no a través de páginas web, y acceso remoto a otras bases de datos exógenas.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
 Los países avanza-dos cuentan ya con este servicio.

Projects and Themes for Thesis






10. Servicios (inscripción, etc.) de estudiantes vía Intranet
OTROS NOMBRES (títulos alternos).
 Sistema escolar vía Web.
ÁREA (dentro de la Computación).
 Sistemas de Información, Intranet.
DESCRIPCIÓN. En qué consiste el proyecto

. Muchos trámites de control escolar (inscripcio-nes, cambio de grupo, darse de baja, consulta de calificaciones, etc.) y administrativos se realizan con papel, y en forma presencial. El estudiante debe acudir a una ventanilla, llenar un papel, firmar, etc. Diseñar un sistema donde estos trámites se puedan hacer vía Intra-net/Internet, de modo que los estudiantes que tienen acceso a ella no tengan que ir necesa-riamente a la escuela a hacer sus trámites. (También pueden hacer los trámites en la escuela, donde probablemente los dirijan hacia una terminal con Intranet).

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Modernizar los servicios a estudiantes. Evitar viajes a la escuela para realizar trámites.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo. Haga un experimento con un centro de enseñanza pequeño.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos
Muchas universida-des modernas cuentan ya con este servicio. En el C. I. C., el M. en C. César Guzmán está trabajando en estas líneas.
Sistema para actualización de datos de contaminación, seguridad y protección industrial. Proyecto del C. I. C. patrocinado por Pemex-Refinación, ASIPA, 1997.

Projects and Themes for Thesis






11. Centro de acopio de donaciones
OTROS NOMBRES (títulos alternos)
 Administración de entradas y salidas de donativos.
ÁREA (dentro de la Computación).
 Sistemas de Información.
DESCRIPCIÓN. En qué consiste el proyecto.
 Hay muchas donaciones de ropa, medicina, cobijas, baterías, ..., para distintos damnificados. Hay, por otro lado, desastres. Y hay dam-nificados. Se trata de hacer la mejor distribución posible de las donaciones, a través de un sistema de programas que usted diseñará. Una de las finalidades es determinar o demostrar que tal donación se entregó o regaló a tal damnificado. El problema se parece al de asigna-ción de personas (con ciertas habilidades y destrezas) a puestos de trabajo, o el de encontrar parejas de hombre-mujer, donde cada uno declara ciertas preferencias (busco dama de 25 a 35 años, católica, blanca, ....)
ANTECEDENTES, MOTIVACIÓN.

 Para qué sirve, cuál es su finalidad.
 Mejor administra-ción y entrega de donaciones.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos
Programa para encontrar parejas hombre-mujer. Programa para asignar trabajadores a puestos de trabajo. Programa para asignar trabajos a distintas máquinas en un taller.
Projects and Themes for Thesis






12. Servidor de imágenes de personas extraviadas; buscadas; de objetos robados; recuperados, vía Internet
OTROS NOMBRES (títulos alternos).
Sistema para identificación de objetos y personas vía Internet.
ÁREA (dentro de la Computación).
Sistemas de Información, Manejo de imágenes, Intranet.
DESCRIPCIÓN. En qué consiste el proyecto
. Una gran cantidad de objetos robados han sido recuperados y esperan a que su dueño los identifique y se los lleve. Las personas tienen que viajar actualmente a donde se encuentran los objetos. La idea es que el sistema que usted va a diseñar ponga a disposición de las personas interesadas, en distintos lugares, vía Internet, una imagen (o varias) de los objetos que se pueden reclamar. Lo mismo para fotos y des-cripciones de personas extraviadas.
ANTECEDENTES, MOTIVACIÓN
. Para qué sirve, cuál es su finalidad. Mejor servicio a la ciudadanía.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo. Utilice una base de datos que pueda almacenar imágenes.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Sistema integral de información que muestra a través de Intranet instalaciones, funciona-rios, y otras imágenes. Proyecto del C. I. C. patrocinado por Pemex-Refinación. 1997.
Projects and Themes for Thesis






13. Vacío
OTROS NOMBRES (títulos alternos).
ÁREA (dentro de la Computación).
DESCRIPCIÓN. En qué consiste el proyecto.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
POSIBLE DESARROLLO. Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Projects and Themes for Thesis






14. Diseño de marcas electrónicas en imágenes electrónicas
OTROS NOMBRES (títulos alternos).
Protección invisible en documentos electrónicos.
ÁREA (dentro de la Computación).
Procesamiento de Imágenes.
DESCRIPCIÓN. En qué consiste el proyecto.
 Las imágenes en papel se protegen utilizando marcas de agua, que son dibujos tenues que se sobreponen (o están contenidos o pre-impresos en el papel) sobre el dibujo original, de tal manera que no se noten o se noten po-co. De esta forma es posible demostrar que tal dibujo fue sacado de la Biblioteca del Vati-cano, pues tiene su marca de agua. Como no se nota mucho, es posible que pase desaperci-bido por el “infractor.” Las marcas de agua normalmente resisten las operaciones normales que se realizan con imágenes, como copiado, amplificación, reducción, mostrar una parte de la imagen, distorsiones comunes, reflexión en espejo.

Usted va a diseñar un sistema que ponga marcas electrónicas sobre imágenes elec-trónicas (o sea, que se muestran en una pantalla; también se pueden imprimir) con la misma finalidad de las marcas de agua normales. Piense qué marcas usará. Diseñe el sistema. Des-criba el método de autenticación de una imagen de usted que Juan Pérez alega que es de él.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Para identificar el dueño u origen de un documento.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS.
Trabajos previos.
(falta aquí una referencia).
Projects and Themes for Thesis






15. Prueba de programas mediante inyectores de errores
OTROS NOMBRES (títulos alternos).
Introducción de errores y estudio de su propagación y efectos.
ÁREA (dentro de la Computación)
. Tecnología de software.
DESCRIPCIÓN. En qué consiste el proyecto.
 El efecto de un error en el código puede medirse o deducirse mediante la introducción artificial de ciertos errores. Por ejemplo, puedo intro-ducir un error en la variable X, añadiendo una línea (inyectando el error) que diga X := ran-dom (X). Describa un método (no diseñe ni haga programas, solo el método) para utilizar estas técnicas de inyección de errores. Describa su método, dé un ejemplo. ¿Cómo se com-para contra métodos ya existentes (ver referencia)? ¿Cómo los mejora o supera? ¿Qué se gana con su método? ¿Y qué se gana con su método versus con otros métodos ya existen-tes?
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
En la etapa de prueba, para determinar la robustez de programas.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS.
Trabajos previos.
Computer Dec. 97.
Projects and Themes for Thesis





16. Compiladores para paralelizar varias instrucciones
OTROS NOMBRES (títulos alternos).
 Instruction level parallelism.
ÁREA (dentro de la Computación).
Arquitectura de computadoras, Tecnología de Software.
DESCRIPCIÓN. En qué consiste el proyecto.
 Tenemos un programa en ensamblador (o en binario) y tenemos un procesador que tiene una ALU (unidad aritmética y lógica) capaz de ejecutar en paralelo algunas instrucciones, amén de la paralelización que se obtiene en el canal (bus) de memoria en el ciclo de obtención (fetch), el de cómputo de la dirección efec-tiva, el de ejecución (escritura o lectura de datos a o desde memoria), etc. Podemos suponer, por ejemplo, que la computadora tiene una palabra larga (60 bits, como la CDC Cyber, R.I.P.), cuyas instrucciones podrían ejecutarse en paralelo. Diseñe un compilador que de-tecte las paralelizaciones posibles y las efectúe, ensamblando las instrucciones correspon-dientes, y estableciendo candados para cuando cierta paralelización no sea posible.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Aumentar la veloci-dad de ejecución.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS.
Trabajos previos.

Computer, Dec. 97, p. 63 ff.
Projects and Themes for Thesis







17. Tramitel electrónico: informes de trámites en español, por teléfono
OTROS NOMBRES (títulos alternos).
Informes exactos sobre pasos, procesos y trámites.
ÁREA (dentro de la Computación)
. Síntesis de voz.
DESCRIPCIÓN. En qué consiste el proyecto.
Existe una oficina que da información telefóni-ca, mediante personas, de trámites en oficinas de gobierno. La idea es representar a cada trámite por un flujograma (red dirigida, los nodos son transacciones atómicas o trabajos que realiza un individuo, los arcos indican los nodos o transacciones “corriente abajo” que son consecuencia de las transacciones que ya concluyeron; hay nodos condicionales o “if”: si es menor de edad, vaya a la ventanilla 1, si no, vaya primero a la caja “antecedentes penales”), y tener un sintetizador de voz que va “leyendo el trámite” por teléfono.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Dar información veraz por teléfono.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Usar tarjetas que se conectan a  la PC para manejar (hablar) menúes de voz, y leen (mediante tonos) los dígitos pulsados en el microteléfono.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

86bis. Guzmán, A. Diseño de una Sistema General de Seguimientos. Simposium Internacional de Computación , CENAC-IPN, Nov. 10-13, 1993, México, D.F.
Cecilia Palomino. Construcción de un sistema de flujo de documentos (work flow) con múltiples servidores. Tesis de M. en C., Centro de Investigación en Computación, 1999.
Projects and Themes for Thesis






18. Búsquedas en bases de datos con llaves inexactas
OTROS NOMBRES (títulos alternos).
Indexación inexacta controlada.
ÁREA (dentro de la Computación).

Reconocimiento de Patrones, Sistemas de Información.

DESCRIPCIÓN. En qué consiste el proyecto
Un “objeto” (persona) o situación (“conflicto entre campesinos”) se describe por varios atributos o rasgos (sueldo, edad, sexo, colonia donde vive, altura, peso, religión ...), que poseen valores numéricos o simbólicos (católico, mahometano, budista, ...). [para simplificar, un objeto de éstos (no es un objeto de C++) puede representarse como un registro de un archivo o un renglón de una tabla de una base de datos]. Un método de hallar si un objeto dado está en un archivo grande o colección grande de objetos es calcular, a partir de sus atributos, una llave o índice (si se usan archi-vos, se denominan archivos indexados. Si se usan tablas en memoria, se llaman llaves, y se usa el método de dispersión al azar o hashing). Dado un objeto “nuevo”, se desea averiguar si está o no en tal archivo. Entonces se computa, a partir de los atributos de tal objeto, una llave, y con ella se indexa el archivo. Si el índice encuentra registro, sí está el objeto en el archivo, y el registro puede contener información adicional sobre el objeto: su dirección, cuánto nos debe de renta, o a qué clase pertenece: beisbolista, nadador, levantador de pe-sas, corredor de fondo, etc. Si el índice es inválido, significa que no está en el archivo, el archivo no contiene al objeto nuevo, o no contiene un objeto con las características del nue-vo. Se puede entonces tomar algún tipo de decisión: decir que no está, incorporarlo, etc.
Ahora bien, pudiera ser que los atributos sean más o menos difíciles de computar. Por ejemplo, si estamos mirando caras, un atributo puede ser “tamaño de los ojos” con va-lores chico, mediano, grande. Pero pudiera haber confusión o inexactitud, de manera que medimos “chico” cuando en realidad debía de ser “mediano”. Se habla de llaves inexactas. La búsqueda con valores inexactos o imprecisos puede proceder así: se miden (lo mejor que se pueda) los atributos del objeto nuevo. Se computa la llave para tal objeto. Se mete la mano al archivo (se indexa con tal llave). Si se halla un objeto, hemos hallado un objeto que casa perfectamente o con cero error con el objeto nuevo. Si no hallamos objeto alguno, entonces “no se encuentra un objeto con error = 0”. Se procede a calcular todas las llaves que distan 1 [o sea, que tienen error = 1] de la llave anterior (por ejemplo, la llave puede ser llave a = {nariz chata, ojo chico}, donde los valores para nariz son chata, regular, afilada, aguileña, y para ojo son chico, mediano, grande. Entonces una llave que dista 1 de la llave a es {nariz regular, ojo chico}, otra llave que también dista 1 de la llave a es {nariz chata, ojo grande}, una llave que dista 2 de la llave a es {nariz regular, ojo grande}, etc. Hállense to-das las llaves con error = 1 y los objetos (accesando varias veces el archivo) con error = 1, y así también los objetos con error = 2 y quizá los que tienen error = 3, y preséntense en for-ma ordenada (primero los de error más bajo), como “objetos encontrados que se parecen al objeto nuevo buscado”.
Por alguna razón, la distancia o error en un atributo (forma de nariz) puede ser más grande (más importante) que en otro atributo.
También, los valores de algún atributo pudieran formar árbol. Por ejemplo, pudiera ser fácil detectar con robustez que una nariz es grande, afilada o chata. Ahora bien, las nari-ces grandes se dividen en triangulares, rectangulares y pentagonales. Las narices afiladas se dividen en rectas, cóncavas y convexas o aguileñas. Las narices chatas se dividen en chata-chica y chata-aplastada. Ahora bien, dado que un objeto tiene {nariz triangular, ojo chico}, cuando tal objeto no se halle en el archivo, se puede tratar de buscar {nariz grande, ojo chi-co} en vez de {nariz rectangular, ojo chico} + {nariz pentagonal, ojo chico}. Es decir, usar al “papá” del atributo en vez de a los “hermanos” del atributo. De esta manera es posible “generalizar” un objeto, al generalizar (subir en el árbol) uno o más de sus atributos. La generalización es una operación que nos protege de la imperfección al medir o computar atributos. El programa que trata de accesar un “objeto generalizado” (aquél que posee un atributo no expresado al máximo detalle, como hoja del árbol) debe poder computar las “llaves específicas” derivadas de la llave general, y tratar de accesar tales objetos específi-cos. Por ejemplo, el objeto (generalizado) {nariz grande, ojo chico} se particulariza en (re-presenta a) los objetos {nariz triangular, ojo chico}, {nariz rectangular, ojo chico}, {nariz pentagonal, ojo chico}. La búsqueda del objeto {nariz grande, ojo chico} se lleva a cabo mediante cuatro accesos al archivo, con las llaves {nariz grande, ojo chico}, {nariz trian-gular, ojo chico}, {nariz rectangular, ojo chico}, {nariz pentagonal, ojo chico}. El archivo puede contener objetos específicos y objetos generalizados. Idea: que los objetos generali-zados en el archivo contengan apuntadores a los objetos menos generalizados que sean sus hijos. Esto evitaría una gran cantidad de accesos inútiles al disco, originadas por llaves in-válidas (que representan a objetos inexistentes): cada vez que se guarde un objeto específico en el archivo, compútense los objetos generalizados (o sea, los ascendientes de tal objeto), y regístrense éstos (teniendo cuidado de marcarlos como ‘virtualesÂ’ o artificiales, ya que en realidad no han sido encontrados en la naturaleza, sino se han insertado en el archivo solo para poder hacer referencia a sus hijos) también en el disco, cuidando también que cada objeto apunte a sus descendientes inmediatos. Los objetos en el archivo están organizados de acuerdo al árbol de atributos. Por ende, la búsqueda es inmediata: cuando se tenga un objeto nuevo, mídanse sus atributos, y, ya sea un objeto generalizado o no, úsese su llave para accesar el archivo. Si no existe, tampoco existen hijos suyos, y la búsqueda solo puede proceder hacia arriba (generalizando más tal objeto). Si existe, puede ser real (imprímase como “encontrado”) o virtual, pero en todo caso léanse de él las llaves de sus hijos inme-diatos. Accésense éstos, y repítase el proceso hacia abajo del árbol.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Para comparar objetos complejos (imágenes de rostros, por ejemplo) contra una base de datos enorme (con muchos objetos).
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. El trabajo de comparar objetos complejos puede dividirse en dos partes, la primera (que no vamos a hacer en esta propuesta) es hallar los rasgos descriptivos o atributos del objeto, y medirlos; la segunda parte, contenida en esta propuesta, es hallarlos rápidamente utilizando un archivo organizado en árbol, según el árbol que forman los atributos.
Nótese que aunque no se van a desarrollar los identificadores o medidores de atri-butos, es menester tener una buena idea de los mismos, la que es imprescindible para en-tender cómo va a estar organizado el árbol de atributos. Podría ser preferible, en conse-cuencia, desarrollar también los identificadores de atributos, en paralelo con el archivo ar-borizado.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
89. Guzmán, A. Árboles k-d como clasificadores supervisados y para la substitución de sistemas expertos. Congreso Internacional sobre Reconocimiento de Patrones. ICIMAF, Habana, Cuba. 1995. (Este congreso fue el TIARP I, o Taller Ibero americano sobre Re-conocimiento de Patrones).
Projects and Themes for Thesis






19. Lenguaje para expresar “situaciones interesantes” en minería de da-tos
OTROS NOMBRES (títulos alternos).
Lenguaje que describe búsquedas generalizadas.
ÁREA (dentro de la Computación).
Sistemas de Información, Minería de Datos
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

La minería de datos es un campo reciente, muy productivo, con productos comer-ciales primitivos que sin embargo han alcanzado cierto éxito (y mucho ruido). Sirven para descubrir anomalías, situaciones interesantes, desviaciones y tendencias en un mar de datos, de manera automática. Apoyan la toma de decisiones tácticas y estratégicas en los mandos medios y superiores de una empresa.
Una base de datos se interroga utilizando SQL. Para interrogar el “cubo de datos” que usan los mineros, se ha usado un lenguaje sencillo, que nos permite expresar “brincos parametrizados” (de semana en semana, de mes en mes, de año en año; de tienda en tienda, de ciudad en ciudad, de estado a estado, de nación a nación). También nos debe permitir expresar los siguientes conceptos:
? los hijos geográficos de una entidad geográfica, por ejemplo, los hijos geográfi-cos de Veracruz, que son: Jalapa, Minatitlán, Coatzacoalcos, ...
? Mis tíos de producto. Si estamos en el eje de productos, y yo soy “bisagras”, en-tonces mi papá es “ferretería”, de donde los hermanos de mi papá, o sea mis tíos, son “ropa”, “abarrotes”, “carnes y salchichonería”, etc.
? Los descendientes geográficos de mi papá temporal. Si yo soy “Jalisco, 15 de agosto de 1997”, entonces mi papá temporal es “Jalisco, agosto de 1997”, y los descendientes geográficos buscados son: “Guadalajara, agosto 1997”, “Chapala, agosto 1997”, “Ciudad Guzmán, agosto 1997”, etc.
DESCRIPCIÓN.
En qué consiste el proyecto.
La idea es desarrollar completamente el lenguaje, para poder expresar de una mane-ra sencilla, utilizando una notación amigable y entendible, todos o muchos de los conceptos (búsquedas, situaciones) que se usan o sean interesantes para minería de datos. Además del lenguaje, desarrollar su intérprete o su compilador (traductor a SQL + algunas rutinas que no están en SQL). Estos traductores están parametrizados por la estructura del cubo de da-tos, es decir, por un árbol que dice: Los hijos geográficos de Jalisco son Chapala, Ciudad Guzmán, ...; los hijos temporales de 1998 son Enero 1998, Febrero 1998, ..., Diciembre 1998.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Haga un intérprete del lenguaje. Otra: haga un traductor a expresiones SQL (así lo tenemos im-plementado ahora).
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
92. Guzmán A. Mineros de Datos. En Soluciones Avanzadas, México D.F., 1996. También en: ARCHIPIÉLAGO. Vol. 2 núm. 9, página 19. Nov.-Dic. 1996.
97. Guzmán A. Estado del Arte y de la Práctica en Minería de Datos, Análisis y Crítica. Memorias del II Taller Iberoamericano de Reconocimiento de Patrones. Marzo 24-28, 1997. La Habana Cuba, páginas 367-376.
112. García, A., Guzmán Arenas, A., y Martínez Luna, G. Anasin: Minería de datos con búsqueda de patrones de comportamiento. Foro “Computación, de la teoría a la prác-tica.” Págs. 15-28. 26-28 de mayo de 1999. México, D. F. . ISBN 970-18-3012-1
113. Guzmán, A. Minería y bodega de datos. Simposium Nacional de Computación SICOM 99, 7-11 de junio de 1999, Villahermosa, Tabasco. Págs. 5-13. ISBN 970-18-3046-6.

Projects and Themes for Thesis





20. Métodos para evaluar relevancia y utilidad de temas en artículos es-critos en español



OTROS NOMBRES (títulos alternos).
Sensor de los problemas de una empresa, de una comunidad.
ÁREA (dentro de la Computación).
Inteligencia Artificial, Procesamiento de Lenguaje Natu-ral, procesamiento de textos en español.
DESCRIPCIÓN.
En qué consiste el proyecto. Mientras más se mencione un tema, es más importante, más relevante, de más actualidad. ¿Cuántas veces se menciona? ¿En qué página del periódico aparece? ¿Qué tan extensa es la nota? Dentro del documento, dónde aparece el tema también indica su importancia: en el título, en el resumen, en “resultados principa-les.” Utilizando Clasitex (refs. 98 y 99), analice las noticias de los periódicos, o el boletín informativo de la empresa, y determine cuáles son los temas que más acaparan la atención del lector (o de los escritores).
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad. Manejo inteligente de textos en español. Entender qué preocupa a una comunidad, a una empresa.
Nota: el proyecto #45 hace un estudio similar, pero no sobre lo que aparece en los informes o periódicos, sino sobre lo que se lee.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS.
Trabajos previos. Ver también proyecto #20.
98. Guzmán A. Hallando los temas principales en un artículo en español. Soluciones Avan-zadas. Vol. 5, núm. 45, pág. 58. I parte, 15 de Julio de 1997, II parte vol. 5, núm. 49, pág. 66, 15 de septiembre de 1997. También en : Simposium Internacional de Computa-ción. Centro de Investigación en Computación. Instituto Politécnico Nacional. Noviem-bre 12-14, 1997. México, D.F., páginas 36-51.
99. Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139



21. Detectando tendencias y haciendo extrapolaciones en informes escri-tos en español
OTROS NOMBRES (títulos alternos).
 Series de tiempo en datos simbólicos.
ÁREA (dentro de la Computación):
 Minería de datos simbólicos. Minería de textos en espa-ñol. Área: Inteligencia Artificial. Sub-área: procesamiento de lenguajes naturales.
DESCRIPCIÓN. En qué consiste el proyecto
 Defínase una tendencia como una de las si-guientes condiciones: la mención del tema “béisbol” va bajando (a través de los meses, di-gamos, en un determinado periódico), contando por ejemplo el número de artículos que lo mencionan “significativamente” (un artículo menciona “significativamente” a un tema cuando lo menciona más de x veces, o más del z % de los conceptos mencionados en el artículo corresponden al tema. Ejemplo: un artículo menciona “béisbol” cuando más del 6 % de los conceptos del artículo se refieren a béisbol). Otra tendencia: ese número o por-centaje va subiendo “considerablemente” (se incrementa más del 8 por ciento mensual). Otra: ha llegado a un máximo. Otra: a un mínimo. La idea es leer con Clasitex un gran nú-mero de artículos, mes a mes, y ver si alguna de estas tendencias ocurre. Es como un “mine-ro simbólico” que encuentra “situaciones interesantes” o tendencias en artículos en español.
Úsese Clasitex para contar el número de ocurrencias de conceptos que “votan” o se refieren a “béisbol”. Una vez reducido cada artículo a un número de ocurrencias, úsense los métodos comunes de minería de datos para determinar si hay incremento, decremento, sal-to, mínimo, máximo, o alguna otra situación interesante.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Para detectar situa-ciones interesantes, tendencias, en textos escritos en español. Manejo inteligente de textos en español. Para saber la dinámica de la atención de una empresa, de un público. Cómo varía la importancia de un suceso, por la frecuencia con que se menciona el tema. Bono adicional: haga estadísticas que reporten más o menos lo siguiente: lo normal es que un tema de cierta importancia dure una semana en las noticias, un tema más importante (la muerte de la princesa Diana) puede durar hasta 2 meses, etcétera. Esto nos permite compa-rar la “importancia relativa” de dos sucesos, midiendo el tiempo e intensidad con que per-manecen en las páginas principales de una publicación. Variante: analice los distintos artí-culos publicados en, digamos, los últimos tres años de Pattern Recognition, y haga estadís-ticas que nos digan cómo el tema “fusión de sensores” ha arrancado, cuándo llegó a su cús-pide, y cómo ha declinado, quiénes son los autores o grupos más destacados, los grupos seguidores  imitadores, los grupos líderes o iniciadores, etc. Cómo ha languidecido el tema “aplicaciones cliente-servidor”, el tema “repositorio de datos”, etc.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Utilice Clasitex ó Clasitex++ como punto de partida.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
  Ver también proyecto #19.
98. Guzmán A. Hallando los temas principales en un artículo en español. Soluciones Avan-zadas. Vol. 5, núm. 45, pág. 58. I parte, 15 de Julio de 1997, II parte vol. 5, núm. 49, pág. 66, 15 de septiembre de 1997. También en : Simposium Internacional de Computa-ción. Centro de Investigación en Computación. Instituto Politécnico Nacional. Noviem-bre 12-14, 1997. México, D.F., páginas 36-51.
99. Guzmán, A. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.
Projects and Themes for Thesis






22. Cuidador electrónico de automóviles
OTROS NOMBRES (títulos alternos).
 Detector de salidas no autorizadas.
ÁREA (dentro de la Computación).
 Electrónica digital.
DESCRIPCIÓN. En qué consiste el proyecto.
Utilizando gafetes activos (son unas antenas escondidas dentro de un gafete, con un chip, reciben una señal de radio y transmiten otra --su identificación), diseñar un sistema para que un transmisor de baja potencia “cuide” a los automóviles que están en el estacionamiento privado de un edificio. Los autos entran, y el gafete los identifica (“ya llegó el Chevrolet verde”). Al salir, el gafete se identifica (“ya se va el Chevrolet verde”, ya no se está recibiendo la señal). El dispositivo radía con baja po-tencia, a una antena de mayor ganancia que se coloca en la azotea del edificio, alumbrando al estacionamiento a proteger. Cuando una persona se aleja en su automóvil, tiene que avi-sar de alguna manera a la computadora a fin de que sea “salida normal”. Por ejemplo, te-cleándole al chip (o a la computadora en el edificio) una contraseña. La falta de este aviso hará que la computadora notifique a los guardias del estacionamiento “salida anormal del Chevrolet verde placas xxx”, o dé algún aviso parecido de alarma. Variante: no ponga la antena en el techo, póngala cerca de la puerta de salida del estacionamiento. Necesitará me-nos potencia.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad
. Evita robos de vehículos estacionados. Eliminación o detección de robos en lugares confinados. Reducción del personal de vigilancia. Aumento de seguridad. Protección.
POSIBLE DESARROLLO.
   Una de las maneras en que (tal vez) se pueda llevar a cabo. Hay que diseñar el hardware, el software y las comunicaciones. Se parece a los pagers y a las comunicaciones de los teléfonos inalámbricos (no de los celulares). Hay que ver qué fre-cuencias o técnicas usar, a fin de no sufrir interferencias indeseadas.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
El Ing. Marco Antonio Reyes García estuvo desarrollando antenas que formaban parte de gafetes activos, en el Instituto Mexicano de la Comunicación, S. C. T.
Projects and Themes for Thesis





23. Transparentador de profesores
OTROS NOMBRES (títulos alternos).
Despliegue inteligente de imágenes recibidas.
ÁREA (dentro de la Computación)
 Procesamiento de imágenes. Sistemas en tiempo real.
DESCRIPCIÓN. En qué consiste el proyecto.
Cuando se está televisando una clase o confe-rencia, la cámara enfoca al pizarrón o a la pantalla. En eso el profesor se atraviesa y con su cuerpo bloquea parte de la imagen. Y no se ve a dónde apunta o qué está señalando. La idea es con la computadora alterar la imagen transmitida de manera que el cuerpo del profesor se borre o se haga transparente, y vuelva a aparecer el texto que se encuentra oculto por él.
Variante 1: Hacer la imagen del profesor no del todo transparente, sino que se vea apenas, como fantasma o silueta.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Transmisión com-pleta de imágenes, a pesar de obstrucciones indeseables.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. En la computadora receptora, guarde la imagen sin inteferencia, y cuando detecte que hay una “interferencia de profesor”, conmute y despliegue sucesivamente una y otra imagen, esto nos dará el efecto de transparentar a la obstrucción y semi-removerla. Regrese a la imagen nueva cuando la obstrucción cese.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Projects and Themes for Thesis





24. Juntas electrónicas para la Comisión de Honor del I. P. N.
OTROS NOMBRES (títulos alternos)
. Reuniones electrónicas.
ÁREA (dentro de la Computación).
 Sistemas de información, groupware.
DESCRIPCIÓN. En qué consiste el proyecto.
Para dictaminar sobre varios casos, los miem-bros de la Comisión de Honor (y de muchos otros comités dentro y fuera del I. P. N.) se reúnen presencial y síncronamente, para discutir sobre tal o cual caso, examinando para cada uno varios documentos.
a) Tal examen pudiera ser no presencial pero sí síncrono, es decir, a determinada hora cada uno de los miembros de la Comisión se sientan frente a una PC en su oficina, y se inte-gran a la junta.
b) Otra variante: pudiese ser no presencial, como (a), y también asíncrona: en realidad la “junta” dura dos días, con un horario largo: tienen los integrantes hasta las 10 de la ma-ñana para enviar candidatos; hasta las 6 p.m. para enviar objeciones, hasta las 10 p.m. para votación preliminar, etc.
Existe ya software comercial para juntas electrónicas, el proyecto podría ser imitar uno, tratando de mejorarlo o de agregarle algunas características útiles adicionales. Con este software es posible hacer votaciones de distintas maneras, conservar el anonimato de los emisores de opiniones o votos, opinar en paralelo, hacer consensos sobre las cinco ideas o candidatos mejores, los 5 peores, etc.
Projects and Themes for Thesis






25. Construcción de una computadora paralela como la SP2 utilizando procesadores Pentium (no Power PCs) y un switch de fibra óptica
OTROS NOMBRES (títulos alternos).
Armando un Cluster de PCs.
ÁREA (dentro de la Computación).  
Arquitectura de computadoras, Sistemas Digitales.
DESCRIPCIÓN. En qué consiste el proyecto.
 Hay dos tipos de máquinas paralelas (fuerte-mente acopladas), aquéllas que intercambian datos mediante memoria compartida (ejemplo comercial: Origin, de Silicon Graphics) y las que los intercambian mediante conmutación de mensajes o líneas o switches (ejemplo: IBM SP2). Ahora bien, una SP2 está formada por varias Power PCs interconectadas por un switch rápido. La idea es usar Pentiums (u otras PCs con chips de la familia 80X86) e interconectar estas máquinas mediante un switch óp-tico (de fibra óptica), el que se compraría. Se comprarían también las Pentiums. El proyecto consiste en hacer el diseño, las interfaces, la interconexión, adaptarle algún sistema operati-vo (Unix en paralelo o para varios procesadores, digamos), y dejar la máquina andando, operacional.

  Para qué sirve, cuál es su finalidad. Diseño y construc-ción de una máquina paralela barata. Entender las técnicas de conexión a un switch de fibra óptica.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Compre el switch óptico.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
 En junio de 2000 este proyecto se lleva a cabo en el Laboratorio de Electrónica del CIC.
Projects and Themes for Thesis






26. Traductor de un lenguaje “estándar” 4GL hacia SQLs de Informix, Progress y Oracle
OTROS NOMBRES (títulos alternos).
Accesador universal a bases de datos
ÁREA (dentro de la Computación).
 Tecnología de software, Sistemas de Información.
DESCRIPCIÓN. En qué consiste el proyecto
La idea es programar en un 4GL más o menos común (por decir algo, en el de Progress), y poder conectarlo hacia otro manejador de base de datos, haciendo (en la variante 1) un pre-procesador que substituye las llamadas que realmente accesan la base de datos (de Progress), con llamadas a otras subrutinas que lo que hacen es accesar (variante 1) la base de datos de Oracle, y devolver los buffers (o lo que sea) llenos de datos tal como lo hubiera hecho Progress.
Variante 1: Traductor de Progress hacia Oracle. Compilador o macro-expansor que convierte los comandos de lectura de Progress, reemplazándolos por llamadas (en Progress) hacia una rutina que es la que llama al comando correspondiente de Oracle, el cual lee los datos del motor de Oracle y los devuelve (llenando el buffer de memoria) tal como los hu-biera devuelto o recobrado el comando de Progress. Y similarmente para los comandos que escriben, los que verifican si la llave es inexistente, etc.
Variante 1.b. Intérprete (caja de datos) de comandos de Progress cuando el motor se ha reemplazado con uno de Oracle. Es un intérprete que intercepta los comandos, en vez de un preprocesador que convierte comandos en un lenguaje (Progress) hacia otro (Oracle).
Variante 2. Traductor de Progress hacia varios lenguajes, no solo hacia Oracle.
Cuando en las variantes anteriores decimos “Progress”, en realidad estamos pensando en un lenguaje sencillo o cómodo (por eso pensé en Progress) para escribir nuestros programas, y de ahí hacer la traducción (o interpretación) automática hacia otros motores de bases de datos cuyos lenguajes 4GL no deseamos aprender. Es decir, pudiera ser que el lenguaje cómodo en que programamos rutinariamente no sea “Progress”, sino alguno otro.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Para proporcionar independencia del motor de la base de datos. Para usar un único lenguaje de programación. Para convertir sistemas que accesan a una base de datos relacional, a otra base de datos.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Projects and Themes for Thesis






27. Traductor de los diferentes front-ends que accesan una base de datos
OTROS NOMBRES (títulos alternos)
 Front-end universal. Presentación de usuario cambia-ble.
ÁREA (dentro de la Computación).
Tecnología de software.
DESCRIPCIÓN. En qué consiste el proyecto.
 De Internet-Intranet, de Visual Basic, de Delphi. O sea, entre ellos. Se puede acoplar con el “accesador universal de bases de datos”, que es el proyecto 25.
La idea es programar el “front end” (que accesa a una base de datos) en un “lenguaje cómodo” (Delphi, digamos), y de ahí traducir hacia Internet-Intranet, hacia Visual Basic, etc. Tenemos aquí las mismas variantes que en el proyecto 25.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Proporcionar inde-pendencia del “front-end” que accesa una base de datos.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Projects and Themes for Thesis





28. Manejador de documentos electrónicos (workflow) y convencionales
OTROS NOMBRES (títulos alternos).
 Manejador híbrido. Flujo de documentos
ÁREA (dentro de la Computación)
. Sistemas de información.
DESCRIPCIÓN. En qué consiste el proyecto.
Existen manejadores de documentos electróni-cos (workflow) que tienen un solo servidor. La Tesis de M. en C. de Cecilia Palomino (C. I. C.-I. P. N.) trata del diseño y construcción de un manejador con varios servidores, de mane-ra que los trámites pueden emigrar de un servidor a otro, sin perder ilación o continuidad. Prosiga usted a lo largo de estas ideas, para hacer un manejador híbrido que combine los documentos electrónicos con los documentos de papel (convencionales).
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Un manejador de documentos electrónicos sirve para: Eliminación del papel, automatización de oficinas, agilización de trámites, seguimiento de asuntos, control de asuntos. Uno híbrido tiene el atractivo adicional de hacer una transición más suave o fluida entre la cultura de documen-tos de papel y la de documentos electrónicos.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Básese en la parte ya existente.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
 Cecilia Palomino, tesis de M. en C., C. I. C.-I. P. N. 1999.
Projects and Themes for Thesis






29. Construcción de un pizarrón de mensajes (“object request broker”) para aplicaciones de inter-operabilidad de software ya existente y en producción
OTROS NOMBRES (títulos alternos).
Pizarrón de distribución de mensajes que solicitan servicios, pero cuyos servidores no se conocen. Conectando sistemas ya instalados que no se diseñaron para interactuar. Cómo darle longevidad a software ya existente y operacional, mediante su interconexión.
ÁREA (dentro de la Computación).
 Computación distribuida. Inter-operabilidad de sistemas, integración de aplicaciones
DESCRIPCIÓN. En qué consiste el proyecto.
En una empresa con cierta antigüedad, existen sistemas de información aislados, que no se comunican entre sí. Fueron creados indepen-dientemente, en distintas plataformas, para distintos usos. En una empresa grande, existe software que ya trabaja, por ejemplo leyendo datos de unos archivos o pantallas de captura, haciendo una operación (venta al contado, cobranza del pago del recibo telefónico, inscrip-ción a un examen a título de suficiencia). Estos sistemas se diseñaron aislados, de manera que, por ejemplo, un paquete le informa a un alumno que reprobó, pero no le produce un “recibo de pago” para que vaya a pagar su examen extraordinario. Él tiene que usar otro sistema, que le vuelve a preguntar los datos, porque el sistema dos no está conectado con el sistema uno. Otro ejemplo: en su banco Juan Pérez tiene una cuenta de ahorros y otra de cheques. Cada uno lo maneja un software distinto, el primero está en una IBM AS 400 y el segundo en una HP con Unix. Juan Pérez cambia de dirección, y le toman sus datos para su cuenta de ahorros. Le tienen que volver a tomar los mismos datos para su cuenta de che-ques, porque los sistemas no están conectados. Esto origina duplicación de información, lentitud, captura doble (con la consiguiente introducción de errores de captura o de teclado) porque la conexión entre sistemas se hace a mano. Después del tiempo, se ve la convenien-cia de que el sistema A le pase información al sistema B, en ciertos casos. Y el problema se complica si hay varias decenas de sistemas que podrían, en ciertos casos, comunicarse con otro(s).
El problema a resolver es interconectar este software, haciendo que los resultados de un paquete vayan y avisen al otro paquete que tal o cual cosa debe suceder. (Una solución que se descarta en este proyecto es “volver a hacer todo de nuevo” usando una misma base de datos, es decir, volver a hacer desde cero un sistema integral de información, o de ma-nejo de alumnos, o de transacciones en bancos. En este proyecto suponemos que tal solu-ción es muy costosa y lenta, por lo que preferimos tender puentes entre los sistemas ya existentes).
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Aumenta la longevi-dad de software ya existente y en producción. Aumenta la productividad de la empresa. Ahorra conexiones manuales, por ejemplo, volver a recapturar los datos. Por ejemplo, tener que revisar manualmente 30 bases de datos (una por cada estado de la república) cuando buscamos un número de placas de automóvil.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
1. Abra las aplicaciones. Migrar a sistemas abiertos. Constrúyales una IPA (interfaz pro-gramática de aplicación, en inglés API)  para que otros programas puedan usarlas.
2. Construya un pizarrón central para manejar (recibir y redirigir) los mensajes que distintas aplicaciones le dirijan a otras “que tal vez pudieren interesarle”, algo así como el men-saje “a quien corresponda.”
3. Construya puentes desde este pizarrón central a cada una de las aplicaciones, utilizando las IPAs previamente diseñadas en (1).
3bis. Variante. Si no son muchas las aplicaciones a interconectar, construya directamente puentes entre cada par de ellas (que realmente haya que comunicar, obviamente).
4. Considere la infraestructura. Redes. Software para convertir. El problema de accesar a una IBM AS 400. El problema de accesar a Informix desde el web.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
1. John J. Donovan. Business Re-engineering with information technology. PTR Prentice Hall. 1994. Es un libro con una metodología para establecer puentes entre sistemas ya existentes, haciendo que colaboren entre sí.
2. En Pemex PEP, el Ing. Cadena conectó los principales sistemas de administración, ha-ciendo juntas entre expertos, y preguntándoles cosas como: cuando se hace un pedido con el sistema A, ¿qué información hay que pasarle al sistema B de almacenes? Los ex-pertos (en almacenes, no necesariamente en informática) dicen qué debería suceder lógi-camente, por ejemplo “agregar a los registros de los productos pedidos, la información de que tal mercancía debe llegar, a tal precio, de tal proveedor, aproximadamente en tal fecha.” Luego se consulta a otros expertos (en informática) en los sistemas A y B que nos explican qué cosa sucede en realidad, o sea, dónde se queda corto A y B. Luego, Ca-dena o alguien diseña dos archivos, uno de salida de A que se considera como “peticio-nes a B”. Otro de entrada de B que se considera como “atenderé peticiones que se en-cuentren en el formato B”. Y un convertidor de texto a texto que pasa los datos del for-mato A al formato B.
Projects and Themes for Thesis






30. Transformación de funciones en tiempo real (en línea), a otras de ti-po store & forward, en una bodega de datos
OTROS NOMBRES (títulos alternos).
Evaluación perezosa, “lazy evaluation”.
ÁREA (dentro de la Computación).
Computación distribuida, bodegas de datos.
DESCRIPCIÓN. En qué consiste el proyecto.
 Cómo hacer que ciertas funciones que normal-mente se ejecutan en tiempo real en un sistema de data warehousing, ahora se ejecuten con información obtenida en forma diferida, con los mismos resultados, o con resultados equi-valentes, pero sin necesidad de utilizar conexiones en tiempo real, y usando en cambio in-formación diferida. Por ejemplo, en vez de actualizar inmediatamente la réplica de una base de datos o tabla, acumulo mis transacciones de actualización y luego las envío en bloque.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Mitiga la necesidad de comunicaciones de gran disponibilidad. Reduce el ancho de banda (se pueden usar tiem-pos nocturnos para realizarlas).
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
30. Presentador de reportes dinámicos, reorganizables
OTROS NOMBRES (títulos alternos)
 Despliegue de reportes reconfigurables. Informes con matices.
ÁREA (dentro de la Computación).
 Interfaces de entrada y salida, sistemas de información.
DESCRIPCIÓN. En qué consiste el proyecto.
 Haga un desplegador de reportes, pero escón-dale dentro una pequeña base de datos (mejor: esconda unos archivos indexados) a fin de que los reportes que se muestran sean interactivos, y el usuario que va a ver los informes que pidió, pueda por ejemplo, ver nadamás las mujeres, o nadamás los que tienen saldo mayor a mil pesos.
ANTECEDENTES, MOTIVACIÓN.
Para qué sirve, cuál es su finalidad. Consultas no pla-neadas, con cierto grado de inteligencia o generalidad.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Utilizando un extractor de datos como los que posee Anasin, cargue la mini-base del des-plegador con los datos solicitados. Invente (genere) vistas o reportes comunes, y un menú sencillo para que el usuario pueda ver otros. Bono adicional: agréguele drill-down (la capa-cidad de  ver detalles de información global, por ejemplo, ventas en Coahuila = 580, le pico al 580 y me da una pantallita donde me da detalles: Torreón 300, Saltillo 280.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
 La base de datos Progress tiene un presentador de este tipo. El M. en C. Rafael Domínguez tiene experiencia e interés en este tipo de desarrollos, y puede dirigir o asesorar en el proyecto.
Projects and Themes for Thesis






31. Digitalizador en tres dimensiones utilizando rayos láser
OTROS NOMBRES (títulos alternos).
Captura de imágenes en tres dimensiones.
ÁREA (dentro de la Computación).
Dispositivos de entrada y salida.
DESCRIPCIÓN. En qué consiste el proyecto.
 Construya usted un dispositivo que permita captar una imagen en tres dimensiones. Este dispositivo le permitirá montarlo en el centro de una plaza pública, por ejemplo, para fotografiar (tener un modelo tri-dimensional) de los edificios, los árboles, los monumentos, etc., que rodean o forman parte del recinto. Es como si tomara una fotografía panorámica, o con un lente “ojo de pescado”, que toman una foto-grafía amplia del lugar. Con la ventaja de que la imagen captada es en tres dimensiones.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Para tomar fotogra-fías tridimensionales estáticas.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo.
El dispositivo es un lanzador de rayos láser que mide la distancia a donde llega el láser. Es similar al que tenemos en las “reglas láser” que permiten medir la distancia entre dos puntos, más específicamente, entre el instrumento y el punto donde rebota o toca el rayo.
La idea consiste en montar este lanzador en una mesa que va girando lentamente de manera horizontal, de manera que se van grabando los ángulos de giro y las distancias a donde el rayo llegó. Esto nos produce una “rebanada” o plano del espacio. Para capturar otra rebanada, se levanta un poco el rayo, digamos 5 grados. Y se vuelve a girar la mesa, hasta completar 360 grados. Esto produce otra “rebanada” del espacio (más bien un cono) que rodea al dispositivo fotográfico. Para capturar otra rebanada, se levanta otros cinco gra-dos el rayo, y se vuelve a girar la mesa hasta completar 360 grados. De esta manera, en co-ordenadas polares, se van leyendo las distancias a que los distintos objetos yacen, con res-pecto al origen del rayo.
El dispositivo registra (teta, fi, erre), en coordenadas polares, donde erre es la dis-tancia a la que se encuentra el punto de rebote del rayo, fi es la elevación del rayo, y teta es su azimut.
Bono adicional: Una vez hecho un levantamiento (fotografía en 3 D) desde un cierto ori-gen, mueva el láser a otro punto, haga otro levantamiento, y con cálculos geométricos, me-jore la calidad (resolución) de su fotografía 3-D.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Projects and Themes for Thesis






32. Buscador inteligente de información en la web, de ejecución diferida
OTROS NOMBRES (títulos alternos).
Búsqueda diferida de documentos en una red.
ÁREA (dentro de la Computación).
Análisis de texto y lenguaje natural, computación distri-buida, quizá agentes.
DESCRIPCIÓN. En qué consiste el proyecto.
 Utilizando Clasitex, lance un agente que busca artículos (en la red, en web) que hablen de algún tema específico.
Variante: Hágalo para que ejecute en tiempo real.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Hallazgo inteligente de textos en español (y, utilizando Clasitex+, en inglés).
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS.
Proyecto No. 44.
El grupo de Computación del INAOE ha realizado y está realizando buscadores de este tipo.
En el C. I. C., el M. en C. Norberto Medina tiene un proyecto en esta línea.
Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.
101. Beatriz Beltrán Martínez, Adolfo Guzmán Arenas, Francisco Martínez Trinidad, José Ruiz Shulcloper. Clasitex++: una herramienta para el análisis de textos. Memorias del Tercer Taller Iberoamericano de Reconocimiento de Patrones, TIARP-98, Centro de Investigación en Computación, Instituto Politécnico Nacional, México, D. F. Marzo 1998. Páginas 369-379
Projects and Themes for Thesis





33. Interacción segura entre agentes sospechosos
OTROS NOMBRES (títulos alternos).
 Lenguaje de comunicación para intercambio de infor-mación entre agentes.
ÁREA (dentro de la Computación).
 Agentes.
DESCRIPCIÓN. En qué consiste el proyecto.
 Es peligroso dejar que agentes externos entren a una computadora a realizar trabajos. Es más fácil recibirlos “en la puerta de entrada”, pre-guntarles qué información o ejecución desean, entregarles lo pedido (o realizarlo), y despe-dirlos. Se puede inclusive grabar una bitácora con el intercambio de información. Para esto, se requiere un lenguaje de comunicación (y su procesador correspondiente) para solicitar datos, o para solicitar cierta acción. La interacción se lleva a cabo a través de un muro de seguridad, parecido pero no substituto del “muro de contención” («firewall») que separa una Intranet de la Internet.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Permite que las transacciones entre agentes se lleven a cabo de manera segura. El agente que atiende puede llevar una bitácora de la transacción, con “constancias” de lo que se pidió y lo que se hizo o se entregó. El lenguaje debe ser de tal naturaleza claro o sencillo, para que las expresiones en el mismo puedan ser analizadas por el agente recibidor y no haya lugar a dudas de que las acciones solicitadas son válidas y no involucran peligro o acciones indebidas. Por ejem-plo, no contendrá apuntadores ni índices no acotados, por el riesgo que implica de alterar datos indebidamente.

La principal aplicación es en comercio electrónico entre agentes.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

Ver algunas confe-rencias entre agentes en las Memorias del 4th World Congress on Expert Systems, ITESM México Mar 98.
Algunos proyectos de esta lista están relacionados. El lenguaje probablemente tenga una parte para identificar al agente visitante, otra para especificar datos, otra para especifi-car comandos. Además, el visitador se referirá a los datos que necesita expresado en un diccionario de datos que no necesariamente concuerde con el diccionario del lugar visitado. Concéntrese en la parte del lenguaje (y su intérprete o procesador) que maneja intercambio de información, y quizá también en la de ejecución “segura” de comandos. Ver Proyecto 38.

111. Olivares, J, Demetrio Aguirre, A., Domínguez Ayala, María, y Guzmán Arenas, A. Computación dirigida entre agentes con propósito. Foro “Computación, de la teoría a la práctica.” Págs. 210-219. 26-28 de mayo de 1999. México, D. F. . ISBN 970-18-3012-1

Projects and Themes for Thesis






34. Replicador automático de archivos, con actualización diferida o en tiempo real
OTROS NOMBRES (títulos alternos).
Transmisor automático de información de un lugar a otro.
ÁREA (dentro de la Computación).
Sistemas de información.
DESCRIPCIÓN. En qué consiste el proyecto.
Desarrolle un software al que se le declaran dos archivos (con la trayectoria completa de directorios, incluyendo el nombre de la máquina donde residen), uno fuente y otro destino. Su software mantendrá actualizada (en sincronía) la copia destino, cada vez que se hagan cambios en el archivo fuente. La actualización po-drá ser en tiempo real o en forma diferida, según las facilidades de comunicación con que se cuente. Normalmente, a la copia (archivo destino) no se le podrán hacer modificaciones, será solamente de lectura. Bono adicional: que se le puedan hacer modificaciones al archi-vo destino, mismas que se propagarán al archivo fuente. Full duplex. Desaparece entonces la distinción entre archivo fuente y archivo destino.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
Transmisión auto-mática de información y de sus cambios.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
1) Lotus notes.
2) Ver Proyectos 34 y 38.

Projects and Themes for Thesis






35. Explicaciones automáticas
OTROS NOMBRES (títulos alternos).
Razones detrás del dictamen de un sistema experto.
ÁREA (dentro de la Computación).
 Inteligencia Artificial.
DESCRIPCIÓN. En qué consiste el proyecto.
Desarrolle un programa que ofrezca explicacio-nes útiles. Monte su programa sobre otro (por ejemplo, un sistema experto) ya hecho, y concéntrese en la parte de la explicación.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Mejora la aceptación y credibilidad de ciertas recomendaciones hechas por la computadora, digamos a través de un sistema experto.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo. Típicamente, los sistemas que explican dan información (a) sobre la línea de cómputo que ejecutaron, vaciando la pila de acciones o traza que condujo a la “solución”; es decir, expli-can la causa o razón de la salida o resultado; o (b) con frases cortas predeterminadas. Esto es poco útil.  Dado que el sistema “base” (cuyas salidas tratamos de explicar) acaba de pro-porcionar cierta salida o información I, agregue usted formas de ofrecer algunas de las si-guientes explicaciones:
(c) Detalles acerca de la nueva información I.
(d) Cómo es que la información I se relaciona con lo que ya se sabía.
(e) Por qué es necesaria la información I.
(f) La estrategia de la solución o recomendación I.
(g) Justificación. Cómo y por qué se llegó a la información I. Contestar preguntas del tipo ¿cómo?, ¿por qué?, ¿qué?
Quizá sea útil tener un modelo de las expectativas del usuario, incluyendo su estado de conocimiento, a dónde quiere llegar, qué está haciendo en este momento.
¿Cómo saber o medir la aceptación de una explicación? ¿Cuál es el método de ex-plicación?
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
Andrew Lyner, Amelia Baldwin, Jan Scott. Explanation generation in accounting expert systems. Proc. 4th World Congress on Expert Systems, ITESM, Mexico, March 1998, pages 25-32.
Projects and Themes for Thesis





36. Anotaciones  que ayudan al mantenimiento de programas grandes o ya existentes
OTROS NOMBRES (títulos alternos).
Mantenimiento de código fuente ayudado por la computadora.
ÁREA (dentro de la Computación).
Tecnología de software.
DESCRIPCIÓN. En qué consiste el proyecto.
 Desarrolle un sistema que le ayude a mantener programas codificados ya hace tiempo por otras personas.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
(1) Conforme vaya estudiando el código existente, vaya haciendo anotaciones sobre peda-zos relevantes del código: aquí se actualiza el pago; aquí se validan los datos del cliente, etc. J. K. Lee [1] utilizó palabras clave, en tanto que usted puede usar un árbol de con-ceptos (no de palabras clave) [2]. Esta labor es manual, pero la hará usted una sola vez.
(2) Usando el mismo lenguaje o taxonomía de (1), vaya clasificando las variables del códi-go, sobre todo aquéllas que no son temporales o de trabajo.
(3) Diseñe un machote (una ventana en Delphi, por ejemplo) para que el usuario especifique las modificaciones que requiere. El machote hace uso de verbos o acciones (“aumentar el monto de ...”, “borrar los ...”) sobre de los conceptos de (1).
(4) Escriba un programa que busque en el código fuente, usando las anotaciones de (1) y (2), aquéllas partes que mejor casan con las especificaciones de (3). Es un programa que hace casamiento o careo de (1+2) contra (3), sobre el árbol de conceptos.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
[1] Jae K. Lee, Byoung Y. Lee, Wooju Kim. A knowledge based maintenance of large scale legacy systems: Metasoft. Proc. 4th World Congress on Expert Systems, ITESM, Mexico, March 1998, pages 65-72.
[2] Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.
Projects and Themes for Thesis






37. Base de datos que se llena por agentes
OTROS NOMBRES (títulos alternos)
 Llenado automático de una base de datos vacía por agentes oferentes («push agents») y agentes buscadores.
ÁREA (dentro de la Computación).
Agentes. Sistemas de Información
DESCRIPCIÓN. En qué consiste el proyecto.
 Diseñe un método para llenar tablas que contie-nen descripciones de lo que cada campo debe contener. El llenado se hará en forma diferi-da, utilizando agentes que toman esa descripción y la comparan contra descripciones pare-cidas de bases de datos ya existentes (y que, por ende, pudiesen tener la información soli-citada), generalmente geográficamente distantes.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Recopilación automática de información. Sincronización de bases de datos (Proyecto 34). Resúmenes automáticos de información.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo.
A. Diseñe una base de datos vacía (cree las tablas).
B. en cada registro (y campo) coloque una fórmula que indique cómo se debe llenar ese campo. Como si estuviéramos describiendo una macro de una hoja de cálculo. La descrip-ción usará como taxonomía o diccionario de datos (a) uno pre-determinado (caso sencillo), ó (b) uno local, que se casará con otro diccionario de datos exógeno (Ver proyecto 33) usando la ayuda de un diccionario común (árbol del conocimiento común) de conceptos.
C. Llene la base (A) utilizando agentes de uno de los dos siguientes tipos.
(1) agentes que usted mismo diseñará (agentes buscadores), que viajarán en la red de la empresa (o en alguna otra red) buscando información que case con la descripción de cada celda; o bien,
(2) agentes visitadores («push agentes»), que son agentes que otras personas han diseñado, y que buscan bases de datos vacías conteniendo (en el len-guaje de (B)) descripciones de productos o información que casa con la que ellos pueden proporcionar. Un agente visitador que encuentre una celda va-cía que él puede llenar, procederá a llenarla. Como en la actualidad no exis-ten esas otras personas que diseñen los agentes visitadores, diséÂñelos usted mismo. Nótese que los agentes visitadores no se disparan por la creación de la base vacía (A), sino que de manera asíncrona se enterarán de la presencia de una nueva base de datos vacía, misma que tratarán de llenar. Si un agente posee información que no casa con la descripción de las celdas, no las llena-rá, y continuará su viaje.
D. Tanto los agentes buscadores de C.1 como los visitadores de C.2 requieren un lenguaje que describa los datos de la base nueva, los datos de las bases ya existentes, y un método de comparación o casamiento para ver si una base ya existente puede contener informa-ción vertible a la base de datos nueva. Este lenguaje es el problema del proyecto
38. No se dedique a hacer el proyecto 38, busque una alternativa sencilla del lenguaje (es decir, haya una versión simple del proyecto 38).
E. Si se va a cobrar por la información, entonces el lenguaje de (B) se complica como si-gue:
1. Qué información ofrece. (esta parte ya está considerada). A qué precio.
2. Descripción del proceso de oferta y contraoferta, peticiones. («bidding proc-ess»).
3. Un modelo formal del proceso de regateo o negociación. ¿Cuándo tenemos ofertas que son obligatorias (legalmente ya no las podemos retirar o rehu-sar)? ¿Cuándo se convierte en legalmente obligatoria una petición de com-pra? Por ejemplo, este lenguaje debe ser capaz de describir un proceso de subasta. Ver también proyecto 38.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
[1] Adolfo Guzmán. ANASIN. SoftwarePro International, Austin, Texas, 1994. Anasin es un producto que envía agentes a buscar información (descrita sobre un diccionario de datos ya conocido (caso B.a)) a lugares remotos, para que llenen una base de datos vacía.
[2] Jae Kyu Lee, KAIST, Corea. Opportunities of Artificial Intelligence in Electronic Commerce. Proc. 4th World Congress on Expert Systems, ITESM, Mexico, March 1998, page 8 (abstract only).
111. Olivares, J, Demetrio Aguirre, A., Domínguez Ayala, María, y Guzmán Arenas, A. Computación dirigida entre agentes con propósito. Foro “Computación, de la teoría a la práctica.” Págs. 210-219. 26-28 de mayo de 1999. México, D. F. . ISBN 970-18-3012-1
Projects and Themes for Thesis






38. Lenguaje para intercambiar información entre agentes
OTROS NOMBRES (títulos alternos).
Casamiento de descripciones que utilizan taxonomías (diccionarios de datos) distintos.
ÁREA (dentro de la Computación).
 Sistemas de Información. (El lenguaje tiene poco que ver con agentes).
DESCRIPCIÓN. En qué consiste el proyecto
 Sea O un agente que ofrece información, vende servicios, o renta artículos. O describirá su oferta en un lenguaje que se refiere a un diccio-nario de datos local, suyo. Por ejemplo, “vendo computadoras personales marca Compaq que son de multimedia, ...” Sea C un agente que desea comprar o adquirir cierta informa-ción, bien o servicio. C describe sus necesidades en el mismo lenguaje que O, pero refi-riéndose a un diccionario de datos propio de C. “Deseo comprar una PC pequeña de buena marca, con 2 Gby en disco duro, ...” Para que haya una transacción, es necesario que ambos agentes descubran si hablan de lo mismo. El proyecto consiste en diseñar el lenguaje, y el método de casar una expresión en LO contra otra en LC.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
 Comercio electróni-co. Acceso a bases de datos poco familiares.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo.
Utilice cuatro árboles de conceptos [3], como sigue:
A. El árbol de conocimientos del área del agente C (el comprador, el sumidero de datos).
B. El árbol de conocimientos del área del agente O (el vendedor, el oferente o fuente de datos).
C. Un árbol de conocimientos del área pero comunes (por ejemplo, el área puede ser Ferre-tería. Entonces estamos hablando de un lenguaje común a los ferreteros).
D. El árbol de conocimientos comunes, según CYC [4].
Trucos: (1) utilice el código de barras de productos que ya existe en industrias organizadas (industria refresquera, por ejemplo). El lenguaje se refiere entonces a productos cuya descripción existe en el estándar de la industria. (2) Utilice el hecho de que la jerarquía misma contenida en los árboles descarta pronto grandes ramas de productos (por ejem-plo, cerca del nodo raíz se descartan productos talese como “Comida” o “Eventos musi-cales”, si lo que estoy buscando es “Ferretería”).
Si complicamos más el lenguaje, éste debe poder describir:
1. El tipo de agente que soy. Comprador. Vendedor. Rento. Consignación. Es independiente del dominio.
2. Qué información ofrece. (esta parte ya está considerada, es el lenguaje de descripción del producto, o Capa de Especificación del Producto.)
3. Descripción del proceso de oferta y contraoferta, peticiones. («bidding proc-ess»). Si los agentes que visitan no solo van a intercambiar información, sino que le van a solicitar a la máquina visitada que realice cierto proceso, hay que poder describirlo (Knowledge Query and Manipulation Language, ver proyecto 33)
4. Un modelo formal del proceso de regateo o negociación. Ver Proyecto 37.
Nótese que el lenguaje debe poder permitir la interacción ente comprador C y vendedor O no importa si uno de ellos (o ambos) es una persona (en vez de un agente). En este caso, la persona debe identificarse como tal “soy persona, no agente”, y el otro lado que lo atiende debe poder pasarse a un modo de interacción basado en menúes gráficos y for-mas de captura interactivas, guiadas (¿construidas al vuelo?) por el lenguaje
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
[1] Adolfo Guzmán dirigió una tesis de maestría de un estudiante de Computación del Cin-vestav (?1994, no se recibió) que hacía búsqueda en bases de datos poco familiares, uti-lizando el mapeo de un árbol de conocimientos comunes en una cierta área, a las defini-ciones específicas de la base de datos a la cual se quería extraer información.
[2] Jae Kyu Lee, KAIST, Corea. Opportunities of Artificial Intelligence in Electronic Commerce. Proc. 4th World Congress on Expert Systems, ITESM, Mexico, March 1998, page 8 (abstract only).
[3] Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Systems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.
[4] Lenat, D. B., and Guha, R. V. (1989) Building large knowledge-based systems. Rea-ding, MA: Addison Wesley.
[5] S. K. Lee, Jay Kyu Lee, K. J. Lee. Journal Expert Systems with Applications, Vol. 11 No. 4, pages 431-441, 1997.
[6] Jesús Olivares está desarrollando en el C. I. C. una tesis de doctorado que involucra agentes y sistemas evolutivos (que quizá aprendan), y probablemente se usen también técnicas como las de Clasitex para análisis de lenguaje natural.
111. Olivares, J, Demetrio Aguirre, A., Domínguez Ayala, María, y Guzmán Arenas, A. Computación dirigida entre agentes con propósito. Foro “Computación, de la teoría a la práctica.” Págs. 210-219. 26-28 de mayo de 1999. México, D. F. . ISBN 970-18-3012-1
Projects and Themes for Thesis





39. Uso de modelos digitales del terreno para estudiar erosión
OTROS NOMBRES (títulos alternos).
 Estudio de erosión ocasionada por fluidos.
ÁREA (dentro de la Computación).
 GeoProcesamiento.
DESCRIPCIÓN. En qué consiste el proyecto.
 Utilice los modelos digitales del terreno, por ejemplo, los que utilizan vóxeles, para estudiar la erosión real de agua y viento. Para esto, agregue a sus modelos información sobre el tipo de suelo, dureza, precipitación, vientos dominantes, etc. Haga simulaciones o predicciones de qué pasaría en cierto tiempo x, en 2x, ...
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
POSIBLE DESARROLLO.
Una de las maneras en que (tal vez) se pueda llevar a cabo. Idea: use las técnicas de erosión y dilación de morfología matemática, convenientemente cam-biadas para tomar en cuenta la dureza del suelo y los efectos de la lluvia (o viento). Es de-cir, cambiar la métrica de las operaciones morfológicas de dilación y erosión (matemática) para modelar la erosión real (hídrica, eólica).
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
35. Gómez, Dora y Guzmán, A. A digital Model for Three-dimensional Surface Represen-tation. Journal of Geoprocessing 1, 1979, 53-70. Elsevier Publishing Co. Also in: Proce-edings of an International Conference “Computer Mapping for Resource Analysis”, a CoGeoData Conference. Kansas Geological Survey, University of Kansas, and Instituto de Geografía de la UNAM. Mexico, 1978, pages 183-204.
Projects and Themes for Thesis






40. Números de forma en tres dimensiones
OTROS NOMBRES (títulos alternos).
Representando formas tridimensionales con números de forma.
ÁREA (dentro de la Computación).
GeoProcesamiento, reconocimiento de formas.
DESCRIPCIÓN. En qué consiste el proyecto.
Generalice usted los números de forma [33, 34, 39 ] para que describan formas (superficies) en tres dimensiones.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Para describir la forma de una superficie tridimensional.
POSIBLE DESARROLLO.
 Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.
33. Bribiesca. E., y Guzmán, A. Shape Description and Shape Similarity Measurement for Two-dimensional Regions. Proceedings of the 4th International Conference on Pattern Recognition, Kyoto, Japón, 1978. 608-612. Also available as Technical Report PR 78 18 (Orange Series 9, 166), IIMAS UNAM, Also in: Journal of Geoprocessing, Vol. 1, No. 2, 129-144 (1980).
34. Bribiesca, E. y Guzmán, A. Números de Forma: una notación para describir formas puras y para medir semejanzas y diferencias en formas. Reporte Técnico PR 78 20 (Serie Naranja 178), IIMAS UNAM, 1978.
39. Bribiesca, E. y Guzmán A. How to Describe Pure Forms and how to Measure Differen-ces in Shapes using Shape Numbers. Invited paper to the IEEE Conference on Pattern Recognition and Image Processing. Chicago, USA. Also in Pattern Recognition, Vol 12, No. 2, 1980, 101-112. This article won the Seventh Annual Pattern Recognition Award, awarded by the Pattern Recognition Society in November 1981, as the best article of the year.
Projects and Themes for Thesis






41. Análisis de imágenes médicas

OTROS NOMBRES (títulos alternos).

Diagnóstico de fotografías médicas.

ÁREA (dentro de la Computación).

Procesamiento de imágenes.

DESCRIPCIÓN. En qué consiste el proyecto.

Tome usted un conjunto o tipo (de los muchos que puede haber) de imágenes médicas: cortes del riñÂón, del hígado, imágenes de venas, de eritrocitos, ..., pregúntele al médico o especialista respectivo para qué se tomó la foto, qué se le busca, qué información aporta. Haga un programa de cómputo que halle las respuestas de manera automática o semi-automática.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Automatización del análisis y reconocimiento de imágenes médicas.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

Projects and Themes for Thesis





42. Lenguaje de simulación de efectos y consecuencias (en poblaciones de afectados), de políticas, reglas y burocracias

OTROS NOMBRES (títulos alternos).

Análisis de las consecuencias de decisiones sobre conjuntos de poblaciones.

ÁREA (dentro de la Computación).

Simulación.

DESCRIPCIÓN. En qué consiste el proyecto.

Construya un lenguaje y su procesador (intér-prete, quizá) que permita estudiar las consecuencias o efectos que ciertas disposiciones, reglamentos, acciones, normas, leyes, costumbres, sobre todo de tipo administrativo o bu-rocrático, tienen sobre personas. Para esto el lenguaje debe ser capaz de:

1. Definir los objetos (personas, digamos), sus propiedades, sus variables (salarios, estado de descontento, tendencia a cambiar de empleo, tendencia a votar por el partido de opo-sición). Probablemente los objetos tengan una jerarquía: estudiantes, profesores, buró-cratas, funcionarios, jefes de compras, ... Probablemente haya otros entes (objetos) que no sean personas estrictamente, pero que funcionen como tales; comité de compras, co-mité de becarios, comité de viajes, comité de prestaciones, comité del año sabático, co-mité de lo que usted mande y guste.

2. Las interacciones, la manera en que estos objetos o personas interaccionan entre sí.

3. Una forma de visualizar el progreso de la simulación. Graficación, despliegue de dibujos que visualmente muestren lo que va ocurriendo, de manera dinámica, conforme la simu-lación avanza. Cómo cambia o se agudiza el estado de descontento, frente a una decisión (“suspender la beca del profesor, mientras lo evalúo”).

4. Maneras de detener la simulación, cambiar parámetros, etc.
5. Bono extra. Maneras de dar marcha atrás.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Estudiar los efectos de decisiones burocráticas, vicios, tendencias, sobre poblaciones confinadas (investigadores del C. I. C., por ejemplo).

POSIBLE DESARROLLO

Una de las maneras en que (tal vez) se pueda llevar a cabo. Use un lenguaje para hacer simulación.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

Projects and Themes for Thesis






43. Administrador del conocimiento de una empresa

OTROS NOMBRES (títulos alternos).

Programa bibliotecario que ha leído los manuales técnicos, patentes, y otros documentos textuales de una organización, y conoce los temas de los que trata cada uno.

ÁREA (dentro de la Computación).

Procesamiento de texto y lenguaje natural, inteligencia artificial.

DESCRIPCIÓN. En qué consiste el proyecto.

Mucho del valor de una empresa es su conoci-miento, guardado primero dentro de las cabezas de sus empleados, y luego en los manuales, directorios, catálogos, patentes, informes finales, semestrales, ... que se generan continua-mente. Un nuevo empleado puede andar buscando cierta información, pero tiene que pre-guntar a otras personas dónde puede encontrar esa información. Es probable que no se le refiera al documento existente, por ignorancia.

Usted desarrollará un bibliotecario, basado en Clasitex, que lea todos los documen-tos escritos en español de una empresa, y los indexe y catalogue según los temas que cada uno abarca, usando el árbol de conceptos del sentido común de CYC (o el simplificado de Clasitex) o el árbol de conceptos especializados de la empresa (árbol de pinturas, recubri-mientos e impermeabilizantes, por ejemplo). Este bibliotecario podrá contestar preguntas provenientes de empleados o usuarios nuevos o poco familiarizados, del tipo “¿dónde pue-do encontrar información sobre pinturas alkílicas?” El bibliotecario hallará los documentos pertinentes, aunque uno de ellos se refiera, digamos, a “recubrimientos fenólicos”, debido a que posee el árbol de conocimientos específicos.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Mucha de la inver-sión valiosa de una empresa de alta tecnología yace en su “conocimiento”, que se encuentra en reportes finales, catálogos, descripciones de productos, artículos técnicos, manuales de usuario, y otros documentos escritos en español. Una persona poco familiarizada con los términos o los artículos de una empresa puede tener dificultades para accesar información valiosa, debido a que no sabe dónde buscar, hay mucho dónde buscar, y no le orientan ade-cuadamente. El bibliotecario que usted desarrollará pondrá fin a este problema, y le ahorra-rá mucho dinero a la empresa, al sistematizar el acceso y uso a la información técnica gene-rada en lenguaje natural.

Many enterprises downsize to adapt to more competitive environments. But unless they have captured the knowledge of their employees, downsizing can result in a loss of critical information. Similarly, as employees leave, organizations are likely to lose access to large quantities of critical knowledge. And as companies expand internationally, geographic barriers can affect knowledge exchange and prevent easy access to information. These and other forces are pushing enterprises to explore better methods for knowledge management.

Enterprise knowledge management entails formally managing knowledge resources, typically by using advanced information technology. KM is formal y that knowledge is classified and categorized according to a prespecified –but evolving– ontology into struc-tured and semistructured data and knowledge accessible and reusable to the enterprise.

The business world is becoming so concerned about knowledge management that, according to one report, over 40 percent of the Fortune 1000 now have a chief knowledge officer, a senior-level executive responsible for creating an infrastructure and cultural envi-ronment for knowledge sharing. This article surveys some components of this young field [1].

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo. Utilice Clasitex. Vea los diferentes bibliotecarios de mi artículo [La computación en la inter-ciencia].

PROYECTOS RELACIONADOS Y REFERENCIAS.Trabajos previos.

[1] Daniel E. OÂ’Leary. Enterprise knowledge managem ent. Computer, March 1998, pp 54-61.

98.  Guzmán A. Hallando los temas principales en un artículo en español. Soluciones Avan-zadas. Vol. 5, núm. 45, pág. 58. I parte, 15 de Julio de 1997, II parte vol. 5, núm. 49, pág. 66, 15 de septiembre de 1997. También en: Simposium Internacional de Computa-ción. Centro de Investigación en Computación. Instituto Politécnico Nacional. Noviem-bre 12-14, 1997. México, D.F., páginas 36-51.

99. Adolfo Guzmán. Finding the main themes in a Spanish document. Journal Expert Sys-tems with Applications, Vol. 14, No.1/2, Jan/Feb 1998, pages 139-148.

101. Beatriz Beltrán Martínez, Adolfo Guzmán Arenas, Francisco Martínez Trinidad, José Ruiz Shulcloper. Clasitex++: una herramienta para el análisis de textos. Memorias del Tercer Taller Iberoamericano de Reconocimiento de Patrones, TIARP-98, Centro de Investigación en Computación, Instituto Politécnico Nacional, México, D. F. Marzo 1998. Páginas 369-379

Adolfo Guzmán. La Computación en la Interciencia. Artículo a ser publicado en un libro en homenaje al Dr. Marco Murray Lasso. 1998. También: Simposium Internacional de Computación CIC 98 “La computación: investigación, desarrollo y aplicaciones. No-viembre de 1998. 41-56. México, D. F. ISBN 970-18-1916-0.

Projects and Themes for Thesis






44. Índice del conocimiento digital
OTROS NOMBRES.
Índice de todas las bibliotecas que existen en Internet, organizado por conceptos.

ÁREA

Sistemas de información, navegación por Internet.

DESCRIPCIÓN. En qué consiste el proyecto.

(1) Haga un árbol de todos los conceptos que le interesan. Por ejemplo, conceptos de computación. Siga los lineamientos para hacer un ár-bol del conocimiento común. En cada nodo de este árbol se almacenarán el apuntador (di-rección url) más alguna descripción (2,000 bytes, digamos) de cada artículo, libro o informe que aparezca en cada biblioteca digital (o en un subconjunto de ellas). (2) Haga una tabla con las siguientes columnas: (a) descripción única (dirección url más algo, digamos) de un documento; (b) fecha de la última visita a este documento; (c) si tenemos copia local de este documento (si está en nuestro caché). (3) Haga un programa visitador o araña que visite todas las bibliotecas digitales en Internet (o las que usted se interese), y de manera incre-mental (a) lea cada artículo de ella; (b) usando Clasitex, averigüe de qué temas habla ese artículo; (c) registre ese artículo en el árbol de (1), (d) lo registre en la tabla de (2), (e) si el artículo ya ha sido consultado varias veces, lo guarde en el caché local. (4) Haga una inter-faz para el usuario, de manera que él pueda ver el árbol a cierto detalle, y pueda también ver los apuntadores o índices a los artículos que residen en cada nodo. (5) Haga un programa asíncrono o demonio, que periódicamente visite las bibliotecas, y actualice el árbol, de acuerdo con la tabla de visitas en (2).

ANTECEDENTES, MOTIVACIÓN.

Usted tendrá en su computadora un índice, organizado por temas (3.0 Matemáticas, 3.1 Aritmética, 3.2 Álgebra, 3.3 Ecuaciones Diferenciales, 3.3.1 Ecuaciones Diferenciales Ordinarias, 3.3.2 Ecuaciones Diferenciales Parciales, ...) de todos los artículos, libros, documentos, informes, tesis, etc., de varias bibliotecas que exis-ten en Internet. Si usa la versión en español de Clasitex, estos documentos estarán en espa-ñol. O puede usar la versión en inglés de Clasitex.

Nota: el árbol que necesita Clasitex es precisamente el árbol del punto (1) en “Descripción.”

Nota 2: el árbol del conocimiento resuelve “de una vez por todas” el problema de medir la similitud entre dos documentos, que se puede medir como la distancia entre esos dos docu-mentos, medida sobre el árbol (número de nodos que los separan). Problema: un documento está clasificado en varios nodos sobre el árbol.

Nota 3: como el árbol puede tener conceptos tales como “Adolfo Guzmán”, yo automáti-camente puedo saber qué documentos hablan de Adolfo Guzmán, organizados por temas.

VARIANTE 1. Haga un programa que nos informe qué documentos referencían a qué otros. Cuántos documentos me citan a mí. Qué autores. De qué nacionalidad. Útil para me-dir la popularidad estática de un autor (quiénes lo citan más).


VARIANTE 2. Patrones de lectura. Ver proyecto # 45. Cómo medir la popularidad dinámi-ca de un autor, de un artículo (quiénes lo leen más).


VARIANTE 3. Agrupamiento de artículos. Nubes o enjambres de artículos que se citan frecuentemente entre sí.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS.

Proyecto no. 32


Projects and Themes for Thesis






45. Estudio dinámico de los lectores de bibliotecas digitales

OTROS NOMBRES. Minería de datos de lecturas.

Preferencias de lectores de bibliotecas digitales. Patrones de lectura. Hábitos de lectura.

ÁREA.

Acopio de estadísticas.

DESCRIPCIÓN.

Sobre el índice mundial del conocimiento (Proyecto # 44), vea la dinámica de un grupo de lectores. (a) Qué lee Adolfo Guzmán; (b) quiero leer lo mismo que lee Cuauhtémoc Cárdenas; (c) qué leen los integrantes del CIC; (d) en qué se difieren los há-bitos de lecturas del grupo 1 con respecto a los del grupo 2; (e) que artículos son más po-pulares; cuántos días dura la popularidad, es decir, el rating de un artículo; (e2) qué temas son los más solicitados (medido sobre el árbol); (f) cadenas de Markov entre artículos: des-pués de leer un artículo sobre accidentes, 29% de los lectores leen anuncios sobre seguros de vida; en general, patrones de lectura. Según la edad: conforme envejecemos, qué leemos; por ocupación, por nivel socio-económico, en épocas de elecciones, cuando hay tensión en la sociedad, etc.; (g) agrupamientos de artículos que se leen junto; (h) formulación predicti-va de una publicación periódica para el lector x, basado en sus hábitos de lectura, más una mezcla de las noticias importantes, más una mezcla de lo que leen otros selectos lectores; (i) nubes dinámicas de autores, grupos de gentes que se leen entre sí (no que se  citan entre sí, esto se mide en el proyecto #44); (j) cadenas de Markov sobre la dinámica de la lectura: con referencia a un grupo 1, Juan Pérez (uno de sus miembros) lee primero los artículos extranjeros; luego, los lee fulano, zutano,...; luego, empiezan a escribir sobre ese tema pe-rengano y mengano.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Para hallar patrones de lectura. Para generar publicaciones electrónicas personalizadas.

Nota: Nota: el proyecto #19 hace un estudio similar, pero no sobre lo que se lee, si-no sobre lo que aparece en los informes o periódicos.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

Proyectos  #44, #46

Projects and Themes for Thesis






46. Patrones de compras de clientes, sobre el árbol de productos

OTROS NOMBRES. Minería de datos de ventas.

Qué cosas compran mis clientes, organiza-das por líneas de venta.

ÁREA (dentro de la Computación).

Acopio de estadísticas.

DESCRIPCIÓN.

Como el proyecto # 45, pero use el árbol de productos de la base de datos o cubo de datos, del expendio o empresa comercial que estamos analizando. Sitúe cada venta a un cliente en el árbol de productos.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.

Patrones de consu-mo. Para promociones. En qué días se vende más carne. En qué días se compra más. ¿Qué se vende más los viernes? ¿Qué pares de productos se compran frecuentemente juntos? Ca-da vez que compro carne, compro salchichas y vino tinto. ¿Qué compra Juan Pérez? ¿Qué compran los jugadores de baloncesto? Lea las preguntas de los proyectos 44 y 45, y reescrí-balas en funciones de artículo comprado, en vez de artículo leído.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo. Como los proyectos 44 y 45 (quo vide). Usted no necesitará una araña, pues los datos están juntos.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

Proyectos #44, #45.

Projects and Themes for Thesis






47. Estadísticas en la Web de artículos, ligas, lenguajes, etc.

OTROS NOMBRES.

Estructuración de la web. Tamaño de la web.

ÁREA (dentro de la Computación).

Agentes. Computación distribuida.

DESCRIPCIÓN.

En qué consiste el proyecto. Usando algunas de las técnicas del proyecto #44, viaje por la red y coleccione este tipo de estadísticas: de artículos, de servidores, de porcentaje de artículos con errores ortográficos, distribución por idioma. Número de ligas de una página a otra, páginas muy apuntadas, páginas que apuntan mucho a otras. Edad de una página. (A) estudio estático. (B) estudio dinámico: cómo cambian las propiedades me-didas en (A).

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad. Entender qué sucede en la Web, cómo está formada. Cómo crece. Tendencias. Predicciones.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS.

Trabajos previos. Proyecto #44

Projects and Themes for Thesis






48. Predicting catastrophes by agents watching the data base: beyond data mining

OTROS NOMBRES (títulos alternos).

Agents that watch the data base (or the web) and predict some phenomena.

ÁREA (dentro de la Computación).

Agents. Prediction.

DESCRIPCIÓN.

En qué consiste el proyecto. Start from some models of “catastrophes” or phenomena that you want to detect, to predict. Watch the data base, with an on-line (or off-line) demon, and try to fit the observed data patterns to your model(s).

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad. To predict catastro-phes.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo. The Directorate of Civil Protection of Mexico City watches flow of information in radio, TV, police and ambulance communications, to predict conflicts and catastrophes, and to react to them in an anticipated matter. This model can be copied or used in what I propose.

PROYECTOS RELACIONADOS Y REFERENCIAS.

Trabajos previos. Proyecto #32.

Projects and Themes for Thesis






49. Proto-minería de datos

OTROS NOMBRES (títulos alternos).

Pre-mineros de datos. Mineros con mucha sensibilidad (capaces de detectar señales muy débiles).

ÁREA (dentro de la Computación). 

DESCRIPCIÓN.

En qué consiste el proyecto. Haga un minero que, cuando detecte que la condición xx sucedió u ocurrió, pregunte por más datos, o busque más datos (de un cierto tipo, con una cierta configuración o patrón) para realmente determinar si algo interesante (condición yy) ha sucedido.

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad. Detección de señales débiles. Detección rápida de “condiciones que pueden disparar” o “pre-condiciones”, y lue-go, detección con más esmero o cuidado, del resto del fenómeno. Se divide el fenómeno (patrón de datos a buscar) a detectar en dos partes. La primera la lleva a cabo el proto-minero, y es una búsqueda rápida, o “normal”. La segunda, si se detectó la primera, ya es con más cuidado, más prolija.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

*92. Guzmán A. Mineros de Datos. (1996) Soluciones Avanzadas No. 34, México D.F., junio 15. http://www.fciencias.unam.mx/revista/soluciones/30s/No34/mineria.html También: ARCHIPIÉ-LAGO. Vol. 2 núm. 9, pág. 19ff. Nov.-Dic.

*97. Guzmán A. Estado del Arte y de la Práctica en Minería de Datos, Análisis y Crítica. (1997) Memorias del II Taller Iberoamericano de Reconocimiento de Patrones, 367-376. La Habana, Cuba. Marzo 24-28.

107. Adolfo Guzmán, Gilberto Martínez Luna. Minería de datos con búsqueda de patrones de comportamiento. (1999) Boletín de Política Informática, Año XXII, 2, 13-30. INEGI, Aguascalientes, México. 

112. García, A., Guzmán Arenas, A., y Martínez Luna, G. Anasin: Minería de datos con búsqueda de patrones de comportamiento. (1999) Memorias del Foro “Computación, de la teoría a la práctica.” Págs. 15-28. México, D. F., 26-28 de mayo. ISBN 970-18-3012-1 También: Memorias del Congreso Internacional de Computación CIC-99. Pedro Gali-cia, ed. CIC-IPN. ISBN 970-18-3697-9. Páginas 528-540 

113. Guzmán, A. Minería y bodega de datos. (1999) Memorias del Simposium Nacional de Computación SICOM 99, 5-13. Villahermosa, Tabasco. 7-11 de junio. ISBN 970-18-3046-6.

Projects and Themes for Thesis





50. Rutas óptimas de camiones repartidores

OTROS NOMBRES (títulos alternos).

Trayectorias de vehículos que deben cumplir con ciertas restricciones.

ÁREA (dentro de la Computación).

Inteligencia Artificial.

DESCRIPCIÓN.

En qué consiste el proyecto. Escriba un programa que calcule la ruta óptima (o una buena aproximación) para un vehículo que debe viajar por las calles de una ciudad, visitando ciertos lugares, y además debe cumplir con alguna de estas restricciones: (1) mi-nimizar la longitud de su recorrido; (2) el vehículo lleva dinero, que va depositando en dife-rentes cajeros automáticos (al llegar al último, deposita el remanente, y regresa vacío). Aho-ra bien, hay distintas zonas con distinta inseguridad (índice de asaltos); minimice usted el valor perdido en un asalto. (3) Optimice su recorrido porque hay cierta urgencia en visitar ciertos lugares, hay lugares con una hora límite para que el vehículo llegue (después de la cual, hay un descontento o penalidad).

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo. Es un problema de optimización.

PROYECTOS RELACIONADOS Y REFERENCIAS.

Trabajos previos.

Projects and Themes for Thesis





51. Costos de inversión y operación en una universidad presencial versus en otra virtual

OTROS NOMBRES (títulos alternos).

Costos de la educación convencional, y su comparación con enseñanza en línea.

ÁREA (dentro de la Computación).

La tesis es más bien de administración o contaduría.

DESCRIPCIÓN.

En qué consiste el proyecto. Calcular costos de inversión, costos de opera-ción, tendencias de costos.

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad. Para evaluar la conveniencia de seguir construyendo universidades de ladrillo, versus hacer universidades y enseñanza en Internet.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo. Digamos que usted va a hacer edificios para una Universidad de 5,000 alumnos. (Sugeren-cia: vea cuántos alumnos tiene su universidad, y pregunte cuánto costó; esto le dará el costo por alumno). Si no tiene el dato, agregue los costos del edificio de aulas, el de las autorida-des, el de los burócratas, el estacionamiento, la biblioteca, el gimnasio, la alberca, los guar-dias, los laboratorios, los invernaderos, la jaula para animales, los equipos de experimenta-ción, los equipos del gimnasio, los libros de la biblioteca...

Ahora bien, para calcular el costo de INVERSIÓN en una universidad virtual, di-gamos que para cada 100 alumnos necesita un servidor de 4,000 dólares, 25 a 35 máquinas clientes de 1,000 dólares, y un espacio de xx dólares (No sé cuánto cueste un cuarto para albergar 100 estudiantes en Guatemala). Sale más barato si los estudiantes estudian en su casa o en su trabajo. Agregue otros gastos de INVERSIÓN (que solo se hacen una sola vez. Calcule entonces el gasto de INVERSIÓN por alumno.

Publique sus datos en la Web (envíeme una copia) para que otros lo sepan. Publique sus datos como un artículo en


(a) el Congreso Internacional de Computación CIC 2001 (ver información en http://www.cic.ipn.mx);


(b) la revista Computación y Sistemas (tendrá que mandar su artículo a ver si se lo aceptan). Â  revista@cic.ipn.mx Â  o  cvs@cic.ipn.mx


BONO ADICIONAL: Calcule los costos de OPERACIÓN. Cuánto cuesta cada alumno por año. Pago a empleados de la universidad (profesores, secretarias, jardineros, burócratas, presidentes de comités), electricidad, libros que se gastan, computadoras que se gastan (de-preciación), diskettes, hojas de papel, viajes, etc. Si desea, agregue los gastos del alumno: comida, hospedaje, ropa, etc. Â  --- CASO REAL.

O bien: ¿cuánto cobra una universidad de colegiatura, por hacer estudios de licen-ciatura? Una buena universidad privada en México cobra unos 5,000 dólares por semestre de 5 materias.
Nota: Si su gobierno no le cobra, no piense que el costo es 0 dólares. Su educación cuesta, aunque usted no la pague. Forma correcta de calcular: calcule pago a empleados de la uni-versidad, electricidad, etc., como lo dije arriba.

Calcule los costos de OPERACIÓN de un alumno virtual:  costo del software EVA para rentarlo a la universidad: cinco dólares por alumno por materia semestral. Costo de los asesores. Costo de la administración.
O bien: ¿cuánto le cobra una universidad por educación virtual? El CIC del IPN co-bra mil dólares por materia por semestre.
BONO ADICIONAL: Calcule un poco las tendencias.  Los edificios duran 30 años, luego hay que remozarlos o restaurarlos. Los libros de computación duran cinco a seis años. Las computadoras duran 5 años. En sus conclusiones, ponga: ¿Cuál es el futuro de la educación presencial? O sea, ¿cuál es la tendencia de los costos en la educación presencial?  Compá-rela con la tendencia de los costos en la educación virtual.
NOTA: No confunda educación virtual (vía Internet) con educación por teleconferencia (vía televisión y satélite). Esto último es caro: el costo de los canales de satélite, del equipo de transmisión y recepción. Además, la educación por satélite es síncrona (profesor y alumno deben coincidir a determinada hora) en tanto que la educación virtual es asíncrona (el alumno estudia cuando quiere, el profesor puede estar durmiendo o muerto).

PROYECTOS RELACIONADOS Y REFERENCIAS.

Trabajos previos.
http//www.cic.ipn.mx
http://eva.cic.ipn.mx

Projects and Themes for Thesis






52. Sitios Web que se autoorganizan de acuerdo con las preferencias del usuario

OTROS NOMBRES (títulos alternos).

Minería de datos para ajustar el contenido de páginas web y otros documentos electrónicos.

ÁREA (dentro de la Computación).

Minería de datos + Internet.

DESCRIPCIÓN.
En qué consiste el proyecto.

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad. Usar minería para ajustar el contenido de páginas web, de libros, de artículos, de acuerdo con preferencias colectivas.

Ajustar contenido de acuerdo con la preferencia individual, es como un camaleón: me ven del color que quieren.

Ajustar contenido de acuerdo con la preferencia colectiva, es como un mueblero que hace más sillas que roperos, porque le consta que se le venden más.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

Para ajuste al perfil individual.
(a) cómo obtener el perfil individualo. Ofrezca un servicio gratuito por Internet, pero pida que se suscriban. Así, le da a cada usuario un número único (y una contraseña). Luego, pídale que llene cierta tablita o cuestionario sencillo. Luego, vigile qué páginas (de us-ted) prefiere leer, qué artículos visita más, qué compra más, etc. De esta manera, usted obtiene su perfil individual.

(b) Ajuste la página, documento, tabla de datos,... al perfil (a), eliminando, reduciendo o expandiendo temas o secciones, según los intereses de él.

Para ajuste al perfil colectivo.

(1) Clasifique a sus usuarios en n tipos o clases, y establezca para cada clase un perfil de clase.

(2) Ajuste la página o documento que envía, usando (b), a la clase a la cual pertenece el usuario receptor.

PROYECTOS RELACIONADOS Y REFERENCIAS.

Trabajos previos.

"Web Sites Begin to Get Organized, on Their Own" Self-organizing Web sites are moving the Internet toward "self-consciousness" by employing software that automatically manages content according to collective tastes. Joey Anuff, editor-in-chief of the site Plastic.com, says, “The Web in 1996 . . .”
http://www.acm.org/technews/articles/2001-3/0119f.html#item6

Projects and Themes for Thesis






53. Descriptor de personas y buscador automático

OTROS NOMBRES (títulos alternos). 

ÁREA (dentro de la Computación).

Agentes, Internet.

DESCRIPCIÓN.

En qué consiste el proyecto. Extienda XML (defina un machote en XML) para describir personas (y otros recursos del Web) y hacer un buscador automático. Útil para: * agentes que venden  * que buscan conocimiento  * busco novia, esposo, trabajo... * vendo zapatos, ferretería...  * busco gentes que hayan comprado un estéreo y necesiten mantenimiento, o bocinas, o discos. * busco servidores débiles para agazapar ahí algún software atacante de otra instalación.

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS.

Trabajos previos.

Projects and Themes for Thesis






54. Bases de datos de texto coordinadas

OTROS NOMBRES (títulos alternos).

Bases de datos distribuidas sin acoplamiento ni replica-ción

ÁREA (dentro de la Computación).

Bases de datos, sistemas de información.

DESCRIPCIÓN.

En qué consiste el proyecto. Usar un software libre disponible en la red para bibliotecas digitales (por ejemplo, Phronesis) para almacenar texto. Presentar un frente co-mún que accese a distintas copias de estas bases, una en una ciudad, otra en otro lugar.. El método de acceso es el mismo. Tienen un front-end común.

Trabajo adicional: De ciertas bases, tener réplicas. En modo espejo. O como una réplica caliente, que absorbe parte de la carga de consulta.

ANTECEDENTES, MOTIVACIÓN.

Para qué sirve, cuál es su finalidad. Sirve para tener una base de datos de automóviles robados, donde cada estado de la república tiene su propia base, pero es posible consulta global. Para ofertas de trabajo. Para personas perdidas.

POSIBLE DESARROLLO.

Una de las maneras en que (tal vez) se pueda llevar a cabo.

PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.

Projects and Themes for Thesis






55. Arañas (crawlers) que leen noticias

OTROS NOMBRES
DESCRIPCIÓN. Haga una araña o crawler que se meta a los periódicos, elimine lo que es basura y extraiga las noticias de hoy. Bono extra: que las noticias sean sobre tal o cual tema. Bono extra: los periódicos a veces tienen su periódico de hoy en un sitio de la página web, pero después meten las noticias viejas en otro lado. Haga algo dinámico que nos permita seguir apuntando a noticias viejas, aunque inicialmente fueron recogidas como nuevas (¿de hoy¿).
POSIBLE DESARROLLO.
PROYECTOS RELACIONADOS Y REFERENCIAS. Artículos sobre bibliotecas digitales: 163; 164; 167.


Projects and Themes for Computing Thesis

56. Arañas distribuidas


DESCRIPCIÓN. Cuando más de un servidor posee una araña, es posible que éstas dupliquen trabajos. Así, la araña a1 ordeña (obtiene información de) los sitios s1, s2¿, sk, y la araña 2 obtiene información de otros sitios. Pero a menudo los sitios visitados por la araña 1 y la araña 2 se traslapan. Se duplica la ordeña. Haga que las arañas se intercambien mensajes e información para que no se estorben mutuamente. Bono extra: Si cada araña es universal (puede extraer cualquier documento que habla de cualquier tema), pero sucede que cada araña está interesada solo en dos o tres temas (de 20 posibles), entonces cada araña desperdicia 17/20 de su trabajo. Porque muchos de los artículos que la araña extrae y procesa (para así poder determinar de qué temas habla) resulta que no son de su interés. Haga usted arañas colaboradoras: que la araña A1, cuando ve un documento de un tema que no le interesa, vaya y se lo ofrezca a la araña A7 (a la que sí le interesa). Es decir, las arañas se ayudan entre sí, y se intercambian documentos, de manera que cada documento procesado por cualquier araña es utilizado por alguna araña, no necesariamente la que lo extrajo y procesó. Nota: es posible que a la araña A7 le lleguen muchos mensajes de arañas amigas que le indican que debe guardar el documento D332, pero resulta que ese documento ya lo guardó, de modo que tales mensajes resultan en general una distracción. ¿Cómo eliminar estos mensajes superfluos? Bono extra: visitar cada página en períodos distintos.


Projects and Themes for Computing Thesis

57. Construcción de una memoria caché para una base de datos relacional


DESCRIPCIÓN. Un manejador de bases de datos que presta servicio a muchos usuarios responde con tablas a las preguntas (queries) que le hacen. Sin embargo, en una base de datos distribuida, el usuario está conectado a un servidor que no necesariamente tiene la información, sino que la necesita obtener de otro servidor. Entonces, el servidor local podría almacenar ¿los 100 documentos más recientes consultados¿ o ¿los 100 documentos más populares, más frecuentemente consultados recientemente¿ y cuando un usuario se lo pide, el servidor local lo toma de su memoria (llamémosla memoria caché) en vez de ir por él al servidor. Esto ahorra tiempo de conexión, da más velocidad alo sistema distribuido. Implemente usted una memoria caché sobre un sistema distribuido (que ya existe, ya está hecho).
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Artículos sobre bibliotecas digitales: 163; 164; 167.


Projects and Themes for Computing Thesis

58. Búsqueda automática


DESCRIPCIÓN. Supongamos que yo le defino a mi buscador ciertos temas sobre los cuales quiero hacer la búsqueda. Comienzo entonces con un conjunto de documentos ¿semilla¿ d1, d2, .., dk. (Inclusive, estos documentos podrían definir el tema. Llamemos T al tema o temas en que estoy interesado). La idea es ir a las referencias de d1, d2,¿ dk, éstas se refieren a otros documentos e1, e2¿ em. Para estos documentos, coger solo los que hablen del tema T y presentarlos también al usuario. Luego, cada uno de estos documentos di se refiere (en las referencias o bibliografía) a otros documentos f1¿ fn. Coger estos documentos f1¿ fn y mostrar al usuario solo los que se refieren al tema T. Bono extra: Viaje al futuro. Para cada documento semilla d1¿ dk, vea cuáles documentos citan a éstos. Llamemos g1¿gs a esas citas. De g1¿gs, obtenga solo los que hablen del tema T y muéstrelos al usuario. Para ir de un documento a sus referencias, use CiteSeer (http://citeseer.ist.psu.edu/cs) o Google Scholar (http://scholar.google.com/. Ayuda: http://scholar.google.com/scholar/about.html#about, http://scholar.google.com/scholar/about.html#search1.). Bono extra: divida el tema T en el que estoy interesado en dos temas T1 y T2, donde T1 son los principales temas en que estoy interesado, los temas en que seguramente o realmente estoy interesado, mientras que T2 son los temas en que podría estar interesado, no estoy seguro de estar interesado en ellos. Haga el trabajo anterior pero en vez de T use T1 y T2.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Artículos sobre bibliotecas digitales: 163; 164; 167.


Projects and Themes for Computing Thesis

59. Traductor de español de México a español de España


DESCRIPCIÓN. O de Argentina. O de Perú. Modifique Clasitex para que distinga entre varios sinónimos {falda pollera miriñaque enaguas faldillas naguas volante} cuáles vocablos se usan en qué regiones de habla hispana. Haga un programa que procese un texto en español-mexicano (o español-colombiano, usted le debe decir en qué variante del español está el texto original) y lo convierta a otro texto en español-argentino (o español-chileno, usted le debe decir a qué variante del español desea convertirlo). Entre sus variantes de español deben existir español-general (el más general, el más correcto posible, el que se usa en la mayor parte de los países de habla hispana, el que todos entenderían), español-para-niños, español-culto. Nota: Ya tengo unas 5,000 listas de sinónimos, clasificadas por lugar de uso.
PROYECTOS RELACIONADOS Y REFERENCIAS. Mis artículos 98; 99; 101, 101b, 169 (ver lista al final de este documento, o en mi página Web, donde están los textos completos).


Projects and Themes for Computing Thesis

60. Ordeña de bibliotecas digitales


DESCRIPCIÓN. Suponga que una biblioteca digital posee un API que (a) permite darnos un documento, luego el siguiente, luego el siguiente¿ o sea, que le asigne un número o identificador único a cada documento, y (b) permite desplegar o servir un documento dado su número, o sea que le diga yo ¿sírveme o muéstrame el documento 2-335¿ y lo haga. Entonces, haga un programa que ordeñe a esa biblioteca digital (coja un documento, lo indexe, le haga su resumen), documento por documento. Nota: los documentos no deben ser copiados a memoria local, lo único que guardamos (además del índice del documento) es su URL o identificador 2-335.


Projects and Themes for Computing Thesis

61. Árbol automático de conceptos


DESCRIPCIÓN. Un programa que cree automáticamente un árbol clasitex y lo actualice cada cierto tiempo. Dado un conjunto de archivos con información textual, el programa "clusteriza" la información y crea un grupo de conceptos. Tal vez con la ayuda de diccionarios comunes y de sinónimos se pueda resolver de forma más sencilla: Dada una lista de conceptos y un conjunto de archivos textuales, cree un árbol clasitex. La lista de conceptos puede salir de un diccionario común y corriente.
PROYECTOS RELACIONADOS Y REFERENCIAS. Mis artículos 98; 99; 101, 101b, 169 (ver lista al final de este documento, o en mi página Web, donde están los textos completos).


Projects and Themes for Computing Thesis

62. Resumen de un documento


DESCRIPCIÓN. Un programa que automáticamente cree resúmenes de texto, usando CLASITEX para obtener los párrafos/líneas más importantes. Será más preciso que OTS ( http://libots.sourceforge.net/ ) puesto que clasitex conoce más palabras y las agrupa por conceptos. OTS sólo checa las diferentes palabras en un texto, pero desconoce las relaciones entre ellas. Haga un programa que, dado un documento d1, hace otro documento d2 mucho más breve que contiene las ideas esenciales de d1. Es un resumen de d1. Idea: Usando clasitex o programa similar, halle (A) las principales temas del documento; (B) las frases que contienen tales temas. Estas frases son candidatas para pasar a d2, el resto se eliminan. ¿Cuántas frases pasar a d2? Eso nos lo dice el usuario, por ejemplo: ¿hazme un resumen que sea del 30% de extensión del documento original. Entonces con (A) se dividen las frases en ¿principales¿ y secundarias. Sea que halló 50% y 50%. Como son muchas principales, hay que excluir algunas de las principales para que su porcentaje baje al 30%. ¿Cuáles excluir? Las que contienen menos temas relevantes. Referencia: Extracting summarization based on word information and sentence position. Carlos Méndez Cruz and Alfonso Medina Urrea. CICLING 05. Referencia: Generating headline summary from a document set. Kamal Sardar and Sivaji Bandyopadhyay. CICLING 05.
PROYECTOS RELACIONADOS Y REFERENCIAS. Mis artículos 98; 99; 101, 101b, 169 (ver lista al final de este documento, o en mi página Web, donde están los textos completos).


Projects and Themes for Computing Thesis

63. Estandarización de frases comunes


DESCRIPCIÓN. Estandarizar la información encontrada en documentos con información textual. Ejemplo: "Diecinueve de enero del 2004" y "19-01-2004" y "ene/19/04" se refieren a la misma fecha. En el primer caso, es la forma textual; en el segundo caso es la representación europea del formato de fecha; en el tercer caso es la versión mexicana reducida. ¿Cómo detectar éstas diferencias y proveer a un programa de una versión "estandarizada" de la información textual encontrada? tanto fechas como lugares geográficos, nombres propios, números telefónicos, direcciones, etc, se vuelven manipulables para un programa si éste logra saber qué son y cómo tratarlos. La solución de éste problema permite llenar automáticamente metadatos sin consultar al autor. Idea: Apóyese en Clasitex para guardar sus sinónimos y que uno de ellos sea el formato estándar. Idea: Tenga como formato estándar el más general: Dr. José de Jesús Méndez Pérez, y como sinónimos formatos más cortos: Dr. Méndez Pérez, J. de Jesús Méndez, Méndez P. J. de Jesús.


Projects and Themes for Computing Thesis

64. Similaridad de documentos


DESCRIPCIÓN. Programa que compara dos documentos de texto d1 y d2 por su similaridad. (a) Hallar el histograma de conceptos para cada documento. (b) Comparar en qué se parecen ambos histogramas. (c) En qué se diferencían. (d) Si los temas de d1 son un subconjunto de los temas de d2, o al revés, o ninguna de las dos relaciones. Para hallar el histograma de conceptos, use el algoritmo de Clasitex (u otro que se le ocurra, pero el de Clasitex ya funciona). Los documentos deben ser razonablemente extensos (dos páginas, digamos).
PROYECTOS RELACIONADOS Y REFERENCIAS. Mis artículos 98; 99; 101, 101b, 169.


Projects and Themes for Computing Thesis

65. Detección automática del nivel (grado de escolaridad) de un documento

OTROS NOMBRES (títulos alternos). Determinación del grado de dificultad en la comprensión de un artículo o texto.
ÁREA (dentro de la Computación). Inteligencia Artificial, Procesamiento de lenguaje natural, procesamiento de textos en español.
DESCRIPCIÓN. En qué consiste el proyecto. Haga un programa parecido a Clasitex (Artículos Nos. 98-99) pero que determine el nivel escolar (primaria-secundaria; prepatatoria-vocacional-licenciatura; especialización-posgrado) que se requiere para entender un articulo o documento escrito en español. Recordemos que Clasitex nos determina de qué temas o tópicos habla un documento.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad. Indización automática de documentos. Las arañas o crawlers que andan buscando documentos en el Web, ahora solo cuentan con Clasitex para entender de qué habla ese documento. La variante que le pido hacer dotará a las arañas la capacidad de discernir cuán difícil o compleja será la lectura de ese documento. Si lo va entender un muchacho de primaria o secundaria, o si se requiere un mayor nivel. Esto, combinado con el análisis temático que ya lleva a cabo Clasitex, permitirá que nuestras arañas recolecten documentos con mayor agudeza (no recolectar documentos irrelevantes) y cubrimiento (no dejar de recolectar documentos relevantes).
POSIBLE DESARROLLO. Una de las maneras en que (tal vez) se pueda llevar a cabo. Use el programa Clasitex ó el Clasitex++ como punto de partida. Organice sus conceptos en tres grandes niveles: NE = nivel elemental = nivel primaria + secundaria. El otro nivel es NL = nivel licenciatura = nivel preparatoria + nivel licenciatura. El tercer nivel es NP = nivel de posgrado o especialización. En el nivel NE colectaremos todos los conceptos o vocabulario de un niño de primaria o secundaria. En el nivel NL juntaremos todos los vocablos que ocurren en un joven de preparatoria o vocacional o licenciatura o ingeniería, pero que no sean de su área de especialización. Por ejemplo, lo que sabe un geólogo de historia de México. El tercer nivel NP = nivel de posgrado o especialización, lo dividiremos en muchos sub-niveles NPH = nivel de especialización en Historia; NPB = nivel de especialización en biología. En NPH (por ejemplo) tendremos los vocablos propios de un historiador a nivel de licenciatura o posgrado. En NPB tendremos los vocablos o jerga que usa un biólogo ya sea a nivel de licenciatura o a nivel de posgrado. Un especialista en el tema. Armado de estos niveles y sus conjuntos de vocabulario correspondientes, analizamos cada documento buscando su histograma de conceptos, y vemos si repuntan o destacan (hacen presencia considerable) en NPB o en qué sub-espacio del espacio de conceptos. Un documento que destaque en NL es del nivel NL.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Proyecto , descrito más arriba. Mis artículos 98; 99; 101, 101b, 169 (ver lista al final de este documento, o en mi página Web, donde están los textos completos).


Projects and Themes for Computing Thesis

66. Búsquedas basadas en la dinámica (uso) de registros (documentos)

OTROS NOMBRES (títulos alternos). Uso de metadatos para especificar y resolver búsquedas y recuperación de documentos.
ÁREA (dentro de la Computación). Bases de datos, sistemas de información, procesamiento semántico.
DESCRIPCIÓN. En qué consiste el proyecto.En qué consiste el proyecto. Lleve estadísticas de qué registros de una bases de datos (o documentos, si se tratara de una biblioteca digital) se usan (accesan, modifican, leen) por quién, cuándo. Mantenga una tabla completa con estos datos. Usando esa tabla, conteste preguntas (solicitudes de información, de registros, de documentos) basadas en las características almacenadas en la tabla, es decir, en la historia y en la dinámica de las búsquedas. Ejemplo: ¿dame el artículo más leído¿. ¿Muéstrame los documentos que leyó Carlos Fuentes.¿ ¿Hace como tres semanas leí un artículo de Química Orgánica. Muéstramelo nuevamente.¿ Bono extra: mezcle características dinámicas con características estáticas (propias del documento: su autor; que el texto contenga la palabra ¿fertilizante¿, ¿) en sus búsquedas.
DESCRIPCIÓN 2. Cuando varios usuarios hacen preguntas, digamos a un servidor de bases de datos, generalmente usan un predicado booleano para especificar lo que quieren: ¿dame todos los artículos cuyo autor sea González, sobre el tema Computación y fechados después de 2001¿. Sin embargo, si el sistema lleva estadísticas sobre las con­sultas, es posible especificar búsquedas dinámicas, basadas sobre la historia de búsqueda mía o de todos los usuarios. Ejemplo: ¿dame los diez artículos más leídos¿. ¿Dame lo mismo que leyó Carlos Fuentes¿. ¿Dame los artículos más leídos en el último mes por los diputados del PAN¿. O bien, como el sistema está supervisando lo que uno consulta, puede el sistema ofrecer ayuda espontánea, por ejemplo: ¿80% de los lectores que leen el artículo A y luego el B también leen el C. Aquí está el C.¿ Algunas de estas búsquedas están basadas en algoritmos de Markov. El problema es hacer un programa que resuelva búsquedas dinámicas. También es necesario hacer un programa que lleve estadísticas de consulta de cada lector.

ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad. Mejores búsquedas. El buscador puede sugerir documentos a consultar, aún sin pedirlos el usuario: el buscador analiza la trayectoria de búsqueda (en el espacio de conocimientos), encuentra en su tabla de búsquedas pasadas trayectorias similares, y ofrece traer (o trae) artículos que otros autores con la misma trayectoria que yo han leído.
POSIBLE DESARROLLO. Básese en una biblioteca digital. Elabore una lista de preguntas que le gustaría responder. Haga la tabla de búsquedas según se indicó arriba. Vea qué más debe usted almacenar para poder responder las preguntas de su lista. Exprese sus preguntas en SQL. Programe. Haga pruebas. Documente.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Proyecto . Mis artículos 98; 99; 101, 101b, 169. Artículos sobre bibliotecas digitales: 163; 164; 167.


Projects and Themes for Computing Thesis

67. Sincronización automática entre bases de datos débilmente acopladas

OTROS NOMBRES (títulos alternos).Actualización diferida de bases de datos distribuidas.
ÁREA (dentro de la Computación). Bases de datos, computación distribuida, sistemas de información.
DESCRIPCIÓN. En qué consiste el proyecto. Tenemos varias bases de datos, distribuidas, que necesitan actualizarse periódicamente. Por ejemplo, cada base tiene un índice (de documentos, digamos) que periódicamente tiene que compartir con los demás, tiene que informar a las otras bases de actualizaciones, altas y bajas a ese índice. Pero ese intercambio de información no es necesario hacerlo en tiempo real, no es crítico que en cuanto se haga un cambio en la base a se tenga que informar del mismo a la base b. Las bases están débilmente acopladas. Normalmente, la actualización o sincronización o intercambio de información ocurre una vez al día, durante la madrugada. A veces, una base (un servidor) se cae y deja de trabajar durante algunos días. Cuando se recupera, tiene que actualizarse, lleva varios días de retraso, varios días en el pasado. Otras veces, un servidor sigue trabajando pero en modo local, des-sincronizado o desligado de los demás. Cuando se restablece la conexión, debe actualizarse con los datos de las otras bases, y además debe actualizar a esas otras bases con sus progresos durante el tiempo en que estuvo aislado. Usted va a confeccionar un programa de cómputo que lleve a cabo esta actualización diferida. Usted lo probará con PosgreSQL preferentemente, o con algún otro manejador relacional de uso libre.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad. Mantemiento de sistemas débilmente acoplados.
POSIBLE DESARROLLO. Se ha bosquejado en ¿Descripción¿ arriba.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Artículos 155, 163.


Projects and Themes for Computing Thesis

68. Medición automática de (el nivel de) lo interesante, sorprendente, esperado, inverosímil¿ en conjuntos de hechos sobre valores no numéricos

OTROS NOMBRES (títulos alternos). Cómo medir (cuantitativamente) lo interesante, qué tan interesante, atrayente, atractivo es algo. También: cómo medir lo sorprendente, lo inusitado, pasmoso, asombroso. Lo inverosímil, lo poco creíble, lo extraño, improbable, inadmisible. La inconsistencia, la incongruencia, lo contradictorio. Lo esperado, lo predecible. Y otros ¿fenómenos¿ epistemológicos. Se medirán sobre conjuntos de hechos (un hecho es una medición u observación acerca de la realidad, por ejemplo, ¿hoy hace calor¿ o ¿esta mesa mide 3.10m de largo¿). Los hechos que procesaremos serán cualitativos o simbólicos (no expresan mediciones, como 3.10m, o 15 Kg., sino observaciones, como ¿color rojo¿, ¿tamaño grande¿, ¿es africano¿).
ÁREA (dentro de la Computación). Inteligencia Artificial, procesamiento semántico.
DESCRIPCIÓN. Desarrolle un programa que mida ciertas cualidades o fenómenos (interesante, inverosímil¿) asociados con un conjunto de hechos simbólicos. Fundamente sus mediciones, la forma en que se miden tales fenómenos.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad. Caracterización de fenómenos subjetivos. En lógica, lo falso es falso y lo cierto es cierto. No hay cosas ¿algo falsas¿. No hay contradicciones ¿pequeñas¿. Sin embargo, en la práctica las cosas tienen grados de verosimilitud. ¿Juan tiene un perro¿ contradice un poco a ¿Juan tiene un Doberman¿ y contradice más a ¿Juan tiene una iguana.¿
POSIBLE DESARROLLO. Defina qué es interesante. ¿Cuándo algo es interesante? Cuando se aparte de nuestras expectativas (por ejemplo). Diga cómo se debe medir, cuando tenemos como datos un conjunto de hechos sobre valores jerárquicos (estos valores forman una jerarquía). Escriba el programa que hace estas mediciones. Dé ejemplos. Extienda su método para medir varios fenómenos epistemológicos. Diga cómo se extiende a otros casos no resueltos (no medidos).
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Proyecto . Artículos sobre jerarquías y confusión: 146; 152; 153; 153b; 164; 167.


Projects and Themes for Computing Thesis

69. Descripción cualitativa de conjuntos de objetos con propiedades simbólicas

OTROS NOMBRES (títulos alternos). Caracterización (usando términos no numéricos) o descripción de grupos de objetos cuyas propiedades tienen valores cualitativos (cristiana es mi religión, negro es el color de mi pelo¿).
ÁREA (dentro de la Computación). Inteligencia Artificial, procesamiento semántico.
DESCRIPCIÓN. En qué consiste el proyecto. Un objeto (ejemplos: una persona, un artículo o documento, una canción) se caracteriza o describe por varias propiedades (peso, color, religión¿). Nos interesan propiedades que toman valores simbólicos (liviano, pesado; blanco, negro, verde; cristiana, musulmana, judía). Consideremos conjuntos de objetos del mismo tipo (conjuntos de canciones, por ejemplo). De cada elemento del conjunto se conocen sus propiedades. Dado un conjunto, usted lo va a describir en forma simbólica (¿platicada¿, no numérica; usando vocablos, no números), donde las descripciones (los vocablos o conceptos utilizados) usan valores simbólicos que forman jerarquía. Ejemplo: el conjunto de documentos escritos por Adolfo Guzmán. La descripción que su programa debe hacer: ¿Todos estos documentos hablan de software; la gran mayoría son aplicaciones de la inteligencia artificial. En particular, muchos de ellos son sobre representación del conocimiento, sobre todo en árboles¿¿ Ejemplo: el conjunto de diputados que ha tenido México desde 1950. La descripción que su programa debe hacer: ¿La absoluta mayoría son hombres. La gran mayoría tiene más de 40 años. Ninguno es menor de 18 años. Resaltan dos grandes grupos: los militares y los abogados. Pocos de ellos tienen educación universitaria¿¿
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad. Descripciones simbólicas de conjuntos. Explicarse en forma tal que una persona con nivel de educación NE (ver proyecto 68) pueda entender.
1.Sigue la línea de la propuesta ¿Computing with Words¿ de Lofti A. Zadeh (ver http://www.cs.berkeley.edu/~nikraves/zadeh/ y también http://www.aaai.org/Library/Magazine/Vol22/22-01/vol22-01.html). Nótese que él usa precisiation al plantear cómo resolverlo, nosotros no seguimos ese camino.
2.Nosotros tratamos de resolver precisiation (o de hallar soluciones equivalentes) usando jerarquías. Ver referencias abajo.

POSIBLE DESARROLLO. Una de las maneras en que (tal vez) se pueda llevar a cabo. Use el programa Clasitex ó el Clasitex++ como punto de partida. Organice sus conceptos en tres grandes niveles: NE = nivel elemental = nivel primaria + secundaria. El otro nivel es NL = nivel licenciatura = nivel preparatoria + nivel licenciatura. El tercer nivel es NP = nivel de posgrado o especialización. En el nivel NE colectaremos todos los conceptos o vocabulario de un niño de primaria o secundaria. En el nivel NL juntaremos todos los vocablos que ocurren en un joven de preparatoria o vocacional o licenciatura o ingeniería, pero que no sean de su área de especialización. Por ejemplo, lo que sabe un geólogo de historia de México. El tercer nivel NP = nivel de posgrado o especialización, lo dividiremos en muchos sub-niveles NPH = nivel de especialización en Historia; NPB = nivel de especialización en biología. En NPH (por ejemplo) tendremos los vocablos propios de un historiador a nivel de licenciatura o posgrado. En NPB tendremos los vocablos o jerga que usa un biólogo ya sea a nivel de licenciatura o a nivel de posgrado. Un especialista en el tema. Armado de estos niveles y sus conjuntos de vocabulario correspondientes, analizamos cada documento buscando su histograma de conceptos, y vemos si repuntan o destacan (hacen presencia considerable) en NPB o en qué sub-espacio del espacio de conceptos. Un documento que destaque en NL es del nivel NL.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Proyecto . Artículos sobre jerarquías y confusión: 146; 152; 153; 153b; 164; 167. Ver artículos sobre precisiation y ¿computing with words¿ de L. A. Zadeh (URLs dados arriba).


Projects and Themes for Computing Thesis

70. Aumentar el árbol de conceptos CLASITEX.

OTROS NOMBRES (títulos alternos).. Hacienndo crecer la taxonomía de CLASITEX para mejorar su desempeño.
ÁREA (dentro de la Computación).) Inteligencia Artificial, procesamiento semántico, manejo de texto.
DESCRIPCIÓN. En qué consiste el proyecto. Clasitex es un programa que halla los temas de los que habla un documento en español o inglés. Usa una taxonomía (árbol especial) de conceptos (nodos). Cada concepto tiene asociadas las palabras o frases temáticas que sugieren o dan idea de que se está hablando de ese concepto. Se trata de acrecentar este árbol de modo que Clasitex pueda discernir más temas.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad. Saber de qué temas habla un documento.
POSIBLE DESARROLLO. Una de las maneras en que (tal vez) se pueda llevar a cabo. Use el programa CLASITEX o CLASITEX++ como punto de partida. Procese con él documentos nuevos de temas nuevos. CLASITEX arroja una lista de "palabras desconocidas" cuyo significado ignora. Escoja de estas palabras para definirlas (colocarlas en la taxonomía), agrégueles sinónimos. Cuando procesa un documento, CLASITEX también arroja una lista de qué palabras votaron por cuáles conceptos. Utilice la lista para mejorar votos y disminuir errores.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos. Artículos 98, 99, 101.


Projects and Themes for Computing Thesis

71. Otro proyecto

OTROS NOMBRES (títulos alternos).
ÁREA (dentro de la Computación).
DESCRIPCIÓN. En qué consiste el proyecto.
ANTECEDENTES, MOTIVACIÓN. Para qué sirve, cuál es su finalidad.
POSIBLE DESARROLLO. Una de las maneras en que (tal vez) se pueda llevar a cabo.
PROYECTOS RELACIONADOS Y REFERENCIAS. Trabajos previos.


Projects and Themes for Computing Thesis
Projects and Themes for Thesis


©Adolfo Guzmán Arenas





Beginning of this page
Principales tesis dirigidas

All theses are in Spanish and are undergraduate, if not otherwise marked. M. of Sc. = Master of Science Thesis. Ph.D. = Ph. D. Thesis.


M = M. of Sc, thesis.
D = Ph. D. thesis.
(?) = probable date
(e) = hopeful date.


The Ph. D. Program in Computer Science of CINVESTAV-IPN was first offered in Mexico in 1984 in the Computer Science Section that I founded. The Ph. D and Master of Science programs of CIC were founden during my position as director.




M

Lerman, J.

MIT

1969

Computadora estereoscópica (inglés)


González Chida

CINVESTAV

1971

Reconocimiento de patrones en señales biomédicas

M

Pinzón, Héctor

CINVESTAV

1973

Diseño y construcción de un monitor en tiempo real para multiprogramación


González López

CINVESTAV

1975

Análisis por computadora del electrocardiograma humano


Alarcón, Julián

CINVESTAV

1976

Diseño computarizado de fuentes de energía D.C.

M

García González

CINVESTAV

1976

Diseño y simulación de una computadora para control de experimentos con plasmas


Bribiesca, Ernesto

IIMAS

1977

Banco geográfico de datos para CETENAL


Avilés, Ricardo

IIMAS

1978

Clasificadores de multiespectrales utilizando tablas de búsqueda.

D

Saldaña A. Héctor

CINVESTAV

1987

Compilador de expresiones regulares y algunas aplicaciones.

M

Domínguez de León

UPIICSA

1980

Administración de un centro de cómputo usando demonios.

M

Sánchez Arias, V

IIMAS

1980

Sistema de información reconfigurable.


Buenabad, Jorge

UPIICSA

1982

Construcción de una memoria virtual para una minicomputadora DEC PDP-11


Brena, Ramón

UNAM

1981

Gramáticas y analizador sintáctico para el reconocimiento de formas bidimensionales

(graduado Summa Cum Laude)


González, Jesús

ESIME

1982

Sistema de información para preguntas no planeadas sobre comercio exterior


Zúñiga, Jesús

Universidad La Salle

1983

Programa que genera planes de estudio (curricula) en informática


Morales, Lorenzo

ESFM I.P.N.

1983

Sistema de información para el control de combustible en plantas termoeléctricas de la CFE (Comisión Federal de Electricidad)

M

Rosenblueth, David

IIMAS

1983

Diseño asistido por computadora de circuitos digitales


Armijo, Gerardo

ESIME

1984

Gramáticas para autómatas finitos


González Cuevas

ESIME

1984

Preguntas generales a un banco de datos de comercio exterior


Larrea, Francisco

ESIME

1984

Sistema de información para la seguridad social de afiliados


Javier, Margarito

ESIME

1985

Uso del descriptor de archivos para preguntas generales sobre archivos arbitrarios

M

Avila, Patricia

CINVESTAV

1986

Sistema experto para enfermedades del hígado

M

López, Samuel

CeNaC

1985

Herramientas de software y generadores de programas para incrementar la productividad del programador


Saldivar, O. y Parra, Raúl

NAG/FAC UNAM

1986

Ventas y control de inventario para farmacias

M

Ghajarzadeh, M.

IIMAS

1986

Sist. de intercomunicación configurable para micros

D

Chapa, Sergio

CINVESTAV

1991

Programación automática a partir de descriptores de flujo de información

D

González, Manuel

CINVESTAV

1995

Desarrollo de un esqueleto para manejar bases de conocimiento estratificados en temas

M

Palomino, Cecilia

CIC

1999

Procesador de trámites de documentos

D

Olivares, Jesús

CIC

2002

Un modelo de interacción entre agentes con propósito, ontologías mixtas y eventos inesperados

M

Domínguez, Carmen

CIC

2002

Reacción de agentes a eventos inesperados


Harald Muñoz B

ESCOM

2003

Sistema de detección y corrección automática de errores en el comercio electrónico.

M

Marisol López Hinojosa

CIC

2005

Un nuevo algoritmo en la técnica de velocimetría de imágenes de partículas (codirector)


Camacho González Gabriela, Hernández Bañuelos Francisco, Hernández García Ofi Uriel, Vázquez Gallo Maribel

ESCOM

2005

Sistema de consulta a investigaciones arqueológicas para el análisis de objetos arqueológicos y análisis de desplazamiento de culturas

TESIS EN PROCESO

D

Gilberto Martínez L

CIC

?

Tema: Minería de datos acelerada usando memoria principal

D

Alejandro Botello

CIC

?

Tema: fusión de bases de datos heterogéneas

D

Alma Delia Cuevas

CIC

¿

Tema: Fusión de ontologías usando propiedades semánticas

D

Adriana Jiménez

CIC


Tema: Medición de la inconsistencia y otras propiedades lógicas en hechos que contienen valores no numéricos. Usando confusión y jerarquías.


Juan Carlos Montero, Fátima Garduño, Alberto Bernal

ESIME-Culhuacán

2006

Tema: Memoria caché para una biblioteca digital