Uso de técnicas de inteligencia artificial para la distribución de alumnos en una sala de clases. Eduardo Patricio Oportus Valenzuela

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Uso de técnicas de inteligencia artificial para la distribución de alumnos en una sala de clases. Eduardo Patricio Oportus Valenzuela"

Transcripción

1 Universidad de Concepción Facultad de Ingeniería DIICC Profesora Patrocinante: María Angélica Pinninghoff Junemann Comisión: Ricardo Contreras Arriagada Pedro Salcedo Lagos Uso de técnicas de inteligencia artificial para la distribución de alumnos en una sala de clases Eduardo Patricio Oportus Valenzuela Informe de Memoria de Título para optar al título de Ingeniero Civil Informático Noviembre, 2012

2

3 2 Dedicado a mis padres y a todos todos mis seres queridos, que de una u otra forma, me han ayudado a salir adelante durante toda mi vida.

4 Sumario En todo grupo humano, se producen un sin número de relaciones sociales, las cuales, están presentes y afectan de diversas formas el desarrollo de cualquier actividad realizada dentro del grupo. La sala de clases de un establecimiento de educación formal, no está exenta de relaciones sociales, que se producen en la diaria interacción entre los constituyentes de estos grupos humanos. Dos relaciones que afectan de sobre manera el clima en las aulas, son las de agresión y liderazgo entre pares de alumnos de un curso. Hoy sabemos, que suelen estar presente en todos los centros educacionales y que afecta no solo la calidad de las relaciones interpersonales y la convivencia escolar, sino también al propio desarrollo de los escolares directamente implicados. Es así como nace el bullying, éste es comúnmente definido como un maltrato entre pares donde se produce una persecución tanto física, como psicológica de parte de un estudiante contra otro, al que elige como víctima de ataques constantes. Esta acción negativa e intencionada, posiciona a las víctimas en situaciones de las que difícilmente pueden salir por sus propios medios. Para intervenir en este problema, este proyecto plantea el diseño e implementación de un sistema online que permita disminuir el bullying entre los estudiantes, utilizando las percepciones negativas que tienen los propios estudiantes del resto de sus compañeros; para lo cual, se plantea un modelo que permite distribuir espacialmente a los estudiantes de una sala de clases, de acuerdo a una configuración de sala de clases en particular. La generación de distribuciones soluciones es un problema de optimización, el cual se resuelve en este caso utilizando algoritmos genéticos. El modelo planteado y el algoritmo genético, poseen una serie de parámetros definibles, para lo cual, se realizan experimentos a fin de determinar cuáles son los valores que generan buenas soluciones. Adicionalmente, se incluye en el sistema un módulo para visualizar las relaciones de negatividad que existen en el aula (sociograma), para que el profesor pueda analizar de mejor forma estas interacciones. 3

5 Índice general 1. Introdución Marco Teórico Algoritmo Genético Concepto e Historia Algoritmo Genético v/s Biología Representación Representación Entera de Permutación Representación Real de Permutación Población Inicial Función Objetivo y de Evaluación Operadores Genéticos Selección Cruzamiento Mutación Reemplazo de la Población Reemplazo total Elitismo (Steady-state) Criterios de Término Funcionamiento Test Sociométrico Qué es? Para qué sirve el sociograma? Procedimiento a seguir Formulación de preguntas Elaboración de la matriz sociométrica Elaboración del sociograma Análisis e interpretación del sociograma Modelo del Sistema Configuración de Salas de Clases Sala Tipo Sala Tipo Sala Tipo Matriz Sociométrica Componentes del Algoritmo Genético Representación

6 Población Inicial Función Objetivo o de Evaluación Función Influencia (Influencia(alumno)) Función Vecindario(Vecindario(puesto)) Función Penalización(Penalización(alumno)) Operadores Genéticos Selección Cruzamiento Mutación Reemplazo de la Población Criterios de Término Especificación de Requerimientos Modelo del Sistema Evolución del Sistema Requerimientos Funcionales Especificación de Requerimientos Funcionales Realizar consulta de obtención de sociograma Realizar consulta de obtención de distribución óptima de alumnos en la sala de clases Requerimientos No Funcionales Rendimiento Confiabilidad Compatibilidad Manual de usuario y ayuda de sistema Interfaz Diseño Descripción General del Sistema Consideraciones de Diseño Supuestos y Dependencias Método de desarrollo Estrategias de Arquitectura Lenguaje de Programación Librerías JGAP JUNG JExcelApi Herramientas JDK Netbeans Arquitectura del Sistema Diagrama de Casos de Uso Identificación de actor: Detalles de Casos de Uso Visualizar Sociograma Visualizar Distribución de Alumnos

7 Guardar Distribución de Alumnos Diagrama de Paquetes Diagrama de Clases Diagrama de Clases: algoritmogenetico Diagrama de Clases: distribuciondealumnos Diagrama de Clases: sociograma Diagrama de Clases: archivos Diagrama de Clases: parametrosdistribucion Diagrama de Clases: cargadearchivo Diagramas de Secuencia Visualizar Sociograma Visualizar Distribución de Alumnos Guardar Distribución de Alumnos Prototipo Implementación Descripción General de la Página Web Inicio Sociograma Algoritmo Genético Sistema Archivo Fuente Sociograma Opciones de Distribución de Alumnos Distribución de Alumnos Manual de Usuario Contacto Pruebas y Resultados Determinación del Tamaño de Población Inicial Determinación de la Probabilidad de Cruzamiento Determinación de la Probabilidad de Mutación Determinación del Número de Generaciones a Realizar, como un criterio de término Conclusiones Aspectos Generales Aspectos Técnicos Trabajo a Futuro Anexo Sociomatrices Parámetros del Algoritmo Genético Tamaño de Población Inicial Probabilidad de Cruzamiento Probabilidad de Mutación Número de Generaciones a Realizar, como un criterio de término

8 Índice de figuras 2.1. Selección de un individuo con método de ruleta Mecanismo de la estrategia de selección por ranking Mecanismo de la estrategia de selección por torneo Ejemplo de funcionamiento del método de cruzamiento PMX Ejemplo de funcionamiento del método de cruzamiento OX Ejemplo de funcionamiento del método de cruzamiento CX Diagrama de flujo de un algoritmo genético Ejemplo de matriz sociomética Ejemplo de sociograma Ejemplo de configuración de sala tipo Ejemplo del Modelo de Configuración de Sala Tipo Ejemplo de configuración de sala tipo Ejemplo del Modelo de Configuración de Sala Tipo Ejemplo de configuración de sala tipo Ejemplo del Modelo de Configuración de Sala Tipo Representación de un Cromosoma en el Algoritmo Genético Ejemplo de plantillas Tipo 1, 2 y Ejemplo de los vecinos de un alumno para las plantillas Tipo 1, 2 y Ejemplo de cómo obtener la Función Vecindario en Plantilla Tipo Modelo General del Sistema Diagrama de Casos de Uso del Sistema Diagrama de Paquetes Diagrama de Clases del paquete algoritmogenetico Detalle de clase AlgoritmoGenetico del paquete algoritmogenetico Detalle de clase CruzamientoPMX del paquete algoritmogenetico Detalle de clase FitnessFunction del paquete algoritmogenetico Detalle de clase FitnessValueComparator del paquete algoritmogenetico Detalle de clase Funcion del paquete algoritmogenetico Detalle de clase GeneticOperator del paquete algoritmogenetico Detalle de clase Vecindario del paquete algoritmogenetico Detalle de clase Genotipo del paquete algoritmogenetico Detalle de clase Influencia del paquete algoritmogenetico Detalle de clase MutacionDesplazamiento del paquete algoritmogenetico Detalle de clase NaturalSelector del paquete algoritmogenetico Detalle de clase Penalizacion del paquete algoritmogenetico

9 5.16. Detalle de clase Plantilla del paquete algoritmogenetico Detalle de clase SeleccionTorneo del paquete algoritmogenetico Detalle de clase TornamentSelectorConfigurable del paquete algoritmogenetico Diagrama de Clases del paquete distribuciondealumnos Diagrama de Clases del paquete sociograma Diagrama de Clases del paquete archivos Diagrama de Clases del paquete parametrosdistribucion Diagrama de Clases del paquete cargadearchivo Diagrama de Secuencia de Caso de Uso: Visualizar Sociograma Diagrama de Secuencia de Caso de Uso: Visualizar Distribución de Alumnos Diagrama de Secuencia de Caso de Uso: Guardar Distribución de Alumnos Estructura organizativa general de la página web Ejemplo de la sub-sección Archivo Fuente de la sección Sistema de la página web Ejemplo de la sub-sección Sociograma de la sección Sistema de la página web Ejemplo de la sub-sección Opciones de Distribución de Alumnos de la sección Sistema de la página web Ejemplo de la sub-sección Distribución de Alumnos de la sección Sistema de la página web Gŕafico Fitness Promedio v/s Tamaño de la Población Inicial en salas Tipo Gŕafico Fitness Promedio v/s Tamaño de la Población Inicial en salas Tipo Gŕafico Fitness Promedio v/s Tamaño de la Población Inicial en salas Tipo Gŕafico comparativo Fitness Promedio v/s Probabilidad de Cruzamiento, para las salas de clase Tipo Gŕafico comparativo Fitness Promedio v/s Probabilidad de Cruzamiento, para las salas de clase Tipo Gŕafico comparativo Fitness Promedio v/s Probabilidad de Cruzamiento, para las salas de clase Tipo Gŕafico comparativo Fitness Promedio v/s Probabilidad de Mutación, para las salas de clase Tipo Gŕafico comparativo Fitness Promedio v/s Probabilidad de Mutación, para las salas de clase Tipo Gŕafico comparativo Fitness Promedio v/s Probabilidad de Mutación, para las salas de clase Tipo Gŕafico Fitness Promedio v/s Número de Generaciones a Realizar en salas Tipo Gŕafico Fitness Promedio v/s Número de Generaciones a Realizar en salas Tipo Gŕafico Fitness Promedio v/s Número de Generaciones a Realizar en salas Tipo Sociomatriz Sociomatriz Sociomatriz Sociomatriz Sociomatriz Datos para determinar la población inicial por defecto en salas Tipo Datos para determinar la población inicial por defecto en salas Tipo Datos para determinar la población inicial por defecto en salas Tipo Datos para determinar la probabilidad de cruzamiento por defecto en salas Tipo

10 8.10. Datos para determinar la probabilidad de cruzamiento por defecto en salas Tipo Datos para determinar la probabilidad de cruzamiento por defecto en salas Tipo Datos para determinar la probabilidad de mutación por defecto en salas Tipo Datos para determinar la probabilidad de mutación por defecto en salas Tipo Datos para determinar la probabilidad de mutación por defecto en salas Tipo Datos para determinar el número de generaciones a realizr por defecto en salas Tipo Datos para determinar el número de generaciones a realizr por defecto en salas Tipo Datos para determinar el número de generaciones a realizr por defecto en salas Tipo

11 Capítulo 1 Introdución En todo grupo humano, se producen un sin número de relaciones sociales, las cuales, están presentes y afectan de diversas formas el desarrollo de cualquier actividad realizada dentro del grupo. La sala de clases de un establecimiento de educación formal, no está exenta de relaciones sociales, que se producen en la diaria interacción entre los constituyentes de estos grupos humanos. Aquí, se observan vínculos entre pares de estudiantes, grupos de alumnos y con los respectivos profesores del curso. Éstas, sin duda, son un hecho no despreciable al momento de interactuar como docente y lograr un efectivo y significativo aprendizaje en los estudiantes. Dos relaciones que afectan de sobre manera el clima en una sala de clases, son las de agresión y liderazgo entre pares de alumnos de un curso. Hoy sabemos, que suelen estar presente en todos los centros educacionales y que afecta no solo la calidad de las relaciones interpersonales y la convivencia escolar, sino también al propio desarrollo de los escolares directamente implicados[2]. Es así como nace el bullying, éste es comúnmente definido como un maltrato entre pares donde se produce una persecución tanto física, como psicológica de parte de un estudiante contra otro, al que elige como víctima de ataques constantes. Esta acción negativa e intencionada, posiciona a las víctimas en situaciones de las que difícilmente pueden salir por sus propios medios [3]. El maltrato escolar entre los estudiantes es realmente un fenómeno muy antiguo. Aún cuando muchos están familiarizados con el tema, no ha sido hasta muy recientemente - a principio de los años 70 - que este fenómeno ha sido objeto de un estudio más sistemático (Olweus, 1973 a 1978). Éstos esfuerzos se circunscribieron en Escandinavia. No obstante, a finales de la década de los 80 y de los 90, el maltrato escolar entre los estudiantes, atrajo la atención de diferentes países como Japón, Gran Bretaña, Holanda, Canadá, Estados Unidos y España [3]. En los últimos 12 años ha habido un desarrollo casi explosivo en este campo, tanto en términos de investigación, como de intervención y políticas nacionales [5]. En los Estados Unidos, este aumento de atención sobre este problema, ha sido impulsado por algunos hechos muy publicitados acontecidos en algunas escuelas y en los que, en parte, el problema víctima/acosador estaba relacionado con los estudiantes implicados (Anderson et. al., 2001) [8]. En Chile, ha adquirido notoriedad gracias a los medios de comunicación e internet, por la difusión de las serias consecuencias para sus participantes, y éstos, que en un principio se consideraba que eran la víctima y el victimario, hoy se entiende que además son partícipes de la dinámica los testigos directos y/o espectadores que presencian el hecho, y los indirectos, que es el personal, las autoridades del establecimiento educacional, la familia y la sociedad entera. Por 10

12 lo tanto, la solución no está enfocada a una o dos personas en particular, sino que debe involucrar a toda la comunidad educativa[7]. En una mirada global del problema, se tiene que en un estudio de Nansel en 2004 [6], en una muestra de estudiantes de 25 países alrededor de todo el mundo (principalmente Europa), se observó que desde el 9 % en Suecia, hasta un 54 % de los escolares en Lituania, estaban involucrados en episodios de bullying. Como víctimas, el rango va desde un 5 % en Suecia hasta un 20 % de los estudiantes en Lituania, con un promedio en todos los países de un 11 %. Como agresores, se comunicó desde un 3 % en Suecia hasta un 20 % en Dinamarca, con un promedio de 10 %. El papel dual de agresor y víctima varió desde un 1 % en Suecia hasta un 20 % en Lituania, con un promedio en los países de 6 %. En Chile, la participación de los estudiantes en conductas de matonaje oscilaría entre un 35 % a 55 % [7]. Por lo tanto, es un problema no menor, que debe atenderse para llegar a una mejor educación escolar y finalmente una mejora social. Para intervenir en este dilema, Olweus propuso un programa de prevención contra el acoso, que ha sido desarrollado y evaluado durante un periodo de más de 20 años (Olweus, 1993, 2001b). Se fundamenta en cuatro principios, derivados principalmente de la investigación sobre el desarrollo y modificación de los comportamientos problemáticos implicados, en particular el comportamiento agresivo. Estos principios, componen la creación de un ambiente escolar - e idealmente también del hogar - caracterizado por: Cordialidad, interés positivo e implicación por parte de los adultos. Límites firmes ante un comportamiento inaceptable. Una aplicación consistente de sanciones no punitivas y no físicas por comportamientos inaceptables o violaciones de las reglas. Adultos que actúen con autoridad y como modelos positivos. El mensaje que preside el programa es: No aceptamos el acoso dentro nuestros establecimientos educacionales y pondremos los medios para ponerle fin. Un objetivo importante radica en cambiar las estructuras de oportunidad y recompensa de forma que haya menos posibilidades y ninguna recompensa al comportamiento acosador dentro y fuera de la escuela [8]. Es en este contexto donde esta memoria tiene cabida, en disminuir las oportunidades en las que se puede manifestar el acoso; siendo la distribuición espacial que tienen los alumnos dentro de la sala de clases, el factor a considerar. Para lograr este objetivo, es posible utilizar las técnicas de análisis de redes sociales, para desarrollar un modelo de distribución, en base a las apreciaciones negativas que tienen los propios alumnos de sus compañeros. Una herramienta eficaz para determinar esas relaciones que existen entre los distintos estudiantes de un curso, es el sociograma, el que permite identificar preferencias de los individuos, respecto a diversos estímulos (personas) que forman parte de su medio [1, 9]; y posteriormente, asignando las diferentes posiciones de las personas. Es así, como es posible generar un grafo con estas preferencias, para su posterior análisis, a modo de representación de dichas interacciones. La generación de la distribución óptima de estudiantes, en base a un modelo matemático que utilice el sociograma, se puede obtener probando todas las combinaciones posibles entre las distintas configuraciones disponibles de salas de clases. No obstante, esta metodología resulta muy poco práctica e ineficiente, por lo que debe existir un método que permita la obtención de dicha asignación espacial. 11

13 Una alternativa para obtener este resultado, es el uso de algoritmos genéticos. Éstos, tienen una serie de ventajas que lo hacen apto para este tipo de problemas, frente a los métodos tradicionales [10]: Son independientes del problema que se desea resolver, lo que significa que no se tiene que reformular para cada caso en particular. Operan de forma simultánea con un gran número de soluciones, en contraposición con la ejecución secuencial de las técnicas tradicionales. Usa operadores probabilísticos en vez de los típicos operadores determinísticos de otras técnicas. Se ha aplicado con mucho éxito a problemas que dan lugar a una explosión combinatoria, sin que esto afecte su eficacia. No suelen quedar atrapados en máximos o mínimos, locales como las técnicas de búsqueda convencionales. En base a lo expuesto anteriormente, esta memoria de título plantea diseñar e implementar un sistema computacional, que sea capaz organizar a los estudiantes en salas de clases, con distintas distribuciones o estructuras, en base a un modelo matemático que permita realizar dicho cómputo. Adicionalemte, diseñar e implementar un complemento a la distribución de estudiantes, que permita visualizar las interacciones entre ellos, permitiéndole al profesor, realizar un análisis más completo del curso. Finalmente, con el objetivo de que los profesores puedan aplicar esta herramienta a sus propios cursos, ya sea, desde los establecimientos educacionales o en sus propios hogares; el sistema debe estar desarrollado en un entorno web. 12

14 Capítulo 2 Marco Teórico 2.1. Algoritmo Genético Concepto e Historia Los algoritmos genéticos (AG), son técnicas para búsquedas y optimización estocásticas, osea, que no producen siempre las mismas soluciones; basados en modelos probabilísticos; cuyos cimientos son los principios de la genética y la selección natural. Estos algoritmos, hacen evolucionar una población de individuos, sometiéndola a acciones aleatorias, semejantes a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también, a una selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados. El método fue desarrollado por John Holland (1975) [12] y popularizado por uno de sus estudiantes, David Goldberg, quien fue capaz de resolver un problema, considerado dificil, de control de transmisión de combustible en tuberías para su Tesis en Posteriormente, Holland resumió el trabajo de su alumno en su libro Adaptation in Natural and Artificial Systems [12], fundamentando así, las bases teóricas de los AG en teoremas esquematizados. Posterior a esto, De Jong (1975) [13] mostró una utilidad para los AG en funciones de optimización e hizo los primeros esfuerzos para encontrar los parámetros optimizados de este método. Desde entonces, muchas versiones de programación evolucionaria, han salido a luz con distintos grados de éxito. Algunas de las ventajas de este método son [11]: Optimiza variables continuas o discretas. No requiere información derivada. Búsquedas simultáneas desde un amplio espectro de soluciones. Trata con un gran número de variables. Trabaja bien con computación paralela. Puede evitar caer en mínimos locales. Provee una lista de soluciones óptimas, no sólo una solución. Puede codificar las variables y trabajar con ellas de esa forma, a modo de generalizar o adaptar el problema según se requiera. 13

15 Trabaja con datos numéricamente generados, datos experimentales, o funciones analíticas. Su estructura y funcionamiento es generalizado, y sólo es necesario adaptar ciertos parámetros para aplicarlos a un problema en particular. Si bien se considera que los algoritmos genéticos dan muy buenos resultados frente a los métodos tradicionales [10], no son la mejor forma para resolver todos los problemas, por ejemplo, estos últimos, son a veces más rapidos para problemas con pocas variables, donde el espacio de soluciones es acotado; por lo que depende de la complejidad de cada problema, definir, si un algoritmo es apto o no. En este caso, en una rápida mirada hacia la cantidad de posibles soluciones, variables necesarias y la explosión combinatoria que se genera al trabajar el problema de distribuir a los alumnos en una sala de clases, considerando las restricciones de bullying, hacen que los algoritmos genéticos; sean una buena alternativa para tratar esta problemática. Además, la característica de adaptabilidad de los algoritmos genéticos, permite que se puedan implementar fácilmente distintos modelos matemáticos para el problema, sin modificar la estrucura general de éste Algoritmo Genético v/s Biología Para entender cómo funciona un algoritmo genético, es necesario revisar la analogía que se tiene con la biología: Todos los organismos que conocemos están compuestos por una o más células, cada una de las cuales, contiene a su vez uno o más cromosomas (cadenas de ADN), que tienen la función de ser una especie de anteproyecto del organismo del que forman parte. Un cromosoma, se puede dividir conceptualmente en genes, que son bloques funcionales de ADN que codifican una determinada proteína, por ejemplo, color de ojos, cabello, piel, etc. Y las diferentes posibilidades de escoger cada uno de esos rasgos, reciben el nombre de alelos. Cada gen está localizado en una determinada posición (lugar) dentro del cromosoma que integra. Muchos organismos tienen varios cromosomas en cada célula. El genoma del organismo es la colección completa del material genético. Lo que se conoce como genotipo, es el conjunto de genes contenido en un genoma. El genotipo dará lugar, tras el desarrollo fetal, al fenotipo del organismo, esto es, a sus características físicas y mentales, tales como: el color de ojos, la estatura o la inteligencia. La mayoría de las especies reproductoras sexualmente que habitan nuestro planeta, almacenan sus cromosomas por parejas y son llamados diploides, mientras que son considerados haploides, en caso contrario. En el caso del ser humano, cada célula somática (no germen) de su cuerpo, contiene 23 pares de cromosomas. Durante la reproducción sexual, se produce una recombinación o cruzamiento: en cada padre, se intercambian los genes entre cada par de cromosomas, para formar un gameto (un cromosoma único). Los gametos de los dos padres, se emparejan para constituir un conjunto completo de cromosomas diploides. En el caso de la reproducción haploide, los genes se intercambian entre dos padres con una sola rama de cromosomas. La descendencia está sujeta a mutaciones, donde se produce un cambio en algún nucleótido (unidades elementales de ADN) de padre a hijo; esas modificaciones son el resultado habitualmente de errores de copia. La capacidad del organismo se define como la probabilidad de que el organismo viva para reproducirse (viabilidad) o como una función del número de descendencia que tenga ese organismo (fertilidad) [14]. 14

16 Es así, como en los algoritmos genéticos, los cromosomas son los candidatos a la solución de un problema que describen a un inviduo en particular, con una secuencia de genes (variables), definidos por un elemento caracterśtico de dicho postulante; en donde un alelo se refiere al valor específico que tiene ese gen en particular (valor de la variable). El genotipo (el ADN), se refiere a las intrucciones para cómo construir una nueva solución, información que es heredada. El fenotipo (el cuerpo), lo que el genotipo construye, es la maquina que efectivamente resuelve el problema. De este modo, el genoma es una instancia del genotipo. Por otro lado, el cruzamiento consiste, normalmente, en un intercambio de material genético entre dos cromosomas de dos padres haploides, y la mutación, es una modificación de un gen o un intercambio de varios genes de forma aleatoria. A continuación, se describen los componentes de un algoritmo genético: Representación En cualquier problema del tipo búsqueda y método del aprendizaje, la manera en la cual se codifican las soluciones candidatas (cromosomas) es una parte fundamental, sino la más importante, para decidir el éxito de un algoritmo genético [23]. Es así como, dadas las características de este proyecto, en el que se requiere que una solución contemple que un alumno sólo pueda estar en una posición a la vez; se considerarán soluciones del tipo permutación sin repetición, o sea, una variación del orden o de la disposición de un número de elementos en una serie, en los que ninguno de ellos tiene un duplicado. Así, en las representaciones que se muestran a continuación, se puede observar que ningún elemento esta repetido, mostrando que cada cromosoma tiene elementos únicos: Representación Entera de Permutación La representación entera de permutación se caracteriza por que cada gen puede tomar un valor entero. Una especialización de este tipo, es utilizar sólo valores positivos. Lo anterior, está directamente condicionado con el tipo de problema con el que se trabaja. Un cromosoma ejemplo de este tipo sería: ( ) Una posible permutaciíon de este cromosoma podría ser: ( ) Representación Real de Permutación La representación real de permutación se caracteriza por que cada gen puede tomar un valor real. Una especialización de este tipo, es utilizar sólo valores positivos. Lo anterior, está directamente condicionado con el tipo de problema con el que se trabaja. Un cromosoma ejemplo de este tipo sería: (1 2, ,25 7, ,9 19) Una posible permutaciíon de este cromosoma podría ser: ( ,9 35 2,3 5 10,25 7,1 15) 15

17 Población Inicial En el proceso de inicializar un algoritmo genético, se genera aleatoriamente la población inicial, que está constituida por un conjunto determinado de cromosomas, los cuales, representan posibles soluciones del problema. Ésto, con el objetivo de que haya suficiente variabilidad genética, que permita que los operadores genéticos (ver Operadores Genéticos), logren encontrar buenas soluciones a través de las generaciones, disminuyendo la posibilidad de que el algoritmo converja prematuramente Función Objetivo y de Evaluación Dado que los algoritmos genéticos son utilizados para resolver problemas de optimización, es necesario definir una función a optimizar, llamada Función de Objetivo o de Evaluación. Dicha función, permite asignarle un criterio de calidad a cada cromosoma, por el cual se decide qué tan buena solución es. Es así, como se tiene que la Función Fitness, es minimizar o maximizar la función de evaluación, según sea el caso. La función objetivo es dependiente de cada problema a resolver, de forma tal, que los mejores cromosomas tengan una valoracición superior o inferior, dependiendo si es un problema de maximización o minimización, más cercana al óptimo buscado Operadores Genéticos Para proporcionar diversidad genética y obtener mejores soluciones, se aplican operadores genéticos a la población. Éstos se describen a continuación: Selección Este operador genético, escoge cromosomas entre la población para efectuar la reproducción, con el objetivo de ser cruzados. Existen varios mecanismos de selección, los más conocidos son descritos a continuación [17]: Selección de Ruleta (roulette-wheel selection): La selección de ruleta, es también conocida como selección proporcional a la función de fitness (fitness proportionate selection) y se define de la siguiente forma: Sea N el número de individuos existentes y f i la utilidad o fitness del i-ésimo individuo. La probabilidad asociada a su selección está dada por: p i = f i N j=1 f j En la Figura 2.1 se muestra la sumatoria total de los fitness (F) de cada nodo. Siendo A el más grande, tiene una mayor probabilidad de ser seleccionado que cualquier otro. No obstante, al ser una elección probabilística, permite que los individuos que no son tan buenos, también puedan ser elegidos, lo cual puede ayudar a mantener la diversidad de la población. 16

18 Figura 2.1: Ejemplo de selección de un individuo con método de ruleta. Un problema de la selección de ruleta, se presenta cuando existe una pequeña fracción de la población (en el límite, sólo un individuo), que posee una medida de desempeño excesivamente superior al resto. Esto provoca pérdida de diversidad y puede conducir a convergencia prematura, pues la mayor parte de los individuos seleccionados, serán una copia de los pocos predominantes. En este caso, es preferible utilizar selección basada en ranking o por torneo. Selección Basada en Ranking: En esta selección, los individuos se ordenan según su función de evaluación y luego cada cromosoma recibe una medida de fitness de este ordenamiento. Esta segunda asignación puede ser lineal o exponencial. Tomando en consideración una medida lineal, un ejemplo de esto sería considerar que el peor cromosoma recibe un fitness de 1, el segundo peor un fitness de 2, etc. Así, el mejor cromosoma recibe un fitness de N (número de cromosomas en la población). La Figura 2.2 ilustra el mecanismo de selección basado en ranking, donde se muestra la diferencia entre el fitness de la función de evaluación y el que es proporcional al ranking: (a) Fitness proporcionado según función de evaluación. (b) Fitness proporcionado basado en ranking. Figura 2.2: Mecanismo de la estrategia de selección por ranking Este método, disminuye el riesgo de convergencia prematura, que se produce cuando se utiliza selección de ruleta, en poblaciones con unos pocos individuos con valores de fitness muy superiores a las del resto; no obstante, puede llevar a una convergencia muy lenta, debido a que los mejores cromosomas no difieren mucho del resto. 17

19 Selección por Torneo: Esta selección, se efectúa mediante un torneo (comparación), entre un pequeño subconjunto de individuos elegidos al azar desde la población. La Figura 2.3 ilustra el mecanismo de selección por torneo: Figura 2.3: Mecanismo de la estrategia de selección por torneo De la Figura 2.3, el tamaño del torneo Ts (Tournament size) es fijado a tres, lo que siginifica que tres cromosomas compiten entre ellos y sólo el mejor de éstos, es seleccionado para el cruzamiento. Los beneficios de este tipo de selección, son la velocidad de aplicación (dado que no es necesario evaluar ni comparar la totalidad de la población) y la capacidad de prevenir, en cierto grado, la convergencia prematura. La principal desventaja, es la necesidad de establecer el parámetro correspondiente al tamaño del subconjunto Cruzamiento Se trata de un operador genético, cuya labor es elegir un lugar al azar y cambiar las secuencias antes y después de esa posición entre dos cromosomas (padres), para crear nueva descendencia (hijos). Tiene cierta probabilidad de que se aplique, en caso contrario, los individuos se copiarán directamente en la siguiente generación. Cabe señalar, que imita la recombinación biológica entre dos organismos haploides [14]. Tomando en consideración las representaciones que se mostraron en la sección Representación, el cruzamiento básico en algoritmos genéticos, se define como cruzamiento en un punto, donde se elige aleatoriamente un punto de corte del cromosoma y se intercambian los segmentos análogos de las dos cadenas. Este mecanismo es ampliable a n puntos de corte. No obstante, para este proyecto sólo se considerarán los cruzamientos que generan permutaciones de una solución, aplicables a problemas en los que cada gen es único, generando soluciones que difieren sólo en el orden en que están cada uno de los genes, asegurando de que no existan dos iguales en el mismo cromosoma. Es así, como existen varias técnicas de cruzamiento para este tipo de problemas; las cuales, las más utilizadas, se describen a continuación [16]: 18

20 Partially Mapped Crossover (PMX) o Cruce Parcialmente Combinado: Este método, apunta a retener la mayor cantidad de posiciones de los padres como sea posible. Para alcanzar esta meta, dos puntos de cruzamiento son seleccionados aleatoriamente, en los que los valores entre esos puntos son intercambiados. Luego, los valores en conflictivos (valores que se repiten, dado el intercambio de información desde el otro padre), son sustituidos por lo que fueron intercambiados al otro descendiente. Un ejemplo de este método se describe en la Figura 2.4: Figura 2.4: Ejemplo de funcionamiento del método de cruzamiento PMX Considerando el ejemplo de la Figura 2.4, se tienen cromosomas representados en forma de una permutación de enteros positivos. En a), se muestra dos arreglos de cromosomas, donde cada uno corresponde a un padre (p 1, p 2 ). Los elementos de cada arreglo en particular son los genes. Sean o 1 y o 2, cromosomas en transición, obtenidos a partir de los padres p 1 y p 2. En b), o 1 y o 2, representan los descendientes de los padres mostrados en a) (p 1, p 2 ), suponiendo que las posiciones 4-7 fueron seleccionadas para intercambio. Además, las posiciones en conflicto fueron omitidas y representadas con *. Posteriormente, en c), se toman las posiciones en conflicto, identificadas en b), y se reemplazan por las que fueron intercambiadas al otro descendiente. Así, o 1 y o 2 de c), son los cromosomas hijos de p 1 y p 2 luego de aplicar al cruzamiento PMX. Order Crossover (OX) o Cruce de Orden: Al igual que PMX, intercambia dos subcadenas alineadas, sin embargo, el cómputo de las subcadenas restantes de los descendientes se hace de una manera diferente. OX construye los hijos eligiendo una subsecuencia de un padre y preservando el orden relativo de los genes del otro padre. Los genes son copiados en el mismo orden, partiendo del segundo punto de corte, omitiendo los conflictivos (que ya aparecieron). Un ejemplo de este método se describe en la Figura 2.5: 19

21 Figura 2.5: Ejemplo de funcionamiento del método de cruzamiento OX Considerando el ejemplo de la Figura 2.5, se tienen cromosomas representados en forma de una permutación de enteros positivos. En a), se muestra dos arreglos de cromosomas, donde cada uno corresponde a un padre (p 1, p 2 ). Los elementos de cada arreglo en particular son los genes. Sean o 1 y o 2, cromosomas en transición, obtenidos a partir de los padres p 1 y p 2. En b), o 1 y o 2, representan los descendientes de los padres mostrados en a) (p 1, p 2 ), suponiendo que las posiciones 4-7 fueron seleccionadas para intercambio. Además, todas las otras posiciones, que están fuera de los límites seleccionados para intercambio, fueron omitidas y representadas con *. Considerando c), se tiene que s 1 y s 2, son dos arreglos, obtenidos a partir de p 1 y p 2 por separado, de tal forma, que s 1 está constituído con los genes que no fueron seleccionados para el intercambio, en el orden que sigue despues de la posición de intercambio, en este caso, de 8-9; continuando con los que están entre 1-3; y finalmente el subarreglo a intercambiar. Todo lo anterior, perteneciente a p 1. La generación de s 2, es análoga al proceso descrito anteriormente. Considerando d), se tiene que s 1 y s 2, son dos subarreglos, obtenidos a partir de s 1, o 1 y s 2, o 2, respectivamente, de tal forma, que s 1 corresponde a los genes que están en s 1, descartando los que se encuentran entre las posiciones de intercambio de o 1. La generación de s 2, es análoga al proceso descrito anteriormente. Finalmente, en e) se muestran los cromosomas hijos o 1 y o 2 de p 1 y p 2, respectivamente, despues de aplicar el cruzamiento OX; de tal forma que a o 1, representado en b), se le agregan los valores de s 1, desde la posición siguiente al intercambio. La generación de o 2, es análoga al proceso descrito anteriormente. Cycle Crossover (CX) o Cruce de Ciclo: El operador CX crea un descendiente a partir de los padres, de tal manera, que cada posición se ocupa por el correspondiente elemento de uno de los padres mediante ciclos. Un ejemplo de este 20

22 método se describe en la Figura 2.6: Figura 2.6: Ejemplo de funcionamiento del método de cruzamiento CX Considerando el ejemplo de la Figura 2.6, se tienen cromosomas representados en forma de una permutación de enteros positivos. En a), se muestra dos arreglos de cromosomas, donde cada uno corresponde a un padre (p 1, p 2 ). Los elementos de cada arreglo en particular son los genes. Sean o 1 y o 2, cromosomas en transición, obtenidos a partir de los padres p 1 y p 2. En b), o 1 y o 2, representan los descendientes de los padres mostrados en a) (p 1, p 2 ). Éstos se forman de la siguiente forma: Primero se debe escoger el primer elemento de cualquiera de los dos padres para el primer hijo. Suponiendo que se elige p 1, queda 1 en la primera posición de o 1. Por consiguiente, el segundo hijo o 2, queda con 2 en su primera posición. A continuación, se debe considerar la posición donde está el elemento anteriormente seleccionado en b) del padre opuesto. Como se trataba de 1, proveniente de p 1 ; en p 2, este elemento se encuentra en la penúltima posición, por lo que su correspondiente es 8, dejándolo en esta misma posición, en el hijo o 1. Por consiguiente, en o 2, queda 1 en la penúltima posición. Situación que se muestra en c). De la misma forma que se explicó en el párrafo anterior, considerando la posición en la que se encuentra el elemento 8 de p 2, en p 1 está el elemento 4, por lo que éste último se posiciona en o 1 y 8 en o 2. Luego, 4 de p 2, se encuentra en la segunda posición del cromosoma y su correspondiente en p 1, 2, queda en o 1. Como consecuencia, en o 2 queda 4. Luego, 2 de p 2, está en la primera locación, y tiene por contraparte en p 1 a 1; elemento que ya estaba considerado, por lo que se completa un ciclo. Situación que se muestra en d). 21

23 Posteriormente, un segundo ciclo, considera al siguiente elemento que no esté determinado en los hijos, en este caso, el que se encuentra en la tercera posición. Dicho elemento, puede ser escogido de cualquiera de los dos padres. Suponiendo que se selecciona desde el padre p 2. Esto implica, que los elementos quinto, sexto y séptimo del descendiente, deben de escogerse de p 2 para formar el hijo o 1 (como consecuencia, se escogen elementos desde p 1, para formar el hijo o 2 ), ya que constituyen un ciclo. De ahí, que se obtengan los cromosomas hijos mostrado en e). El siguiente ciclo es trivial (9-9) y los descendientes que quedan finalmente son los mostrados en f) Mutación La Mutación es un operador genético, usado para mantener la diversidad genética de una población. Tiene cierta probabilidad de que se aplique, en caso contrario, los individuos se copiarán directamente en la siguiente generación. Es análogo a la mutación biológica. El objetivo es proveer un mecanismo, para escapar de los óptimos locales y así desplazar a los individuos hacia zonas del espacio de búsqueda, que no pueden ser alcanzadas por medio de otros operadores genéticos [15]. Tomando en consideración las representaciones que se mostraron en la sección Representación; la mutación básica en algoritmos genéticos se define como mutación simple, donde se produce un cambio aleatorio de un gen en un cromosoma. No obstante, para este proyecto sólo se considerarán las mutaciones que generan permutaciones de una solución, aplicables a problemas en los que cada gen es único, generando soluciones que difieren sólo en el orden en que están cada uno de los genes, asegurando de que no existan dos iguales en el mismo cromosoma. Es así, como existen varias técnicas de mutación para este tipo de problemas; de las cuales, las más utilizadas, se describen a continuación [25]: Displacement Mutation (DM) o Basado en el Desplazamiento El operador DM (Michalewizc, 1992), comienza seleccionando un subarreglo al azar. Este se extrae del cromosoma y se inserta en un lugar aleatorio. Por ejemplo, si consideramos el arreglo representado por: ( ) y suponemos que se selecciona el subarreglo (3 4 5). Después de quitar dicho subarreglo, se tiene ( ). Suponiendo que aleatoriamente selecciona el gen 7 para insertar a partir de él, el subarreglo extraído, lo que produciría el cromosoma: ( ). Exchange Mutation (EM) o Basado en un Intercambio El operador EM (Banzhaf, 1990), selecciona al azar dos genes en el cromosoma y los cambia. Por ejemplo, si consideremos el cromosoma representado por ( ), 22

24 y suponemos que se selecciona al azar el tercer y quinto gen. El resultado del operador EM sobre el cromosoma anterior sería ( ). Insertion Mutation (ISM) o Basado en la Inserción El operador ISM (Fogel, 1993; Michalewizc, 1992), escoge aleatoriamente un gen en el cromosoma, para extraerlo e insertarlo en un lugar seleccionado al azar. Por ejemplo, si consideramos de nuevo la el cromosoma: ( ), y suponiendo que se seleccione el gen 4, para colocarlo a continuación del gen 7, el resultado sería: ( ). Simple inversion mutation (SIM) o Basado en la Inversión Simple El operador SIM (Holland, 1975; Grefenstette y col., 1985), selecciona aleatoriamente dos puntos de corte en el cromosoma, para invertir el subarreglo comprendido entre ambos. Por ejemplo, si consideramos el cromosoma: ( ), y suponemos que el primer punto de corte se escoge entre el segundo y tercer gen, y el segundo punto de corte se escoge entre el quinto y sexto gen, la el cromosoma resultante sería: ( ). Inversion Mutation (IVM) Basado en la Inversión El operador IVM (Fogel, 1988, 1993), es similar al operador DM. Se selecciona al azar un subarreglo, para a continuación y una vez extraído del mismo, insertarlo en orden contrario en una posición seleccionada aleatoriamente. Por ejemplo, si consideramos el cromosoma: ( ), y se supone que se escoge el subarreglo (3 4 5), para insertarlo a continuación de gen 7, se obtendría: ( ). Scramble Mutation (SM) o Basado en Intercambio Este operador de mutación, introducido por Syswerda (1991), selecciona un subarreglo al azar y a continuación cambia el orden de los genes del mismo de forma aleatoria. Por ejemplo, considerando el cromosoma: ( ), y suponiendo que se escoge el subarreglo ( ), se podría obtener como resultado: ( ). 23

25 Reemplazo de la Población La población se reemplaza en cada generación (iteración), de acuerdo a los siguientes criterios [23]: Reemplazo total Este tipo ha sido el más utilizado en la literatura y es llamado generacional, ya que cada generación de la nueva población, se compone enteramente de la descendencia formada por los padres de la generación anterior. Algunos de estos hijos, pueden ser idénticos a sus padres Elitismo (Steady-state) En este tipo de reemplazo, las generaciones sucesivas se solapan en cierto grado y una porción de los mejores individuos (elites) de la generación anterior, se retiene en la nueva población. La fracción de nuevos individuos en cada generación, se denominado la brecha generacional Criterios de Término Los criterios de parada o término del algoritmo genético, están muy relacionados con la naturaleza del problema en cuestión. No obstante, los más utilizados son: Hasta un número de generaciones determinado. Hasta que el mejor individuo de una población, alcance un valor predeterminado de la función de evaluación. Hasta que determinada cantidad de individuos de una población sobrepase un valor de umbral predeterminado. Hasta que la mayoría de los individuos de una población se encuentren en la vecindad de un punto. Es decir, que la mayoría de los individuos hayan convergido a un punto Funcionamiento El algoritmo genético procesa las poblaciones de cromosomas, reemplazando sucesivamente cada población por otra. Los cromosomas son evaluados de acuerdo a la función fitness predefinida, que identifica qué tan buena es la solución. Luego, los genotipos de los mejores individuos, son copiados varias veces a través de las generaciones y modificados por operadores genéticos. Este proceso continúa hasta que se cumple algún criterio de término. La Figura 2.7, muestra el diagrama de flujo de la descripción hecha anteriormente de un algoritmo genético: 24

26 2.2. Test Sociométrico Figura 2.7: Diagrama de flujo de un algoritmo genético. El sociograma, constituye un instrumento eficaz, para conocer las relaciones sociales internas que se dan en el aula, y que a simple vista, pueden pasar desapercibidas para el profesorado [1]. El objetivo de conocer estas dinámicas sociales, es intervenir intencionalmente para prevenir y/o modificar situaciones conflictivas que se puedan presentar. A continuación, se describe al sociograma, su uso, procedimientos a seguir y como construirlo [19]: Qué es? En la actualidad, se considera a la sociometría como un intento de medir la organización de los grupos sociales, con una finalidad educativa, terapéutica o de investigación. Las técnicas sociométricas también reciben el nombre de técnicas de orientación grupal ; la técnica sociométrica más conocida es el sociograma: instrumento que explora el grado de cohesión y la forma de estructura espontánea de un grupo. Facilita la visión global de la estructura del aula y señala la posición social de cada uno de los alumnos. El sociograma se basa en observaciones que llevan a conocer índices cuantitativos, respecto a la naturaleza e intensidad de las relaciones afectivas y de comunicación que se dan dentro de un grupo; donde cada alumno actúa en un ambiente, estableciendo una relación que puede modificarlo y, a la vez, repercutir y hacer cambiar su conducta. Es importante recalcar, que todos los miembros del grupo están implicados y ello repercute en los resultados académicos, no sólo individuales, sino que también, en gran medida globales. 25

27 Así, cada alumno se organiza en el aula-grupo, y esta experiencia le ayuda a construir su personalidad. Al incorporarse a éste, se dan dos tendencias: dominio y afiliación. Dominio: Cuando queda relegado el medio familiar, el alumno siente el deseo de integrarse y a veces opta por hacerlo intentando prevalecer sobre los demás. Afiliación: Se repliega cuando encuentra a personas que lo aceptan, descubriendo el placer de pertenecer al grupo, sintiéndose reconocido y apreciado. También, surgen en ese proceso de integración, el deseo de competencia, de ser considerado importante, ser querido/a, aceptado/a e incluso de controlar. La competición puede ser individual y demuestra rendimientos elevados en tareas sencillas, pero cuando las tareas son complejas, el rendimiento es mejor si hay cooperación. Ante estas actitudes, el grupo obliga a poner de manifiesto pensamientos, opiniones que si no son aceptadas, pueden derivar en una conducta agresiva ante el rechazo, convirtiéndose en el alumno agresivo o en el alumno tutor si es aceptado y puede servir como rehabilitador de conductas problemáticas Para qué sirve el sociograma? Esta técnica evalúa en el centro escolar y/o en el aula las relaciones tales como grado de integración, la afiliación (amistad), la superación personal en la realización de tareas, la estabilidad, planificación en actividades escolares por parte del alumnado. Cuando se estudia un grupo se distinguen tres dimensiones: Estructura externa (el rol o papel que cada individuo tiene). Estructura interna (las atracciones personales, sentimientos). La realidad social que interpreta las dos anteriores. El principio fundamental que sustenta la sociometría, es la interacción que hay en el grupo, dependiendo de la popularidad que sus miembros tengan. Así, se distinguen tres tipos de alumnos: El alumno popular (que destaca). El alumno aislado. El alumno rechazado o impopular. Ante estas tres situaciones, hay alumnos que o bien refuerzan su autoestima o acrecientan su agresividad. La conducta de los/las que sienten rechazo, se caracteriza por contactos agresivos, manifestaciones de desacuerdo y/o demanda de atención [4]. 26

28 Para ello, el sociograma permite detectar el grado en que los individuos son aceptados o rechazados en un grupo. Para elaborarlo, se debe procurar que las preguntas que se hayan formulado sean individuales y sin lugar a dudas. Éstas, deben ir en relación con la aceptación o rechazo de un/a compañero/a bien para tareas de clase o para divertimento. Tras obtener las respuestas, se elabora el sociograma. De aquí, es posible identificar tres grupos que describen la interacción entre escolares [19]: Los bien adaptados. Los agresores o bullies. Las víctimas. Los bullies suelen ser los más destacados, los considerados más fuertes, los de mayor edad, y que tienen un grupo de seguidores. Las víctimas, las personas que sienten más rechazo, que pasan inadvertidas, son consideradas como cobardes, débiles de carácter y con las que se genera un abuso sistemático en el tiempo Procedimiento a seguir El procedimiento del sociograma comprende los siguientes pasos [20, 19]: Formulación de preguntas Formulación de las preguntas a todos los miembros del grupo, para que manifiesten sus preferencias y rechazos. Se trata de un cuestionario de dos categorías de respuesta: Preferencias intelectuales: son preguntas de tipo efectivo (muestran las elecciones en actividades productivas del aula). Preferencias afectivas: son preguntas de tipo afectivo (se trata de las elecciones para las actividades de tipo lúdico). Las preguntas son sencillas, realistas y concretas. Pueden tener carácter positivo o negativo. Algunos ejemplos son: Preguntas de tipo efectivo: A quién elegirías para hacer el trabajo obligatorio del área de matemáticas? (carácter positivo). A quién no elegirías para hacer el trabajo obligatorio...? (carácter negativo). A quién elegirías para realizar un mural para el día de la Paz? A quién no elegirías para realizar...?. Preguntas de tipo afectivo: A quién invitarías a tu fiesta de cumpleaños? (carácter positivo). A quién no invitarías a tu fiesta...? (carácter negativo). 27

29 Con quién compartirías la carpa en una excursión? Con quién no compartirías la carpa...?. Cada alumno da las respuestas numéricamente, teniendo un listado de la clase con el nombre y el número correspondiente de cada compañero. Es imprescindible asegurar la confidencialidad de las respuestas; entre el profesorado-alumnado debe mediar una firme promesa de secreto sobre las elecciones, especialmente en los rechazos emitidos por cada uno de los miembros de la clase Elaboración de la matriz sociométrica Con las respuestas obtenidas en la etapa anterior, se elabora una matriz sociométrica o sociomatriz, que consiste en una matriz cuadrada de dimensiones NxN, donde N es el número de alumnos que hay en la sala de clases. Los nombres o identificadores de cada miembro del curso, se sitúan por encima de la primera fila y a un costado de la primera columna de la matriz, el resto se completa con los resultados del test sociométrico, donde un 1 corresponde a que el alumno de la fila de la izquierda, tiene una relación directa, positiva o negativa dependiendo de la pregunta realizada; con el alumno que está en la columna del valor ingresado. Un ejemplo de lo descrito anteriormente, se muestra en la Figura 2.8. Figura 2.8: Ejemplo de matriz sociomética, representando las preferencias de los alumnos de un curso de 15 alumnos que respondieron a la pregunta: A quién elegirías para hacer el trabajo obligatorio del área de matemáticas?. En este caso, se considera que los alumnos sólo pueden elegir a un compañero Elaboración del sociograma El sociograma es la representación gráfica de la matriz sociométrica o sociomatriz. Es así, como la matriz sociométrica define una matriz de adyacencia, que permite construir un grafo con la información de la pregunta planteada. Un grafo G es una pareja de conjuntos G = (V, A), en donde V es un conjunto de nodos o vértices V = {v 1, v 2, v 3,..., v N }, en los que cada uno representa a un alumno en particular; así, N es igual al número total de alumnos en un curso. Por otro lado, se tiene a A, un conjunto de aristas de la forma (u, v), tal que u, v V, que define una relación, dada por la pregunta hecha al curso, desde el alumno u hacia el alumno v. 28

30 Se debe hacer un sociograma por cada pregunta planteada [21]. El sociograma asocioado a la matriz sociométrica descrita en la Figura 2.8 se muestra en la Figura 2.9 Figura 2.9: Ejemplo de sociograma, repretentando lo descrito por la sociomatriz de la Figura

31 Análisis e interpretación del sociograma El sociograma permite observar gráficamente la estructura informal del grupo, los canales de comunicación, el número y tipo de subestructuras dentro del grupo, así como sus miembros (personas centrales o líderes, personas aisladas). La evaluación de los resultados del test sociométrico, llevan al descubrimiento de dos niveles, las posiciones sociométricas y las configuraciones sociométricas [21]. Se tomará como referencia el sociograma mostrado en la Figura 2.9. Posición sociométrica: es individual y viene expresada por el número de elecciones y rechazos obtenidos por un individuo. Se puede llegar a determinar: - El líder: una persona que recibe muchas elecciones y muy pocos o ningún rechazo. Tiene mayor índice de popularidad y status sociométrico. En el ejemplo de la Figura 2.9 sería el alumno 5. En una estructura real puede, no existir un solo líder que comunique su influencia a todos los miembros del grupo; es más probable que el grupo esté dividido en dos o más subgrupos enfrentados entre sí y que cada uno de ellos tenga su propio líder. Cuando se perciben subgrupos, es importante ver si existen individuos que actúan como puente entre uno y otro, la relación de este sujeto puente con el líder, etc. Las relaciones entre los distintos líderes son fundamentales para comprender la dinámica del grupo; así, si los distintos líderes están comunicados entre sí por relaciones bidireccionales, puede hablarse de un autoritarismo de esos individuos que controlan y dominan el grupo. - La eminencia gris: persona prácticamente aislada, que casi sólo posee una relación mutua con el líder. En ejemplo de la Figura 2.9 sería el alumno 7. Su influencia grupal es muy grande, aunque externamente no se nota, ya que su popularidad es muy baja. - El aislado: persona que no recibe elecciones y tampoco elige a nadie. Para detectarlo es necesario que el sujeto tenga total libertad para elegir o dejar en blanco las preguntas. En el ejemplo de la Figura 2.9 no es posible detectarlo, ya que se dió a elegir necesariamente a un compañero. - El marginado: individuo que elige a otros, pero que no es elegido por nadie. En el ejemplo de la Figura 2.9 sería el alumno 11. Tanto los aislados como los marginados, no suelen presentar problemas al profesor (a), sin embargo, su problemática psicológica suele ser grave. Es necesario estudiarlos con más detenimiento y tratar de integrarlos en el grupo, asignándole, al principio, tareas fáciles que les hagan triunfar ante los demás y que, por tanto, poco a poco sean tomados en cuenta. - El rechazado parcial: persona que recibe menos aceptaciones que rechazos. En el ejemplo de la Figura 2.9 sería el alumno 4. Su presencia suele notarse en el grupo, ya que normalmente es bastante revoltoso. Suele hacerse el gracioso. - El rechazado total: sujeto que solamente recibe rechazos. En el ejemplo de la Figura 2.9 no es posible identificar a este tipo de alumno, ya que la pregunta realizada es de carácter positivo. Su presencia suele resultar pesada tanto para el grupo como para el profesor (a). Presenta un número elevado de características negativas para el grupo. Las causas suelen encontrarse en problemas familiares y sociales de su entorno. Estos sujetos presentan graves problemas de disciplina y están llamados a ser delincuentes en potencia. Fracasan fácilmente en los estudios. 30

32 - El normal: persona que recibe algunas aceptaciones y rechazos. Suelen ser la mayoría de los miembros del grupo. En el ejemplo de la Figura 2.9 serían los alumnos 1, 6, 8, 9, 10,12, 13 y 14. Cabe resaltar el caso del alumno 12 que, a pesar de no tener las características que hacen que una persona sea líder, tiene una integración perfecta. - El polémico: es el sujeto que recibe bastantes aceptaciones y bastantes rechazos. No es posible identificar a este alumno en el ejemplo de la Figura 2.9, ya que requeriría de otro sociograma con una pregunta realizada de carácter negativo. Presenta a la vez características positivas y negativas. Suele dividir al grupo y se presenta normalmente como el antilíder dentro del grupo, y su influencia y prestigio social es bastante elevada. Configuración sociométrica: son supraindividuales y relacionan entre sí, a dos personas al menos. Las más importantes son: - La pareja o relación diádica: dos individuos A y B se eligen mutuamente. En el ejemplo de la Figura 2.9 se identifica con los alumnos 6 y 8. Para detectarlo es necesario observarlo en el sociograma. - El triángulo o relación triádica: A, B y C se eligen entre sí. En el ejemplo de la Figura 2.9 se identifica con los alumnos 10, 12 y 14. Suelen formar un subgrupo muy unido y compacto. Su influencia en la dinámica del grupo suele ser grande, en el caso de que uno de ellos sirva de individuo puente. La existencia de muchos subgrupos, permite concluir que el grupo está disgregado, poco cohesionado y normalmente están enfrentados entre sí, al no entenderse sus líderes respectivos. - La cadena: A elige a B, B a C, C a D... (puede haber elecciones recíprocas, aunque no son necesarias para la cadena). En el ejemplo de la Figura 2.9 se identifica con los alumnos 2, 9 y 15. Cuanto más próximo esté un sujeto al líder, mayor será su status sociométrico. - La estrella: Se da este caso, cuando un sujeto recibe muchas asignaciones. Refleja la figura del líder. Sirve de eje al grupo y por tanto, su influencia en la dinámica del grupo es total. Su colaboración o no con el profesor, va a determinar que el grupo acepte o se rebele contra éste. Es necesario encomendarle tareas difíciles y complejas, ya que puede ayudar a llevar bien una clase. 31

33 Capítulo 3 Modelo del Sistema Para tratar el problema de generar una distribución óptima de estudiantes, utilizando el sociograma, con el objetivo de minimizar la influencia negativa que tienen algunos alumnos sobre sus compañeros, se plantea un algoritmo genético que se describe en este capítulo. Para lograr dicho objetivo, es necesario obtener una matriz sociométrica, que represente las relaciones de agresividad y victimización que existen en ese curso en particular. Así, poder determinar cuál es la mejor posición en la que se pueden sentar los alumnos, dada una configuración de sala de clases específica Configuración de Salas de Clases Para acotar el problema en cuestión, se considerarán tres configuraciones posibles de salas de clases que están presentes en establecimientos educacionales de Chile. Éstas, se describen a continuación: 32

34 Sala Tipo 1 Este tipo de configuración de sala, corresponde a la que no posee pasillos, en donde los alumnos están sentados uno inmediatamente despúes de otro, en todos los sentidos. Representa a la configuración que se utiliza comúnmente en las aulas universitarias que poseen sillas individuales. La Figura 3.1, muestra gráficamente la descripción hecha anteriormente y su modelo en la Figura 3.2: Figura 3.1: Ejemplo de configuración de sala tipo 1. Figura 3.2: Ejemplo del modelo de la configuración de sala tipo 1. 33

35 Sala Tipo 2 Este tipo de configuración de sala, corresponde a la que posee un pasillo cada dos puestos. Representa a la configuración que se utiliza comúnmente en los establecimientos escolares de educación básica y media. La Figura 3.3, muestra gráficamente la descripción hecha anteriormente y su modelo en la Figura 3.4, en donde los pasillos son representados con un 0 : Figura 3.3: Ejemplo de configuración de sala tipo 2. Figura 3.4: Ejemplo del modelo de la configuración de sala tipo 2. 34

36 Sala Tipo 3 Este tipo de configuración de sala, corresponde a la que posee un pasillo por cada puesto, es decir, se intercalan los pasillos con los puestos, que al igual que las salas tipo 1, se utilizan en aulas universitarias. La Figura 3.5, muestra gráficamente la descripción hecha anteriormente y su modelo en la Figura 3.6, en donde los pasillos son representados con un 0 : Figura 3.5: Ejemplo de configuración de sala tipo 3. Figura 3.6: Ejemplo del modelo de la configuración de sala Tipo Matriz Sociométrica La matriz sociométrica es el resultado de un test sociométrico aplicado previamente a un curso determinado, una descripción más detallada se puede ver en 2.2 Test Sociométrico. Para poder minimizar la influencia negativa que tienen algunos alumnos sobre sus compañeros, la pregunta realizada a los estudiantes debe ser de tal forma, que represente que existe una relación negativa entre los involucrados. La motivación de esta estructura se describe más adelante en Componentes del Algoritmo Genético - Función Objetivo o de Evaluación. Tomando como base la descripción realizada en Procedimiento a seguir. En la elaboracíon de la matriz sociométrica, se tiene que 1, representa que existe una relación directa entre los alumnos involucrados; mientras que 0, simboliza que no existe tal relación Componentes del Algoritmo Genético La descripción de los componentes definitorios, que involucran al algoritmo genético, a continuación: Representación Los alumnos de una sala de clases en particular, son representados por un identificador único, de tal forma, que dos alumnos no estén asignados a un mismo puesto. El identificador corresponde a un número natural correlativo, que parte desde el primer alumno representado en la sociomatriz, hasta el último de éstos. Así, se tiene una representación del tipo permutación de enteros. 35

37 Dicho lo anterior, un cromosoma está compuesto por los alumnos de un curso y por los pasillos de la sala de clase, representados con 0 como se mostró en Sala Tipo 2 y Sala Tipo 3; de tal forma, que esta representación compuesta, se maneja en el algoritmo genético en forma de arreglo unidimensional. La Figura 3.7 ejemplifica lo descrito anteriormente: Figura 3.7: En la parte superior, una matriz de representación de una sala de clases tipo 1. En la parte inferior, la representación de esa matriz en forma de cromosoma. La configuración para los cromosomas de tipo 2 y 3, es análoga al anterior, donde los pasillos están simbolizados con Población Inicial Para garantizar diversidad genética al comienzo del algoritmo, se utiliza una población inicial individuos, generada de forma aleatoria. Para originar esta población, se tiene un cromosoma base, del cual se obtienen N permutaciones semi-aleatorias, siendo N el tamaño de la población. El tamaño de la población inicial, se determinará experimentalmente, procurando que la cantidad sea suficientemente grande, como para que con valores superiores, no se obtengan mejores soluciones. Ésto, por que este valor, incide en el rendimiento del algoritmo genético Función Objetivo o de Evaluación La función objetivo permite evaluar cada distribución generada (cromosomas), así se considerará que la pregunta hecha a los estudiantes, representa una relación negativa entre los individuos, de tal forma, que se pretende tener un puntaje lo menos negativo posible, o sea, en que la negatividad sea menor; por lo que se tiene una función a minimizar, que se describe a continuación [20]: F itness = N (Influencia(x i ) V ecindario(i) + P enalización(x i )), con N alumnos i=1 Donde x corresponde a un individuo. La descripción de cada uno de los conceptos involucrados en la función de evaluación, se presenta a continuación: Función Influencia (Influencia(alumno)) Este componente de la función de evaluación, corresponde a la percepción negativa que tiene el curso sobre un alumno en particular. Así, un mayor puntaje de negatividad de un alumno, tiene una mayor influencia sobre el curso. Esta información se obtiene a partir de la matriz sociométrica del curso, 36

38 descrita en 3.2 Matriz Sociométrica; donde la Influencia(alumno) es la suma de todas las respuestas negativas que le asignaron a este alumno, por parte de cada uno de sus compañeros Función Vecindario(Vecindario(puesto)) Este componente de la función de evaluación, corresponde a la valoración que un puesto tiene en la sala de clases. Se constituye de dos partes: a) La primera, se refiere a la ponderación que tiene un puesto de forma independiente, el cual se obtiene a partir de una plantilla, que se le suministra al algoritmo genético, asociando un puntaje determinado a cada ubicación espacial en la sala. Así, mientras más cercano esté un alumno al profesor, menor ponderación tiene. La forma de la plantilla, está condicionada al tipo de sala de clases que se requiera, asignando puntaje 0 a las posiciones en las que se encuentra un pasillo. La Figura 3.8 muestra la descripción anterior para las configuraciones de sala de clase Tipo 1, 2 y 3: (a) Plantilla tipo 1 (b) Plantilla tipo 2 (c) Plantilla tipo 3 Figura 3.8: Ejemplo de plantillas tipo 1, 2 y 3, donde los pasillos están simbolizados con 0. 37

39 b) La segunda, se refiere a ponderación que tiene cada puesto, en relación a los vecinos que tiene, considerando la plantilla descrita en el item anterior (ver Figura 3.8). La forma de la plantilla, condiciona los puntajes que aportan cada uno de los vecinos. Éstos son suministrados al algoritmo genético. Así, los vecinos directos (α), aportan un mayor puntaje que los que se encuentra en posiciones diagonales (β), y éstos a su vez, mayor que los que se encuentran separados por un pasillo, ya sea en dirección de uno directo(γ) o diagonal (δ). La Figura 3.9 muestra la descripción anterior: (a) Vecinos plantilla tipo 1 (b) Vecinos plantilla tipo 2 (c) Vecinos plantilla tipo 3 Figura 3.9: Ejemplo de los vecinos de un alumno para las plantillas tipo 1, 2 y 3. Donde la casilla pintada representa al alumno en cuestión, α y β vecinos directos, γ y δ vecinos indirectos; y 0 pasillo. Luego, la función Vecindario(puesto) se define de la siguiente forma: V ecindad(puesto) = (α α n + β β m + γ γ i + δ δ j ), con n, m, i, j 4 y α, β, γ, δ 0. Finalmente, de las dos partes que se especificaron anteriormente, Ponderación(puesto) correspondiente a la ponderación descrita en a), y Vecindad(puesto) a la que se especificó en b); se desprende la función vecindario, descrita a continuación: V ecindario(puesto) = P onderación(puesto) V ecindad(puesto) Un ejemplo, de la obtención de la ponderación de la función vecindario es: Suponiendo que un curso se representa mediante la plantilla de la Figura 3.8a y los puntajes de las vecindades son α = 2 y β = 1, se tiene que la ponderación aportada a la función objetivo, por la función vecindario para un alumno que se encuentra en la fila 3, columna 3 es: V ecindario(3, 3) = 3 ( ) = 36 La Figura 3.10 ejemplifica el resultado anterior: 38

40 Figura 3.10: Ejemplo de cómo obtener la Función Vecindario en una plantilla tipo 1. El valor marcado con azul, corresponde al que se utiliza para Ponderación(3,3), mientras que los marcados con rojo, representan a los que se utilizan para Vecindad(3,3) Función Penalización(Penalización(alumno)) Este componente de la función de evaluación, corresponde a la penalización que se aplica, al posicionar un alumno agresor (alumno), cerca de sus víctimas. Al igual que la función vecindario, la función penalización, está condicionada a la plantilla que se le proporcione al sistema. Es así, como el puntaje que se le asigna a los vecinos, se determina a partir de los valores α, β, γ y δ de la misma forma que se describió en Función Vecindario(Vecindario(puesto)) b), pero sólo aplica en caso de que el vecino sea efectivamente un alumno calificado como víctima; información que es obtenida desde la matriz sociométrica, en la que el alumno, está definido como que tiene una incidencia negativa sobre el vecino en evaluación. Dicho lo anterior, la función penalización, se define así: P enalización(alumno) = (α α n + β β m + γ γ i + δ δ j ), con n, m, i, j 4 y α, β, γ, δ 0. Donde α, β, γ y δ son vecinos válidos para aplicar a la función penalización, sólo si el alumno, que está en la misma posición que corresponde al vecino, es considerado que recibe una incidencia negativa por parte del alumno (alumno) Operadores Genéticos Selección Una vez obtenido el fitness de cada cromosoma de la población, mediante el operador de selección, se clasifican los que pasarán a formar parte de la siguiente generación. Considerando los operadores de selección descritos en Operadores Genéticos - Selección, se tiene que estudios comparativos entre ellos, indican que la selección de ruleta es significativamente más lenta 39

41 para encontrar óptimos, que la basada en ranking y por torneo. Entre estos dos últimos, se encuentra que tienen rendimientos idénticos, tomando en cuenta que las mejores soluciones, se obtienen con selección basada en ranking exponencial y por torneo con tamaños de torneos superiores a 2 [17]. Dicho lo anterior, para este proyecto se utilizará la selección por torneo, con un tamaño de torneo de 5, ya que produce buenos resultados en relación costo-rendimiento [18] Cruzamiento Para este proyecto, sólo se consideraron cruzamientos que generan permutaciones de una solución, aplicables a problemas en los que cada gen es único, asegurando que no existan dos valores iguales en cada cromosoma, ya que eso significaría que un alumno estaría sentado en dos puestos al mismo tiempo y por consiguiente, otro alumno, no podría sentarse. De estudios teóricos y empíricos, se obtiene que el operador OX es mejor que el PMX y que este a su vez, es mejor que CX [27]. No obstante, con el objetivo de ampliar la línea de investigación, permitiendo comparar qué método de cruzamiento obtiene mejores soluciones para este problema en particular, esto es, con OX [20]; es que se ha optado por utilizar PMX (ver Cruzamiento - Partially Mapped Crossover (PMX) o Cruce Parcialmente Combinado). Finalmente, la probabilidad de que se aplique este cruzamiento, se definirá de forma experimental, con el objetivo de evaluar con qué valor se obtienen mejores resultados Mutación Al igual que en el operador de cruzamiento, en mutación, es necesario sólo generar permutaciones de los cromosomas. Considerando las técnicas de estudios comparativos que usualmente se usan en la literatura, como lo es con el problema del vendedor viajero (TSP), es que se ha determinado que un buen método de mutación, es el operador Displacement Mutation (ver Mutación - Displacement Mutation (DM) o Basado en el Desplazamiento) [25]. Finalmente, la probabilidad de que se aplique esta mutación, se definirá de forma experimental, con el objetivo de evaluar con qué valor se obtienen mejores resultados Reemplazo de la Población Este proyecto contempla la utilización de Steady-State, con un elitismo de un 10 %, ya que en estudios comparativos, se concluyó, que genera mejores soluciones (bajo esos parámetros), que con un reemplazo total de la población [22] Criterios de Término Los algoritmo genéticos pueden ser ejecutados indefinidamente, es por esto que se debe especificar una o varias condiciones de término. Para este sistema, se ha definido como tal, a un número determinado 40

42 de generaciones a evolucionar, definido experimentalmente, en el que después de cierta cantidad, no se obtengan mejores soluciones. 41

43 Capítulo 4 Especificación de Requerimientos 4.1. Modelo del Sistema El sistema debe estar desarrollado en un ambiente web, de tal forma que un profesor (usuario objetivo), pueda obtener una distribución óptima de alumnos, a partir de la información sociométrica (visualizable), que haya adquirido de alguna encuesta hecha a un curso en particular; desde cualquier lugar con una conexión a internet. Así, el sistema es una página web, que interactúa con el usuario, de acuerdo a la siguiente descripción, que satisface los requerimientos planteados anteriormte: Un usuario debe ingresar al sistema los datos de una matriz sociométrica, que modela las relaciones negativas que se presentan en un grupo de alumnos, en particular, de abuso. Y a partir de esto, se modela el sociograma, que permite la visualización de dichas relaciones entre el alumnado. Además, el sistema debe ser capaz de generar un modelo solución, que muestre gráficamente una distribución espacial de alumnos, de acuerdo a una configuración de sala en particular, cuyos datos asociados deben ser proporcionados; utilizándolos junto con la información sociométrica, para dar respuesta al problema, de acuerdo al modelo de algoritmo genético planteado en 3 Modelo del Sistema. Para ejemplificar lo descrito anteriormente, se presenta en la Figura 4.1, un diagrama que muestra estas interacciones: 42

44 4.2. Evolución del Sistema Figura 4.1: Diagrama del modelo general del sistema El sistema que se desarrolla, debe ser diseñado e implementado en módulos, brindando la posibilidad de incluir complementos que pudiesen aportar otro tipo de funcionalidades al software. Ésto, para incluir secciones por ejemplo, de otro tipo de algoritmos u operadores genéticos, que pudiesen resolver el problema, para probar alternativas de solución, que podrían aportar una mirada distinta para el usuario que esta probando un curso en particular. Además, se debe considerar la incorporación al sistema, de otro tipo de configuración de sala para los alumnos. Por ejemplo, un caso similar al de las salas tipo 2 (ver Sala Tipo 2), donde se plantee que un pasillo, puede estar entre N número de Alumnos cantidad de puestos, que a diferencia de las salas tipo 2, un pasillo está siempre entre dos o un puesto. Otro tipo de configuración que pudiese ser interesante considerar a futuro, es la de conformación de grupos de trabajo para mesas circulares, para lo cual, se debería plantear un modelo de sala y evaluación diferente al de este proyecto Requerimientos Funcionales El sistema debe ser capaz de, dado el ingreso de datos correspondientes de parte de un usuario, mostrar el diagrama del sociograma de un curso de alumnos en particular y además, una distribución solución de alumnos en una sala de clases, que utiliza el tipo de mesas que habitualmente se utilizan en establecimientos educacionales de Chile (ver 3.1 Configuración de Salas de Clases). Ésto, desde un entorno web, que permita al usuario interactuar con el sistema desde cualqueir computador con una conexión a internet Especificación de Requerimientos Funcionales Realizar consulta de obtención de sociograma Objetivo: Mostrar diagrama de un sociograma en particular. Entrada: Matriz sociométrica. 43

45 Proceso: De acuerdo a la entrada, el sistema procesa los datos, identificando los nodos y sus vecindades. Salida: El sistema despliega el diagrama del sociograma Realizar consulta de obtención de distribución óptima de alumnos en la sala de clases Objetivo: Mostrar diagrama con la distribución óptima de alumnos, para una configuración de sala de clases en particular. Entrada: Matriz sociométrica, parámetros del algoritmo genético, plantilla de tipo de sala y valores asignados de penalización de vecinos (ver Función Objetivo o de Evaluación). Proceso: De acuerdo a la entrada, el sistema procesa los datos, utilizando un algoritmo en particular, que entrega una solución al problema. Salida: El sistema despliega el diagrama con la solución obtenida del algoritmo genético Requerimientos No Funcionales Rendimiento El sistema debe responder a las consultas hechas por el usuario en tiempo polinomial. El sistema debe responder por lo menos las consultas de dos usuarios a la vez Confiabilidad El sistema no requiere de seguridad como identifiacción de usuario, ya que si bien el programa está enfocado a profesores, no imposibilita al resto de la población a probar sus propias configuraciones de salas de clases. El sistema debe ser tolerante a fallas. Cuando un usuario ingresa un valor que no corresponde, el sistema no debe dejar de funcionar y plantear alternativas para solucionar el problema Compatibilidad El sistema debe ser multiplataforma, o sea, capaz de ser utilizado en cualquier sistema operativo. El sistema debe ser capaz de ser utilizado en un entorno web, considerando los 3 navegadores más populares en Sudamérica: Google Chrome, Internet Explorer y Mozilla Firefox; que representan a más del 97 % [31] Manual de usuario y ayuda de sistema El sistema debe tener un manual de usuario on-line, que permita acceder desde el mismo sitio web del software a información de cómo usarlo. 44

46 Interfaz El sistema debe ser fácil de usar, vale decir, que está orientado a un perfil no informático, de tal forma que profesores puedan utilizarlo sin complicaciones. 45

47 Capítulo 5 Diseño 5.1. Descripción General del Sistema El sistema es una plataforma web, que permite a un(os) usuario(s) obtener resultados a partir de los datos ingresados por este(os), que corresponden a la información obtenida de alguna pregunta que permita identificar las relaciones negativas de un grupo curso de alumnos, construyendo así, una sociomatriz. Éstos datos, están almacenados en archivos con formato Microsoft Excel, siendo una forma de administrar, analizar y compartir tablas en forma de sociomatrices. Una vez hecho lo anterior, es sistema proporciona la posibilidad visualizar la matriz sociomética ingresada, dando como resultado, el sociograma. Por otro lado, se tiene la facultad de obtener y guardar la distribución de alumnos de acuerdo a una configuración de sala en particular, cuyo tipo es detectado automáticamente desde una plantilla que se le suministra al sistema (ver Función Vecindario(Vecindario(puesto))). Ésta, proporciona la estructura de la sala de clases que tendrá la solución, de tal forma, que sólo los puestos que tengan puntaje asignados de acuerdo a la cercanía que se tiene con el profesor (ver Función Objetivo o de Evaluación); serán puestos válidos en la solución. Al igual que la sociomatriz, la(s) plantilla(s) debe(n) estar en el mismo archivo excel, de tal forma que cada una, corresponde a una hoja distinta en el documento. Además, es necesario proporcionar los valores asignados de penalización de vecinos y los parámetros del algoritmo genético; o utilizar los valores que se muestran por defecto Consideraciones de Diseño Supuestos y Dependencias Como el sistema funciona en un entorno web, es capaz de ser utilizado en cualquier sistema operativo que cuente con conexión a internet, utilizando los navegadores más comunes en la actualidad [31], estos son: Internet Explorer, Mozilla Firefox, Google Chrome. No es necesario que el usuario se identifique en el sistema para que pueda usarlo. 46

48 Método de desarrollo Para este proyecto se utiliza la metodología de desarrollo en espiral [28], que contempla los siguientes principios básicos: La atención se centra en la evaluación y reducción del riesgo del proyecto, dividiéndolo en segmentos más pequeños, proporcionando más facilidad de cambio durante el proceso de desarrollo. Asi como ofrecer la oportunidad de evaluar los riesgos y considerar la continuación del proyecto durante todo el ciclo de vida. Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos: 1. Determinar objetivos, alternativas y desencadenantes de la iteración. 2. Evaluar alternativas; identificar y resolver los riesgos. 3. Desarrollar y verificar los resultados de la iteración. 4. Plan de la próxima iteración. Cada ciclo comienza con la identificación de los interesados, sus condiciones de ganancia, y termina con la revisión y examinación. Esta metodología se adecúa bien a las necesidades de este proyecto, en el que se puede ajustar cada iteración, con el desarrollo de cada uno de los módulos. Además, entre cada uno de los ciclos, es posible retroalimentar el sistema, de acuerdo a las alteraciones que se vayan presentando durante su progreso Estrategias de Arquitectura Para este proyecto se contempla la utilización de la arquitectura Modelo Vista Controlador (MVC), que es un patrón o modelo de abstracción de desarrollo de software, que separa los datos de una aplicación, la interfaz de usuario, y la lógica de negocio, en tres capas distintas: Modelo: Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado. Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista. Las principales ventajas del modelo vista controlador, que determinan el desarollo de este proyecto mediante esta estrategia de arquitectura, son: Claridad en el diseño: El sistema al estar divido en capas, es posible identificar claramente cada uno de los componentes y sus funciones. Modularidad: La división de capas del sistema, hace que la modificación de cada una de estas sea por separado, sin intervenir en los componentes que no le corresponden. Esto hace que la tarea de actualizar el sistema se vea facilitada. 47

49 Múltiples vistas: El sistema puede mostrar el estado del modelo en una varidad de formas, creando/diseñando vistas en forma escalable y modular. Trabajo en equipo: La separación de cada uno de los componentes del sistema, hace que la asignación de tareas a desarrollar sea más sencilla. Desarrollo de prototipos: La creación de prototipos del sistema es simple, ya que se puede desarrollar sólo una parte de éste y hacer retroalimentación. Múltiples tecnologías: Cada una de las capas del sistema, puede utilizar tecnologías distintas, teniendo como administrador al controlador Lenguaje de Programación Para desarrollar este sistema, se utilizará el lenguaje de programación Java, por las siguientes características que se adecúan a las necesidades del proyecto [30]: Es Orientado a Objeto. Este paradigma tiene una serie de ventajas que lo diferencian del resto: - Fomenta la reutilización y extensión del código. - Facilita el mantenimiento del software. - Permite crear sistemas más complejos. - Agiliza el desarrollo de software. - Facilita la creación de programas visuales. - Facilita el trabajo en equipo. - Relacionar el sistema al mundo real. Es de fuente abierta, por lo que no es necesario realizar ningún pago por su utilización. Funciona Independiente de la plataforma. Produce Applets. Éstos, son pequeños programas que a diferencia de las aplicaciones independientes, aparecen insertados en las páginas Web. Cuando un usuario carga la página en la que está el applet y acepta el uso de éste, se descarga en la máquina del usuario y se ejecuta localmente. Tienen la capacidad de ejecutar acciones de distinta índole, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo con los que se puede interactuar, etc. Los applets tienen las siguientes ventajas: - El mismo applet puede trabajar en todas las versiones de Java, Sin embargo, si un applet requiere una versión posterior de la JRE 1, el cliente se verá obligado a esperar durante la descarga de la nueva JRE. - Son multiplataforma (funcionan en Linux, Windows, Mac OS, y en cualquier sistema operativo para el cual exista una JVM 2. - Es soportado por la mayoría de los navegadores Web 1 Java Runtime Environment (JRE), es un conjunto de utilidades que permite la ejecución de programas Java. 2 Java Virtual Machine (JVM), es un programa, componente de JRE, que es ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java. 48

50 - Puede ser almacenado en la memoria cache de la mayoría de los navegadores Web, de modo que se cargará más rápido cuando se vuelva a cargar la página Web, aunque puede quedar atascado en la caché, causando problemas cuando se liberan nuevas versiones. - Puede tener acceso completo a la máquina en la que se está ejecutando, si el usuario lo permite. - Puede trasladar el trabajo del servidor al cliente, haciendo una solución Web más escalable tomando en cuenta el número de usuarios (clientes). Finalmente, adicional a las ventajas que se tiene con la programación orientada a objeto, los applets son el componente fundamental, ante la elección de la utilización del lenguaje de programación Java, ya que se adecúa a todas las necesidades planteadas en la Especificación de Requerimientos Librerías Las librerías o bibliotecas son un conjunto de subprogramas utilizados para desarrollar software. Contienen código y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de estos; permitiendo que se compartan y puedan modificarse de forma modular. Para este sistema, se utilizarán una serie de blibliotecas, que permitan un desarrollo más rápido y modular; de forma tal, que se adecúen a las necesidades que se tiene del proyecto; considerando que tengan la documentación necesaria y un soporte correspondiente. Éstas, se describen a continuación: JGAP Para el desarrollo del algoritmo genético, se utilizará el framework 3 JGAP (Java Genetic Algorithms Package) versión [32]. Esta herramienta, permite generar soluciones personalizadas, dependientes del problema a realizar, con las siguientes características: Permite la la implementación de funciones fitness de maximización y minimización. Permite definir una gran variedad de parámetros para el algoritmo genético, como criterios de término, cantidad de población inicial, operadores de cruzamiento, mutación, definir elitismo, etc. Permite la personalización de una serie de componentes, como operadores genéticos, genes, cromosomas, genotipos, etc. Permite hacer seguimiento paso a paso de lo que sucede en el algoritmo genético en cada generación de la población. JGAP es software libre y se puede distribuir bajo la licencia GNU Lesser General Public o posterior. Finalmente, JGAP se adecúa de muy bien a las necesidades de este proyecto, por las características anteriormente mencionadas y su modularidad, que permite modificar sólo una parte del código, para por ejemplo, cambiar la función de evaluación o utilizar otros operadores genéticos. 3 Framework - Es una estructura de soporte definida, en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto. 4 GNU Lesser General Public License - Es una licencia de software creada por la Free Software Foundation, que pretende garantizar la libertad de compartir y modificar el software cubierto por ella, asegurando que el software es libre para todos sus usuarios. No obstante, no es posible liberar productos que estén bajo otra licencia. 49

51 JUNG Para el desarrolo de la sociograma del sistema (representación gráfica de la sociomatriz (ver 2.2 Test Sociométrico)), se utilizará el framework JUNG (Java Universal Network/Graph) versión [33]. Éste, es una librería de software para Java, de código abierto (Licencia Berkeley Software Distribution (BSD) 5 ); diseñada para soportar el analisis, modelado y visualización de datos que pueden ser representados como grafos. Se centra en aplicaciones matemáticas y algorítmicas de grafos, pertenecientes a los campos de análisis de redes sociales, visualización de información, descubrimiento del conocimiento y minería de datos. Sin embargo, puede ser usado para cualquier aplicación que involucre grafos y redes. JUNG se compara con frameworks similares de la siguiente forma: UCINET 6 UCINET es una aplicación muy usada entre los investigadores de redes sociales para realizar un análisis con grafos. No obstante, no puede ser insertado dentro de una aplicación: No es posible llamar a UCINET en interfaz gráfica de usuario. Por el contrario, JUNG, proporciona recursos dinámicamente a medida que los grafos cambian, para llamar programáticamente a porciones de código, y mostrar un resultado a medida que el programa continúa. PAJEK 7 PAJEK es una herramienta independiente para visualizar y analizar redes. JUNG proporciona muchos algoritmos que PAJEK no tiene y se incorpora fácilmente en aplicaciones de la red. Además, JUNG permite leer y escribir archivos de formato PAJEK, pero no viceversa. R 8 R es un lenguaje de programación especializado en estadísticas, ofreciendo un conjunto amplio de rutinas de esta índole. JUNG está orientado a una audiencia menos especializada, y, como solución de JAVA pura, es insertable en navegadores Web y aplicaciones pre-existentes. GFC 9 GFC es un paquete de grafos orientado a la visualización liberado por IBM. Es específico para usar AWT/Swing de Java, y contiene pocos algoritmos para la manipulación de los grafos. Finalmente, JUNG se adecúa de mejor manera a las necesidades de este proyecto, por su capacidad de ser utilizado en navegadores Web, posibilidad de visualización de grafos y su gran cantidad de atributos que hacen que la herramienta de sociograma pueda verse complementada a futuro JExcelApi Para el desarrollo del componente de software dedicado a menejar archivos Excel, forma de cargar (matriz sociométrica y plantilla) y guardar (distribución solución de alumnos) los datos del sistema, 5 Berkeley Software Distribution (BSD) - Es un una licencia de software otorgada principalmente para los sistemas BSD. Tiene características similares a GNU Lesser General Public, pero con la diferencia de que si es posible liberar productos que estén bajo otra licencia. 6 UCINET - 7 PAJEK - 8 R - 9 GFC - 50

52 se utilizará el framework JExcelApi versión [34]. Éste, es una librería de software para Java, de código abierto (Licencia GNU Lesser General Public 2.0), con la capacidad de leer hojas de cálculo Excel, modificarlas a conveniencia y escribir los datos a cualquier tipo de salida (Ej. Disco, HTTP, Bases de Datos, o cualquier otro socket). Sus principales características son: Leer datos desde hojas de cálculo de Excel 95, 97, 2000, XP, y Leer y escribir fórmulas (Excel 97 y superiores). Generar hojas de cálculo en formato Excel Soporta formateo de fuentes, números y datos. Soporta sombreado, bordeado y coloreado de celdas. Modificación de hojas de cálculo existentes. Internacionalización de fórmulas, permitiendo escribirlas en inglés, francés, español y alemán. Soporta copia de gráficos. Soporta inserción y copia de imágenes hacia las hojas de cálculo. Finalmente, JExcelApi se adecúa muy bien a las necesidades de este proyecto, por las características anteriormente mencionadad y la posibilidad ampliar las funcionalidades del sistema, ante futuros requerimientos Herramientas Para la realización del sistema, se contemplan herramientas que son necesarias o que ayudan para el desarrollo de éste. Éstas, se describen a continuación: JDK Java Development Kit (JDK) versión 7, es un software que provee herramientas de desarrollo para la creación de programas en Java. Contiene los componentes necesarios para el desarrollo de aplicaciones en este lenguaje de programación. Está liberado bajo la licencia GNU General Public License Netbeans El IDE NetBeans versión 7.2.1, es un entorno de desarrollo integrado. Una herramienta para programadores pensada para escribir, compilar, depurar y ejecutar programas. Está escrito en Java, pero puede servir para cualquier otro lenguaje de programación. Existe gran cantidad de módulos para extender el IDE NetBeans. Está liberado bajo la licencia GNU General Public License. 51

53 5.4. Arquitectura del Sistema El sistema se divide en módulos, en forma de paquetes, que tienen funciones independientes; ya sea de visualización y/u operación (Applets de Java), o de organización lógica. La interacción entre estos módulos, se realiza en la página web, obteniendo los resultados deseados al utilizarlos en conjunto. Para especificar los procesos, detallar los componentes, documentar y definir una forma de constuir el sistema se utilizará el lenguaje de modelado UML o Unified Modeling Language, éste preescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan. Así, UML ofrece nueve diagramas para modelar sistemas; no obstante, al ser un lenguaje y no un método, no existe una estructura rígida que diga qué diagramas usar en tal caso y/o cuales no, es por esto que se dice que El 80 % de los problemas se resuelve con un 20 % de UML [29]. Para este proyecto, es importante tener la documentación que permita tanto el desarrollo del sistema, como la actualización de éste (ver 4.2 Evolución del Sistema). Es por esto, que se definirán los diagramas de: Casos de uso, paquetes, clases y secuencia Diagrama de Casos de Uso El diagrama de casos de uso documenta el comportamiento de un sistema desde el punto de vista del usuario. Por lo tanto, los casos de uso determinan los requisitos funcionales del sistema, es decir, representan las funciones que un sistema puede ejecutar Identificación de actor: Usuario: Es el cliente que ingresa al sistema con el fin de realizar consultas, no posee privilegios para modificar el sistema, ni el contenido que se despliega en el, mas que lo relevante a la pregunta. Figura 5.1: Diagrama de casos de uso del sistema de distribución de alumnos. 52

54 Detalles de Casos de Uso Un caso de uso es una secuencia de interacciones que se desarrollarán entre un sistema y sus actores, en respuesta a un evento que inicia un actor principal sobre el propio sistema. Describe qué hace el sistema, pero no especifica cómo lo hace. Los que contemplan este proyecto se describen a continuación: Visualizar Sociograma Actor Principal: Usuario. Personal involucrado e intereses: El Usuario desea visualizar el sociograma, que corresponde a una pregunta hecha a los alumnos de un curso en particular, para lo cual, debe ingresar las preferencias de cada uno de ellos en el sistema. Ésto es, un archivo con formato Excel con dichos datos. Precondiciones: El Usuario tiene un archivo Excel, con la información de la sociomatriz de alumnos y las plantillas que se quieren probar en el sistema en hojas separadas. Postcondiciones: El sociograma Visualizar Distribución de Alumnos Actor Principal: Usuario. Personal involucrado e intereses: El Usuario desea visualizar la distribución de alumnos resultante del algoritmo genético, para lo cual, debe ingresar los parámetros del algoritmo genético y valores asignados de penalización de vecinos; sin embargo, puede utilizar los valores que se muestran por defecto. Además, es necesario seleccionar una plantilla disponible, correspondiente a una hoja diferente a la de la sociomatriz, del mismo documento Excel proporcionado para el caso de uso Visualizar Sociograma. Precondiciones: La matriz sociométrica y las plantillas que se quieren usar, que ya se habían ingresado previamente en el sistema. Postcondiciones: Se despliega una representación gráfica de la distribución de alumnos en la sala de clases Guardar Distribución de Alumnos Actor Principal: Usuario. Personal involucrado e intereses: El Usuario desea guardar la distribución de alumnos resultante del algoritmo genético en un archivo Excel. Precondiciones: La distribución de alumnos debe haberse previamente obtenido. Postcondiciones: La distribución de alumnos solución, guardada en un archivo Excel. 53

55 Diagrama de Paquetes Un diagrama de paquetes, muestra cómo un sistema está dividido en agrupaciones lógicas, mostrando las dependencias entre ellas. Figura 5.2: Diagrama de Paquetes 54

56 Diagrama de Clases El diagrama de clases describe la estructura de un sistema mostrando sus clases, características y las relaciones entre ellos. Para una mejor visualización, se separará el diagrama de clases en cada uno de sus paquetes, considerando que las relaciones entre ellos, se modelaron en Diagrama de Paquetes Diagrama de Clases: algoritmogenetico Figura 5.3: Diagrama de Clases del paquete algoritmogenetico. 55

57 El detalle de las clases del diagrama de la Figura 5.3 a continuación: Figura 5.4: Detalle de clase AlgoritmoGenetico del paquete algoritmogenetico. 56

58 Figura 5.5: Detalle de clase CruzamientoPMX del paquete algoritmogenetico. Figura 5.6: Detalle de clase FitnessFunction del paquete algoritmogenetico. 57

59 Figura 5.7: Detalle de clase FitnessValueComparator del paquete algoritmogenetico. Figura 5.8: Detalle de clase Funcion del paquete algoritmogenetico. Figura 5.9: Detalle de clase GeneticOperator del paquete algoritmogenetico. Figura 5.10: Detalle de clase Vecindario del paquete algoritmogenetico. 58

60 Figura 5.11: Detalle de clase Genotipo del paquete algoritmogenetico. Figura 5.12: Detalle de clase Influencia del paquete algoritmogenetico. 59

61 Figura 5.13: Detalle de clase MutacionDesplazamiento del paquete algoritmogenetico. Figura 5.14: Detalle de clase NaturalSelector del paquete algoritmogenetico. Figura 5.15: Detalle de clase Penalizacion del paquete algoritmogenetico. 60

62 Figura 5.16: Detalle de clase Plantilla del paquete algoritmogenetico. Figura 5.17: Detalle de clase SeleccionTorneo del paquete algoritmogenetico. Figura 5.18: Detalle de clase TornamentSelectorConfigurable del paquete algoritmogenetico. 61

63 Diagrama de Clases: distribuciondealumnos Figura 5.19: Diagrama de Clases del paquete distribuciondealumnos. 62

64 Diagrama de Clases: sociograma Figura 5.20: Diagrama de Clases del paquete sociograma Diagrama de Clases: archivos Figura 5.21: Diagrama de Clases del paquete archivos. 63

65 Diagrama de Clases: parametrosdistribucion Figura 5.22: Diagrama de Clases del paquete parametrosdistribucion. 64

66 Diagrama de Clases: cargadearchivo Figura 5.23: Diagrama de Clases del paquete cargadearchivo. 65

67 Diagramas de Secuencia Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. La descripción de los que componen el sistema a continuación: Visualizar Sociograma Figura 5.24: Diagrama de Secuancia de Caso de Uso: Visualizar Sociograma. 66

68 Escenario principal de éxito (flujo básico): 1. El usuario selecciona Visualizar Sociograma en el sistema. 2. El sistema le solicita al usuario el archivo sociomatriz. 3. El usuario ingresa la ruta del archivo sociomatriz. 4. El sistema le solicita al usuario la confirmación de los datos. 5. El usuario confirma que todos los datos han sido ingresados correctamente. 6. El sistema despliega el sociograma. Escenario alternativo (Extensiones): 3-5. El usuario cancela la operación y vuelve al punto El sistema identifica que el archivo ingresado no tiene la estructura deseada. Muestra un mensaje de error y vuelve al punto 2. 67

69 Visualizar Distribución de Alumnos Figura 5.25: Diagrama de Secuencia de Caso de Uso: Visualizar Distribución de Alumnos. 68

70 Escenario principal de éxito (flujo básico): 1. El usuario selecciona Visualizar Distribución de Alumnos en el sistema. 2. El sistema muestra unos datos por defecto. Luego solicita el ingreso de los parámetros del algoritmo genético. 3. El usuario ingresa al sistema los parámetros del algoritmo genético. 4. El sistema muestra unos datos por defecto. Luego solicita el ingreso del puntaje de penalización de vecindad. 5. El usuario ingresa el puntaje de penalización de vecindad. 6. El sistema solicita la selección de una plantilla disponible. 7. El usuario selecciona una plantilla. 8. El sistema muestra los parámetros ingresados y solicita la confirmación de éstos. 9. El usuario confirma que los datos proporcionados fueron correctos. 10. El sistema ejecuta el algoritmo genético bajo los parámetros ingresados anteriormente y muestra la representación gráfica de la distribución de alumnos. Escenario alternativo (Extensiones): 4. El sistema detecta que se ingresaron parámetros del algoritmo genético no válidos y muestra un mensaje de error. Luego vuelve al punto El sistema detecta que se ingresaron puntajes de penalización de vecindad no válidos y muestra un mensaje de error. Luego vuelve al punto El usuario cancela la operación y vuelve al punto 2. 69

71 Guardar Distribución de Alumnos Figura 5.26: Diagrama de Secuencia de Caso de Uso: Guardar Distribución de Alumnos. 70

72 Escenario principal de éxito (flujo básico): 1. El usuario selecciona Guardar Distribución de Alumnos en el sistema. 2. El sistema solicita el ingreso de un nombre para la hoja del archivo Excel con la distribución solución. 3. El usuario ingresa el nombre de la hoja, correspondiente a la distribución solución. 4. El sistema solicita seleccionar el método de guardado. Esto es, en un archivo Excel independiente; o en una nueva hoja del mismo archivo fuente. 5. El usuario selecciona el método de guardado en un archivo Excel independiente. 6. El sistema solicita ingresar un nombre de archivo y una locación para éste, para guardar la distirbución solución. 7. El usuario ingresa un nombre de archivo y una locación para éste. 8. El sistema solicita la confirmación de que los datos son correctos. 9. El usuario confirma que los datos proporcionados fueron correctos. 10. El sistema guarda la hoja de distribución solución y muestra un mensaje de éxito. Escenario alternativo (Extensiones): 2-7. El usuario cancela la operación de guardado. 4. El sistema detecta que no se ingresó un nombre de hoja solución. Muestra un mensaje de error y vuelve al punto El usuario selecciona guardar la distribución solución en una nueva hoja en el mismo archivo fuente. Luego sigue en el punto El sistema detecta que ya existe un archivo con el mismo nombre ingresado. Muestra un mensaje de advertencia de sobre-escritura de archivo. En caso de aceptarlo, sigue al punto 9. De lo contrario, vuelve al punto El sistema no puede guardar en el archivo Excel correspondiente y muestra un mensaje de error. 71

73 Capítulo 6 Prototipo Este capítulo se divide en dos secciones principales, la primera para describir el prototipo implementado y la segunda, para probar dicha herramienta y proveer de valores que se definen como por defecto para la parametrización del algoritmo genético Implementación Esta sección tiene por objetivo mostrar el prototipo desarrollado para este proyecto, para lo cual, se describirán cada una de las secciones que componen la página web que se implementó, disponible en la siguiente dirección: 72

74 Descripción General de la Página Web La página web tiene una estructura organizativa general, que se describe en la Figura 6.1: Figura 6.1: Estructura organizativa general de la página web. A continuación, la descripción de cada uno de los componentes generales de la página web. 1. Nombre y logo de la página web. 2. Menu de selección, que contiene cada una de las secciones de la página web. 73

75 3. Cuerpo de la página, describiendo de que se trata esta sección. 4. Cuadro de imágenes, junto con su título y descripción; o sub-sección del sistema. 5. Título de la sección, correspondiente a alguna de las mostradas en el punto Información anexa. La descripción detallada de cada una de las secciones que componen la página web, a continuación: Las secciones Inicio, Sociograma y Algoritmo Genético, corresponden a un resumen de lo descrito en los capítulos anteriores de este proyecto, con el objetivo de que el usuario (profesor), pueda entender qué hace el sistema y cómo lo realiza Inicio Esta sección de la página web, tiene por objetivo dar a conocer de que se tráta el sistema y cuáles son sus capacidades Sociograma Esta sección de la página web, tiene por objetivo entender que es un sociograma, para qué sirve y cuáles son los procedimientos a seguir para su construcción, teniendo en cuenta el modelo planteado en 3 Modelo del Sistema. Además, se muestra cuál es la participación que se le da en el sistema, en cuanto a la posibilidad de visualizar este componente para el estudio de las relaciones entre alumnos de un curso Algoritmo Genético Esta sección de la página web, tiene por objetivo entender qué es un algoritmo genético, sus principales componentes y cómo está aplicado para este proyecto. Además, se muestra cuál es la participación que se le da en el sistema, en cuanto a la posibilidad de visualizar la distribución solución de un curso de alumnos, mediante la aplicación de un algoritmo genético Sistema Esta sección de la página web, corresponde al sistema implementado para visualizar un sociograma y obtener la distribución de alumnos en una sala de clases, de acuerdo a un archivo fuente con una sociomatriz y plantillas que modelan la estructura de esta aula. Se compone de cuatro sub-secciones, en la cual, en cada una de ellas existe un Applet (ver Lenguaje de Programación), que funcionan como programas Java en forma independiente y que tiene funciones particulares en el sistema. Éstos trabajan en conjunto, intercambiando mensajes para concretar los objetivos planteados: Archivo Fuente Esta sub-sección de la sección sistema, es la que administra el ingreso del archivo fuente, con la matriz sociométrica y las plantillas al sistema, identificando que el formato que tenga el documento sea el correcto. 74

76 El sistema utiliza un archivo con formato Excel (extensión.xls), que debe ser suministrado por el usuario; de forma tal que en su primera hoja, contenga la información sociométrica o sociomatriz (ver 2.2 Test Sociométrico), donde los nombres o identificadores de cada miembro del curso se sitúan por encima de la primera fila y a un costado de la primera columna de la matriz, el resto se completa con los resultados del test sociométrico, donde un 1 corresponde a que el alumno de la fila de la izquierda, tiene una relación directa de negatividad en este caso, con el alumno que está en la columna del valor ingresado. La acción de ingresar el archivo fuente al sistema, se concreta con la visualización del sociograma (representación gráfica de la sociomatriz), en donde se le envía un mensaje a la sub-sección Sociograma, para que muestre dicha herramienta; y otro mensaje a la sub-sección Opciones de Distribución de Alumnos, para que muestre los parámetros por defecto, de acuerdo a la primera plantilla que contiene el archivo fuente. Un ejemplo de la sub-sección Archivo Fuente en la Figura 6.2: Figura 6.2: Ejemplo de la sub-sección Archivo Fuente de la sección Sistema de la página web Sociograma Esta sub-sección de la sección sistema, es la encargada de visualizar el sociograma. Se realiza cuando se reciben los datos correspondientes de la matriz sociométrica, por parte de la sub-sección Archivo Fuente. Esta sub-sección tiene una serie de características para una mejor visualización: Zoom, para acercamiento y alejamiento de la imagen; Reiniciar, para re-hacer la visualización del sociograma; y una selección de acciones (TRANSFORMING), con la posibilidad de utilizar el puntero del mouse para mover los nodos, mediante la opción PICKING. Un ejemplo de la sub-sección Sociograma en la Figura 6.3: 75

77 Figura 6.3: Ejemplo de la sub-sección Sociograma de la sección Sistema de la página web Opciones de Distribución de Alumnos Esta sub-sección de la sección sistema, es la que administra los parámetros de distribución de alumnos, para posteriormente obtener una distribución solución; y además, provee las opciones para guardar dicho resultado. Los parámetros de la distribución de alumnos, se activan cuando se ingresa el archivo fuente en la sub-sección Archivo Fuente, mostrando valores por defecto; mientras que las opciones de guardado de solución, lo hacen una vez que se ha obtenido dicha distribución. Una vez definidos todos los parámetros correspondientes, se procede a obtener una distribución solución de alumnos, ejecutando el algoritmo genético y posteriormente, enviando los datos correspondientes a la sub-sección Distribución de Alumnos en donde se mostrará este resultado de forma gráfica. Un ejemplo de la sub-sección Opciones de Distribución de Alumnos en la Figura 6.4: 76

78 Figura 6.4: Ejemplo de la sub-sección Opciones de Distribución de Alumnos de la sección Sistema de la página web Distribución de Alumnos Esta sub-sección de la sección sistema, es la encargada de visualizar la distribución solución de alumnos. Se realiza cuando se reciben los datos correspondientes al resultado del algoritmo genético, por parte de la sub-sección Opciones de Distribución de Alumnos. En la parte superior, en la pizarra, se muestra el valor de Fitness obtenido, mientras menor sea este valor, mejor es la solución. Abajo de esto, se muestra gráficamente la distribución solución, con una configuración equivalente a lo que se ingresó como plantilla en el archivo fuente. Para una mejor visualización, se ha reemplazado la identificación de los alumnos con números correlativos, de acuerdo al orden en el que estaban en el archivo fuente. Para ver el nombre de un alumno, se debe posicionar el puntero del mouse sobre él. Una vez obtenida la distribución solución, se habilita la opción de guardado de ésta en la sub-sección Opciones de Distribución de Alumnos ; para lo cual, se tiene la posibilidad de hacerlo en el una nueva hoja del mismo archivo fuente, o en otro documento independiente. Un ejemplo de la sub-sección Distribución de Alumnos en la Figura 6.5: 77

79 Figura 6.5: Ejemplo de la sub-sección Distribución de Alumnos de la sección Sistema de la página web Manual de Usuario Esta sección de la página web, tiene por objetivo dar a conocer cómo realizar todos los procedimientos que involucran al sistema desde el punto de vista del usuario, es decir, es una guía paso a paso de las acciones que el sistema puede realizar y los requerimientos necesarios para que este funcione 78

80 adecuadamente Contacto Esta sección de la página web, contiene un formulario para enviar un correo electrónico al encargado del sistema, con el objetivo de realizar cualquier consulta o sugerencia (comentario). Al enviar un comentario, el sistema utiliza el cliente de mensajería que esté configurado como por defecto, en el computador del que se dió origen la acción Pruebas y Resultados Para analizar el desempeño del algoritmo genético y fijar los parámetros por defecto que tendrá, es que se han utilizado 5 muestras reales de matrices sociométricas, obtenidas desde establecimientos educacionales de la octava región, cuyas identidades, tanto de los alumnos cómo de las escuelas, permanecerán en el anonimato. Éstas, serán referenciadas como: Sociomatriz 1, Sociomatriz 2, Sociomatriz 3, Sociomatriz 4, Sociomatriz 5 ; y pueden ser encontradas en el Anexo, disponible al final del documento. Con el objetivo de obtener los parámetros recomendados para el algoritmo genético; los diferentes tipos de salas presentados en 3.1 Configuración de Salas de Clases, son estudiados con distintas configuraciones, para cada una de las matrices sociométricas mencionadas anteriormente. Éstas configuraciones, dadas por la Plantilla ingresada al sistema (ver Función Objetivo o de Evaluación), estan hechas de tal forma, que la sala sea lo más cuadrada posible, considerando que en cada muesta, la cantidad de alumnos es variable. Es así, como el Ancho = Alto de ésta, están dados por: Alumnos. Donde Largo y Ancho, son el número de filas y columnas, respectivamente, que tiene la Plantilla a estudiar, sin contar los pasillos que puedan existir en ella. Para ejemplificar lo anteriormente mostrado, consideremos que se tiene un curso con 23 alumnos. Esto implica que el Ancho = Alto = 23 = 5. Por lo que las Plantillas tendrían la forma de la Figura 3.8. Por otro lado, los puntajes que se asocian a cada ubicación espacial en la sala (ver Función Vecindario (Vecindario (puesto)) a)), se asumirá que cada fila tiene un mismo valor, siendo los alumnos más cercanos al profesor, los que obtienen un puntaje menor, partiendo desde 1. Además, los puntajes que se definirán como por defecto, asociados a las vecindades (ver Función Vecindario (Vecindario (puesto)) y Función Penalización (Penalización (alumno))), están seleccionados de las siguiente forma: Salas Tipo 1: α = 2 β = 1 Salas Tipo 2: α = 4 β = 3 79

81 γ = 2 δ = 1 Salas Tipo 3: α = 3 γ = 2 δ = 1 Dicho lo anterior, los parámetros a obtener, con las consideraciones anteriormente mencionadas son: Tamaño de la población inicial (Ver Población Inicial), probabilidad de cruzamiento y mutación (Ver Operadores Genéticos), y el número de generaciones a realizar como un criterio de término (ver Criterios de Término). Finalmente, los resultados mostrados corresponden a un promedio de promedios, esto es, cada unidad utilizada para graficar, es un promedio de las 5 sociomatrices disponibles, que a su vez, cada valor de una sociomatriz, es un promedio de 10 ejecuciones de una misma muestra, tomadas bajo las mismas condiciones. Éstos datos, pueden ser encontrados en el Anexo, disponible al final del documento Determinación del Tamaño de Población Inicial Para determinar la población inicial recomendada del algoritmo genético, se tomará en cuenta el número de alumnos como base para la generación de dicho tamaño. Así, es como prueban cada uno de los tipos de sala de clases y muestras de sociomatriz disponibles, para los siguientes tamaños : { Alumnos, Alumnos 2, Alumnos 3,..., Alumnos 10}. Para estos experimentos se considerarán los siguientes parámetros: Probabilidad de Cruzamiento = 80 %. Probabilidad de Mutación = 0,4 %. Número de generaciones a realizar como un criterio de término = 500 generaciones. Gráficos comparativos de los resultados obtenidos se muestran en las Figuras 6.6, 6.7 y 6.8: 80

82 Figura 6.6: Gŕafico Fitness Promedio v/s Tamaño de la Población Inicial en salas Tipo 1. Figura 6.7: Gŕafico Fitness Promedio v/s Tamaño de la Población Inicial en salas Tipo 2. Figura 6.8: Gŕafico Fitness Promedio v/s Tamaño de la Población Inicial en salas Tipo 3. 81

83 De los resultados de las Figuras 6.6, 6.7 y 6.8; se ha determinado para la elección del tamaño de población inicial, para las salas Tipo 1, Tipo 2 y Tipo 3; el primer valor en el cual exista una disminución superior a un 80 %, con respecto a la mejora que se tiene del promedio de Fitness. Ésto, considerando que un pequeño perfeccionamiento de la solución, no justifica el costo que implica tener un mayor tamaño de población inicial. Por otro lado, valores inferiores a un 80 %, se considera que no son suficientemente buenos. Así, los tamaños de población inicial son: Salas Tipo 1: Alumnos 7, con un 85.4 % de mejora. Salas Tipo 2: Alumnos 5, con un 84.0 % de mejora. Salas Tipo 3: Alumnos 6, con un 89.5 % de mejora Determinación de la Probabilidad de Cruzamiento La probabilidad de cruzamiento en un algoritmo genético, generalmente está entre un 60 % y un 90 % [24], por lo que se definirá experimentalmente qué valor obtiene mejores soluciones. Para estos experimentos se considerarán los siguientes parámetros: Tamaño de Población Inicial: Salas Tipo 1: Alumnos 7. Salas Tipo 2: Alumnos 5. Salas Tipo 3: Alumnos 6. Probabilidad de Mutación = 0,4 %. Número de generaciones a realizar como un criterio de término = 500 generaciones. Gráficos comparativos de los resultados obtenidos se muestran en las Figuras 6.9, 6.10 y 6.11: Figura 6.9: Gŕafico comparativo Fitness Promedio v/s Probabilidad de Cruzamiento, para las salas de clase Tipo 1. 82

84 Figura 6.10: Gŕafico comparativo Fitness Promedio v/s Probabilidad de Cruzamiento, para las salas de clase Tipo 2. Figura 6.11: Gŕafico comparativo Fitness Promedio v/s Probabilidad de Cruzamiento, para las salas de clase Tipo 3. De los resultados de las Figuras 6.9, 6.10 y 6.11; se ha determinado que las mejores soluciones, que se definirán como por defecto en el sistema, se obtienen con las siguientes probabilidades de cruzamiento: Salas Tipo 1: 90 %. Salas Tipo 2: 90 %. Salas Tipo 3: 70 %. 83

85 6.5. Determinación de la Probabilidad de Mutación La probabilidad de mutación en un algoritmo genético, generalmente está entre 1 P oblación Inicial y 1 Cromosomas [24]. Como la probabilidad de mutación, está asociada a valores que dependen de cada sociomatriz, es que se han definido las siguientes variables: Sea 1 P oblación Inicial = A y 1 Cromosomas P 1 = A. = B, se tiene que: P 2 = P 3 = A+ A+B A A+ A+B 2 2. P 4 = P 5 = A+B 2. A+ A+B 2 + A+B P 6 = P 7 = B+ B+A 2 + B+A B+ B+A 2 2. P 8 = P 9 = B. B+ B+A B Además, para estos experimentos se considerarán los siguientes parámetros: Tamaño de Población Inicial: Salas Tipo 1: Alumnos 7. Salas Tipo 2: Alumnos 5. Salas Tipo 3: Alumnos 6. Probabilidad de Cruzamiento: Salas Tipo 1: 90 %. Salas Tipo 2: 90 %. Salas Tipo 3: 70 %. Número de generaciones a realizar como un criterio de término = 500 generaciones. Gráficos comparativos de los resultados obtenidos se muestran en las Figuras 6.12, 6.13 y 6.14: 84

86 Figura 6.12: Gŕafico comparativo Fitness Promedio v/s Probabilidad de Mutación, para las salas de clase Tipo 1. Figura 6.13: Gŕafico comparativo Fitness Promedio v/s Probabilidad de Mutación, para las salas de clase Tipo 2. 85

87 Figura 6.14: Gŕafico comparativo Fitness Promedio v/s Probabilidad de Mutación, para las salas de clase Tipo 3. De los resultados de las Figuras 6.12, 6.13 y 6.14; se ha determinado que las mejores soluciones, que se definirán como por defecto en el sistema, se obtienen con las siguientes probabilidades de mutación: Salas Tipo 1: Salas Tipo 2: Salas Tipo 3: B+ B+A B+ 2 2 %. 2 B+ B+A 2 2 %. B+ B+A B+ 2 2 % Determinación del Número de Generaciones a Realizar, como un criterio de término Para la determinación del número de generaciones a realizar recomendada para el algoritmo genético, se tomará en cuenta la cantidad de alumnos como base para la generación de dicho tamaño. Así, es como prueban cada uno de los tipos de sala de clases y muestras de sociomatriz disponibles, para los siguientes tamaños : { Alumnos, Alumnos 2, Alumnos 3,..., Alumnos 15}. Para estos experimentos se considerarán los siguientes parámetros: Tamaño de Población Inicial: Salas Tipo 1: Alumnos 7. Salas Tipo 2: Alumnos 5. Salas Tipo 3: Alumnos 6. Probabilidad de Cruzamiento: Salas Tipo 1: 90 %. Salas Tipo 2: 90 %. Salas Tipo 3: 70 %. 86

88 Probabilidad de Mutación: B+ B+A B+ 2 2 Salas Tipo 1: %. 2 Salas Tipo 2: Salas Tipo 3: B+ B+A 2 2 %. B+ B+A B+ 2 2 %. 2 Gráficos comparativos de los resultados obtenidos se muestran en las Figuras 6.15, 6.16 y Para efectos de una mejor visualización, se abrevío a Alumnos, como A : Figura 6.15: Gŕafico Fitness Promedio v/s Número de Generaciones a Realizar en salas Tipo 1. Figura 6.16: Gŕafico Fitness Promedio v/s Número de Generaciones a Realizar en salas Tipo 2. Figura 6.17: Gŕafico Fitness Promedio v/s Número de Generaciones a Realizar en salas Tipo 3. 87

89 De los resultados de las Figuras 6.15, 6.16 y 6.17; se ha determinado para el número de generaciones a realizar, para las salas Tipo 1, Tipo 2 y Tipo 3; el primer valor en el cual exista una disminución superior a un 80 %, con respecto a la mejora que se tiene del promedio de Fitness. Ésto, considerando que un pequeño perfeccionamiento de la solución, no justifica el costo que implica tener un mayor número de generaciones. Por otro lado, valores inferiores a un 80 %, se considera que no son suficientemente buenos. Así, los tamaños de población inicial son: Salas Tipo 1: Alumnos 8, con un 87.9 % de mejora. Salas Tipo 2: Alumnos 10, con un 88.1 % de mejora. Salas Tipo 3: Alumnos 12, con un 100 % de mejora. 88

90 Capítulo 7 Conclusiones 7.1. Aspectos Generales El objetivo principal de este proyecto, era crear una herramienta que permita disminuir el bullying en las salas de clases. Para lo cual, se creó un sistema computacional online, que permitirá a los usuarios, principalmente profesores; acceder desde cualquier computador con una conexión a internet. Este se basa en las apreciaciones negativas que tienen los alumnos sobre sus compañeros, lo que se traduce en una sociomatriz que describe estas relaciones. El sistema consta de dos módulos principales: El primero corresponde a un módulo que permite visualizar e interactuar con el sociograma, facultando al profesor, a realizar un análisis exhaustivo de las relaciones que se dan entre los alumnos en el aula. El segundo corresponde a un módulo que permite distribuir espacialmente a los estudiantes en una sala de clases, de acuerdo a una configuración de sala particular. Para acotar el problema en cuestión, se consideraron 3 tipos de aulas. En base a esto, se utilizó un modelo matemático que resolvía el problema, utilizando algoritmos genéticos. El modelo planteado posee una serie de parámetros, los cuales fueron definidos experimentalmente para producir buenas soluciones; no obstante, el sistema posee la posibilidad de modificarlos, con el objetivo de encontrar resultados superiores, ya que al ser un modelo probabilístico, no se puede tener certeza de que sean efectivamente los mejores que se puedan dar. Finalmente, si bien esta herramienta no pretende solucionar el problema del bullying, es una ayuda para una preocupación que está muy presente en todos los establecimientos educacionales y que atañe a toda la sociedad Aspectos Técnicos La metodología en espiral, permitió retroalimentar el sistema en cada una de sus fases. Esto se hizo con una serie de reuniones con los clientes (profesora patrocinante y comisión), que mediante avances, fueron corrigiendo y aportando atributos al proyecto. 89

91 Por otro lado, el diseño del proyecto se realizó de tal forma, que el sistema puede ser actualizable, esto es, cuenta con la documentación necesaria para poder internvenir exitosamente en éste. Finalmente, la utilización de herramientas de programación y librerías adicionales, permitieron un desarrollo más simple, estructurado y claro del sistema, facilitando así, no sólo la construcción del prototipo presentado, sino que también la de posibles modificaciones Trabajo a Futuro Como trabajo a futuro de este proyecto, puede considerarse probar distintos valores de puntajes asociados a las ubicaciones espaciales de los alumnos en las plantillas y las penalizaciones que reciben estos porque un alumno abusivo se siente cerca de una víctima. También, probar distintos valores para los parámetros del algoritmo genético, ya que si bien se probó experimentalmente que los definidos por defecto, producen buenas soluciones, al ser un algoritmo probabilístico, no se tiene la certeza de que efectivamente produscan los mejores resultados. En particular, en las pruebas de probabilidad de mutación y número de generaciones a realizar, como criterio de término; se probaron 9 y 15 asignaciones, respectivamente, lo que se consideró como suficiente para determinar dichos valores, sin embargo, no es posible decidir de forma feasciente si existe una tendencia que mejore los resultados considerablemente con otros parámetros. Además, otras sociomatrices para probar estos parámetros, podrían arrojar resultados distintos. Por otro lado, sería interesante agregarle funcionalidades al módulo del sociograma, como por ejemplo, conocer el grado de los vértices, distancias mínimas, diferenciación de género, etc.; con el objetivo de proveer un análisis más completo de lo que sucede en el aula. El sistema se desarrolló pensando en este tipo de nuevas características, por lo que la libreria encargada del manejo del sociograma (JUNG), posee este tipo de consultas. Otra funcionalidad que se podría considerar a futuro en este sistema, es la incorporación de otro tipo de configuración de sala de clases, como es el caso de la conformación de grupos de trabajo para mesas circulares, en la cual, se debería plantear un modelo de sala y evaluación diferentes al de este proyecto. Finalmente, el sistema de distibución de alumnos en salas de clases, utilizando el sociograma, es una herramienta ampliable a otros sectores, como el empresarial, con cubículos de trabajo en oficinas. 90

92 Bibliografía [1] Leiva, Felipe; Leyton, Sergio; Morales, Pablo; Varela, Roberto. Estudio de validez de la técnica de análisis de redes sociales en el aula de clases. Tesis Grado de Licenciado en Educación, Pedagogía en Matemática y Computación, Facultad de Educación, Universidad de Concepción. Concepción, [2] Romera, Eva M.; Del Rey, Rosario; Ortega, Rosario. Factores Asociados a la Implicación en Bullying: Un Estudio en Nicaragua. Psychosocial Intervention, vol. 20, núm. 2, agosto, 2011, pp Colegio Oficial de Psicólogos de Madrid. Madrid, España. [3] Olweus Dan. Bullying at school what we know and what we can do. Cambridge, MA: Blackwell [4] Cerezo Ramirez, Fuensanta. La violencia en las aulas: análisis y propuestas de intervención. ISBN Pirámide [5] Rigby, Ken. A meta-evaluation of methods and approaches to reducing bullying in pre-schools and early primary schools in australia. School of Education, University of South Australia. ISBN Commonwealth of Australia, Junio [6] Nansel TR, Craig W, Overpeck MD, Saluda G, Ruan J. Cross-national consistency in the relationship between bullying behaviors and psychosocial adjustment. 158: Archives of Pediatrics and Adolescent Medicine [7] Trautmann M., Alberto. Maltrato entre pares o bullying. Una visión actual. Revista Chilena de Pediatría 2008; 79 (1): [8] Olweus, Dan. Acoso escolar, bullying, en las escuelas: Hechos e intervenciones. Centro de investigación para la Promoción de la Salud, Universidad de Bergen, Noruega [9] Romero Calvo, Rocío. El Sociograma. ISSN Dep. Legal: GR 2922/2007 No 35 - Octubre de [10] Coello Coello, Carlos Artemio. El Algoritmo Genético como alternativa a la Programación Dinámica. Escuela de Ingeniería Civil, Universidad Autónoma de Chiapas Boulevard Belisario Domínguez Tuxtla. Gutiérrez, Chiapas México [11] Haupt, Randy L.; Haupt Sue Ellen. Practical Genetic Algorithms. Segunda edición. Wiley- Interscience. Pub. de John Wilry & Sons, INC. Estados Unidos [12] Holland, J. (1975) Adaptation in Natural and Artificial Systems. Cambrige. (Mass): The MIT Press

93 [13] De Jong, K. A. Analysis of the behavior of a class of genetic adaptive systems. Ph.D. Dissertation. University of Michigan, Ann Arbor [14] Tolmos Rodríguez-Piñero, Piedad. Introducción a los algoritmos genéticos y sus aplicaciones. Universidad Rey Juan Carlos, Servicio de Publicaciones [15] Fermosel Álvarez, Abel. Computación Evolutiva aplicada a la simulación de entornos P2P puros. Proyecto de fin de carrera. Escuela Politécnica Superior. Universidad Carlos III de Madrid. Madrid. Septiembre de [16] Bodenhofer, Ulrich. Genetic Algorihtms: Theory and Applications. Lecture Notes. Third Edition. Fuzzy Logic Laboratorium Linz-Hagenberg. Winter 2003/2004. [17] Goldberg, David E.; Deb, Kalyanmoy. A Comparative Analysis of Selection Schemes Used in Genetic Algorithms. Foundations of Genetic Algorithms. San Francisco, CA: Morgan Kaufmann, p [18] Miller, Brad L.; Goldberg, David E. Genetic Algorithms, Tournament Selection, and the Effects of Noise. Complex Systems. Volumen 9. Páginas [19] Álvarez López, Victor Manuel. El sociograma: una técnica para conocer las relaciones sociales en el aula. ISSN Recursos de formación (num. 3). 25 de Marzo de [20] Yañez Rocha, Andrea. Generación de distribuciones de alumnos en salas de clase mediante el uso de Algoritmos Genéticos, para reducir Interacción Víctima-Agresor. Memoria de Título. Ingeniería Civil Informática. Departamento de Ingeniería Informática y Ciencias de la Computación, Facultad de Ingeniería, Universidad de Concepción. Concepción, [21] Junta de Andalucía. Conserjería de Educación y Ciencia.La Acción Tutorial. Dirección General de Promoción y Evaluación Educativa. ISBN , (Obra completa). A. G. NOVOGRAF, S. A. (SEVILLA) [22] Noever, David; Baskaran, Subbiah. Steady-State vs. Generational Genetic Algorithms : A Comparison of Time Complexity and Convergence Properties. Santa Fe Institute. Paper # de Julio de [23] Mitchell, Melanie. An Introduction To Genetic Algorithms. ISBN 0?262?13316?4 (HB), 0?262?63185?7 (PB). First MIT Press paperback edition. Cambridge, Massachusetts - London, England [24] Eiben, A.E.; Smith, J.E. Introduction to Evolutionary Computing ISBN: Springer, Natural Computing Series [25] Larrañaga, P.; Kuijpers, C.M.H.; Murga R.H.;Inza I. y Dizdarevic S. Genetic Algorithms for the Travelling Salesman Problem: A Review of Representations and Operators Dept. of Computer Science and Artificial Intelligence, University of the Basque Country, Spain. Artificial Intelligence Review 13: [26] Coello Coello, Carlos A. Introducción a los Algoritmos Genéticos. Soluciones Avanzadas. Tecnologías de Información y Estrategias de Negocios, Año 3, No. 17., pp Enero de

94 [27] Oliver, I. M.; Smith, D. J.; Holland, J. R. C.. A Study of Permutation Crossover Operators on the TSP. En Grefenstette, J. J. (ed.) Genetic Algorithms and Their Applications: Proceedings of the Second International Conference, Hillsdale, New Jersey: Lawrence Erlbaum [28] Boehm B, A. Spiral Model of Software Development and Enhancement. ACM SIGSOFT Software Engineering Notes. ACM, 11(4): Agosto [29] Larman, Craig. UML Y PATRONES, Introducción al análsis y diseño orientado a objetos. ISBN: Editorial Prentice Hall. November [30] Schildt, Herbert. Java TM 2: The Complete Reference, Fifth Edition. McGraw-Hill/Osborne [31] StatCounter, Global Stats. [En línea] Actualizado: 09 de Julio de [Fecha de consulta: 19 de agosto de 2012]. Disponible en: [32] JGAP - Java Genetic Algorithms Package. [En línea] Actualizado: 03 de Abril de [Fecha de consulta: 13 de Septiembre de 2012]. Disponible en: [33] JUNG - Java Universal Network/Graph [En línea] Actualizado: 25 de Enero de [Fecha de consulta: 13 de Septiembre de 2012]. Disponible en: [34] Java Excel API [En línea] Actualizado: 26 de Octubre de [Fecha de consulta: 13 de Septiembre de 2012]. Disponible en: 93

95 Capítulo 8 Anexo 8.1. Sociomatrices Los siguientes datos corresponden a las sociomatrices que se utilizaron para fijar los parámetros del algoritmo genético que se tienen por defecto. Éstos, corresponden a cursos de establecimientos educacionales de la ciudad de Concepción, Octava Región, Chile. Para mantener el anonimato de los alumnos, se reemplazó a cada uno de ellos con un número. 94

96 Figura 8.1: Sociomatriz 1. 95

97 Figura 8.2: Sociomatriz 2. 96

98 Figura 8.3: Sociomatriz 3. 97

99 Figura 8.4: Sociomatriz 4. 98

100 Figura 8.5: Sociomatriz 5. 99

101 8.2. Parámetros del Algoritmo Genético Los siguientes datos corresponden al promedio de diez ejecuciones, obtenidas bajo las mismas condiciones; para cada una de las sociomatrices, de cada parámetro que se definió como por defecto para el algoritmo genético, para cada uno de los tipos de salas de clases Tamaño de Población Inicial Figura 8.6: Datos para determinar la población inicial por defecto en salas Tipo 1. Figura 8.7: Datos para determinar la población inicial por defecto en salas Tipo 2. Figura 8.8: Datos para determinar la población inicial por defecto en salas Tipo

102 Probabilidad de Cruzamiento Figura 8.9: Datos para determinar la probabilidad de cruzamiento por defecto en salas Tipo 1. Figura 8.10: Datos para determinar la probabilidad de cruzamiento por defecto en salas Tipo 2. Figura 8.11: Datos para determinar la probabilidad de cruzamiento por defecto en salas Tipo

103 Probabilidad de Mutación Sea 1 P oblación Inicial = A y 1 Cromosomas P 1 = A. = B, se tiene que: P 2 = P 3 = A+ A+B A A+ A+B 2 2. P 4 = P 5 = A+B 2. A+ A+B 2 + A+B P 6 = P 7 = B+ B+A 2 + B+A B+ B+A 2 2. P 8 = P 9 = B. B+ B+A B Figura 8.12: Datos para determinar la probabilidad de mutación por defecto en salas Tipo 1. Figura 8.13: Datos para determinar la probabilidad de mutación por defecto en salas Tipo

104 Figura 8.14: Datos para determinar la probabilidad de mutación por defecto en salas Tipo Número de Generaciones a Realizar, como un criterio de término Figura 8.15: Datos para determinar el número de generaciones a realizr por defecto en salas Tipo

105 Figura 8.16: Datos para determinar el número de generaciones a realizr por defecto en salas Tipo 2. Figura 8.17: Datos para determinar el número de generaciones a realizr por defecto en salas Tipo

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN &$3Ì78/2 6.1. INTRODUCCIÓN Los primeros avances para solucionar el TSP, por medio de Algoritmos Evolutivos han sido introducidos por Goldberg y Lingle en [68] y Grefenstette en [72]. En éste área muchos

Más detalles

Algoritmos Genéticos. Introduccion a la Robótica Inteligente

Algoritmos Genéticos. Introduccion a la Robótica Inteligente Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN)

Más detalles

Algoritmos Genéticos

Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

Algoritmos Genéticos.

Algoritmos Genéticos. Algoritmos Genéticos. Miguel Cárdenas Montes, Antonio Gómez Iglesias Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain miguel.cardenas@ciemat.es 15-19 de Octubre de 2011

Más detalles

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos MT 6 Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos Rosario Baltazar 1 Judith Esquivel Vázquez 2 Andrea Rada 3 Claudia Díaz 4 Resumen Durante los últimos 15

Más detalles

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Jorge Salas Chacón A03804 Rubén Jiménez Goñi A93212 Juan Camilo Carrillo Casas A91369 Marco Vinicio Artavia Quesada

Más detalles

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS Arranz de la Peña, Jorge Universidad Carlos III 100025106@alumnos.uc3m.es ALGORITMOS GENÉTICOS Parra Truyol, Antonio Universidad Carlos III 100023822@alumnos.uc3m.es En este documento se pretende analizar

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Operadores de Mutación El operador

Más detalles

UTgeNes - Framework para Implementación y Estudio de Algoritmos

UTgeNes - Framework para Implementación y Estudio de Algoritmos UTgeNes - Framework para Implementación y Estudio de Algoritmos Genéticos Abstract UTgeNes es un framework para la implementación y estudio de algoritmos genéticos propuesto para la realización de trabajos

Más detalles

Computación Evolutiva: Técnicas de Selección

Computación Evolutiva: Técnicas de Selección Computación Evolutiva: Técnicas de Selección Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. Gregorio

Más detalles

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09 Introducción a los Algoritmos Genéticos Tomás Arredondo Vidal 17/4/09 Esta charla trata de lo siguiente: Introducción a algunos aspectos de los algoritmos genéticos. Introducción a algunas aplicaciones

Más detalles

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2 Procesamiento Digital de Imágenes Pablo Roncagliolo B. Nº 22 prb@2007 2 1 El núcleo de cada célula humana contiene una base de datos química. Esta base de datos contiene todas las instrucciones que la

Más detalles

MANUAL DE PROCEDIMIENTOS DE DETECCIÓN Y ACTUACION PARA CASOS DE ACOSO ESCOLAR O BULLYNG.

MANUAL DE PROCEDIMIENTOS DE DETECCIÓN Y ACTUACION PARA CASOS DE ACOSO ESCOLAR O BULLYNG. MANUAL DE PROCEDIMIENTOS DE DETECCIÓN Y ACTUACION PARA CASOS DE ACOSO ESCOLAR O BULLYNG. El Colegio Del Valle es una Comunidad Educativa que se sustenta en un marco valórico ético de principios donde la

Más detalles

Introducción a la Computación Evolutiva

Introducción a la Computación Evolutiva Introducción a la Computación Evolutiva Sección de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello

Más detalles

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Un algoritmo genético híbrido para resolver el EternityII Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Temas Temas Introducción Eternity II Historia Descripción Demo Metaheurísticas Algoritmos

Más detalles

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS PROYECTO DE GRADO Javier mauricio gamboa salgado Código: 544004 John alexander

Más detalles

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del

Más detalles

[ Guía para recién llegados a los ALGORITMOS GENÉTICOS]

[ Guía para recién llegados a los ALGORITMOS GENÉTICOS] UVa Dpto. de Organización de Empresas Escuela de Ingenierías Industriales Elena Pérez www.eis.uva.es/elena [ Guía para recién llegados a los ALGORITMOS GENÉTICOS] El propósito de esta guía es dar soporte

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA OPTIMIZACIÓN DE CONTROLADORES DIGITALES PID EN SISTEMAS DINÁMICOS USANDO ALGORITMOS GENÉTICOS PROYECTO PREVIO A LA OBTENCIÓN

Más detalles

estudio sobre Bullying, CiBerBullying y violencia escolar

estudio sobre Bullying, CiBerBullying y violencia escolar estudio sobre Bullying, CiBerBullying y violencia escolar Un estudio de Con la colaboración de Con el apoyo de 2 PresentaCiÓn El estudio que les presentamos a continuación surge en medio de una creciente

Más detalles

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33 Introducción Búsqueda Local A veces el camino para llegar a la solución no nos importa, buscamos en el espacio de soluciones Queremos la mejor de entre las soluciones posibles alcanzable en un tiempo razonable

Más detalles

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Métodos evolutivos de Optimización Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Indice Introducción Método de Montecarlo Algoritmos genéticos Tabú Search Simulated

Más detalles

Diseño de redes viales urbanas usando algoritmos genéticos. M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C.

Diseño de redes viales urbanas usando algoritmos genéticos. M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C. Diseño de redes viales urbanas usando algoritmos genéticos M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C. e-mail: mapinnin@inf.udec.cl * Departamento de Ingeniería Informática y Ciencias

Más detalles

Introducción a los algoritmos genéticos y sus aplicaciones

Introducción a los algoritmos genéticos y sus aplicaciones Introducción a los algoritmos genéticos y sus aplicaciones Autora: Piedad Tolmos Rodríguez-Piñero Dirección: Paseo de los Artilleros s/n Madrid 28032 Teléfono: 91-3019901 E-Mail: tolmos@poseidon.fcjs.urjc.es

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Algoritmos Genéticos - Operadores

Más detalles

GENÉTICA MENDELIANA EL GEN. El gen Mendeliano es una unidad de función, estructura, transmisión, mutación y evolución, que se distribuye ordenada y linealmente en los cromosomas. A nivel genético el gen

Más detalles

Actuaciones ante el acoso escolar.

Actuaciones ante el acoso escolar. Actuaciones ante el acoso escolar. Aldadis.net La revista de educación Daniel Garófano Luque. Una de las situaciones que generan mayor ansiedad y frustración en las relaciones interpersonales en los Centros

Más detalles

Capítulo IV ALGORITMOS GENÉTICOS

Capítulo IV ALGORITMOS GENÉTICOS Capítulo IV ALGORITMOS GENÉTICOS 4.1. INTRODUCCIÓN La estructura de un algoritmo genético simple se corresponde con la estructura de cualquier programa evolutivo (ver figura 1.1). Durante la iteración

Más detalles

Revista Facultad de Ingeniería Universidad de Antioquia ISSN: 0120-6230 revista.ingenieria@udea.edu.co Universidad de Antioquia Colombia

Revista Facultad de Ingeniería Universidad de Antioquia ISSN: 0120-6230 revista.ingenieria@udea.edu.co Universidad de Antioquia Colombia Revista Facultad de Ingeniería Universidad de Antioquia ISSN: 0120-6230 revista.ingenieria@udea.edu.co Universidad de Antioquia Colombia Tabares, Héctor; Hernández, Jesús Pronóstico puntos críticos de

Más detalles

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Genéticos Marcos Gestal Pose Depto. Tecnologías de la Información y las Comunicaciones Universidade da Coruña http://sabia.tic.udc.es/ mgestal mgestal@udc.es Índice 1. Introducción 2 2. Orígenes 2 3. Bases Biológicas

Más detalles

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos AG un vistazo rápido Desarrollado: USA en 1970 s Primeros nombres: J. Holland, K. DeJong, D. Goldberg Típicamente aplicado a: Optimización discreta Características exhibidas: No demasiado

Más detalles

Modelo de un Algoritmo Genético con Selección Discriminatoria de Individuos bajo un Esquema de Ponderación de Probabilidades de Mutación

Modelo de un Algoritmo Genético con Selección Discriminatoria de Individuos bajo un Esquema de Ponderación de Probabilidades de Mutación Modelo de un Algoritmo Genético con Selección Discriminatoria de Individuos bajo un Esquema de Ponderación de Probabilidades de Mutación Victor Manuel Arroyo Apaza Orientador: Dr. Yván Jesús Túpac Valdivia

Más detalles

Selección usando Algoritmos

Selección usando Algoritmos Capítulo 3 Selección usando Algoritmos Genéticos 3.1. Introducción En esta sección se aborda el uso de Algoritmos Genéticos (GA del inglés Genetic Algorithms) para selección de características. Así como

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

Temario III Algoritmos Combinatorios y Metaheurísticas

Temario III Algoritmos Combinatorios y Metaheurísticas Temario III Algoritmos Combinatorios y Metaheurísticas Verificación y Validación de Software UNCo 1 Contenidos Combinación de Datos de Test Algoritmos Combinatorios Metaheurísticas Búsqueda Tabú Algoritmos

Más detalles

Probabilidad y sus aplicaciones en ingeniería informática

Probabilidad y sus aplicaciones en ingeniería informática Probabilidad y sus aplicaciones en ingeniería informática Víctor Hernández Eduardo Ramos Ildefonso Yáñez c Víctor Hernández, Eduardo Ramos, Ildefonso Yánez EDICIONES CDÉMICS Probabilidad y sus aplicaciones

Más detalles

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3. GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que

Más detalles

Un alumno o alumna se convierte en víctima cuando está. Protocolo de actuación en supuestos de acoso escolar. Características del acoso escolar

Un alumno o alumna se convierte en víctima cuando está. Protocolo de actuación en supuestos de acoso escolar. Características del acoso escolar Protocolo de actuación en supuestos de acoso escolar Características del acoso escolar página 93 Un alumno o alumna se convierte en víctima cuando está expuesto, de forma repetida y durante un tiempo,

Más detalles

TÉCNICAS HEURÍSTICAS Y METAHEURÍSTICAS DE OPTIMIZACIÓN

TÉCNICAS HEURÍSTICAS Y METAHEURÍSTICAS DE OPTIMIZACIÓN TÉCNICAS HEURÍSTICAS Y METAHEURÍSTICAS DE OPTIMIZACIÓN RAMÓN ALFONSO GALLEGO RENDÓN ANTONIO ESCOBAR ZULUAGA ELIANA MIRLEDY TORO OCAMPO Universidad Tecnológica de Pereira Pereira - Risaralda - Colombia

Más detalles

ING. YIM APESTEGUI FLORENTINO

ING. YIM APESTEGUI FLORENTINO Sistemas Un sistema es: que interactúan para funcionar Podemos resumir en dos frases: El todo supera la suma de las partes Todo está conectado con todo La interacciones en el mundo real no son simples,

Más detalles

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Genéticos Introducción a los Algoritmos Genéticos Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática ribadas@uvigo.es 17 de octubre de 2005 c FJRP 2005 ccia IA Métodos de 8 < : 1 Introducción 9 =

Más detalles

PARTE III OBTENCIÓN DE MODELOS OBTENCIÓN DE MODELOS MODELADO E IDENTIFICACIÓN ASPECTOS A TENER EN CUENTA MODELADO IDENTIFICACIÓN OBTENCIÓN DE MODELOS

PARTE III OBTENCIÓN DE MODELOS OBTENCIÓN DE MODELOS MODELADO E IDENTIFICACIÓN ASPECTOS A TENER EN CUENTA MODELADO IDENTIFICACIÓN OBTENCIÓN DE MODELOS OBTENCIÓN DE MODELOS PARTE III OBTENCIÓN DE MODELOS 1. INFORMACIÓN SOBRE EL SISTEMA 1. EL PROPIO SISTEMA (OBSERVACIÓN, TEST) 2. CONOCIMIENTO TEÓRICO (LEYES DE LA NATURALEZA, EXPERTOS, LITERATURA, ETC.)

Más detalles

Test Bull-s: programa informático de evaluación de la agresividad entre escolares

Test Bull-s: programa informático de evaluación de la agresividad entre escolares Test Bull-s: programa informático de evaluación de la agresividad entre escolares Inmaculada Méndez y Fuensanta Cerezo Universidad de Murcia Resumen Es un hecho ampliamente constatado que en todos los

Más detalles

Ley de Hardy-Weinberg

Ley de Hardy-Weinberg Ley de Hardy-Weinberg La composición genética de una población permanece en equilibrio mientras no actúe la selección natural ni ningún otro factor y no se produzca ninguna mutación. La herencia mendeliana,

Más detalles

Estudio de Percepción de Bullying en Chile. Septiembre Octubre 2009

Estudio de Percepción de Bullying en Chile. Septiembre Octubre 2009 Estudio de Percepción de Bullying en Chile Septiembre Octubre 2009 Estudio de Percepción de Bullying en Chile - Educadores Objetivo General:!Conocer la dimensión del fenómeno de Bullying en colegios de

Más detalles

EVALUACIÓN DEL CUESTIONARIO CEAM

EVALUACIÓN DEL CUESTIONARIO CEAM EVALUACIÓN DEL CUESTIONARIO CEAM RESUMEN DE LA VALORACIÓN DEL TEST Descripción general Nombre del test Autor Características Autor de la adaptación española Editor de la adaptación española Fecha de la

Más detalles

OPTIMIZACIÓN DE RUTAS DE TRANSPORTE

OPTIMIZACIÓN DE RUTAS DE TRANSPORTE OPTIMIZACIÓN DE RUTAS DE TRANSPORTE Proyecto de Sistemas Informáticos Realizado por: Andrés Aguado Aranda, Javier Jiménez de Vega Dirigido por: José Jaime Ruz Ortiz Curso 2012/2013 2 RESUMEN En este proyecto

Más detalles

Algoritmos Evolutivos

Algoritmos Evolutivos Algoritmos Evolutivos 2003-11-20 Cristóbal Romero, Pedro González y Sebastián Ventura 1.1 Introducción En general, cualquier tarea abstracta a realizar puede considerarse como la resolución de un problema

Más detalles

CAPÍTULO 1 INTRODUCCIÓN, HIPÓTESIS Y OBJETIVOS

CAPÍTULO 1 INTRODUCCIÓN, HIPÓTESIS Y OBJETIVOS CAPÍTULO 1 INTRODUCCIÓN, HIPÓTESIS Y OBJETIVOS 1 INTRODUCCIÓN 1.1 Justificación Esta investigación está motivada por el interés en lograr una mejor comprensión del papel que desempeña la creatividad dentro

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

OBJETIVOS. Estudiar los conceptos básicos de transmisión de señales de video y datos sobre redes de cable coaxial y fibra óptica.

OBJETIVOS. Estudiar los conceptos básicos de transmisión de señales de video y datos sobre redes de cable coaxial y fibra óptica. OBJETIVOS Estudiar los conceptos básicos de transmisión de señales de video y datos sobre redes de cable coaxial y fibra óptica. Analizar los diferentes tipos de arquitecturas utilizadas en el diseño de

Más detalles

iesocio Mejora de la convivencia en el aula: redes sociales frente al acoso escolar Resumen Introducción Javier Martín Babarro

iesocio Mejora de la convivencia en el aula: redes sociales frente al acoso escolar Resumen Introducción Javier Martín Babarro Mejora de la convivencia en el aula: redes sociales frente al acoso escolar Javier Martín Babarro Resumen - El acoso escolar es un proceso relacionado con el grupo de iguales, no referido únicamente a

Más detalles

Representación, Codificación en un AG Población Inicial. Aptitud. Estrategia de Selección. Cruce, Mutación, Reemplazo. Condición de Parada.

Representación, Codificación en un AG Población Inicial. Aptitud. Estrategia de Selección. Cruce, Mutación, Reemplazo. Condición de Parada. Computación n Evolutiva: Algoritmos Genéticos 1.- Metaheurísticos. Computación Evolutiva: Algoritmos Genéticos 2.- Conceptos principales de un Algoritmo Genético 3.- Estructura de un Algoritmo Genético

Más detalles

Cómo ordenar una lista de números?

Cómo ordenar una lista de números? Cómo ordenar una lista de números? Germán Ariel Torres Resumen. Este trabajo trata acerca de métodos y técnicas usadas para el ordenamiento eficiente de listas de números. Se analizan los métodos básicos,

Más detalles

Algoritmos Genéticos. Aplicación al Juego de las N Reinas.

Algoritmos Genéticos. Aplicación al Juego de las N Reinas. Algoritmos Genéticos. Aplicación al Juego de las N Reinas. Juan Carlos Pozas Bustos NIA: 100025154 Univ.Carlos III de Madrid Ing.Telecomunicación España 100025154@alumnos.uc3m.es Términos generales En

Más detalles

Distribución Óptima de Horarios de Clases utilizando la técnica de Algoritmos Genéticos

Distribución Óptima de Horarios de Clases utilizando la técnica de Algoritmos Genéticos Distribución Óptima de Horarios de Clases utilizando la técnica de Algoritmos Genéticos Tesis Profesional Que para obtener el Título de Ingeniero en Computación Presenta CARLA LENINCA PACHECO AGÜERO Acatlima,

Más detalles

OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL

OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL INGENIERIA INFORMATICA AUTOR: FRANCISCO GODOY MUÑOZ-TORRERO TUTOR: JOSE MARIA VALLS FERRAN CO-DIRECTOR: RICARDO ALER MUR Contenidos

Más detalles

9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de decisión.

9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de decisión. TEMA 9 TÉCNICAS DE INTELIGENCIA ARTIFICIAL PARA EL ANÁLISIS DE LA INFORMACIÓN CONTABLE 9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

METAHEURISTICAS Ideas, Mitos, Soluciones

METAHEURISTICAS Ideas, Mitos, Soluciones METAHEURISTICAS Ideas, Mitos, Soluciones OPTIMIZACION COMBINATORIA Qué es un problema de optimización combinatoria? Cómo se modela matemáticamente un problema de optimización combinatoria? Minimizar (o

Más detalles

A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G E N E R AC I Ó N D E H O R A R I O S PA R A C O L E G I O

A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G E N E R AC I Ó N D E H O R A R I O S PA R A C O L E G I O E S C U E L A P O L I T É C N I C A N A C I O N A L F A C U L T A D D E C I E N C I A S D E P A R T A M E N T O D E M A T E M Á T I C A S A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G

Más detalles

Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu. Instituto Superior Politécnico José Antonio Echeverría. Cuba

Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu. Instituto Superior Politécnico José Antonio Echeverría. Cuba Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu Instituto Superior Politécnico José Antonio Echeverría Cuba Carvajal- Pérez, Raúl Nicolás Un Algoritmo Genético Especializado en Planeamiento

Más detalles

Estudio comparativo de los currículos de probabilidad y estadística español y americano

Estudio comparativo de los currículos de probabilidad y estadística español y americano Estudio comparativo de los currículos de probabilidad y estadística español y americano Jaldo Ruiz, Pilar Universidad de Granada Resumen Adquiere las mismas capacidades en Probabilidad y Estadística un

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Características físicas: como color y grosor del pelo, forma y color de los ojos, talla, peso, etc.

Características físicas: como color y grosor del pelo, forma y color de los ojos, talla, peso, etc. Eje temático: Variabilidad y herencia Contenido: Herencia Nivel: Segundo medio Herencia Un individuo pertenece a una especie determinada porque presenta rasgos que son comunes a los de esa especie y puede

Más detalles

PROTOCOLO PREVENCIÓN DE BULLYNG ESCOLAR

PROTOCOLO PREVENCIÓN DE BULLYNG ESCOLAR PROTOCOLO PREVENCIÓN DE BULLYNG ESCOLAR Escuela Francisco Varela 2015 1 INTRODUCCIÓN La escuela Francisco Varela es un espacio pedagógico abierto a la diversidad que trabaja con niños y niñas desde los

Más detalles

PROGRAMA DE PREVENCIÓN DEL ACOSO ESCOLAR

PROGRAMA DE PREVENCIÓN DEL ACOSO ESCOLAR PROGRAMA DE PREVENCIÓN DEL ACOSO ESCOLAR Colegio San Ignacio de Loyola Las Palmas de Gran Canaria 1 La tarea que enfrentan los devotos de la no violencia es muy difícil, pero ninguna dificultad puede abatir

Más detalles

CryptoByn: Un sistema de Encriptación basado en la aleatoriedad

CryptoByn: Un sistema de Encriptación basado en la aleatoriedad CryptoByn: Un sistema de Encriptación basado en la aleatoriedad Autor: Diego Sarmentero Abstract La criptología consiste en el estudio de los sistemas de cifrado, teniendo como objectivo ocultar el contenido

Más detalles

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN Diagrama de Gantt Fue desarrollada por Henry L. Gantt, durante la primera guerra mundial. Con estas graficas Gantt procuro resolver el problema

Más detalles

Sistemas, modelos y simulación

Sistemas, modelos y simulación Sistemas, modelos y simulación Introducción I Un SISTEMA es una colección de entidades (seres o máquinas) que actúan y se relacionan hacia un fin lógico. Ejemplo: Un banco con: Cajeros [comerciales] [cajas

Más detalles

Capítulo V ALGORITMOS EVOLUTIVOS AVANZADOS 5.1. INTRODUCCIÓN 5.2. ALGORITMOS EVOLUTIVOS AVANZADOS CON MÚLTIPLES PADRES Y MÚLTIPLES CROSSOVERS

Capítulo V ALGORITMOS EVOLUTIVOS AVANZADOS 5.1. INTRODUCCIÓN 5.2. ALGORITMOS EVOLUTIVOS AVANZADOS CON MÚLTIPLES PADRES Y MÚLTIPLES CROSSOVERS Capítulo V ALGORITMOS EVOLUTIVOS AVANZADOS 5.1. INTRODUCCIÓN En este capítulo se presentan algunas modificaciones al diseño de un algoritmo evolutivo para mejorar su performance. El hecho de innovar en

Más detalles

APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA CALIBRACIÓN DE REDES DE ACUEDUCTO

APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA CALIBRACIÓN DE REDES DE ACUEDUCTO APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA CALIBRACIÓN DE REDES DE ACUEDUCTO Juan Guillermo Saldarriga Valderrama * Profesor Titular del Departamento de Ingeniería Civil y Ambiental de la

Más detalles

Desarrollo de algoritmos genéticos, de recocido simulado e híbridos para la planificación de un taller flexible

Desarrollo de algoritmos genéticos, de recocido simulado e híbridos para la planificación de un taller flexible X Congreso de Ingeniería de Organización Valencia, 7 y 8 de septiembre de 2006 Desarrollo de algoritmos genéticos, de recocido simulado e híbridos para la planificación de un taller flexible Sara Lumbreras

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

EJEMPLIFICACIONES DE DISTINTOS DISEÑOS DE INVESTIGACIÓN EN EDUCACIÓN SOCIAL

EJEMPLIFICACIONES DE DISTINTOS DISEÑOS DE INVESTIGACIÓN EN EDUCACIÓN SOCIAL EJEMPLIFICACIONES DE DISTINTOS DISEÑOS DE INVESTIGACIÓN EN EDUCACIÓN SOCIAL Estas ejemplificaciones tienen el objetivo de completar y facilitar la comprensión del estudio teórico de los temas 3, 4 y 5

Más detalles

SIMULACIÓN CAPITULO 3 LECTURA 6.3. SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México 3.

SIMULACIÓN CAPITULO 3 LECTURA 6.3. SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México 3. LECTURA 6.3 SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México CAPITULO 3 SIMULACIÓN 3.1 INTRODUCCIÓN Simulación es el desarrollo de un modelo lógico-matemático de

Más detalles

Introducción INTRODUCCIÓN

Introducción INTRODUCCIÓN Introducción INTRODUCCIÓN Las empresas de distintos sectores económicos han concebido la logística como un proceso estratégico para mantener su actividad y garantizar la eficiencia de las operaciones de

Más detalles

PERFIL DEL INGENIERO DE SISTEMAS FUSM

PERFIL DEL INGENIERO DE SISTEMAS FUSM PERFIL DEL INGENIERO DE SISTEMAS FUSM PERFIL DEL INGENIERO DE SISTEMAS DE LA FUSM El perfil del Ingeniero de Sistemas presencial de la Fundación Universitaria San Martín, Bogotá, está en capacidad de modelar

Más detalles

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Investigación de Operaciones. Carrera: Ingeniería en Sistemas Computacionales

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Investigación de Operaciones. Carrera: Ingeniería en Sistemas Computacionales 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: (Créditos) SATCA 1 Investigación de Operaciones SCC-1013 2-2 - 4 Ingeniería en Sistemas Computacionales 2.- PRESENTACIÓN

Más detalles

www.bvbusiness-school.com

www.bvbusiness-school.com Gráficos de Control de Shewart www.bvbusiness-school.com GRÁFICOS DE CONTROL DE SHEWART Una de las herramientas estadísticas más importantes en el Control Estadístico de Procesos son los Gráficos de Control.

Más detalles

? 50 30 20 20 emplear NA 0,788 0,367879 se queda s a 150 275 70-125 se pone s en s a 15 58 200-43 se pone s en s a

? 50 30 20 20 emplear NA 0,788 0,367879 se queda s a 150 275 70-125 se pone s en s a 15 58 200-43 se pone s en s a 350 MR Versión 1 1 Prueba Parcial 1/5 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA: INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación Evolutiva CÓDIGO: 350 MOMENTO: Primera Parcial VERSIÓN:

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

Redes de Kohonen y la Determinación Genética de las Clases

Redes de Kohonen y la Determinación Genética de las Clases Redes de Kohonen y la Determinación Genética de las Clases Angel Kuri Instituto Tecnológico Autónomo de México Octubre de 2001 Redes Neuronales de Kohonen Las Redes de Kohonen, también llamadas Mapas Auto-Organizados

Más detalles

Software de Simulación aplicado a entornos de e-learning

Software de Simulación aplicado a entornos de e-learning Software de Simulación aplicado a entornos de e-learning 2009 Laboratorio de Investigación de Software Universidad Tecnológica Nacional Facultad Regional Córdoba Titulo del Proyecto Software de Simulación

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

Grado en Ingeniería Informática

Grado en Ingeniería Informática Grado en Ingeniería Informática ESCUELA SUPERIOR DE INGENIERÍA Chile, 1 11002-CÁDIZ Teléfono: 95 015100 Fax: 95 015101 Más información: www.uca.es/ingenieria Itinerario curricular recomendado ENSEÑANZAS

Más detalles

Capítulo 1. Introducción. 1.1. Antecedentes

Capítulo 1. Introducción. 1.1. Antecedentes Capítulo 1. Introducción En este capítulo se presenta una descripción general del problema a investigar y el enfoque con el que se aborda. Se establece la necesidad de incorporar técnicas de análisis novedosas

Más detalles

Simulación Monte Carlo

Simulación Monte Carlo Simulación Monte Carlo Modelado estocástico Cuando se realiza un análisis estático a un proyecto, una serie de supuestos y variables producen un resultado de valor único. Mientras que un análisis estocástico

Más detalles

Matemáticas Evolutivas: Algoritmos Genéticos

Matemáticas Evolutivas: Algoritmos Genéticos Matemáticas Evolutivas: Algoritmos Genéticos María Teresa Iglesias Otero Departamento de Matemáticas Universidade da Coruña Cuál es la mejor forma de...? cuál es el camino más corto a...? cuál es la más

Más detalles

Computación Evolutiva: Algoritmos Genéticos

Computación Evolutiva: Algoritmos Genéticos Computación Evolutiva: Apuntes de la asignatura: Inteligencia Artificial Razonamiento Aproximado (Máster) Daniel Manrique Gamo Profesor Titular de Universidad Índice 1. Introducción 5 1.1. Bases de la

Más detalles

En este capitulo se presentan los métodos y algoritmos utilizados para el desarrollo del

En este capitulo se presentan los métodos y algoritmos utilizados para el desarrollo del 33 En este capitulo se presentan los métodos y algoritmos utilizados para el desarrollo del sistema de procesamiento de imágenes para controlar un robot manipulador y se describen en la forma como serán

Más detalles

Algoritmos Genéticos aplicados a la resolución de problemas de optimización

Algoritmos Genéticos aplicados a la resolución de problemas de optimización 1 Algoritmos Genéticos aplicados a la resolución de problemas de optimización Luis Marco Giménez lmarcogimenez@gmail.com http://www.luismarco.nom.es RESUMEN Los Algoritmos Genéticos, como paradigma principal

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Proyecto para Creación de un Portal Web de Recursos para la Educación para la Convivencia

Proyecto para Creación de un Portal Web de Recursos para la Educación para la Convivencia Proyecto para Creación de un Portal Web de Recursos para la Educación para la Convivencia Anexo IV de la ORDEN EDU/589/2005, de 25 de abril, por la que se convocan licencias para la realización de estudios

Más detalles

Computación Evolutiva Algoritmos Genéticos

Computación Evolutiva Algoritmos Genéticos UNL - FICH - Departamento de Informática - Ingeniería Informática Inteligencia Computacional Computación Evolutiva Algoritmos Genéticos Temas a tratar - Generalidades de los algoritmos de computación evolutiva.

Más detalles

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. www.fundibeq.org

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. www.fundibeq.org DIAGRAMA MATRICIAL 1.- INTRODUCCIÓN Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. Muestra su potencial, como herramienta indispensable para la planificación

Más detalles

ESTADÍSTICA (ING.INFORMÁTICA/ING.TI)

ESTADÍSTICA (ING.INFORMÁTICA/ING.TI) ASIGNATURA DE GRADO: ESTADÍSTICA (ING.INFORMÁTICA/ING.TI) Curso 2015/2016 (Código:7190105-) 1.PRESENTACIÓN DE LA ASIGNATURA Esta asignatura es una introducción a la Modelización probabilística, la Inferencia

Más detalles