congreso internacional de investigación tijuana....

63
Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015. 18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 1 SECCIÓN III CIENCIAS COMPUTACIONALES

Upload: others

Post on 26-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 1

SECCIÓN III CIENCIAS COMPUTACIONALES

Page 2: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 1

LA DESERCIÓN ESCOLAR DESDE EL PUNTO DE VISTA DE LA MINERÍA DE DATOS.

CASO DE ESTUDIO: TESJo, GENERACIONES 2003--2008

Resumen-- En este trabajo se presenta la propuesta para el

desarrollo de un sistema experto capaz de identificar automáticamente

y en tiempo real a los alumnos que se encuentre en riesgo deserción

escolar. La identificación de los alumnos en riesgo de deserción escolar se

llevara a cabo mediante un sistema de redes neuronales artificiales,

que será abastecido por estudios de inteligencia de negocios a través

de minería de datos y reconocimiento de patrones. La principal

aportación de este proyecto es reducir la intervención humana en la

detección de alumnos en riesgo de deserción escolar y de esta forma

ser eficiente en contextos donde la cantidad de alumnos y datos es

cuantiosa y que por ende el análisis humano de esta información sería

muy costoso en cuanto a tiempo y recursos humanos. Asimismo en este

trabajo se presentan los principales resultados obtenidos durante la

fase inicial del proyecto.

Palabras claves-- Deserción escolar, inteligencia de negocios, minería

de datos.

R. ALEJO (Tecnológico de Estudios

Superiores de Jocotitlán)

e-mail: [email protected]

L. GIL-ANTONIO (Tecnológico de Estudios

Superiores de Jocotitlán)

e-mail: [email protected]

E. LÓPEZ-GONZÁLEZ (Tecnológico de

Estudios Superiores de Jocotitlán)

e-mail: [email protected]

J.A. ANTONIO-VELÁZQUEZ (Tecnológico de Estudios Superiores de Jocotitlán)

e-mail: [email protected]

1. INTRODUCCIÓN

La deserción escolar es un problema que afecta a

prácticamente a todas las comunidades académicas desde

el nivel básico hasta el nivel superior. De acuerdo a la

Secretaría de Educación Pública, el nivel que presenta mayor deserción es el medio superior [1]. No obstante,

este problema, como ya se dijo antes, también se

encuentra en el nivel superior y es necesario abordarlo.

A nivel superior se ha propuesto la Tutoría como un

medio para tratar de resolver este problema [2]. Sin

embargo, no se ha traducido en una disminución del

índice de deserción.

Por otro lado, se han desarrollado números estudios para

tratar de entender este problema y como puede

solventarse. Estos estudios van desde los meramente pedagógicos o sociológicos (por ejemplo véanse las Ref.

[3] y [4]) hasta los más innovadores, es decir, los que

hacen uso de tecnologías emergentes como la minería de

datos (ver Ref. [5], [6] y [7]). La minería de datos es una

disciplina que busca la extracción de conocimiento de los

datos. Se auxilia de la estadística, la inteligencia

artificial, el aprendizaje automático entre otras

herramientas.

Se ha justificado el uso de la minería de datos en el

ámbito educativo porque cada vez existe más información y cada vez es más difícil procesarla con

métodos convencionales [8].

En este trabajo se presenta una propuesta para desarrollar

un sistema que sea capaz de identificar automáticamente

en tiempo real a los alumnos con altas probabilidades de

desertar en el Tecnológico de estudios Superiores de

Jocotitlán (TESJo). Asimismo se presentan resultados

preliminares obtenidos del análisis de los datos personales y académicos a través de minería de datos de

las generaciones 2003-2009.

La principal aportación de este trabajo es que presenta

algunas afirmaciones que son ciertas en el ámbito

académico del TESJo y que pueden servir para entender a

nuestra comunidad académica.

2. PLANTEAMIENTO DEL PROBLEMA

Al concluir cada semestre en la Carrera de Ingeniería en

Sistemas Computacionales del TESJo, la deserción de los alumnos es constante, debido a diversos factores de entre

los cuales se han identificado como relevantes los

siguientes:

a) Falta de información acerca de la carrera.

b) Falta de recursos económicos.

c) Falta de vocación por la carrera.

d) Bajo rendimiento académico.

De acuerdo a la información proporcionada por el

departamento de control escolar del TESJo sobre las generaciones del 2003 al 2009, se ha observado que en la

carrera de ISC se presenta un alto índice de deserción

escolar. La Fig. 2.1 muestra la cantidad de alumnos que

ingresaron y los alumnos que abandonaron la carrera.

Page 3: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

Asimismo en esta figura se presenta un proceso de

extrapolación para los próximos tres años, es decir, se

presentan los índices de ingreso y deserción para 2010,

2011 y 2012. Estos resultados muestran información

alarmante en cuanto a los índices de deserción escolar, en

otras palabras, la deserción escolar seguirá aumentando

proporcionalmente al aumento de la matrícula de ingreso.

Fig. 2.1 Índices de deserción de la carrera de ISC del

TESJo.

Fuente: Elaboración propia

3. JUSTIFICACIÓN

En toda institución educativa el recurso más importante

son los alumnos, por lo tanto, es de suma importancia

conocer por qué los alumnos desertan y más aún

identificar a aquellos en riesgo de deserción escolar en

una fase temprana para poder establecer políticas y/o

estrategias que ayuden a reducir los índices de deserción.

Por estas razones el TESJo ha motivado al desarrollo de

nuevos proyectos que logren entender, analizar y en un

determinado momento prevenir este fenómeno.

En el laboratorio de reconocimiento de patrones y

minería de datos se está realizando un Sistema Experto

(basado en redes neuronales artificiales) que permita

identificar automáticamente a los alumnos que son

vulnerables a sufrir la deserción escolar y con ello el

sistema de tutorías se enfoque principalmente a un grupo

reducido de la población estudiantil y con esto se pueda

prevenir su deserción.

La identificación de alumnos en riesgo de deserción

escolar es generalmente una actividad puramente humana y lo que se busca en este proyecto es automatizar este

proceso (a través del uso de algoritmos inteligentes). Por

otro lado, la cantidad de alumnos en las Instituciones de

Educación Superior es cada día mayor y por lo tanto el

número de datos a analizar también lo es. Esto dificulta la

identificación de alumnos en riesgo de manera manual o

tradicional, por lo que el uso de herramientas

computacionales e inteligentes como las que se proponen

en este trabajo permitirá afrontar este reto.

4. METODOLOGÍA

Para desarrollar sistema experto propuesto (basado en

redes neuronales artificiales) que sea capaz de identificar

automáticamente a los alumnos que se encuentren en

riesgo de deserción escolar, se requiere de desarrollar las

siguientes fases:

1. Diseñar y desarrollar una infraestructura digital que

permita que el proceso de tutorías pueda ser

realizado en línea.

2. Aplicar técnicas de Minería de Datos y

Reconocimiento de Patrones a través de estudios de Inteligencia de Negocios para obtener información

relevante y tendencias de los alumnos que se

encuentran en riesgo de deserción escolar.

3. Desarrollar un modelo artificial basado en redes

neuronales para la identificación automática de los

alumnos en riesgo de deserción escolar.

4. Implementar el modelo artificial del punto anterior

en el sistema de tutorías.

5. Evaluar la efectividad del modelo de detección de

alumnos en riesgo.

6. Implementar el sistema de identificación de alumnos

en riesgo en el TESJo

En la sección 5 se presentan algunos de los principales

resultados obtenidos después de concluir la fase 1 e

iniciar con la fase 2. Los puntos 3, 4, 5, y 6 serán

desarrollados y presentados en trabajos futuros.

5. RESULTADOS PRELIMINARES

Actualmente se han realizado estudios con información

de generaciones anteriores (2003—2009), a través de

herramientas de minería de datos como las reglas de asociación y el clustering. Se han obtenido conclusiones

parciales sobre los factores que influyen en la deserción,

así como información que nos permitirá entender nuestro

contexto académico. A continuación se presentan los

principales resultados obtenidos del análisis de la

deserción escolar en la comunidad del TESJo.

1. Hay una fuerte relación entre alumnos que practican

futbol y tienen problemas económicos, por otro lado,

los alumnos que no practican deporte dicen no tener

problemas económicos. 2. La mayoría de alumnos que desertan tienen

problemas económicos.

3. Los alumnos que desertan tienen promedios de la

preparatoria de regulares a buenos.

4. La mayoría de los alumnos que desertan no han

dejado de estudiar antes de su deserción.

5. Hay una marcada diferencia entre las opiniones de

hombres y mujeres.

6. Los alumnos que ingresan a la carrera de ISC dice

conocer a que se refiere la carrera, sin embargo, la

idea que tienen sobre la carrera es errónea.

7. A partir de estos resultados se puede vislumbrar un panorama general del contexto de nuestra

comunidad estudiantil, por ejemplo la marcada

diferenciación entre las opiniones de hombres y

Page 4: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

mujeres, o la relación entre el futbol y la

situación económica. Sin embargo, estos

resultados son preliminares y es necesario un estudio más extenso para dar mayor fiabilidad a

esta información y como consecuencia que

puedan ser usados como apoyo a la toma de decisiones.

6. IMPACTO SOCIAL, TECNOLÓGICO Y

ECOLÓGICO

En toda institución estudiantil lo más importante son los

alumnos por lo cual con el desarrollo de este proyecto

permitirá la identificación de alumnos en riesgo de

deserción para que se puedan tomar decisiones

encaminadas a combatir este problema.

Desde el punto de vista Tecnológico el impacto de este

proyecto es que se están aplicando tecnologías emergentes como la minería de datos y las redes

neuronales artificiales para tratar la deserción escolar. Lo

que cumple con los principios de innovación y desarrollo

tecnológico.

Desde un enfoque Ecológico, el impacto es que con el

cambio del proceso de tutorías de manera manual al

digital, se podrá reducir el uso de papel que actualmente

se utiliza, evitando así que en un futuro el papel se vuelva

basura. Finalmente, considerando el nivel de aplicación

práctico o económico del proyecto, se busca la protección legal del producto final (sistema experto) para su posible

comercialización o transferencia tecnológica a sectores

afines al contexto donde el proyecto fue desarrollado, por

ejemplo en el Sistema Nacional de Institutos

Tecnológicos (SNIT).

7. TRABAJOS RELACIONADOS

La aplicación de la minería de datos para tratar el

problema de la deserción escolar, no es nuevo. Se han

desarrollado números propuestas para enfrentar este reto

[8] por ejemplo en la Ref. [5] se muestra el uso de minería de datos para identificar las causas de deserción

en la facultad de Ingeniería de Sistemas de Universidad

Simón Bolívar. En [6] se presenta una propuesta de

soporte a las decisiones y de la gestión de la inteligencia

académica para apoyar a planificar la retención

estudiantil basada en la deserción de estudiantes. Se

centra en el uso de árboles de decisión. Un trabajo muy

similar al propuesto en este documento puede encontrarse

en [7]. En él se muestra un sistema de alerta temprana

para la identificación de alumnos en riesgo de deserción

escolar.

Como puede verse el problema abordado en este trabajo

no es nuevo ni mucho menos se ha investigado poco. Sin

embargo, consideramos que es necesario el diseño de

nuestro propio sistema de detección temprana de alumnos

en riesgo de desertar, porque las condiciones

sociológicas, económicas y tecnológicas son distintas en

cada región del mundo e inclusive en el mismo país

existen zonas completamente diferenciadas y en

ocasiones las distancias entre estas zonas son de unos

cuantos kilómetros.

8. CONCLUSIÓN Y TRABAJOS FUTUROS

Este trabajo muestra la propuesta para el desarrollo de un

sistema para detección automática de alumnos en riesgo

de deserción escolar. Se muestran resultados preliminares

que permiten entender el contexto académico de nuestra

comunidad estudiantil, los cuales ayudaran a una mejor

toma de decisiones.

Por otro lado, es necesario aclarar que este trabajo es

parte de la fase inicial del proyecto propuesto. Hasta

ahora solo se ha culminado la primera fase (ver sección 4), es decir, el desarrollo de la infraestructura necesaria

para llevar a cabo el proceso de tutoría en línea, lo que

permitirá obtener datos para procesarlos a través de

minería de datos. Asimismo se han aplicado técnicas de

minería de datos a información histórica de nuestros

alumnos y a partir de ella se han generado los resultados

presentados en la sección 5.

En conclusión el proyecto no ha sido concluido en su

totalidad y se espera en un futuro no lejano se pueda

concluir con todas la fases de desarrollo propuestas en la sección 4.

9. REFERENCIAS

[1] Secretaria de Educación Pública, “Reporte de la

Encuesta Nacional de Deserción en la Educación Media

Superior”, 2012.

[2] Institutos Tecnológicos, ―Manual del Tutor del

SNIT” Secretaria de Educación Pública. 2013.

[3] Luz Helena Rodríguez Núñez, Pbro. Francisco Javier

Londoño Londoño, ―Estudio sobre deserción estudiantil

en los programas de Educación de la Católica del Norte

Fundación Universitaria‖, Revista Virtual Universidad

Católica del Norte. No. 33. pp. 328 – 355, 2011.

[4] Vélez, A. & D. López. 2004. Estrategias para vencer la deserción Universitaria. Educación y

Educadores. Vol. 7: pp. 177-204, 2004.

[5] Azoumana, K. ―Análisis de la deserción

estudiantil en la Universidad Simón Bolívar, facultad

Ingeniería de Sistemas, con técnicas de minería de

datos‖. Pensamiento Americano, 41-51, 2013.

[6] Elmer Hugo González Herrera, ―Modelo de

Decisión Cualitativo Multi-Atributo y Gestión de

Inteligencia Académica para Apoyar la Planificación

Académica en la Retención Estudiantil de la Escuela de

Ingeniería de Computación y Sistemas de la UPAO

Page 5: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

usando la Metodología DEXi‖, IV encuentro científico

internacional del Norte 2013. pp. 1--8. 2013.

[7] Carvajal Olaya, Patricia Montes García, Héctor

Hernán Trejos Carpintero, Álvaro Antonio Cárdenas,

Johanna, ―Sistema de Alertas Tempranas: una

herramienta para la identificación de riesgo de deserción

estudiantil, seguimiento académico y monitoreo a

estrategias‖, Tercera Conferencia sobre el Abandono en

la Educación Superior (III CLABES). Dpto. de Publicaciones de la E.U.I.T. de Telecomunicación. pp.

176--187. 2013.

[8] Vélez, A. & D. López. 2004. ―Predicción del

Fracaso Escolar mediante Técnicas de Minería de Datos‖.

IEEE-RITA, Vol. 7, Núm. 3, pp. 109—117, 2012.

______________________________________________

R. Alejo: Ingeniero en Sistemas Computacionales con estudios de

Maestría en Ciencias Computacionales y Doctorado en Sistemas

Informáticos Avanzados. Profesor a nivel licenciatura y posgrado con

más de 10 años de experiencia.

L. Gil-Antonio: Ingeniero en Electrónica y de Comunicaciones con

estudios de Maestría en Tecnología de Computo por el Instituto

Politécnico Nacional. Profesor a nivel licenciatura con más de 10 años

de experiencia.

Erika López González: Ingeniero en Computación con estudios de

Maestría en Tecnología de Computo por el Instituto Politécnico

Nacional. Profesor a nivel licenciatura con 8 años de experiencia.

J. A. Antonio-Velázquez: Ingeniero en sistemas computacionales con

estudios de Maestría en Tecnología de Computo por el Instituto

Politécnico Nacional. Profesor a nivel licenciatura con más de 9 años de

experiencia.

Page 6: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 115

INVESTIGACIONES ACTUALES RELACIONADAS AL

RECONOCIMIENTO DE PATRONES

Resumen— Actualmente el Reconocimiento de Patrones y

Aprendizaje Automático se ha afianzado como un área de la

inteligencia artificial que busca adquirir e identificar objetos

(patrones), representarlos, clasificarlos y posteriormente evaluarlos

creando así un sistema de aprendizaje automático. El presente

artículo pretende mostrar las nuevas tendencias del reconocimiento de

patrones y aprendizaje automático para solucionar problemas reales,

tales como, reconocimiento de rostros, reconocimiento de movimiento

de objetos y colores para robots autónomos, en la alimentación para

diferenciar alimentos en mal estado con los que se pueden todavía comer, etc. Con la intención de conocer los avances de investigación

en reconocimiento de patrones que actualmente se estudian.

Palabras claves— Reconocimiento de patrones, aprendizaje

automático, aprendizaje supervisado, aprendizaje no supervisado.

Juan Alberto Antonio Velázquez Tecnológico de Estudios Superiores de

Jocotitlán Carretera Toluca-Atlacomulco KM.

44.8 Ejido de San Juan y San Agustín

Jocotitlán,

[email protected]

Alejo Eleuterio Roberto

Tecnológico de Estudios Superiores de

Jocotitlán Carretera Toluca-Atlacomulco KM. 44.8 Ejido de San Juan y San Agustín

Jocotitlán,

[email protected]

López González Erika

Tecnológico de Estudios Superiores de

Jocotitlán Carretera Toluca-Atlacomulco KM.

44.8 Ejido de San Juan y San Agustín

Jocotitlán,

[email protected]

Gil Antonio Leopoldo

(Tecnológico de Estudios Superiores de

Jocotitlán Carretera Toluca-Atlacomulco KM.

44.8 Ejido de San Juan y San Agustín

Jocotitlán,

[email protected]

Rosa María Valdovinos Rosas

Universidad Autónoma del Estado de México,

Facultad de Ingeniería Cerro de Coatepec

[email protected]

1. INTRODUCCIÓN

El reconocimiento de Patrones es una ciencia que

desciende de la rama de la inteligencia artificial que se

encarga de la descripción y clasificación

(reconocimiento) de objetos, personas, representaciones

de todo lo que interactúa con el ser humano y que al final

se puede representar computacionalmente.

Por ejemplo con la ayuda del reconocimiento de patrones

hoy en día se puede dar un diagnóstico más acertado para

encontrar espectros que diferencien individuos sanos a

individuos que están enfermos de enfermedades renales

crónicas [1]. El reconocimiento de la voz y sonidos se ha

empleado en la terapia del lenguaje en niños con

problemas psicomotores [2]. Con la ayuda del

reconocimiento de patrones y con la ayuda de los

síntomas en un paciente se puede determinar si contiene

la bacteria gonococcus o la bacteria Neisseria gonorrea

causantes de la gonorrea [3]. Por otro lado otros investigadores que estudian el área de robótica con visión

artificial han utilizado el reconocimiento de imágenes y

con la ayuda del reconocimiento de patrones manipular

un robot programado en un circuito FPGA y que fuera

capaz de reconocer objetos de colores utilizando una

cámara [4]. Otras áreas en las cuales se aplica el

Reconocimiento de patrones es el procesamiento de

imágenes satelitales, reconocimientos de rostros, control

de robots, reconocimiento de caracteres escritos, sistemas

de reconocimiento de voz, desarrollo de diarios, lectura de direcciones postales, [5] etc.

Se deduce por problemas de Reconocimiento de Patrones

a todos aquellos relacionados con la clasificación de

objetos y fenómenos que tienen factores que inciden en

los mismos.

Existen varios enfoques en el reconocimiento automático

de patrones. Los más utilizados son: Los que se basan en

la teoría de probabilidad y estadística, los que utilizan

funciones discriminantes, los que se basan en la neuro-computación y los que trabajan con algoritmos de

Page 7: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 116

búsqueda de optimización basados en heurística entre

otros [5].

1.1 Características generales

Enfoque Estadístico. Una de las primeras herramientas

utilizadas en la solución de Reconocimiento de Patrones

es la Estadística; utiliza el Análisis Discriminante, la

Teoría de Probabilidad y el Análisis de Agrupamientos (Cúmulus, clúster) [6]. El enfoque estadístico es el más

simple de todos los enfoques y consiste en representar

cada patrón mediante un vector resultante del muestreo y

cuantificación de las señales externas y cada clase por

uno o varios patrones modelo. Ha sido aplicado en

muchos problemas, en particular cuando se relaciona con

imágenes y señales. Los estudios apropiados de variables,

la variabilidad de los patrones de una clase, las medidas

de semejanza entre patrones, así como la relación entre

patrones y clases y caracterizan a este enfoque son los

siguientes:

Existen dos diferentes formas de reconocimiento

estadístico que son [5]: El reconocimiento paramétrico y

el reconocimiento no paramétrico. Entre tanto que, el

reconocimiento paramétrico trabaja por medio de

métodos estadísticos como la Teoría de Decisión de

Bayes para calcular la probabilidad a priori de las clases.

El Reconocimiento no paramétrico dispone de un

conjunto de patrones que se representan en forma de

vector y utiliza funciones discriminantes donde se

establecen regiones en un universo de estudio donde se

encuentran las clases a las que contienen a los patrones y para determinar a la clase que pertenece un patrón nuevo

necesita la información de éste que se proporciona por

los patrones de entrenamiento [7].

1.2 Enfoque sintáctico estructural

Este enfoque se deriva de la Teoría de los lenguajes

formales y su origen está relacionado con el

reconocimiento de imágenes y señales. Por ejemplo, si

existe una señal electrocardiográfica ésta se puede

descomponer en partes. Este tipo de reconocimiento busca las relaciones estructurales que guardan los objetos

de estudio, es decir busca la cantidad de información que

un objeto x tiene sobre un objeto y, y el metalenguaje con

el que puede ser capaz de describirse, utilizando

descriptores sintácticos con la ayuda de la teoría de

lenguajes formales [2].

En otras palabras, el propósito es encontrar la gramática

cuyo lenguaje estaría formado sólo por señales que

estarían estrechamente vinculadas unas con otras y

aquellas señales que no tuvieran que ver con las primeras,

responderían a gramáticas diferentes, por lo que pertenecerían a otro lenguaje.

1.3 Redes neuronales artificiales

Este tipo de enfoque utiliza una estructura formada por

varios nodos (neuronas) que se interconectan entre sí

mediante pesos y que se concentran en diferentes capas

(de entrada, oculta por lo general). Esta estructura es

entrenada con los patrones disponibles, de tal manera que

al finalizar el entrenamiento, la red neuronal tenga la

capacidad de etiquetar nuevos patrones de forma

eficiente y en poco tiempo.

Es una herramienta que debido a su alto poder de

clasificación y resolución de problemas del tipo no lineal

se utiliza hoy en día para la solución de problemas de

reconocimiento de patrones aunque puede tener algunos

inconvenientes como el desconocimiento a priori de la

estructura de capas y el número de nodos necesarios para

cada problema, contar con un aprendizaje excesivamente

costoso y tener problemas de caer en mínimos locales

durante su entrenamiento [6].

1.4 Enfoque de reconocimiento lógico combinatorio de

patrones

Este enfoque trabaja en la imagen del modelado de un

problema y debe ser lo más parecido a la realidad del

mismo, sin hacer suposiciones que carezcan de

fundamento. Las ideas centrales consisten también en

suponer que los objetos se describen por medio de una

combinación de rasgos numéricos y no numéricos, y los

distintos valores pueden ser procesados por funciones

numéricas [8]. Utiliza un fundamento teórico-matemático

basándose en la lógica matemática, la teoría de testores,

la teoría clásica de conjuntos, la teoría de los subconjuntos difusos, la teoría combinatoria y las

matemáticas discretas en general.

2. CLASIFICACIÓN EN EL RECONOCIMIENTO

DE PATRONES.

En la clasificación de patrones se dice que dado un

universo de estudio dividido en clases y una muestra de

objetos ya clasificados, se tienen que buscar mecanismos

que permitan clasificar nuevos objetos (patrones) [6].

El proceso de clasificación consiste en incorporar

información sobre un patrón o conjunto de entrenamiento

en el diseño del clasificador que incluye un tipo de

aprendizaje [5]. Existen 3 tipos de aprendizaje que son: el

aprendizaje supervisado, no supervisado y

semisupervisado o parcialmente supervisado. En el

primero se cuenta con un conjunto de patrones pero

también llamado muestra de entrenamiento o conjunto de

datos del entrenamiento (CE). Un experto humano es

quien realiza la clasificación según sus propiedades [9];

para resolver problemas de clasificación supervisada se

han perfeccionado gran cantidad de métodos como: clasificadores Bayesianos, arboles de decisión, redes

neuronales, máquinas de vectores de soporte, vecinos

más cercanos, algoritmos de votación, clasificadores

Page 8: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 117

basados en patrones, etc. [6]. En el aprendizaje no

supervisado también conocido como agrupamiento [6],

que utiliza algoritmos conocidos como auto-asociativos y

no requiere de un etiquetado previo en los patrones de

entrada y utiliza técnicas de clustering [5]. El aprendizaje

no paramétrico (por agrupamiento) [10], se divide en tres

métodos de agrupamiento, jerárquicos, particionales y

basados en densidad [7]:

En el agrupamiento jerárquico el conjunto de datos se va

particionando por niveles, en cada nivel se unen o se

dividen en dos grupos del nivel anterior, puede ser

aglomerativo o divisivo y éstos en su resultado gráfico es

mediante dendrogramas.

En las aglomerativas: Se utiliza un acercamiento

ascendente: cada observación comienza en su propio

grupo, y los pares de grupos son mezclados mientras uno

sube en la jerarquía.

En las divisivas: Es un acercamiento descendente: todas las observaciones comienzan en un grupo y generalmente

se realizan divisiones mientras uno baja en la jerarquía.

En el agrupamiento del tipo particional son los que al

inicio realizan una división de los datos en grupos y

posteriormente mueven los objetos de un grupo a otro

según se optimice alguna función objetivo.

Los algoritmos basados en densidad enfocan el problema

de la división de un tipo de datos en grupos y se toma en

cuenta la distribución de densidad de los puntos, de modo

que los grupos que se forman tienen una alta densidad de puntos en su interior mientras que entre ellos aparecen

zonas de baja densidad.

Agrupamiento Restringido: El número de grupos está

previamente definido. Esto resulta útil cuando se tiene

conocimiento acerca de la estructura del universo de

estudio, pero se desconoce la clasificación de la muestra.

Agrupamientos Libres: El número de grupos es

desconocido. Éste es el caso más general, sólo cuenta con

una muestra de objetos, pero se desconoce la forma en que se estructura el universo. Y en el aprendizaje

parcialmente supervisado se combinan las 2 técnicas

anteriores, pero se parte de un conjunto pequeño de

patrones de entrenamiento que va creciendo a medida que

hay nuevos patrones sin etiquetar [11] y su objetivo es

aumentar el conocimiento durante la fase de

clasificación, facilitando así la simplificación de

obtención de patrones etiquetados.

3. Aplicaciones actuales y Tendencias en el

Reconocimiento de Patrones

La historia de reconocimiento automatizado de patrones

se remonta a la llegada de la informática moderna a

través de mucho tiempo desde la aparición de la

inteligencia artificial como resultado de la psicología

cognitiva y la lógica matemática donde se incluyen

solución a diagnósticos de fallas, robótica y suministro de

asesoría experta; el concepto de inteligencia artificial se

debe a John McCarthy quien en 1956 al discutir la

posibilidad de construir máquinas que hicieran

operaciones inteligentes acuño este término [12].

El reconocimiento de patrones como una rama que desciende de la inteligencia artificial fue reconocido por

el investigador King-Sun Fu en el año de 1971 [13].

Desde entonces, la popularidad y el crecimiento del

campo de reconocimiento de patrones han sido

alimentados por el mismo significado científico y su

aplicabilidad al mundo real.

El reconocimiento de patrones es un área de

investigación muy desafiante y multidisciplinaria, atrae a

investigadores y profesionales de muchos campos,

incluyendo la informática, la inteligencia, la estática, la

ingeniería y las ciencias médicas computacionales, por mencionar sólo unos pocos. A continuación se muestran

algunas de las aplicaciones y tendencias de

Reconocimiento de Patrones hoy en día.

3.1 Reconocimiento de Escritura cursiva (manuscrito)

El reconocimiento de escritura cursiva o escritura a

mano, es una tarea difícil para muchas aplicaciones del

mundo real, tales como la autenticación de documentos,

procesamiento de formularios, el reconocimiento de la

dirección postal, máquinas de lectura para ciegos, reconocimiento cheque bancario, y la interpretación de

documentos históricos. Al respecto Verma y Blumenstein

[14], revisan las técnicas de reconocimiento de escritura

existentes y presenta el estado actual de la técnica en el

reconocimiento de escritura a mano cursiva.

El artículo también presenta estrategias de segmentación

y un enfoque basado en segmentación para el

reconocimiento automático de la escritura cursiva sin

restricciones. También se ofrece una revisión exhaustiva

de la literatura con las técnicas básicas y avanzadas y resultados de investigación en reconocimiento de

escritura para estudiantes de posgrado, así como para

investigadores avanzados.

En este trabajo se utilizó la técnica de clasificación por

aprendizaje supervisado donde el autor propone en

primer lugar, se propone un método de segmentación

basado en curvas de nivel, el cual soluciona el primer

problema con la forma delineada del caracter. Un

enfoque de extracción del contorno para el caracter entre

dos puntos de segmentación es significativa y útil.

La extracción de contorno es muy importante porque una

extracción basada en una disección vertical puede cortar

un carácter a la mitad o de manera inadecuada. El

Page 9: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 118

contorno entre dos puntos consecutivos de segmentación

se extrae utilizando prioridad y enfoque basado en la

segmentación forzada, que se basa en la evaluación de

precedencia y la regla para forzar un punto de

segmentación para el reconocimiento del carácter. Por

último, se propone un enfoque de validación neuronal

para eliminar puntos de segmentación incorrectos. Este

enfoque se basa en tres clasificadores que utilizan

perceptrones multicapa (MPLs) y máquinas de vectores soporte (SVMs). El éxito de las técnicas basadas en redes

neuronales para el reconocimiento numérico y de

caracteres ha dado la motivación para su uso.

El reciente éxito en la aplicación de SVMs en el área de

reconocimiento de escritura, justifica su uso junto con

técnicas basadas en redes neuronales, en algunos casos

superando a las redes neuronales. El primer clasificador

es entrenado con información de trazos izquierdos y

derecho del caracter. El segundo clasificador es

entrenado con información descriptiva desde el punto

mismo de segmentación. El tercer clasificador es entrenado con los caracteres adyacentes o compatibles.

Los núcleos finales se fusionan, y se eliminan los puntos

de segmentación dando por resultado un carácter

reconocible.

3.2 Técnicas de juego con elasticidad, para el

reconocimiento de caracteres manuscritos.

El investigador Seiichi Uchida de Kyushu University de

Japón comenta en su artículo [15], un estudio de las

características de la adaptación elástica (elastic matching, EM), que son técnicas empleadas en el reconocimiento

de caracteres manuscritos. EM a menudo se denomina

plantilla deformable, adaptación flexible, o comparación

de plantillas no lineal, y se define como el problema de

optimización de la deformación de dos dimensiones

(2DW) que especifica la correspondencia píxel a píxel

entre dos patrones de imagen de carácter sometidos a

elasticidad.

La distancia de los puntos en un patrón deformable es

evaluada bajo la optimización 2DW y es invariante al rango de deformaciones geométricas de cada caracter.

Por lo tanto, mediante el uso de la distancia EM como

una función discriminante, los sistemas de

reconocimiento robustos a las deformaciones de

caracteres escritos a mano se pueden optimizar más

fácilmente.

En el trabajo realizado por estos investigadores, se

proponen técnicas de EM donde se clasifican según el

tipo de 2DW y las propiedades de cada clase a utilizar.

Varios temas alrededor de EM, como la categoría de

dependiente deformación de los caracteres escritos a mano que también se discuten.

Figura 1. Reconocimiento de 2 patrones A y B donde se aplica la asignación de deformación 2D-2D y posteriormente 2DW

donde se define la diferencia entre dos imágenes de caracteres escritos a mano [15]

Fuente: Elaboración propia

Las técnicas EM para el reconocimiento de escritura a

mano en base a la formulación 2DW que en el cual uno

de los 2 factores determinan las características de EM. Se

estudian 2 tipos de clases paramétrico 2DW basado en

EM y no paramétrico 2DW basado en EM.

Figura 2. Técnicas de clasificación paramétricas y no

paramétricas EM empleadas en el reconocimiento de caracteres manuscritos [15]

Fuente: Elaboración propia

La mayoría de las técnicas de EM paramétricos para el

reconocimiento de caracteres manuscritos suponen que

las deformaciones geométricas de caracteres escritos a

mano pueden ser descritos por algunas transformaciones

lineales. Wakahara y sus colegas han propuesto técnicas

afines a 2DW basados en transformación, llamados GAT

(transformación global afín) [16], para el reconocimiento

de caracteres manuscritos. En GAT, 2DW se describe por una sola transformación afín global. El problema de

optimización de GAT es aproximado como un problema

lineal mediante la fijación de los parámetros en la parte

no lineal de una función objetivo a valores constantes.

Este problema puede ser resuelto aproximada por el

método de iteración sucesiva.

En la clase no paramétrico 2DW, cada variable controla

un pixel correspondiente y representa una medida que

controla a 2DW indirectamente. Para clasificar los puntos

mediante la función no paramétrico y continua 2DW, a menudo se asume como una función continua y derivable

que optimiza por alguna estrategia iterativa donde 2DW

se actualiza. En este sentido la clase no paramétrica y

continua 2DW es similar en paramétrico 2DW. Usando la

relajación determinística se puede ver como una

estrategia de optimización iterativo para problemas

variacionales. Cuando estrategia de optimización para los

problemas variacionales. Al optimizar con clases no

Page 10: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 119

paramétricas y continua 2DW por relajación determinista

y usando la ecuación de Euler-Lagrange se obtiene un

sistema de ecuaciones no lineales para resolver el

problema elástico de los caracteres.

3.2 Reconocimiento de Rostros

El reconocimiento automático facial, sirve hoy en día

para identificar a los individuos mediante la explotación de las características distintivas de la superficie del rostro

humano, las curvas de la cuenca de los ojos, la nariz y la

barbilla, donde el tejido y el hueso son más evidentes y

que no lo hacen cambiar con el tiempo [17]. Este

reconocimiento se hace con la ayuda de una

computadoras que identifica automáticamente a una

persona mediante una imagen digital mediante el análisis

de las características faciales de una persona extraídas de

la imagen o de un fotograma de video y mediante

técnicas como el procesado de imágenes, reconocimiento

de patrones, visión por computadoras y redes neuronales

puede ayudar a reconocer un rostro. En el trabajo realizado por Tin Shan, Abbas Bigdeli, Brian Lovell y

Shaokang Chen [18] se habla de la problemática existente

en la adquisición de imágenes, tales como el ángulo de la

iluminación, la expresión facial y el pose de la cabeza. La

precisión de adquisición puede caer a 10% o incluso a

menos en condiciones de adquisición de imágenes no

controladas. Tales condiciones se encuentran a menudo

en la captura automática de la identidad para la vigilancia

de vídeo y para la identificación de rostros por medio de

una cámara del teléfono. De hecho, el teléfono móvil es

una ayuda ya que su cámara con alta resolución para el reconocimiento avanzado de patrones en rostros. Muchos

teléfonos modernos pueden reconocer de forma fiable

aún en ambientes ruidosos. El rendimiento de los

sistemas de reconocimiento facial se reduce

significativamente cuando grandes variaciones pose están

presentes. Se han propuesto muchos enfoques para

compensar el cambio pose. Wiskott, Fellous, Kuiger, y

von der Malsburg extienden el DLA (arquitectura de

enlace dinámico) reconocedor de caras basado para hacer

frente a grandes variaciones de pose. La imagen de la

cara está representada por un gráfico de marcado llamado el gráfico racimo de rostros (FBG, face bunch graph) que

consiste en N nodos conectados a E bordes. Los nodos

están localizados como puntos de referencia faciales xn,

n=1,…,N, que son llamados puntos faciales.

En la Biomedicina se ha logrado avances como lo

mencionado por [19], en clasificación de imágenes en la

medicina. Es una de las metodologías más utilizadas en el

campo de la biomedicina para detección de anomalías en

la anatomía del cuerpo humano. La clasificación de la

imagen cerebral pertenece a una amplia categoría de

reconocimiento de patrones en las que diferentes imágenes anormales se agrupan en incomparables

categorías basadas en la naturaleza de estas patologías

que dañan al cerebro.

Figura 3. Imagen del cerebro para su estudio en la localización de patologías [19].

Fuente: Elaboración propia

Hoy en día, estas técnicas son automatizadas. La aplicación de técnicas de inteligencia Artificial (AI) para

el reconocimiento de patrones es explorado en el

contexto de Resonancia Magnética (RM) anormal para la

clasificación de imágenes del cerebro con patologías

extrañas. La teoría ilustra la categoría detrás de las

técnicas de IA y su efectividad para su aplicación

práctica en la clasificación de imágenes médicas. Aparte

de las técnicas de IA como las redes neuronales, la teoría

fuzzy y algoritmos genéticos también se tratan en esta

investigación. En la robótica y con la ayuda del

reconocimiento de imágenes donde se aborda el

problema del reconocimiento de señales generadas por una persona para guiar a un robot. En el trabajo realizado

por [20], donde el método propuesto se basa en el análisis

de color de vídeo de una persona que se mueve por señas.

El análisis consiste en la segmentación de medio cuerpo,

el brazo y la ubicación del antebrazo con ayuda del

reconocimiento de las posiciones del brazo y el

antebrazo. El método propuesto fue probado

experimentalmente en vídeos con diferentes colores de

destino y las condiciones de iluminación. Las

evaluaciones cuantitativas indican 97.76% de la

detección correcta de los signos en 1.807 frames de video.

3.3 Reconocimiento de patrones en la alimentación.

En otro caso como la alimentación se dice en [21] que la

caracterización y clasificación de las tortillas de maíz

resulta ser un proceso extremadamente delicado y difícil

cuando se trata de regulaciones para

importación/exportación y certificación de procesos de

producción. En este trabajo se presenta un método para la

extracción de características no invasivas, basado en

imagen digital y una serie de procedimientos para caracterizar diferentes cualidades de las tortillas de maíz

para su posterior clasificación. La novedad en todo este

método radica en el extremadamente y reducido conjunto

de características necesarias para la caracterización;

tomando en cuenta sólo las características geométricas y

de color. No obstante, en este conjunto de características

puede evaluar diversos elementos de calidad como la

homogeneidad del proceso de horneado y otros por igual.

Los resultados experimentales en un tamaño muestra de

600 tortillas muestran el método presentado en torno al

95% de efectividad en la calidad de las mismas.

Page 11: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 120

3.4 Reconocimiento de patrones en la seguridad

informática.

En lo que se refiere a la seguridad informática se

menciona en el trabajo [22], donde se captura el tráfico

de red y se ve que cada vez es mayor los incidentes por

ataques, debido al uso creciente de dispositivos

inteligentes e Internet. Importe de los estudios de detección de intrusos se centró en la selección o

reducción característica porque algunas de las

características son irrelevantes y redundantes, que resulta

largo proceso de detección y

degrada el rendimiento de un sistema de detección de

intrusiones (IDS). El propósito de este estudio es

identificar importantes características de los tipos de

intrusiones seleccionados en la construcción del IDS que

es computacionalmente eficiente y efectiva. Para ello se

evalúa el funcionamiento de los métodos de selección de

características estándar; CFS (basada en la selección de

correlación característica), IG (Ganancia de Información) y GR (Radio de ganancia). En este artículo, se propone

un nuevo método de selección de características

utilizando la función de la media del total en cada clase.

Se aplica un algoritmo clasificador basado en árboles,

para evaluar el método de reducción de características. Se

compara sus resultados del método propuesto con otros

métodos mencionados en otros trabajos.

3.5 Reconocimiento de patrones en la predicción de

riesgos en los costos de crédito.

En el trabajo realizado por R. Alejo, A.I. Marqués, J.S.

Sánchez y J.A. Antonio-Velázquez [24], donde se

menciona que las aplicaciones prácticas de la evaluación

del riesgo de crédito donde a menudo el tomar

decisiones incorrectas en el ámbito financiero debido a la

falta de datos suficientes por defecto. La difícil cuestión

de la distribución de clases muy desigual entre clientes

morosos y clientes no morosos se toma e a través de una

solución algorítmica basada en el aprendizaje del costo

razonable. El estudio se llevó a cabo en la red neuronal

perceptrón multicapa, quién pertenece a la solución de aprendizaje supervisado, popular a través de tres

funciones de costos de clasificación errónea, que se

incorporan en el proceso de formación. Los resultados

experimentales sobre los conjuntos de datos de crédito de

la vida real muestran que las funciones de costos

propuestos para formar una red de este tipo neural son

muy eficaces para mejorar la predicción de los ejemplos

que pertenecen a la (minoritaria) clase moroso.

3.5.1 Protocolo Experimental

Se han tomado los conjuntos de datos para probar el rendimiento de las estrategias investigadas en el trabajo.

Los conjuntos de datos australianos, alemanes y

japoneses utilizados son de la base de datos del

repositorio UCI Machine Learning [25]. Los datos de la

UCSD establecen correspondiente a una versión reducida

de una base de datos utilizada en el Concurso de Data

Mining en el 2007 organizado por la Universidad de

California en San Diego y por la Fair Isaac Corporation.

El conjunto de datos de Irán [26], trata de una

modificación de una base de datos de clientes

corporativos de un pequeño banco privado en Irán.

Cada juego original, excepto la base de datos de Irán

debido a su extremadamente alta relación de

desequilibrio (iRatio = 19), ha sido alterada por azar

bajo-muestreo de la clase minoritaria de morosos, lo que

produce seis conjuntos de datos con diferentes

desequilibrio ratios, iRatio = {4, 6, 8, 10, 12, 14}. Por lo

tanto, hemos obtenido un total de 25 conjuntos de datos.

La Tabla 1 resume las principales características de los

conjuntos de datos, incluidas la relación de desequilibrio,

es decir, el número de ejemplos no predeterminados

dividido por el número de los casos predeterminados.

Tabla 1. Algunas características de los conjuntos de datos utilizados en los experimentos. Tener en cuenta que estaban representadas todas las variables de entrada como valores

numéricos

Fuente: Elaboración propia

Fue adoptado un método de validación cruzada de 5

veces para estimar el rendimiento:

Cada conjunto de datos se ha dividido en cinco bloques

estratificados o pliegues de tamaño N / 5 (donde n denota el número total de ejemplos en el conjunto de datos).

Posteriormente, cinco iteraciones de la formación y la

Page 12: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 121

prueba se realiza de tal manera que en cada iteración un

pliegue diferente de los datos se lleva a cabo de salida

para la prueba mientras que los cuatro pliegues restantes

se utilizan para la formación el clasificador. En

consecuencia, los resultados corresponden a la media de

los cinco atributos calculados.

Los cuatro modelos MLP diferentes se han aplicado a los

conjuntos de entrenamiento desequilibradas.

Para cada MLP que consiste en una capa oculta con

cuatro neuronas, la tasa de aprendizaje y el impulso se

han fijado en 0,1 y 0,01, respectivamente, mientras que la

interrupción criterio ha sido fijada a cualquiera de 25.000

épocas o MSE = 0,001.

La mayoría de las aplicaciones de puntuación de crédito a

menudo emplean la precisión de clasificación (ACC) y/o

las tasas de error para estimar el rendimiento de los

sistemas de aprendizaje. Sin embargo, evidencias

empíricas y evidencias teóricas muestran que estas medidas son parciales con respecto a los datos de

desequilibrio y las proporciones de las clasificaciones

correctas e incorrectas.

Para hacer frente a los problemas del desequilibrio de

clases, el receptor de funcionamiento característico

(ROC), se sugiere como una herramienta adecuada para

la visualización y la selección de los clasificadores

basados en hacer predicciones de riesgo de crédito

precisas el equilibrio entre los beneficios (verdaderos

positivos) y costos (falsos positivos). Una representación cuantitativa de una curva de ROC es el área debajo de

ella (AUC). Por sólo una carrera de un clasificador, el

AUC puede calcularse como AUC= (sensibilidad

especificidad +) / 2, donde la sensibilidad es el porcentaje

de malos ejemplos que se han predicho correctamente,

mientras que la especificidad corresponde al porcentaje

de buenos casos que se predijeron son buenos.

4. CONCLUSIONES

En los trabajos anteriormente citados nos ayudan a comprender como el reconocimiento de patrones es una

ciencia computacional que ayuda a solucionar

problemáticas mediante el estudio de las clases

representadas en diversas formas pero categorizadas en

su estudio en 2 tipos de aprendizaje que son el

aprendizaje supervisado y no supervisado que ayudan a

los investigadores hoy en día a utilizar cada vez más

técnicas de reconocimiento de patrones en especial en lo

relacionado con el aprendizaje no supervisado en el cual

un experto humano no está al pendiente de los resultados

obtenidos.

Se espera que en un futuro no muy lejano se tengan

noticias sobre nuevas expectativas en lo relacionado al

reconocimiento de patrones.

5. REFERENCIAS

[1] L. A. Gonzalez-Naranjo, G. M. Vasquez y L. A.

Ramírez Gómez, «End-Stage Renal Disease in Systemic

Lupus Erythematosus,» Revista Colombiana de

Reumatología, vol. 16, nº 2, pp. 75-81, 2009.

[2] J. A. Franco Galván, «RECONOCIMIENTO DE

VOZ PARA NIÑOS CON DISCAPACIDAD EN EL

HABLA,» Universidad de las Americas de Puebla, Puebla, Puebla, 2004.

[3] Umoh, U.A, A. A. Umoh, G. G. James, U. U.

Oton, J. J. Udoudo y E. B., «Design of Pattern

Recognition System for the Diagnosis of Gonorrhea

Disease,» International Journal of Scientific &

Technologic Research, vol. 1, pp. 5-8, 2012.

[4] J. Pérez León, J. H. Sossa Azuela y L. A. Villa

Vargas, Tele-manipulación de objetos mediante un robot

Khepera II, Vols. 1 de 2c-30, México D.F.: CIC IPN,

2009, pp. 30-35.

[5] R. M. Valdovinos Rosas, Técnicas de

Submuestreo, Toma de Decisiones y Análisis de Diversidad en Aprendizaje Supervisado con Sistemas

Múltiples de Clasificación., Castelló de la Plana, España:

Universitat Jaume I, 2006.

[6] J. A. Carrasco Ochoa y J. F. Martínez Trinidad,

«Theory of Pattern Recognition,» Komputer Sapiens, vol.

II, nº III, pp. 5-9, 2011.

[7] D. Pascual, F. Pla y S. Sánchez, «Algoritmos de

agrupamiento,» Universida Jaume I, pp. 163-175, 2007.

[8] X. Olvera-Rocha y M. Ortiz-Posadas,

«Diagnóstico Diferencial de Glaucoma Mediante el

Enfoque Lógico-Combinatorio de Reconocimiento de Patrones,» Serie Verde, pp. 674-677, 2011.

[9] C. Soto y C. Jiménez, «APRENDIZAJE

SUPERVISADO PARA LA DISCRIMINACIÓN Y,»

scielo, vol. 1, pp. 26-33, 2011.

[10] D. E. Pinto Avendaño, P. Rosso y H. Jiménez

Salazar, Tratamiento de Textos Cortos: Agrupamiento y

Evaluaci´on, Valencia, España: Universidad Politécnica

de Valencia, 2007.

[11] O. Chapelle, B. Schölkopf y A. Zien, Semi-

Supervised Learning, Massachusetts: The MIT Press,

2006. [12] A. Pazos , N. Pedreira, J. R. Rabuñal y J.

Pereira, «Inteligencia Artificial y Computación

Avanzada,» Inteligencia Artificial y Computación

Avanzada, vol. 1, nº 13, pp. 9-34, 2007.

[13] P. S.P Wang, Pattern Recognition, Machine

Intelligence and Biometrics, Beijing, China: Higher

Eduacation Press, Beijing, 2011.

[14] B. Verma y M. Blumenstein, «Fusion of

Segmentation Strategies for Off-Line Cursive

Handwriting Recognition,» Pattern Recognition

Technologies and Applications: Recent Advances, vol. 1,

nº 1, pp. 1-16, 2008. [15] S. Uchida, «Elastic Matching Techniques for

Handwritten Character Recognition,» Pattern

Page 13: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 122

Recognition Technologies and Applications Recent

Advances, vol. 1, nº 1, pp. 17-38, 2008.

[16] S. Makino y T. Wakahara, «Affine-Invariant

Recognition of Face Images Using GAT Correlation,» in

Proceedings of International Workshop on Advanced

Technology 2006, vol. 1, pp. 279-284, 2006.

[17] M. Williams, «Technology Review,» Better

Face-Recognition Software, 30 Mayo 2007. [En línea].

Available: http://www.technologyreview.com/news/407976/better-

face-recognition-software/. [Último acceso: 23 09 2014].

[18] T. Shan, A. Bigdel y S. Chen, «Robust Face

Recognition Technique for a Real-Time Embedded Face

Recognition System,» Pattern Recognition Technologies

and Applications: Recent Advances, vol. 1, nº 1, pp. 188-

211, 2008.

[19] D. J. Hemanth y J. Anitha, «Tecniques for

Pattern Recognition in Biomedical Image Processing

Applications (IRMA),» Information Resources

Management Association, vol. 2, nº 1, pp. 711-716, 2013.

[20] L. Saldivar-Piñon, M. I. Chacon-Murguia, R. Sandoval-Rodriguez y J. Vega-Pineda, «Human Sign

Recognition for Robot Manipulation,» Pattern

Recognition, Lecture Notes in Computer Science 4th

Mexican Conference, MCPR 2012, vol. 7329, pp. 107-

116, 2012.

[21] M. A. Moreno-Armendariz, S. Godoy-Calderón,

H. Calvo y O. M. Rojas-Padilla, «Assessing the Quality

Level of Corn Tortillas with Inductive Characterization

and Digital Image Analysis,» Pattern Recognition,

Lecture Notes in Computer Science 4th Mexican

Conference, MCPR 2013, vol. 7914, pp. 40-53, 2013. [22] C. Hee-su, J. Byung-oh, C. Sang-Hyun y P.

Twae-kyung, «Feature Selection for Intrusion Detection

using NSL-KDD,» Recent Advances in Computer

Science, pp. 184-187, 2013.

[23] J. A. C. Ochoa, «Reconocimiento de Patrones,»

2004. [En línea]. Available:

http://ccc.inaoep.mx/~ariel/recpat.pdf. [Último acceso:

26 Agosto 2014].

[24] R. Alejo, V. García, A. I. Marqués, S. J. S. y A.-V.

J.A, «Making Accurate Credit Risk Predictions with

Cost-Sensitive MLP Neural Networks,» Management Intelligent Systems, Advances in Intelligent Systems and

Computing, vol. 220, pp. 1-8, 2013.

[25] Frank, A., Asunción, A.: UCI Machine learning

repository (2010), http://archive.ics.uci.edu/ml.

[26] Sabzevari, H., Soleymani, M., Noorbakhsh, E.: A

comparison between statical and datamining methods for

credit scoring in case of limited avalable data. In: Proc.

the 3rd CRC Credit Scoring Conference (2007).

______________________________________________ Juan Alberto Antonio Velázquez: Ingeniero en sistemas

Computacionales con estudios de Maestría en Tecnologías de Cómputo

en el Centro de Investigación y Desarrollo Tecnológico en Cómputo del

Instituto Politécnico Nacional. Actualmente se desarrolla en el área de

investigación en el Tecnológico de Estudios Superiores de Jocotitlán en

la línea de investigación de Aplicaciones de minería de datos y

reconocimiento de patrones para el apoyo en la toma de decisiones y

aplicaciones de redes y sistemas distribuidos además de colaborar en el

Centro Universitario de Ixtlahuaca.

Roberto Alejo Eleuterio: Ingeniero en sistemas computacionales, con

estudios de maestría en ciencias de la ingeniería en el Instituto

Tecnológico de Toluca, además de doctorarse en la universidad Jaume I

en Castello de la Plana España: Actualmente desarrolla trabajos de

investigación en minería de datos y reconocimiento de patrones en el

Tecnológico de Estudios Superiores de Jocotitlán en la línea de

investigación de Aplicaciones de minería de datos y reconocimiento de

patrones para el apoyo en la toma de decisiones y aplicaciones de redes

y sistemas distribuidos además de colaborar en el Centro Universitario

de Ixtlahuaca como profesor de posgrado en el programa de maestría en

TIC’s. Candidato a SNI Conacyt.

Erika López González: Ingeniera en Computación con estudios de

Maestría en Tecnologías de Cómputo en el Centro de Investigación y

Desarrollo Tecnológico en Cómputo del Instituto Politécnico Nacional.

Actualmente se desarrolla en el área de investigación en el Tecnológico

de Estudios Superiores de Jocotitlán en la línea de investigación de

Aplicaciones de minería de datos y reconocimiento de patrones para el

apoyo en la toma de decisiones y aplicaciones de redes y sistemas

distribuidos.

Leopoldo Gil Antonio: Licenciado en electrónica con estudios de

Maestría en Tecnologías de Cómputo en el Centro de Investigación y

Desarrollo Tecnológico en Cómputo del Instituto Politécnico Nacional.

Actualmente se desarrolla en el área de investigación en el Tecnológico

de Estudios Superiores de Jocotitlán en la línea de investigación de

Aplicaciones de minería de datos y reconocimiento de patrones para el

apoyo en la toma de decisiones y aplicaciones de redes y sistemas

distribuidos.

Rosa María Valdovinos Rosas: Doctora en la universidad Jaume I en

Castello de la Plana España. Profesor-Investigador de Tiempo

Completo en la Facultad de Ingeniería de la UAEM en la División de

Computación

Page 14: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 123

DESARROLLO DE UN MODELO GA-MLP PARA EL DIAGNÓSTICO DE NEFROPATÍA

DIABÉTICA BASADO EN INFORMACIÓN PROTEÓMICA EN ORINA

Resumen— En este trabajo se desarrolló un modelo basado en la

estrategia algoritmo genético-red neuronal backpropagation para el

diagnóstico no invasivo de nefropatía diabética basado en la

información proteómica contenida en muestras de orina.

Se seleccionaron 373 pacientes que presentan diabetes y 68 que

presentan nefropatía diabética. El análisis de las muestras de orina y

la obtención de los datos fue mediante espectrometría de masas y dio

como resultado 5010 péptidos distintos. Se utilizaron 30

biomarcadores péptidos más significativos, seleccionados mediante un

algoritmo genético, con estos se desarrolló un modelo basado en la red neuronal backpropagation, utilizando como método de

optimización el gradiente conjugado escalado en el ajuste de los pesos

de la red y el método early-stopping para evitar el sobre

entrenamiento. El modelo neuronal logró diagnosticar la nefropatía

diabética con 97.7% de aciertos con una sensibilidad de 100% y

especificidad de 97.6%.

Los resultados de esta investigación sugieren que es factible el uso de

un modelo neuronal entrenado con información proteómica para el

diagnóstico de la nefropatía diabética.

Palabras claves— Algoritmos Genéticos, Nefropatía Diabética,

Proteómica, Redes Neuronales.

Mario Alberto González Avalos

Ingeniero en Electrónica

Instituto Tecnológico de Durango

[email protected]

Jesús Celis Porras

Doctorado en Ciencias de la Computación Instituto Tecnológico de Durango

[email protected]

Francisco Javier Godínez García

Doctorado en Ciencias en Ingeniería

Bioquímica

Instituto Tecnológico de Durango

[email protected]

1. INTRODUCCIÓN

La diabetes mellitus (DM) es un conjunto de trastornos

metabólicos [1], que afecta a diferentes órganos y tejidos,

como son los riñones; dura toda la vida y se caracteriza

por un aumento de los niveles de glucosa en la sangre, el

daño que el exceso de glucosa en sangre causa a las nefronas se llama nefropatía diabética. , los

principales síntomas son:

a) Ascitis (acumulación de líquido en el espacio

que existe entre el revestimiento del abdomen y

los órganos abdominales)

b) Edema de miembros inferiores

c) Pérdida de apetito

d) Cansancio

La nefropatía diabética es responsable de cerca del 30%

de los enfermos en diálisis periódica y la primera causa

de trasplante renal en los países occidentales [2]. Las proteínas son partes vitales de los organismos vivos, ya

que son los componentes principales de las rutas

metabólicas de las células. La descripción del proteoma

permite tener una imagen dinámica de todas las proteínas

expresadas, en un momento dado y bajo determinadas

condiciones concretas de tiempo y ambiente. El estudio y

comparación sistemáticos del proteoma en diferentes

situaciones metabólicos y/o patológicos permite

identificar aquellas proteínas cuya presencia, ausencia o

alteración se correlaciona con determinados estadios

fisiológicos. En el caso concreto del análisis proteómico asociado a patologías concretas, es posible identificar

proteínas que permitirían diagnosticar la enfermedad o

pronosticar la evolución de la misma. Dichas proteínas se

conocen con el nombre genérico de biomarcadores [3].

Las redes de neuronas artificiales (RNA) son un

paradigma de aprendizaje y procesamiento

automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de

un sistema de interconexión de neuronas que colaboran

entre sí para producir un estímulo de salida.

El Primer modelo de red neuronal fue propuesto en 1943

por McCulloch y Pitts en términos de un modelo

computacional de "actividad nerviosa". El modelo de

McCulloch-Pitts es un modelo binario, y cada neurona

tiene un escalón o umbral prefijado [4]. Este primer

modelo sirvió de ejemplo para los modelos posteriores de

Jhon Von Neumann, Marvin Minsky, Frank Rosenblatt, y

muchos otros.

Cada neurona recibe una serie de entradas a través de

interconexiones y emite una salida. Esta salida viene

dada por tres funciones [5]:

1. Una función de propagación, que por lo general

consiste en el sumatorio de cada entrada multiplicada

por el peso de su interconexión (valor neto). Si el

peso es positivo, la conexión se

denomina excitadora; si es negativo, se

denomina inhibitoria.

Page 15: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.

2. Una función de activación, que modifica a la

anterior. Puede no existir, siendo en este caso la

salida la misma función de propagación.

3. Una función de transferencia, que se aplica al valor

devuelto por la función de activación. Se utiliza para

acotar la salida de la neurona y generalmente viene

dada por la interpretación que queramos darle a

dichas salidas. Algunas de las más utilizadas son

la función sigmoidea y la tangente hiperbólica.

Las RNA tienen muchas ventajas debido a que está

basado en la estructura del sistema nervioso,

principalmente el cerebro.

a) Aprendizaje: Las RNA tienen la habilidad de

aprender mediante una etapa que se llama etapa

de aprendizaje. Esta consiste en proporcionar a

la RNA datos como entrada a su vez que se le

indica cuál es la salida (respuesta) esperada.

b) Auto organización: Una RNA crea su propia

representación de la información en su interior, descargando al usuario de esto.

c) Tolerancia a fallos: Debido a que una RNA

almacena la información de forma redundante,

ésta puede seguir respondiendo de manera

aceptable aun si se daña parcialmente.

d) Flexibilidad: Una RNA puede manejar cambios

no importantes en la información de entrada,

como señales con ruido u otros cambios en la

entrada.

e) Tiempo real: La estructura de una RNA es

paralela, por lo cual si esto es implementado con computadoras o en dispositivos

electrónicos especiales, se pueden obtener

respuestas en tiempo real.

Una aplicación común de las redes neuronales estáticas

es la clasificación de patrones en clases. La capacidad de

aprender con ejemplos y clasificar patrones, son

cualidades de las redes neuronales multicapa que se han

explotado en medicina, por ejemplo en [6]:

Deficiencias en el sistema inmune y alergias

Enfermedades oculares

Detección de infartos

Segmentación de imágenes del cerebro

Diagnóstico de la enfermedad de Alzheimer

2. METODOLOGIA

Utilizando una base de datos generada mediante la

técnica de espectrometría de masas con muestras de orina

de un total de 373 pacientes que presentan diabetes y 68

pacientes que presentan nefropatía diabética, se obtuvieron 5010 péptidos distintos para representar el

proteoma de bajo peso molecular del sistema bajo

estudio.

La reducción de dimensionalidad fue realizada mediante

un algoritmo genético, estos corresponden a una de las

distintas técnicas conocidas bajo el nombre de

computación evolucionaria, que están inspiradas en el

concepto de la evolución biológica. La idea principal es

que cada individuo de una población representa una

posible solución al problema de optimización que se

desea resolver y de acuerdo a la adaptación de cada

individuo al problema presentado (medida dada por una función objetivo determinada), se producirá la evolución

de la población. Con ello se generan nuevas posibles

soluciones que corresponderán al resultado de procesos

de recombinación de los distintos individuos iniciales.

También se puede considerar la introducción de nuevas

soluciones realizando mutaciones sobre los individuos

existentes [7].

El modelo de red neuronal usado es de la arquitectura

perceptrón multicapa (MLP) entrenada mediante la regla

de aprendizaje backpropagation [8] su correspondiente es

la Ec 1. El perceptrón multicapa está formado por una capa de entrada, una capa de salida y una o más capas

ocultas o intermedias; la información se transmita desde

la capa de entrada hasta la capa de salida y cada neurona

está conectada con todas las neuronas de la siguiente

capa.

( ) ( ) (1)

Donde:

= Peso entre la neurona i y la neurona j.

Numero de iteración.

= Tasa de aprendizaje.

= Error de la neurona j para el patrón p.

= Error de la neurona i para el patrón p.

= Momento.

Como método de optimización se utilizó el gradiente

conjugado escalado y el método early-stopping para

evitar el overfitting o sobre entrenamiento. La

metodología early-stopping consiste en realizar una

pasada por los patrones del conjunto de validación

después de cierto número de pasadas por los patrones del

conjunto de entrenamiento, de forma que se pueda hacer

un seguimiento tanto del error de entrenamiento como del

de validación; cuando se aprecie un aumento apreciable

del error de validación se detendrá proceso de

entrenamiento de la red neuronal puesto que se puede

asegurar que si se continuara, se produciría el overfitting con lo que la capacidad de generalización y predicción de

la red se vería claramente perjudicada.

2.1 RESULTADOS

La reducción de dimensionalidad se realizó usando un

algoritmo genético con una tamaño de población de 120

individuos, después de 50 iteraciones arrojó como

Page 16: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.

resultado 30 biomarcadores significativos para el

diagnóstico de nefropatía diabética.

Se utilizó una red neuronal backpropagation, cuya

arquitectura consistió en 10 neuronas en la capa oculta,

con funciones de activación del tipo tangencial

sigmoidales y 2 neuronas en la capa de salida con

funciones de activación del tipo exponencial normalizado

(softmax), se entrenó la red con 331 señales de las cuales 293 corresponden a pacientes que presentan diabetes y 38

a pacientes que presentan nefropatía diabética, durante 19

épocas donde su mejor rendimiento fue para un error de

0.1937 para lo cual se utilizó como método de

optimización el gradiente conjugado escalado en el ajuste

de los pesos de la red y para evitar el sobre entrenamiento

se utilizó el método early-stopping, con un grupo de

validación de 66 señales. La figura 1 muestra las curvas

de rendimiento.

.La medicina es una ciencia de probabilidades y un arte

de manejar la incertidumbre. Dicha incertidumbre se extiende no sólo a las actividades preventivas,

terapéuticas y pronosticas sino también a las

diagnósticas.

Es evidente que una buena prueba diagnóstica es la que

ofrece resultados positivos en enfermos y negativos en

sanos, es decir sensibilidad y especificidad.

Sensibilidad

Es la probabilidad de clasificar correctamente a un individuo enfermo, es decir, la probabilidad de que para

un sujeto enfermo se obtenga en la prueba un resultado

positivo. La sensibilidad es, por lo tanto, la capacidad del

test para detectar la enfermedad.

Es fácil estimar la sensibilidad como la proporción de

pacientes enfermos que obtuvieron un resultado positivo

en la prueba diagnóstica, su correspondiente es la Ec 2.

De ahí que también la sensibilidad se conozca como

―fracción de verdaderos positivos (FVP)‖.

(2)

Especificidad

Es la probabilidad de clasificar correctamente a un

individuo sano, es decir, la probabilidad de que para un

sujeto sano se obtenga un resultado negativo. En otras

palabras, se puede definir la especificidad como la

capacidad para detectar a los sanos, la especificidad se

estimaría con la Ec. 3, de ahí que también sea

denominada ―fracción de verdaderos negativos (FVN)‖.

(3)

El modelo neuronal logró diagnosticar la nefropatía

diabética con 97.7% de aciertos con una sensibilidad de

100% y especificidad de 97.6% a partir de un conjunto de

prueba de un total de 53 señales. La figura 2 muestra la

matriz de confusión correspondiente.

Figura 1 Curvas de Rendimiento

Fuente: Elaboración propia

Figura 2 Matriz de Confusión

Fuente: Elaboración propia

3. CONCLUSIONES Y RECOMENDACIONES

El uso de las redes neuronales es una gran opción para el

diagnóstico de diferentes patologías; los resultados de

esta investigación sugieren que es factible el uso de un

modelo neuronal entrenado con información proteómica para el diagnóstico de la nefropatía diabética, facilitando

así el trabajo clínico.

Esta investigación solo demuestra que es posible el uso

de redes neuronales en el ámbito del diagnóstico médico,

para crear un modelo neuronal realmente aplicable se

debe contar con una gran cantidad de sujetos de prueba,

lo que lleva a un trabajo de investigación más completo.

4. REFERENCIAS

[1] Harrison, Principios de Medicina Interna, 16a

edición

Page 17: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.

[2] World Health Organization Department of

Noncommunicable Disease Surveillance

[3] Hanash SM, Pitteri SJ, Faca VM. Mining the

plasma proteome for cancer biomarkers. Nature. 2008

Apr 3;452(7187):571-9. Review. PubMed PMID:

18385731.

[4] S. Y. Kung Digital neural networks, 1993, PTR

Prentice Hall, Inc.

[5] C.Lau, Neural Networks, Theoretical Foundations and Analysis", 1991, IEEE Press

[6] Gorban, A.N. et al. Medical, psychological and

physiological applications of multineuron neural

simulator. Proceedings of the Secon Intemational

Symposium on Neuroinformatics and Neurocomputers

1995

[7] Holland J.H., Adaptation in natural and artificial

systems, MIT Press, Cambridge, Second edition, 1992.

[8] S. Y. Kung, ―Digital neural networks‖ 1993 by PTR

Prentice Hall, Inc.

______________________________________________ Mario Alberto González Avalos: Ingeniero en Electrónica por el

Instituto Tecnológico de Durango, actualmente estudiante de Maestría

en Ciencias en Ingeniería Electrónica en el Instituto Tecnológico de

Durango. Áreas de interés: Procesamiento Digital de Señales, Redes

Neuronales.

Jesús Celis Porras: Doctorado en Ciencias de la Computación por el

Centro de Investigación en Computación del Instituto Politécnico

Nacional. Actualmente es profesor-investigador en el programa de

posgrado de la Maestría en Ciencias en Ingeniería Electrónica del

departamento de Ingeniería Eléctrica y Electrónica del Instituto

tecnológico de Durango. Áreas de interés: Redes Neuronales, Redes

Bayesianas, Algoritmos Genéticos.

Francisco Javier Godínez García: Doctorado en Ciencias en

Ingeniería Bioquímica por el Instituto Tecnológico de Durango,

Maestría en Ciencias en Ingeniería eléctrica por el Instituto Tecnológico

de la Laguna. Actualmente es profesor investigador en el programa de

Maestría en Ciencias en Ingeniería Electrónica de Instituto Tecnológico

de Durango. Áreas de interés: Procesamiento de Señales Eléctricas,

Instrumentación y Control y Aplicación de Técnicas

de Inspección Eléctricas (Ultrasonido, Infrarrojo, RF y Magnéticas).

Page 18: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 127

MODELO BASADO EN UNA RED NEURONAL BACK PROPAGATION PARA LA

DETECCIÓN DE VPH DE ALTO RIESGO A PARTIR DE INFORMACIÓN GENETICA

Resumen— Se desarrolló un modelo neuronal de diagnóstico del

VPH de alto riesgo utilizando una base de datos con 109 señales

recolectadas a partir de muestras de captura de híbridos de exudado

vaginal para lo cual se utilizó un dispositivo electrónico, el cual emite

luz ultravioleta en el rango UV-A. El siguiente paso fue realizar el

procesamiento de señales aplicando la transformada rápida de

Fourier y se aplicó el algoritmo de análisis de varianza ANOVA. Se

obtuvieron un total de 23 frecuencias significativas en cada señal. Por

último se construyó la red neuronal back propagation, se entrenó con

82 señales. El modelo neuronal logró diagnosticar la presencia del VPH con 90.9% de aciertos con una sensibilidad de 100% y

especificidad de 88.9%. A partir de los resultados obtenidos podemos

concluir que el modelo neuronal podría ser una opción viable para el

diagnóstico dela presencia del VPH.

Palabras claves— Anova, Red neuronal, Ultravioleta, VPH.

Juan Andrés Díaz García

Instituto Tecnológico de Durango

[email protected]

Jesús Celis Porras

Instituto Tecnológico de Durango

[email protected]

Rubén Guerrero Rivera

Instituto Tecnológico de Durango [email protected]

Elva Marcela Coria Quiñones

Universidad Juárez del Estado de Durango

[email protected]

1. INTRODUCCIÓN

El virus del papiloma humano (VPH) representa un

importante problema de salud a nivel mundial ya que es

la infección de transmisión sexual más común, existen

más de cien tipos del VPH aunque solo 20 se consideran

de alto riesgo por ser los causantes de diferentes tipos de

cáncer principalmente el cáncer cervico-uterino [1]. En la

actualidad existen diversos métodos para la detección del

VPH como:

a) Captura de híbridos: Aunque se ofrece de forma

gratuita, tiene limitaciones como el gran número

de falsos positivos y negativos.

b) Reacción en Cadena de Polimerasa (PCR),

técnica de patología molecular con la que se

puede conocer exactamente el virus que causa la

infección.

c) Papanicolaou y la colposcopia, que son relativamente económicas, pero tienen

sensibilidades del 51 y 38%, respectivamente.

Las características de las redes neuronales las hacen

bastante apropiadas para aplicaciones en las que no se

dispone a priori de un modelo identificable que pueda ser

programado, pero se dispone de un conjunto básico de

ejemplos de entrada (previamente clasificados o no).

Asimismo, presentan una alta tolerancia tanto al ruido

como a la disfunción de elementos concretos.

Las redes neuronales tienen aplicaciones en una amplia gama de campos esto incluye problemas de clasificación

y reconocimiento de patrones de voz, imágenes, señales,

etc. Asimismo se han utilizado para encontrar patrones de

fraude económico, hacer predicciones en el mercado

financiero, hacer predicciones de tiempo atmosférico, y

recientemente han incursionado en el campo de la

medicina logrando resultados aceptables en el

diagnóstico e identificación de enfermedades [2].

2. METOLOGÍA

Se diseñó y construyó un dispositivo electrónico para el

análisis de las señales el cual consiste en un LED que

emite luz ultravioleta a una longitud de onda de 350nm y un fotodiodo UV además de una interface entre el

dispositivo y la computadora para la visualización y

captura de las señales (Figura 1).

La medición se realizó sobre muestras de captura de

híbridos de exudado vaginal que fueron colocadas una

por una en una probeta de cuarzo donde se realizó la

medición. Utilizando las señales que previamente fueron

capturadas se construyó la base de datos con 109

muestras de las cuales 66 muestras contienen el virus del

papiloma humano de alto riesgo y 43 contienen el virus del papiloma humano de bajo riesgo.

Figura 1. Dispositivo Electrónico de Captura de Señales

Fuente: Elaboración propia

Page 19: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 128

Una vez construida la base de datos se procede a

convertirla al dominio de la frecuencia utilizando la

transformada rápida de Fourier (FFT) Ec.(1).

(1)

La base de datos en el dominio de la frecuencia nos

aporta mayor cantidad de información y hace que la señal

sea más descriptiva. Se prosiguió analizando la base de

datos para determinar el tipo de distribución para esto se

utilizó la prueba de normalidad q-q plot, obteniendo la

gráfica de la figura 2 donde se puede ver que la línea azul

intenta seguir la línea punteada color rojo, esto nos indica

que la distribución es normal sin embargo en los

extremos tiende a separarse de la línea roja y esto indica

que es una distribución normal sesgada. También se realizó la prueba de Bartlett para determinar la

homogeneidad en las varianzas Ec. (2).

Figura 3. Grafica Q-Q Plot

Fuente: Elaboración propia

(2)

Una vez que se conoce el tipo de distribución se puede

tomar una decisión respecto a que método de selección

de características utilizar. Para realizar una extracción de

características con la finalidad de seleccionar únicamente

las frecuencias importantes en la señal desechando las

que no aportan información útil para esto aplicamos el

algoritmo de análisis de varianza ANOVA Ec. (3) el cual

es utilizado para establecer si existen diferencias

significativas en las medias entre dos o más muestras. Su

nombre deriva del hecho que las varianzas son usadas

para establecer las diferencias entre las medias [3][4].

(3)

Por último se construyó un modelo basado en la red

neuronal back propagation, se entrenó con 82 señales,

48 de bajo riesgo y 34 de alto riesgo, se realizaron

corridas de la modelo comenzando con una neurona en la

capa oculta e incrementando el número de neuronas hasta

obtener un modelo con una predicción aceptable, para

disminuir el error se utilizó como método de optimización gradiente conjugado escalado en el ajuste

de los pesos de la red y el método de detección temprana,

para evitar el sobre-entrenamiento, se utilizó un grupo de

validación de 16 señales, 11 de bajo riesgo y 5 de alto

riesgo [5].

La intención de este trabajo no es reemplazar a los

métodos ya existentes únicamente se propone un método

alternativo de diagnóstico del VPH de alto y bajo riesgo

utilizando un modelo neuronal back propagation basado

en la información genética contenida en las frecuencias del espectro de Fourier a partir de señales en el rango de

UV-A.

3. RESULTADOS

Los resultados que arrojaron la prueba de normalidad Q-

Q Plot y la prueba de Bartlett indicaron que la

distribución es normal y con varianzas iguales por lo que

se tomó la decisión de utilizar el algoritmo ANOVA

como selector de características.

Con la aplicación del algoritmo ANOVA se logró extraer 23 frecuencias importantes de 1024 que se tenían

inicialmente, la arquitectura de la red con la que se

obtuvieron los mejores resultados consistió en 10

neuronas en la capa oculta, con funciones de activación

del tipo tangencial sigmoidales y 2 neuronas en la capa

oculta con funciones de activación del tipo tangencial

sigmoidales, el método de optimización logró reducir el

error a 0.493 (Figura 3), el modelo neuronal logró

diagnosticar la presencia del VPH con 90.9% de aciertos

con una sensibilidad de 100% y especificidad de 88.9% a

partir de un conjunto de prueba de un total de 11 señales, 9 de bajo riesgo y 2 de alto riesgo (Figura 4).

Figura 6. Grafica de entrenamiento de la red neuronal

Fuente: Elaboración propia

Page 20: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 129

Figura 7. Matriz de confusión.

Fuente: Elaboración propia

4. CONCLUSIONES

A partir de los resultados obtenidos podemos concluir

que el modelo neuronal podría ser una opción viable

para el diagnóstico dela presencia del VPH.

5. REFERENCIAS

[1] M. Castaño Ignacio, G. Hurtado Estrada, Test de

VPH (captura de híbridos II) en pacientes tratadas con

radiofrecuencia, Vol. IV, No. 1 enero-abril 2012 pp 13-

21

[2] R Dybowski, V Gant, Artificial neural networks in

pathology and medical laboratories, The Lancet, Volume

346, Issue 8984, 4 November 1995, Pages 1203-1207,

ISSN 0140-6736,

[3] P. Duhamel, M. Vetterli, Fast fourier transforms: A

tutorial review and a state of the art, Signal Processing,

Volume 19, Issue 4, April 1990, Pages 259-299, ISSN

0165-1684,

[4] Paul Pavlidis, Using ANOVA for gene selection from microarray studies of the nervous system, Methods,

Volume 31, Issue 4, December 2003, Pages 282-289,

ISSN 1046-2023.

[5] Baxt WG. Use of an Artificial Neural Network for the

Diagnosis of Myocardial Infarction. Ann Intern Med.

1991;115:843-848. doi:10.7326/0003-4819-115-11-843 _________________________________________________________

Juan Andrés Díaz García: Ingeniero en Electrónica, estudiante de la

Maestría en Ciencias en Ingeniería Electrónica en el Instituto

Tecnológico de Durango.

Jesús Celis Porras. Doctorado en Ciencias de la Computación por el

Centro de Investigación en Computación del Instituto Politécnico

Nacional. Actualmente es profesor-investigador en el programa de

posgrado de la Maestría en Ciencias en Ingeniería Electrónica del

departamento de Ingeniería Eléctrica y Electrónica del Instituto

tecnológico de Durango. Áreas de interés: Redes neuronales, Redes

Bayesianas, Algoritmos Genéticos.

Elva Marcela Coria Quiñones. Maestría en Química Analítica

Aplicada en la Universidad Regiomontana de Monterrey. Actualmente

somos colaboradora en el Instituto de Investigación Científica de la

Universidad Juárez del Estado de Durango. Áreas de Interés Manejo y

Determinaciones mediante equipos instrumentales aplicados a la

Química Analítica.

Page 21: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 130

INTERFAZ DE RECONOCIMIENTO DE MOVIMIENTOS PARA EL

LENGUAJE DE SEÑAS MEXICANO IMPLEMENTANDO EL KINECT

Resumen— Con el avance de la tecnología y el desarrollo de nuevas

aplicaciones que facilitan la vida cotidiana son más empleadas, por

tal motivo en este trabajo se estudió el lenguaje de señas, ocupando

principalmente palabras y el abecedario utilizando los movimientos

más comunes para desarrollar una interfaz interactiva que traduzca

palabras del lenguaje de señas mexicano al idioma español, lo que es

un preámbulo al desarrollo de una interfaz terapéutica para el área de

gerontología, usando la tecnología del kinect de Microsoft; la

metodología empleada para el desarrollo, es scrum que es ágil y

flexible para gestionar el desarrollo de software.

Palabras claves— kinect, reconocimiento

Erika López González

Tecnológico de Estudios Superiores de

Jocotitlán

[email protected]

Juan A. Antonio Velázquez

Tecnológico de Estudios Superiores de

Jocotitlán

[email protected]

Roberto Alejo Eleuterio

Tecnológico de Estudios Superiores de

Jocotitlán

[email protected]

Leopoldo Gil Antonio

Tecnológico de Estudios Superiores de

Jocotitlán

[email protected]

1. INTRODUCCIÓN

Uno de los dispositivos que ha surgido en la actualidad es

el Microsoft kinect, el objetivo de este trabajo es utilizar

esa tecnología para generar una interfaz traductora de

palabras del lenguaje de señas que sirva como base en la toma de movimientos para las terapias que se aplican en

la Gerontología y puedan ofrecer una mejor calidad de

vida al adulto mayor.

La universidad CES de Colombia publicó el artículo

Traducción automática del lenguaje dactilológico de

sordos y sordomudos mediante sistemas adaptativos. En

este artículo se presenta el desarrollo de un sistema

integrado de hardware y software, para el reconocimiento

automático del lenguaje dactilológico de señas Betancur

B.D[1 ]. El hardware está compuesto por un sistema

inalámbrico adherido a un guante, el cual posee un conjunto de sensores que capturan una serie de señales

generadas por los movimientos gestuales de la mano, y

un modelo por adaptación basado en los principios de la

computación neuronal, el cual permite su reconocimiento

en términos de un lenguaje dactilológico en particular.

Los resultados arrojados por el sistema integrado

mostraron gran efectividad en el reconocimiento de las

vocales que conforman el lenguaje dactilológico en

español, esto gracias a la capacidad que posee el modelo

de asociar un conjunto de señales de entrada, sin embargo la principal desventaja que presenta este proyecto es el

uso del guante dactilológico ya que es un dispositivo

construido por múltiples sensores en cada dedo, lo cual

hace que la fabricación y uso de dicho dispositivo no sea

rentable y el coste sea mayor.

Microsoft también tiene en desarrollo programas para

ayudar a ciegos y sordos en el Centro de Investigación de

Microsoft en India Escandell D.[2], los programas tienen dos objetivos, uno de ellos es traducir las señas realizadas

por un usuario a texto, y otra es representar en el monitor

el texto introducido por un usuario mediante imágenes,

Onís, es un proyecto argentino desarrollado por 5

alumnos, el cual principalmente tiene los mismos

objetivos que los proyectos desarrollados por Microsoft.

Además Daniel Martínez Capilla de la Universidad de

Tennessee desarrollo un Traductor del Lenguaje de Señas

usando Microsoft Kinect XBOX 360 basándose en los

movimientos del cuerpo y estos los obtiene con la ayuda

de la API Skeleton la cual simula el cuerpo y permite identificar los movimientos Martínez C.D. [3].

En México no se han difundido proyectos

implementando el Kinect, se ha optado por otras

alternativas como el uso de un guante electrónico que

transforma movimientos de la mano en palabras que

aparecen escritas en una pantalla de cristal líquido

desarrollado por alumnos del Instituto Politécnico

Nacional (IPN) Becerril D.J et.al. [4].

Una de las principales limitaciones que presentan las personas con discapacidad auditiva está directamente

relacionada con su dificultad para interactuar con otras

personas, ya sea de forma verbal o a través de sistemas

auxiliares basados en voz y audio. Por consecuencia la

Page 22: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 131

dificultad que la práctica y el uso del lenguaje de señas,

obstaculizan establecer una comunicación por parte de

los educandos con discapacidad auditiva, se propone un

software interactivo por medio de kinect que ayude a

practicar el lenguaje de señas por medio de

reconocimiento de movimientos.

2. TÉCNICAS

El kinect es un dispositivo creado por Microsoft para su

videoconsola Xbox 360. Permite a los usuarios controlar

e interactuar con la consola sin necesidad de tener

contacto físico con un controlador de videojuegos

tradicional, mediante una interfaz natural de usuario que

reconoce gestos, comandos de voz, y objetos e imágenes.

El sensor Kinect es capaz de capturar el mundo que lo

rodea en 3D mediante la combinación de la información

obtenida de la cámara RGB y del sensor de profundidad.

El resultado de esta combinación es una imagen RGB-D

(color + profundidad) con una resolución de 320x240,

donde a cada uno de los píxeles se le asigna dicha información. Microsoft [6].

El nombre Scrum deriva de una analogía con el Rugby:

en este deporte se llama Scrum una manera de reiniciar

rápidamente el juego cuando se haya interrumpido por

alguna infracción accidental, así Scrum se ha

desarrollado anteponiendo las prioridades de unos

proyectos concretos a las reglas de la Ingeniería del

Software. Scrum es una metodología ágil y flexible para

gestionar el desarrollo de software, Softeng [8].

2.1 PRODUCT BACKLOG

En esta fase del proyecto se determinaron y analizaron

las principales ideas y se priorizaron, en este sentido el

conocer la estructura básica y nomenclatura del lenguaje

de señas estándar en México; trabajar con una

implementación adecuada del Kinect como herramienta

para leer el lenguaje de señas.

Así mismo diseñar una aplicación capaz de almacenar

configuraciones del lenguaje de señas obtenidas del modelo virtual que a la vez obtiene las configuraciones

de una persona haciendo uso del Kinect. Generar un

software interactivo traductor de palabras del lenguaje de

señas mexicano como ayuda, usando como herramienta

el Kinect, considerando que es una aplicación de bajo

costo y mejora la interacción entre el usuario y el

software en comparación con la aplicación del guante

dactilológico.

También fueron usados los siguientes requerimientos:

Microsoft Visual Studio Ultimate 2013.

Kinect de primera generación.

Kinect for Windows developer Toolkit v1.8.0.

Windows 7 Professional.

Procesador Intel Core i3 2.40 GHz.

3 Gb Memoria RAM.

Skeletal Tracking que permite reconocer el cuerpo y

seguir acciones.[9]

Api Skeleton.

SkeletonFrame.

Shape (es un UIElement de windows para dibujar

formas, con el se dibujaron las líneas)

2.2 SPRINT PLANNING

En esta parte del trabajo se realizó un estudio sobre el

lenguaje de señas estándar de México (LSM)

fundamentado en el DIELSELME (Diccionario Español

de Lengua de Señas Mexicano) que establece un total de

535 palabras del español las que asocian 608 señas.

Como parte inicial del trabajo se ejecutó el código de

SkeletonBasics-WPF de esta manera se exhiben los

elementos que componen un traking default del Kinect.

Se identificaron 20 elementos, figura1, sin embargo el

lenguaje de señas mexicano trabaja con la parte superior del cuerpo es por ello que se hace notoria la importancia

de ésta, generando una nueva manera de traking

considerando los siguientes:

a) HAND_RIGHT,

b) WRIST_RIGHT,

c) ELBOW_RIGHT,

d) SHOULDER_RIGHT,

e) HAND_LEFT,

f) WRIST_LEFT,

g) ELBOW_LEFT,

h) SHOULDER_LEFT, i) HEAD,

j) SHOUL_DERCENTER,

k) SPINE,

l) HIP_CENTER.

Figura 1. SkeletonBasics-WPF

Fuente: Realización propia

Page 23: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 132

Los movimientos son llamados formas en el lenguaje de

señas los cuales son recibidos por el Kinect, el cual

maneja los movimientos de un modelo virtual de la

persona.

Los elementos que se utilizaron para el traking, se

trabajan de forma individual lo que representa mayor

tiempo para plasmarlos de manera gráfica por las

propiedades que presentan, además de causar un mayor consumo de recursos por parte del sistema operativo, al

estar al tanto de esta situación, y como propuesta se crean

4 arreglos para el traking con los elementos necesarios ya

que se reduce el tiempo de traking, por ende se

disminuye la carga de trabajo para el sistema operativo y

los elementos por cada arreglo fueron:

Arreglo 1 Extremidad Derecha: HandRight,

WristRight, ElbowRight, ShoulderRight.

Arreglo 2 Extremidad Izquierda: HandLeft, WristLeft, ElbowLeft, ShoulderLeft.

Arreglo 3 Torso: Head, ShoulderCenter, Spine,

HipCenter.

Arreglo 4 Hombros: ShoulderLeft, ShoulderCenter,

ShoulderRight.

2.3 Sprint Backlog

Se asignaron diferentes tareas y se revisan los avances

citados adelante.

Para generar una salida a color, se ocupa la cámara RGB

la cual ejecuta la lectura frente al sensor Kinect, pero esto

involucro hacer un mapeo, ya que existe una separación

física entre ambas cámaras (Profundidad y RGB) lo que

no permite que las lecturas estén alineadas de una manera

exacta, por lo que se utilizo el método:

CoordinateMapper.MapSkeletonPointToColorPoint que

proporciona el Kinect.

Las articulaciones del cuerpo del kinect no son estables,

la mayor parte del tiempo está oscilando y la razón son

las condiciones óptimas de iluminación, por ello se

agregó un rango de aceptación a la trayectoria.

Una matriz que divide el área del cuerpo exactamente en

16 partes para conocer la posición en la que se

encuentran las manos en el plano gesto espacial y que al

mismo tiempo permita el control de manera gradual de la

oscilación presentada, la tolerancia de 5 unidades

cardinales para que sea efectivo el cambio de posición, si la lectura de la mano derecha se toma en la posición

número 1 y esta se mueve dentro del rango permitido la

lectura se efectuara pero continuara estando en la

posición del arreglo 1, lo que se observa en la figura 2.

Figura 2. Matriz corporal y manejo de oscilación

Fuente: Realización propia

Para el trabajo con el tracking de los dedos se propone

trabajar con 3D Hand and Finger Recognitionusing

kinect el cual describe un método robusto y eficiente para realizar un seguimiento de la mano y los dedos en tiempo

real utilizando el dispositivo kinect. Este dispositivo

permite obtener una imágen de profundidad, en lugar de

una imágen normal RGB, lo que da más información que

una cámara normal. Este tipo de imágenes son más útiles

para el seguimiento y, se representar los puntos

relevantes en un espacio 3D.

Los procedimientos necesarios para realizar un

seguimiento de las manos con sus respectivos

componentes (palma y punta de los dedos) propuestos en

el trabajo de F. Trapero Cerezo. Lo primero fue trabajar con la profundidad, para esto se basa en la proximidad

del kinect y en los pixeles de la cámara, considerando

adaptar la resolución de 320x240 pixeles, porque da la

suficiente definición para distinguir el contorno de las

manos, lo que reduce considerablemente el número de

operaciones, así mismo, se generó una matriz que

contiene los pixeles e indica la cercanía de los mismos,

permitiendo acceder a los datos de una manera más fácil.

Para el contorno de la mano, se calcula aplicando el

"algoritmo de la tortuga ―, una vez que un punto se añade

al contorno de una parte, este punto se marcará como visitado. Así que, después de terminar el contorno de una

parte, la aplicación busca otro punto del contorno para

calcular el contorno ordenado de la otra mano. Si todo el

contorno de puntos se ha visto, no hay más manos para

analizar. Si el contorno es pequeño en comparación con

el número total de puntos de contorno, se debe descartar.

Posteriormente se continúa con el centro de la palma, que

es uno de los puntos que proporciona mucha de la

información. Este punto indica dónde está la mano, junto

con las yemas de los dedos, puede ser utilizado para

calcular información relevante para identificar gestos. El

centro de la mano es, por lo general, el círculo mayor que cabe dentro del contorno de la mano. Con el fin de

encontrar este punto, se calculan las distancias mínimas

de cada interior que apunta a cada punto del contorno, y

desde estas distancias se selecciona el máximo, como se

observa en la figura 3.

Page 24: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 133

Figura 3. Cálculo del centro de la palma de la mano.

Fuente: Realización propia

3. RESULTADOS Y DISCUSIONES

Como parte de los resultados parciales utilizando los

arreglos antes descritos para captar las partes superiores

del cuerpo y asociando los patrones de posición se logran

ejecutar las palabras, donde la trayectoria del movimiento

es la misma con ambos brazos, la asociación de patrones

de posiciones con palabras será mostrada una vez que

coincida con los movimientos corporales capturados por

el kinect; en la figura 4, donde se observa este resultado.

Figura 4. Palabras capturadas

Fuente: Realización propia

En el trabajo del traqueo de las manos se ha obtenido el

conteo de los números del 1 al 10 y las letras del

abecedario, la interpretación del lenguaje dactilológico

ejecuta un conteo de los dedos identificados que se

involucran al momento de la ejecución de la seña, esto se

muestra en la figura 5, sección a) se asigna un

identificador para cada dedo de ambas manos esto para

comparar la cantidad e identificar los que forman parte

del conteo y asignar un significado al momento de la lectura de la seña; sección b) con el mismo principio se

realiza la interpretación de las letras que conforman el

abecedario.

Figura 5. Señales dactilológicas

a) Conteo de dedos (números). b) Letras

Fuente: Realización propia

4. CONCLUSIONES Y RECOMENDACIONES

Se conoció el lenguaje de señas y la variación que se

tiene en la región de Ixtlahuaca, del mismo modo se

realizó un ambiente para poder interpretar las lecturas a

un ambiente gráfico y tener un medio de visualización

para identificar los comportamientos del software en

ejecución también se interpretaron palabras usando

ambas manos.

Así mismo se formó el traqueo de los dedos de las

manos, hasta el grado de hacer un conteo, identificar números y letras. Hasta el momento se han logrado

resultados favorables, contar con la traducción de señas

en donde la dactilología de las manos no se encuentra

notable, ha permitido lograr un éxito y un alcance vial

para la continuidad y vida del proyecto, sin embargo se

pretende alcanzar la traducción de las señas dividendo

cada una de ellas por campos semánticos y trabajarlo con

prioridades según las técnicas de aprendizaje sobre el

lenguaje de señas.

5. RECOMENDACIONES

Las soluciones técnicas utilizadas aún son iníciales es

necesario implementar filtros digitales para reducir el

temblor, algunas técnicas de segmentación más robustas

Page 25: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 134

y sobre todo sistemas de reconocimiento más robusto.

Hace falta mucho por hacer.

6. REFERENCIAS

[1] Betancur B.D; Vélez G. M; Peña P. A. Traducción

automática del lenguaje dactilológico de sordos y

sordomudos mediante sistemas adaptativos [online].

(2013) p.1-13. [2] Escandell D. Microsoft desarrolla programas para

ayudar a ciegos y sordomudos con Kinect [Internet]

(2012). [Acceso 23 de febrero 2014].

[3] Martínez C. D. Sign Language Translator using

Microsoft Kinect XBOX 360 [online] p.1-75. (2012)

[Acceso 25 de febrero 2014].

[4] Becerril D. J; Cerda G. L; Nieto S. D. IPN diseña

guante electrónico para sordo-mudos. (2008) [Acceso 1

de marzo 2014].

[5] Calvo H. M. T. Diccionario español - Lengua de

señas mexicana (DIELSEME) p.1-48. [Acceso 28 de

Febrero 2014]. [6] Microsoft (2014) Visual C# [Acceso 17 de marzo

2014].

[7] Rossum V. Python. (2001) [Acceso 12 de marzo].

[8] Softeng Metodología Scrum. (2014) [Acceso 10 de

marzo 2014].

[9] Softeng Metodología Scrum. (2014) [Acceso 10 de

marzo 2014].

[10] Comunidad OpenKinect, librerías de código abierto

para Kinect [Acceso 19 de marzo 2014].disponible en:

openkinect.org/wiki/Main_Page.

[11] Kinect for Windows [Acceso 19 de marzo 2014].

Disponible en: www.microsoft.com/en-us/kinect for Windows/

______________________________________________ Erika López González: Ingeniero en Computación con estudios de

Maestría en Tecnología de Computo por el Instituto Politécnico

Nacional. Profesor a nivel licenciatura con 8 años de experiencia.

Juan A. Antonio Velázquez: Ingeniero en sistemas computacionales

con estudios de Maestría en Tecnología de Computo por el Instituto

Politécnico Nacional. Profesor a nivel licenciatura con más de 9 años de

experiencia.

Roberto Alejo Eleuterio: Ingeniero en Computación con estudios de

Maestría en Ciencias Ciencias Computacionales y Doctorado en

Sistemas Informáticos Avanzados. Profesor a nivel licenciatura y

posgrado con más de 10 años de experiencia.

Leopoldo Gil Antonio: Ingeniero en Electrónica y de Comunicaciones

con estudios de Maestría en Tecnología de Computo por el Instituto

Politécnico Nacional. Profesor a nivel licenciatura con más de 10 años

de experiencia.

Page 26: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 135

ESTRATEGIA DE PARALELIZACIÓN BASADA EN REDUCIONES

PARALELAS PARA RENDERSCRIPT

Resumen-- RenderScript es un conjunto de herramientas diseñadas

por Google para soportar el procesamiento paralelo en los

dispositivos móviles con Android. Esta herramienta fue diseñada

principalmente para su ejecución en diversos componentes de

procesamiento como: Unidades Centrales de Procesamiento (CPU´s

por sus siglas en inglés), Procesadores Digitales de Señales (DSP´s

por sus siglas en inglés) y Unidades Gráficas de Procesamiento

(GPU´s por sus siglas en inglés)para lograr la portabilidad entre

distintos dispositivos móviles.Se diseñó con un motor de ejecución o

runtime que decide dónde y cómo ejecutar el código en paralelo; también se le puede indicar que ejecute el código en una GPU o DSP

disponible utilizando FilterScript que una herramienta de

RenderScript que garantiza la compatibilidad con GPU´s y DSP´s.

RenderScript es una plataforma de cómputo heterogéneo que difiere

tanto en la codificación como en la abstracción del problema a otras

plataformas actualmente usadas como OpenCL y CUDA. Sin

embargo, este nuevo paradigma de paralelización no cuenta con

estrategias claras para la implementación de algoritmos, por lo que en

este trabajo se proponen distintas estrategias para la implementación

de algoritmos como por ejemplo reducciones en vectores entre otros.

Palabras claves-- Procesamiento paralelo, RenderScript, unidades de

procesamiento gráfico, GPU, Reducción.

.

JESÚS ALVAREZ-CEDILLO

JUAN HERRERA-LOZADA

Instituto Politécnico Nacional, CITEDI, Av.

del Parque No. 131O, Mesa de Otay, Tijuana,

Baja California, México.

[email protected]

[email protected]

JACOBO SANDOVAL-GUTIERREZ

TEODORO ALVAREZ- SANCHEZ Instituto Politécnico Nacional CIDETEC

UP Adolfo López Mateos Edif. CIDETEC

México D.F., México.

[email protected]

[email protected]

1. INTRODUCCIÓN

Un procesador vectorial es un procesador que puede

calcular un valor entero en una instrucción. Un operando

vectorial de operación exclusiva de memoria contiene

una secuencia de n elementos, llamados componentes,

donde n es la longitud del vector. Cada componente del vector es un escalar de cualquier tipo (entero, punto

flotante, etc.).

Los operadores vectoriales generalmente están

clasificados en los siguientes:

V→V (operación vectorial unitaria)

V×V→V(operación vectorial binaria)

V→K(reducción unitaria)

V×V→K(reducción binaria)

K×V→V (operación de escalado)

Donde K= valor escalar y V= operación vectorial. Una instrucción vectorial equivale generalmente a la

ejecución de un bucle completo de instrucciones donde

cada iteración trabaja sobre cada componente individual

del vector.

Las operaciones vectoriales en memoria son mejores que

las escalares por:

Cada resultado es independiente

Una simple instrucción vectorial sustituye a muchas

escalares, precisan acceso a la memoria con un patrón de

acceso fijo (adyacentes).

Se evita un problema en control del salto del bucle.

Son operaciones más rápidas.

En este artículo se elaborón dos estrategias para realizar

operaciones vectorial binarias V×V sobre dispositivos

mobiles (Smarthphones y Tablets) utilizando

RenderScript.

¿Qué es RenderScript?

RenderScript es un Framework para realizar cómputo del

alto rendimiento orientado al procesamiento paralelo

sobre dispositivos móviles con sistema operativo

Android.

RenderScript está diseñado para ejecutar los algoritmos

en paralelo en todos los procesadores disponibles como:

los CPU’s multinúcleo, GPU’so DSP’s. Algunas

aplicaciones pueden desarrollarse utilizando el

procesamiento de propósito personal, como la visión

computacional o procesamiento de imágenes.

Page 27: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 136

Las aplicaciones que utilizan RenderScript se ejecutan

dentro de la máquina virtual de Android, por lo cual se

utiliza la Interfaz de programación de aplicaciones (API)

de Java para manejar la vida de los recursos de

RenderScript y controlar la ejecución del kernel [3].

RenderScript representa un conjunto de herramientas y

un lenguaje de alto nivel para realizar cómputo intensivo

de procesamiento paralelo sobre dispositivos con Android, en combinación con la programación secuencial

genera beneficios y optimizar los procesos que se

ejecutan en su modelo de ejecución.

RenderScript realiza la distribución de los trabajos a

través de diferentes hilos y optimiza el uso de todos los

procesadores disponibles sobre dispositivo, las unidades

de procesamiento gráfico (GPU), DSPS y las unidades de

procesamiento centra (CPU) y soporta múltiples CORES.

RenderScript crea algoritmos perfectamente balanceados

en su carga, de esta manera cualquier aplicación de

propósito general podrá realizarse y ejecutarse utilizando ampliamente los recursos del dispositivo móvil.

La programación de RenderScript está basada en los

partes básicas:

Uso de de núcleos de cómputo de alto desempeño, estos

se escriben sobre un lenguaje derivado de C99.

una interfaz de aplicación desarrollada en el lenguaje de

programación Java

FilterScript

FilterScript es un subconjunto de RenderScript el cual

contiene restricciones para poder funcionar en una gran

variedad de procesadores (CPU’s, GPU’s, DSP’s). En

FilterScript los punteros no están permitidos, por lo cual

no se puede leer la memoria directamente y se tienen que

usar funciones de acceso de la API de RenderScript [1].

1.1 Modelo de ejecución

La arquitectura de un dispositivo móvil tiene grandes diferencias a otros sistemas paralelos grandes tales como

un sistema de escritorio o un sistema de alta

disponibilidad. La comunicación entre el CPU y el CPU a

través de la memoria Mobile DDR, mDDR o LPDDR,

(es un tipo de DRAM síncrona de doble precisión

especial para dispositivos móviles), se realiza a 12Gb/s y

el conjunto de instrucciones soporta hasta 70 GFLOPS en

el GPU y hasta 20 GFLOPS en el CPU. Observe la figura

1.

Su funcionamiento es el siguiente:

El código de ejecución se programa en un lenguaje

basado en c99 y es compilado con un formato intermedio.

El código encapsulado o KERNEL es procesado y crea

un código binario no dependiente de la arquitectura.

Una rutina compila el código binario anterior para uno o

más procesadores.

Los encapsulados especiales, son integrados de acuerdo a

las necesidades de programador para algunas

operaciones comunes.

Las clases de JAVA son creadas automáticamente por el

Kit de desarrollo.

La administración de los recursos y la ejecución son

controladas por las interfaces de aplicación de Java.

Se realiza la integración con la máquina virtual, se

integra en un archivo ejecutable el binario del

encapsulado y el código de control en Java como

aplicación.

Figura 1. Arquitectura de un dispositivo móvil.

Fuente: Elaboración propia.

2. TRABAJO REALACIONADO

Actualmente existen algunas propuestas de cómo

codificar en RenderScript a partir de otras plataformas de cómputo heterogéneo, sin embargo no plantean

directamente una estrategia de programación que

aproveche todas las herramientas de RenderScript.

Dentro de las propuestas existentes para la codificación

en RenderScript se encuentra ―Code generation for

emebedded heterogéneous architectures on android‖ [1],

en donde los autores proponen utilizar el Framework

HeterogeneousImageProcessingAcceleration(HIPA) para

generar kenerl´s para el procesamiento de imágenes y

adaptarlos a la estructura de RenderScript.

La segunda propuesta de codificación―O2render: An

OpenCL-to –Render script translator for porting across

various GPUs or CPUs‖[2] es sobre la implementación

de un traductor de código OpenCL a RenderScript. Al

analizar los trabajos previos sobre la codificación en

RenderScript queda claro que no se pueden exportar

automáticamente todas las características de las

plataformas de cómputo heterogéneo a RenderScript y

que no se aprovechan óptimamente los recursos.

Page 28: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 137

3. METODOLOGIA

Algunos algoritmos requieren que a partir de un conjunto

de datos entrada se reduzca el número de elementos del

conjunto de salida; algunos ejemplos de estas

operaciones son: el promedio, la suma acumulativa, el

máximo, entre otros.A este tipo de operaciones dentro del

procesamiento paralelo se les conoce como operaciones

de reducción. Al realizar este tipo de operaciones en arquitecturas paralelas se tiene el problema de que los

hilos de ejecución en paralelo no se pueden escribir en

una localidad de memoria al mismo tiempo. La dificultad

intrínseca de este tipo de operaciones en paralelo se

mezcla con las limitaciones de la plataforma paralela.

En RenderScript y en FilterScript se complican las

operaciones de reducción ya que un kernel de ejecución

requiere que la longitud de los datos de entrada debe ser

igual a la de los datos de salida. Otra limitación

importante es que no se tiene control sobre cuantos hilos

de ejecución se invocan y solo se puede modificar esta característica variando la longitud de los datos de

entrada y salida.

Al analizar los trabajos existentes se evidencia la

necesidad de generar nuevas estrategias de programación

para la plataforma de cómputo paralelo móvilde

RenderScript y FilterScript siendo las operaciones de

reducción una de las más complicadas de implementar,

por lo que en este trabajo se plantean algunasestrategias

para la implementación de operaciones de reducción.

3.1 Solución propuesta

Los códigos en RenderScript que ejemplifican las

estrategias programación están diseñadas para la API de

Android 4.1 en adelante.

Para dar solución a las operaciones de reducción en

RenderScript se plantean tres estrategias posibles, estas

son ejemplificadas con la suma acumulativa de un vector

de flotantes en RenderScript y FilterScript.

3.2 Estrategia 1

La primera estrategia, consiste en limitar las localidades

de memoria sobre las que se ejecutan los hilos por medio

de su ID de hilo.

Ventajas:

a) Se realiza sobre las mismas localidades de

memoria.

b) Facilidad de abstracción.

c) El Kernel en RenderScript se puede llamar recursivamente hasta la condición de paro.

Desventajas:

Se desperdician hilos de ejecución.

El Kernel en RenderScriptse escribiría como lo muestra

el siguiente código (figura 1): Figura 1. Kernel en RenderScript con estrategia 1

intsize;

void root(int32_t *v_out, uint32_t x,uint32_t y) {

if (x < divisor) v_out[y] += v_out[size-y];

}

. Fuente: Elaboración propia

El Kernel en FilterScriptse escribiría como lo muestra el

siguiente código (figura 2):

Figura 2. Kernel en FilterScript con estrategia 1

int size;

rs_allocation input;

float __attribute__((kernel)) root(uint32_t x) {

if(x < size)

return

rsGetElementAt_float(input,x)+rsGetElementAt_float(in

put,size-x) ;

return 0;

}

Fuente: Elaboración propia

3.3 Estrategia 2

La segunda estrategia consiste en aprovechar las

estructuras de datos proporcionadas por FilterScript y

RenderScript.Aunque las estructuras de entrada y salida tienen que ser del mismo tamaño no necesariamente debe

ser del mismo tipo de dato.

Ventajas:

a) Se aprovechan todos los hilos invocados.

b) Se aprovecha toda la memoria reservada.

c) Desventajas:

d) Hay que cambiar el tamaño de memoria para

cada reducción.

e) Hay que adaptar el algoritmo a las estructuras de datos.

En este caso el Kernel en RenderScript y FilterScript el

código sería el siguiente (figura 3):

Page 29: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 138

Figura 3. Kernel en RenderScript y FilterScript con estrategia 2.

float __attribute__((kernel)) root(const float2

v_in,uint32_t x) {

return v_in[0]+v_in[1]; }

Fuente: Elaboración propia

4. RESULTADOS Y DISCUSIONES

Con las estrategias propuestas en la sección anterior se

implementó la Serie de Mercator (ecuación 1) para el

cálculo del logaritmo natural. Se eligió este ejemplo

porque el cálculo de las potencias en la GPU es altamente

costoso.

En el siguiente código (figura 3) se muestra el Kernel

para el cálculo de los valores de la sumatoria:

Figura 4. Kernel para el cálculo de los valores

float2 __attribute__((kernel)) root(uint32_t x) {

float2 resultado;

int id = x+1;

resultado[0] = alter(id)*(pown(n,id)/id); id = total-x;

resultado[1] = alter(id)*(pown(n,id)/id);

returnresultado;

} Fuente: Elaboración propia

Para el diseño de este Kernel se basó en la segunda

estrategia propuesta para la implementación. La tabla 1

muestra los resultados promedios en ejecución

Tabla 1. Resultados obtenidos con ambas estrategias

DATOS Dalvik E1 E2

10 7.106161038 9 8

100 50.49752469 45 30

1000 2550 200 307

100000 6502500 20000 10000

1000000 4.22825E+13 15000 8000

1000000 1.78781E+27 12000 11000 Fuente: Elaboración propia

La grafica 3 muestra el resultado en tiempos, la gráfica 4

muestra los valores obtenidos en la aproximación

obtenida al resolver la serie de Mercator.

Figura 5. Comparativo de los resultados Obtenidos

Fuente: Elaboración propia.

5. CONCLUSIONES

La plataforma de cómputo paralelo RenderScript de

Google es relativamente nueva a comparación de las

otras plataformas y sigue con constantes cambios, lo que

ha generado que su documentación no esté del todo

completa. Otro de los inconvenientes que presenta es que

se necesitan nuevas estrategias para la implementación,

ya que no se tiene control sobre el número de hilos a

ejecutar y otras herramientas que presentan las otras

plataformas de cómputo paralelo; respecto a su

desempeño, como mencionan en [4] donde dicen que OpenCL tiene un performance 88% mejor que su

propuesta Android-Aparapi.

Sin embargo, la plataforma de Google tiene la premisa de

ser compatible con sin número de dispositivos y ejecutar

el código de la manera más óptima en el hardware

disponible en el teléfono, también rescatando una

reducción en el consumo energético.

Con las correctas estrategias de programación se puede

obtener un excelente rendimiento comparable a las otras plataformas y tiene la ventaja de la portabilidad entre

dispositivos móviles.

Como se revisó en este trabajo al utilizar RenderScript se

pueden realizar gran cantidad de cálculos en poco tiempo

en los dispositivos móviles; esto abre la puerta para la

implementación de algoritmos que antes era inaccesible

para estos dispositivos, así el cómputo científico cuenta

con una herramienta que puede ser de vital importancia

para la validación de algoritmos.

6. REFERENCIAS

[1] Membarth, R.; Reiche, O.; Hannig, F.; Teich, J.,

"Code generation for embedded heterogeneous

architectures on android," Design, Automation and Test

in Europe Conference and Exhibition (DATE), 2014,

vol., no., pp.1, 6, 24-28 March 2014.

[2]Cheng-Yan Yang; Yi-jui Wu; Liao, S., "O2render: An

OpenCL-to-RenderScript translator for porting across

various GPUs or CPUs," Embedded Systems for Real-

time Multimedia (ESTIMedia), 2012 IEEE 10th

Symposium on, vol., no., pp.67, 74, 11-12 Oct. 2012

Page 30: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 139

[3] Google Inc. RenderScript [Online].Available:

http://developer.android.com/guide/topics/renderscript/co

mpute.html

[4] Hung-Shuen Chen; Jr-Yuan Chiou; Cheng-Yan Yang;

Yi-jui Wu; Wei-chung Hwang; Hao-Chien Hung; Shih-

Wei Liao, "Design and implementation of high-level

compute on Android systems," Embedded Systems for

Real-time Multimedia (ESTIMedia), 2013 IEEE 11th

Symposium on , vol., no., pp.96,104, 3-4 Oct. 2013

______________________________________________ Jesús Antonio Álvarez Cedillo: Graduado por la Escuela Superior de

Ingeniería Mecánica y Eléctrica (ESIME) del Instituto Politécnico

Nacional, en la Ciudad de México, como ingeniero en comunicaciones

y electrónica en 1997 y posteriormente como Maestro en Ciencias de la

Informática por la Unidad Profesional Interdisciplinaria de Ingeniería y

Ciencias Sociales y Administrativas (UPIICSA) del Instituto

Politécnico Nacional en el año 2002. Desde 2007 es candidato a Doctor

en Tecnologías Avanzadas en el Centro de Investigación e Innovación

Tecnológica (CIITEC) del Instituto Politécnico Nacional. Ha ejercido

como profesor e investigador de tiempo completo del Centro de

Innovación y Desarrollo Tecnológico en Cómputo (CIDETEC) desde

2000. Ha publicado diversos artículos relacionados con arquitectura de

computadoras, procesamiento paralelo y algoritmos de alto desempeño.

Juan Carlos Herrera Lozada: Ingeniero en Comunicaciones y

Electrónica, egresado de la Escuela Superior de Ingeniería Mecánica y

Eléctrica del Instituto Politécnico Nacional, en la Ciudad de México, en

el año de 1996. En 2002 obtuvo el grado de Maestro en Ingeniería de

Cómputo con especialidad en Sistemas Digitales y en 2011 obtuvo el

grado de Doctor en Ciencias de la Computación, ambos en el Centro de

Investigación en Computación del Instituto Politécnico Nacional,

también en la Ciudad de México. Actualmente está adscrito al Centro

de Innovación y Desarrollo Tecnológico en Cómputo del Instituto

Politécnico Nacional, en donde ingresó desde 1998. Ha sido autor de

diversos artículos y ponente en congresos nacionales e internacionales.

Jacobo Sandoval: Actualmente es Profesor Visitante en el proyecto de

Arquitecturas de Sistemas Embebidos para la Investigación Científica y

la Integración de Tecnologías para el Centro de Innovación y Desarrollo

Tecnológico en Cómputo del Instituto Politécnico Nacional, CIDETEC,

tiene Doctorado y Maestría en Tecnología Avanzada por el IPN.

Teodoro Álvarez Sánchez: Maestría en sistemas digitales por Instituto

Politécnico Nacional CINTEC. Estudiante de Doctorado en Ciencias

del IPN-CIC (Cómputo Paralelo).

Page 31: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 140

MÉTODO DE SIMULACIÓN DE REPLICADO DE INFORMACIÓN USANDO UNA BASE

DE DATOS EN JODBC EN UN SISTEMA DISTRIBUIDO TRABAJANDO

CON EL MODELO CLIENTE SERVIDOR.

Resumen— Se construye un simulador en lenguaje Java para

comprobar el replicado de datos en un sistema distribuido,

manejando una base de datos en JODBC siendo esta una API la cual

es independiente del sistema operativo donde se ejecute el programa, o de la base de datos a la cual se accede. Se hace un acuse de recibo a

fin de comprobar que los datos son copiados fielmente del lado

cliente al lado servidor, todo esto bajo la arquitectura cliente-

servidor usando el sistema de sockets con la técnica de paso de

mensajes, y el protocolo tcp/ip.

Palabras claves— Lenguaje Java, Simulador, sockets, Sistema

Cliente-Servidor, replicados de datos, base de datos, ODBC, JODBC.

DUARTE HERNÁNDEZ EZEQUIEL

ALEJANDRO Instituto Tecnológico de Tlalnepantla

[email protected]

ARMANDO DE JESUS RUIZ CALDERÓN

[email protected]

SOFÍA BARRÓN PÉREZ

[email protected]

ABEL GONZALEZ CAÑAS

[email protected]

1. INTRODUCCIÓN

Lo primero que se realiza es configurar el sistema de

ODBC usando el programa de Administración de

orígenes de datos de ODBC de Microsoft con la base de

datos llamada Replicado y tres tablas para el manejo de

los registros de la tabla llamada Persona de los cuales pretenden replicar en el servidor y luego regresar o sea

replicar nuevamente la información y compararla con la

original.

Una vez que se han obtenido los datos de la base de

datos del servidor se prepara el sistema o programa de

comunicaciones para poder enviar los datos usando un

protocolo de comunicaciones tcp/ip mediante el uso de

sockets de comunicación siendo estos de tipo stream o

sea son orientados a no conexión y son no fiables, el cual

permite enviar y recibir información de un punto a otro

sin tener que preocuparse si se recibe o no la información, por lo tanto la información fluye en este

caso del lado cliente al servidor y luego lo más

importante regresar esta información que se ve como una

réplica y ya que la información se regresó viene la

comparación de los datos replicados con el original y

comprobar que no hay ninguna alteración de los datos

que se siguen conservando como el original. Para que se

pueda hacer la conexión se requiere que el lado cliente

use la dirección ip del servidor junto con el número de

puerto al cual se pretende accesar al propio servidor.

2. DESARROLLO DE CONTENIDOS

Para trabajar con el sistema de base de datos en ODBC

de Microsoft se usa la aplicación de Administrador de

orígenes de datos del mismo, es aquí donde se da de alta

una base de datos con la que se va a trabajar en este caso

se llama Replicado que está hecha en Access y el archivo

se llama también REPLICADO.mdb, como se muestra

en la Figura 1.

Figura 1. Base de datos REPLICADO en Access.

Fuente: Elaboración propia

La base de datos Replicado contiene tres tablas que son

Pasatiempo, Persona y Tabla1 de estas la que se va a usar

es la de Persona la cual contiene cuatro atributos que son

Rfc, Nombre, Dirección y Teléfono.

El replicado se inicia desde el primer registro de la tabla

Persona hasta el último registro no importa que tan

pequeño o grande sea como se ve en la Figura 2.

Page 32: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 141

Figura 2. La base de datos Replicado con La tabla Persona.

Fuente: Elaboración propia.

Ya que la base de datos esta lista para usarse se hace el programa para abrir la base de datos y leer todos los

registros de la tabla Persona como se muestra a

continuación en el fragmento de código.

String driverSun =

"sun.jdbc.odbc.JdbcOdbcDriver";

String driverMs =

"com.ms.jdbc.odbc.JdbcOdbcDriver";

// UBICACION DE LA BASE DE DATOS,

HACE REFERENCIA AL MANEJADOR DEL ODBC

String ubicacion = "jdbc:odbc:replicado";

// CLAVE DE ACCESO A LA BASE DE DATOS

String usuario = null;

String contrasena = null;

Como puede observarse se usa el manejador de java el

jdbc y el nombre de la base de datos que se llama

Replicado.

De esta manera ya está listo el programa para poder

Leer de la tabla Persona, todos los registros como se ve

en el fragmento del código siguiente.

while( resultado.next() )

{

String rfc = resultado.getString("Rfc");

String nombre = resultado.getString("Nombre");

String direccion = resultado.getString("Direccion");

String telefono = resultado.getString("Telefono");

z=rfc+" "+nombre+" "+" "+direccion+" "+"

"+telefono+" "+z+" ";

// DESPLEGA LOS DATOS LEIDOS

System.out.println(rfc +" "+ nombre +" " + direccion

+ " " + telefono); }

Luego viene otra parte donde se hace la conexión para

poder enviar los datos del lado cliente al servidor y

viceversa como se muestra en el fragmento de código que

muestra a continuación.

try

{

conexion = new Socket("10.3.40.118" ,7777);

is = new

DataInputStream(conexion.getInputStream());

os = new

PrintStream(conexion.getOutputStream()); System.out.println("servidor contactado");

System.out.println(" LOS DATOS QUE ENVIA

EL CLIENTE SON ++++++++ " + z);

os.println(z);

os.flush();

os.println("8");

os.flush();

String entra = is.readLine();

System.out.println(" LOS DATOS QUE RECIBE

EL CLIENTE SON " + entra);

conexion.close(); // System.exit(0);

}

catch(IOException e)

{ }

}

La conexión se hace con el protocolo ip que es igual en

este caso al servidor ―10.3.40.118‖ y con el número de

puerto 7777. Como puede observarse en el fragmento del

código anterior los datos son enviados en este caso son

Replicados del lado cliente al lado servidor y luego son regresados del lado servidor al lado cliente para ser

comprobados que no se fueran a modificar o sea que

permanezcan íntegros. La parte final se da cuando los

registros de la tabla Persona son enviados del lado cliente

al lado servidor y viceversa como se muestra en la Fig. 3.

Figura 3. Los datos enviados y recibidos lados Cliente.

Fuente: Elaboración propia.

Page 33: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 142

Y en la parte del servidor también se muestran los datos

mostrados en la Figura 4.

Figura 4. Registros replicados en el lado servidor

Fuente: Elaboración propia.

De esta forma se puede concluir que los datos si fueron

replicados con éxito sin sufrir ningún percance como se muestra en la Figura 5. Datos originales de la tabla

Persona y Figura 6.

Figura 5. Datos originales de la tabla Persona

Fuente: Elaboración propia.

Figura 6. Datos Replicados tanto en el servidor como nuevamente en el cliente.

Fuente: Elaboración propia.

Como puede observarse los datos si fueron replicados de

un punto a otro sin ningún fallo lo que demuestra que

para fines didácticos si funciona este trabajo.

Y algo importante como puede observarse en las figuras

5 y 6. El campo 121 con el nombre Martha en los campos

dirección y teléfono no tienen ningún valor esto se ve

reflejado en la Réplica que estos campos que tienen el

valor ―null‖ o sea nulo, o sea que no tienen valor alguno.

3. CONCLUSIONES

Como puede observarse los datos si fueron replicados de

un punto a otro sin ningún fallo lo que demuestra que

para fines didácticos si funciona este trabajo.

Y algo importante como puede observarse en las

figuras 5 y 6. El campo 121 con el nombre Martha en los

campos dirección y teléfono no tienen ningún valor esto

se ve reflejado en la Réplica que estos campos que tienen

el valor ―null‖ o sea nulo, o sea que no tienen valor alguno. Si fueron replicados con su valor de verdad Nulo.

4. REFERENCIAS

[1]A. Silverschatz, Fundamentos de Sistemas

Operativos,7nd ed., P. B. Galvin, G. Gagne, España: Mc

GrawHill, 2006.

[2] A. S. Tanenbaum, Sistemas Distribuidos, 2ed., M. V.

Steen, Amsterdam, Holanda, Pearson Educación, 2008.

[3] J. C. Pérez, Sistemas Operativos una Visión

Aplicada, 2ed., F. G. Carballeira, P. de M. Anasagasti,

España: Mc Graw Hill, 2007.

Page 34: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 143

FACTIBILIDAD DE AHORRO DE ENERGIA CON EL DESARROLLO SECUENCIAL DEL

ANALISIS DE CONGLOMERADOS

Resumen— El desarrollo de un algoritmo secuencial para análisis de

conglomerados es importante para realizar estudios de la clasificación

de objetos u organismos, la utilización del vecino más cercano permite

hacer el análisis de forma más adecuada el poder trabajar este

algoritmo con una sola computadora facilita el estudio pues ya no se

requiere equipos más complejos que gastan mucha energía

Palabras clave: Análisis de conglomerados, clusters, cómputo

paralelo, S-Link.

ARMANDO DE JESUS CALDERON

Biólogo M.I

Profesor investigador

Instituto Tecnológico de Tlalnepantla

[email protected]

MARIA VERONICA ESTRELLA SUAREZ

Ingeniero Industrial eléctrica Dr.

Profesor investigador

Instituto Tecnológico de Tlalnepantla [email protected]

JORGE RICARDO GERSENOWIES

RODRIGUEZ

Biólogo Dr.

Profesor a nivel licenciatura

Instituto Tecnológico de Tlalnepantla

[email protected]

EZEQUIEL ALEJANDRO DUARTE

HERNANDEZ Lic. en Ing. Mecánica y Eléctrica,

Profesor investigador

Instituto Tecnológico de Tlalnepantla

[email protected]

1. INTRODUCCIÓN

En la actualidad y desde el inicio del uso de las computadoras, el modelo comúnmente utilizado es el

modelo de cómputo secuencial propuesto por Von

Newman, que consiste de una unidad central de proceso

con una memoria de acceso aleatorio además de un

conjunto de instrucciones de lectura, escritura y

operaciones aritméticas básicas. Sin embargo la

necesidad de tener respuestas más rápidas a problemas

complejos, hace que éste modelo de cómputo no sea el

único, existen otros modelos de cómputo como es el caso

del cómputo paralelo, cuyo principal objetivo es el de

realizar cálculos complejos más rápidos utilizando varios

procesadores de manera simultánea, esto trae como resultado un desempeño mucho más elevado, que en

aquellos equipos donde se utiliza el modelo de cómputo

secuencial y que tiene solo un procesador que se utiliza

de forma secuencial [1].

Otro de los objetivos del cómputo paralelo es el de

reducir la complejidad algorítmica de aquellos problemas

que son muy complejos y que si se tuviera que utilizar

una computadora secuencial el problema a resolver

tardaría mucho tiempo o quizás no se podría resolver,

como sucede con algunos algoritmos biológicos que se utilizan para la clasificación de organismos tomando

como base sus semejanzas; tal es el caso del análisis de

conglomerados, este tipo de algoritmos utiliza una

muestra muy grande de datos, lo que hace que su

complejidad aumente dificultando con ello su resolución.

El análisis de conglomerados es una técnica de estadística

multivariada está compuesto de un número determinado

de objetos similares agrupados todos en una muestra.

Ésta técnica, se considera como el estudio formal de

algoritmos y métodos de agrupamiento o agrupación de

objetos [2]. Es útil en muchas áreas de análisis de

patrones, agrupación, toma de decisiones, y minería de

datos entre otras áreas [6].

El análisis de conglomerados no categoriza ni etiqueta a

los elementos utilizando clasificaciones previas lo que se conoce como una clasificación no supervisada [6], la

característica distintiva y que diferencia al análisis de

conglomerados, del análisis discriminante como el

reconocimiento de patrones, es, el no tener una etiqueta

por categorías, el objetivo del análisis de conglomerados,

es simplemente encontrar una clasificación válida y

adecuada de los datos, pero no establecer reglas para

hacer separaciones de los datos en las siguientes muestras

de datos.

Ya en 1974 Everitt [3] definía a un conglomerado como un conjunto cerrado de objetos similares, que se

Page 35: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 144

encuentran agrupados juntos entre ellos, y tiene las

siguientes características:

a) Un conglomerado o cluster, es un conjunto de

entidades las cuales no son idénticas, y las entidades

de diferentes conglomerados no son idénticos.

b) Un conglomerado es una agregación de puntos

dentro de un espacio de prueba, en la que la distancia entre cualesquiera dos puntos en el conglomerado es

menor que cualquier distancia fuera de el.

c) Los conglomerados pueden ser descritos como

regiones conectadas en un espacio multidimensional,

que contiene regiones con relativa alta densidad de

puntos, separados de otras regiones que contienen

relativa baja densidad de puntos.

Se asume que los objetos que se van a clasificar se

representan como puntos en el espacio de prueba, siendo

su principal problema, la identificación de los datos en cada conglomerado para poder especificar la proximidad

entre ellos y como medirla.

Existen varios métodos para realizar el análisis de

conglomerados como son:

a) El método Jerárquico aglomerativo

b) El método divisivo

c) El método de las medias globales-k [8,9]

d) El método de grafos entre otros [2]

Para este trabajo se seleccionó el utilizar el método de jerárquico aglomerativo, con el esquema del vecino más

cercano, también conocido como método jerárquico

aglomerativo, o SLINK, ―Single linkage clustering

method‖ ya que otros métodos como el de las medias

globales-k que trabajan a partir de aproximaciones por

incrementos[8,9], o los métodos divisivos que trabajan

con diferencias no son lo más adecuado para el algoritmo

que se desarrolla.

Este método, (S-LINKAGE), define la mayor similaridad

entre dos conglomerados cualquiera, calculando el promedio aritmético de las similitudes entre los objetos

de n conglomerados [4]; para poder desarrollar éste

método,

1. Se coloca cada elemento en su propio conglomerado,

se construye una lista de todas las distancias entre los

diferentes conglomerados y los ordena de manera

ascendente.

2. A través de la lista ya ordenada de distancias se hace

la estandarización de los datos utilizando la

ecuación.

3. Una vez realizada la estandarización se calcula la

similaridad entre cada elemento calculando la

distancia entre cada elemento utilizando el

coeficiente de Jaccard, el cual es un coeficiente de

similaridad.[4]

4. Utilizando el índice de Gower, se van agrupando

aquellos elementos cuya distancia sea menor y se va

dibujando el dendrograma

El índice de Gower fue descrito en la década de los años 70 por J.C. Gower, éste es un coeficiente de medición

general que calcula la similaridad o distancia entre dos

unidades definidas. Éste coeficiente, utiliza una matriz de

similitudes para medir la cercanía entre un par de

elementos utilizando todos los pares de elementos de la

muestra de datos. [5]

2. OBJETIVO

Proponer un algoritmo secuencial para realizar análisis de

conglomerados que será utilizado en la clasificación de

organismos, utilizando sus caracteres fenotípicos.

3. CONTRIBUCION

Con el desarrollo y utilización de éste algoritmo

secuencial, se está sugiriendo el uso de los recursos de

una sola computadora, lo que representa un ahorro

significativo de energía, además de desarrollar un

algoritmo que se utilizará en el estudio y análisis de la

clasificación de un grupo de peces cartilaginosos.

4. METODOLOGIA

1. Realizar la obtención de los datos de los datos de los

organismos

2. Una vez que los datos se obtuvieron se colocan en

una matriz.

3. Se realiza la estandarización de los datos

4. Se calcula la matriz de semejanza

5. Se ejecuta el método de closterización seleccionado

en este caso corresponde al vecino más cercano o S-

Link

6. Se reorganiza la matriz en pequeñas matrices de semejanzas

7. Se dibuja el dendrograma [4]

5. RESULTADOS

Se utilizó una matriz de ―700 x 14‖ para poder resolver

este algoritmo, el algoritmo utilizó información

correspondiente a 700 especies de elasmobranquios

hipotremados, de diferentes partes del mundo y

pertenecientes a diferentes grupos taxonómicos, la

información recabada de los organismos fue

Page 36: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 145

bibliográfica, y se tomaron las descripciones existentes

de algunos de los grupos del catálogo de la FAO [7]

Se encontró que el algoritmo tiene una complejidad

Elevada de O(n3)

El algoritmo se pudo resolver en una computadora con

procesador Intel core i5 con 4 Gb en RAM, sistema

Operativo Yosemite, se programó en lenguaje objective C; sin embargo se considera que el algoritmo no tiene

buen desempeño pues se puede mejorar, se está

trabajando en una actualización del algoritmo para

mejorar su desempeño del algoritmo y que pueda trabajar

con una muestra más grande además de reducir su

complejidad para poder bajar su tiempo de ejecución.

El hecho de que el algoritmo se haya podido resolver con

una computadora secuencial, con un solo procesador, es

importante, ya que este algoritmo se trató de resolver en

el año de 1995 y con el hardware existente en ese tiempo,

no se pudo procesar de manera secuencial teniéndose que paralelizar; al estar paralelizando el algoritmo se intentó

ejecutar en una computadora SP1 de IBM utilizando

PVM y no fue exitoso ese intento, se generó un cluster

con 9 computadoras utilizando LINUX ―Red Hat ‖ y

PVM para Linux y existieron complicaciones importantes

para el desarrollo del algoritmo

CONCLUSIONES

1. El algoritmo se pudo ejecutar en una computadora

secuencial con un procesador Intel core I5 2. El ahorro de energía que se da al utilizar solo una

computadora siendo este desarrollo de gran

importancia, pues en el año de 1995 que se planteó

resolver este problema y requería de una

computadora paralela o de un cluster de

computadoras lo que generaba un gasto muy grande

de energía, además de una complejidad para

programar muy elevada.

3. El algoritmo utilizado tiene una complejidad de

O(n3) lo que hace que su tiempo de ejecución no

sea el mejor 4. Reduciendo la complejidad y mejorando las

técnicas de programación se puede optimizar aún

más su ejecución.

5. Con el uso de este algoritmo se pueden comprobar

las clasificaciones taxonómicas de grupos de

organismos, utilizando sus caracteres fenotípicos,

los cual también ahorros importantes en recursos

económicos, pues los estudios de genotipo

utilizando ADN son muy costosos

6. La tecnología actual con el poder de cómputo de

este tipo de microprocesadores permite procesar

algoritmos muy complejos. 7. De acuerdo con el FIDE, (Fideicomiso para el

Ahorro de Energía Eléctrica). El ahorro de energía

utilizando este algoritmo es claro, pues una laptop

consume en promedio 60 Watts, mientras que el

cluster utilizado anteriormente para el desarrollo de

este algoritmo consume aproximadamente 1350

watts al ser un cluster de 9 computadoras con un

consumo aproximado de 150 Watts por cada nodo

REFERENCIAS

[1] Joseph, Já Já ―An introduction to Parallel Algorithms‖ Addison Wesley, USA 1992

[2] K. Anil, C. Richard Dubes, ‖Algorithms for

Clustering Data‖, Prentice Hall, NJ, pp. 15, 16, 64, 65,

1988.

[3] Everitt, B.S. ―Cluster Analysis‖, John Wiley &

Sons. Inc. New York

[4] Romesburg H, ―Cluster Analysis for

Researchers‖,Krieger Publishing, Malabar Florida pp

120-123

[5] Gower, J. C. ―A general coefficient of similarity

and some of Its properties‖ Biometrics Vol. 27 No.4 (Dec

1971) pp 857-871 [6] A. K. Jain; M.N. Murty; P.J. Flynn; ―Data

Clustering: A Review‖; ACM Computing Surveys, Vol

31, No. 3, September 1999 pp 265, 266 275,276, 277

USA

[7] FAO ―Species Catalogue for Fishery Purposes‖

No. 7 ISSN 1020-8682

[8] L. Aristidis, V. Nikos, J. Verbeek ―K-means

clustering Algorithm‖, Pattern Recogntion Vol 36 pp

451-461 Elsevier

[9] A. Amir, L. Dey, ―Ak-mean ―clustering

algorithm for mixed numeric and categorical data‖, Data & Knowledge Engineering, Vol 63 pp 503-527, Elsevier

Page 37: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 146

ALGORITMO GENÉTICO SIMPLE EN EL PROCESAMIENTO

DE LENGUAJE NATURAL

Resumen-- Este trabajo plantea la aplicación de

algoritmos genéticos a la obtención de palabras de

entrada y de salida que representan procesos no

lineales en los que aparecen términos producto,

describiéndose el método y las ventajas de su utilización

mediante simulaciones realizadas en MATLAB. Lo cual

se aplica al procesamiento de lenguaje natural.

Palabras claves-- Algoritmos Genéticos, Inteligencia Artificial.

DORA MARÍA CALDERÓN NEPAMUCENO

Profesora Investigadora

EFRÉN GONZÁLEZ GÓMEZ

Profesor Investigador

DORICELA GUTIÉRREZ CRUZ

Profesora

WALTER CHARLES BAUTISTA TRACONIZ

Estudiante Licenciatura en Ingeniería de Sistemas

Inteligentes. Universidad Autónoma del Estado de México

Unidad Académica Profesional Nezahualcóyotl

[email protected]

1. INTRODUCCIÓN

Un algoritmo genético es un método que se utiliza para

resolver problemas de búsqueda y optimización. Se basa

en la genética natural y en la teoría de la evolución de Darwin, utilizando la información histórica para

encontrar nuevos puntos de búsqueda de una solución

óptima a problemas para los que no existe un método

preciso. [5]

Los algoritmos genéticos son una de las principales

herramientas tecnológicas de la inteligencia artificial y

requieren una función-objetivo para llevar a cabo la

búsqueda de soluciones, intentando encontrar aquella

que optimice dicha función.

Una vez que el algoritmo genético obtiene una población y en base a la función objetivo aplicada a cada

uno de los individuos, se seleccionan los mejores y se

combinan para generar nuevas poblaciones; este proceso

se repite hasta que se cumplan los criterios de paro. [1]

Funcionamiento básico de un algoritmo genético

A continuación se muestra el funcionamiento básico de

un algoritmo genético, considerando que previamente es

necesario determinar una función objetivo del problema

de optimización y especificar la manera de codificar las

posibles soluciones.

Generación de la población inicial

Normalmente l algoritmo genético genera de forma

aleatoria una población para el primer ciclo, formada por

un conjunto de cromosomas (individuos), o cadenas de

bits a los cuales se les aplica la función objetivo.

Evaluación de los cromosomas

La evaluación se realiza calculando la función objetivo

para cada uno de los cromosomas que forman la

población actual. De esta forma se determina la

adaptación de cada individuo de la población actual.

Las funciones para la evaluación de la aptitud son

específicas a cada problema.

Selección

Consiste en seleccionar los cromosomas que serán

cruzados en la siguiente generación. Los cromosomas

con mejor aptitud tienen mayor probabilidad de ser

seleccionados.

Existen diferentes métodos de selección que pueden

utilizar los algoritmos genéticos.

A continuación se describen brevemente dos de ellos:

Método de la ruleta o selección proporcional: Este

método consiste en crear una ruleta en la que cada

cromosoma tiene asignada una fracción proporcional a su aptitud. A los individuos más aptos se les asigna un

área mayor de la ruleta, para que sean seleccionados más

veces que los menos aptos.

Método del torneo: En este método se eligen subgrupos

de individuos de la población y después se hace

competir a los individuos que integran cada subgrupo.

Se elige el individuo de cada subgrupo que tenga el

valor de aptitud más alto. [2][3]

Cruza Es el intercambio de material genético entre dos

cromosomas a la vez para generar dos descendientes

donde se combinan las características de ambos

cromosomas padres. Una forma común de cruza consiste

en establecer un punto de intercambio en un lugar

aleatorio del cromosoma de los dos individuos, y uno de

los individuos contribuye todo su código anterior a ese

punto y el otro individuo contribuye todo su código a

partir de ese punto para producir una descendencia.

Mutación

Page 38: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 147

Al igual que una mutación en los seres vivos cambia un

gen por otro, una mutación en un algoritmo genético

también causa pequeñas alteraciones en puntos

determinados del código de un individuo.

Por último, se comprueba si alguno de los individuos

disponibles satisface los criterios establecidos y se puede

considerar como solución al problema.

El algoritmo genético se detiene cuando se cumpla un

número determinado de generaciones o cuando no haya

cambios en la población.[4]

2. DESARROLLO

El programa inicia pidiendo la palabra objetivo y la

palabra inicial, independientemente de sus tamaños, ya

que la palabra inicial se ajustara a la palabra objetivo. Si

la palabra inicial es mayor, el programa la recorta al

tamaño de la palabra objetivo, y si es menor, obtiene

letras del abecedario aleatoriamente para completar el

tamaño. Para obtener las letras adicionales se utiliza una

función random sobre el abecedario, y de este modo se

genera las letras necesarias. La conversión a binario se

hace utilizando una función llamado Bin, donde el resultado lo guarda en un arreglo para su posterior

extracción. El siguiente paso consiste en hacer una

selección y competencia de individuos, es decir, de los

valores de 0 y 1 de las palabras ya convertidas, se toma

el mayor y se asigna como el ganador. Posteriormente se

inicia el proceso de cruce entre el individuo ganador y

perdedor, para extraer de ellos los genes que generaran

al nuevo individuo. Al nuevo individuo se le aplica el

proceso de mutación para mejorarlo, el grado de

mutación depende de la necesidad requerida, en nuestra

caso es de 40%, lo que indica que el nuevo individuo es

totalmente distinto al individuo anterior generado. El nuevo individuo pasa a ser nuestra nueva palabra inicial,

y se le aplica nuevamente el algoritmo genético, para

extraer las características necesarias, y de esta forma se

repite el proceso hasta que se logre el objetivo que es

encontrar la palabra final.

¿Qué se requiere para aplicar un algoritmo genético?

Esto conlleva la ejecución de un ciclo compuesta de

diferentes etapas. A continuación se presenta un

esquema con el correspondiente ciclo:

El ciclo está compuesto por los siguientes pasos:

1. Generar población

2. Evaluar adecuación

3. Los mejores se reproducen, los peores se extinguen

4. Aplicar mutaciones

5. Actualizar población

6. Volver a etapa 2

EJEMPLOS

Ejemplo 1: Palabra Playa y océano

Fuente: Elaboración propia.

Ejemplo 2.

Fuente: Elaboración propia.

3. CONCLUSIONES

Los algoritmos genéticos son una herramienta útil para

obtener soluciones de problemas que requieren la

optimización y cuyas posibles respuestas se encuentran

dentro de un universo limitado. La vida es un proceso de

constante evolución que implica transformaciones

ordenadas y no-ordenadas de los sistemas en donde se

desarrolla, sobre todo el procesamiento de lenguaje

natural. Esto parece trascender a los mercados

financieros, donde se viven cambios a consecuencia de las decisiones humanas. El hecho de pensar que los

algoritmos computacionales puedan tener una base en la

evolución de los organismos puede ser sorprendente, sin

embargo el hecho de que los Algoritmos Genéticos

puedan ser aplicados a muchas áreas donde los

conocimientos computacionales actuales como las

búsquedas aleatorias o graduales no han tenido

resultados óptimos nos conduce a pensar que los

Algoritmos Genéticos constituyen realmente una

poderosa herramienta de búsqueda heurística con la

habilidad de explotar y aprender de sus dominios.

Page 39: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 148

Lo Algoritmos Genéticos son relativamente fáciles de

entender e implementar, y su principal ventaja y

desventaja a la vez es su robustez, si posee una mala

implementación, el Algoritmos Genéticos seguirá

corriendo y tarde o temprano encotrará el problema o

encotrará un óptimo local.

Dejemos que la naturaleza sea nuestra guía, dado que la

mayoría de los problemas a los que se van a aplicar los

algoritmos genéticos son de naturaleza no lineal, es

mejor actuar como lo hace la naturaleza, aunque

intuitivamente pueda parecer la forma menos acertada. Por ultimo dejemos que la naturaleza actúe de forma

distribuida, por tanto, se debe de minimizar la necesidad

de operadores que "vean" a la población. Ello permite,

además, una fácil paralelización del algoritmo genético.

Por ejemplo, en vez de comparar el rendimiento de un

individuo con todos los demás, se puede comparar sólo

con los vecinos, es decir, aquellos que estén, de alguna

forma, situados cerca de él.

4. REFERENCIAS

Koza John R., Genetic Programming On the

Programming of Computers by Means of Natural

Selection. Editorial MIT Press, 1998.

Bramer Max, Devedzic Vlandan, Artificial Intelligence

Applications and Innovations. Editorial Kluwer

Academic,2004.

Coppin Ben, Artificial Intelligence Illuminated.

Sudbury, MA. Editorial Jones and Bartlett, 2004.

Russell Stuart y Norving Peter. Inteligencia Artificial:

Un enfoque moderno. Editorial Prentice Hall, 2004.

Lakhmi C., Martin N. M., Fusion of Neural Networks,

Fuzzy Systems and Genetic Algorithms: Industrial Applications.Editorial CRC Press, 1998.

Dora María Calderón Nepamuceno: Doctora en

Ciencias en la especialidad en Control Automático.

Profesora Investigadora de tiempo completo en la

Universidad Autónoma del Estado de México – Unidad

Académica Profesional Nezahualcóyotl. Áreas de

interés: Ingeniería de software e Inteligencias Artificial

(Sistemas Basados en conocimiento).

Efrén González Gómez. Maestro en Ciencias en Sistemas Computacionales. Profesor Investigador de

tiempo completo en la Universidad Autónoma del

Estado de México – Unidad Académica Profesional

Nezahualcóyotl. Áreas de interés: Reconocimiento de

Patrones e Inteligencias Artificial

Doricela Gutiérrez Cruz. Doctora en Sistemas.

Profesor de tiempo completo en la Universidad

Autónoma del Estado de México – Unidad Académica

Profesional Nezahualcóyotl. Áreas de interés:

Ingeniería de software e Inteligencias Artificial

(Sistemas Basados en conocimiento).

Charles Walter Bautista Traconiz. Alumno décimo

semestre de la licenciatura en Ingeniería en Sistemas

Inteligentes, en la Universidad Autónoma del Estado de

México – Unidad Académica Profesional

Nezahualcóyotl. Áreas de interés: Reconocimiento de

Patrones e Inteligencias Artificial.

Page 40: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 149

PROCESAMIENTO DE IMÁGENES APLICADOS A LA EDUCACIÓN

Resumen— En el procesamiento de Imágenes es necesario

implementar algoritmos de bajo costo para identificar objetos básicos,

como son figuras geométricas, líneas, etc. El trabajo de procesar

imágenes conlleva al uso de algoritmos con los que se pueden

identificar líneas o figuras geométricas básicas. EL procesamiento de una imagen digital tiene como objetivos, el mejoramiento de la

información gráfica para la interpretación humana y el procesamiento

de los datos e información. Existen diferentes metodologías para la

visión por computadora (interpretación de imágenes) las cuales se han

ido desarrollando con el paso del tiempo, capaces de reconocer

formas e interpretar una imagen conforme a las características o

patrones que posee una imagen digital. La utilización de

reconocimiento de patrones es muy eficiente para realizar sistemas de

muy bajo costo, para conceptos básicos de la geometría,

trigonometría, álgebra y la aritmética, que siendo conocimientos no

muy complejos son básicos para que sean adquiridos por el alumno de una forma amigable.

Palabras claves— Patrones, Figuras, Geométricas, Educación.

DORA MARÍA CALDERÓN

NEPAMUCENO

Universidad Autónoma del Estado de México

Unidad Académica Profesional

Nezahualcóyotl [email protected]

EFRÉN GONZÁLEZ GÓMEZ

GABRIELA KRAMER BUSTOS

DORICELA GUTIÉRREZ CRUZ

EDGAR FIGUEROA ARENAS

Universidad Autónoma del Estado de México

Unidad Académica Profesional

Nezahualcóyotl

1. INTRODUCCIÓN

El desarrollo tecnológico en los últimos días ha hecho que los gráficos por computadora o el procesamiento de

la imagen sea un importante y popular desarrollo en el

ámbito de la tecnología moderna. El reconocimiento de

patrones tanto como la interpretación de imágenes

digitales han tenido procesos significativos, en los

centros de investigación hay un interés por el

procesamiento de la imagen y el reconocimiento de

patrones y en desarrollar mejores metodologías para la

visión por computadora.

El procesamiento de una imagen digital tiene como objetivos, el mejoramiento de la información gráfica para

la interpretación humana y el procesamiento de los datos

e información.

Existen diferentes metodologías para la visión por

computadora (interpretación de imágenes) las cuales se

han ido desarrollando con el paso del tiempo, capaces de

reconocer formas e interpretar una imagen conforme a las

características o patrones que posee una imagen digital.

La utilidad o la necesidad de interpretar una imagen, son

necesarias en el Área de la ingeniería, la computación, tecnologías de la información, etc.

Los algoritmos más usados para la interpretación de

imágenes los abordaremos en este documento, haremos

alusión al algoritmo de Hough, empleado en

reconocimiento de patrones de una imagen, la cual

permite encontrar formas como círculos, líneas, entre

otras, dentro de la imagen, la versión más sencilla

consiste en encontrar líneas. El modo de funcionamiento es estadístico y de acuerdo a los puntos que se tengan se

debe averiguar las posibles líneas en las que puede estar

el punto, lo cual se logra por medio de una operación que

es aplicada a cada línea en un rango determinado.

Abordaremos otro algoritmo para tener el esqueleto de

una imagen el cual servirá para el reconocimiento de una

forma o figura.

2. DESARROLLO

En el procesamiento de imágenes es necesario

implementar algoritmos de bajo costo para identificar objetos básicos, como son figuras geométricas, líneas,

etc. El trabajo de procesar imágenes conlleva al uso de

algoritmos con los que se pueden identificar líneas o

figuras geométricas básicas, uno de ellos es la

transformada de Hough.

La Transformada de Hough es una técnica para la

detección de figuras en imágenes digitales. Esta técnica

es mayormente usada en el campo de Visión por

Computadora. Con la transformada de Hough es posible

encontrar todo tipo de figuras que puedan ser expresadas matemáticamente, tales como rectas, circunferencias o

elipses.

La transformada de Hough fue propuesta y patentada en

1962, por Paul Hough, inicialmente esta técnica solo se

aplicaba en la detención de rectas de una imagen, ya

Page 41: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 150

después con el paso del tiempo se extendió para detectar

cualquier figura que se pudiera descubrir con unos

cuantos parámetros, como los eran comúnmente

circunferencias y elipses.

La idea básica es encontrar curvas que puedan ser

parametrizadas como líneas rectas, polinomios y círculos.

Se puede analíticamente describir un segmento de línea

en varias formas [1].

Consideramos un punto ( ) y la ecuación de la recta,

de la forma pendiente y ordenada al origen.

Por el punto ( ) pasan infinitas rectas, pero todas

satisfacen la ecuación anterior para diferentes valores de.

Escribiendo esta ecuación en la forma

Cambio de parámetros ahora en el plano (espacio de

parámetros) da lugar a una única recta para el par

( ). Ahora al considerar un segundo punto ( ), también va a tener su recta asociada en el espacio de

parámetros . Al trazar las rectas se cortarán en el

espacio de parámetros en un punto ( ), donde es la pendiente y b’ la ordenada al origen de la recta que

contiene a los puntos ( ) y ( ) en el plano.

Todos los puntos de esa recta en el plano xy darán lugar a

rectas diferentes en el espacio de parámetros que se

cortan en un único punto ( )

La transformada de Hough usa el espacio de parámetros

en forma de celdas acumuladoras, donde ( ) y

( ) son los rangos para la pendiente y la

ordenada al origen, los cuales los rangos son variables y

es a criterio del problema o dimensión de la imagen. La

celda de coordenadas ( ) con un valor de acumulador

( ) corresponde al cuadrado asociado con las

coordenadas ( ) del espacio de parámetros.

Inicialmente todas las celdas del acumulador de inicializan en 0.

Entonces para cada punto ( ) de la imagen a

reconocer, permitiendo que el parámetro pueda tomar

cualquier valor de entre los mi (rango) y calculamos

usando la ecuación del espacio de parámetros, valor de

entre los (rango). Si para un valor en el acumulador

en coordenadas ( ) resultó un valor ( ) se tiene

que hacer:

( ) ( )

Donde son los subíndices de la tabla acumuladora.

Cuando se tenga un máximo en la celda acumuladora se

procede a que para a cada punto ( ) obtenemos

valores de correspondientes a los posibles valores de

.

Fig. 1. Tabla acumuladora.

Fuente: Elaboración propia

2.1 Algoritmo de adelgazamiento o esqueletización

La esqueletización o adelgazamiento es la

transformación de una componente de la imagen

original . Esta transformación busca reducir la

cantidad de datos o simplificar la forma del objeto, con

el fin de encontrar características útiles en algoritmos de

reconocimiento y clasificación.

Gran variedad de métodos se han propuesto con el

objetivo de preservar una componente conectada que

represente a la imagen digital, al simplificar la forma, o

reducir la cantidad de datos, propone una clasificación de

los métodos de esqueletización a partir de los operadores

que emplean:

a) Métodos cuyos operadores se basan en la

transformada de distancia.

b) Métodos cuyos operadores reportan líneas medias o centrales.

c) Métodos cuyos operadores están caracterizados por

adelgazamientos iterativos.

El cual un algoritmo clásico para tener un

adelgazamiento es el siguiente, Un algoritmo de

imagen consiste en una sucesión * + de transformaciones de imagen y una condición de

terminación . La aplicación del algoritmo consistirá en la aplicación sucesiva e iterada de las transformaciones

que lo componen hasta llegar a la condición de

terminación .

Suponemos que tenemos la siguiente imagen:

Page 42: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 151

Fig. 2. Ejemplo de imagen con pixeles.

Fuente: Elaboración propia.

Recorremos cada pixel de la imagen hasta encontrar un

pixel negro en el cual se crea una vecindad de todos

los pinceles adyacentes al pixel analizado ( )

Se recorre la vecindad P donde se analizaran los colores

que son diferentes ( ) del color de la figura que se

quiere adelgazar en este caso será negro 0 y blanco 1 no

contando con el pixel que se está analizando, también se

analizara en número de transiciones de 1 a 0 en la

secuencia siguiente:

Tabla 1. Ejemplo de tabla

P9 P2 P3

P8 P1 P4

P7 P6 P5

Fuente: Elaboración propia.

La cual cumplirá con las siguiente condiciones, las

cuales si cumple se etiquetara para borrado.

a) ( ) El número de pixeles diferentes de 1 sea mayor o igual a 2 pero menor o

igual que 6.

b) ( ) El número de transacciones

sea igual a uno.

c) El producto sea igual a 0

d) El producto sea igual a 0

Si cumple con los 4 pasos se procederá a etiquetarlo

para borrado.

Se vuelve iniciar el proceso iterativo repitiendo todo el

procedimiento a cada pixel negro encontrado y alterando

pasó c) y d) de la siguiente forma:

a)

b)

2.2 Reconocimiento de figuras geométricas básicas

La plataforma en la cual se trabajara es en el entorno de

Visual Studio con el lenguaje de programación de C++.

Primero se trabajara la imagen de la figura la cual se

reconocerá, trataremos la imagen convirtiéndola a un

efecto de binarización.

Para cada triada del pixel de la imagen, se le asignara

un mismo valor, , sumando cada componente

y realizar un promedio.

Si el promedio sobrepasa un umbral de 128

(color) se realiza:

La imagen se cargara solo en Blanco y Negro.

Fig. 3. Ejemplo de colores cargados en la imagen.

Fuente: Elaboración propia.

Teniendo la imagen en blanco y negro, se procede a

realizar un método el cual solo tendrá el esqueleto

de la figura. Con trabajo del algoritmo de

esqueletizacion o adelgazamiento, se tendrá una imagen

de menos grosor, el nivel de pixeles se reducirá el cual

facilitara el cálculo sus rectas o figuras que tiene la

imagen. Para cada pixel negro encontrado de la imagen, cumplirá

con las siguientes condiciones:

( )

El número de pixeles diferentes de 1 sea mayor o igual a

2 pero menor o igual que 6.

( ) El número de transiciones sea igual a uno.

El producto sea igual a 0

El producto sea igual a 0.

Si cumple con los 4 pasos se precederá a etiquetarlo para

ser borrado.

Se vuelve iniciar el proceso iterativo repitiendo todo el

procedimiento a cada pixel negro encontrado y alterando pasó c) y d) de la siguiente forma:

) )

Teniendo el esqueleto de la figura se puede saber cuáles

son las formas que la integran, en este caso está

conformado por rectas. Reconocer las rectas que la

Page 43: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 152

integran y sus ecuaciones puede ser un poco costoso si

lo pensamos en forma procedimental para resolver el

problema, el cual con ayuda de la Transformada de

Hough se pueden calcular las figuras que lo integran,

en este caso serán rectas. El cual mediante su modelo

estadístico cada punto representa líneas infinitas las

cuales se cruzan y se obtiene un punto. Las rectas se

obtienen para hacer el reconociendo de la figura:

Fig. 4. Rectas para reconocimiento de figura.

Fuente: Elaboración propia.

El encontrar rectas con el algoritmo o transformada de

Hough usando un umbral propuesto para limitar el

número de rectas que puede haber en la figura, tiene una variación en cual el umbral no es contante, dependiendo

de qué forma o figura se va a reconocer; por lo que a

veces el umbral varía y debe de ser manual ante un

usuario.

El problema planteado es que un umbral dado para al

algoritmo, para la discriminación de rectas del

acumulador, puedes ser ±número de rectas esperadas

correctas. Si tiene un numero de rectas, mas, de lo

esperado, algunas rectas son paralelas entre si y

contienen una mínima distancia una de otra por lo que se

realiza una pequeña depuración con un umbral dado pero ahora para la discriminación de rectas; se toma en

cuenta un pequeño perímetro para saber que rectas son

paralelas y que rectas no lo son, ya que las que no,

pertenecen a otra arista de la figura. Por lo que se platea

tomar todo el número de rectas de cada arista y realizar

una media, así para tener el promedio de las rectas

resultantes y así tener una estimación esperada para la

recta correcta.

Con ayuda de las rectas obtenidas ya depuradas,

podemos tener sus pendientes y ordenadas al origen y

:

Lo cual teniendo sus pendientes y sus ordenadas

podemos saber cuáles y en qué punto del plano existe la

intersección de una recta con la otra.

Si se tiene la razón:

Se conoce su intersección en y sustituir en:

Se conoce su intersección en sabiendo cuáles son sus

intersecciones de cada vértice, sus coordenadas en el

plano, podremos sacar sus segmentos, distancia,

diferencia de cada intersección el cual podremos saber

básicamente de que figura se trata. Por ejemplo: si

existen 4 rectas y 4 intersecciones, y la distancia entre

dos puntos de cada vértice es igual, podría tratarse

posiblemente de un cuadrado. De otra forma si se conocen sus vértices y la longitud de cada una de ellos o

sus pendientes de cada recta, podrían saberse sus

ángulos internos con la siguiente razón [2]:

|

|

Si se conocen sus ángulos internos (ángulos rectos de

90) y se sabe que la longitud de la distancia de cada una

de las intersecciones es igual, si podría tratarse más

firmemente de un cuadrado. En el caso de un rombo casi posee las mismas características que el del

cuadrado, solo que ahí nos ayudaría conocer

forzosamente sus ángulos internos ya que a diferencia

del cuadrado sus ángulos no son rectos, y sus

ángulos opuestos con iguales. Un triángulo solo tiene

tres intersecciones, el cual al momento de que se

detecten 3 rectas se sabrá fácilmente que se trata de un

triángulo, por lo que se hace, es calcular sus ángulos

internos para saber qué tipo de triangulo es.

Fig. 5. Ejecución del programa el cual reconoce un Rombo

Fuente: Elaboración propia.

3. CONCLUSIONES

Sabemos que el poder de las matemáticas junto con la

computación puede ser un monstruo en la tecnología y avances en la ciencia, ingeniería y computación.

Comprobamos que aplicando algoritmos no muy costosos

computacionalmente y con cálculos no muy complejos,

se puede realizar un reconocimiento de visión por

computadora el cual puede ser una base para hacer

grandes cosas como por ejemplo hacer un

reconocimiento facial o yendo más allá reconocer formas

o figuras dentro de una imagen de video. Vimos que el

poder del algoritmo de Hough es muy eficiente para

realizar sistemas de muy bajo costo, y de lo importante

de tener presente conceptos básicos de la geometría,

Page 44: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 153

trigonometría, algebra y la aritmética, que siendo

conocimientos no muy complejos a un nivel de

ingeniería, pueden ayudar de mucho sobre todo en el

nivel educativo.

4. REFERENCIAS

[1]. Swokowski, E. (1989). Cálculo con Geometría

Analítica. 2da. Edición. Grupo Editorial Iberoamericana [2]. John C. Russ (1998) The Image Processing

Handbook, 3rd ed. Ed. IEEE Press.,

[3]. Pogorélov A.V. (1974), Ed. Mir. Moscú, Geometría

elemental.

______________________________________________ Dora María Calderón Nepamuceno: Doctora en Ciencias en la

especialidad en Control Automático. Profesora Investigadora de tiempo

completo en la Universidad Autónoma del Estado de México – Unidad

Académica Profesional Nezahualcóyotl. Áreas de interés: Ingeniería de

software e Inteligencias Artificial (Sistemas Basados en conocimiento).

Gabriela Kramer Bustos. Maestra en Ciencias de la educación.

Profesor Investigador de tiempo completo en la Universidad Autónoma

del Estado de México – Unidad Académica Profesional

Nezahualcóyotl. Áreas de interés: Educación.

Efrén González Gómez. Maestro en Ciencias en Sistemas

Computacionales. Profesor Investigador de tiempo completo en la

Universidad Autónoma del Estado de México – Unidad Académica

Profesional Nezahualcóyotl. Áreas de interés: Reconocimiento de

Patrones e Inteligencias Artificial

Doricela Gutiérrez Cruz. Doctora en Sistemas. Profesor de tiempo

completo en la Universidad Autónoma del Estado de México – Unidad

Académica Profesional Nezahualcóyotl. Áreas de interés: Ingeniería de

software e Inteligencias Artificial (Sistemas Basados en conocimiento).

Edgar Figueroa Arenas. Alumno décimo semestre de la licenciatura

en Ingeniería en Sistemas Inteligentes, en la Universidad Autónoma del

Estado de México – Unidad Académica Profesional Nezahualcóyotl.

Áreas de interés: Reconocimiento de Patrones e Inteligencias Artificial

Page 45: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 154

REDUCCIÓN DEL ORDEN DE PROCESO DE FUSIFICACIÓN MEDIANTE DISEÑO DE

ARQUITECTURA EN FPGA

Resumen— La lógica difusa ha encontrado una gran aceptación y

utilidad en el control automático, debido a las ventajas que ofrece

tales como robustez a las incertidumbres e imprecisiones, versatilidad,

sin embargo la reducción del orden de un algoritmo de inferencia

difusa permitiría abrir las puertas a la lógica difusa a aplicaciones en

las cuales no tiene el mismo impacto debido a su costo computacional,

tales como el procesamiento digital de imágenes en tiempo real o el

procesamiento de señales en tiempo real.

En el presente trabajo se desarrollan estrategias para la reducción de

orden de un algoritmo de fusificación, proceso importante en cualquier sistema de inferencia difusa, haciendo uso de las

herramientas que el FPGA ofrece, tales como el paralelismo, memoria

distribuida o máquinas de estados finitos.

Palabras claves— Complejidad de algoritmos, Lógica difusa,

Fusificación, FPGA.

EMANUEL ONTIVEROS ROBLES

Universidad Autónoma de Baja California.

[email protected]

JOSÉ LUIS GONZÁLEZ VÁZQUEZ

Universidad Autónoma de Baja California.

[email protected]

OLIVIA MENDOZA DUARTE

Universidad Autónoma de Baja California.

[email protected]

1. INTRODUCCIÓN

El orden o complejidad de un algoritmo [1] puede no ser

relevante si se trata de un algoritmo que maneja una

cantidad de datos relativamente pequeña, sin embargo

existen campos de la computación en los cuales la

cantidad de datos es enorme y por consiguiente, el

reducir la complejidad de un algoritmo juega un papel

crucial para poder llevar a cabo y darle utilidad a los

mismos; uno de estos campos es el procesamiento de imágenes, donde se manejan gran cantidad de datos y con

entornos variables. Otro campo en el cual es deseable la

reducción del orden de un algoritmo es en donde se lleva

a cabo un procesamiento constante y en tiempo real.

Considerando las ventajas que ofrece la implementación

de la lógica difusa, tales como la tolerancia a

perturbaciones (hablando de entornos variantes y con

ruido) y la versatilidad que proporciona tener una base de

conocimiento propuesta por un experto, se considera una

alternativa atractiva y que no ha sido aprovechada al

máximo en este diversos campos de procesamiento digital de señales, control, entre otros debido al costo

computacional que representa. [2]

Debido a que se considera a la fusificación un proceso

común tanto en sistemas de inferencia difusa de

Mamdani o TSK (Takagi Sugeno Kang) , en el presente

trabajo se lleva a cabo un análisis de la complejidad del

proceso como bloque funcional de un sistema de

inferencia difusa [2], con el fin de identificar el alcance y

capacidades de la implementación en software

considerando la carga computacional y proponer una

arquitectura en VHDL que atienda la necesidad de reducir el orden de este algoritmo, y establecer

argumentos que permitan determinar el alcance de una

posterior arquitectura del proceso de inferencia difusa

como herramienta de procesamiento de alta velocidad

[4].

Para lograr la reducción del orden del algoritmo se hace

uso del paralelismo y el empleo de flujo de datos por

medio de máquinas de estado finito, para diseñar

estratégicamente una arquitectura para la fusificación

reduciendo así su complejidad y disminuyendo el tiempo

de procesamiento [2].

2. ORDEN DE ALGORITMO DE FUSIFICACIÓN

Con el propósito de explicar el contexto del grado de

complejidad y del alcance de las estrategias propuestas en

el trabajo se define el concepto de orden de un algoritmo,

posteriormente una breve referencia a los conceptos de

máquina de inferencia difusa para posteriormente

ahondar sobre la complejidad que implica el proceso de

fusificación.

ORDEN DE LOS ALGORITMOS El orden o complejidad de un algoritmo se refiere a la

cantidad de operaciones que contiene o bien a la cantidad

de memoria que requiere [1].

El orden de un algoritmo puede ser de igual forma

expresado por el comportamiento que tenga un algoritmo

en función de sus datos o de sus argumentos de entrada,

siendo el orden lineal el deseado y ordenes como el

factorial, el polinomial, entre otros, los no deseados.

A continuación se muestra un ejemplo de reducción de

orden de algoritmo mediante paralelismo.

Considerando la siguiente operación aritmética, suma de

cuatro productos.

Page 46: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 155

( )

Como se puede apreciar en Fig. 1, el número de

operaciones para la resolver la ecuación 1 es 7, 4

multiplicaciones y 3 sumas.

Figura 1: a) Procesamiento centralizado, b) Paralelismo

Fuente: elaboración propia

Se puede observar como de esta manera el número de

operaciones efectivas se reduciría a 2, puesto que todas

las multiplicaciones y las sumas se harían de forma

paralela.

MÁQUINA DE INFERENCIA DIFUSA

El objetivo de una máquina de inferencia difusa es poder

depositar en ella una representación del conocimiento de

un experto en forma de reglas si-entonces de forma

lingüística con valores continuos de verdad (membrecía)

en el intervalo 0 a 1, de esta forma, la toma de decisiones

se aproximaría más al conocimiento humano y se obtiene

un sistema tolerante a perturbaciones e incertidumbres, lo

cual lo hace versátil [2, 3, 4].

Figura 2: Maquina de inferencia difusa

Fuente: elaboración propia

En la Fig. 2, se muestra el esquema general de una

máquina de inferencia difusa, en el presente trabajo se

dirige la discusión hacia el primer bloque, la fusificación.

FUSIFICACION

La fusificación es el bloque encargado de la conversión de los valores numéricos a valores lingüísticos, esto

mediante la evaluación de funciones matemáticas

conocidas como funciones de membrecía.

Existen gran cantidad de funciones de membrecía pero en

el presente trabajo se realiza la fusificación mediante la

función trapezoidal, debido a que es de bajo orden y que

contiene como un caso puntual, cuando ―b‖ es igual a

―c‖, a la función triangular. [2] Figura 3: Función trapezoidal

Fuente: elaboración propia

Debido a que la función trapezoidal es una función no

lineal, como se observa en la Fig. 3, es necesario realizar

una evaluación por intervalos, se expresa en la ecuación

2.

( ) {

(2)

ALGORITMO DE EVALUACIÓN DE FUNCIÓN

DE MEMBRECIA

El algoritmo presentado en Fig. 4, hace referencia a la

evaluación de una función de membrecía, individual,

como evaluación de la ecuación 2.

Figura 4: Algoritmo de evaluación de función trapezoidal

Fuente: elaboración propia

En el algoritmo se puede observar que se ejecutan al

menos 5 procesos, hablando de un procesamiento

centralizado como en una PC, esto implicaría que el

orden del algoritmo es lineal se expresa en la ecuación 3.

Σ

GxH

ExF

CxD

AxB

(A)

(B)

AxB CxD + ExF GxH + +

Base de reglas

Inferencia

difusaDe Fusificación Fusificación

a b c d

Xi<a MF =0

Xi<b MF=m1X

Xi<c MF=1

Xi<d MF=m2X

MF=0

si

si

si

si

EvaluarMF(X, a,b,c,d,m1,m2,MF)

Retorno

Page 47: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 156

( ) (3)

Sin embargo, el proceso de fusificación implica la

evaluación del conjunto completo de funciones de

membrecía, esto implica que el orden de la fusificación

sería el orden de la evaluación individual de la función de

membrecía, multiplicado por ―n‖ numero de funciones.

Figura 5: Conjunto de funciones de membrecía

Fuente: elaboración propia

( ) (4)

De tal manera, el orden de la fusificación en el presente

trabajo se expresa en función del número de funciones de

membrecía a evaluar (ecuación 4).

ESTRATEGIAS DE DISEÑO PARA LA

REDUCCIÓN DE ORDEN

Un dispositivo FPGA (Field Progammable Gate Array)

se trata de un dispositivo con bloques lógicos que tienen

la ventaja de ser reconfigurables, haciendo de este un versátil dispositivo que puede albergar operaciones tan

complejas como él mismo. Dichos módulos operativos

pueden ser descritos mediante el lenguaje VHDL, se trata

de un lenguaje descriptor de hardware. [2]

En el presente trabajo se buscara hacer uso del VHDL

para la implementación de la fusificación, dicha

alternativa ha sido explorada por ejemplo en [3,4] sin

embargo, se propone la evaluación del sistema mediante

la complejidad del algoritmo, y se aborda la discusión no

solo desde el bajo nivel de los datos que se emplean sino desde el contexto de matemáticas discretas [1].

ESTRATEGIA PARA EVALUACIÓN DE

FUNCIÓN TRAPEZOIDAL

La estrategia empleada para la evaluación de las

funciones de membrecía es básicamente un selector y un

bloque multiplicador mediante lógica combinacional y

dos valores estáticos que se asignan en caso de cumplirse

las condiciones correspondientes a las regiones de la

evaluación del trapecio.

Es posible de esta manera realizar la evaluación de una

función trapezoidal en tan solo un paso, y no en cinco, y

cuyo único retraso es le inherente asociado a la no

idealidad de los bloques combinacionales del FPGA (Fig. 6).

Figura 6: Modulo para evaluación de función trapezoidal

Fuente: elaboración propia

Haciendo uso de esta estrategia el orden de la evaluación

de una función de membrecía se reduce a 1 (ecuación 5).

( ) (5)

ARQUITECTURAS PROPUESTAS

PARALELA – MÍNIMO TIEMPO DE EJECUCIÓN

La estrategia de diseño para la obtención del tiempo

mínimo de ejecución se basa en el paralelismo, como muestra Fig. 7, Al realizar en un solo periodo la

evaluación de todas las funciones de membrecía, la

función se lleva a cabo en el menor tiempo posible y se

mantiene constante independientemente de las funciones

de membrecía que se evalúen.

Figura 7: Modulo paralelo para la fusificación

Fuente: elaboración propia

( ) (6)

El orden del algoritmo permanece constante (ecuación 6),

sin embargo esta estrategia consume una cantidad de

recursos proporcional al número de funciones de

MF

2

MF

3

MF

4

MF

n-1

MF

n

MF

1

Dominio de la variable

Gra

do

de

ve

rda

d

MFi(x)

m1X

1

0

m2X

X

MF1(x)

MF2(x)

MFn-1(x)

MFn(x)

x

Fusificación

Page 48: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 157

membrecía, debido a esto su demanda de recursos le

impide aplicaciones con una cantidad de funciones de

membrecía que superen los recursos del FPGA [6]

ITERATIVA – OPTIMIZACIÓN DE RECURSOS

La estrategia de diseño para la optimización de recursos

surge de la implementación del paralelismo en conjunto

con herramientas como la memoria distribuida y una máquina de estados finitos (Fig. 8).

Figura 8: Modulo iterativo para fusificación

Fuente: elaboración propia

La arquitectura iterativa funciona controlando el flujo de datos mediante la máquina de estados finitos y

ejecutando la evaluación de cada función de membrecía

de manera secuencial. El algoritmo en Fig. 9 explica el

flujo de datos que se lleva a cabo por medio de la

máquina de estados finitos.

Figura 9: Algoritmo de la máquina de estados (fusificación

iterativa)

Fuente: elaboración propia

( ) (7)

En esta propuesta se logra un algoritmo de orden lineal

(ecuación 7), es decir que el tiempo de ejecución es

proporcional al número de funciones de membrecía,

aunque a diferencia de la arquitectura paralela, en esta

arquitectura la cantidad de recursos empleados se

requieren relativamente estática.

EXPERIMENTACIÓN Y RESULTADOS

A continuación se presentan los resultados obtenidos en

términos de reducción de orden (número de operaciones

por fusificación) y del tiempo de procesamiento mediante

simulaciones realizadas en el software ISE de Xilinxs.

COMPARACIÓN DEL ORDEN DE LOS

ALGORITMOS

La Fig. 10 que muestra el comportamiento del orden del

algoritmo de fusificación en las tres estrategias

discutidas, en software (Matlab), Paralela y la iterativa

(VHDL).

Figura 10: Comparación de variantes de fusificación

Fuente: elaboración propia

Como se puede observar, el orden de la fusificación

puede ser reducido en gran medida mediante las

estrategias planteadas.

SIMULACIONES

Para las siguientes simulaciones (Fig. 11, Fig. 12) se

emplearon 4 funciones de membrecía y se da cuenta del

retardo aproximado en el procesamiento, se realizaron en

el software de simulación que ofrece ISE [7].

Figura 11: Respuesta de fusificación iterativa

Fuente: elaboración propia

MFi(x)x

Fusificación

Maquina de estados finitosCLK

Reg_MF1

Reg_MF2

Reg_MFn

Reg_MFn-1

ROM

Inicio

Xi, MFi params

Eval mf1

Eval mf2 Guarda mf1

Eval mf3 Guarda mf2

Eval mfn-1 Guarda mf3

Eval mfn Guarda mf-1

Guarda mfn

Page 49: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 158

Figura 12: Respuesta de fusificación paralela

Fuente: elaboración propia

En la Tabla 1, se sintetizan los resultados con fines de

comparar las estrategias de fusificación discutidas. Se

refiere como recursos al recurso más limitado los

MULT18X18 o módulos multiplicadores.

Tabla 2: Comparación de alternativas de fusificación

Arquitectura Retardo % Recursos Orden

Iterativa ~60nS 5% N

Paralela ~20nS 20% 1

Hardware (Matlab) ~78µS NA 5n

Fuente: elaboración propia

3. CONCLUSIONES

Las arquitecturas propuesta obtuvieron un resultado

satisfactorio, debido a que el objetivo era el de reducir el

orden del algoritmo de fusificación, se tienen pues

criterios para decidir entre una arquitectura u otra, mientras que la arquitectura paralela ofrece el máximo de

velocidad también requiere muchos recursos, como se

muestra en la tabla los MULT18X18 son bloques

dedicados a la multiplicación y que al alcanzar el límite

de los mismos la tasa de crecimientos de recursos se

dispararía geométricamente, esto significa que para poder

hacer uso de esta estrategia es necesario invertir en un

FPGA con mayores recursos y por ende más costoso, su

contraparte, la arquitectura iterativa se puede considerar

como una arquitectura más equilibrada en términos de

velocidad y recursos y puede ser empleada en

aplicaciones más complejas sacrificando tasas de procesamiento.

En posteriores trabajos se buscara el diseño de

arquitecturas que complementen a las diseñadas en el

presente trabajo, con el fin de completar una arquitectura

que realice todo el proceso de una inferencia difusa, esto

con el fin de expandir el horizonte de aplicaciones de la

lógica difusa hacia áreas más demandantes de la

tecnología.

4. REFERENCIAS

[1]SeymourLipschutz,‖MATEMÁTICAS DISCRETAS‖,

3rd. ed., Mc Graw Hill, 2009.

[2] Kevin M. Passino,‖Fuzzy Control‖, 3rd. ed., Addison

Wesley Longman, 2009.

[3]Gonzalez J.L. et al, ―FPGA as a Tool for

Implementing Non-fixed Structure Fuzzy Logic

Controllers‖, Industrial Electronics, Foundations of

Computational Intelligence, 2007. FOCI 2007. IEEE

Symposium on, pp. 523-530. 2000.

[4] K. M. Deliparaschos, et. al, ―A Fast Digital Fuzzy

Logic Controller: FPGA Design and Implementation‖, Emerging Technologies and Factory Automation, 2005.

ETFA 2005. 10th IEEE Conference on Vol. 1. 4pp. 262.

2005.

[5]Pong P. Chu, ‖FPGA PROTOTYPING BY VHDL

EXAMPLES Xilinx SpartanTM-3 Version‖, 1st. ed.,

John Wiley & Sons, 2008.

[6] Spartan-3E FPGA Starter Kit Board, User´s Guide,

Xilinx, 2011, pp. 2-10-2-35.

[7] ISE, In-Depth Tutorial, Xilinx, 2012, pp. 2-10-2-35.

Emanuel Ontiveros Robles. : Ingeniero Electrónica por la

Universidad Autónoma de Baja California. Estudiante de Maestría en

Ciencias (Electrónica) por UABC.

José Luis González Vázquez. : Ingeniero Industrial en Electrónica;

Maestría en Ciencias Computacionales, por Instituto Tecnológico de

Tijuana; Doctorado en Ciencias por UABC.

Olivia Mendoza Duarte: Ingeniero en Computación por UABC,

Maestría en Ciencias Computacionales, por Instituto Tecnológico de

Tijuana; Doctorado en Ciencias por UABC.

Page 50: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 159

RENDIMIENTO DE PROCESADORES MANYCORE SOBRE TOPOLOGÍA 2D

Resumen-- Actualmente atrae la atención, investigaciones en sistemas

de procesadores, que funcionen con computó paralelo, donde la

compartición de memoria, es una de las alternativas para atender la

necesidad de optimizar el rendimiento de procesos. Se presenta el

análisis del rendimiento de estos sistemas escalares, superescalares,

multicore y manycore, siendo el manycore con topología 2D el que

demostró un rendimiento 10 veces mejor que los anteriores, en tiempo

de respuesta (Epiphany-GPU 192.1 ciclo máquina a 600 MHz y

Arm9 1772.9 ciclos máquina a 667 MHz). El manycore presento

mejores resultados en tiempo de ejecución, tiempo de acceso a memoria, rendimiento y bajo consumo de energía estos son factores

directos que influyen en el alto rendimiento.

Palabras Claves-- Multicore, Manycore, memoria compartida,

topología.

TEODORO ÁLVAREZ SÁNCHEZ

RAUL MUÑOZ ORTIZ

ANDRÉS CALVILLO TÉLLEZ

MIGUEL ÁNGEL ROMERO MIRANDA

Instituto Politécnico Nacional, CITEDI.

Av. del Parque No. 131O, Mesa de Otay,

Tijuana, Baja California, MÉXICO.

[email protected]

[email protected]

[email protected] [email protected]

1. INTRODUCCIÓN

Por más de 60 años - desde los primeros días de las

mainframe a través de la revolución de la PC de la

década de 1980 y el éxito de hoy de dispositivos móviles

inteligentes - la tecnología de procesador siempre ha

evolucionado para satisfacer las expectativas de los

usuarios, en los tiempos de conducción de innovaciones

imprevistas en la industria de la computación. Dada la

diversidad de los nuevos dispositivos móviles que

lleguen al mercado sobre una base diaria, las

innovaciones del procesador siguen siendo una fuerza

poderosa para el cambio [6].

Con la incorporación del cómputo móvil, la arquitecturas

de procesador se han desplazado a las computadoras de

escritorio tradicionales, incluso a las laptop, esto es

impulsado por el rendimiento, portabilidad, compacto,

ahorradores de energía, alta integración, rapidez, en parte

económica es otro factor determinante para la evolución

de la Investigación en computación, etc.

Es importante señalar, que el procesador es llamados

actualmente core, los procesadores muticore o manycore

poseen más de un core, es decir más de una unidad de cómputo en un mismo encapsulado. Esto aumenta el

rendimiento, en especial si se utilizan más de una

aplicación al mismo tiempo.

Hoy en día, los beneficios de esta alto rendimiento, la

arquitectura de procesador de bajo consumo están dando

sus frutos en dispositivos como televisores digitales y set-

top boxes, equipo de oficina, como impresoras y

copiadoras y dispositivos móviles como tabletas,

unidades de juegos portátiles, y smartphones. Desde mediados del 2000 se han propuesto a desarrollar CPUs,

mejorando en el rendimiento de un solo thread, no sólo se

vuelve cada vez más difícil, pero también va en contra de

las limitaciones de eficiencia energética de los dispositivos. Esto se debe a que exponencialmente, se

requiere más energía para obtener un porcentaje de

rendimiento.

La Solución multicore pueden ofrecer un mayor

rendimiento en las frecuencias comparables a los diseños

de un solo core, mientras que ofrece un ahorro energético

importante en términos de costo y eficiencia. Además, las

soluciones de múlticore pueden aprovechar los cores con

su gran cantidad de transistores optimizando, al

suministrar la alimentación a ellos sólo cuando sea necesario. En esencia, esto puede ser pensado como el

equilibrio de carga inteligente. No sólo un sistema

necesita ser considerado, cual el procesador es el más

adecuado para ejecutar una tarea específica, sino que

también debe tener en cuenta el rendimiento requerido de

esa tarea y asignarla al procesador más adecuado con la

energía disponible.

El uso de cores necesarios, esto nos permite mantener

los demás inactivo ayudando al consumo de energía, que

no afecta el rendimiento. Como las tareas se distribuyen

a través de múltiples núcleos de procesador. Un procesador diseñado con tecnología de los 80 no podría

funcionar a plena capacidad reduciendo voltaje y

frecuencia de reloj. Los procesadores multicore permiten

que el voltaje y la frecuencia sea reducidos. Esto se

traduce en ahorros de energía significativos relacionados

con el rendimiento global del sistema.

Un enfoque de "múlticore" para procesamiento

multicore requiere ejecutar cargas para ser compartidos a

través de muchos procesadores más pequeños, tal como

un Cortex-A5, en vez de simple thread con múltiples cargas de trabajo de un solo procesador core. Los

diseñadores de procesadores están implementando cada

Page 51: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 160

vez más grupos de procesadores para trabajar juntos,

compartiendo datos y tareas entre los caches o varias

instancias del mismo procesador.

Muchos core se vuelve aún más interesante ya que los

procesadores más pequeños trabajan juntos para ofrecer

un nivel de ejecución combinado con menor consumo de

energía que un gran procesador de multitarea con la

misma carga de trabajo. Como se mencionó anteriormente, los costos asociados con un mayor

rendimiento sobre un subproceso son exponenciales; Sin

embargo, con el procesamiento multicore el costo se

vuelve más lineal en escala. Los diseñadores están

utilizando muchos cores para reducir significativamente

los costos al integrarlos al sistema.

Como diseñadores de hardware comienzan a implementar

estos sistemas de múltiples cores, los desarrolladores de

software tendrán que producir código capaz de utilizar

una solución de procesamiento múlticores.

Hasta entonces, los dispositivos deben tener la capacidad

de ejecutar tareas de alto rendimiento. Un ejemplo de un

sistema que contienga ambos multicores de alto

rendimiento y la mayor eficiencia de energía de muchos

cores en el sistema CPU y GPU, donde el GPU de

muchos cores puede entregar cómputo gráfico utilizando

menos energía que multicore CPU.

Dado que el GPU sigue siendo coherente con el CPU y

comparte sus cachés, ancho de banda de memoria externa

y la demanda del rendimiento del CPU se puede reducir. Los lenguajes como CUDA, OpenCL/C/C++, Phyton

para epiphany están trabajando para las aplicaciones más

genéricas.

La arquitectura Epiphany es una de las últimas

arquitecturas manycore en aparecer; se trata de una

arquitectura de 16 o 64 cores, expandible hasta 4,096

cores en un futuro.

Entre sus características notables se encuentran una

arquitectura manycore, escalable, con memoria compartida capaz de ejecutar cómputo paralelo. Esta

arquitectura ofrece una potencia de 50 Gigaflops por watt

en cálculos de simple precisión.

Está fabricada con el proceso de manufactura de 28 nm y

está conformada por 16 y 64 núcleos basados en una

arquitectura RISC e interconectados vía una red interna

de alta velocidad; el chip funciona a una frecuencia de

800 MHz, ofreciendo una potencia de 100 gigaflops y un

TDP (thermal design point) de apenas 2W.

Cada uno de sus núcleos utiliza un diseño muy simple, el cual es similar a los núcleos de los GPU o de

aceleradores como Xeon Phi, obviamente sin el hardware

x86 de este último.

En la figura 1, se muestran los componentes claves en la

arquitectura Epiphany.

Figura 1. Componentes de la Arquitectura Epiphany.

Fuente: Elaboración propia

Un superes calar, un CPU RISC de punto flotante en cada

nodo que puede ejecutar dos operaciones en punto flotantes y una operación de carga en memoria de 64 bits

con cada ciclo de reloj.

La memoria local en cada nodo proporciona 32

Bytes/ciclo de ancho de banda sostenido y es parte de un

sistema de memoria compartida, distribuida.

La infraestructura de comunicación Multicore en cada

nodo que incluye una interfaz de red, un acelerador DMA

multicanal, decodificador de dirección multicore y una

red de monitores.

Una red de malla 2D con latencias comunicación en el

chip de nodo a nodo en nanosegundos, con cero

sobrecarga inicial.

2. METODOLOGÍA

De manera general la investigación del sistema de

manycore procesa los datos de la imagen Lena.jpg que

tiene la imagen imperfecciones por la captura del

dispositivo:

La investigación la dividimos tres fases:

En la primera fase, el sistema obtener la imagen de

Lena.jpg

En la segunda fase, se analizara la imagen alteradas con

ruido gaussiano, es un tipo de ruido generado por el

dispositivo de captura (cámaras y escáner)[1][2].

En la tercera fase, se ejecutara el programa que llame a la

imagen Lena, a esta imagen que se le aplique el filtro basado en el dominio en frecuencia y que sea ejecutado

con 1 core , 4 cores y 16 cores obteniendo los

resultados de las ejecuciones desplegadas en el monitor

como se muestra en la figura 2.

Page 52: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 161

Figura 2. Proceso de restauración de imagen a través de filtros.

IR IF

Fuente: Elaboración propia

2. DESARROLLO DEL SISTEMA

En la actualidad, las computadoras modernas cuentan con

procesadores de arquitectura multicore, las cuales

integran varias unidades de procesamiento en un sólo encapsulado. Estos procesadores son capaces de ejecutar

simultáneamente varias tareas utilizando hilos, procesos

o por paso de mensajes, permitiendo con esto que las

aplicaciones se ejecuten en menor tiempo. Para explotar

el paralelismo disponible a nivel de hardware, la

aplicación debe ser descompuesta en diferentes partes.

De esta manera cada unidad de core disponible podría

ejecutar una parte de la aplicación en paralelo con otras

unidades cores. La descomposición de la aplicación debe

ser seguida por la sincronización de las diferentes partes

de la aplicación para asegurar que se conserva la consistencia.

Además, la programación paralela se puede implementar

de diferentes formas y con distintos lenguajes de

programación [5]. La arquitectura Epiphany utilizada

para el desarrollo de esta investigación, posee un modelo

de programación neutral y compatible con la mayoría de

los métodos de programación paralela, incluyendo:

SIMD – Single Instruction Multiple Data, SPMD –

Single Program Multiple Data, programación maestro-

esclavo, MIMD, Flujo de datos estático y dinámico,

Array sistólico, Multihilos de memoria compartida, paso de mensajes y CSP - Procesos de Comunicación

Secuencial.

EL código puede escribirse en lenguaje C/C++ estándar,

compilarse y ejecutarse en un solo núcleo, siempre que

las matrices A, B y C sean colocadas en la memoria local

de los núcleos. En este ejemplo de programación, no

existe diferencia entre la arquitectura Epiphany y alguna

otra plataforma con un solo procesador. Para acelerar el

cálculo matemático, es posible utilizar varios núcleos

simultáneamente. Primero se distribuyen las matrices A, B, C en P tareas. Por la naturaleza estructural de una

matriz, la manera más adecuada de distribuir las tareas,

es por bloques pequeños. Para ello se hacen programas

(SPMD – Single Program Multiple Data) que se ejecutan

en cada uno de los núcleos.

La figura 3. muestra que la multiplicación de matrices

puede dividirse en 16 tareas y cada una de ellas ejecutada

en los núcleos de la red. La transferencia de datos durante

la ejecución de las tareas, entre cada nodo, se realiza

mediante la interfaz para paso de mensajes incluida en el

entorno de programación de Epiphany (SDK) o

directamente escribiendo en la memoria compartida

global[4].

La multiplicación de matrices en paralelo se completa en

√P pasos, (donde P es el número de procesadores), con

cada tarea de multiplicación de matrices operando sobre el conjunto de datos que son del tamaño de √P por √P.

En cada paso del proceso, se hacen modificaciones a la

matriz C, después de lo cual la matriz A se mueve hacia

abajo y la matriz B se mueve a la derecha. Este ejemplo

se puede programar utilizando lenguaje de programación

estándar ANSI.

La arquitectura Epiphany proporcionan funciones

específicas para simplificar la programación multicore,

pero su uso no es obligatorio, esta arquitectura permite a

los programadores innovar en todos los niveles. Este

algoritmo, implementado en la arquitectura Epiphany con 16-cores operando a 1 GHz, resuelve la multiplicación de

matrices de 128 x 128 en 2 ms. Este ejemplo demuestra

cómo es posible escalar la arquitectura para miles de

cores y cómo crece linealmente el rendimiento de la

arquitectura Epiphany con el número de cores cuando se

utilizan modelos adecuados de programación y

distribución de datos [4].

Figura 3. Flujo de datos en la multiplicación de matrices.

Fuente: Elaboración propia

3. BENEFICIOS CLAVE DE LA

ARQUITECTURA

La arquitectura Epifanía fue diseñada para un buen

rendimiento en una amplia gama de aplicaciones, pero

realmente se destaca en aplicaciones con alta localidad

espacial y temporal de los datos y código. Ejemplos de

Page 53: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 162

tales dominios de aplicación incluyen: procesamiento de

imágenes, la comunicación, el procesamiento de la señal

del sensor, el cifrado y la compresión. Alta velocidad de

comunicación entre procesadores son compatibles con la

Epifanía arquitectura 2D Mesh ™ Red-on-Chip (NOC),

que se muestra en la figura 3b, que se conecta los nodos

de procesador en un chip. La red de malla para el tráfico

en alto rendimiento es usada en aplicaciones en tiempo

real.

La red se aprovecha de localidad espacial y una

abundancia de cables cortos punto a punto en el chip para

enviar Transacciones completas que consiste en dirección

de origen, dirección de destino, y los datos en un solo

ciclo de máquina. Cada enlace de enrutamiento puede

transferir hasta 8 bytes de datos en cada ciclo máquina, lo

que permite 64 bytes de datos a fluir a través de cada

nodo de enrutamiento en cada ciclo máquina, el apoyo a

un ancho de banda efectivo de 64 GB/seg a una

frecuencia de funcionamiento de la malla de 1GHz.

A continuación tenemos las siguientes figuras 4a y 4b

que nos muestra diferentes arquitecturas del mismo

enfoque de alto rendimiento y el consumo de energía que

tiene Epifanía.

Facilidad de uso: Una arquitectura de múltiples núcleos

que sea programable con ANSI-C/C+ +. Esto hace que la

arquitectura sea accesible a todos los programadores,

independientemente de su nivel de experiencia.

Eficacia: Las instrucciones de propósito general para superescalar, bancos de registros sin restricciones, se

asegura de que el código de aplicación escrito en ANSI-C

puede acercarse al rendimiento teórico máximo de la

arquitectura de la Epifanía. Baja potencia:

Optimizaciones de micro arquitectura, una alta

integración de circuitería eléctrica y un amplio periodo

de tiempo, que permite hasta 70% de eficiencia de

procesamiento Gflop/Watt, utilizando tecnología de

diseño de 28nm.

Escalabilidad: La arquitectura puede escalar a miles de núcleos en un solo chip, y millones de núcleos dentro de

un sistema más grande. Esto proporciona la base para las

futuras mejoras en el rendimiento de un mayor

paralelismo.

Figura 4a. Comparación de arquitecturas

Fuente: Elaboración propia

Figura 4b. Consumo de energía de Epifanía

Fuente: Elaboración propia

VENTAJA EFICAZ DE EPIFANÍA

La arquitectura Epifanía es un desarrollo tecnológico

muy bien diseñado y estructurado. Este diseño ya ha

completado cuatro generaciones de silicio de la arquitectura, la tabla 1 muestra claramente las ventajas de

características de la arquitectura, la epifanía en

comparación con otras arquitecturas del mismo enfoque

de la competencia. En la figura 5 se muestra las ventajas

de la eficiencia indiscutible de la arquitectura Epifanía.

Tabla 1.Caracteristicas de cores

Fuente: Elaboración propia

Page 54: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 163

Figura 5. Eficiencia de la arquitectura Epifanía

Fuente: Elaboración propia

CARGAS DE TRABAJO

Una de las grandes ventajas de esta arquitectura es que cualquiera que esté familiarizado con C/C ++ puede lograr grandes resultados en muy poco tiempo. Absolutamente no hay idiomas, bibliotecas o construcciones de programación propietarias que se requieran. En la tabla 2 se muestra las latencias de tiempo de ejecución en diferentes lenguajes y la eficiencia sobre arquitecturas SIMD.

Tabla 2. Rendimiento de cargas de trabajo

Fuente: Elaboración propia

4. RESULTADOS

En la figuras 4a, 4b, 6 y tabla 2 mostramos la equivalencia de las arquitecturas SIMD con la arquitectura Epifanía en consumo y rendimiento, en este momento se tiene contemplado en trabajar sobre las siguientes generaciones del procesador Epiphany-IV de 64 y 128 procesadores, que funciona a 800 MHz, para tener resultados prácticos sobre las arquitecturas multicore, manycore donde hay que ser radical, para mejorar la eficiencia energética donde debe haber cambios

en la manera de programar y educar en la manera de pensar de cómo ejecutar dos o más tareas simultáneamente acompañado con los conceptos del ahorro de energía, como un dato importante Epifanía competirá con rivales como Tilera, Nvidia, Advanced Micro Devices, ARM e Intel, se espera que alcance una precisión de 70 y 100 Gigaflops/watts.

Figura 6. Rendimiento del core Epiphany

Fuente: Elaboración propia

5. CONLUSION

En este momento, el procesador actual Epiphany-IV funciona a 800 MHz, y se espera que alcance una precisión de 70 gigaflops/vatio, dos veces la eficiencia proporcionada en los sistemas anteriores. En el mercado de supercomputo, este procesador tendrá que competir con las soluciones GPGPU de AMD y Nvidia(Tesla M2050, GPU GeForce GT 120, GPU GeForce9800 GX2, Tilera(Tile-Gx), así como el con

procesador Knights Ferry MIC, y con otros microprocesadores diseñados con FPGA de otras marcas. El CPU Epiphany-IV esta, diseñado con una tecnología de 28nm, con lo cual este CPU tendría una virtud muy importante, porque será capaz de tener un buen rendimiento en un espacio pequeño, sin incrementar demasiado el consumo energético, por lo que esta plataforma Epiphany-IV, demuestra una ruta de acceso inmediato hacia la meta de 50 GFLOPS por vatio, que DARPA

debería alcanzar en 2018 en aplicaciones de computación de alto rendimiento.

Agradecimientos

El resultado de este trabajo se deriva del proyecto SIP-20151394, apoyado por la Secretaría de Investigación y Posgrado del IPN.

6. REFERENCIAS [1] Reza. H. M, ―An Anisotropic Fourth-Order Di_usion Filter For Image Noise Removal‖, International Journal of Computer Vision, Vol. 92. No 2. pp 177-191. 2011. [2] Vajda. A, “Multi-core and Many-core Processor Architectures”, pp 3. May 2011. [3] Sánchez, M. G. y col, ‖Performance Evaluation of

using Multi-Core and GPU to Remove Noise in Images‖, [En línea]. pp. 72,82,106, 113, 2011b. [4] Epiphany, SDK Reference Manual (2014)[En línea]. Disponible en: http://www.adapteva.com/wp-content/uploads/2013/04/epiphany _sdk _reference .4.13.03.301.pdf

010002000

TIEM

PO

Cores

RENDIMIENTO 9.2%

2 CORES

16 CORES

Page 55: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 164

UNA SIMULACIÓN SPEC95 PARA IDENTIFICAR EL AHORRO DE ENERGÍA Y CONSUMO DE

ENERGÍA EN CACHES EN POWER PC Y ALPHA PROCESADORES Resumen-- El caché es una pequeña memoria que funciona más rápido que la memoria principal; modernos diseñadores procesadores ponen varios escondites en una unidad central de procesamiento para aumentar el rendimiento y la funcionalidad. Un diseño de memoria caché optimizado es el único factor para alcanzar un alto rendimiento del procesador. En este trabajo se comparó la eficiencia del consumo de energía, como parámetros importantes en el diseño de la arquitectura de procesadores y memorias caché. Los parámetros de medición y políticas de localización se establecieron

(asignación directa, asociativa, asociativa establecido) en cachés de memoria L1 , L2 . Se implementa en procesadores PowerPC , Alpha (tecnología RISC ) y los procesadores superescalares . El modelo de caché se propuso el uso de una simulación con las cargas de trabajo y SPEC95 SimpleScalar 3v0e. Palabras claves-- 3v0e SimpleScalar, el consumo de energía, memoria caché.

TEODORO ALVAREZ-SANCHEZ Instituto Politécnico Nacional, CITEDI Av. del Parque No. 131O, Mesa de Otay Tijuana, Baja California, México.

JESÚS ALVAREZ-CEDILLO

JUAN. HERRERA-LOZADA

JACOBO SANDOVAL-GUTIERREZ

Instituto Politécnico Nacional CIDETEC, UP Adolfo López Mateos Edif. CIDETEC, México D.F., México. [email protected], [email protected] [email protected]

1. INTRODUCCIÓN La diferencia entre el CPU y rendimiento de la memoria sigue creciendo, esta tendencia continua plantea un grave problema para el futuro desarrollo del procesador y rendimiento. Debido a los fallos de la cache, el procesador tiene que detenerse,

perdiendo tiempo valioso del CPU que se refleja en su rendimiento. Esto es especialmente cierto para los programas científicos donde el acceso a cache es inmenso provocando grandes fallas para todas las jerarquías de cache. Las caches hay de dos tipos: inclusivas y exclusivas. Durante el acceso a la cache del sistema de cache se consume energía. La energía consumida se

puede reducir por diversos métodos. Cachés Inclusivas que tienen una línea en todos los niveles de cache. Las caches exclusivas se encuentran sobre una amplia aplicaciones como son los multicore. Una línea de cache sólo está presente en un nivel de cache exclusiva. Convenientemente esto permitir que sólo la línea de cache visitada consuma la energía, de esta manera se reduciría la energía.

En este trabajo se propone un modelo de cache que se simulara en forma conjunta con el simulador Simplescalar 3v0e. El modelo propuesto se desarrolla para cachés exclusivas. El modelo puede ser modificado convenientemente para cachés inclusivas. Se supone que la cache exclusiva tradicional. Además, del nivel uno de cache tiene otra cache llamada cache de Tag. Esta caché tiene los valores de las variables de todas las vías de caché en todo los niveles. Una dirección está

acompañada de una matriz de variables en los distintos niveles. En un combinado. La correspondencia de vía cache accede. Sobre la falla, se proponen la política de sustitución en la cache exclusiva [1] es implementar la actualización de Tag en la cache adecuadamente. En este modelo, sólo la cache Tag junto con las vías de cache corresponde habilitar a los Hits. La cache de Tag (etiqueta) junto con las vías en todos los niveles de las cache, están habilitadas para conflictos de miss

(fallos). Esto reduce el consumo de energía. El modelo propuesto fue simulado para dos niveles de cache exclusiva.

El resto del trabajo se organiza de la siguiente manera. Sección 2 da la metodología, la sección 3 propuesto modelo, sección 4 análisis de rendimiento, la sección 5 la simulación y conclusión.

2. METODOLOGÍA

Considerando las cargas de trabajo SPECK95, que simularemos en las arquitecturas POWERPC y ALPHA Con la ayuda del simulador Simplescalar 3v0e, lo que integra un conjunto de herramientas de simulación la cual ofrece una infraestructura lo suficientemente capaz para modelar y simular arquitecturas superescalares, multicore. Simplescalar y obtención de datos estadístico para los diferentes configuraciones, niveles de las memorias caches donde

proporciona aciertos (Hits) y las falla (miss) de cada corrida. Simplescalar fue desarrollada por el grupo de la Universidad de Winsconsin-Madison en 1992 [5][6], la herramienta está públicamente disponible y ofrece información sobre la instalación de la herramienta además es software libre. SimpleScalar tiene la infraestructura para simular microprocesadores de 8 a 32 bits,, 64 bits y capaz de simular cargas de trabajo. Al simular el diseño de la arquitectura en conjunto con las memorias caches, puede obtener datos de las

fallas y aciertos considerando sobre el hardware diseñado. Para las pruebas de rendimiento en consumo de energía se realizaron distintas configuraciones de memorias caches, para ejecutar las cargas de trabajo denominadas benchmark. El simulador a utilizar es ejecución ―Out of Order‖. El análisis de investigación se realizará cuatro etapas, variando en algunos casos los parámetros de la memoria cache o el número de

unidades lógicas, tiempo de acceso a memoria caches, velocidad de las funcionales (cores). El objetivo de la primera etapa, es simular, el comportamiento de las memorias L1 (unificada o separada) y memoria L2 (unificada o separada) configuras desde un inicio. En la segunda etapa se realizará cambios en la configuración relacionado a la cantidad de ALU’s, donde se dejara como

constante las unidades funcionales modificaremos la

Page 56: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 165

configuración inicial para la simular del modelo propuesto en memoria cache unificada L2.

En la tercera etapa, se realizará cambios en los parámetros de la memoria cache de instrucciones y la de datos. En la cuarta etapa, se refiere el ahorro de energía, que está asociada con la programación, este trabajo propone un método para ahorrar energía en memoria asociativa por conjunto y mapeo directo. El método consiste en mantener el tiempo de acceso, además, tener contador de acceso en cada vía. Todas las simulaciones se realizaron para las configuraciones POWERPC Y ALPHA. En

cada apartado de las pruebas se especifica la instrucción para poder ejecutar la simulación.

3. ARQUITECTURA DEL MODELO PROPUESTO Considere el sistema de caché. La energía consumida por el sistema depende de la cantidad de componentes en cache activos. En la cache asociativa por conjuntos, la energía de consumo depende de la cantidad de vías activas en cache. La

función deseada de subsistema de memoria caché se pueden formular como el consumo mínimo de energía en caché sujeto al tiempo promedio de acceso mínimo. Este trabajo propone alcanzar un algoritmo. La parte del Tag en la dirección es ―XOR― con 17 veces de asociatividad en cache. El resultado se desplaza a la derecha cuatro veces. La vía asignada se obtiene mediante la selección de bit valor de la variable resultante de la asociatividad de cache. Si la línea está

presente en el mapa de vías. El número de éxitos se incrementa, la línea es accedida. En caso de fallas, el número de fallos se incrementa, con respecto a la línea que traer el carácter inclusivo de la cache. El sistema cache considera inclusivo dos niveles. Deje que el nivel uno sea w1 el conjunto asociativo de cache del conjunto S1. Deje que el nivel dos sea w2 conjunto asociativo de cache

del conjunto S2. Deje que el tamaño de la línea sea en L Bytes. Considere el algoritmo descrito anteriormente. Denotar la implementación el algoritmo del sistema como Cprop. La arquitectura del sistema propuesto se muestra en la Fig.1. Considere el sistema de caché tradicional con la misma configuración. Denotemos como Ctrad. En la cache tradicional dejemos que H1, H2, T1, T2, T12, M sean en variables para el nivel uno de hits, el nivel dos de los hits, tiempo de acceso en nivel uno, tiempo de acceso en nivel dos, tiempo de

transferencia entre el nivel uno y nivel dos. Fallas penalizadas en el rastreo de dirección de Referencias R respectivamente. El tiempo medio de acceso a la memoria en la caché tradicional está dada por

( )

(

( ) ( )

)

AMAT (Ctrad) =

(HT + (R-H) M) (1)

Figura 1. Modelo propuesto de cache

Fuente: Elaboración propia

Dejar que h1, h2, t1, t2, t12, tf, m sean del nivel uno de hits, tiempo de acceso en nivel uno nivel, tiempo de acceso del nivel dos, tiempo de transferencia entre el nivel uno y nivel dos, tiempo para ejecutar el mapeo de direcciones a cierta vía, fallo

de penalidad respectivamente, del sistema propuesto. El sistema propuesto por AMAT es

( )

(

( ) ( )

)

AMAT (Cprop) =

(ht + (R-h) m) (2)

El primer término en la ecuación (3) es el momento de realizar la asignación de direcciones a modo específico. El segundo término es el tiempo que tarda el hit en nivel uno. El tercer

término es el tiempo que tarda los hits en nivel dos. El cuarto término es tiempo que toma las fallas. Una mejora en AMAT es observada si consideramos el consumo de energía.

(

( ) ( )

)

(

( ) ( )

)

(HT+(R-H)M)≥

(ht+(R-h)m) (3)

Suponga que el sistema de caché funciona en dos modos de consumo de alimentación, de alto y de bajo consumo. Durante la no operación de la memoria cache, está en modo de baja consumo. Durante la operación, el conjunto asignado de la cache asociativa tradicional el conjunto está en modo de alto consumo. El modelo propuesto, de una vía en la asignación del conjunto

está en modo de alto consumo. La energía consumida Elow, Ehigh ser la energía consumida por vía en modo de baja y alta consumo respectivamente en el sistema de cache. La energía total consumida en la caché tradicional está dada por

( ) ( ) ( )

( )( )

( )( ) ( ) (4)

El primer término de (5) es la energía que se consume en el sistema de caché tradicional durante la no operación. Todos los conjuntos de ambos niveles de caché están modo de bajo consumo. El segundo término es la energía consumida durante los hits del nivel uno. El nivel uno asignado está en modo de alto consumo. El tercer término es la energía consumida durante la falla del nivel uno y los hits del nivel dos. Los conjuntos

asignado en ambos niveles de caché están en modo de alto consumo. El cuarto término es la energía consumida durante la falla. Los conjuntos asignado en ambos niveles de caché están en modo de alto consumo. La energía consumida en el modelo propuesto está dada por

( ) ( ) ( )

( )( )

( )( ) ( ) (5)

Dirección

1101

XO

R

0001

Page 57: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 166

El primer término en (6) es la energía consumida por el sistema de caché propuesto durante el no funcionamiento. El segundo

término es la energía consumida durante los hits en nivel uno. Una vía de caché está habilitada durante esta operación. El tercer término es la energía consumida durante la falla (miss) del nivel uno y los hits de nivel dos. Una vía de caché de nivel uno y otro conjunto del nivel dos están en este caso de modo de alto consumo. El cuarto término es la energía consumida durante el nivel uno y el fallo de nivel dos. En este caso una vía de caché de nivel uno y otro conjunto del nivel dos

están en modo de funcionamiento. Se observa una mejora en el consumo de energía.

( ) ( ) (

)( ) ( )( )(

) ≤ ( ) ( )

( ) ( ) ( )( )

( ) (6)

4. SIMULACIÓN El modelo propuesto se simula utilizando la herramienta SimpleScalar. Los benchmarks de referencia SPEC95 se

ejecutan con el simulador Outorder del SimpleScalar. Utilizamos esta herramienta para la simulación del modelo propuesto. El modelo de caché se valida con los benchmarks SPEC95. Los parámetros para la simulación del modelo propuesto se dan en la Tabla 1. Se supone que la comparación de Tag se realiza en paralelo. Por lo tanto el tiempo de acceso en nivel uno es

adoptar son los mismos que se modelo tradicional y el modelo propuesto.

Tabla 1 Parámetros de simulación

Parámetros Valor

Tamaño de L1 1024

Asociativa por conjuntos 8

Tamaño de Línea 32 Bytes

Tiempo de Hits en mapeo directo 1 ciclo

Penalidad de fallo en caches tradicionales 50 ciclos

Penalidad de fallos en cache propuesta 50 ciclos

Tiempo de Hits en cache totalmente asociativa 3 ciclos

Tiempo de Hits en modelo propuesto 1 ciclo

Fallas de penalidad en cache tradicional 50 ciclos

Fallas de penalidad en cache propuesto 50 ciclos

Traducción de direcciones por usar la compuerta XOR

2 ciclos

Fuente: Elaboración propia

La energía consumida se calcula a continuación. La memoria caché se supone que opera en modo de alto consumo y bajo

consumo. Supongamos que la línea de caché consume 5J (Joule) de energía en modo de bajo consumo y 10J de energía en modo de alto consumo. El número de entradas del vector propietario es de 8192 bits o 1024 Bytes. Hay 17 bits de campo del Tag, adoptamos una dirección de 32 bits. El tamaño de la cache Tag es de 17408 Bytes. El número de la cache Tag es de 18432 Bytes.

La energía consumida por la memoria cache Tag es 5760J.

La energía consumida en caché tradicional para las referencias de R está dada por la ecuación (7):

Et=SizeCache * Rf*vías*Ec + Rf*vías*Ec (7)

1024 * 58822*8 * 5 + 58822 * 8 * 5= 2411702KJ

Para el modelo propuesto, la energía consumida está dada por la ecuación (8): Ep= ET+Rf*Ec + Rf*vías* Ec * SizeCache (8)

5760J + 58822*5 + 58822* 8 * 5 *1024=2409354 KJ Los valores de energía consumida está dados en la tabla 2, la

energía consumida en el modelo propuesto es comparado con el modelo tradicional. Además en la tabla 3 se tiene los valores de los Hits y Miss de cada una de las arquitecturas utilizadas

Tabla 2 Comparación de Energía de Alpha, PowerPC y PISA

Nombre test-math

Etrad KJ

Eprop KJ

# Total de Re-ferenci-as *

#Total de instrucci-ones eje- cutadas

% Mejoramiento

ALPHA 2411702 2409354 58822 54468 1

PowerPC 6503133 6606289 158613 241113 9.8

PISA 10409162

10400281

253882 231899 1

Fuente: Elaboracion propia

Tabla 3 Valores de sistema de cache tradicional IL1 separada y IL2

unificada

Benchmark test-math

Hits IL1

Miss IL1

Hits UL2

Miss UL2

#Total de Referencias*

ALPHA 55805 2997 3520 453 58822

PowerPC 153942 4671 5143 547 158613

PISA 237945 15937 16484 687 253882

Fuente: Elaboración propia

El modelo propuesto esta simulado el algoritmo de búsqueda binaria. La búsqueda se encuentra entre 1024 números generados al azar entre cero y cien. Con un total de 1000 números aleatorios entre cero y cien. Las direcciones de matriz que se accede durante esta búsqueda se recopilaron mediante rutinas de lenguaje C. Las direcciones se asignan en la memoria caché con el algoritmo propuesto.

La Fig. 2 muestra el porcentaje sobre el consumo de energía de los parámetros indicados en la Tabla 2 (excepto el tamaño de la caché, que es variada). Como se ve en la Fig. 3 el número total de instrucciones a ejecutar vs el número total de accesos. Para los conjuntos de caché de tamaño 1024, para el modelo

Page 58: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 167

propuesto es más que el modelo de caché asociativa conjunto tradicional.

Figura 2. Porcentaje en consumo de energía

Fuente: Elaboración propia

Figura 3. Porcentaje en consumo de energía.

Fuente: Elaboración propia.

5. CONCLUSION Se propone en este artículo un modelo de caché que varié las vías de forma limitada, el número de vías por conjuntos que sean 2 mínimo. El modelo propuesto se simula con benchmark

SPEC95. Se observa una mejora de la energía 1%, con respecto a la caché tradicional hasta una de mejora un 9.8% con respecto a establecer caché asociativa de 2 vías de la misma capacidad, observando los parámetros escogidos comparando la energía consumida con el modelo tradicional.

6. REFERENCIAS

[1] S. Subha, “An energy saving set associative cache

algorithm with improved performance”, JATT. Journal of Theoretical and Applied TechnologyOn Aut. . Vol. 62. No 3. pp 748-741. 30 April 2014.

[2] Patterson and J.L Hennessy, ”COMPUTER ARCHITECTURE: A QUANTITATIVE APPROACH”, 5nd. ed., Morgan Kaufman Publishers, 20014.

[3] Carlos A. Villar León, Teodoro Álvarez. S. and Roberto C. Herrera, “Simulación de cargas de trabajo Spec95 en

Simplescaler”, Electro 2014. Vol. XXXVI. pp. 16-20. 2014.

[4] Elkin Garcia, Daniel Orozco and Guang R Gao, “energy efficient tiling on a Many-Core Architecture”, 2014.

[5] Simplescalar [En línea]. Disponible en: http://www.simplescalar.com/v4test.html , sitio visitado el 01/01/2014.

[6] Simplescalar instalation.Igoy.in [En línea]. Disponible en: http://www.igoy.in , sitio visitado el 08/02/2014.

______________________________________________ Teodoro Álvarez Sánchez: Maestría en sistemas digitales por Instituto

Politécnico Nacional CINTEC. Estudiante de Doctorado en Ciencias del IPN-

CIC(Cómputo Paralelo).

Jesús Antonio Álvarez Cedillo: Graduado por la Escuela Superior de Ingeniería

Mecánica y Eléctrica (ESIME) del Instituto Politécnico Nacional, en la Ciudad de

México, como ingeniero en comunicaciones y electrónica en 1997 y

posteriormente como Maestro en Ciencias de la Informática por la Unidad

Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas

(UPIICSA) del Instituto Politécnico Nacional en el año 2002. Desde 2007 es

candidato a Doctor en Tecnologías Avanzadas en el Centro de Investigación e

Innovación Tecnológica (CIITEC) del Instituto Politécnico Nacional. Ha ejercido

como profesor e investigador de tiempo completo del Centro de Innovación y

Desarrollo Tecnológico en Cómputo (CIDETEC) desde 2000. Ha publicado

diversos artículos relacionados con arquitectura de computadoras, procesamiento

paralelo y algoritmos de alto desempeño.

Juan Carlos Herrera Lozada: Ingeniero en Comunicaciones y Electrónica,

egresado de la Escuela Superior de Ingeniería Mecánica y Eléctrica del Instituto

Politécnico Nacional, en la Ciudad de México, en el año de 1996. En 2002 obtuvo

el grado de Maestro en Ingeniería de Cómputo con especialidad en Sistemas

Digitales y en 2011 obtuvo el grado de Doctor en Ciencias de la Computación,

ambos en el Centro de Investigación en Computación del Instituto Politécnico

Nacional, también en la Ciudad de México. Actualmente está adscrito al Centro

de Innovación y Desarrollo Tecnológico en Cómputo del Instituto Politécnico

Nacional, en donde ingresó desde 1998. Ha sido autor de diversos artículos y

ponente en congresos nacionales e internacionales.

Jacobo Sandoval : Actualmente es Profesor Visitante en el proyecto de

Arquitecturas de Sistemas Embebidos para la Investigación Científica y la

Integración de Tecnologías para el Centro de Innovación y Desarrollo

Tecnológico en Cómputo del Instituto Politécnico Nacional, CIDETEC, tiene

Doctorado y Maestría en Tecnología Avanzada por el IPN.

1

9.8

1

0

5

10

15

ALPHA PowerPC PISA

Consumo de energia

%Mejora

58822 54468

158613

241113 253882 231899

Total Ref Total Ejec

Instr ejecutadas vs instr referidas en cache

ALPHA PowerPC PISA

Page 59: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 168

APLICACIÓN SOFTWARE DE APOYO PARA DISEÑO DE EVALUACIÓN BAJO

COMPETENCIAS

Resumen— El empleo de las tecnologías de la información en la

educación superior constituye una opción para que el docente pueda adquirir los conocimientos y destrezas que les permita utilizar y

elaborar materiales educativos, y de esta forma, aprovechar las

capacidades tecnológicas de los centros universitarios. Dentro del

proceso educacional la evaluación es una etapa que tiene por

finalidad comprobar, de modo sistemático en qué medida se han

logrado los resultados previstos. La presente una aplicación de

software ofrece una alternativa al docente en la evaluación bajo el

enfoque en competencias diseñando procedimientos de evaluación

(patrones) que permitan definir la estrategia de evaluación de sus

asignaturas tomando en cuenta cada uno de los aspectos importantes

que evidencien el dominio de la competencia. Esta herramienta es

desarrollada utilizando los estándares de Ingeniería de Software, UML y Proceso Unificado, así como software de licenciamiento libre

para su programación.

Palabras claves— Competencia, Evaluación, Ingeniería de Software.

MIGUEL ÁNGEL DE LA VARA

RAMÍREZ Instituto Tecnológico de la Laguna

[email protected]

ELISA URQUIZO BARRAZA Instituto

Tecnológico de la Laguna

[email protected]

ENRIQUE CUAN DURÓN

Instituto Tecnológico de la Laguna

[email protected]

DIEGO URIBE AGUNDIS Instituto Tecnológico de la Laguna

[email protected]

SARA MARÍA VELAZQUEZ REYES Instituto Tecnológico de la Laguna

[email protected]

1. INTRODUCCIÓN

La educación basada en competencias se centra en las

necesidades, estilos de aprendizaje y potencialidades

individuales para que el alumno llegue a manejar con

maestría las destrezas señaladas por la industria y la vida

misma.

Se definen actividades cognoscitivas dentro de ciertos

marcos que respondan a determinados indicadores

establecidos y asienta que deben quedar abiertas al futuro

y a lo inesperado.

De esta manera es posible decir, que una competencia en

la educación, es una convergencia de los

comportamientos sociales, afectivos y las habilidades

cognoscitivas, psicológicas, sensoriales y motoras que

permiten llevar a cabo adecuadamente un papel, un

desempeño, una actividad o una tarea.

Con esta referencia se plantea la necesidad de

implementar una aplicación software que proporcione al

profesor una herramienta que le permita efectuar una

evaluación acorde al modelo basado en competencias, haciendo hincapié que de por sí sola la evaluación en el

modelo de enseñanza tradicional es una actividades

compleja, bajo el enfoque en competencias se complica

considerablemente.

2. LA EDUCACIÓN BASADA EN

COMPETENCIAS

Una competencia la podemos ver como la combinación y desarrollo dinámico de conjuntos de conocimientos,

capacidades, habilidades, destrezas y atributos de carácter

intelectual y procedimental que se constituyen en un

desempeño profesional producto de un proceso

educativo. Para evidencia el dominio de una competencia

se debe definir actividades claras y precisas por parte del

docente en las cuales se permite evidenciar por parte del

alumno el dominio de las mismas. Es en esta parte donde

se centra el principal trabajo del profesor el definir ¿qué

actividades son las correctas y cuál será la manera de

evaluarlas? La educación basada en competencias se refiere a una experiencia práctica, que necesariamente se

enlaza a los conocimientos para lograr un fin. La teoría y

la experiencia práctica se vinculan, utilizando la primera

para aplicar el conocimiento a la construcción o

desempeño de algo.

Las competencias parten del marco conceptual que

provee la institución con su misión y sello característicos.

Para elegir el núcleo de competencias básicas que se

requiere construir es necesario analizar y responder en

forma realista las siguientes preguntas:

1. ¿Cuáles son las competencias básicas y necesarias para obtener buenos resultados en la práctica

profesional contemporánea?

2. ¿Qué indicadores permiten elegir las competencias

que se van a construir?

3. ¿Cuáles son los medios más efectivos para construir

estas competencias?

Page 60: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 169

4. ¿Cuáles son los medios más efectivos para

comprobar que los alumnos han construido estas

competencias?

Las competencias que son tomadas en cuenta en nuestro

proyecto se clasifican en Genéricas, y Especificas.

a) Las competencias genéricas definen las capacidades

necesarias para el desempeño de cualquier profesión mediante la identificación de los elementos comunes

compartidos por todas las carreras del nivel profesional,

tales como la capacidad de aprender, de tomar decisiones,

de diseñar proyectos, las habilidades interpersonales, etc.

b) Las competencias específicas son las capacidades

referidas a la especificidad de un campo de estudio o

disciplinas requeridas para el desempeño profesional en

sus diversos ámbitos de intervención.

3. SELECCIÓN DE LA COMPETENCIAS Y

PATRÓN DE DISEÑO

En esta fase se contempla el uso de patrones para ubicar

pedagógicamente a la competencia pretendida, al nivel educativo y al estilo de aprendizaje del alumno. Un

patrón puede relacionarse con un contexto de aprendizaje

característico, definido por el académico, y entonces

puede ser, por un lado, la parte común con las

características de ese contexto de aprendizaje con la

información suficiente para aplicarse a diversas

situaciones de aprendizaje y, por otro lado, también

puede adaptarse a nuevas situaciones modificando su

contenido específico (Zapata, M. et al 2010). En la

propuesta automatizada de la creación de procedimiento

de evaluación a través de patrones de diseño se contemplan las siguientes consideraciones (Jones David.

et al.1999):

a) Identificación y especificación de patrones que

capturen una secuencia de actividades genéricas para

el desarrollo de una competencia.

b) Parametrización.

c) Especificación del diseño funcional y multimedia de

los procedimientos.

d) Creación de la base de datos de procedimientos.

e) Principios de diseño instruccional representados

mediante patrones.

Debido a las diferentes dimensiones que adquiere la

construcción de un procedimiento de evaluación y a la

falta de perfiles pedagógicos e informáticos de los

académicos, los patrones de diseño son un gran recurso

que le aportará sin lugar a dudas, calidad al recurso

creado y le aportará al aprendizaje del alumno.

En esta fase, el académico reflexiona acerca de la

competencia que pretende desarrollar en sus alumnos y

elige el patrón de diseño para la evaluación que más se corresponda a sus intenciones educativas (Urquizo, E. et

al. 2010). Esta primera fase le dará al procedimiento de

evaluación las características de ser real, pertinente,

coherente, cohesivo e integral y con las características de

calidad del ISO 9126 de usabilidad y funcionalidad [1].

Una vez que el académico tiene definida la competencia

y que ha seleccionado el patrón de diseño es momento de

generar los procedimientos de evaluación que se

integrarán a cada una de las actividades que conformen el contexto de aprendizaje considerando principios de [3]:

enfoque para la toma de decisiones; contextos

profesional, disciplinar, social e investigativo;

desempeño; inclusión de docentes y administrativos;

integración de lo cuantitativo y cualitativo;

involucramiento de estudiantes en el proceso.

El reflexionar en estos principios nos lleva a afirmar que

la evaluación de competencias es un proceso complejo y

multidimensional que merece ser tratado como un objeto

de investigación y que su adecuada incursión en el

contexto de aprendizaje le abonará a la calidad pedagógica de dicho contexto. En esta aportación

hacemos referencia a su automatización a través de un

software que guíe al académico en la selección del patrón

de diseño del procedimiento de evaluación y a la correcta

integración de dicho proceso al contexto de aprendizaje.

El producto final será un procedimiento de evaluación

que concuerda con las competencias pretendidas en el

contexto de aprendizaje que ha diseñado el académico.

De esta forma el procedimiento tendrá la garantía de

calidad suficiente para ser implementado y puesto a disposición de los usuarios.

4. MÉTODOS Y HERRAMIENTAS DE

DESARROLLO DE LA APLICACIÓN

INFORMÁTICA DE PROCEDIMIENTOS DE

EVALUACIÓN

La metodología que se ha seguido para el desarrollo de

esta aplicación informática comprende las siguientes

fases: Ingeniería de requisitos y análisis de la aplicación

para determinar lo que es importante identificar en los procedimientos de valuación en competencias.

Esto apoyado por las técnicas para recabar información

proveniente de los académicos del Instituto Tecnológico

de la Laguna.

Para las fases de análisis y diseño de la aplicación se ha

utilizado el Proceso Unificado (UP) y el Lenguaje de

Modelado Unificado, UML. En la parte de desarrollo se

utilizan herramientas de licenciamiento libre LAMP

(Linux, Apache, Myql, Php), dando como valor agregado

el hecho de no requerir inversión alguna desde el punto de vista económico.

Page 61: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 170

5. ANÁLISIS Y DISEÑO DE LA APLICACIÓN

SOFTWARE

La aplicación software trabaja a partir de patrones

(plantillas, guías) previamente establecidos que sirven de

ayuda al profesor al momento de implementar sus

evaluaciones, permitiéndole ajustar a sus necesidades ya

sea añadiendo o eliminando componentes. De manera

general el proceso de integración del proceso de evaluación se esquematiza en la figura 1. En la figura 2

se muestran pantallas de captura de la aplicación de

software.

Figura 1. Proceso de evaluación apoyado por un sistema

informático de patrones de diseño.

Fuente: Elaboración propia

El procedimiento es aplicado a contextos de

aprendizajes definidos (asignatura, materia, curso, prácticas de laboratorio, etc.) dividido en 4 etapas

principales:

a) Datos Generales del procedimiento de

evaluación.- Definimos la información que

identifican nuestro procedimientos, y el contexto de aprendizaje, al cual se aplicará la

evaluación

b) Competencias.- Son divididas en competencias previas, genéricas y específicas.

a. Previas.- Pueden ser competencias

específicas o genéricas que debe de tener dominio el alumno previamente

obtenido de cursos anteriores.

b. Genéricas.

c. Especificas

c) Estilos de Aprendizaje.- Los estilos de

aprendizaje son implementados a partir del

modelo de Folder y Silverman utilizando las

dimensiones

a. Sensitivo-Intuitivo

b. Visual-Verbal

c. Inductivo-Deductivo d. Secuencial-Global

e. Activo-Reflexivo

d) Criterios de Evaluación.- Es la parte central del procedimiento de evaluación donde se aplica la

evaluación definiendo las competencias

específicas a ser evaluadas, actividades para evidenciar el dominio de las mismas, los

criterios para efectuar la evaluación y las

rubricas siendo en este apartado donde se

permite una valoración numérica o de apreciación.

Figura 2. Interfaces del sistema de diseño de

procedimientos de evaluación.

Fuente: Elaboración propia.

6. COMENTARIOS FINALES

El procesos de evaluación de competencias es algo

necesario para el flujo normal del aprendizaje de los alumnos, sin ellos el aprendizaje simplemente no sería

posible ya que para aprender es necesario tener

evidencias de los logros y de los fallos a través de la

retroalimentación y más importante aún lo es el

desarrollar oportunidades de mejora para la adquisición y

dominio de las competencias en cuestión.

Lo presentado en esta aportación contribuye a la calidad

del proceso de evaluación al presentar al profesor una

herramienta que le guíe en la elaboración del

procedimiento de evaluación para una competencia

determinada.

7. REFERENCIAS

Page 62: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 171

[1] Hernández, Yosly., Montaño, N., Miguel, Vannesa, y

Velásquez, S. ―Una experiencia en la Construcción de un

Modelo de Calidad Pedagógica para Objetos de

Aprendizaje‖. Prieto, M., Sánchez, S, Ochoa, X., y

Peach, S. ―Recursos Digitales para el Aprendizaje‖

(2009).

[2] Jones, David. Sharonn., Stewart., y Power, L.

―Patterns: using proven experience to develop online

learning. Proceedings o ASCILITE’99‖ Consultado por internet el 10 de febrero del 2012. Dirección de internet:

http://www.ascilite.org.au/conferences/brisbane99/papers

/jonesstewart.pdf.

[3] Tobón, S., Pimienta, J., y García, J.A.

―Secuencias Didácticas: aprendizaje y evaluación de

competencias‖, 1ª Edición, Editorial Pearson Educación,

México, 2010.

[4] Tobón, S., García Fraile, J. A., Rial, A., y

Carretero, M. ―Competencias, Calidad, y Educación

Superior‖. Bogotá: Cooperativa Editorial Magisterio.

[5] Urquizo, E., Quintero, O., Cuan, E. ―Sistema

Automatizado de Patrones de Diseño‖ (2010). Prieto, M., Dodero, J.M., y Villegas, D. ―Recursos Digitales para

la Educación y la Cultura‖ pp 243-246 (2010).

[6] Zapata, M. ―Objetos de Aprendizaje generativos,

competencias individuales, agrupamientos de

competencias y adaptabilidad‖, Universidad de Murcia.

Dirección de internet:

http://redalyc.uaemex.mx/pdf/547/54712082002.pdf.

______________________________________________ Miguel Ángel de la Vara Ramírez: es profesor de industria en el Posgrado en Sistemas Computacionales del Instituto Tecnológico de la Laguna. Egresado del Instituto Tecnológico de la Laguna en ingeniería en sistemas computacionales con especialidad en ingeniería de software. Obtuvo el grado de

maestría en Sistemas Computacionales por el Instituto Tecnológico de la Laguna.

Elisa Urquizo Barraza: es profesora –investigadora en el Posgrado en Sistemas Computacionales del Instituto Tecnológico de la Laguna. Egreso de este instituto de la ingeniería en Electrónica y curso los posgrados: Maestría en Sistemas de Computación Administrativa (Instituto Tecnológico y de Estudios Superiores de Monterrey), maestría

en Educación (Universidad Iberoamericana) y Doctorado en Administración Estratégica (Instituto Internacional de Administración Estratégica). Sus principales áreas de investigación son: Tecnología Aplicada a la Educación y a la Generación de Conocimiento

Enrique Cuan Durón: es Ingeniero Industrial Electricista egresado del Instituto Tecnológico de la Laguna en. Obtuvo su

grado de Maestría en Sistema.

Page 63: Congreso Internacional de Investigación Tijuana. …fcqi.tij.uabc.mx/usuarios/revistaaristas/numeros/N7/...Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación

Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4,

Núm. 7. Año 2015.

18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.

172