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

MantenerConfiguraciones

EliminarConfiguracion

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 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

utiliza las reglas y las

configuraciones de los computadores para realizar la búsqueda según los

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

12

Alto

11

9

Alto

8

6

Alto

5

3

Alto 2 1

10

7

4

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

12

Alto

11

9

Alto

8

6

Alto

5

3

Alto 2 1

10

7

4

Códigos de configuración equipos: 1-maa 2-mam

SISTEMAS BASADOS EN EL CONOCIMIENTO I

3-mba 5-mma 7-mba 9-mbb 11-mma

4-maa,mAA 6-mba 8-mbm 10-mam 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

12

Alto

11

9

Alto

8

6

Alto

5

3

Alto 2 1

10

7

4

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

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.