Está en la página 1de 10

TTULO DEL PROYECTO

Desarrollo de un sistema experto para una veterinaria en la clasificacin e identificacin de perros.


INTRODUCCIN
El desarrollo avanzado de la tecnologa ha hecho posible utilizar la ciencia en beneficio de la humanidad, haciendo cada vez ms fcil
los procesos y facilitando las actividades humanas, es as como en este proyecto se plantea el uso de la inteligencia artificial para
servir a una veterinaria, y que por medio de un sistema experto facilite a los clientes de esta rea, dar informacin de algunas razas.
Este proyecto se puede adaptar por todas las veterinarias que se encargan del manejo de mascotas.
Lo primero que se va a plantear es cmo a travs o por medio de los sistemas expertos se puede llegar a manejar dicha
clasificacin, sobre ello se ha investigado encontrando como conclusin principal que las veterinarias encargadas de la clasificacin
no cuentan con esta tecnologa. Atendiendo a esta necesidad, es fundamental entender que en las ciencias computacionales est
tomando mucho auge la inteligencia artificial como herramienta para volver ms eficientes las actividades cotidianas, dentro de
esta ciencia podemos encontrar redes neuronales, algoritmos genticos, sistemas expertos y agentes inteligentes.
A travs del sistema experto, los clientes que visiten la veterinaria podrn tener la informacin de las razas destacadas, atrayendo as
la atencin del cliente. Los clientes tendrn la oportunidad de llevarse una buena imagen de nuestro sistema.
PLANTEAMIENTO DEL PROBLEMA
La inteligencia artificial despliega como una de sus ramas los reconocidos sistemas expertos, dnde existen numerosos proyectos
que simulan el comportamiento de una persona experta en el rea en que se desempea. Hay algunos de stos dedicados a la
agricultura, a la educacin, a la gestin ambiental, en medicina etc.
DESCRIPCIN Y FORMULACIN DEL PROBLEMA
La veterinaria no cuenta con un sistema experto, el cual brinde un servicio de informacin aplicada al cliente que visite el negocio. En
la actualidad, las veterinarias relacionadas con ste, ofrecen cierta informacin de caractersticas ms importantes y/o
reconocidos de cada raza, pero muchas veces esto no satisface los gustos de un del visitante.
Es por eso que se plante disear un sistema experto en una veterinaria con el que se ofrecer informacin a los clientes o
personas interesadas de algunas razas que puedan adquirir segn su preferencia, como lo son tamao, pelo, etc.
A partir de esto se formula el problema creando la siguiente pregunta:
Cmo sugerir a los clientes o visitantes, que mascota y tamao d ella, debe comprar o adoptar teniendo en cuenta sus preferencias
por medio de un sistema experto?
OBJETIVOS DE LA INVESTIGACIN
Objetivo General
Desarrollar un sistema experto que apoye la toma de decisiones con respecto a razas y tamao de mascotas (perros).

1.4.2

Objetivos Especficos

Disear la base de conocimiento del sistema experto.

Implementar la base de conocimiento que le permita al sistema sugerir las razas segn los datos ingresados por el
cliente.

Desarrollar Base de Datos con informacin de cada uno de las razas.

ALCANCES Y LIMITACIONES DEL PROYECTO


Alcances

Con este proyecto se llegar hasta la implementacin de la base de conocimiento.

La base de conocimiento contendr la informacin de los principales razas de perros en la actualidad.

El sistema experto podr ser implementado por cualquier veterinaria o pet shop de la ciudad de Oruro.

ste proyecto llegar hasta el desarrollo del sistema, ms no se realizar la etapa de transicin.

Limitaciones

Los sistemas expertos no tienen sentido comn. El sistema slo resolver aquellos problemas para los que est
especficamente programado.

El sistema experto no posee la capacidad de aprendizaje a partir de sus experiencias, y requiere de la necesidad de
ingenieros del conocimiento para mejorar sus capacidades.

El sistema fue creado en espaol, lo que limita la poblacin que puede hacer uso de ste, ya que les obliga a tener
conocimiento de dicho idioma.

METODOLOGA
METODOLOGA DE INVESTIGACIN
El enfoque de investigacin para ste proyecto es emprico-analtico, de tipo tcnico, orientado la trasformacin de informacin en
bases de hechos y bases de conocimientos las cuales permiten realizar sugerencias hiptesis de acuerdo al problema al que sean
expuestas.
La extraccin de informacin se realiz mediante hechos de la vida cotidiana, visitas a expertos en canes, y diferentes medios de
informacion como lo son folletos, manuales y pginas web relacionadas entre otros.
Para hacer el software funcional con la informacin respectiva, se clasifican los objetos, en ste caso los tamaos de cada raza
encontradas en los diferentes medios exponentes de ste conocimiento, creando reglas que permitan parametrizar las consultas hacia
los usuarios y el software realice el trabajo para el que fue diseado.
La clasificacin mencionada anteriormente se realiza extrayendo los atributos de cada raza de perro y as mismo se clasifican las
similitudes entre stos facilitando la bsqueda en las consultas y mejor an en la organizacin de la informacin.

Los siguientes son ejemplos de programas orientados a sistemas expertos, aunque el proyecto de clasificacion es realizado en Prolog.

Dendral

XCon

Dipmeter Advisor

CADUCEUS

R1

CLIPS

Prolog

Los sistemas expertos pueden ser desarrollados para varios tipos de tareas, entre stos estn:
Monitorizacin: La monitorizacin es un proceso que realiza un sistema experto, el cual consiste en la interpretacin de las entradas
que un usuario le indique a este, para poder ejecutar una serie de instrucciones que en este caso permite la comparacin continua de
las entradas al sistema. Usualmente los Sistemas Expertos se utilizan principalmente como herramientas de diagnstico. Esta
caracterstica se basa en que el sistema debe predecir una serie de acontecimientos, analizarlos y generar una respuesta a la consulta
previa teniendo en cuenta las caractersticas dadas por el usuario.
Diseo: Es el proceso mediante el cual se realizan las descripciones del sistema que tiene como objetivo solucionar la problemtica
especificada y que se debe relacionar con diferentes campos del conocimiento que sirven como fuente de informacin para el
Sistema

Experto. Los Sistemas Expertos cumplen con un

proceso que se define como un sistema de bsqueda hacia una solucin ms ptima de una problemtica. Para que el sistema
experto cumpla con dar la mejor informacin hacia el usuario, se realizan una serie de comparaciones con otros sistemas verificando
la solucin ms adecuada hacia un problema y as poder definir si el Sistema Experto es viable y pueda ser implementado a esta
situacin.
Simulacin: Consiste en emular las funciones de un sistema aplicando las caractersticas de este en otro, a fin de estudiar el
comportamiento de los sistemas y de verificar

que

tipos

de

entrada

salidas

tienen. La

simulacin que hacen los Sistemas Expertos permite a los usuarios interactuar con dicho sistema brindndole las mismas soluciones
que un experto humano le podra ofrecer.
Planificacin: La planificacin se basa en la ejecucin de secuencias de acciones y se compone de un sistema de control y un
simulador.
Sin embargo esta presenta una serie de problemas, donde los datos pueden ser probables pero no seguros en su mayora, se debe
tener ms de un plan y explicaciones con un caso de resultados imprevistos o datos que deben ser valorados y/o influyan con un factor
de peso, en un Sistema Experto.
Control: Un sistema de control permite que la ejecucin de toda accin en el Sistema Experto sea de forma secuencial y este
permite que se realice un proceso de retroalimentacin que consiste en diagnosticar y verificar que las instrucciones estn de acuerdo
con los datos especificados por el usuario y poder ser un gua que acompae en la bsqueda de la informacin pertinente.

Los Sistemas de control realizan una serie de acciones para rectificar que el Sistema Experto se encuentre

funcionando

correctamente, las acciones que el sistema debe ejecutar son las siguientes: analizar entradas, realizar las correspondientes
validaciones y en caso de no cumplir los parmetros realizar las rectificaciones o reparaciones del sistema.

DESARROLLO INGENIERIL
Reglas para verificacion:
hipotesis(pequines)

:- pequines, !.

.
.
.
hipotesis(pastor_aleman) :- pastor_aleman, !.
.
.
.
hipotesis(rotweiller)

:- rotweiller, !.

.
.
.
Reglas de Identificacion:
pequines :raza_pequea,
verify(tiene_ojos_saltones),
verify(tienen_mal_caracter),
verify(tiene_hocico_pequea).
Reglas de clasificacion:
raza_pequea :- verify(tiene_pesor_menor_a_5kg), !.
raza_pequea :- verify(come_poco_y_es_aburrido),
verify(viven_bastante).
raza_mediana

:- verify(tiene_pesor_menor_a_25kg), !.

raza_mediana

:- verify(come_moderadamente),
verify(es_agil).

raza_grande :- verify(tiene_peso_mayor_a_25), !.
raza_grande :- verify(es_lento).
CONCLUSIONES Y RECOMENDACIONES
Para un proyecto que utilice sistemas expertos es vital tener conocimiento del tema que se va a trabajar, la problemtica y saber cmo
se puede aplicar el sistema para que cumpla las funciones de una persona experta.
Realizar la base de conocimiento en Prolog es lo ms conveniente para un proyecto de ste tipo, ya que es un lenguaje fcil de entender
y de utilizar. Pero se debe tener en cuenta que al crear la base de conocimiento de sta forma, quedar como un archivo plano
dificultando la conexin directa con otros programas.

CIBERGRAFIA
PRESSMAN S, Roger. Ingeniera de Software Un Enfoque Prctico, McGraw Hill, Quinta Edicin en Espaol. [Libro en lnea] <
http://es.scribd.com/doc/7978336/Ingenieria-de-Software-Un- Enfoque-Practico-Pressman-5th-Ed>> [con acceso el 4 junio de 2011].

Anexo 1
Cdigo prolog

identificar :- hipotesis(Animal),
write('Pienso que el perro que pensaste es: '),
write(Animal),
nl,
undo.
hipotesis(pequines)
hipotesis(chapi)

:- pequines, !.

:- chapi, !.

hipotesis(chihuaha)

:- chihuaha, !.

hipotesis(coocker)

:- coocker, !.

hipotesis(pug_carlino)
hipotesis(rotweiller)

:- pug_carlino, !.

:- rotweiller, !.

hipotesis(doberman)

:- doberman, !.

hipotesis(san_bernando)
hipotesis(pastor_ingles)
hipotesis(gran_danes)

:- san_bernando, !.
:- pastor_ingles, !.
:- gran_danes, !.

hipotesis(pastor_aleman) :- pastor_aleman, !.
hipotesis(boxer) :- boxer, !.
hipotesis(golden) :- golden, !.
hipotesis(pitbull) :- pitbull, !.
hipotesis(dalmata) :- dalmata, !.
hipotesis(huscky) :- huscky, !.
hipotesis(sharpei) :- sharpei, !
hipotesis(chow_chow) :- chow_chow, !
hipotesis(desconocido).

/* sin diagnostico */

pequines :raza_pequea,
verify(tiene_ojos_saltones),
verify(tienen_mal_caracter),
verify(tiene_hocico_pequea).
chapi :raza_pequea,
verify(tiene_pelo_largo_rizado),
verify(tiene_hocico_pequeo).
chihuaha :raza_pequea,
verify(tiene_ojos_saltones),
verify(tienen_mal_caracter),
verify(tiene_hocico_largo_para_su_tamao).
coocker :raza_pequea,
verify(tiene_orejas_largas),
verify(tienen_buen_caracter),
verify(tienen_pelo_largo).
pug_carlino :-

raza_pequea,
verify(tiene_orejas_pequeas),
verify(tienen_ojos_saltones),
verify(actua_en_Men_IN_Black).
rotweiller :- raza_grande,
verify(tiene_pelo_corto),
verify(es_perro_de_guardia),
verify(tiene_hocico_grande),
verify(es_color_negro).

doberman :- raza_grande,
verify(tiene_orejas_puntiagudas),
verify(es_perro_de_guardia),
verify(es_color_negro),
verify(tiene_pelo_corto).
san_bernando :- raza_grande,
verify(tiene_orejas_largas),
verify(tiene_pelo_largo),
verify(es_muy_baboso).

pastor_ingles :- raza_grande,
verify(tiene_orejas_largas),
verify(tiene_pelo_largo_y_rizado),
verify(parece_un_peluche).
gran_danes :- raza_grande,
verify(tiene_orejas_puntiagudas),
verify(tiene_pelo_corto),
verify(es_la_estrella_en_SCOOBY_DOO).
pastor_aleman :- raza_mediana,
verify(tiene_hocico_grande),
verify(tiene_pelo_largo),
verify(es_cafe_y_negro),
verify(es_la_raza_preferida_por_policias).
boxer :- raza_mediana,
verify(tiene_hocico_achatado),
verify(tiene_pelo_corto),
verify(es_muy_baboso).
golden :- raza_mediana,
verify(tiene_hocico_grande),
verify(tiene_pelo_largo_y_dorado),
verify(tiene_buen_caracter).
pitbull :- raza_mediana,
verify(tiene_hocico_grande),

verify(tiene_pelo_corto),
verify(tiene_orejas_puntiagudas),
verify(es_la_raza_mas_temida).
dalmata :- raza_mediana,
verify(tiene_hocico_mediano),
verify(tiene_pelo_corto),
verify(tiene_manchas_negras),
verify(su_mayor_enemigo_es_Cruela_Devila).
huscky :- raza_mediana,
verify(tiene_hocico_mediano),
verify(tiene_pelo_largo),
verify(tiene_ojos_azules),
verify(desciende_de_los_lobos).
sharpei :- raza_mediana,
verify(tiene_hocico_mediano),
verify(tiene_pelo_corto),
verify(es_muy_arrugado.
chow_chow :- raza_mediana,
verify(tiene_hocico_grande),
verify(tiene_pelo_largo),
verify(parece_peluche),
verify(tiene_la_lengua_negra_morada).
raza_mediana

:- verify(tiene_pesor_menor_a_25kg), !.

raza_mediana

:- verify(come_moderadamente),

verify(es_agil).
raza_pequea :- verify(tiene_pesor_menor_a_5kg), !.
raza_pequea :- verify(come_poco_y_es_aburrido),
verify(viven_bastante).
raza_grande :- verify(tiene_peso_mayor_a_25), !.
raza_grande :- verify(es_lento).
/* Hace Preguntas */
ask(Question) :write('El perro tiene la siguiente caracteristica : '),
write(Question),
write('? '),
read(Response),
nl,
( (Response == yes ; Response == y)
->
assert(yes(Question)) ;
assert(no(Question)), fail).
:- dynamic yes/1,no/1.
/* Verificacion */

verify(S) :(yes(S)
->
true ;
(no(S)
->
fail ;
ask(S))).
undo :- retract(yes(_)),fail.
undo :- retract(no(_)),fail.
undo.

También podría gustarte