Está en la página 1de 5

Sistema experto: Eleccin de jugadores de ftbol a partir

de unas determinadas caractersticas seleccionadas.


Miriam Organista Ayala

Sonia Muoz Bentez

Estudiante Ing. Telecomunicacin


Universidad Carlos III de Madrid
Avda. De la Universidad, 30
28911, Legans (Madrid-Espaa)

Estudiante Ing. Telecomunicacin


Universidad Carlos III de Madrid
Avda. De la Universidad, 30
28911, Legans (Madrid-Espaa)

100055137@alumnos.uc3m.es

100047388@alumnos.uc3m.es

RESUMEN

2. DESCRIPCIN DE LA NECESIDAD

En este documento se describe la utilizacin de JESS (versin


Java de CLIPS) para la realizacin de un sistema experto. Este
sistema nos permitir elegir cul es el mejor jugador de ftbol
dadas unas ciertas caractersticas del mismo.

Un ojeador de ftbol normalmente debe decidir segn una serie de


caractersticas cul es el jugador de ftbol ms adecuado para sus
objetivos. Este programa intenta dar respuesta a esta necesidad.

Categoras y Descriptores de Temas


I.2.1 [Computing Methodologies]: Artificial Intelligence
Applications and Expert Systems; I.2.4 [Computing
Methodologies]: Artificial IntelligenceKnowledge
Representation Formalisms and Methods;

Para ello, se tiene informacin sobre varios jugadores de ftbol. El


usuario podr interaccionar con el programa respondiendo a una
serie de preguntas sobre las caractersticas del jugador que busca.
Y finalmente, el usuario recibir el nombre del jugador que ms se
adeca a dichas caractersticas.

Algoritmos, Documentacin, Diseo, Lenguajes, Teora.

De esta forma se facilita la bsqueda de un jugador que tenga


unos requerimientos previos. Adems, como el sistema es capaz
de aprender se puede ir ampliando el nmero de jugadores que se
pueden ofrecer como solucin a la necesidad del usuario.

Palabras clave

3. SISTEMA EXPERTO

Trminos generales

Inteligencia artificial, Sistema Experto, Clasificacin, Jugador de


Ftbol, Eleccin de Jugador, CLIPS, JESS.

1. INTRODUCCIN
En Inteligencia artificial uno de los temas a tratar es el de los
sistemas expertos. Mediante stos las mquinas que poseen cierta
informacin base consiguen dar una solucin adecuada a la
situacin planteada por el humano.
Este campo de investigacin se inicio en la dcada de los 70. En el
ao 1974 el profesor de la Universidad de Stanford Ted Shortliffe
desarroll MYCIN, el cual es considerado el primer sistema
experto de la historia. MYCIN consegua, mediante una serie de
preguntas que se le haca a un humano, elegir un diagnstico
adecuado de la enfermedad que sufra un paciente. ste sistema
demostr el poder de los sistemas basados en reglas para la
representacin del conocimiento y la inferencia en el dominio de
los diagnsticos mdicos [1].
En el presente documento se describe un sistema experto sencillo
parecido a MYCIN. El objetivo de este sistema es que la mquina
sea capaz de decidir, segn las respuestas que obtiene de una serie
de preguntas, cul es el jugador de ftbol ms adecuado de los que
tiene conocimiento. Tambin es capaz de ampliar su conocimiento
(aprender acerca de nuevos jugadores).
Para realizar dicho sistema experto se har uso de la herramienta
JESS (Extensin Java de CLIPS).

Un sistema experto es un sistema que resuelve problemas


utilizando una representacin simblica del conocimiento
humano.
Para ello, el sistema experto representa y utiliza conocimiento
especializado en un determinado dominio. En nuestro caso, ser
conocimiento sobre jugadores de ftbol.
Adems, es capaz de razonar de tal forma que muestra un
comportamiento similar al que tendra un experto en la materia.
En nuestro caso, un ojeador de ftbol.
Para lograr su objetivo, representa el conocimiento de manera
simblica y manipula dichos smbolos. De esta forma, obtiene un
alto rendimiento en el dominio en el que es experto (en este
ejemplo, los jugadores de ftbol).
Los sistemas expertos hacen una separacin entre el conocimiento
y la forma de utilizarlo. Adems, se basan en la naturaleza
heurstica del conocimiento y no en algoritmos [2].

3.1 Arquitectura general de un Sistema


Experto
El sistema experto est formado por las partes que se observan en
la figura 1.

de inferencia que por el momento se han usado para la resolucin


de dicho problema.

3.2 Software de implementacin


Existen distintas soluciones software para implementar sistemas
expertos. Este documento se basa en una solucin utilizando JESS
(extensin Java de Clips).

3.2.1 CLIPS
C Language Integrated Production System (Sistema de
produccin integrado en lenguaje C), sistema creado por la NASA
en 1986 como una herramienta para el desarrollo de Sistemas
Expertos. Su objetivo era solventar los problemas existentes en el
desarrollo con LISP. Aunque la interfaz que usa se parece mucho
a LIPS.
Es uno de los lenguajes ms utilizados ya que tiene una serie de
caractersticas bastante ventajosas. [4]
Figura 1. Estructura general de un sistema experto [3]

3.1.1 Motor de Inferencias


Sirve para obtener conclusiones utilizando la base de
conocimientos. Para ello, aplica reglas sobre los hechos presentes.
En este sistema se aplican las reglas de decisin sobre uno u otro
jugador.
Entre las funciones que realiza se encuentra la determinacin de
las acciones que tendrn lugar y el orden en que se llevarn a
cabo. Tambin determinar cmo y cundo se procesarn las
reglas, y dado el caso tambin la eleccin de qu reglas debern
procesarse. Adems, se encargar de controlar el dilogo con el
usuario [2].
El fin ltimo del motor de inferencias es usar las reglas de las que
dispone y crear un rbol de decisin que sirva para mostrar una
solucin final al usuario.

3.1.2 Base de conocimiento


Contiene los hechos, reglas y procedimientos del dominio del
sistema experto que son importantes para resolver el problema. La
representacin de esta informacin debe ser coherente, sencilla,
independiente, rpida, fcil de modificar, relacional, potente,
modular y fcil de mantener [2].

3.1.3 Interfaz de usuario


Debe ser sencilla, rpida, fcil de entender y que evite la
introduccin de datos incorrectos [2].

3.1.4 Subsistema de adquisicin


El conocimiento, es decir, las reglas, los hechos, las relaciones
entre los hechos, etc., debe poder introducirse de la forma ms
sencilla posible. Por esto la representacin de la informacin debe
ser clara y la sintaxis debe poder comprobarse automticamente
[2].

3.1.5 Generador de explicaciones


Las soluciones dadas por los expertos deben ser repetibles por el
usuario. Por ello, es importante saber el progreso de la resolucin
de problema mientras se aborda. En esto se debe centrar el
generador de explicaciones. Algunos sistemas representan estas
explicaciones de forma grfica [2].

3.1.6 Memoria de trabajo


Mantiene la informacin de la resolucin de un problema en
concreto que adquiere de la base de conocimiento y de las reglas

Una de ellas es que CLIPS es integrable. Esto significa que puede


ser embebido en cdigo imperativo. Adems puede ser invocado
como una sub-rutina, para ser integrado con lenguajes como C,
Java, FORTRAN, etc. Por otra parte, CLIPS tiene un lenguaje
orientado a objetos (COOL).
Otra caracterstica importante de CLIPS es su portabilidad. Al
estar escrito en C, cualquier sistema operativo con un compilador
ANSI de C o de C++ puede utilizarlo.
Permite adems un desarrollo interactivo de sistemas expertos ya
que incluye herramientas para la depuracin, ayuda en lnea, y un
editor integrado (adaptadas para cada uno de los distintos
Sistemas Operativos).
Por otra parte, est creado para que puedan verificarse las reglas
includas en el sistema experto que se est desarrollando. Adems,
permite el diseo modular y el particionamiento de la base de
conocimientos del sistema. CLIPS puede chequear restricciones
de manera esttica y dinmica para funciones y otros tipos de
datos. Por ltimo, CLIPS permite el anlisis semntico de reglas
para prevenir posibles inconsistencias.
Otra ventaja importante es que CLIPS es un software de dominio
pblico. [5]
CLIPS dispone de interfaces y herramientas como JESS (que se
usa en el presente estudio) o FuzzyCLIPS (para lgica borrosa).
CLIPS trabaja con reglas y hechos. Los hechos permiten que una
regla sea aplicable. El encaminamiento de la verdad que hace
CLIPS es hacia delante. Pero adems, permite aadir reglas,
hechos y estrategias para la resolucin de conflictos de manera
dinmica[4].

3.2.2 JESS
Java Expert System Shell
CLIPS.

es una consola en Java basada en

Entre las caractersticas a destacar de JESS es su alta portabilidad,


su potencia y su gran flexibilidad.
En principio JESS fue creado para simular el ncleo fundamental
de CLIPS. Pero, gracias a la importancia creciente de los
sistemas desarrollados en Java, se ha convertido en una
herramienta muy prctica para permitir dotar a los sistemas
desarrollados en Java la capacidad de razonar.
Una de las ventajas ms importantes que presenta es que puede
interaccionar en el mundo web. Esto es posible gracias a que
puede incluirse en applets o en navegadores. Esto es poco

utilizada pues supone un gran carga y se prefiere ubicar el sistema


experto en el servidor.

Para empezar, hace una serie de preguntas sobre las caractersticas


que el usuario quiere del jugador.

Por ltimo, es lgico que JESS pueda utilizarse mediante la


consola, o a travs de sistemas como la plataforma Eclipse que
facilitan el desarrollo de programas Java [4].

Tras las respuestas del usuario el sistema le ofrece una posible


solucin de entre las que tiene guardadas en el archivo .dat (ver
Tabla 1). La informacin que se muestra sobre el jugador elegido
es su nombre y el club donde est jugando actualmente (ej. Figura
4)

4. DISEO
Para realizar el sistema experto Malidini en JESS tuvimos que
plantear cules seran las caractersticas que clasificaran a los
jugadores. Con esas caractersticas se consegua que el programa
desarrollado en JESS pudiera hacer, mediante su motor de
inferencia, un rbol de decisin que permitiese resolver el
problema propuesto.

En algunos casos, el programa tiene ms de un posible jugador


con las mismas caractersticas. En stos, el usuario puede pedir
que se le muestren las otra alternativas o no (ej. Figura 5 y Figura
6)

4.1 rbol de decision


La primera decisin que se debe tomar al arrancar el programa es
la posicin en la que juega el tipo de jugador que interesa.
Dependiendo de qu tipo de jugador se haya elegido se pedirn o
no ms caractersticas sobre l mismo (ver Figura 2).
En cada hoja de este rbol hay una ltima caracterstica de
eleccin comn para todas ellas. Esta es la nacionalidad del
jugador. Se podr elegir, entre: Espaa, resto de Europa u otras
nacionalidades (ej. Figura 3).

Figura 5. Ejemplo de las diferentes opciones dadas


sobre un mismo tipo de jugador

Figura 3. Ejemplo de eleccin de nacionalidad

Por otra parte, si el usuario no est de acuerdo con ninguno de los


jugadores elegidos por el sistema puede introducir el nombre de
un nuevo jugador y la caracterstica que lo diferencia de los
anteriores. (ej. Figura 7)

Figura 2. rbol de decisin utilizado

5. IMPLEMENTACIN
El programa sigue los siguientes pasos para llegar a un jugador
adecuado.

Tabla 1. Relacin de Jugadores almacenados

Figura 4. Ejemplo de ejecucin bsica

Figura 6. Ejemplo de ejecucin con mltiples


soluciones

Figura 7. Ejemplo de ejecucin ampliando el


conocimiento del sistema
Esto permite que el sistema pueda ampliar su base de
conocimiento.

6. POSIBLES TRABAJOS FUTUROS


Se podra ampliar este trabajo aadiendo mayor informacin sobre
el jugador o mayor nmero de jugadores.
Tambin se podra distinguir entre los distintos jugadores con
nuevas caractersticas como la edad, o el club en el que milita, la
clusula de rescisin, etc.
Por otra parte, se podra mejorar la interfaz grfica del programa.

7. CONCLUSIONES
Se ha tratado de desarrollar un ejemplo sencillo de sistema
experto utilizando JESS. El objetivo no era conseguir un sistema
profesional ni muy especializado. Sin embargo, se ha demostrado
que esta herramienta es muy potente para este tipo de sistemas.
Por otra parte, se ha podido comprobar la utilidad que puede
llegar a tener un sistema experto basado en conocimientos para la
toma de decisiones sencillas. Por tanto, este tipo de sistemas
tienen un amplio campo de aplicacin en diversas materias. Ya
que, cualquier mbito en que se requieran soluciones software
que permitan la toma de decisiones de manera fcil y rpida a
partir de unos datos concretos de entrada puede utilizar un sistema
experto.

8. AGRADECIMIENTOS
A Julio Villena Romn.

9. REFERENCIAS
[1] Villena Romn, Julio. 2009. Apuntes de la asignatura
Inteligencia en Redes de Comunicaciones. Tema: Breve
historia de la Inteligencia Artificial. Universidad Carlos III
(Madrid, Espaa, 2009) DOI =
http://www.it.uc3m.es/jvillena/irc/

[2] Villareal Farrah, Gonzalo. Apuntes de Sistemas Basados en


Conocimiento o Sistemas expertos. Asignatura Inteligencia
Artificial.DOI=http://www.comenius.usach.cl/gvillarr/cursoia/
present/Sis-Exp%20P2.ppt.

[3] Villena Romn, Julio. 2009. Apuntes de la asignatura


Inteligencia en Redes de Comunicaciones. Tema: Sistemas
Basados en Conocimiento. Universidad Carlos III (Madrid,
Espaa, 2009) DOI = http://www.it.uc3m.es/jvillena/irc/
[4] Gonzlez-Ripoll, P. y Lucas, L. 2008. Trabajo de la
asignatura Inteligencia en Redes de Comunicaciones.
Sistema Experto: Clasificacin de animales segn su
taxonoma. Universidad Carlos III (Madrid, Espaa, 2008)
DOI= http://www.it.uc3m.es/jvillena/irc/#7
[5] Gmez, A., Corroto, A. y Bermejo, I. 2008. Trabajo de la
asignatura Inteligencia en Redes de Comunicaciones.
Sistemas de Produccin en CLIPS. Universidad Carlos III
(Madrid, Espaa, 2008) DOI=
http://www.it.uc3m.es/jvillena/irc/#7

También podría gustarte