Administración Inteligente de un Sistema Electrónico de Control de Rondas mediante Algoritmo ID3. Daniel H. Jara Rivas Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica - Unidad de Posgrado jara_daniel@hotmail.com Resumen. Un Sistema Electrónico de Control de Rondas proporciona la evidencia de las visitas realizadas a los lugares con puntos de control de una ronda de vigilancia o supervisión mediante de reportes históricos por fecha y hora; sin embargo, no es suficiente para una evaluación de desempeño ni permite la programación automática. El presente artículo propone la administración inteligente de un sistema electrónico de control de rondas. La solución se basa en el aprendizaje automático supervisado aplicando Árbol de Decisiones con algoritmo ID3, con el que se obtiene un control diario del desempeño de las rondas de supervisión, así como su administración automática y predictiva. Palabras clave: Árbol de Decisiones, algoritmo ID3, entropía. Tiempo UTC. Abstract. An electronic guard patrol system gives us evidence of the checkpoints visited in one patrol of vigilance or supervision through historical records by date and hour; however, the basic administration software don’t let us make reports about the performance or bring forward the patrols. This article suggests an intelligence electronic guard patrol system for the administration of a security company. Considering a solution based on the Machine Learning with Decision Tree using ID3 algorithm obtained the daily performance of the guard patrols, and also an automatic and predicted administration. 1. INTRODUCCIÓN. Una empresa que brinda servicios de vigilancia realiza labores de supervisión diaria a los locales o unidades bajo su responsabilidad, emplea un sistema electrónico de control rondas con la intención de mantener un registro y evaluar su desempeño tanto en el cumplimiento de supervisión diaria a cada unidad, como la optimización del uso de las unidades móviles; para ello han sectorizado la ciudad por zonas debido a su extensión geográfica y a la cantidad de unidades. Las rondas se realizan diariamente en dos turnos de 12 horas; cada zona por turno esta a cargo de un supervisor zonal y una unidad móvil con chofer. La ronda de supervisión parte de la oficina central hacia las unidades, no se establece un rol y la elección de las unidades a visitar es aleatoria o condicionada por algún evento. Se desarrolla en función de visitar la mayor cantidad de unidades en función del tiempo disponible. Se requiere administrar las rondas de manera que se garantice la visita diaria a todas las unidades en alguno de los turnos. Para ello se debe saber que unidades se han visitado en el turno anterior a fin de visitar las restantes. Se debe tomar en cuenta la cantidad de agentes en la unidad, la distancia, el tiempo en llegar y si la unidad cuenta con supervisión interna. Con esta información se elaborara de manera automática un rol de ronda del turno siguiente. Posteriormente; en otros trabajos, se puede evaluar otros factores que incidan en la elaboración y el cumplimento de dicha programación. MARCO TEÓRICO. UTC, Tiempo UNIX y Formato Videx UTC. El tiempo universal coordinado, o UTC, en inglés, es el tiempo de la zona horaria de referencia respecto a la cual se calculan todas las otras zonas del mundo. El 1 de enero de 1972 paso a ser el sucesor del GMT (Greenwich Mean Time: tiempo promedio del Observatorio de Greenwich, en Londres). Tiempo Unix o Tiempo POSIX es un sistema para la descripción de instantes de tiempo: se define como la cantidad de segundos transcurridos desde la medianoche UTC del 1 de enero de 1970, sin contar segundos intercalares. Es universalmente usado no solo en sistemas operativos tipo-Unix, sino también en muchos otros sistemas computacionales. No se trata ni de una representación lineal del tiempo, ni de una representación verdadera de UTC (a pesar de que frecuentemente se lo confunde con ambos), pues el tiempo que representa es UTC, pero no tiene forma de representar segundos bisiestos de UTC (por ejemplo, 1998-12-31 23:59:60). El formato Videx UTC, es una representación entera del número de segundos contados a partir del 1 de enero de 1996. Machine Learning. El Aprendizaje Automático o Aprendizaje de Máquinas es una rama de la Inteligencia Artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender. De forma más concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una información no estructurada suministrada en forma de ejemplos. Es, por lo tanto, un proceso de inducción del conocimiento. Algoritmo ID3 El algoritmo ID3 es utilizado dentro del ámbito de la inteligencia artificial. Su uso se engloba en la búsqueda de hipótesis o reglas en él, dado un conjunto de ejemplos. El conjunto de ejemplos deberá estar conformado por una serie de tuplas de valores, cada uno de ellos denominados atributos, en el que uno de ellos, (el atributo a clasificar) es el objetivo, el cual es de tipo binario (positivo o negativo, si o no, válido o inválido, etc.) De esta forma el algoritmo trata de obtener las hipótesis que clasifiquen ante nuevas instancias, si dicho ejemplo va a ser positivo o negativo. El objetivo es: Construir un árbol de decisión que explique cada instancia de la secuencia de entrada de la manera más compacta posible a partir de una tabla de inducción. En cada momento elige el mejor atributo dependiendo de una determinada heurística. Determinar las variables que portan información relevante para la solución del problema y; Establecer la secuencia dentro del árbol de decisión. Características: Crear un árbol de decisión como un método para aproximar una función objetivo de valores discretos, que es resistente al ruido en los datos y que es capaz de hallar o aprender de una disyunción de expresiones. El resultado puede expresarse como un conjunto de reglas Si-entonces. Intenta encontrar el árbol más sencillo que separa mejor los ejemplos. Es recursivo. No se realiza “backtracking”. Utiliza la entropía. Los elementos son: Nodos: Los cuales contendrán atributos. Ramas: Los cuales contienen valores posibles del nodo padre. Hojas: Nodos que clasifican el ejemplo como positivo o negativo. Los Datos se definen como: Atributos: Son los factores que influencian la clasificación o decisión. La selección de atributos debe basarse en el conocimiento acumulado por la experiencia. En este algoritmo cada atributo forma un nodo intermedio en un árbol cuyas hojas o nodos terminales son las clases o decisiones. Clase: Posibles valores de solución Ejemplos: Es el conjunto de combinaciones de atributos dados. Dado el conjunto de ejemplos, el ID3 selecciona el atributo que subdivide los ejemplos de la mejor manera. Entropía: Es la medida de la incertidumbre que hay en un sistema. Es decir, ante una determinada situación, la probabilidad de que ocurra cada uno de los posibles resultados. La función de entropía más usada es la binaria. Su expresión es con logaritmos base 2: p I ( p, n) pn log 2 p pn n log 2 pn n pn Cálculo del total de la entropía de los atributos: E(A)=((p1+n1)*I(p1,n1)+(p2+n2)*I(p2,n2)+...+(pv+nv)*I(pv,nv))/(p+n) Ganancia: Es la diferencia entre la entropía de un nodo y la de uno de sus descendientes. En el fondo no es más que una heurística, que como veremos nos servirá para la elección del mejor atributo en cada nodo. Ganancia(A) = I(p,n) - E(A) Un buen criterio parece ser escoger el atributo que gana la mayor información. ID3 examina todos los atributos y escoge el de máxima ganancia, forma la ramificación y usa el mismo proceso recursivamente para formar sub-árboles a partir de los v nodos generados. Fig. 4. Diagrama de flujo 2. Metodología. Metodología actual. Los componentes de Hardware del sistema iBR900 de Videx utilizado son: iButton. Colocados en cada unidad. Es un chip contenido en un recipiente de acero inoxidable de 16mm de diámetro, capaz de ser colocado en cualquier superficie o ambiente, tiene una única e inalterable dirección que es un número de serie de 48 bits en HEX (e.g. 2700000095C33108). Colector de Datos iBR900. Mediante este dispositivo se leen los Id. de cada botón; al realizar una lectura, esta se almacena con la fecha y hora del colector. La lectura se realiza por contacto. Posee autonomía de un año de funcionamiento y capacidad de memoria para 9,000 lecturas. Interfaz IR. Mediante este dispositivo se transfieren los datos contenidos en el colector de datos al computador de la oficina central al término de cada ronda. Se conecta a cualquier puerto USB del computador Fig. 1. Los ibuttons, el colector de datos iBR900 y el Interfaz IR. El Software básico de administración permite la asignación y etiquetado de los componentes del sistema y la emisión de reportes históricos de las lecturas (figura 2). Fig. 2. Como se presentan los datos con el software básico. Este software esta escrito en Java (para la versión 1.5 o superior). Las aplicaciones se presentan en web browser mediante un programa llamado Jetty (www.mortbay.org); Tomcat también puede ser utilizado. Almacena la información donde la fecha y la hora están en el formato Videx UTC, que es una representación entera del número de segundos contados a partir del 1 de enero de 1996. El la figura 3, en las columnas ILE_RECSTAMP e ILE_EVENT se observan dichos datos. Fig. 3. Base de datos dónde almacenan las lecturas. Por defecto la base de datos esta escrita en Derby, pero es posible utilizar MySQL o SQL Server (más información acerca de Derby en www.apache.org). El software iBR900 puede correr en un servidor para aplicaciones en una LAN o Internet Metodología propuesta. En primer término determinamos las siguientes variables: a. Las unidades se denominan ui; dónde i es el número de la unidad. b. Según la cantidad de agentes que prestan servicio (cantidad establecida por requerimiento del cliente) Se establece ai como atributo de la unidad: De 1 a 10 agentes, ai = 1 De 11 a 20 y ai = 2 > 20 ai = 3 c. Otro atributo heredado es si se visito en el turno anterior. d. Si las unidades están a cargo o no de un supervisor residente: se define el atributo s = 0; con supervisor o s = 1; sin supervisor. e. Se define como clase la visita realizada a la unidad: vi = 1; unidad visitada y vi = 0; unidad no visitada. La ronda del primer turno (de 07:00 a 19:00 hrs.) debe iniciar su servicio con una programación efectuada por el sistema de administración inteligente; que se elabora teniendo como antecedente el día anterior. La ronda de segundo turno (de 19:00 a 07:00 hrs. del día siguiente) inicia su servicio con una programación en base a las visitas realizadas por el turno anterior. De tal manera que se cumpla el objetivo de visitar todas las unidades de una zona en el día. Unidad ui 1 2 3 4 5 6 7 8 9 10 Atributo ai 3 3 3 2 1 1 1 1 1 3 Ronda Anterior vi Si = 1 Si = 1 Si = 1 Si = 1 No = 0 No = 0 Si = 1 No = 0 No = 0 Si = 1 Para los objetos tenemos las siguientes clases: p=4,n=6 4 4 6 log log I (4,6) 2 2 10 10 10 3. Conclusiones. Rondar (Clase) Si Si No No Si Si No Si Si Si Supervisor si 0 0 1 1 1 1 1 1 1 1 6 10 0.9709 De la realización de los cálculos se obtiene el árbol de decisión 4. 5. Referencias. Manual de iBR9000. Videx Inc. www.videx.com Redes Neuronales y Sistemas Borrosos. 3ª edición. Martín del Brío, Bonifacio; Sanz Molina, Alfredo, (aut.) Ra-Ma, Librería y Editorial Microinformática Procesos Aleatorios – Curso Resumido. Yuri Rozanov. Editorial MIR – Moscu. 1973. Cálculo Variacional. M. L. Krasnov. Editorial Latinoamericana. 1976. Computational Mathematics. N. V. Kopchenova y I.A. Maron. MIR Publisher. 1975.