Un Entorno para Análisis y Evaluación de Cubrimientos...

16
Proyecto SIP - 20082204 [Informe Final] Dr. Salvador Godoy Calderón 1 Un Entorno para Análisis y Evaluación de Cubrimientos Difusos como soporte para la investigación en Reconocimiento de Patrones Proyecto SIP: 20071432, 20082204 Reporte Final de Actividades Antecedentes Este proyecto es la continuación natural del proyecto SIP-20071432 en el que se desarrollaron herramientas computacionales para la solución de problemas de Reconocimiento de Patrones. Los problemas a los que se hace alusión son aquellos en donde los datos del problema se describen con variables numéricas y no numéricas (datos mezclados e incompletos). Además, es frecuente encontrar en este tipo de problemas descripciones incompletas, es decir, ausencia de información en algunas variables, lo cual hace más complejo el problema. Un ejemplo interesante lo encontramos en las Ciencias Médicas. Al establecer el diagnóstico del estado de salud de un paciente, el médico requiere evaluar un conjunto de signos y síntomas que presenta el paciente. Los signos son usualmente variables numéricas: la temperatura, la presión arterial, la edad, el número de hijos, etcétera. Pero además de estos signos de naturaleza numérica existen otros que son, en muchos casos, de mucha utilidad diagnóstica. Nos referimos a signos tales como el temblor, la sudoración, la palidez. Desafortunadamente aún la ciencia no crea el “temblorímetro”, ni el “sudorímetro”, ni el “palidómetro”. De hecho no podemos asegurar que algún día de seguro lo creará. Por otra parte, los síntomas, lo que el paciente siente, son esencialmente subjetivos, y éstos no los podemos representar por medio de variables numéricas. A pesar de la incertidumbre que rodea a estas variables, nadie discute la relevancia que tienen para los médicos a la hora de establecer el diagnóstico de un paciente. Otros ejemplos de estos problemas son: la determinación de servicios anómalos de una empresa eléctrica, el pronóstico de recursos minerales, la asignación de crédito en una institución bancaria, la determinación de factores socioeconómicos que más influyen en la aparición de un fenómeno social, etc. Como puede apreciarse todos estos problemas son de gran importancia económica y social ya que tienen mucha incidencia en la producción y los servicios, de ahí que nuestra investigación básica tenga a mediano y largo plazo incidencia en la solución de este tipo de problemas prácticos. Los problemas antes mencionados deben ser representados por medio de variables no numéricas y, simultáneamente, por variables numéricas. Sin embargo, ante esta situación, para resolver problemas con datos mezclados e incompletos de selección de variables o clasificación supervisada o no supervisada, existen las siguientes posibilidades: a) analizar las variables no numéricas y numéricas por separado; b) convertir las variables numéricas en no numéricas; c) convertir las variables no numéricas en numéricas y d) trabajar con ellas en forma simultánea.

Transcript of Un Entorno para Análisis y Evaluación de Cubrimientos...

Page 1: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 1 

 

Un Entorno para Análisis y Evaluación de Cubrimientos Difusos como soporte para la investigación

en Reconocimiento de Patrones

Proyecto SIP: 20071432, 20082204

Reporte Final de Actividades

Antecedentes

Este proyecto es la continuación natural del proyecto SIP-20071432 en el que se desarrollaron herramientas computacionales para la solución de problemas de Reconocimiento de Patrones. Los problemas a los que se hace alusión son aquellos en donde los datos del problema se describen con variables numéricas y no numéricas (datos mezclados e incompletos). Además, es frecuente encontrar en este tipo de problemas descripciones incompletas, es decir, ausencia de información en algunas variables, lo cual hace más complejo el problema.

Un ejemplo interesante lo encontramos en las Ciencias Médicas. Al establecer el diagnóstico del estado de salud de un paciente, el médico requiere evaluar un conjunto de signos y síntomas que presenta el paciente. Los signos son usualmente variables numéricas: la temperatura, la presión arterial, la edad, el número de hijos, etcétera. Pero además de estos signos de naturaleza numérica existen otros que son, en muchos casos, de mucha utilidad diagnóstica. Nos referimos a signos tales como el temblor, la sudoración, la palidez. Desafortunadamente aún la ciencia no crea el “temblorímetro”, ni el “sudorímetro”, ni el “palidómetro”. De hecho no podemos asegurar que algún día de seguro lo creará. Por otra parte, los síntomas, lo que el paciente siente, son esencialmente subjetivos, y éstos no los podemos representar por medio de variables numéricas. A pesar de la incertidumbre que rodea a estas variables, nadie discute la relevancia que tienen para los médicos a la hora de establecer el diagnóstico de un paciente. Otros ejemplos de estos problemas son: la determinación de servicios anómalos de una empresa eléctrica, el pronóstico de recursos minerales, la asignación de crédito en una institución bancaria, la determinación de factores socioeconómicos que más influyen en la aparición de un fenómeno social, etc. Como puede apreciarse todos estos problemas son de gran importancia económica y social ya que tienen mucha incidencia en la producción y los servicios, de ahí que nuestra investigación básica tenga a mediano y largo plazo incidencia en la solución de este tipo de problemas prácticos.

Los problemas antes mencionados deben ser representados por medio de variables no numéricas y, simultáneamente, por variables numéricas. Sin embargo, ante esta situación, para resolver problemas con datos mezclados e incompletos de selección de variables o clasificación supervisada o no supervisada, existen las siguientes posibilidades: a) analizar las variables no numéricas y numéricas por separado; b) convertir las variables numéricas en no numéricas; c) convertir las variables no numéricas en numéricas y d) trabajar con ellas en forma simultánea.

Page 2: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 2 

 

Lo anterior constituye un rasgo característico del Reconocimiento Lógico Combinatorio de Patrones: que está dirigido a la creación de modelos, herramientas matemáticas y computacionales para la solución concreta de problemas prácticos. No es una línea de desarrollos teóricos ajena a la práctica, todo lo contrario, se nutre de ella para la formulación de los nuevos retos teóricos cuyas soluciones tienen de ante mano garantizada su aplicación. En este contexto nuestro grupo ha logrado varios resultados, tanto teóricos como aplicados, en especial en áreas de las Geociencias [3], la Criminalística [4] y la Medicina [5,6]. Justificación En el ámbito de la investigación en Reconocimiento de Patrones una de las carencias de infraestructura más notables es la de una herramienta computacional que permita, en forma accesible y estructurada, realizar análisis y evaluación de Cubrimientos Difusos. Estos cubrimientos constituyen el elemento fundamental de cualquier problema, ya sea teórico o práctico, planteado por un investigador en Reconocimiento de Patrones. La ausencia de la herramienta en cuestión tiene como consecuencia un considerable retraso en el desarrollo de las investigaciones asociadas, así como una dificultad inherente para publicación de resultados cuando se consigue llegar a ellos. En este proyecto se plantea el diseño y construcción de una herramienta que cubra las necesidades planteada y proporcione a Investigadores, Docentes y Estudiantes en Reconocimiento de Patrones una plataforma estable y específica para la Edición, Análisis y Evaluación de Cubrimientos Difusos, así como la elaboración de bitácoras y reportes correspondientes que faciliten la labor de Investigación y recolección de resultados para publicación en foros y revistas internacionales. Para la Edición de Cubrimientos la herramienta debe permitir la definición interactiva de todos los elementos constitutivos de un Cubrimiento Difuso incluyendo Dominios de definición continuos y discretos. Los elementos de Análisis deben ser las características estructurales del Cubrimiento incluyendo las propiedades del conjunto de Rasgos Descriptivos y, para la Evaluación de deben calcular los principales índices de evaluación conocidos en la literatura al respecto (Entropía, Compactación, Separación, Cohesión, etc). Objetivos Desarrollar una herramienta computacional, según las técnicas específicas del enfoque lógico-combinatorio, para apoyar la investigación y docencia en Reconocimiento de Patrones, que permita la edición de cubrimientos difusos y ofrezca diversos algoritmos de análisis y evaluación, así como opciones para reportes comparativos y bitácoras de experimentación en las áreas de Clasificación Supervisada, Clasificación No-Supervisada y Selección de Variables.

Page 3: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 3 

 

Objetivos Particulares

• Diseño de un lenguaje formal para representación de cubrimientos difusos y construcción del compilador asociado.

• Diseño y construcción de un entorno computacional, basado en el compilador del lenguaje formal mencionado anteriormente, que permita al usuario la especificación formal de los diferentes elementos que componen un cubrimiento difuso, así como la importación de datos existentes en formatos diferentes.

• Recopilación y adaptación de los diferentes algoritmos existentes para la análisis estructural de cubrimientos difusos.

• Estudio sobre los diversos métodos para evaluación de cubrimientos, tanto para clasificación Supervisada como No-Supervisada.

• Definición y programación de algoritmos para Selección de Variables (cálculo de Testores y Testores Típicos) que son factibles de aplicar a cada cubrimiento difuso.

• Diseño de una Plataforma genérica para experimentación numérica en Reconocimiento de Patrones y de la cual pueda formar parte integral el entorno de análisis y evaluación de cubrimientos.

Metodología experimental

La metodología seguida para el desarrollo de este proyecto se resume en los siguientes incisos:

• Estudio sobre los conceptos teóricos asociados al área de investigación: Mediante un estudio comparativo de los diferentes enfoques usados en Reconocimiento de Patrones, se determinó un conjunto básico de características que distinguen al enfoque Lógico-Combinatorio, así como el conjunto de técnicas específicas usadas dentro de este enfoque, específicamente para el análisis y evaluación de cubrimientos difusos.

• Estudio sobre los algoritmos específicos para análisis de cubrimientos difusos: Una vez determinado el conjunto anterior de técnicas específicas, se proceddió a estudiar a detalle los algoritmos propios que implementan dichas técnicas. Para este estudio resultó necesario realizar una recopilación de material publicado por diversos autores en la materia, así como analizar la complejidad algorítmica y los parámetros de cada uno de los algoritmos en cuestión.

• Estudio crítico sobre las metodologías de evaluación de cubrimientos: Este estudio se subdividió en tres categorías: 1) evaluación de cubrimientos para problemas de clasificación supervisada, 2) evaluación de cubrimientos para problemas de clasificación no-supervisada y, 3) evaluación de cubrimientos para problemas de selección de rasgos. En cada una de las categorías anteriores se estudiaron los métodos existentes para evaluación de cubrimientos difusos, sus ventajas y desventajas, así como los parámetros requeridos para su implementación.

Page 4: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 4 

 

• Diseño y especificación de un lenguaje formal para la representación de cubrimientos difusos: El diseño de este lenguaje se realizó a partir de la información recopilada en el primer inciso de esta metodología. El objetivo principal en el diseño fue lograr máxima capacidad descriptiva en el lenguaje a la vez que máxima facilidad de uso para sus usuarios. El grupo de usuarios objetivo de este lenguaje formal se compone de los investigadores, docentes y estudiantes de reconocimiento de patrones que trabajan en el enfoque lógico-combinatorio. La especificación del lenguaje se realizó mediante una gramática en forma normal extendida de Bakus-Naur.

• Diseño y construcción de un compilador asociado al lenguaje formal: El compilador del lenguaje formal para especificación de problemas se diseñó como una herramienta en línea que pueda ser usada posteriormente por las otras herramientas de software que componen este proyecto. En particular, el compilador funciona como núcleo para el entorno para experimentación definido en el siguiente inciso. La construcción del compilador se realizó en un lenguaje de programación de propósito general, para hacerlo compatible, tanto a nivel de código fuente, como a nivel de código ejecutable con los demás productos entregables de este proyecto.

• Definición y construcción del entorno para experimentación con cubrimientos difusos: Este entorno es un programa de computadora que recopila todos los algoritmos programados para este proyecto y proporciona una interfaz hacia el usuario que permite hacer uso de todos ellos, interactuar con el compilador del leguaje de especificación y generar los reportes comparativos necesarios para apoyar la experimentación numérica de investigadores, docentes y estudiantes de reconocimiento de patrones en el enfoque lógico-combinatorio.

• Programación de los algoritmos para análisis de cubrimientos difusos: Cada uno de los algoritmos estudiados previamente fue ser programado de forma que se integre adecuadamente con el ambiente de experimentación. Cada algoritmo especifica sus parámetros de operación, así como sus restricciones de aplicación.

• Programación del los algoritmos para problemas de selección de variables: En la categoría de problemas de selección de variables, ocupa un lugar especialmente relevante la Teoría de Testores por ser una teoría propia y exclusiva del enfoque lógico-combinatorio en estudio durante este proyecto. Para la programación de estos algoritmos se requirió del estudio previamente especificado y de un ajuste de sus parámetros de operación que permitiera la selección de el(los) algoritmos factibles de ser aplicados a cada cubrimiento difuso en lo particular.

• Elaboración de artículos y ponencias en congresos: Se redactaron los diversos artículos correspondientes a las actividades originales y resultados obtenidos durante la investigación.

• Redacción de tesis de maestría y doctorado de los estudiantes participantes en este proyecto.

Aplicación Para poder explotar en aplicaciones prácticas el lenguaje de especificación diseñado es necesario contar, no sólo con un Parser que valide la estructura de cualquier especificación realizada, sino construir un Intérprete que permita sincronizar las

Page 5: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyec

 

 

porcionefacilidadcubrimicomparade estosde la esp

La conslas prinSe supehacia umáquinconstituforma dIntérpreoptimiza

El lengusiglas dSystem.especificclasificaLógico-C

El lengdinámicrasgos; admite

cto SIP - 20082

es estáticad de realiziento difusación entres elementopecificación

strucción dencipales diferó el protoun lenguajea virtual

uye un intéde una biblete no exación del c

uaje fue dde los térm. Se tratacar, no sólación comoCombinato

guaje diseñca de Cub es algorítespecificac

2204

a y dinámizar los cálcso. Estos e rasgos y

os dinámicon (matrices

e este Intéficultades otipo conste de progrde Java),

érprete optlioteca de

xiste ya laódigo gene

diseñado pminos en a de un lelo cubrimieo de seleccorio.

ñado permbrimientos tmicamentciones parc

[Infor

ica de las culos básic

cálculos funciones

os requieres de descrip

érprete se lde comunitruido a pramación d

y se contimizado qenlace-dina etapa i

erado.

or completinglés Log

enguaje de entos difusción de ra

mite especifdifusos y

te completoiales y acu

rme Final] 

D

especificacos requerise refierende semeja

e de los dapción y de

logró compicación entartir de unde propósistruyó un

que es capanámico (DLintermedia

to y se le gical-Comb

bloques csos, sino cuasgos segú

ficar tantoProblema

o y estructumulativas

Dr. Salvador

aciones y pidos por cun a la ev

anza entre atos contenpertenenci

pletar exitotre las capana etapa iito general

producto az de gene

LL). En la a y se cu

denominóbinatorial Acon la exprualquier ti

ún las líne

o la parteas de Clasturado por.

r Godoy Cald

principalmualquier esaluación dpatrones.

nidos en laia).

osamente yas del modintermedial (Pascal, nuevo de

erar códigoversión fin

uenta con

ó LenguajeAlgoritmicresividad nipo de probeas rectora

e estática sificación yr bloques d

derón

ente brindspecificacióde criterio

La evaluaa parte está

y se resolvidelo plantea de traduc

con uso de software o ejecutablnal del mó

un motor

e LCARS ccal Recognnecesaria blema tantas del enfo

como la py Selecciónde manera

de la n de s de

ación ática

ieron eado. cción de la

que le en ódulo r de

como nition

para to de foque

parte n de que

Page 6: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 6 

 

La gramática del LCARS fue construida en forma normal extendida de Backus-Naur, lo cual permite que su definición pueda ser incorporada prácticamente en cualquier entorno de compilación multi-plataforma.

1. Archivo LCARS Es una especificación o archivo escrito con la sintaxis detallada en el

punto2.

2. Parser Es el conjunto de analizadores (léxico, sintáctico y semántico) que verifican

que el programa en LCARS esté bien escrito y se encarga de generar los archivos (*.h) para hacer dinámica la creación del intérprete cada vez que exista una nueva especificación LCARS.

3. Archivo estático Archivo de cabecera en C que contiene la definición de objetos,

descripciones, clases y pertenencias en forma de estructuras.

4. Archivo dinámico Archivo de cabecera en C que contiene las funciones necesarias para

obtener los criterios de comparación y funciones de semejanza vistas en la sección 2.

5. Archivo funciones LCARS Son un conjunto de comandos que son útiles para cualquier archivo en

LCARS y permiten evaluar y consultar principalmente los elementos que componen un cubrimiento.

6. Gramática de comandos El conjunto de comandos con el cual el cliente interactúa con el intérprete y obtiene datos del archivo en LCARS.

2. Parser 

6. Gramática

7. gcc

8. DLL intérprete 

de 

1. Archivo LCARS

4. Archivo funciones

5. Archivo funciones 

ejecutableEnlace 

dinámico

3. Archivo estático 

9. Programa cliente 

Page 7: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 7 

 

7. Compilador gcc Es un compilador GNU que compila y genera ejecutables, DLLs, librerías,

archivos objeto, etc. de programas en lenguaje C. En este caso nos es útil para generar los archivos objeto y posteriormente el DLL del intérprete.

8. DLL intérprete de comandos Conjunta las partes dinámicas y estáticas del la especificación en LCARS y

el intérprete genérico el permite que interactúen por medio de los comandos del intérprete desde cualquier lenguaje de programación en plataforma WIN32.

9. Programa cliente Es una aplicación de un lenguaje en plataforma WIN32 que se comunica

con el intérprete y se encarga del despliegue y visualización del archivo LCARS.

Para mostrar el uso del intérprete de LCARS, se realizó un programa cliente en Borland C++ Builder 6 el cual a pesar de ser sencilla entre sus opciones nos permite utilizar algunas funciones del intérprete y cualquiera de sus comandos.

1. Dentro del código de la aplicación llamar la acción ShellExecute como sigue: ShellExecute(hcll,"open","cmd",(char *) param,NULL,SW_HIDE);

Donde

hcll es un HANDLE para la ventana que se genera al llamar a ShellExecute.

Param es la cadena con el nombre del archivo a analizar.

2. Dentro de alguna acción del programa agregar un manejador para el DLL que se genera de la especificación, de la siguiente manera: HANDLE hdll; hdll = LoadLibrary("INTER.dll");

3. Para utilizar el intérprete hay que agregar una función dentro de la aplicación como se muestra a continuación: typedef char * (*pfunc)(int c,char ruta[200]);

Page 8: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 8 

 

4. Para llamar al intérprete es necesario tener la función declarada en el paso 5 y además colocar el siguiente código. pfunc princ; princ = (pfunc)GetProcAddress(hdll, "principal"); StringGrid2->Cells[1][1]=princ(2,"en.txt");

La primera línea crea un llamado a la función del DLL, en la segunda línea se hace la asignación de la función a la cual hay que llamar (principal). En la tercera se llama a la función, y, como el intérprete siempre devuelve una cadena, hay que especificar alguna variable a la cual mandar el resultado que se devuelve.

Sin importar el comando que se mande al intérprete, éste siempre devuelve una cadena, esto hace más sencillo ya que para hacer uso del resultado, es posible convertir el valor en un entero, flotante doble o pasarlo tal cual, lo que mejora mucho el tiempo ya que no es necesario hacer alguna conversión dada de acuerdo al tipo de programa puesto que la cadena es un tipo genérico para cualquier lenguaje, las conversiones comunes implementadas en C Builder pueden ser:

• StrToInt(cad).- Convierte una cadena cad en un valor entero, si existe

un punto decimal termina.

• StrToFloat(cad).- Convierte una cadena cad en un valor flotante, si existe punto decimal, lo toma en cuenta y si tiene algún carácter, termina.

A continuación se muestra el ejemplo de manera gráfica:

Donde:

1. Se abre, guarda y modifica un archivo en LCARS. 2. Los errores que se generan al analizar el archivo se presentan en este texto.

3

2 4

Page 9: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 9 

 

3. Una vez analizado y que el archivo LCARS es correcto se plasma el cubrimiento con la matriz de aprendizaje y matriz de pertenencia vistas en el MEC (véase capítulo 3).

4. Una vez cargado un archivo en LCARS a través del intérprete se extrae información acerca del problema, la cual se presenta en el grid de la pestaña “Salida intérprete”.

La figura siguiente muestra un archivo en LCARS abierto en la aplicación, se puede observar que este contiene la especificación de un problema, una vez que se presiona el botón “Generar cubrimiento”, se analiza el archivo abierto y se devuelve el resultado del análisis en la sección de errores dentro de la aplicación.

También se requiere de una variable a la cual se le asignarán todos los resultados de las funciones anteriormente explicadas, el formato de salida de una función del intérprete es:

Valor1, Valor2,…ValorN

Para lo cual solo hay que utilizar un ciclo que barra el contenido de la variable y al despliegue en las celdas correspondientes, cuyo resultado se muestra en la figura siguiente.

Finalmente para usar el intérprete generado para el cubrimiento actual, se necesitan agregar las instrucciones de los pasos 5 y 6 además de alguna línea donde se puede capturar los comandos y alguna acción para llamar el intérprete, en el caso de este ejemplo, se optó por añadir una línea y botón para accionar el intérprete como se observa en la figura.

Participantes en el proyecto

• Responsable Técnico: Dr. Salvador Godoy Calderón • Participantes: Dr. Francisco Martínez Trinidad

Lic. Juan Evencio Guzmán Trampe Ing. Samuel Sánchez Islas

Page 10: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 10 

 

Ing. José de Jesús Deloya Cruz Ing. Mil. Víctor Martínez Hernández Lic. Fernando Terreros Romero

Resultados Se obtuvieron los siguientes productos de investigación:

Especificación en Forma Normal Extendida de Backus-Naur (EBNF) de un nuevo lenguaje formal para diseño y procesamiento de Cubrimientos Difusos llamado LCARS (Logical-Combinatorial Algoritmic Recognition System/Syntax).

Módulo de software(standalone): Parser de línea para Especificaciones LCARS de Cubrimientos Difusos.

Cuatro(4) conferencias impartidas en instituciones nacionales

• Reconocimiento de Patrones, Métodos y Herramientas 1er Encuentro Interdisciplinario CIC-INACIPE, Modelos Matemáticos

en Reconocimiento de Patrones y Criminalísitica México D.F., 28 de marzo, 2007.

• Guerras Criptográficas y los inicios de la Computadora Seminario de Investigación, CIC-IPN México, D.F. 4 de mayo, 2007

• Aprendizaje inductivo de Patrones Delictivos Seminario Departamental CINVESTAV Departamento de Computación México, D.F. 18 de agosto, 2008

• Sistemas inteligentes para análisis delictivo 3er Simposio Internacional en Sistemas Telemáticos y Organizaciones

Inteligentes. Xalapa, Veracruz. Universidad Veracruzana. Facultad de Contaduría y Adminstración 7 de noviembre, 2008

Tres (3) ponencias presentadas en congresos internacionales con arbitraje.

• Recomendaciones metodológicas para el análisis de reactivos de opción múltiple en exámenes que integran diversas áreas del conocimiento XXIII Simposio Internacional de Computación en la Educación. Morelia, Mich. SOMECE

20 de octubre, 2007

• Using Testor Theory to Reduce the Dimension of Neural Network Models First International Conference on Neural Networks and Associative

Page 11: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 11 

 

Memories. México, D.F. CIC-IPN 6 de noviembre, 2008

• The Kora-W algoritm for spatio-temporal prediction of criminal activity 4to Congreso Internacional “Tendencias Tecnológicas en Computación” México, D.F. CIDETEC-IPN 13 de octubre, 2008

Cuatro(4) trabajos presentados en congreso institucional. XVII Congreso Internacional de Computación CIC 2008

• Crime analysis using non-supervised classification techniques in Pattern Recognition Fernando Romero Terreros, Salvador Godoy C.

• An optimized character recognition algorithm based on morphological feature extraction José de Jesús Deloya Cruz, Salvador Godoy C.

• Discovering trends in criminal activity with Data-Mining inductive learning techiques Víctor Martínez Hernández, Salvador Godoy C.

• A morphological-based method to determine the kind of media (analogical or digital) used to print id-photographs Samuel Sánchez Islas, Salvador Godoy C.

Análisis de resultados Comparando los objetivos planteados al inicio de este proyecto con los resultados alcanzados se puede observar que todos los objetivos fueron alcanzados y cumplidos a cabalidad con la única excepción de contar con un estudiante de doctorado para participar en el proyecto. Este efecto puede observarse en la tabla del inciso siguiente. Durante el desarrollo del proyecto simplemente no se encontró ningún estudiante de doctorado con interés por participar en el proyecto. Sin embargo, las actividades originalmente planeadas para dicho estudiante fueron repartidas entre todos los participantes. Sobre alumnos de Maestría y Doctorado La lista de alumnos de Maestría y Doctorado que he dirigido o co-dirigido durante la vigencia de este proyecto es:

Page 12: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 12 

 

Nombre Nivel Status actual Fecha esperada de

titulación

Juan Evencio Guzmán Trampe Maestría Examen de Puerta Cerrada realizado y aprobado

marzo, 2009

Samuel Sánchez Islas Maestría Créditos terminados. Escribiendo texto de tesis.

junio, 2009

José de Jesús Deloya Cruz Maestría Créditos terminados. Escribiendo texto de tesis.

junio, 2009

Víctor Martínez Hernández Maestría Cursando 4to semestre septiembre, 2010

Fernando Terreros Romero Maestría Cursando 3er semestre marzo, 2010

Sobre actividades adicionales Otras actividades académicas realizadas son:

• Miembro del comité de arreglos locales para la organización del congreso AMCA-2008. CIC-IPN del 15 al 17 de octubre de 2008.

• Miembro del Comité Evaluador del Concurso Institucional “Premio a

las Mejores Tesis y Software”. Realizado en México, D.F. el 27 de octubre de 2008 en la Secretaría Académica de la Dirección de Educación Superior del IPN.

Conclusiones Del trabajo desarrollado se presentan las siguientes reflexiones:

• Una vez que el lenguaje LCARS estuvo completamente diseñado y probado mediante diversos casos de prueba la segunda etapa del proyecto consistió en la construcción de un Parser para dicho lenguaje. Como en todos los casos el Parser consiste de tres módulos: Analizador lexicográfico, Analizador Sintáctico y Analizador Semántico.

• La construcción del Parser fue realizada con la ayuda de diversas

herramientas especializadas, principalmente el paquete de software llamado ANTLR que es de código abierto. Esta herramienta permitió, tomando como entrada la gramática en forma EBNF del leguaje LCARS, costruir el analizador lexicográfico y un árbol de parseo. Las diversas marcas específicas que proporciona ANTLR resultaron de mucha utilidad para especificar la forma en que los dos siguientes analizadores (sintáctico y semántico) operarían basándose en la información contenida en el árbol de parseo.

• Con el analizador lexicográfico terminado fue posible comenzar el analizador sintáctico cuya función principal es crear las diversas tablas de símbolos y mapas de memoria requeridos para el siguiente módulo. En el caso de LCARS las estructuras de datos de naturaleza estática son extensas por lo que se

Page 13: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 13 

 

requirió un mapeo de memoria novedoso que librara los obstáculos encontrados. Por su parte, la porción dinámica de una especificación LCARS resulta ser mucho menor en tamaño pero crucial para el correcto desempeño de la tercera etapa de desarrollo.

• Por último, el analizador semántico tiene como función validar la compatibilidad de tipos de datos entre operadores, así como validar la congruencia en la especificación de tipos de datos, tanto de patrones como de rasgos descriptivos, criterios de comparación de valores y funciones de semejanza entre patrones.

Referencias y Obras de Consulta

[1] José Ruiz Shulcloper, and Mongi A. Abidi.

Logical Combinatorial Pattern Recognition: A Review. Recent Research Developments in Pattern Recognition, Pub. Transword Research Networks, USA, 3 pp 133-176 (2002 ).

[2] J.Fco. Martínez-Trinidad, A. Guzman-Arenas. The logical combinatorial approach to pattern recognition an overview through selected works. Pattern Recognition (2001) 34/4 1-11.

[3] J.E. Gómez-Herrera et al., Prognostic of gas-petroleum in the Cuban ophiolitic rocks association, applying mathematical modeling, Geofísica Internacional 33 (3) (1994), 447-467. (In Spanish).

[4] Ruiz Shulcloper, J., Fuentes Rodríguez, A., Un modelo cibernético para el análisis de la delincuencia juvenil, Revista Ciencias Matemáticas Vol. II, No. 1, pp. 101-153, 1981.

[5] M.R. Ortiz-Posadas, J.F. Martínez-Trinidad, J. Ruiz-Shulcloper, A new approach to differential diagnosis of diseases, International Journal of Biomedical Computing 40 (1996), 179-185.

[6] J.F. Martínez-Trinidad, Miriam Velasco-Sánchez, and E. Contreras-Arevalo. Discovering differences in patients with uveitis through typical testors by class 4th European Conference on Principles and Practice of Knowledge Discovery in Databases Proceedings. pp -. Lyon, France. (2000). Lecture notes in artificial intelligence número 1910,Editado por Zighed, D.A., Komorowski, J., and Zytkow, J.

[7] J. Ruiz Shulcloper, Adolfo Guzmán Arenas y J.F. Martínez-Trinidad. Enfoque Lógico Combinatorio al Reconocimiento de Patrones. Editorial Politécnica, febrero 1999, ISBN: 970-18-2384-1.

[8] Robert J. Schalkoff, Pattern Recognition: Statistical, Structural and Neural Approaches,

Page 14: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 14 

 

John Wiley & Sons, Inc. (1992).

[9] Anil K. Jain, Robert P.W. Duin and Jianchang Mao. Statistical Pattern Recognition: A review. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 22, No1, January 2001.

[10]

K. Fukunaga, Introduction to Statistical Pattern Recognition, Academic Press, London (1990).

[11] R. O. Duda and P. E. Hart, David G. Stork Pattern classification Morgan Kaufmann (2000).

[12] J. Arturo Olvera-López, J. Fco. Martínez-Trinidad and J. Ariel Carrasco-Ochoa. Edition Schemes based on BSE Lecture Notes in Computer Science (2005) 3773 pp 360-367.

[14] Milton Garcia Borroto and J Ruiz Shulcloper. Selecting prototypes in mixed and incomplete data Lecture Notes in Computer Science (2005) 3773 pp 450-459.

[15] Miguel A Medina-Perez, et al. Selecting objects for ALVOT. Lecture Notes in Computer Science 4225 (2006) pp 606-613.

[16] Wilson R. D., Martínez T.R. Improved heterogeneous distance functions Journal of Artificial Intelligence Research. 6 1997 pp 1-34.

[17] Ludmila I. Kuncheva. Using diversity measures for generating error-correcting output codes in classifier ensembles Pattern Recognition Letters, Volume 26, Issue 1, 1 January 2005, pp. 83-90.

[18] Kuncheva L.I. Combining Pattern Classifiers Methods and Algorithms, Wiley, 2004.

[19] Terry Windeatt. Vote counting measures for ensemble classifiers Pattern Recognition, Volume 36, Issue 12, December 2003, pp. 2743-2756

[20] López-Espinoza Erika, Carrasco-Ochoa Jesús A. and J. Fco. Martínez-Trinidad. Two Floating Search Strategies to Compute the Support Sets System for ALVOT Lecture Notes in Computer Science (2004) 3287 pp. 677-684.

[21] Jesús Ariel Carrasco-Ochoa and J. Fco. Martínez-Trinidad. Combining Evolutionary Techniques to Improve ALVOT Efficiency WSEAS Transactions on Systems (2003) 4/2 pp 1073-1078.

Page 15: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 15 

 

[22] Jesús Ariel Carrasco-Ochoa and J. Fco. Martínez-Trinidad. Editing and Training for ALVOT, an evolutionary approach. Lecture Notes in Computer Science (2003) 2690 pp. 452-456.

[23] Jesús A. Carrasco-Ochoa and J. Fco. Martínez-Trinidad. Combining evolution techniques to estimate features’ weights and the support sets system for ALVOT VII Iberoamerican Conference on Pattern Recognition. México, D. F. pp. 277-287, (2002).

[24] Jesús A. Carrasco-Ochoa and J. Fco. Martínez-Trinidad. Genetic approach to support sets system estimation for ALVOT IASTED International Conference on Artificial Intelligence and Applications 2002. pp. 364-368 (2002).

[25] AK. Jain, R.C. Dubes, Algorithms for clustering data Prentice Hall (1998).

[26] Bezdek, J. C. Pattern Recognition with Fuzzy Objective Function Algorithms Plenum, N.Y., 1981.

[27] I. O. Ayaquica-Martínez, J. Fco. Martínez-Trinidad, J. Ariel Carrasco-Ochoa. Conceptual k-means algorithm with similarity functions Lecture Notes in Computer Science (2005) 3773 pp 368-376.

[28] López-Escobar Saúl, Carrasco-Ochoa J. A. and José Fco. Martínez-Trinidad. Global k-means with similarity functions Lecture Notes in Computer Science (2005) 3773 pp 392-399.

[29] I. O. Ayaquica-Martínez and J. Fco. Martínez-Trinidad. A comparison between two fuzzy clustering algorithms for mixed features Lecture Notes in Computer Science (2003) 2905 pp. 472-479.

[30] Guillermo Sánchez Díaz and J. Fco. Martínez-Trinidad. Determination of Similarity Threshold in Clustering Problems for Large Data Sets Lecture Notes in Computer Science (2003) 2905 pp. 611-618.

[31] Michalski R. S., Knowledge adquisition through conceptual clustering: A theoretical framework and an algorithm for partitioning data into conjuntive concepts Special issue on knowledge acquisition and induction, Policy Analysis and Information Systems, No 3, 219-244. 1980.

[32] Michalski R. S., Diday E., A recent advance in data analysis: Clustering objects into classes characterized by conjunctive concepts Progress in Pattern Recognition. L.N Kanal and A. Rosenfeld. pp. 33-56. North Holland Publishing Company 1981.

[33] Michalski R. S., Stepp R. E.

Page 16: Un Entorno para Análisis y Evaluación de Cubrimientos ...sappi.ipn.mx/cgpi/archivos_anexo/20082204_5819.pdf · Reconocimiento de Patrones. Los problemas a los que se hace alusión

Proyecto SIP - 20082204 [Informe Final] 

 

Dr. Salvador Godoy Calderón 16 

 

Learning from Observation: Conceptual clustering In R.S. Michalski, J.G. Carbonell, and T. M. Mitchell, editors, Machine Learning: An artificial Intelligence Approach, volume 1, pp. 331-363. Morgan Kaufmann, Los altos, CA 1983.

[34] J. Fco. Martínez-Trinidad and Guillermo Sánchez Díaz. LC a conceptual clustering algorithm Lecture Notes in Artificial Intelligence (2001) 2123, pp. 117-127.

[35] Aurora Pons-Porrata José Ruiz-Shulcloper and J. Fco. Martínez-Trinidad. RGC: A new conceptual clustering algorithm for mixed incomplete data sets Mathematical and Computer Modelling (2002) 36/(11-13) pp 1375-1385.

[36] J.F. Martínez-Trinidad and J. Ruiz Shulcloper. Fuzzy LC conceptual algorithm The 6th European Congr. on Fuzzy and Intelligent Technologies Proceedings. Aachen, Alemania, pp 20-24 (1998).

[37] Fern, X. Z. and Brodley, C.E., Random Projection for high dimensional data clustering: A cluster ensemble approach The Twentieth International Conference on Machine Learning 2003.

[38] A.H. Pilevar and M. Sukumar. GCHL: A grid-clustering algorithm for high-dimensional very large spatial data bases Pattern Recognition Letters, Volume 26, Issue 7, 15 May 2005, pp. 999-1010.

[39]

P. A. Vijaya, M. Narasimha Murty and D. K. Subramanian. Leaders–Subleaders: An efficient hierarchical clustering algorithm for large data sets Pattern Recognition Letters, Volume 25, Issue 4, March 2004, pp. 505-513.

[40] M. Lazo Cortés, José Ruiz Shulcloper, E. Alba Cabrera. An overview of the concept testor Pattern Recognition, Vol. 34, Issue 4, pp.13-21, (2001).