Una aplicación de la Teoría de Grafos al problema de la detección de outliers usando el Modelo de Conjuntos Aproximados de Precisión Variable (VPRSM) Alberto Fernández Oliva1, Miguel Abreu Ortega1, Armando Rodríguez Fonte1, Francisco Maciá Pérez2 1 Departamento de Ciencia de la Computación, Facultad de Matemática y Computación, Universidad de la Habana, Cuba [email protected], [email protected], [email protected] 2 Departamento de Tecnología Informática y Computación, Universidad de Alicante, España [email protected] Resumen. Desde la década de los 80 se vienen reportando resultados de la aplicación de la Teoría de Conjuntos Aproximados (Rough Sets-RS) al campo de los procesos de búsqueda de información en grandes volúmenes de datos (KDD). En los últimos años, se ha comenzado a considerar la detección de outliers como un proceso de KDD con interés en sí mismo. Sin embargo, la combinación de Rough Sets como fundamento para la caracterización y detección de outliers es un punto de vista absolutamente nuevo pero, aun así, ya se identifican algoritmos computacionalmente eficientes para la detección de outliers basados en el Modelo de Conjuntos Aproximados de Precisión Variable (VPRSM). Tal es el caso de los algoritmos RSBM y VPRSM. Un análisis del marco teórico en el cual se basan estos algoritmos hace suponer que los tiempos de ejecución de los mismos pueden ser mejorados si se optimizan resultados relevantes dentro de su concepción. La solución del subproblema referido a la determinación de las relaciones de inclusión entre fronteras internas es el problema más costoso, computacionalmente, en las soluciones antes mencionadas. Teniendo en cuenta que los Grafos constituyen una de las estructuras computacionales de representación más poderosas, en el presente trabajo se presentan algunos resultados que utilizan la Teoría de Grafos para optimizar el problema antes mencionado y con ello, obtener mejoras en los tiempos de ejecución de los algoritmos RSBM y VPRSM. 1. Introducción En un proceso de minería de datos (Data Mining —DM) se entiende por casos excepcionales —outliers— los objetos que muestran un comportamiento anormal en relación al contexto donde se encuentran o que tienen valores inesperados en algunos de los parámetros considerados. Por la importancia que ello reviste en los procesos de búsqueda de información en grandes volúmenes de datos (KDD) [1], los 34 A. Fernández et al. investigadores, en los últimos años, han prestado especial atención al desarrollo de técnicas de detección eficientes. Si, en general, tales procesos se enfocan en el sentido de descubrir patrones de comportamiento representativos —alta fiabilidad y soporte— la detección de outliers aprovecha justamente la elevada marginalidad de estos objetos para detectarlos midiendo su grado de desviación respecto a dichos patrones y a partir de ello deducir conocimiento relevante. Por otra parte, la Teoría de Conjuntos Aproximados —Rough Sets— [2] [3] juega un papel importante cuando se desea hacer razonamiento a partir de datos imprecisos o, siendo más exactos, cuando se desea establecer relaciones entre los datos. Su enfoque se basa en la capacidad de clasificar datos que han sido obtenidos por diversas vías. De igual manera, su aplicación ha resultado efectiva en la solución de múltiples problemas de la vida real [4] [5] [6]. Si bien la aplicación de la Teoría de Rough Sets al campo de los procesos KDD viene realizándose desde su formulación por Z. Pawlak en la década de los 80 del pasado siglo, en los últimos años se ha comenzado a considerar la detección de outliers como un proceso de KDD con interés en sí mismo. La combinación de ambos enfoques (Rough Sets como fundamento para la caracterización y detección de outliers), es un punto de vista absolutamente nuevo, con un gran potencial de interés teórico y aplicabilidad práctica. Una generalización del modelo básico de Rough Sets es el modelo de conjuntos aproximados de precisión variable (Variable Precision Rough Sets Model VPRSM) [7] [8] [9]. En este modelo, a partir de una nueva concepción de la inclusión de conjuntos, la inclusión de conjuntos mayoritaria se permite manejar unos umbrales definidos por el usuario y a partir de ello resuelve el problema del determinismo en la clasificación que presenta el modelo básico. En [10] se establece de un marco teórico general que permitió proporcionar un método de detección de outliers, computacionalmente viable y no determinista, basado en el Modelo de Conjuntos Aproximados de Precisión Variable (VPRSM). El algoritmo VPRSM es la expresión computacional del método propuesto. Dicho algoritmo da solución al siguiente problema: «A partir de un umbral de excepcionalidad establecido () y un determinado error de clasificación permitido (), extraer un conjunto de outliers a partir de un universo de datos dado.» En este artículo, basándonos en los resultados antes mencionados, se propone el uso de la Teoría de Grafos para optimizar dichos algoritmos en lo que respecta a los tiempos de ejecución de los mismos. 2. Antecedentes Entre los elementos esenciales de la Teoría de Rough Sets (RS) pueden señalarse los siguientes: Sean U= el universo (finito) y RUXU, una relación de equivalencia definida sobre U. Sea XU un concepto. Se definen dos aproximaciones que caracterizan a X: Aproximación superior: r̅ X ∪ Y ∈ U/r: Y ∩ X ∅ la unión de todas las clases de equivalencia inducidas por r en U cuya intersección con X es no vacía. Una aplicación de la Teoría de Grafos a la detección de outliers 35 Aproximación inferior: r X ∪ Y ∈ U/r:Y ⊆ X la unión de todas las clases de equivalencia inducidas por r en U que están contenidas en X. La propia teoría de RS, define el concepto de frontera de la siguiente forma: Frontera: BN X r X r X Como elemento relevante en la extensión del marco teórico general de la Teoría de RS propuesto, en [11] [12] se presenta el concepto de frontera interna: sea R relaciones de equivalencia definidas sobre el universo U. La r ,r ,…,r , frontera interna de X con respecto ar , se define de la siguiente manera: BN X ∩ X X r X . B X En la definición de outliers presentada en [10] el concepto de frontera interna toma especial relevancia pues, precisamente, de los elementos que componen dichas regiones, saldrán los posibles outliers. La ampliación del marco formal general de la Teoría de Rough Sets a la cual hemos hecho referencia no es más que un conjunto de resultados teóricos (Lemas y Proposiciones ) que constituyen el fundamento matemático para la propuesta de los métodos de detección de outliers de los cuales los algoritmos RSBM y VPRSM son una expresión de su viabilidad computacional. Como resultados relevantes en esta dirección pueden plantearse los que se derivan de la relación de inclusión entre fronteras internas. En tal sentido, se destaca: Si para alguna frontera interna Bi se determina que no existe una frontera interna , tal que , entonces todos los elementos de pertenecen a algún conjunto excepcional no redundante como representantes de dicha frontera interna, i , , , 1 , (1) La solución del subproblema referido a la determinación de las relaciones de inclusión entre fronteras internas es el problema más costoso, computacionalmente, en las soluciones propuestas en RSBM y VPRSM, por tanto, dicho subproblema influye, decisivamente, en la complejidad temporal, para el caso peor, de los algoritmos antes mencionados. La complejidad temporal, para el caso peor, del algoritmo RSBM es: O |U| m La complejidad temporal, para el caso peor, del algoritmo VPRSM es: O |U| m . En un intento por mejorar los tiempos de ejecución de los algoritmos RSBM y VPRSM el problema expresado en (1) se generaliza de la siguiente forma: Problema General: Dados los conjuntos B , B , . . . , B tomados sobre un universo U determinar ∀i, j: 1 i j m si B B . Se consideró viable el uso de la Teoría de Grafos como una forma eficiente de representar y solucionar computacionalmente el mismo dado que los Grafos constituyen una de las estructuras computacionales de representación más poderosas [13]. A partir de ellos se han definido y resuelto, matemática y computacionalmente, disímiles problemas de la vida práctica. En la implementación de los algoritmos que se presentan en esta comunicación, se toman como base dos algoritmos usados con mucha frecuencia en la solución de problemas haciendo uso de la Teoría de Grafos. Nos referimos a los algoritmos que implementan los recorridos más comunes que permiten visitar todos los vértices de un Grafo, dirigido o no, G=(V, E), V: conjunto de vértices del grafo G, E: conjunto de arcos del grafo G. El recorrido o búsqueda primero a lo ancho (Breadth First Search– 36 A. Fernández et al. BFS) [14] y el recorrido o búsqueda primero en profundidad (Depth First SearchDFS) [14]. Teniendo en cuenta que, tanto BFS como DFS, se consideran dos patrones ideales para implementar sobre ellos otros algoritmos importantes de Grafos, se han usado con tal finalidad, agregando a los mismos la funcionalidad particular requerida para resolver los problemas concretos que nos ocupan. 3. Soluciones al Problema General A continuación se presentan dos soluciones algorítmicas al Problema General planteado usando la Teoría de Grafos. Dichas soluciones fueron obtenidas de forma gradual de modo que la segunda solución intenta mejorar las desventajas de la versión que le antecede con el objetivo final de mejorar la constante del tiempo de ejecución, para el caso peor, del algoritmo. 3.1 Solución # 1 al Problema General La primera solución propuesta al problema planteado puede catalogarse como una solución de fuerza bruta. Para viabilizar el uso de la Teoría de Grafos en la resolución del Problema General, se cambia la formulación del mismo y en correspondencia con este objetivo, se enuncia la siguiente definición: Definición 1: Se denomina Grafo de Dependencias Simples de los , ,..., tomados sobre un universo al grafo conjuntos , tal que: 1, 2, … , y , :1 , ,..., ^ . A partir de esta definición se puede replantear el Problema General a partir del siguiente problema equivalente. tomados sobre un universo , Problema 1: Dados los conjuntos , , . . . , , ,..., . determinar para dichos conjuntos el Con el propósito de dar solución al Problema 1 se enuncia el siguiente Lema. , ,..., conjuntos tomados sobre un universo y Lema 1: Sean , ,..., se cumple que: ^ ∉ ⇔ , ∉ ∃ ∈ ∈ Demostración: ⇒ ^ ∉ ⇒ ⊈ y por la definición de podemos Si ∃ ∈ ∈ asegurar que , ∉ ⇐ Si , ∉ por la definición de se cumple que ^ ∉ ⊈ ⇒∃ ∈ ∈ Una aplicación de la Teoría de Grafos a la detección de outliers 37 3.2 Algoritmo de solución al Problema 1: Determinar Grafo de Dependencias Simples (GDS) El funcionamiento del algoritmo que se propone se basa en la siguiente idea: Crear un grafo dirigido completo con lo cual se supone, inicialmente, que son ciertas todas las relaciones de dependencia entre los conjuntos representados en G. A partir de lo anterior, por cada elemento del universo U detectar todas las aristas de G que realmente no pertenecen a utilizando el Lema 1. 3.3 Pseudocódigo del algoritmo de solución al Problema 1 SeanU: Universo, B: Colección que contiene los m conjuntos, Q: Queue (FIFO) Algoritmo 1. Hallar el Grafo de Dependencias Simples (GDS) Algoritmo 2. Recorrido BFS sobre todas las componentes conexas del Grafo 38 A. Fernández et al. Algoritmo 3. Recorrido BFS sobre los vértices de una componente conexa 3.4 Análisis de la complejidad temporal Sea la cantidad de conjuntos que se pasan como entrada al algoritmo. El costo del algoritmo Solve_GDS se desglosa de la siguiente forma: la línea 1 es , el ciclo de las líneas 2–5 es y en el ciclo de las líneas 6–7 se llama | | veces al algoritmo BFS. El algoritmo BFS es una modificación del algoritmo BFS propuesto en [14]. La principal modificación consiste en que, en el momento en que se descubre un vértice concreto, se agrega al mismo una pregunta la cual consume un tiempo 1 (líneas 10 - 11 del BFS_Visit). Por tanto, el costo del BFS modificado, para el caso peor, se mantiene igual al del BFS clásico, o sea, | | | | , asumiendo que el grafo ha sido representado mediante una Lista de Adyacencia [15]. La pregunta antes mencionada permite detectar los arcos que no pertenecen al para no tenerlos en cuenta en los llamados posteriores a BFS. A partir de esto, se puede afirmar que el caso peor del algoritmo es cuando no se elimina ningún arco del grafo (esto ocurre si todos los conjuntos de la colección de entrada son iguales). En . Luego el costo del este caso, el costo de cada BFS será | | algoritmo para su caso peor es | | . Por la misma razón, se puede afirmar que el caso mejor es cuando se recorren los arcos del grafo, a lo sumo, un número constante de veces. En tal caso, el costo amortizado de los sucesivos llamados al algoritmo BFS es |E G | m . Luego el costo del algoritmo para el caso mejor es |U| m . 3.5 Corrección del algoritmo de solución del Problema 1 En el algoritmo se parte de un grafo dirigido y completo en el cual existen arcos , ,..., . Por tanto, en cada iteración sobre los que no pertenecen al , ,..., elemento del universo se detectan arcos que no pertenecen al Una aplicación de la Teoría de Grafos a la detección de outliers 39 y los mismos se eliminan de . Al finalizar el algoritmo, solo quedan en los arcos , ,..., . que pertenecen al Para demostrar que el algoritmo es correcto se debe garantizar que una vez finalizada la ejecución del mismo la siguiente proposición es cierta: , ,..., ⇔ , ∉ , ∉ Demostración: ⇒ Si , ∉ y por el Lema 1 , ,..., ⇒ ∃ ∈ ^ ∉ , por tanto en el algoritmo Solve_GDS cuando se esté iterando sobre el elemento en el ciclo de las líneas 6-7: Si , ∈ , cuando se itere sobre dicho arco en el algoritmo BFS_Visit (líneas 10-11) el mismo será eliminado de Si , ∉ , entonces ya fue eliminado en una iteración anterior ⇐ Si , ∉ , como el único lugar donde se elimina un arco es en las líneas 10-11 del algoritmo BFS_Visit, entonces, se cumple que: ∃ ∈ : ∈ ^ ∉ y por el Lema 1⇒ , ∉ , ,..., 3.6 Solución # 2 al Problema General Si en el contexto del problema se conocieran desde un inicio las cardinalidad de los conjuntos , , . . . , , en la Solución 1 habría varios aspectos que podrían ser tomados en consideración para seguir mejorando la constante que afecta al costo temporal, para el caso peor, del algoritmo que da solución al Problema General. La desventaja principal del algoritmo que da solución al Problema 1 es asumir inicialmente G completo, con esto se han tenido en cuenta muchos arcos que no pertenecen realmente al . A partir del siguiente Lema se caracterizan dichos arcos y además, la demostración del mismo justifica formalmente el planteamiento anterior. |B ⇒ , ∉ GDS B , B , . . . , B Lema 2:|B Demostración: Si |B |B ⇒ ∃e ∈ B ^e ∉ B ⇒ B ⊈ B y por la definición de GDS ⇒ , ∉ B ,B ,...,B Debe puntualizarse que con la demostración de este Lema se evidencia el hecho de que al grafo GDS B , B , . . . , B solo pueden pertenecer arcos que van desde vértices que representan a conjuntos de menor cardinalidad hasta vértices que representan a conjuntos de mayor cardinalidad. A partir del Lema 2 se puede descartar un gran número de arcos del grafo inicial que se sabe de antemano que no pertenecerán al GDS B , B , . . . , B . Esta es una de las principales mejoras de la Solución 2 con respecto a la Solución 1. El segundo problema que presenta el algoritmo que da solución al Problema 1 es B , en el GDS B , B , . . . , B se encuentra tanto que cuando existen i, j tal que B la arista , como la , y solo sería necesario tener representada una de ellas en el grafo. B ⇔ B B ^|B | |B | Lema 3: B 40 A. Fernández et al. Demostración: ⇒ B , por definición ⇒(B B ^B B ^ |B | |B | ⇒ B B ^|B | |B | ⇐ Si B B ^|B | |B | y suponiendo que B ⊈ B ⇒ ∃e ∈ B ^e ∉ B , entonces B contiene a todos los elementos de B y al menos un elemento que no está en B ⇒ |B | 1 ⇒ 0 1 lo que es una contradicción y por tanto la suposición |B | B inicial es falsa por lo que B B . B Luego B B ^B B ⇒ B Note que si |B | |B |^B ⊈ B ⇒ B ⊈ B pues, en caso contrario, se llegaría a una contradicción con lo demostrado anteriormente. Por tanto en todos los casos en que un conjunto B B basta con tener en el grafo una de las dos aristas y conocer la carnalidad de los conjuntos que representan. Definición 2: Sean B , B , . . . , B conjuntos tomados sobre un universo U y una permutación de los elementos de 1,2, … , m tal que p p ,p ,...,p |B | |B | . . . |B |. Se conoce como Grafo Podado de Dependencias Simples de los conjuntos B , B , . . . , B definido por la permutación al grafo , donde V 1,2, … , m y E p ,p :1 GPDS B , B , . . . , B ^B B . Podemos darnos cuenta que el grafo es un subgrafo no inducido de obtenido al quitar del mismo los arcos que son redundantes según el Lema 3 y que dicho grafo, además, no es único para los B , B , . . . , B (depende de la permutación escogida). También, dado que es una permutación que ordena los conjuntos según su cardinalidad y que las aristas solo son añadidas cuando van de un vértice de menor es cardinalidad a uno de mayor cardinalidad, podemos asegurar que el grafo acíclico y que es un orden topológico del mismo. A continuación se prueba la equivalencia entre los grafos y . Lema 4: Sean B , B , . . . , B conjuntos tomados sobre un universo U y una permutación p p ,p ,...,p de los elementos de 1,2, … , m tal que |B | |B | . . . |B | se cumple que: ⇔ , ∈ E GPDS B , B , . . . , B B , ∈ GDS B , B , …, B B Demostración: ⇒ Si , ∈ GDS B , B , …, B por definición de GDS⇒B B ⇒B B B B ⇒ para cualquier permutación p B . Si B B ⇒|B | p , p , …, p de los elementos 1,2, … , m tal que B B ⋯ B y sea p iyp j se cumple que a y por la definición de GPDS ⇒ , ∈ E GPDS B , B , . . . , B Si por el contrario B B , se cumple el planteamiento. ⇐ B dividamos en casos este Si , ∈ E GPDS B , B , . . . , B B planteamiento: Si B Una aplicación de la Teoría de Grafos a la detección de outliers 41 Si , ∈ E GPDS B , B , . . . , B , por definición de GPDS , se cumple que B B y por definición de GDS⇒ , ∈ GDS B , B , …, B Si B B ⇒B B y por definición de GDS⇒ , ∈ GDS B , B , …, B Corolario: ∃ i, j , ∉ GDS B , B , …, B B ⇔ , ∉ E GPDS B , B , . . . , B ^B Luego en base a la equivalencia de los grafos y se puede, convenientemente, redefinir nuevamente el Problema General de la siguiente forma: Problema 2: Dados los conjuntos B , B , . .., B tomados sobre un universo U, determinar: , ,..., de los elementos de 1,2, … , tal que - Una permutación | | | | ... | | - El grafo , ,..., . 3.7 Algoritmo de solución al Problema 2: Determinar el Grafo Podado de Dependencias Simples (GPDS) El algoritmo propuesto para resolver el Problema 2 tiene un funcionamiento similar al que da solución al Problema 1 pero, en este caso, se hace necesario dedicar un esfuerzo computacional extra para encontrar la permutación y se parte de un grafo inicial en el cual la cardinalidad del conjunto de arcos del mismo es menor, con respecto al que se asume en el Problema 1, y no contiene aristas redundantes según el Lema 3. Además, se hace uso del algoritmo BFS visto en la solución al Problema 1 . para eliminar las aristas que no pertenecen al 3.8 Pseudocódigo del algoritmo de solución al Problema 2 Sean : Universo de datos y : Colección que contiene a los m conjuntos Algoritmo 4. Hallar el Grafo Podado de Dependencias Simples (GDS) 42 A. Fernández et al. 3.9 Análisis de la complejidad temporal El costo temporal de algoritmo Solve_GPDS se desglosa de la siguiente forma: las , la línea 4 es ∗ ; en las líneas 5–7 se ejecuta un ciclo líneas 1–3 son 1 ; en las líneas 8–9 se invoca | | veces al algoritmo BFS que es ∗ ∗ utilizado en la solución del Problema 1. El costo temporal del algoritmo que da solución al Problema 2 depende del costo temporal del algoritmo BFS. Del análisis de orden de dicho algoritmo realizado cuando se hizo el análisis de la solución al Problema 1 conocemos que el orden de complejidad temporal, para el caso peor, del | | BFS es | | y para el caso mejor todas las iteraciones del ciclo de las | | | . En este caso, el grafo tiene líneas 8-9 tienen un costo amortizado | 1 aristas, por lo que podemos concluir que el costo m vértices y | | ; caso mejor, | | . temporal es: caso peor, El algoritmo propuesto para resolver el Problema 2 tiene un funcionamiento similar al que da solución al Problema 1 pero, en este caso, se hace necesario dedicar un esfuerzo computacional extra para encontrar la permutación y se parte de un grafo inicial en el cual la cardinalidad del conjunto de arcos del mismo es menor (con respecto al que se asume en el Problema 1) y no contiene aristas redundantes según el Lema 3. Además se hace uso del algoritmo BFS visto en la solución al Problema 1 . para eliminar las aristas que no pertenecen al 3.10 Corrección del algoritmo de solución al Problema 2 En el algoritmo que da solución al Problema 2 se utiliza una idea similar a la que utiliza el algoritmo que da solución al Problema 1 con la diferencia que en este caso se parte de un conjunto inicial de aristas menor (en la Solución 1 se parte de un grafo completo) y en cada iteración del algoritmo por los elementos de U se descubren aristas que no pertenecen al grafo GPDS B , B , . . . , B y son eliminadas de G. Al finalizar el algoritmo, solo se quedan en G los arcos que pertenecen al grafo GPDS B , B , . . . , B . Como parte de la solución de este problema se necesita encontrar una permutación que ordene los conjuntos según su cardinalidad. En la línea 2 del algoritmo se crea una lista P con los elementos 1,2, … , m y en la línea 3 se crea otra lista C con las cardinalidades de los conjuntos B , B , … , B para luego, en la línea 4, ordenar P usando como llave los valores de C. De esta forma se obtiene en P una permutación B y con dicha permutación se obtendrá que cumple que |B | |B | . . . el GPDScorrespondiente. En la obtención de esta permutación se usará cualquier algoritmo de ordenación n log n y se asume además que este es correcto. Para demostrar que nuestro algoritmo es correcto se debe probar: - En el conjunto inicial de aristas están todas las aristas del grafo . , ,..., y - Todas las aristas eliminadas no pertenecen al grafo GPDS B , B , . . . , B además son las únicas que cumplen esto. Una aplicación de la Teoría de Grafos a la detección de outliers 43 Para dar cumplimiento a estos requerimientos el siguiente paso es garantizar que en el grafo inicialG están todos los arcos del grafo GPDS B , B , . . . , B . En los ciclos de las líneas 5-7 se agregan al grafo inicial G los siguientes arcos: i ,P j :1 y quedaron excluidos de éste los siguientes: j ,P i :1 . Demostremos entonces que los arcos que fueron excluidos no pertenecen al grafoGPDS B , B , . . . , B . Como es una permutación que ordena las cardinalidades de los conjuntos |B |, por tanto, si el arco j ,P i fue podemos asegurar que, si i ⇒ B excluido, entonces B |B |. Separemos esta afirmación en los siguientes casos: Si B B , por el Lema 2 se garantiza que el arco no pertenece al grafo GDS B , B , . . . , B y como el grafo GPDS B , B , . . . , B es un subgrafo del grafo se puede afirmar que tampoco pertenece al grafo GDS B , B , . . . , B GPDS B , B , . . . , B . Si B |B | y como i , por la definición de GPDS B , B , . . . , B se puede asegurar que dicho arco no pertenece al grafo. Seguidamente se prueba el segundo punto planteado para la demostración de la corrección del algoritmo que da solución al Problema 2. Para ello se plantea lo expresado anteriormente en el lenguaje matemático: , ∉ GPDS B , B , . . . , B ⇔ , ∉ Demostración: ⇒ Si , ∉ GPDS B , B , . . . , B y en caso de que B B por el Corolario y como el algoritmo BFS utilizado , ∉ GDS B , B , …, B del Lema 4 ⇒ elimina del grafo todas las aristas que no pertenecen al grafo GDS B , B , …, B ∉ . (Ver corrección del Algoritmo 1) ⇒ , En caso de que B B y sea P[a]=i y P[b]=j, por la definición de GPDS se cumple que a y por tanto dicha arista no fue incluida en el grafo inicial ⇒ , ∉ . ⇐ Si , ∉ , pueden ocurrir dos situaciones: la arista no fue incluida en el grafo inicial o fue eliminada por el algoritmo BFS en alguno de sus llamados. ⇒ Si la arista no fue incluida en el grafo inicial , ∉ GPDS B , B , . . . , B Si la arista fue eliminada por el algoritmo BFS y como en el único lugar donde se elimina un arco es en las líneas 10-11 del algoritmo BFS_Visit se cumple que: , ∉ B ,B ,...,B y ∃e ∈ U: e ∈ B ^ e ∉ B y por el Lema 1⇒ es un subgrafo del grafo debido a que el grafo GPDS B , B , . . . , B ∉ GPDS B , B , . . . , B GDS B , B , . . . , B ⇒ , Una vez garantizado esto y mediante la aplicación del algoritmo BFS se puede asegurar que del grafo G fueron removidas todas los arcos que no pertenecen al grafo GPDS y concluir que G GPDS B , B , . . . , B . 44 A. Fernández et al. 4. Validación de los resultados Teniendo en cuenta que el objetivo fundamental con el que han sido concebidos los algoritmos presentados en esta comunicación es mejorar los tiempos de ejecución de los algoritmos de detección de outliers basados en la teoría de Rough Sets (RSBM y VPRSM), los nuevos algoritmos se han integrado al método general de detección de outliers basado en VPRSM presentado en [10] y las pruebas de validación de resultados se han realizado ejecutando el algoritmo original VPRSM y la nueva versión incorporando al mismo el GPDS. En todos los casos el objetivo de las pruebas de validación de resultados fue comprobar el correcto funcionamiento de los nuevos algoritmos y probar, si en efecto, hay mejoras considerables en el tiempo de ejecución de los algoritmos de detección inicialmente propuestos incorporando a ellos el GPDS. El dispositivo de cálculo utilizado fue un Procesador: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40Ghz 2.39Ghz Memoria: 3.25GB. Sistema Operativo: Windows 7 Ultimate. 4.1 Prueba No. 1 Conjunto de datos utilizado: Adult Data Set: Datos extraídos del Census Bureau Database of USA (CENSUS 2009) [16]. Tipo: multivariado con atributos enteros y categóricos. Descripción de las pruebas: Las pruebas con este conjunto de datos se hicieron en función de la variación del número de elementos del mismo así como de la variación del número de relaciones de equivalencia tenidas en consideración en el análisis. La Fig. 1 muestra los tiempos de ejecución alcanzados por el algoritmo VPRSM original y por el propio algoritmo modificado, incorporando al mismo el GPDS. Fig. 1. Resultados de la Prueba 1: Adult Data Set. Comparación entre los tiempos de ejecución de los algoritmos VPRSM y VPRSM-GPDS Una aplicación de la Teoría de Grafos a la detección de outliers 45 4.2 Prueba No. 2 Conjunto de datos utilizado: Arrhythmia Data Set (datos de pacientes con problemas cardiovasculares) [16]. Tipo: multivariado con atributos reales, enteros y categóricos. Descripción de las pruebas: Las pruebas con este conjunto de datos se hicieron en función de la variación del número de elementos del mismo así como de la variación del número de relaciones de equivalencia tenidas en consideración en el análisis. La Fig. 2 muestra los tiempos de ejecución alcanzados por el algoritmo VPRSM original y por el propio algoritmo modificado, incorporando al mismo el GPDS. Interpretación de los resultados En todos los casos se observó una mejora en cuanto a tiempo de ejecución del algoritmo al incorporar al mismo el grafo podado de dependencias simples. Fig. 2. Resultados de la Prueba 2: Arrhythmia Data Set. Comparación entre los tiempos de ejecución de los algoritmos VPRSM y VPRSM-GPDS 5. Comparación entre los algoritmos GDS y GPDS La Tabla 1 muestra una comparación entre los algoritmos presentados. En ella se observa que ambos mantienen el mismo orden de complejidad temporal de VPRSM para el caso peor, pero las pruebas de validación demuestran que a pesar de ello hay una mejora considerable en la constante que acompaña al orden y a partir de ello se obtienen mejoras significativas en el tiempo de ejecución del algoritmo VPRSM con las modificaciones propuestas en cuanto al uso del grafo podado de dependencias simples para representar las relaciones de inclusión entre fronteras internas. En la tabla se expresa que para la ejecución de los algoritmos Solve_GDS y Solve_GPDS no es necesario tener conocimiento sobre la cardinalidad de los conjuntos representados en el grafo ni de las relaciones de inclusión que pueden existir entre los mismos. No obstante, el conocimiento de este aspecto podría implicar mejoras en la eficiencia de los algoritmos propuestos. En el acápite siguiente se 46 A. Fernández et al. introduce este problema y el análisis del mismo se propone como un elemento que permite dar continuidad a la presente investigación. Tabla 1. Comparación entre los algoritmos GDS y GPDS Algoritmo Solve_GDS Solve_GPDS Conocimiento de la cardinalidad de los conjuntos así como del carácter transitivo de la relación de inclusión No es necesario No es necesario Complejidad temporal del algoritmo (caso peor) 1 2 | | | | 6. Líneas futuras La principal desventaja que presenta el algoritmo que da solución al Problema 2 es, precisamente, que al no haberse tenido en consideración el carácter transitivo de la relación de inclusión entre los conjuntos que han sido representados en el grafo podado de dependencias simples, esto implica que en el mismo sigan existiendo arcos redundantes. El siguiente ejemplo ilustra lo que se acaba de expresar. Sean A, B y C conjuntos donde , y por tanto, . Además, sea 1,2,3 la única permutación que ordena a dichos conjuntos por su cardinalidad. , , obtenido por el algoritmo Solve_GPDS estarían el arco En el grafo 1,2 , el arco 2,3 y también el arco 1,3 el cual, a partir de la relación de inclusión existente entre dichos conjuntos, sería innecesario que estuviera en el mismo. Este problema, por tanto, introduce un nuevo tipo de redundancia en el grafo que se origina a partir del carácter transitivo de la relación de inclusión que puede existir entre los conjuntos que están siendo representados. Por tal motivo, un objetivo inmediato a abordar en la investigación sería valorar la ampliación del marco teórico hasta ahora propuesto, de manera tal que se introduzcan en el análisis elementos que permitan eliminar del grafo la redundancia antes expresada y obtener, a partir de ello, un mayor mejora, en cuanto al tiempo de ejecución, para los algoritmos de detección de outiers que estamos optimizando. Otro aspecto a tener en cuenta para trabajos futuros, sería incorporar al análisis elementos teóricos avanzados de diseño y análisis de algoritmos [17] que permitan explorar la complejidad del problema general como tal, con el objetivo de comparar cuanto se acercan los algoritmos propuestos a la solución ideal del mismo. 7. Conclusiones Los aportes de los algoritmos propuestos para resolver el problema general de encontrar las relaciones de inclusión entre conjuntos son los siguientes: Una aplicación de la Teoría de Grafos a la detección de outliers 47 Constituyen una mejora importante para los algoritmos de detección de outliers basados en la teoría de Rough Sets, RSBM y VPRSM, en cuanto a la complejidad temporal de los mismos, pues aunque no se mejora su orden de complejidad temporal, para el caso peor, se disminuyen en gran medida las constantes involucradas en las funciones de costo y así como el orden para el caso mejor. Esto representa un ahorro considerable en tiempo cuando se procesan grandes volúmenes de datos. Las pruebas de validación de los resultados que fueron realizadas demuestran, en gran medida, esta afirmación. Teniendo en cuenta que los algoritmos propuestos resuelven un problema general, los mismos pueden ser reutilizados en la solución de otros problemas donde se necesite conocer el comportamiento de las relaciones de inclusión entre conjuntos como paso previo a la solución final de los mismos. Además, los algoritmos propuestos son relativamente facilidades de implementar y su viabilidad computacional está demostrada teórica y experimentalmente. Los mismos, además, usan como estructura de datos básica un Grafo y se sabe que la teoría en torno a ellos es una de las más difundidas y de mayor aplicabilidad práctica en la solución de disímiles problemas dentro del contexto de la Ciencia de la Computación. 8. Referencias 1. Chawla, S., & Sun, P. (2006). Outlier Detection: Principles, Techniques and Application. Proceedings of the 10th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD), Singapore, 2006. 2. Pawlak, Z., (1982) Rough Sets. International Journal of Computer and Information Sciencies, 11(5):341-356. 3. Pawlak, Z., (1991). Rough Sets: Theoretical Aspects of Reasoning About Data. s.l.: Spinger. 4. Sang Wook, H., & Jae-Yearn, K. (2007). Rough Set-based Decision Tree using the Core Attributes Concept. ICICIC'07, The Second International Conference on Innovative Computing, Information and Control. Kumamoto, Japan: IEEE Computer Society. 5. Ching-Hsue, C., You-Shyang, C., & Jr-Shian, C. (2007). Classifying Initial Returns of Electronic Firm’s IPOs Using Entropy Based Rough Sets in Taiwan Trading Systems. ICICIC'07, The Second International Conference on Innovative Computing, Information and Control. Kumamoto, Japan: IEEE Computer Society. 6. Hirokane, M., Konishi, H., Miyamoto, A., Nishimura, F. (2007). Extraction of minimal decision algorithm using rough sets and genetic algorithm. Wiley InterSciences, Systems and Computers in Japan , Volume 38, Issue 4, Pages: 39-51. 7. Ziarko, W., (1993). Variable Precision Rough Set Model. s.l. : Journal of Computer and System Sciences, 46(1):39-59. 8. Ziarko, W., (1994). Rough Sets, Fuzzy Sets and Knowledge Discovery, Springer Verlag, 326-334. 9. Ziarko, W., (2001). Probabilistic Decision tables in the Variable Precision Rough Set Model. Computer Science Department, University of Regina, Regina, Saskatchewan, S4S 0A2, Canada. 10. Fernández, A., (2011). Estimación probabilística del grado de excepcionalidad de un elemento arbitrario del un conjunto finito de datos. Aplicación de la Teoría de 48 A. Fernández et al. 11. 12. 13. 14. 15. 16. 17. Conjuntos Aproximados de Precisión Variable. Tesis Doctoral. Universidad de Alicante, España. ISBN: 978-84-694-1574-D; Depósito Legal: A-448-2011 Jiang, F., Sui, Y., & Cao, C., (2005). Outlier detection using rough sets theory. Rough Sets, Fuzzy Sets, Data Mining, and Granular Computing (RSFDGrC 2005). Springer. Jiang, F., Sui, Y., & Cao, C. (2006). Outlier detection based on rough membership function. Rough Sets and Current Trends in Computing, 5th International Conference, RSCTC'06. Kobe, Japan: Springer. Sedgewick, R., Wayne, K., (2011). Algorithms. Addison-Wesley Professional, 2011 976 pags. Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L. ( 2009). Introduction to Algorithms. MIT Press, 2009. 1292 pags. Aho, Alfred V., Hopcroft, John E., Жеффрэй Д. Уллман. (1983). Data Structures and algorithms. Addison-Wesley, 1983 - 427 pags. UCI Machine Learning Repository. http://cml.ics.uci.edu. Última consulta: 25/09/10 Muniswamy, H, H., (2009). Design And Analysis Of Algorithms. I. K. International Pvt Ltd, 2009 - 272 pags.