Está en la página 1de 23

Haga clic

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ


FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SSTEMAS

8455: SISTEMAS BASADOS EN EL CONOCIMIENTO

Sesión de Aprendizaje Nº. 1


Desarrollo de un SBC.
Facilitador:
Dr. Euclides Samaniego G.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Agenda
Haga clic

DESARROLLO DE UN SBC.

TEMA 9: Fabricantes de SBC’s.


TEMA 10: Etapas en el desarrollo de un SBC
TEMA 11: Equipo de desarrollo de un SBC.
TEMA 12: Niveles de desarrollo de un SBC.
TEMA 13: Elección de lenguajes, herramientas y Shell’s.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic

PRIMERA PARTE:
Aspectos Generales de los SBC’s

CAPÍTULO I:
Conceptos de SBC: Estructura Básica y Características

TEMA 9:
¿Quién fabrica SBC?
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
Hagafabrica
¿Quién clic SBC

La población de usuarios de los SBC es cada vez más amplia y


son ya muchísimos los campos de aplicación en los que
pueden encontrarse representantes.
1. Universidades
2. Centros de investigación
3. Fabricantes de computadoras
4. Compañías de software
5. Grandes corporaciones.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic

PRIMERA PARTE:
Aspectos Generales de los SBC’s

CAPÍTULO I:
Conceptos de SBC: Estructura Básica y Características

TEMA 10:
Etapas en el desarrollo de un SBC
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
EtapasHaga clic de un SBC
de desarrollo

1. Planteamiento del problema.


2. Búsqueda de un experto humano o de los datos o experiencia.
3. Diseño del Sistema Basado en Conocimiento.
4. Elección del grado de intervención del usuario.
5. Selección de la herramienta o lenguaje de desarrollo.
6. Desarrollo de un prototipo.
7. Prueba del prototipo.
8. Refinamiento y generalización
9. Mantenimiento
10. Actualización.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic
Etapas en el desarrollo de un SBCs

1. Planteamiento del problema.


– Definir correctamente el problema a resolver.
– No debe, bajo ningún concepto, escatimarse tiempo a esta primera etapa en la que
debe trabajarse con rigor y precisión. Todo el tiempo empleado en este nivel será
ahorrado con creces en lo que sigue.
2. Búsqueda de un experto humano o de los datos o experiencia.
– Hay que buscar a un experto humano que esté en condiciones de resolver el
problema inicialmente definido con posibilidades de éxito.
– En algunos casos bastará con bases de datos o experiencias que jugarán el papel
del experto humano.
3. Diseño del Sistema Basado en el Conocimiento.
– En esta fase se incluye las estructuras para almacenamiento del conocimiento, el
motor de inferencia, los sistemas de explicación, la interface con el usuario, etc.
4. Elección del grado de intervención del usuario.
– Definido el diseño del sistema se está en condiciones de elegir el grado de
intervención del usuario de acuerdo a los niveles de desarrollo de un SBC.
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
Haga clic
Etapas en el desarrollo de un SBCs

5. Selección de la herramienta o lenguaje de desarrollo.


– En este momento hay que decidir si se utiliza un SBC llave en mano, una concha/Shell, una
herramienta o un lenguaje de programación.
– Es importante evitar esfuerzos inútiles, que por otro lado, son caros.
– Si existe un Shell que cumpla las condiciones requeridas por el diseño, debe usarse, no sólo
por razones económicas, sino también por razones de fiabilidad.
– De hecho los Shells o herramientas comerciales están sometidos a controles de calidad a la
que no suelen estar sometidos los SBC’s hechos a medida para resolver casos muy
concretos.
6. Desarrollo de un prototipo.
– Con los medios decididos en la etapa 5, puede procederse al desarrollo de un prototipo.
7. Prueba del prototipo.
– Una vez desarrollado el prototipo se realizan las pruebas del mismo, en un ciclo que se
repite hasta que se consiguen los resultados apetecidos.
8. Refinamiento y generalización.
– En esta fase se van puliendo defectos e incluyendo nuevos casos no contemplados en el
diseño inicial.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic
Etapas en el desarrollo de un SBCs

Las dos últimas fases son de suma importancia si se quiere llegar a


un producto de calidad y con éxito comercial.
9. Mantenimiento.
10. Actualización.
– En esta fase habrá que atender a las demandas de los clientes, resolviendo
sus problemas, contestando a sus preguntas, corrigiendo errores y
actualizando el sistema con los nuevos avances que se vayan
produciendo.
– Por supuesto que esta última etapa tiene aplicación sólo a empresas que
se dedican a la comercialización del software, ya que en otros casos se
desarrollan para uso interno exclusivamente.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic

PRIMERA PARTE:
Aspectos Generales de los SBC’s

CAPÍTULO I:
Conceptos de SBC: Estructura Básica y Características

TEMA 11:
Equipo de desarrollo de un SBC
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
Haga
Equipo de clicde un SBC
Desarrollo

1- EL EXPERTO
La función del experto es la de poner sus conocimientos
especializados a disposición del SBC.
2- EL INGENIERO DEL CONOCIMIENTO
El ingeniero que plantea las preguntas al experto, estructura sus
conocimientos y los implementa en la base de conocimientos.
3- EL USUARIO
El usuario aporta sus deseos y sus ideas, determinado
especialmente el escenario en el que debe aplicarse al SBC.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga
Equipo de clicde un SBC
Desarrollo

Relación entre los grupos que interviene en el desarrollo

Ingeniero del Sistema Basado en el


Conocimiento Conocimiento

EXPERTO

USUARIO

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


EquipoHaga clic de un SBC
de Desarrollo

 En la fase de desarrollo, el peso principal del trabajo recae en el


Ingeniero del Conocimiento y en el Experto.
 En el desarrollo del SBC, el Ingeniero del Conocimiento y el Experto
trabajan muy unidos.
 Pasos:
- Elaborar los problemas que deben ser resueltos por el sistema.
- Determinar correctamente el ámbito estrechamente delimitado de
trabajo.
- Incluir al usuario o un representante del grupo de usuarios. Para la
aceptación, y en consecuencia para el éxito, es primordial tener en
cuenta los deseos y las ideas del usuario.
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
EquipoHaga clic de un SBC
de Desarrollo

 Responsabilidades del Experto y del Ingeniero del Conocimiento:


- El Experto debe comprobar constantemente si su conocimiento ha sido
transmitido de la forma más conveniente.
- El Ingeniero del Conocimiento es responsable de una implementación correcta,
pero no de la exactitud del conocimiento. La responsabilidad de esta exactitud
recae en el Experto.
- El Experto deberá tener comprensión para los problemas que depara el
procesamiento de datos. Ello facilitará el trabajo.
- La estricta separación entre Usuario, Experto e Ingeniero de Conocimiento no
deberá estar siempre presente. Pueden surgir situaciones en las que el Experto
es también el Usuario.
- La separación entre experto e Ingeniero del Conocimiento permanece, por regla
general, inalterada.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Desarrollo de un SBC
Haga clic
Métodos Auxiliares

 La eficiencia en la creación de SBCs puede aumentarse en gran


medida con la aplicación de Shells.
Un Shell es un SE que contiene una base de conocimientos vacía. Existen el
mecanismo de inferencia, el componente explicativo y a veces también la interface
de usuario.
Ya que el mecanismo de inferencia depende del problema o grupos de problemas,
no existe ningún Shell para todas las aplicaciones, sino que hay que buscar un Shell
para cada aplicación.

 El Shell contiene Frames. Estos son marcos previamente


preparados, en los que, por ejemplo, sólo se introduce en nombre
del objeto, sus cualidades y los correspondientes valores.
Las relaciones entre los objetos se indican mediante señalización de los dos objetos
y del tipo de relación que exista entre ellos. El trabajo de implementación debemos
procurar, en la medida de lo posible, reducirlo al máximo.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Desarrollo de un SBC
Haga clic
Construcción de Prototipos

 El Rapid Prototyping es un método efectivo en la


implementación de un prototipo de SBC que permita llevar a
cabo las funciones más importantes de éste, aunque con un
esfuerzo de desarrollo considerablemente inferior al de una
implementación convencional.

 Las máquinas de IA especialmente desarrolladas, los lenguajes


de programación de IA y en determinados casos los Shells,
ofrecen una considerable ayuda para el "Rapid Prototyping".

 Para Sistemas Expertos, el "Rapid Prototyping es el


procedimiento más adecuado, ya que posibilita una rápida
reacción a los deseos en constante cambio tanto por parte de los
expertos como parte del usuario.
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
Haga clic

PRIMERA PARTE:
Aspectos Generales de los SBC’s

CAPÍTULO I:
Conceptos de SBC: Estructura Básica y Características

TEMA 12:
Niveles de desarrollo de un SBC
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
Niveles Haga clicde un SBCs
de desarrollo

Se pueden distinguir, entre otros, los 4 casos típicos de usuarios:

1. Usuario de un SBC desarrollado por otro.


2. Usuario de un Shell con la que sólo pone la base de conocimiento
del SBC.
3. Usuario que utiliza una herramienta con la que implementa un
Motor de Inferencia e incorpora la Base de Conocimiento.
4. Usuario que utiliza un lenguaje de alto nivel para definir la
estructura de la Base de Conocimiento, Motor de Inferencia,
Mecanismo de Explicación, Interface del Usuario, etc.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic
Niveles de Desarrollo de un SBC

 La contribución de los usuarios al SBC crece exponencialmente entre


los casos (1) y (4) y el planteamiento del usuario al seleccionar:
- El Software (SBC, Shells/Concha, herramienta de desarrollo, lenguaje de
programación, etc.) y el Hardware.
 Es importante diferenciar estos niveles para discernir cuando pueden
utilizarse y cuando no, sistemas, herramientas o conchas que ahorran
considerables esfuerzos de tiempo y dinero.
- Tan grave sería reinventar un mediterráneo después de haber producido altos
gastos como pretender aplicar una concha inadecuada.
 La utilización de herramientas y conchas para diseño de SBC’s es muy
recomendable, ya que facilita su desarrollo, lo hace más rápido y, lo que
es aún más importante, lo hace más fiable, ya que las conchas están
sometidas a un control de calidad muy alto.
Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales
Haga clic

PRIMERA PARTE:
Aspectos Generales de los SBC’s

CAPÍTULO I:
Conceptos de SBC: Estructura Básica y Características

TEMA 13:
Elección de lenguajes, herramientas y Shell’s

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Elección de lenguajes,
Haga clic
herramientas y conchas

A la hora de desarrollar un SBC es importante la elección del software adecuado a


los objetivos perseguidos.
ELECCIÓN DE LENGUAJES:
 Lisp.
 Prolog.
 Lenguajes estándares de alto nivel.
Tomar en cuenta:
 Rapidez de utilización,
 Alta capacidad para soportar estructuras de almacenamiento de conocimiento
complejos,
 Disponibilidad de procedimientos de bibliotecas de programas que se programan la
primera vez y se utilizan sin esfuerzo adicional las siguientes,
 La compatibilidad con otro tipo de programas,
 Facilidades existentes (base de datos, programas de cálculo, programas de diseño,
rutinas gráficas, etc.)

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Elección de lenguajes,
Haga clic
herramientas y conchas

ELECCIÓN DE HERRAMIENTAS:
 Tener claras las ventajas y posibilidades de la amplia gama existente en el
mercado.
 Son bastantes las veces que una herramienta, por ser mal elegida, da unos
resultados muy por debajo de los esperados.

ELECCIÓN DE LAS CONCHAS / SHELL’S


 La elección de las conchas / Shell’s debe hacerse con sumo cuidado.
 No hay que olvidar que muchas conchas provienen de eliminar la base de
conocimiento de SBC’s diseñados para resolver problemas concretos con la
pretensión de que las partes comunes (estructura de la base de conocimiento,
motor de inferencia, subsistema de explicación, etc.) sean válidas para otros
muchos casos.
 Sin embargo, la experiencia demuestra que éste no es el caso general y que
hay que tener sumo cuidado en la elección.

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales


Haga clic
REFERENCIAS BIBLIOGRÁFICAS.

1. ALONSO Betanzos, Amparo. (2004) Ingeniería del conocimiento: aspectos metodológicos.


Pearson Prentice Hall.
2. CAIRÓ Battistutti, Osvaldo. ( 2011) El hombre artificial. El futuro de la tecnología. (código
006.3 C1239)
3. NILSSON, Nils J. (1987) Principios de inteligencia artificial. (código 001.535 N599)
4. PAJARES Martinsanz, Gonzalo. (2006) Ingeniería artificial e ingeniería del conocimiento.
(código 006.3 P167)
5. RICH, Elaine, Knight, Kevin. (1994) Inteligencia artificial. (código 001.535 R369a)
6. Rolston, David W. (1992) Principios de inteligencia artificial y sistemas expertos. (código
006.33 R659)
7. RUSSELL Stuart. (2004) Inteligencia artificial: un enfoque moderno. (código 006.3 R911)
8. SAMANIEGO, Euclides G. (2009) Sistemas basados en el conocimiento. (código 006.33 Sa42)
9. SÁNCHEZ y Beltrán, Juan Pablo. (1990) Sistemas expertos: una metodología de
programación. (código 001.535 Sa55)
10. SCHILDT, Herbert (1989) Utilización de C. en inteligencia artificial. (código 001.535 Sch32)
11. SHROBE, Howard E. (1988) Exploring artificial intelligence: survey talks from the national
conferences on artificial intelligence. (código 001.535 Ex74)
12. WINSTON, Patrick Henry. (1994) Inteligencia artificial. (código 001.535 W733a)

Dr. Euclides Samaniego González Ingeniero de Sistemas Computacionales

También podría gustarte