.
|
Adolfo Guzmán Arenas
|
|
|
Proyectos
y temas de tesis en Computación
|
Resumen
Antecedentes
¿Cómo proceder?
Clasitex
Agentes móviles
Clasificadores tipo árboles k-d
Utilice strip-trees (árboles rebanados) en vez de árboles k-d.
Generador de clasificadores
Transformador de expresiones en SQL para minería de datos
Eliminador Universal de Baches (E U B)
Sección Amarilla electrónica
Sistema para manejo de llegadas y salidas de viajeros en los aeropuertos
internacionales
Servicios (inscripción, etc.) de estudiantes vía Intranet
Centro de acopio de donaciones
Servidor de imágenes de personas extraviadas; buscadas; de objetos
robados; recuperados, vía Internet
Vacío
Diseño de marcas electrónicas en imágenes electrónicas
Prueba de programas mediante inyectores de errores
Compiladores para paralelizar varias instrucciones
Tramitel electrónico: informes de trámites en español, por teléfono
Búsquedas en bases de datos con llaves inexactas
Lenguaje para expresar “situaciones interesantes” en minería de
datos
Métodos para evaluar relevancia y utilidad de temas en artículos
escritos en español
Detectando tendencias y haciendo extrapolaciones en informes escritos
en español
Cuidador electrónico de automóviles
Transparentador de profesores
Juntas electrónicas para la Comisión de Honor del I. P. N.
Construcción de una computadora paralela como la SP2 utilizando
procesadores Pentium (no Power PCs) y un switch de fibra óptica
Traductor de un lenguaje “estándar” 4GL hacia SQLs de Informix,
Progress y Oracle
Traductor de los diferentes front-ends que accesan una base de
datos
Manejador de documentos electrónicos (workflow) y convencionales
Construcción de un pizarrón de mensajes (“object request broker”)
para aplicaciones de inter-operabilidad de software ya existente y en
producción
Transformación de funciones en tiempo real (en línea), a otras de
ti-po store & forward, en una bodega de datos
Digitalizador en tres dimensiones utilizando rayos láser
Buscador inteligente de información en la web, de ejecución diferida
Interacción segura entre agentes sospechosos 34. Replicador automático
de archivos, con actualización diferida o en tiempo real
Replicador automático de archivos, con actualización diferida o
en tiempo real
Explicaciones automáticas
Anotaciones que ayudan al mantenimiento de programas grandes
o ya existentes
Base de datos que se llena por agentes
Lenguaje para intercambiar información entre agentes
Uso de modelos digitales del terreno para estudiar erosión
Números de forma en tres dimensiones
Análisis de imágenes médicas
Lenguaje de simulación de efectos y consecuencias (en poblaciones
de afectados), de políticas, reglas y burocracias
Administrador del conocimiento de una empresa
Índice del conocimiento digital
Estudio dinámico de los lectores de bibliotecas digitales
Patrones de compras de clientes, sobre el árbol de productos
Estadísticas en la Web de artículos, ligas, lenguajes, etc.
Predicting catastrophes by agents watching the data base: beyond
data mining
Proto-minería de datos
Rutas óptimas de camiones repartidores
Costos de inversión y operación en una universidad presencial
versus en otra virtual
Sitios Web que se autoorganizan de acuerdo con las preferencias
del usuario
Descriptor de personas y buscador automático
Bases de datos de texto coordinadas
Arañas (crawlers) que leen noticias.
Arañas distribuidas.
Construcción de una memoria caché para una base de datos relacional.
Búsqueda automática.
Traductor de español de México a español de España
Ordeña de bibliotecas digitales
Árbol automático de conceptos
Resumen de un documento
Estandarización de frases comunes.
Similaridad de documentos
Detección automática del nivel (grado de escolaridad) de un documento
Búsquedas basadas en la dinámica de registros
Sincronización automática entre bases de datos débilmente acopladas.
Medicion automática de lo interesante de hechos sobre valores no numéricos.
Descripción cualitativa de conjuntos de objetos con propiedades simbólicas
|
|
|
Resumen
|
|
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 au-tor 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.
|
|
|
|
|
|
|
|
Antecedentes
|
|
En 1980-85, el autor
publicó un informe técnico parecido. Esta nueva versión es muy distinta
de la anterior, dados los avances de nuestra disciplina.
|
|
|
|
|
|
|
|
Cómo proceder
|
|
Si usted desea desarrollar
alguno de estos temas, envíeme (por correo electrónico está bien a punto guzman arroba acm punto org ) 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
crea-tivo, 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 Ja-va? ¿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 herra-mientas 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 in-cluya:
“Como resultado de todo este trabajo, al final del mismo se tendrá un
sistema lla-mado 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.
Los números que llevan mis artículos se refieren a la lista que
aparece en mi curriculum vitae. La mayoría de ellos pueden leerse o
copiarse gratuitamente, en texto completo, de la biblioteca digital
del CIC,
http://copernico.mty.itesm.mx/phronesis/Proyectos/, o accesándolos
desde
http://alum.mit.edu/www/aguzman
Los informes del CIC se encuentran en
http://www.cic.ipn.mx/~informes/
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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 universidades 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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
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.
POSIBLE DESARROLLO.
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.
|
|
|
|
|
|
|
|
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-148.
|
|
|
|
|
|
|
|
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 pro-yecto #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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
ANTECEDENTES, MOTIVACIÓN.
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
.
|
|
|
|
|
|
|
|
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. 199.
|
|
|
|
|
|
|
|
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.
.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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.
|
|
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).
|
|
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 consultas, 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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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.
|
|
©Adolfo Guzmán Arenas
|
|
|
|
|
Principales tesis dirigidas
|
Todas las tesis son de licenciatura y están en español, si
no se indica lo contrario.
M = tesis para maestría
en ciencias.
D = tesis para doctorado
en ciencias.
(?)
= Fecha probable.
(e)
= Fecha esperada.
El programa de Doctorado en Computación del CINVESTAV-IPN
fue el primer programa (1984) de su género
en México, y fue dado en la Sección de Computación que yo fundé.
El programa de Maestría y el de Doctorado del CIC fueron fundados durante
mi gestión, ambos están en el Padrón de Excelencia de CONACYT:
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
|
| |