Anda di halaman 1dari 12

FUNDACIÓN UNIVESITARIA KONRAD LORENZ1

FACULTAD DE MATEMÁTICA E INGENIERÍAS


PROGRAMA DE INGENIERÍA DE SISTEMAS
2005
SISTEMAS BASADOS EN EL CONOCIMIENTO I
Prof. Pervys Rengifo Rengifo(pervys2000@yahoo.es)
Presentado Por: Luis Alejandro Sarmiento
Cristo Pérez
Julián Moreno

SISTEMA RECOMENDADOR DE COMPUTADORES

1. Planteamiento del problema

El PC se ha vuelto una herramienta indispensable tanto en el hogar como en los


negocios; la compra de un PC en la mayoría de los casos es una situación laboriosa y
de mucho tiempo, y muchas personas no poseen del tiempo suficiente para darse a la
tarea de mirar una por una todas las ofertas que existen en le mercado, hay otros
casos que ni los compradores saben que es lo que quieren y lo que necesitan según su
trabajo, estudio o situación económica.
El problema esta en que muchas personas no saben que equipo es el que deben
comprar para que se acomode a las necesidades y presupuesto que tienen.

2. Descripción del sistema


El sistema recomendador de computadores dará una idea a una persona de que opción
u opciones de computadores son las que le conviene para sus necesidades.
El sistema mediante unas sencillas preguntas que debe contestar el usuario, realizara
una búsqueda sobre una base conocimiento donde se encuentra las posibilidades y
configuraciones de equipos disponibles.
El sistema mostrara las preguntas al usuario, este escogerá la opción que se le
acomode; posteriormente cuando termine el usuario las preguntas el sistema realiza la
búsqueda y muestra la mejor opción de computador que se acomoda a las respuestas
dadas por el usuario.

3. Usuarios del sistema


Los usuarios del sistema serán:

1
Dirección electrónica http://www.fukl.edu Bogotá-Colombia

SISTEMAS BASADOS EN EL CONOCIMIENTO I


Cliente: este usuario utilizara el sistema recomendador para consultar las opciones de
computadores que puede escoger según sus necesidades. Este usuario únicamente
contestara las preguntas dadas por el sistema y podrá observar el resultado de las
opciones que escogió.
Administrador: se encarga de mantener la base conocimiento, de actualizar las
configuraciones de los computadores y cambiar las preguntas y opciones según el
entorno y las preferencias de los clientes.

4. Diagramas de casos de uso del sistema

Diagrama Cliente

IngresarOpciones

Cliente

VerificarResultados

AdicionarReglas

Diagrama Administrador

EliminarReglas

MantenerBaseConocimiento

ModificarReglas

Administrador
ModificarOpciones

AdicionarConfiguracion

EliminarConfiguracion
MantenerConfiguraciones

SISTEMAS BASADOS EN EL CONOCIMIENTO I

ModificarConfiguracion
5. Metodología de desarrollo

1. Se trabajo pensando en el entorno, en el mercado que se mueve a nuestro


alrededor y el cual conocemos.
2. Pensamos en los posibles usuarios que pueden utilizar el sistema desde un
estudiante de bachillerato hasta un gerente de una compañía.
3. Se crearon las preguntas muy sencillas para no confundir al usuario.
4. El análisis fue de atrás hacia adelante, es decir armamos las configuraciones de
los equipos y los ubicamos en una situación en la cual se acoplaran.
5. Se crearon árboles de decisión a nuestro criterio, siendo los nodos los atributos
que se leen con las preguntas que se le realizan al usuario para realizar su
búsqueda.
6. Con los árboles de decisión creados se infirieron las reglas de la Base de
conocimiento.
7. Por ultimo se implemento una pequeña rutina que utiliza las reglas y las
configuraciones de los computadores para realizar la búsqueda según los
criterios que le dicte el usuario al sistema.
8. Se hizo la aplicación en lenguaje PROLOG.

Configuraciones de los equipos:


Por tiempo y comodidad se presentan las configuraciones que se crearon en sintaxis de
prolog.

Para portátiles:

Código Equipo Especificación

mostrar('p1'):-

SISTEMAS BASADOS EN EL CONOCIMIENTO I


write('*** Dell Precision M60 ***'),nl,
write('Pentium Centrino 1.7GHz,RAM 512MB, Disco 80GB'),nl,
write('Tarjeta Video,Tarjeta Aceleradora,Tarjeta Graficos'),nl,
write('Red Wifi, Bluetooth'),nl,
write('Combo DVD+CDRW,Pantalla 14"'),nl,
write('PRECIO: $10.690.000'),nl,!.

mostrar('p6'):-
write('*** TOSHIBA Satellite SP 250 *** '),nl,
write('Pentium III 850MHz,RAM 128MB, Disco 20GB'),nl,
write('Combo CD+CDRW,Pantalla 12"'),nl,
write('PRECIO: $2.150.000'),nl,!.

mostrar('p2'):-
write('*** IBM ThinkPad T *** '),nl,
write('Pentium Centrino 1.6GHz,RAM 512MB, Disco 60GB'),nl,
write('Tarjeta Video ATL Mobility,Tarjeta Aceleradora Graficos'),nl,
write('Red Wifi, Bluetooth'),nl,
write('Combo DVD+CDRW,Pantalla 14"'),nl,
write('PRECIO: $9.000.000'),nl,!.

mostrar('p3'):-
write('*** SONY Vaio PCG-V505 *** '),nl,
write('Pentium IV 1.6GHz,RAM 256MB, Disco 30GB'),nl,
write('Tarjeta Video16MB'),nl,
write('Red Wifi, Bluetooth'),nl,
write('Combo DVD+CDRW,Pantalla 12"'),nl,
write('PRECIO: $3.900.000'),nl,!.

mostrar('p4'):-
write('*** APPLE IBOOK ***'),nl,
write('Procesador PowerPc G4 800MHz,RAM 256MB, Disco 30GB'),nl,
write('Tarjeta Video ,Tarjeta Graficos'),nl,
write('Combo CD+CDRW,Pantalla 12"'),nl,
write('PRECIO: $3.300.000'),nl,!.

mostrar('p5'):-
write('*** DELL Inspiron ***'),nl,
write('Procesador Celeron 2.4GHz,RAM 128MB, Disco 20GB'),nl,
write('Tarjeta de Red '),nl,
write('Combo DVD+CDRW,Pantalla 15"'),nl,
write('PRECIO: $2.150.000'),nl,!.

Cuando no hay ninguna opción que cumpla:

mostrar('NO HAY'):-
write('Con un presupuesto bajo no conseguira un PC con '),nl,
write('especificaciones de alto procesamiento '),nl,
write('Por Favor revalue su eleccion e intente de nuevo'),nl,!.

Especificaciones para equipos de marca reconocida:

mostrar('mba'):-
write('*** eMAC G3 ***'),nl,
write('Procesador PowerPC G4 1GHz,RAM 128MB, Disco 40GB'),nl,
write('Combo DVD+CDRW,Pantalla 17"'),nl,
write('2 Puertos Fire wire '),nl,
write('PRECIO: $2.700.000'),nl,!.

mostrar('mma'):-
write('*** iMAC G4 ***'),nl,
write('Procesador PowerPC G4 1.8GHz,RAM 256MB, Disco 80GB'),nl,
write('Combo DVD+CDRW,Pantalla 17"'),nl,
write('4 Puertos Fire wire '),nl,

SISTEMAS BASADOS EN EL CONOCIMIENTO I


write('PRECIO: $3.150.000'),nl,!.

mostrar('mam'):-
write('*** POWER MAC G5 ***'),nl,
write('Procesador PowerPC G5 1.8GHz 1.8GHz,RAM 512MB, Disco 80GB'),nl,
write('Tarjeta Video,Tarjeta Graficos'),nl,
write('Combo DVD+CDRW,Pantalla 20"'),nl,
write('PRECIO: $3.900.000'),nl,!.

mostrar('maa'):-
write('*** Compaq SR 1030 *** '),nl,
write('Procesador Athlon 64 2GHz,RAM 512MB, Disco 80GB'),nl,
write('Tarjeta Video 256MB,Tarjeta Aceleradora,Tarjeta Graficos AGP'),nl,
write('Combo DVD+CDRW,Pantalla Plana"'),nl,
write('PRECIO: $5.500.000'),nl,!.

mostrar('mmb'):-
write('*** HP SR 101 *** '),nl,
write('Procesador Athlon 2.5 GHz,RAM 128MB, Disco 40GB'),nl,
write('Combo CD+CDRW,Pantalla 17"'),nl,
write('PRECIO: $2.100.000'),nl,!.

mostrar('mbb'):-
write('*** ACER B-2004 *** '),nl,
write('Procesador Celeron 2.2 GHz,RAM 256MB, Disco 30GB'),nl,
write('CD-ROM, Pantalla 15"'),nl,
write('PRECIO: $1.500.000'),nl.

mostrar('mbm'):-
write('*** DELL Inspiron T *** '),nl,
write('Pentium IV 2.6 GHz,RAM 128MB, Disco 40GB'),nl,
write('CD-ROM, Pantalla 17"'),nl,
write('PRECIO: $1.750.000'),nl,!.

mostrar('mAA'):-
write('*** DELL Dimension 8300 *** '),nl,
write('Pentium IV 3GHz,RAM 256MB, Disco 40GB'),nl,
write('Tarjeta Video 128MB,Tarjeta Graficos'),nl,
write('Combo DVD+CDRW,Pantalla 17"'),nl,
write('PRECIO: $4.250.000'),nl,!.

Especificaciones para equipos genéricos o clones:

mostrar('ca1'):-
write('*** CLON GAMA ALTA 1 *** '),nl,
write('Pentium IV 3.4GHz HP ,RAM 512MB, Disco 200GB'),nl,
write('Tarjeta Video 256MB,Tarjeta Graficos AGP'),nl,
write('Red Wifi, Bluetooth'),nl,
write('Combo DVD+CDRW,Pantalla Plana'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $3.800.000'),nl,!.

mostrar('ca2'):-
write('*** CLON GAMA ALTA 2 *** '),nl,
write('Pentium IV 3.4GHz HP ,RAM 512MB, Disco 100GB'),nl,
write('Tarjeta Video 256MB'),nl,
write('Combo DVD+CDRW,Pantalla 17"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $3.000.000'),nl,!.

SISTEMAS BASADOS EN EL CONOCIMIENTO I


mostrar('ca3'):-
write('*** CLON GAMA ALTA 3 *** '),nl,
write('Atlhon 64 2200 ,RAM 512MB, Disco 200GB'),nl,
write('Tarjeta Video 128MB,Tarjeta Graficos 3D'),nl,
write('Combo DVD+CDRW,Pantalla 17"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $3.400.000'),nl,!.

mostrar('cm1'):-
write('*** CLON GAMA MEDIA 1 *** '),nl,
write('Pentium IV 2.8 GHz HP ,RAM 512MB, Disco 100GB'),nl,
write('Tarjeta Video 128MB,Tarjeta Graficos 3D'),nl,
write('Combo DVD+CDRW,Pantalla 17"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $2.800.000'),nl,!.

mostrar('cm2'):-
write('*** CLON GAMA MEDIA 2 *** '),nl,
write('Pentium IV 2.4 GHz HP ,RAM 256MB, Disco 80GB'),nl,
write('Tarjeta Video 128MB'),nl,
rite('Combo CD+CDRW,Pantalla 15"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $2.500.000'),nl,!.

mostrar('cm3'):-
write('*** CLON GAMA MEDIA 3 *** '),nl,
write('Atlhon 2000 ,RAM 256MB, Disco 80GB'),nl,
write('Tarjeta Video 64MB'),nl,
write('Combo CD+CDRW,Pantalla 15"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $2.150.000'),nl,!.

mostrar('cb1'):-
write('*** CLON GAMA BAJA 1 *** '),nl,
write('Pentium IV 2.4 GHz ,RAM 256MB, Disco 60GB'),nl,
write('Tarjeta Video 32MB'),nl,
write('Combo CD+CDRW,Pantalla 17"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $1.950.000'),nl,!.

mostrar('cb3'):-
write('*** CLON GAMA BAJA 2 *** '),nl,
write('Pentium Celeron 2.4 GHz ,RAM 256MB, Disco 40GB'),nl,
write('Combo CD+CDRW,Pantalla 15"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $1.150.000'),nl,!.

mostrar('cb4'):-
write('*** CLON GAMA BAJA 3 *** '),nl,
write('AMD DURON 2400 ,RAM 128MB, Disco 40GB'),nl,
write('Combo CD+CDRW,Pantalla 15"'),nl,
write('Accesorios: Raton Optico,Parlantes,Teclado'),nl,
write('PRECIO: $1.090.000'),nl,!.

SISTEMAS BASADOS EN EL CONOCIMIENTO I


Árbol de decisión:

Se identificaron 4 niveles para árbol los cuales darán el como resultado un equipo que
se acomode a las opciones de los diferentes niveles.

“Rama del árbol para equipos de escritorio genéricos”

Tipo

Escritorio

Clase

Genérico

Necesidad

Compiladores Texto Gráficos Entretenimiento

Costo Costo Costo Costo

Bajo Medio Bajo Medio Bajo Medio Bajo Medio

Alto Alto Alto Alto


12 11 9 8 6 5 3
2

10 7 4 1

SISTEMAS BASADOS EN EL CONOCIMIENTO I


Códigos de configuración equipos:
1-ca1,ca2 2-cm1
3-cb1 4-ca1,ca3
5-cm1 6-No hay
7-ca2 8-cm2,cm3
9-cb4,cb3 10-ca2
11-cm2,cm3 12-cb1,cb3

“Rama del árbol para equipos de escritorio de marca”

Tipo

Escritorio

Clase

Marca

Necesidad

Compiladores Texto Gráficos Entretenimiento

Costo Costo Costo Costo

Bajo Medio Bajo Medio Bajo Medio Bajo Medio

Alto Alto Alto Alto


12 11 9 8 6 5 3
2

10 7 4 1

Códigos de configuración equipos:


1-maa 2-mam

SISTEMAS BASADOS EN EL CONOCIMIENTO I


3-mba 4-maa,mAA
5-mma 6-mba
7-mba 8-mbm
9-mbb 10-mam
11-mma 12-mmb

“Rama del árbol para equipos portátiles”

Tipo

Portable

Necesidad

Compiladores Entretenimiento Gráficos Texto

Costo Costo Costo Costo

Bajo Medio Bajo Medio Bajo Medio Bajo Medio

Alto Alto Alto Alto


12 11 9 8 6 5 3
2

10 7 4 1

Códigos de configuración equipos:


1-p2 2-p3
3-p6,p5 4-p1,p2
5-p1 6-No hay
7-p1,p2 8-p3,p4
9-p5,p6 10-p1

SISTEMAS BASADOS EN EL CONOCIMIENTO I


11-p3,p4 12-p5

Según este árbol se identificaron las siguiente reglas que forman la base de
conocimiento.

Base de conocimiento

Las reglas se dan en formato de prolog:


Reglas para portátiles:

pc(p1):-tipo(_,portable),necesidad(_,compilador),costo(_,alto).
pc(p4):-tipo(_,portable),necesidad(_,compilador),costo(_,bajo).
pc(p3):-tipo(_,portable),necesidad(_,compilador),costo(_,medio).
pc(p4):-tipo(_,portable),necesidad(_,compilador),costo(_,medio).
pc(p1):-tipo(_,portable),necesidad(_,entretenimiento),costo(_,alto).
pc(p2):-tipo(_,portable),necesidad(_,entretenimiento),costo(_,alto).
pc(p5):-tipo(_,portable),necesidad(_,entretenimiento),costo(_,bajo).
pc(p3):-tipo(_,portable),necesidad(_,entretenimiento),costo(_,medio).
pc(p4):-tipo(_,portable),necesidad(_,entretenimiento),costo(_,medio).
pc(p4):-tipo(_,portable),necesidad(_,entretenimiento),costo(_,medio).
pc(p1):-tipo(_,portable),necesidad(_,graficos),costo(_,alto).
pc(p2):-tipo(_,portable),necesidad(_,graficos),costo(_,alto).
pc('NO HAY'):-tipo(_,portable),necesidad(_,graficos),costo(_,bajo).
pc(p2):-tipo(_,portable),necesidad(_,graficos),costo(_,medio).
pc(p2):-tipo(_,portable),necesidad(_,texto),costo(_,alto).
pc(p6):-tipo(_,portable),necesidad(_,texto),costo(_,bajo).
pc(p3):-tipo(_,portable),necesidad(_,texto),costo(_,medio).

Reglas para equipos de marca:

pc(maa):-tipo(_,escritorio),clase(_,marca),necesidad(_,entretenimiento),costo(_,alto).
pc(mam):-tipo(_,escritorio),clase(_,marca),necesidad(_,entretenimiento),costo(_,medio).
pc(mba):-tipo(_,escritorio),clase(_,marca),necesidad(_,entretenimiento),costo(_,bajo).
pc(maa):-tipo(_,escritorio),clase(_,marca),necesidad(_,graficos),costo(_,alto).
pc(mAA):-tipo(_,escritorio),clase(_,marca),necesidad(_,graficos),costo(_,alto).
pc(mma):-tipo(_,escritorio),clase(_,marca),necesidad(_,graficos),costo(_,medio).
pc(mba):-tipo(_,escritorio),clase(_,marca),necesidad(_,graficos),costo(_,bajo).
pc(mba):-tipo(_,escritorio),clase(_,marca),necesidad(_,texto),costo(_,alto).
pc(mbm):-tipo(_,escritorio),clase(_,marca),necesidad(_,texto),costo(_,medio).
pc(mbb):-tipo(_,escritorio),clase(_,marca),necesidad(_,texto),costo(_,bajo).
pc(mam):-tipo(_,escritorio),clase(_,marca),necesidad(_,compilador),costo(_,alto).
pc(mma):-tipo(_,escritorio),clase(_,marca),necesidad(_,compilador),costo(_,medio).
pc(mmb):-tipo(_,escritorio),clase(_,marca),necesidad(_,compilador),costo(_,bajo).

Reglas para equipos genéricos:

pc(ca1):-tipo(_,escritorio),clase(_,clon),necesidad(_,entretenimiento),costo(_,alto).
pc(ca2):-tipo(_,escritorio),clase(_,clon),necesidad(_,entretenimiento),costo(_,alto).
pc(cm1):-tipo(_,escritorio),clase(_,clon),necesidad(_,entretenimiento),costo(_,medio).
pc(cb1):-tipo(_,escritorio),clase(_,clon),necesidad(_,entretenimiento),costo(_,bajo).

SISTEMAS BASADOS EN EL CONOCIMIENTO I


pc(ca1):-tipo(_,escritorio),clase(_,clon),necesidad(_,graficos),costo(_,alto).
pc(ca3):-tipo(_,escritorio),clase(_,clon),necesidad(_,graficos),costo(_,alto).
pc(cm1):-tipo(_,escritorio),clase(_,clon),necesidad(_,graficos),costo(_,medio).
pc('NO HAY'):-tipo(_,escritorio),clase(_,clon),necesidad(_,graficos),costo(_,bajo).
pc(ca2):-tipo(_,escritorio),clase(_,clon),necesidad(_,texto),costo(_,alto).
pc(cm3):-tipo(_,escritorio),clase(_,clon),necesidad(_,texto),costo(_,medio).
pc(cm2):-tipo(_,escritorio),clase(_,clon),necesidad(_,texto),costo(_,medio).
pc(cb4):-tipo(_,escritorio),clase(_,clon),necesidad(_,texto),costo(_,bajo).
pc(cb3):-tipo(_,escritorio),clase(_,clon),necesidad(_,texto),costo(_,bajo).
pc(ca2):-tipo(_,escritorio),clase(_,clon),necesidad(_,compilador),costo(_,alto).
pc(cm2):-tipo(_,escritorio),clase(_,clon),necesidad(_,compilador),costo(_,medio).
pc(cm3):-tipo(_,escritorio),clase(_,clon),necesidad(_,compilador),costo(_,medio).
pc(cb1):-tipo(_,escritorio),clase(_,clon),necesidad(_,compilador),costo(_,bajo).
pc(cb3):-tipo(_,escritorio),clase(_,clon),necesidad(_,compilador),costo(_,bajo).

Opciones del sistema recomendador:

Las preguntas que tiene el sistema fueron hechas a criterio y experiencia de los
desarrolladores sobre la actividad de escoger un computador:
Pregunta 1:

pregunta1:-
write(' '),nl,nl,
write('/// TIPO DE COMPUTADOR ///'),nl,nl,
write('1. PORTABLE.'),nl,
write('2. ESCRITORIO.'),nl,

Esta pregunta fue formulada con la finalidad de definir el tipo de computador que se quiere, si es
para una persona que se desplaza mucho o para tenerlo en un solo lugar.

Pregunta 2:

pregunta2:-
write(' '),nl,
write('/// CLASE DE COMPUTADOR ///'),nl,
write('{si escogio portable antes esta opcion no afecta resultado}'),nl,nl,
write('1. DE MARCA [Marcas y fabricantes reconocidos].'),nl,
write('2. GENERICO [Clones].'),nl,
read(N2),
clase(N2).

Pregunta realizada para identificar el gusto de los usuarios por equipos de marca reconocida o si
desean un clon que lo puede configurar de muchas maneras.

Pregunta 3:

pregunta3:-
write(' '),nl,
write('/// PARA QUE NECESITA EL PC ?? /// '),nl,nl,
write('1. TEXTO.[Procesadores Palabras- Hojas de Calculo]'),nl,
write('2. GRAFICOS.[Modelamiento-3D-Edicion Video]'),nl,
write('3. ENTRETENIMIENTO.[Juegos-Multimedia-DVD]'),nl,
write('4. COMPILADORES.[Lenguajes Programacion-Motores Bases Datos]'),nl,

SISTEMAS BASADOS EN EL CONOCIMIENTO I


La necesidad o la utilidad que se le va a dar al computador es una de las preguntas mas
importantes ya que define los componentes internos que debe poseer el PC para desarrollar las
tareas a las cuales sea expuesto.

Pregunta 4:

pregunta4:-
write(' '),nl,
write('/// DE QUE COSTO EL COMPUTADOR?? /// '),nl,nl,
write('1. ALTO.'),nl,
write('2. MEDIO.'),nl,
write('3. BAJO.'),nl,

El presupuesto que tiene el usuario para invertir en la compra de un computador.

Conclusiones y experiencias del proyecto

• La comprensión de la gran diferencia entre la programación lógica y la


estructurada o orientada a objetos a la cual se está acostumbrado.

• Observar la diferencia en el modo de programar ya que este proyecto


desarrollado en un lenguaje convencional hubiera sido más complejo de
desarrollar.
• El análisis de las búsquedas se puede realizar en la mayoría de casos por medio
de un árbol que deja ver de manera muy didáctica y fácil el camino que se debe
tomar.

• Las representaciones del conocimiento son la base para transformar un


problema en un modelo lógico matemático.

SISTEMAS BASADOS EN EL CONOCIMIENTO I

Anda mungkin juga menyukai