Está en la página 1de 13

SISTEMA EXPERTO BASADO EN REGLAS PARA ASESORAR LA ASIGNACION DE UN ANALISTA EN

UNA EMPRESA DE REDES



MENDEZ ECHEVARRIA, ALESSIA
Estudiante Ing. Informtica
Universidad Nacional de Trujillo
alessia.mendez@hotmail.com

REYES MOZO, LIZETH
Estudiante Ing. Informtica
Universidad Nacional de Trujillo
lizeth_12_0414@hotmail.com

ING. ARTURO DIAZ PULIDO


RESUMEN

Hoy en da la diferencia entre organizaciones del entorno bsicamente esta dada por la presencia
de automatizacin en sus procesos e incluso mas all debido a la presencia de software en la
ayuda de toma de decisiones, dentro de ellos se encuentra los sistemas expertos basado en reglas
es por este motivo, implementaremos un sistema experto cuyo propsito es asesorar la asignacin
de un tipo de analista segn los requerimiento de un cliente dado en una empresa que brinda el
servicio de diseo y anlisis de redes LAN.
Para ello realizaremos una serie de pasos y especificaciones con la que la empresa trabaja para
luego realizar un estudio y anlisis para la construccin de dicho sistema experto.


Palabras clave: sistema experto, reglas lgicas, inteligencia artificial, analista de redes

1. INTRODUCCIN

Los sistemas expertos se pueden considerar como el primer producto verdaderamente
operacional de la inteligencia artificial. Son programas de ordenador diseados para
actuar como un especialista humano en un dominio particular o rea de conocimiento. En
este sentido, pueden considerarse como intermediarios entre el experto humano, que
transmite su conocimiento al sistema, y el usuario que lo utiliza para resolver un problema
con la eficacia del especialista. El sistema experto utilizar para ello el conocimiento que
tenga almacenado y algunos mtodos de inferencia.
Para que un sistema experto sea herramienta efectiva, los usuarios deben interactuar de
una forma fcil, reuniendo dos capacidades para poder cumplirlo:
1. Explicar sus razonamientos o base del conocimiento: los sistemas expertos se
deben realizar siguiendo ciertas reglas o pasos comprensibles de manera que se
pueda generar la explicacin para cada una de estas reglas, que a la vez se basan
en hechos.
2. Adquisicin de nuevos conocimientos o integrador del sistema: son mecanismos
de razonamiento que sirven para modificar los conocimientos anteriores. Sobre la
base de lo anterior se puede decir que los sistemas expertos son el producto de
investigaciones en el campo de la inteligencia artificial ya que sta no intenta
sustituir a los expertos humanos, sino que se desea ayudarlos a realizar con ms
rapidez y eficacia todas las tareas que realiza.

1.1. Usos de un SE

Sus principales aplicaciones se dan en las gestiones empresariales debido a que casi
todas las empresas disponen de un ordenador que realiza las funciones bsicas de
tratamiento de la informacin: contabilidad general, decisiones financieras, gestin de
la tesorera, planificacin, etc. ,este trabajo implica manejar grandes volmenes de
informacin y realizar operaciones numricas para despus tomar decisiones. Esto
crea un terreno ideal para la implantacin de los SE.
Adems los SE tambin se aplican en la contabilidad en apartados como: Auditoria (es
el campo en el que ms aplicaciones de Sistema Experto se est realizando) Fiscalidad,
planificacin, anlisis financiero y la contabilidad financiera.

reas de aplicacin

Los Sistemas Expertos se aplican a una gran diversidad de campos y/o reas. A
continuacin se listan algunas de las principales:

Militar Informtica Telecomunicaciones
Qumica Derecho Aeronutica
Geologa Arqueologa Agricultura
Electrnica Transporte Educacin
Medicina Industria Finanzas y Gestin

La aplicacin de los sistemas expertos ser adecuada all donde los expertos
dispongan de conocimientos complejos en un rea muy delimitada, donde no existan
algoritmos ya establecidos(o donde los existentes no pueden solucionar algunos
problemas)










1.2. Arquitectura y funcionamiento de un SE

La arquitectura de un sistema experto est basada en una entrada de datos realizada
por el usuario a fin de efectuar la oportuna consulta. Las entradas no solamente estn
compuestas de estas consultas. El aprendizaje del sistema y las condiciones especficas
del problema a tratar tambin han de encontrarse en la entrada.
Junto a ello, se encuentra la administracin del sistema, compuesta por un interfaz
encargado del manejo de la sintaxis del lenguaje y de la mquina de interferencias,
que se encarga de efectuar la bsqueda de base de datos. Por ltimo, se tienen los
resultados.
Partes de un sistema experto:

Base de Conocimiento (BC): contiene conocimiento modelado extrado del
dialogo experto.
Base de Hechos (memoria de trabajo): contiene los hechos sobre un problema
que se ha descubierto durante el anlisis.
Motor de Inferencia: Modela el proceso de razonamiento humano.
Mdulos de Justificacin: Explica el razonamiento utilizado por el sistema para
llegar a una determinada conclusin
Interfaz de Usuario: Es la interaccin entre el SE y el usuario y se realiza
mediante el lenguaje natural
Modulo de Comunicaciones: Es la interaccin con otros sistemas o con el otro
experto, para poder recoger informacin o consultar bases de datos.
Mdulo de adquisicin de Conocimientos: Permite al experto, la construccin
de la base de conocimiento de una forma sencilla, as como disponer de una
herramienta de ayuda para actualizar la base del conocimiento cuando sea
necesario


1.3. Ventajas de un SE
1.3.1. Ventajas

Permanencia: A diferencia de un experto humano un SE (sistema
experto) no envejece y por tanto no sufre prdida de facultades con el
paso del tiempo
Rapidez: Un SE puede obtener informacin de una base de datos y
realizar clculos numricos mucho ms rpido que cualquier ser
humano
Duplicidad: una vez programado un lo podemos duplicar infinidad de
veces
Bajo costo: a pesar de que el costo inicial pueda ser elevado, gracias a
la capacidad de duplicacin el coste finalmente es bajo
Entornos peligrosos: un SE puede trabajar en entornos peligrosos o
dainos para el ser humano
1.4. Lenguaje de Programacin

1.4.1. Introduccin a Prolog.

Prolog es un lenguaje de programacin diseado para representar y utilizar el
conocimiento que se tiene sobre un determinado dominio. Los programas en
Prolog responden preguntas sobre el tema del cual tienen conocimiento.
Forma parte de lo que se conoce como programacin declarativa. En lenguajes
tradicionales se indica como resolver un problema, en la programacin lgica
se establecen hechos reales y reglas para as no saber como resolver el
problema, sino que hacer para resolverlo.
La popularidad de este lenguaje se debe a su capacidad de deduccin y
adems es un lenguaje fcil de usar por su semntica y sintaxis. Slo busca
relaciones entre los objetos creados, las variables y las listas, que son su
estructura bsica.
En este artculo se dar una resea histrica, para entender los orgenes del
Prolog, una pequea descripcin del programa, as como las estructuras
bsicas y algunos operadores. Tambin se mencionaran algunas ventajas y
desventajas de Prolog, as como casos de uso. Por ltimo se mostrarn tres
ejemplos para mostrar la sintaxis y funcionamiento de Prolog.

1.4.2. Caractersticas de Prolog

Un programa en Prolog consiste de una base de datos de relaciones lgicas y
detalles que se cumplen para la aplicacin. Dicha base de datos no tiene una
estructura impuesta, ni un procedimiento o clase principal. Los datos y
relaciones de un programa en Prolog se escriben en un nico archivo, el cual
es consultado por el programa cuando se le hace una pregunta.
Escribir un programa en Prolog consiste en declarar el conocimiento
disponible acerca de los objetos, adems de sus relaciones y sus reglas. En
lugar de correr en un programa para obtener una solucin, se hace una
pregunta, el programa revisa la base de datos para encontrar la solucin a la
pregunta. Si existe ms de una solucin, Prolog hace backtracking para
encontrar soluciones distintas. El propio sistema es el que deduce las
respuestas a las preguntas que se le plantean, dichas respuestas las deduce
del conocimiento obtenido por el conjunto de reglas dadas.
La ejecucin de Prolog consiste en una bsqueda en profundidad de un rbol
conteniendo todas las posibles soluciones. Para cada una de ellas se evaluar
su validez.
La estructura de un programa en Prolog es lgica y directa. Se explican cada
una de sus partes y operadores disponibles a continuacin.


Estructura de un programa en Prolog

La sintaxis Prolog incluye:

Hechos: es un hecho del lenguaje cotidiano. En lenguaje normal, una
proposicin puede ser hace calor.
Reglas: las capacidades del programa. Estas son consultadas al hacer una
consulta para verificar su validez o invalidez.
Variables: Representan objetos que el mismo Prolog determina. Una
variable puede estar instanciada o no instanciada.
Consultas: es la accin de hacerle una pregunta al programa sobre la
informacin contenida en la base de datos. Una pregunta sencilla podra
ser: ?- 'Hace Calor'. Una respuesta podra ser: si, seguido por el prompt: ?-.
Un si significa que la pregunta es consistente con la informacin contenida
en la base de datos. Si no existe suficiente informacin, responde: no.

1.4.3. Ventajas y Desventajas
Ventajas
Una ventaja desde el punto de vista del usuario es la facilidad para
programar ya que se pueden escribir programas rpidamente, con
pocos errores originando programas claramente legibles, aun si no se
conoce muy bien el lenguaje.
Otra ventaja de este tipo de lenguajes frente a otros, como Java o C++,
es que no hay que pensar demasiado en la solucin del problema, ya
que Prolog infiere sus respuestas basndose en las reglas declaradas
dentro del programa.
Desventajas
La resolucin automtica no siempre es eficiente, por lo que
eventualmente se podra dar una respuesta incorrecta a una consulta.
Ciertos problemas estn ligados a la representacin del conocimiento,
que Prolog no posee.
Prolog es algunas veces es incapaz de reconocer que un problema es
(para su propio conocimiento) inaplicable o insuficiente. Si el
programa no contiene suficiente informacin para contestar una
consulta, es incapaz de reconocerlo y responde no. En esta situacin
sera ms eficiente conocer que la respuesta no es negativa, sino que
no es posible inferir un resultado.
Los motores de inferencia poseen algunos lmites.





2. ASIGNACION DE UN ANALISTA DE REDES

2.1. Planeamiento y Diseo

2.1.1. Requerimientos

Se requiere desarrollar un Sistema Experto para asesorar la asignacin de un analista
segn los requerimientos de un cliente dado en una empresa que brinda el servicio de
diseo y anlisis de redes LAN.

El sistema ser capaz de determinar el tipo de analista que debe ser asignado segn el
problema del cliente. Se considera 3 tipos de analista: principiante, entrenado y
experimentado. Considerando los siguientes factores de anlisis:

a) Tamao de la organizacin (nro. de personas que trabajan en la empresa): 20, menos
de 100, menos de 500 o ms de 500 personas. De este modo se establece si la
empresa es pequea, mediana, grande y muy grande.
b) Presupuesto estimado para este proyecto: menor que 10000, mayor o igual que 10000
y menor que 50000, o mayor que 50000. Esto determina si el presupuesto es bajo,
medio o alto.
c) Costo: para determinar el costo estimado el SE debe consultar por el nmero de
computadoras que sern conectadas, nmero de pisos en el edificio y nmero de
edificios. Para calcular el costo estimado se proceder:
- Tarjetas de red: $600 * nmero de nodos
- Cableado: $2000 * nmero de pisos + 8000 * nmero de edificios
- Mantenimiento: 9% del costo neto
- Consultora: $2000 + 6% del costo neto (sin considerar mantenimiento)
Luego calculamos un factor de costo dividiendo el costo estimado entre el presupuesto del
cliente. Si el factor de costo es menor que 1, se considera que el costo esta aceptable, si el
factor de costo es mayor que 1 y menor o igual que 1.5, el costo esta en rango, pero si el
factor de costo es mayor que 1.5. se considera que el costo es alto. La decisin se toma
considerando el nivel de presupuesto y el tamao de la organizacin combinado con el
nivel del costo. Por ejemplo para pequeos presupuestos y pequeos tamaos de
organizacin, aun sin interesar el costo se debe asignar a un analista principiante, pero en
el otro extremo, se debe seleccionar entre un entrenado o experimentado.

La aplicacin de la tecnologa de SISTEMA EXPERTO al problema de la empresa de servicio
de diseo y anlisis de redes LAN brindar como beneficios:

Una determinacin del tipo de analista a asignarse, de acuerdo a los
requerimientos del cliente.
El Sistema Experto disminuir el tiempo perdido en la determinacin del tipo de
analista, as tendr a cada trabajador ya sea principiante, entrenado y
experimentado libres para otros diferentes usuarios que lo necesiten.
El Sistema Experto puede ser duplicado y usado donde sea que la empresa
necesite dar el servicio.

2.1.2. Diagrama de bloque

Comprendido y entendido, tenemos que proceder a evaluar lo siguiente:
Nivel de Presupuesto: Necesitamos saber Cul es el presupuesto estimado que
cuenta la empresa para el proyecto? As sabremos si ser bajo, medio o Alto.
Tamao de la Organizacin: Necesitamos saber el nmero de personas que
trabajan en la organizacin. As sabremos si se trata de una pequea, mediana,
grande o muy grande empresa.
Nivel de Costo: Se involucra el Factor de Costo, para esto se necesita el
presupuesto estimado y el costo estimado, esto nos dar si es: aceptable, en
rango o alto.
Mostramos a continuacin una mejor comprensin y abstraccin mediante el diagrama
de bloques

















Fig. Diagrama de bloque de la situacin decidida del SE

Dependiendo de la respuesta, al cliente se le asignara un:
Analista Principiante.
Analista Entrenado.
Analista Experimentado.
Determinacin del Tipo de Analista
Tamao de la Organizacin Nivel del Presupuesto
Nivel de Costo
Presupuesto
Estimado
Costo Estimado
Nmero de
Personas
Presupuesto
Estimado
Factor de Costo
2.1.3. Tabla de Decisiones

En la planeacin de la tabla de decisin surge del conjunto de reglas, en la que intervienen las tres
condiciones, cada una de ellas puede tomar un nmero diferente de valores. Cuando los valores y
condiciones estn totalmente listadas, puede determinarse el nmero de renglones de la tabla de
decisin. En este caso hay 36 renglones: tres posibilidades para el nivel de presupuesto, por
cuatro posibilidades para tamao de organizacin, por tres opciones para el nivel del costo

Condiciones: N de valores
Nivel de Presupuesto (bajo, medio, alto) = 3
Tamao de la Organizacin (pequea, mediana, grande, muy
grande)
= 4
Nivel de Costo (Aceptable, En rango, Alto) = 3
Renglones = 3 x 4 x 3 = 36

Las reglas para la base de conocimiento, cada regla de la tabla de decisin se convierte en una
regla SI-ENTONCES.
La estructura y sintaxis de una regla est empieza con la palabra IF seguida por las condiciones.
Una serie de condiciones pueden ser enlazadas con operadores lgicos OR (o) y AND (y). AND
significa que las condiciones a ambos lados del operador deben ser verdaderas para que la regla se
dispare.

REGLA1
IF presupuesto = bajo AND
Nro. Personas = pequeo AND
Nivel del Costo= Aceptable
THEN Determinacin del tipo de analista = principiante;

Esta regla dice, Si durante la consulta, el valor de la variable presupuesto es bajo, Y el valor de
la variable Nro. Personas es pequeo, Y el valor de la variable Nivel del Costo es Aceptable
ENTONCES a la variable Determinacin del tipo de analista asignarle principiante.

Regla Nivel de
Presupuesto
Tamao de la
Organizacin
Nivel de
Costo
Conclusin de
Determinacin del Tipo
de Analista
A1 bajo pequea aceptable principiante
A2 bajo pequea En rango principiante
A3 bajo pequea alto principiante
A4 bajo mediana aceptable principiante
A5 bajo mediana En rango principiante
A6 bajo mediana alto principiante
Regla Nivel de
Presupuesto
Tamao de la
Organizacin
Nivel de
Costo
Conclusin de
Determinacin del Tipo
de Analista
A7 bajo grande aceptable entrenado
A8 bajo grande En rango entrenado
A9 bajo grande alto entrenado
A10 bajo muy grande aceptable experimentado
A11 bajo muy grande En rango experimentado
A12 bajo muy grande alto experimentado
A13 medio pequea aceptable principiante
A14 medio pequea En rango principiante
A15 medio pequea alto principiante
A16 medio mediana aceptable entrenado
A17 medio mediana En rango entrenado
A18 medio mediana alto entrenado
A19 medio grande aceptable entrenado
A20 medio grande En rango entrenado
A21 medio grande alto entrenado
A22 medio muy grande aceptable experimentado
A23 medio muy grande En rango experimentado
A24 medio muy grande alto experimentado
A25 alto pequea aceptable entrenado
A26 alto pequea En rango entrenado
A27 alto pequea alto entrenado
A28 alto mediana aceptable entrenado
A29 alto mediana En rango entrenado
A30 alto mediana alto entrenado
A31 alto grande aceptable experimentado
A32 alto grande En rango experimentado
A33 alto grande alto experimentado
A34 alto muy grande aceptable experimentado
A35 alto muy grande En rango experimentado
A36 alto muy grande alto experimentado






2.2. Implementacin

Para implementar nuestro sistema experto, esta dividido bsicamente en dos bloque
la parte lgica y nuestra interfaz.

2.2.1. Diseo de Interfaz
Existen predicados definidos los cuales nos ayudan a definir una interfaz en
Prolog.
Crea una ventana de dialogo
new(nombre, dialog(sistema experto)

Cdigo que crea una caja de texto donde ingresaremos nuestros valor y se
almacenara en la variable Persona y tambin creara una etiqueta que
podremos llamaremos numero_trabajadores
new(Personas, text_item (numero_trabajadores)),

Crear botones donde existirn en nuestra interfaz de usuario.
button(cancelar, hacer_predicado).


















F
Fig. Codigo en prolog de GUI

2.2.2. Reglas

El motor de inferencias trata de emparejar la lista de hechos con los patrones
de las reglas. Las reglas fueron definidas con anterioridad de esa manera al
obtener el valor de las respuestas, decidir cual es el analista correspondiente.




Primero el sistema evaluara los datos ingresados para luego obtener el nivel de
presupuesto, luego el tamao de la empresa y el nivel del costo para ello utilizaremos
los siguiente predicados que fueron tomados del anlisis del SE


Fig. Cdigo de las evaluaciones y clculo de los datos.


Luego de evaluacin para cada dato se determinara las reglas donde nos dir el tipo
de analista que se necesita


F
i
g
.

C
o
d
i
g
o

e
n

p
r
F
Fig. Cdigo en prolog de las reglas para el motor de inferencia


3. EJECUCION

Para poder realizar la ejecucin del sistema experto escribiremos nuestro predicado
ventana. De la siguiente manera














Para luego mostrar la siguiente interfaz donde nos pedir los siguientes datos














Prueba N1:
Para 5000 trabajadores, con un presupuesto de 50000 nuevos soles, numero de edificios
50 y numero de pisos 5 para comunicar 300 nodos.












Prueba N2:
Para 150 trabajadores, con un presupuesto de 5000 nuevos soles, numero de edificios 5 y
numero de pisos 3 para comunicar 40 nodos.














Prueba N3:
Para 50 trabajadores, con un presupuesto de 300 nuevos soles, numero de edificios 1 y
numero de pisos 4 para comunicar 20 nodos.















4. REFERENCIAS
1. http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/moreno_a_jl/capitulo3.pdf
2. https://sites.google.com/site/proyectointeligenciaartificial/indice/los-sistemas-
expertos
3. http://www.ecured.cu/index.php/Sistemas_expertos
4. http://searchdatacenter.techtarget.com/es/consejo/Como-hacer-funcionar-una-
red-inalambrica-LAN-en-la-empresa
5. http://www.tecnologiapyme.com/comunicaciones/gestion-de-la-red-lan-de-la-
empresa
6. http://www.cisco.com/web/ES/solutions/es/wireless_lan/index.html
7. http://www.di-mare.com/adolfo/cursos/2007-2/pp-Prolog.pdf
8. http://sistexpertosmalkav.blogspot.com/2012/02/arquitectura-y-funcionasmiento-
de-un.html