Вы находитесь на странице: 1из 71

/lNGENlERÍA DE SISTEMAS

BASADOS EN CONOCIMIENTOS

“Un nuevo concepto de diseAo de Sistemas Computacionales de apoyo a


las actividadesquerequierenunaltoniveldeconocimiento,“expértise”y
razonamiento parasu realización.
Es el desarrollo de un procesolngenieríl computacional, directamente relacionado
con los procesos de planeación estratégica, resolución de problemas, transferencia
detecnologíaytomadedecisiones,en los que se manejaunalto gradode
incertidumbre, vaguedad,poco o nadadeestructuraciónysubjetividad,sobre
comportamientos propios de escenarios estratégicos y de alta competitividad”.

E Freddy Gómez-Humarán Rivera.

1 9qf6

c
ANTECEDENTES:

En la actualidad el área de IJ!!ELIGENClA ARTlFlCllA se ha convertido


en un medio eficiente, accesible y de alta ventaja competitiva, para la resolución de
problemas que usualmente han sido clasificados por los especialistas (utilizando
métodosconvencionales)como“imposiblesderesolver,imprácticos y/o poco
económicos”.

El objetivoprincipaldeesteproyecto es el deorientaraespecialistasde
diferentes áreas organizacionales con
la
nuevatecnología
computacional
emergente, detal forma, quesu transferencia y adaptación alos procesos de toma
de decisiones, planeación y resolución de problemas a niveles estratégicos en
conjunto con los nivelesfuncionalesyoperativosdelaorganización, sea una
realidad.

Entre los beneficios potenciales de esta tecnología están el de mejorar la calidad


de las decisiones, incrementarladistribucióndelaexperienciadel personal
altamente calificado en la organización, y en general, aumentar la productividad
mediante la utilización de la computación moderna.

El propósito terminal aquí propuesto es el de diseñar y desarrollar sistemas


computacionalesefectivosdeapoyoalincrementodelaproductividadde los
expertos. No con el desarrollo de SISTEMAS EXPFRTOS como Único medio para
hacerlo,sinodesistemas INTEGRADOS quepermitanresolverproblemasen
forma inteligente y efectiva.

OBJETIVOS:

La computación o el más integral término de informática, ha evolucionado


substancialmente y deiniciarsecomounamanipuladoradenúmeros,datose
información;actualmente se encuentra en la etapa
deplaneación, diseño,
construcción
administración
y en
formaóptima
efectiva
y de
actividades
relacionadas conel “conocimiento”.

Toda esta premisa nos conduce a estructurar una metodología híbrida para
atacar por medios computacionales problemas o situaciones que se presentan
tanto a niveles organizacionales, sociales o individuales. Por lo que se trata de
realizar unametodologíaenlatomadedecisionesenelámbitofinanciero.
Pudiendoquedarcomo los objetivosterminalesaestablecerelconceptode
Ingeniería de sistemasbasados en conocimientos como una nueva herramienta de
“diseño” útil ytrascendentedentrodelambientedeldesarrollode sistemas
computacionales.
. ..

Objetivos Particulares:

1. Ubicar lo más objetivamenteposibleeláreadeingenieríadelconocimiento


dentrode las aplicacionesadministrativas,ingenieriles y demanufactura-
producción de una empresa.
2. Ubicar el concepto general de la Inteligencia Artificialsus
y ramificaciones dentro
de un contexto de la industria computacional que afecta económicamente a la
sociedad.
3. Como me se mencionó anteriormente el “proceso de toma de decisiones” es
quizá el que en la actualidad puede aprovechar más esta nueva tecnología.€/
propósito terminal es introducir nuevas estrategias de diseño para generar un
técnica integrada que satisfaga completamente /asnecesidades de los usuarios
expertos medianteel uso óptimo de herramientas computacionales apropiadas.

JUSTIFICACI~N:

Previendo queel área de la Inteligencia Artificial


es muy amplia yescabrosa
se llevaráacabounainvestigacióndelautilidadquepodríateneresta en la
organización de una empresa comolo es en la toma de decisiones. Pudiendo ser
estas administrativas ó financieras, lo cualdejaría ó seguiría un caminode
investigación para la Universidad Autónoma Metropolitana.

METODOLOGíA:

El conocimiento acerca de la Inteligencia Artificialse obtendrá por medio de


una amplia y detallada investigación sobre esta, que es?, i y cual podría ser una
utilidad para cumplir los objetivosarribamencionados, además se requieren
conocimientos sobreRE-INGENIERíA (toma de decisiones)y ORGANIZACION de
una empresa, parael diseño del programa se requerirá conocimientos de C++. Y
cualquier otro lenguaje de la quinta generación como lo es “LISP”, “PROLOG”, etc.

El trabajo de investigación, an&lisis, diseño y programación se estima que


se llevara a cabo en dos trimestres (el primero para la investigación, el análisis , y
el segundo para el diseño y la programación).

El proyecto Terminal I se evaluará con la investigación y el análisis que


involucralatoma dedecisiones y la inteligenciaartificialparasatisfacer los
objetivos arriba mencionados.
En el proyecto Terminal II se disefiara y se programará un programa que
pueda llevar a cabo dicho objetivo.

RECURSOSHUMANOS:

El proyecto será elaborado por un sólo alumno, con la ayuda del asesor,
quienes
proporcionarán la información
necesaria
para
llevar
a cabo la
investigación, análisis y diseño de un sistema de computo.

RECURSOS MATERIALES:

El centrodecomputo avanzado proporcionaráelequipodecómputo,al


alumnoparalaelaboracióndelproyecto, ademásde laBibliografíanecesaria,
incluyendo manuales que será proporcionada por
el asesor.
X N T R O D U C i G X O N
OBJETIVOS Y METAS
I

El sentido común no es suficiente para pensarmls


efectiva y eficazmente.
Pensar mejor noconsiste entener mls conocimientos.
Entonces, ¿ en que consiste el pensar mls
eficientemente ?
La diferencia este en el metodo de pensar.. . en pensar
en una formasistemltica, disciplinada y efectivaacerca
de una situaci6n en especial. . .

R.Descartes, 1637
"Eassy on the Discourse of the Method "

El esfuerzode la nuevacomputación se
. .estáconcentrandoenáreasde de
representación y adquisición del Conoclmlento, validación y análisis
sensibilidaddela información adquiridaporotrosmedios, así comode
amplificacibndelpotencialde I' relacionar '' conceptos e ideas con actividades
estructuradas y bien identificables.

Este potencial de la computación de relacionar el conocimiento con la preparación


ylo experienciadelindividuo, así como su intuición, hacequeencon'unto
genere un proceso de creatividad orientada a incrementaren forma e ectiva la
I' 'I,

productividad del recurso humano involucrado en


se
las diferentes áreas de actividad
c
humana.

EVOLUCIóN DE LA TECNOLOGIA

Los nuevos avances en latecnologíacomputacionalno son productode una


generaciónespontánea,éstos son resultadode una biendefinidatendencia
evolutiva.

El software implementado durante los últimos 20 años se ha utilizado básicamente


para el manejo de grandes cantidades de datos en el área comercial, lo que ha
conformado
paulatinamente los MIS's ( MANAGEMENT INFORMATION
SYSTEMS ). Estos sistemas tradicionales han producidoinformaciónquela
gerencia ha utilizado en elcontrol y supervisibnde las operaciones de la
organización.

Inicialmente se manej6lainformaciónsobreelconceptodearchivos y ha ido


evolucionando, hasta los actuales " manejadores de- base de datos " ( DBMS )
sobre estructuras de informacibnmás sofisticadas.
Sin embargo, estos sistemas por sí solos no dan un apoyo eficaz, y en general,
carecen de una estructura de razonamiento para apoyar efectivamente al usuario.

Posteriormente se integraron a los MIS y DBMS los ambientes que directamente


iban ligadoscon lainformaciónyel proceso, &tosllegaronaconvertirse en
generadores de aplicaciones y actividades semi-estructuradas de decisión para
llegar a tener los actuales DSS's ( DECISION SUPPORT SYSTEM ), que son
practicamente una ligaentre las ciencias administrativas ylos MIS para apoyarlos
procesos administrativos más eficientemente.

De estaforma,lacomputación se haconcentradocadavez más en integrar


procesos intelectualesyenapoyarelaumentodelaproductividaddelrecurso
humano integrante de la planta productiva y estratégicauna
de organización.

Para efectuar estos procesos efectivamente, no han sido suficientes los sistemas
convencionales deMIS, DBMS o DSS y ha habido la necesidad de estableceruna
nueva familia desistemas que integren
* . además delos
. ?tres
. ambientesanterioresd
de .- ' i r g i divi &
a oraang.agonc
. I

Esta familiade sistemas tienecomopredecesora los GPPS's (GENERAL


PURPOSE PROBLEM SOLVER ) forman y lo que
llamaremos IDSS's
(INTELLIGENT DSS's ) en los que la lngenieria del Conocimiento,los sistemas
basados en el Conocimiento y los nuevos conceptos de la Modelación Cualitativa
ofrecen una muy prometedora solución factible.

los siguientes conceptos


Esta integración requiere porlo tanto que estén presentes

Manejo y administración de Bases de Datos y de Sistemas de Gran Escala.

Manejo
interactivo
de
gráficas,
video,
voz
y en
general,
sistemas
de
multimedios.

Procesamiento y explotación de textos.

Evaluación de funciones matemáticas

Manejo
comunicaciones
de inter-sistemas,
compartición
ideas
de
geográficamente distribuidas.

Posibilidad de formar micromundos y juegos de simulación.

Posibilidadde interactuarconotras bases deinformaciónydeexplotarlas


eficientemente.
QUE DEBEN DE OFRECER LOS
SISTEMAS "INTELIGENTES" DE APOYO3

En resumen, las siguientes son algunas de las características que requieren estar
presentes en los sistemas quese denominan "inteligentes".

RELACION INTERACTIVA ENTRE EL USUARIO Y EL MIS

De tal forma que el usuario pueda desarrollar cuestionamientos del razonamiento


whatif
. .ejemplo del tipo que ocurre, si . . . (
utilizado en la elaboración de estrategias, por
deanalisisdesensibilidad cualitativa e impacto con sus sistemas de
información ya implementados.

INTEGRACION Y COMUNICACION DE LOS SISTEMAS

Ya no es suficiente tener modeloso sistemas aislados paratomar decisiones. Hay


que integrar, en forma inteligente y efectiva por medio de redes computacionales
los diferentes sistemas que conforman labase estrategica organizacional.Un caso
similar
ocurre con los sistemas CIM ( COMPUTER INTEGRATED
MANUFACTURING ) para llegar a lo que se conoce como Sistemas Flexibles de
Manufactura : Unión de CAD,CAE,CAM, Control Automático Directo, CAPP y
Rob6tica.

POSIBILIDAD DE INTERACTUAR EN EL TIEMPO.

Actualmente la planeación se hace sobre modelos dinámicos de información de


gran escala.
Los proyectos se envuelveneninnumerablesfactorespropiosdeunentorno
económico más integral, dinámico, complejo y de grandes magnitudes en las que
el factor tiempo es crítico, valorizado y difícil de manipular.
I' I'

EVALUACION Y MANEJO DE INCERTIDUMBRE Y VAGUEDAD DE LA


INFORMACION

Ya no es suficiente el manejo de números, datos o información de estadísticas


aisladas y bien estructuradas.
S e requiereasociarciertosconceptosdeincertidumbre,pertenencia,prioridad,
vaguedad o difusibilidad a la información útil para la toma de decisiones,así como
razonamientos lógicos inteligentes.
Esto implica tambien tener procedimientos de validación de la información que se
incorpora alos sistemas computacionales conocidos.

FINALIDAD

. .
Formacidn de una nueva generación de " lnaenieros del Conoclmlento " que
estén capacitados parautilizar en forma óptima y eficaz los conceptos de la nueva
cienciaytecnologíacomputacionaleseneldesempeAode sus actividades de
análisis,
diseño y desarrollo
de
sistemas
computacionales basados en
conocimientos, y como consecuencia del ambiente en que se encuentra operando
la Ingeniería del Conocimiento, se tratara de establecer los beneficios
.. potenciales
de los Sistemas Basados
. . en el
Conocimiento como de la
" f a m d o r e s .*

- experto v
. I

sferencla o rnubpllcaclon de la '


presencia
II
del preservacm del
acervo intelectual de la-o
r
CONCEPTOS BASICOS DELA INTELIGENCIA ARTIFICIALY DE LAS
CIENCIAS DEL CONOCIMIENTO ARTIFICIAL

. . . " No tienesentidodefinirconceptosqueno
tienen restricciones ancestrales; IA
( inteligenciaartifiacial ) fue lo quequisoquefuera,
cuandonadiefue lo suficientementeinteligentepara
especificar algo mejor que pudiera ser. . . Es f k i l decir
que no fueIA; no es ese tipo detutifruti interdisciplinario
que vay viene en las universidades ...
" IA tienequevercondesarrollosen los queuna
persona requiere inteligencia para analizar acciones. ..
M.Minsky
( comunicacibn informal 1982 ).

CONCEPTOS BASICOSDE INTELIGENCIA ARTIFICIAL

ANTECEDENTES

El concepto de la Inteligencia Artificial( IA término formulado por J.McCarthyen la


conferencia de Dartmouth en 1956 ) se concentra básicamente en una serie de
técnicas necesarias para lograr un cierto nivel de inteligenciaen las computadoras.

E n la actualidad, la tecnología va disminuyendo las limitaciones impuestas por el


Perceptron. Las redes neuronales han adquirido un nuevo reconocimiento y un
potencial
incalculable. S e prevee
gran
una
Industria basada en
neurocomputadoras.

INTELIGENCIA

Antes de adoptar una definición del concepto de inteligencia "Artificial" (IA), hay
que establecer debidamente el término de inteligencia.

i QUE ES INTELIGENCIA ?

nck viene del latín : entre-ligare : unir, relacionar. O sea, es : /Luis A.


=do I' La revolución de la inteligencia
'I/

La aptitud para encontrar relaciones y para relacionar


O Es la facultad de relacionar pensamientos para producirnuevos
O Es la capacidad de entender, comprender e inferir
O Es la habilidad de razonar,adquirir,ampliary aplicar conocimiento.

Hay que evitar la confusión de tratar de hacer que


las computadoras razonencomQ
los humanos en lugar de que razonen en una forma entendible lospor
humanos.

Este proceso de "relacionar" es el que hay que perfeccionar para lograr transmitir
esa inteligencia a la máquina. O sea, que m8s que establecer una definición, hay
que establecer cuáles el proceso que se articula en un producto deIA.

Este proceso se puede resumir en la siguiente premisa


:
El hombre tiene una idea sobre la que genera una operación manual o sobre la
que ejecuta una actividad manualmentepara
desarrollarla. Con tiempo,
preparación (capacitacih) y más conocimiento inventa una máquina para realizar
la accibn m:
O económicamente
O rápidamente
0 efectivamente
0 precisamente
Pero menos dependiente de la actividad humana.

Esta independencia es la quese logra al generarsistemas deIA.

DEFINICIONES DE IA

Despues de esta breve exposición delos términos, podemos definir el concepto de


IA de acuerdo a varios autores la
desiguiente forma:

0 IA es el estudiode las ideasquecapacitana los computadoresa ser


inteligentes./PWinston/

0 IA es el estudio de cómo hacer que los computadores hagan cosas que, por el
momento, la gentehace mejor. /E.Rich/

0 La IA es una técnica que manipula "conocimiento" que debe ser representado


en tal forma que:
a) pueda captar la generalidad delas situaciones
b) pueda ser entendido por la(@ persona@) quelo proyectaron
c) pueda ser modificado para corregir erroresy reflejar cambios
d) puedaser usado enunagran variedad desituacionesaún si noesta
totalmente terminado o no es preciso. /E. Rich/

O una definición integrada alas Ciencias de Conocimiento:

0 IA es el estudio de facultades mentales a través deluso de modelos y técnicas


computacionales. /E.Charniak, D. Mc.DermoW

La siguiente definición de /Naylor/ es bastante completa, y refleja el espíritu del


concepto de inteligencia maquinal.

Un algoritmo de aprendizajeque busca una mejoracontinuayadaptivadel


rendimiento de un sistema computacional a lo largo del tiempo como resultado de
la experiencia..
."

Este algoritmo debe tener alguna


o todas delas siguientes características :

0 Cubrir un amplio rango de posibilidades.


0 Desarrollarsoluciones másamplias.
0 Obtenerrespuestasmáseficientes.
0 Simplificar la representacióndelconocimiento.
0 Ser amigable y comunicarse eficientemente.

PENSAMIENTO HUMANOE INTELIGENCIA ARTIFICIAL

Las computadoras pensantes sobrehumanas de la ciencia-ficción no existen. No


obstante la ciencia ficción-tiende a convertirse en ciencia-realidad. Actualmente
los
cientificos estan buscandola manera para lograr que las computadoras resuelvan
problemas no estructurados. Estos son los tipos de problemas que las personas
resuelven probando varios enfoques y aprendiendo desus errores.
Hasta ahora, solo la inteligencia humana lo podía hacer, pero existen programas
inteligentes que comienzan a competir con ella.
Los trabajos que buscan diseñar sistemas decómputo con las características que
se asocian con la inteligencia humana,se agrupan bajo el nombre deinteligencia
artificial. Con base enconceptosdedisciplinastalescomolapsicología,
lingüistica y computacih, los investigadoresestanaprendiendoapreparar
programas o construir sistemas que lleven a cabo tareas que ninguna máquina ha
realizado antes en forma automática.
¿SON CAPACES DE PENSAR LAS COMPUTADORAS?

Mucho se ha escritoafirmandoynegandolaposibilidad deprogramar las


computadoras para
que
"piensen" "aprendan".
y La controversia se debe
principalmente a 1) la falta de conocimiento de los procesos que participan en el
pensamiento y aprendizaje humanos 2) y la falta de definiciones aceptablesde las
palabras "pensar" y "aprender".
Un juego propuesto por Alan Turing, matemático británico, se convirtió en una
pruebaparaaveriguar si puedeconsiderarsequeunacomputadora posee
inteligenciaylacapacidaddepensar. El juegorequiere dos participantesque
contesten, un humanoyunamhquina,yuninquisidorhumanoquetratede
determinar cuál de los dos participantes que le contestan (a los cuales no puede
ver) es el humano. S e utilizan terminales de comunicaciones para responder alas
preguntas que hace el inquisidor. La máquina trata de engañar al inquisidor con
respecto a su identidad verdadera mientras que el humano trata de convencerlo.
La inteligencia y la capacidad de pensar quedarán demostradas,según laprueba
de Turing, si la máquina logra engañar al inquisidor.

¿Adónde es probable que


conduzcan las investigaciones actuales
sobre
inteligencia
artificial? Nadie lo sabe. Los investigadores utilizan
el
termino
se relaciona con el juicio o sentido común en
heurlstica para describir la parte que
laresolución de problemas. Es decir,describelapartedelaresoluciónde
problemasquemaneja:ladefinicióndelproblema,laeleccióndeestrategias
razonables a seguir y la formulación de hipótesis y corazonadas. Actualmente, los
seres humanos son muy superiores a las computadoras en el área heurística del
trabajointelectual. No obstante,cuando se conozcan mejor los procesos de
pensamiento y aprendizaje humanos, sera posible desarrollar programas nuevos y
mAquinasconfacultadesheuristicas avanzadas. Variosinvestigadoresmuy
capaces están trabajando en este objetivo y pueden ya hacer alarde de algunos
logros impresionantes.

Por ejemplo, los investigadores están dandolos primeros pasos en la construcción


de computadoras de red neuronal, es decir, máquinas cuyos circuitos siguen el
patrón de las complejas interconexiones que existen entre las neuronas o cklulas
nerviosas del cerebro; las computadores de red neuronal, cuentan ya con cientos
de miles de elementos de proceso (o "neuronas" simuladas) y existen miles
o hasta
millones de interconexionesentre estos elementos. E n comparación, los seres
humanos cuentanconcercadediezmilmillones de neuronas en lapartedel
cerebroque se utilizaparapensar, y existenpor lo menos 100 billonesde
interconexiones entre las células nerviosas. En vista de la enorme superioridad
reticular del cerebro, nadie está sugiriendo quelas máquinas que simulan esta red
esten ni remotamente cercanas a duplicar la capacidad del cerebro, de hecho,
algunos científicos en el &rea de la computación alegan que, en vista de lo poco
que se sabe sobre elfuncionamientorealdelcerebro, no tiene caso tratarde
construir unamáquinacon ese órganocomomodelo.Perootroscientíficos
igualmente respetados, que trabajan hoy día con modelos similares al cerebro,
estánconvencidosdeque sus laborespuedenconduciraalgunaformade
XXI.
inteligencia de silicio para mediados del siglo
APLICACIONES ACTUALES DELA INTELIGENCIA ARTIFICIAL:PROGRAMAS
PARA LENGUAJE NATURALY SISTEMAS EXPERTOS.

Ad6mas de los avances en el equipo electrónico,algunos trabajos previos sobre la


resolución heurística de problemas han conducido ya a la realización de algunos
productos comerciales de programación.

Programas para lenguaje natural

Permiten a los usuarios sustituir los complicados comandos de programa en la


jerga de las computadoras por órdenes en espariol común (o inglés, franc& u otro
lenguaje natural). Por ejemplo, las interfaces de lenguaje natural permiten a los
usuarios consultar sistemasde bases dedatosyenterarsedecuál es la
información que necesitan para apoyarsus decisiones. Los programas de lenguaje
natural son de dos tipos: Aquellos que permiten a los usuarios escoger palabras
que aparecen en menús sucesivos hasta formar un comando que puede entender
el programa, y aquellos que permiten a los usuarios teclear preguntas ycomandos
directamente con sus propias palabras.
E n ambos casos, losprogramasdelenguajenaturalinterpretan las partesdel
lenguaje y el significado de un enunciado para después traducir éste a comandos
de aplicación que la computadora puede aceptar y procesar. Los programas de
lenguaje natural incluyen tres elementos. Un elemento es el analizador sintktico
(parser), que es el componente del programa que determina cómo está formado
unenunciadoa partirde sustantivos,verbosyotrosfragmentos. Un segundo
elemento es el analizador semántico, que utiliza un diccionario integrado para
interpretar el significado de las palabras del enunciado.Casi siempre se realizan al
mismotiempoelanálisissintácticoyelsemántico. El tercerelemento es el
generador de códigoque traduce el enunciado del usuario códigos a en lenguaje
demdquinaaceptablespara la
computadora. Es probableque estos tres
componentes del programase incluyan tarde o temprano en casi todos los tipos de
programas con el fin de que los usuarios puedan dialogar con sus mdquinas en
lenguaje ordinario.

SISTEMAS EXPERTOS
SISTEMAS EXPERTOS

Un " sistemaexperto : (SE) I' es unsistemacomputacionalquemanipula


y
conocimientos organizados sobre algún campo específico de expertos humanos
es programado paratrabajar convincentemente como unasesor en el campo dado,
su razonamiento si 6ste es solicitado.
con capacidad para explicar

Una definición que expone de otra forma la filosofía de los SE's es la que Naylor
propone ensu libro :

". . . Un sistema computacional compuesto de una base deconocimiento (KB)


extraída de un(os)experto@)detalformaqueelsistema puedaofrecer un 'I

consejo inteligente o pueda tomar una "decisión inteligente" acerca del desarrollo
'I

de una actividad. Este sistema deberá justificar su propia línea de razonamiento


lógico de una forma directamente intelegible el por
usuario . . . "

Analizando 6stas y otras definicionesse obtiene que un buen sistema experto debe
proveer :

1. Experiencia cuandola experiencia humanano estd disponible. O sea transferir


conocimiento a dondey cuando se requiera.

2. Experiencia más uniforme v rápida que la de un humano experto, así como


consejo y/o tutoreo inteligente.

3. Ayuda a expertos a tomar decisiones que involucran factores complejcs no


estructurados o inciertos.

. .
4. Bancos de conoclmlentos y procedimientos expertosy su forma deaccesarlos.

. .
5. Banco común para Conoclmlentos que se reproducen dindmicamente y que se
requieren frecuentemente.
O sea, " emularalexpertohumano 'I enuncampo específicodel
conocimiento.

Otro ejemplo de la inteligencia artificial en accibn es el uso de sistemas expertos.


Un sistema experto es un conjuntodeprogramasqueintentancodificar los
conocimientos y reglas de decisión delos especialistas humanos, de manera que
los usuarios puedan aprovechar esta pericia al tomar sus propias decisiones. Un
paquete completo de sistema experto incluye dos componentes. En primer lugar
está una base de conocimientos almacenada que puede llenarse con reglas del
tipo "si-entonces" (por ejemplo: "si la bomba tiene fugas, entonces es posible que
el empaqueest6agrietado,desensa'mblese labrida,cámbieseelempaque,
vuelvase a ensamblarla brida y apriétenselos pernos"). En segundo lugar, hayun
integradorsesistemaexperto (o maquinadeinferencia) demecanismos
lingüísticos y de razonamientos que pueden consultar la base de conocimientos
para llegar a conclusiones y recomendar soluciones a problemas específicos.
Aunque hace tiempo sólo se disponía deunos cuantos sistemas expertos, docenas
de casas de programación
han
anunciado
recientemente sus productos
integradores, queson sistemas expertos gen6ricos cuyo contenido de datos o base
de conocimientos se ha dejado en blanco. Los individuos o las organizaciones
pueden insertar datos y reglas de decisión en estos productos integradores y asi
desarrollar sus propiossistemas expertos.porejemplo, se estáutilizandoun
integradordeMicroData Base Systems, Inc,. llamado Guru paradiseñar un
sistemaexpertodemicrocomputadoracon 3000 reglasqueayudana los
empleados de la compañía de seguros Allstate a procesar las reclamaciones de
compesaciónde los trabajadores. Es probablequeenelfuturo muchas otras
organizaciones desarrollen estetipo desistemas.

¿Para qu6 desearía una organizaci6n desarrollar un sistema experto? Un objetivo


es preservar conocimientos que se perderían si se retira, renuncia o muere un
experto de la compañía. Otro propósitoes "copiar" la pericia de un experto con el
fin de adiestrar a los trabajadores nuevos en diferentes localidades,de manera que
puedan trabajar como lo hace el experto. A fin de desarrollar el componente de
base de conocimientos de un sistema experto, los investigadores en inteligencia
artificial y los "ingenieros de conocimientos" dedican varios meses a analizar las
mentes de especialistas para extraer y estructurar los conocimientos que son la
base de su pericia. Esta es la parte más difícil y tardada de la creación de un
sistema experto. Una vez elaborada, los sistemas expertos se crean de diferentes
maneras, pero todos tienen dos componentes : una base de conocimientos y un
integrador del sistema,o máquina de inferencia.La basede conocimiento contiene
los hechos y reglas generales quese obtienen de expertos humanos. El integrador
del sistema contiene mecanismos lingüísticos y de razonamiento quepermiten al
paquete realizar busqueda de encadenamiento hacia adelante y hacia at& en los
datos y reglas de la base de conocimientos. Durante el encadenamiento hacia
adelante, el paquete avanza de una posición "si" a una posición entonces 'I, es
decir, trata de razonar a partir de una situación y hacia una respuesta. Duranteel
encadenamiento hacia atrás, se sigue un proceso inverso : el paquete razona a
partirde una respuesta u objetivo buscado ( posición entonces ) hacia las
'I 'I

condiciones ( "si ) subyacentes.


'I
Y SUS
ANALISIS COMPARATIVO DE SISTEMAS EXPERTOS CLASICOS
AREAS DE APLICACION

Los siguientes son los tipos de familiasa las quepuedenasociarseestos


productos con respecto su
a propósito funcional : /A.Waterman/

- Interpretadores
- Diagnosticadores
- Disenadores
- Predictores
- Instructores
- Planeadores
- Monitores
- Descubridores

INTERPRETADORES.- su propósito es inferir cuSl es la situación de unproceso a


partir de los datos recolectados de la operación del mismo.Esto generalmente se
hace vía sensores o de una recoleccih de datos estadísticos resultados de un
proceso.

Ejemplos :

- Interpretar datos de muestras de material para detectar


yacimientos (PROSPECTOR).
- Inferir la estructura molecularde un compuesto partir
a
de los datos delespectrt5metro de masas (DENDRAL)
- Interpretar los datos de un mapa de densidad de
electrones para inferir la estructura tridimensional
de
una proteína(CRYSALIS)
- Otros :REACTOR,SPE,HASBIAP.

DIAGNOSTICADORES.- S u propósito es detectar las causas de


mal
funcionamientos deun sistema enbase a observacioneso síntomas.

Ejemplos :
- Localizar las causasde fallas en redes telefónicas(ACE)
- Diagnosticar las causas de enfermedadesinfecciosasde un
paciente (MYCIN)
- Encontrar fallasen lossistemas deenfriado de reactores
nucleares.(REACTOR)
- Otros :PUFF

DISEÑADORES.-su propósito es desarrollar configuraciones, dadoun conjunto de


especificaciones, restriccionesy limitaciones.
Ejemplos :
- Diseñador y probador denuevos circuitos de tipo VLSI.
PALLADIO.
- Generador de complejos compuestos químicos. SECS
- Configuradorde un sistema computacional.XCON

PREDICT0RES.- su prop6sito es predecir las más probablesconsecuencias


razonables de una situaci6n dada.

Ejemplos :

- Predecir los posibles lugares de conflictos


amados(l&q
- Estimar daños potenciales deplagas sobre plantíos(PLAN7J
- Estimar los requerimientos de manufactura del producto.
(PTRANS).

TUTORES.- su prop6sito es ensefiar dirigiendo de manera tutorial al estudiante.


Proporcionarsimulacionesdelcomportamientodeciertosproblemas y verificar
decisiones. Actuar sobreel proceso de enseñanza-aprendizaje.

Ejemplos :

- Enseriar a estudiantes de medicina a diagnosticar y


recetar a pacientescon infeccionesbacteriales. (GUIDON)
- Capacitar sobre el cómo detectar fallas en circuitos
el6ctricos.(SOPHIE)
- Instruir al estudiante en la operación de una plantade
propulsión por vapor. (STEAMER)

PLANEADORES.- su propbsito es diseñar y refinar alternativas para decidir las


acciones arealizar en unasituacibn conel objetivo de lograruna meta específica.

Ejemplos :

- Asistir en la planeación de ataques abreos(KNOBS)


- Asistir en la planeacih de diseño de experimentos de
laboratorio en biología molecular(SPEX)
- Generarplanes de manufactura y distribucidn de
productos (PTRAN)
- Planificación estrat6gica organizacional(PLANNER)

MONITORES.- su propósito es comparar el estadodeunprocesoreal con el


estado esperado, para detectar desviaciones y sugerir las correcciones.
Ejemplos :
- Controlary monitorear las funciones de un sistema
operativo computacional(YESLMVS)
- Monitorear el estado de un paciente en una salade
cuidado intensivo, a partirde la captacidn de datos,
tales como presidn sanguínea, pulso cardiaco,etc.(VM)
- Monitorear los procesos de un reactor nuclear.(REACTOR)

DESCUBRIDORES.- su propósito es la generación de nuevos conceptos valido


bajo reglas y principios consistentes, así como el descubrimiento de relaciones
entre datos que pueden formalizarse.

Ejemplos :

- Descubrimiento de reglas desconocidas sobre la conducta


de algunos compuestos enel espectrómetro de masas.
(META-DENDRAL)
- Descubrimiento de yacimientos de molibdeno que expertos
ignoraron durante 60 años. (PROSPECTOR)
- Formulación de conceptos y conjeturas sobre la teoria de
números (AM).

QUE NO ES UN SISTEMA EXPERTO

Hay una gran cantidad de sistemas que se denominan expertos pero que no lo
son.
Los siguientessistemascomputacionalesno se puedenactualmenteclasificar
dentro de unafamilia formal desistemas expertos.La razón se adiciona.

* Diagn6stico m6dicobasado en métodos y datos estadísticoso análisis simple de


casos existentes.

En el caso de algunos diagnosticadores médicos quese basan sólo en estadísticas


descriptivas para hacer sus diagn6sticos, muchas veces se olvidan o le restan
importancia
al proceso pregunta-respuesta al
evaluar signos del
paciente,
ambientes, síntomas e historial clínico, circunstancias en las que ocurrieron los
accidentes, etc.

* SISTEMAS DE AYUDA COMPUTACIONAL


Muchos sistemas de información y paquetes comerciales introducen instrucciones
o procedimientos deayuda dentro
de sus repertorios; sinembargo, estas
peticiones son s610 llamadasalistasdedesplieguesdeprocedimientos o
instrucciones que muchas veces sólo listan todo lo que tiene de cierto tópico, sin
siquiera preguntarle al usuario para qué es que quiere la ayuda, o si éste esta
teniendo respuestas asu petición.
HERRAMIENTAS EXPERTAS ( " SHELLS " ) PARA LA GENERACION
DE APLICACIONES ( HEGA's )

CARACTERISTICAS IMPORTANTESDE UN LENGUAJE DE INTELIGENCIA


ARTIFICIAL.

Previamente al desarrollo de cualquier actividad de diseño e implementaci6n de


una aplicaci6n experta artificial es necesario conocer cuál va a ser la herramienta
que se va a utilizar para su desarrollo y que mejor se adecúe a los requerimientos
del problema en particular.
¿ Que debe de tenerellenguajeparaque se puedautilizarparadesarrollar
propiamente sistemas inteligentes ?

a.- capacidad de manejar optimamente estructuras de listas.

b.- capacidad de manejar eficientemente diferentes "tipos de datos" en sistemas


de información de naturaleza variaday de muy extenso volumen.

c.- habilidad de descomponer sistemas mayoresen pequeños subsistemas, de tal


forma
que
puedan
se hacermodificaciones
modulares
sin
degradar
significativamente el sistema completo.

d.-poseerestructurasdecontrolquepermitanutilizaryasearecursión o
paralelismo en el desarrollo de actividades internas.

e.-capacidad de poderinteractuareficientementecon el usuario y conotras


unidades del sistema.

f.- poder generar un cddigo eficiente de tal forma que, la función del sistema sea
optimizable y viable de operaren condiciones de tiempo-real.

9.- facilidades para realizar deducciones automaticas y para manejar un base de


datos de aseveraciones que forman la base de las deducciones. Hay dos tipos de
Idgicas para realizar este tipo de deducciones. La lógica
monothica es aquella en
que
lanuevoshechos(axiomas)
puedeninvalidar
deducciones
hechas
previamente : o sea que el conjunto de hechos sólo se incrementa. La lógica no-
monofónica permite hacer suposicionesy cuando es necesario retraerse y hacer
de nuevo inferencias, permite modificaciones sobre la marcha.

h.- capacidad de construir estructuras complejas de conocimiento con la finalidad


para manejar objetos tales como "cuadros" o redes semánticas.

i.- tener la capacidad de controlar estructuras que facilifen


el manejo de ambientes
dirigidos a metas ( top-down ) o a dafos (bottom-up).

j.- la habilidad de mezclar procedimientos


y estructuras de datosde la mejor forma
para atacar tareas particulares.
k. facilidad para enriquecer las bases de conocimiento y si es posible de auto-
adaptarse a nuevosconocimientos generados porel usuario.

Estas herramientas se pueden clasificar en varias familias


así :/Hu/

a.- Lenguajes de propósito general

a.1 Lenguajes orientados a problemas


*C
* PASCAL
* Ada
a.2 Lenguajes de manipulación de símbolos
* LISP ( COMMON LISP, etc.)
* PROLOG (TURBO-PROLOG,M-Prolog, etc)
* SMALLTALK
LISP.-(List Processing Languaje). El segundo mas antiguo lenguaje
de
programacibn después del FORTRAN. En LISP los programas o estructuras de
control y las estructurasdedatosesthnexpresadospor la mismaforma y
procedimiento recursivo.Es un lenguaje orientado a procedimientos'l.
'I

Por ejemplo para expresar una función factorial


se tiene :
(DEFUN FACTORIAL (n) (Cond ((zerop n) 1)
(t ( times n (FACTORIAL ( sub 1 n )))))).
Con estaexpresiónrecursivatansencilla se realizatodalarepresentación
simbólica de la función. Actualmente hay cerca de 12 LISP's, siendo el esthndar
m& comercial, el COMMON-LISP

PROLOG : (Programming in Logic). lmplementado por A.Colmerauer en Marsella


(1972-73).
Esta basado en el concepto teórico de programación lógica (R.Kowalski) sobre
objetos y sus relaciones.

SMALLTALK.- Es un lenguaje orientado a objetos. En este lenguaje cada objeto


lleva consigo sus propias operaciones y mensajes que representan la interacción
entre componentes.
Tiene la habilidad de agregar nuevas clases de objetos, sin modificar el código
existente en forma modular.
y la
Es un lenguajede gran potencial sobre todo en la actualidad en la que la teoría
practica de la metodología de la programación por objetos
se esta desarrollando.

BI. Sistemas de ayuda a la generación de


SBC's :

82. Sistemas de adquisición del conocimiento dedicados a la extracción del


mismo (KC)

B3. Sistemas dedicados al diseiio, construcción


y control de
Sistemas Expertos. (KEE,KES,PC-Plus,EXSYS,GURU)
Estas herramientaspueden
clasificarse
por
métodos
de
programacibn y
representacih así:
Basados en reglas :M. 7 , EMYCIN, EXISYS
Basados en "frames":SRL
Orientados a procedimientos :LISP
Orientados a objetos :SMALLTALK
Basados en I6gica :PROLOG
Orientados a transacciones o accesos :LOOPS
REFERENCIAS

O Waterman
Expert System

O P.Winston
Artificial Intelligence

O E.Charniak, Mc. Dermott


Artificial Intelligence

0 E.Rich
Artificial Intelligence

0 Luis A. Machado
La Revoluci6n de la Inteligencia

O “Reverse Engineeringthe Brain”


J.K. Stevens.
Byte Abril 1985.

O RuleMaster
Product Flier

0 Naylor
Building Expert System
METODOLOGIA PARALA CONSTRUCCION DE APLICACIONES EXPERTAS
UTILIZANDO HERRAMIENTAS PARAEL DESARROLLO (Shells)

"En las limitaciones se distingueal maestro [Goethe]"

METODOLOGIA PARAEL DESARROLLO DE APLICACIONES

Descripcih de la Metodología.

Nos concentraremosenla"Ingeniería" o laestrategianecesariaparaelaborar


aplicaciones que compitan efectivamente y que tenganun alto valor agregado alos
(IDSS),de resolución
procesos, ya sea de toma de decisiones en forma inteligente
de problemas (PSS's) con ayuda computacional o a los procesos de diseno por
medios computacionales(CDx).

Este m6todo esta constituido por


las siguientes fases :

FASE 1 Factibilidad e identificación deespecificaciones.

FASE 2 Extraccióndelconocimiento y transferencia de la experiencia (


expértice ) del experto al SBC.

FASE 3 Construcción de labase de conocimientos.

FASE 4 Diseño y desarrollo incremental enbase a prototipos.

FASE 5 Refinamiento e implementación del Sistema Experto.

FASE 6 Implantación del conceptode SBC en la organización.

FACTlBlLlDAD E IDENTIFICACION DE ESPECIALIDADES

OBJETIVO :

Establecer y/odecidir si unsistema basado enconocimientos (SBC)es una


soluci6n apropiada al problema. Si lo es, entonces establecer las especificaciones
de diseño del sistema.

Debido a la orientación del concepto, se estima que un producto terminal como lo


es el sistema experto (SE)debe de tenerlas siguientes características :

Tener la flexibilidad en su interaccih con el usuario


Poseer facilidades en explicación de la línea de razonamiento.
Ser un sistema que ofrece mdposibilidades quelos sistemas convencionalesen
su flexibilidad y
Manejar como base de operaci&n fundamental porciones de conocimiento m&
que informaci&n.

REGLAS BASICAS PARALA GENERACION DE DIALOGOS HOMBRE-


SISTEMA EXPERTO.

La siguiente es una lista de reglas básicas para la ejecución de diálogos. Estas


esthn catalogadas encuatro categorías /B.curtid,J.Miller/

a) Las reglas quese relacionan conel &disis y desarrollo de sistemas,


b) Las que se dedicanalaadaptaci6ndelusuarioalsistema
c) Las que se dedican a minimizar la carga mental del usuario
d)Las que están dirigidas a la detección-correcci6n de errores

A. ANALISIS Y DESARROLLO DESISTEMAS


1. Introducir una idea o conceptoatravésdelaexperiencia
2. Utilizar el modelo del usuario :terminal
3. Mantener la etapa de diseño durante todo el ciclo de interfase
4. Utilizar el sistema computacional como bitácora de rendimiento para fines de
anhiisis y desarrollo

B. ADAPTACION DEL USUARIO AL SISTEMA


5. El usuario termial será quien modele el sistema
6. El usuario (experto o terminal) deberá dominar al computador
7. Deberhn evitarse casualidades en el proceso pregunta-respuesta: debe ser
unambientecausa-efectoynoefecto-causa.
a. Permitiral usuario una máxima flexibilidad en el tipo de respuestas.
C. MINIMIZAR LA CARGA MENTAL DELUSUARIO
9. Debe de estructurarse en un marco de uniformidad y consistencia
1o. Utilizarintensivamente los "quieres" o razonamientobienestructurado.
11. Los manuales del usuario deben estar basados casi completamente en el
diálogo quese desarrolló parael sistema o simplemente su no existencia...
12. Entrenar gradualmente : Llevar en forma gradual desde lo más simple del
sistemahaciaconceptosavanzadosparaexpertos. No haynecesidadde
hacer 2 o 3 tiposdediálogosparadiferentesnivelesdeexpertos, es
suficiente un sólo nivel que permita avanzar desde lo básico hasta lo general
en forma escalonada. También hay que permitirsaltos para avanzar al
paso en caso de poseer cierta experiencia previa.
13. Hacer queel dihlogo sea observable hacia adelante/ hacia atrás
D. DETECCION-CORRECCION DE ERRORES
14. Validar los datosdeentrada : Hacerque el usuarioparticipeantesde
actuar sobre lo producido.
15. Proveer un mecanismo de reset : Para evitar loops o ciclajes innecesarios,
permitirabortosnocatastróficos. Poder ir a los menús padres,generar
check-points para evaluación de estatus en el proceso de ejecución.
16. Proveer una facilidad que permita el backtracking de reserva.
17. Hacer correcciones a través de re-entredas y re-runs ( re-corrida ) : Apuntar a
campos modificables y traer información anterior para ser cambiada.

LA INTELIGENCIA ARTIFICIALY EL FUTURO


Gran parte de los primeros trabajos sobresistemas expertos se realizó en Estados
Unidos, pero Japón planea gastar cientos de millones de dólares en la próxima
decadaa findedesarrollarcomputadoras avanzadas queesténenfocadas
específicamente a las aplicaciones de la inteligencia artificial.( Algunos opinan que
desde la decada de 1940 se han desarrollado
cuatro
generaciones de
computadoras. El esfuerzo de los japonese$ se ha definido como un intento de
producir maquinas de la ” quinta generacióq ‘I.) Los japoneses esperan alcanzar
antes del ano 2000 el liderazgo en la tecnología de inteligencia artificial con una
supercomputadora capaz de almacenar una base de conocimientos de hasta 2000
reglas y100 millones de elementos de información.
En un esfuerzo por no quedar a la zaga, la Defense Advance Projects Research
Agency (DARPA, agenciadeinvestigaciohesenproyectos avanzados parala
defensa ) delgobiernode Estados Unidosest6gastando tambih cientosde
millones dedólaresenunprogramallamadoStrategicComputingInitiative (
iniciativa estretbgica de cómputo ) cuyoobjetivo es lograr grandes avances en
microelectrchica,arquitectura decomputafloraseinteligenciaartificial. Estas
investigaciones se estanrealizandoenarrlbientesacadémicoseindustrialesy
muchos las consideran como la respuesta de Estados Unidos ante la amenaza
competitiva japonesa. Es probable que esto$ esfuerzos de investigaciones a nivel
mundialayudenadeterminarlaformacdmo las generacionesfuturasvana
interactuar y emplear alas computadoras.Aun ahora, en una escala mucho menor,
están apareciendo paquetes para computadoras personales que proporcionan a
los usuarios consejos financieros y legales, así como ayuda en otras categorías.
Estos sistemas se hubieran consideradosueiios imposibles hace una generación.
E n un futuro previsible, empero,es probable que la funci6n de la computadora siga
siendo la de un amplificador de la inteligencia, un aliado de la humanidad. Esta
alianza combina la superioridad actual del: cerebro humano en cuestiones que
requieren creatividad, juicio e intuición con la superioridad de la computadora en
cuanto á velocidad deprocesamiento,almacenar grandesvolúmenes de
información, exactitud e inalcansable atencibn a los detalles. La palabrasinergia
se refiere a la facultad de dos entidades de’lograr juntas lo que son incapaces de
lograr solas.

-- “ . - y I ~..
”” , . ~” ,.. .- . .“--””““““““I._.
FUTURO DE LOS SISTEMAS BASADOSEN CONOCIMIENTOS

FUTURO DE LOS SBC's

Esta seccibn tiene dos propósitos. Primero, el mostrar que los SBC no son una
tecnologia más, sino que está apoyada por una base econbmica considerable y
segundo, que se estima van a establecer una nueva, prometedora y perdurable era
en la computacibn moderna.

Los SBC son másuna evolución que una revolución y están bien fundamentados y
soportados por las ciencias computacionales, del conocimiento,, de la información,
asi como delas tbcnicas de Ingeniería de Software.

A continuación se presentanalgunosdatosycomentariosquemuestranla
tendencia de la "Industria" de
los sistemas basados en conocimiento.

EFECTO DELAS COMPUTADORAS SOBRE LA PERSONA

La computadora es una de las fuerzas más poderosas de la sociedad actual. S e


están utilizando en todos lados - en los hogares y en organizaciones de todos
tamailos - y nadie puede dudar que este uso está teniendo un considerable efecto
sobre muchas personas. La computadora es lafuerzamotrizdetrásdeuna
revolucibninform6tica y, como en cualquier revolución, es posible que algunos
inocentes resulten perjudicados.
LAS COMPUTADORAS EN LA CIENCIA, INGENIERIAY NEGOCIOS

Las computadoras del


mundo procesandiariamentemiles de
aplicaciones
científicas. Una de estas actividadesdiarias es elpronósticodeltiempo. Los
meteorblogos han sabido desde hace anos que si a las ecuaciones matemáticas
se les suministran datos a nivel mundial sobre la presión del aire, temperatura,
humedad y otros valores, la solución estasde ecuaciones producirá una prediccibn
exacta de los valores que tendránestas variables en diversas localidades una hora
o un día despubs. E n la década de 1960 una computadora fue capaz de utilizar
2000 mediciones como datos de entrada para hacer una predicción relativamente
burda con anticipación de un día.
Los programas de pronbsticos que se emplean actualmente utilizan ecuaciones
m& detalladas para producir predicciones más precisas. Sin embargo, todavíase
pueden mejorar mucho. De hecho, los programas actuales que ponen a pruebala
capacidad de las computadoras más grandes del mundo son modelos burdos de
los que usarían los meteorólogos si se contara con computadoras más poderosas.
Las supercomputadoras de hoy no son lo bastante super.

EL PROCESAMIENTO DE DATOS LUCHACONTRA LA INVASION DE LA


INTELIGENCIA ARTIFICIAL

Existenciertostemasquehacenqueelpersonaldeprocesamientodedatos
esboce un gesto dedolor : los recortes de presupuestoson uno de ellos; el apoyo
a clienteses otro y otro más es la inteligencia artificial.
¿ Por qu& la inteligencia artificial ? Como tecnología tiene la capacidad de hacer
que las computadorasfuncionencomonuncaantes lo hacieron,pero los
informhticos ya estan disponiendo de las defensa contra este extrano invasor. Ni
las mujeres nilos ninos ni las computadoras personales nadie esta seguro.
Casi todas las ideas falsas acerca de la inteligencia artificial aparecen simplemente
porque son muchos los que han oído hablar de ella, pero pocos los que la han
visto. Sigue siendo algo encerrado en los oscuros laboratorios de las principales
instalaciones academicas y de investigación de Estados Unidos. Sin embargo, si
se debe ver para creer, convendría examinar algunos delos productos existentes
para tener idea de lo que se está haciendo en el campo de la inteligencia artificial
para resolverlos problemas enel mundo del procesamiento de datos.
Una lista de datos que contengamás de diez millones de nombres de personas a
las que se van a enviar catálagos de compras por correo u ofertas de tarjetas de
cr6ditos. Cada vez que se envía material promocional,se dirige a la mayoría delas
personas de la lista sin saber generalmente cuáles de las semillas van a caer en
suelo fbrtil.
Considerada comounasolución, la
inteligencia
artificial
presenta algunas
posibilidades reales en la lucha contralos problemas a que se enfrentan todos los
usuarios de computadoras, no solamente el personal profesional de procesamiento
de datos. Tecnologías deinteligencia artificial como son las interfaces de lenguaje
natural
la
yreestructuración
automática
decbdigo,
podríanevitar muchos
sufrimientos ensituacionesen las quelacomputacióntradicional se vuelve
demasiado laboriosa y costosa.
Hace treinta años, los programasquejueganajedrez se hubieran considerado
como inteligencia artificial.Hace quince años, no se le hubiera llamado inteligencia
artificial a cualquier programa que tuviera el descaro de hablar mediante una voz
humana sintetizada. En la actualidad, sin embargo, las computadoras que juegan
ajedrez no se compran en Cray researcho IBM: se compran en un juguetería.Por
otro lado, los automdviles, cajas registradoras y cámaras más nuevos hablan hasta
por los codos.
La Inteligencia artificial yase usa enel ambiente de procesamiento de datos.

Si se ponen las cosas en perspectiva, ya existen productos de inteligencia artificial


que tienen posibilidades en el procesamiento de datos y que de hecho ya se
emplean con frecuencia en ese ambiente. A despecho de la forma como se les
llame, estos productos son partes importantes de una tecnología dirigida a mejorar
laeficienciay las interfacesencomputación.Actualmente,todosprovienende
fabricantesquepor lo generalnosobresalendeentre las demás compafiías
dedicadas ala inteligencia artificial.
Algunas de estas compailías estan tratandodeborrarestaimagen,yaquela
presencia de la inteligencia artificial en el procesamiento de datos goza de tanta
popularidad como la adquisición de enfermedades raras contagiosas.
y Todavíano
es posiblecomprarproductosdeinteligenciaartificial a' CullinetSoftware o
McCormack & Dodge, pero no faltamuchoparaque aun estas casas de
programaciónintegrentécnicasyproductosdeinteligenciaartificial en sus
programas, atal grado que lo que en un tiempo se consideró inteligencia artificial
será completamente transparente para el usuario.
La fábrica del mañana probablemente será unainstalación defabricación integrada
con computadoras. Los elementosque se encuentranenunainstalación es
evidente que la computadora juega un papel vital. La fábrica Fanuc en el monte
Fuji, en Japón, ha sido llamada prototipo de la "fábrica del futuro". S e producen
cerca de 250 piezas de productosFanuc en lotes de cinco a veinte unidades, Los
materiales se transfieren de un almackn automatizado a las estaciones de trabajo
mediante camiones robots.Una vez que los robotsy demás máquinas terminansu
trabajo, el sistema de manejo de materiales toma otra vez las riendas del proceso.
Los camiones almacenan automáticamente las piezas terminadas y transportan
otrosmaterialesa su siguientedestino. El ensamblado de piezas para formar
máquinas completas todavía no está del todo automatizado, pero muchas otras
operaciones dela fábrica Fanuc se lleva a cabosin intervención humana.

LA ACTUALIDAD
AREAS DE TRABAJO EN

- Simulación cualitativa:Integración
de SE's y modelos de
simulación
cuantitativa ( o sea combinación de conocimiento cualitativo y ( cuantitativo
)-
- Manejadores expertos
de bases de
datos, así comodeherramientas
inteligentesdeexplotacióndetextosy bases deinformaciónenforma
stand-alone y distribuida.
- Representacih de fen6menos gspeci-, dependientes del tiempo, inciertos
y modelación del usuario (más que elexperto), así como nuevas tkcnicas
de diseno inteligente.
- Adquisiciónautomhticamáseficiente.Adquisiciónporejemplos o casos.
Sistemas
estructurados
conocimientos.
de Conocimiento de varios
dominios. Bases de sentido común. Redes neuronales.

- Modelos inteligentes de soporte a la decisión (IDSS) hasta llegar alos apoyos


ejecutivos (ESS:Executive Support Systems) Sistemas que resuelvan multi-
objetivos.
Integracióndepaquetesdesimulación"databases"yredesde
comunicación.

- Desarrollodeinterfasesdelenguajenatural.

Pero sobre todo, se está generando una nueva filosofía que por vez primera esta
tratandodedespejarciertasincógnitasque en laEpistemología,laPsicología
educativa, la Lingüistica y en las Ciencias del Conocimiento habían permanecido
por largo tiempo. Disciplinas, estas son las que se han visto complementadas por
la introducciónde nuevas tecnologías computacionales.

AVANCES, PREDICCIONES Y REALIDADES DE LA INDUSTRIA DE LA IA.

En los conocimientos de los 80 las grandes compañías comenzaron a interesarse


en el Brea de IA.
Actualmente sus departamentos de investigación están produciendo tanto como
las propias universidades.
Las empresas que se interesaron a los comienzos de los 80's y que actualmente
tienemásqueproductosdedesarrollo,productosterminadosaplicadosala
industriacorrespondienteson : Westinghouse,GeneralElectric,Schulmberger,
Xerox, Di ita1 Equipment, Texas Instruments, Fairchild e IBM.
9,
HAR WARE COMERCIAL DE SOPORTE AL DESARROLLO DE SBC's.

HARDWARE DE SOPORTE AL DESARROLLO DE SBC's.

En este capítulo se presentarán varias arquitecturas computacionales propias para


el desarrollo de sistemas en
el ambiente de Inteligencia Artificial.

Se
dividirán
las
arquitecturas
en
dos
tipos.
Primeramente
arquitecturas
comercialesquesehanespecializadoen el manejodeestructuras de datos
simbólicos y lenguajes propios deIA, corno LISP y PROLOG.
LISP, en especial, es un lenguaje que ha venido en progreso constante y muy
significativo en cuanto su integraciónalhardwareconvencional. Este tipode
hardware especializado perono basado enteramente en tecnologias simbólicas, es
el más común.

El segundo tipo de arquitectura es la especialmente dirigida al manejo simbólico


del conocimiento. Son máquinas basadas principalmente en Sistemas Operativos,
escritos usualmenteel LISP o un lenguaje equivalente de Programación ibgica.

SISTEMAS DE PLANEACION BASADOS EN CONOCIMIENTO PARA


ENSAMBLE MECANICO UTILIZANDO ROBOTS.

Actualmente,laautomatizacióndeensamblemecánico es degranimportancia
econ6mica parala industria.La automatización se divide endos clases :

0 La primera clasedeautomatizaciónextensiva,conmáquinasespecializadas
para cada ensamble y esta diseñada para altos volumenes de producción.

0 La segunda clase utiliza unaautomatizaciónflexible en la cual las mequinas


son controladas por computadoras y pueden ejecutar varias operaciones de
ensamble.
Existen dos técnicas principales para llevar a cabo esta
clase de automatización.

1) Programas para aprender : Programas que permiten a la mequina estructurar


sus operaciones de ensamble.

2) Programación textual : Ofrece al sistema el plan de ensamble en términos de


operaciones a travésdel lenguaje natural.

EL APRENDIZAJE DE LA MAQUINA

Ir en curso estrecho con la inteligencia es aprender. De hecho la inteligencia no


podría existir sin lahabilidaddeaprender,porqueaprendersignificaadquirir
nuevos conocimientos. Aprender permite que tu mismo te adaptes, y uses ese
aprendizaje en ventaja ante varias situaciones y acontecimientos, de ese modo, la
habilidad para aprenderes una herramienta poderosa.
No es sorprendente que algunos programadores quieran crear un programa que
pueda utilizar esta herramienta en la forma en que lo hace la gente. El programa
que pudo hacer esto, pretende en teoría ser el último programa quese haya escrito
ya que este pudo aprender a realizar varias tareas, simplemente por que as¡ se le
ensefió.

DOS FORMAS DE APRENDER

Una paradoja sorprendentees que es muy fácil al igualque extremadamente dificil


para la computadora aprender.La razón de estoes que haydos diferentes tipos de
aprendizaje : APRENDIZAJE DE MEMORIA Y APRENDIZAJE COGNOSITIVO.A
estepuntotuvistequedesafiarloparaindicarquehayotrosvariostiposde
aprendizaje, como el APRENDIZAJE POR ANALOGIA, POR EJEMPLOS, POR
OBSERVACION.
Como sea, esto se refiere a métodos por los que el conocimiento se puede adquirir
y no por actuales mecanismos quepermitan que el aprendizaje ocurra. Estas son
las bases para aprender queese es el foco de esta sección.

APRENDIZAJE DE MEMORIA

Mucho de lo que aprendes es simplemente llevado a cabo por hechos que tu


adquieresatravésde lamemorización o repetición. Este proceso es llamado
aprendizaje de memoria.
Algunos ejemplos de hechos que tu tienes que aprender por este método serian:
que 1+1=2, o que la distancia deNueva York a Chicagoes de 1500 millas. Pero el
aprendizaje de memoria no se limita solo a hechos, también puede ser aplicado
para secuencia de acciones, tal como una tarea.
Un empleado de fdbrica, por ejemplo, puede aprender a apartar las cajas rojas y
amarillas en la línea de montaje y colocarlas en la sección correspondiente. La
secuencia dememorización es como sigue :
7) LEVANTAR CAJAS ROJAS O AMARILLAS
2) COLOCARLAS EN LA SECCION APROPIADA
La misma idea se aplica a la forma en que a los niños se les enseña a dividir o
multiplicar. Cada niño memoriza la secuencia específica de accioneslas y aplica a
la secuencia requerida.

Lo principal del aprendizaje de memoriaes la especificación. Por necesidad, todas


las cosas que tu puedes aprender de memoria son específicas. La distancia entre
Nueva York y Chicago es específica,talcomo las tareas de un empleado de
fábrica ylos métodos usados para resolver una multiplicación.

Aunque como método debi6ser aplicado a una extensa variedad de problemas, la


actual secuencia de pasos que determinan una tarea no es generalizable. De este
modo las secuenciasaprendidasdememoria son más propiamentellamadas
procedimientos.
Una computadora puede más facilmente aprender cualquier cosa de las que tu
puedas aprender de memoria. De hecho esta es la manera en que opera una
computadora : ELLA ES PROGRAMADA I desde entonces las computadoras son
muy buenas para seguir instrucciones, ellas fácilmente siguen un procedimiento o
acumulan algún artículo de información en una base de datos.
Por ejemplo; a un estudiantese le enseña que el agua es un líquido entrelos 32 y
los 212 grados, de esta manera tu puedes introducir la misma informaci6n dentro
de un programa de base de datos y cuandotu preguntes que es el agua, tanto el
estudiante como la computadora responderán en la misma forma.

E n resumenaprendiendo las cosas dememoriainvolucra la memorizaciónde


hechos específicos o procedimientos. No se requiere hacer alguna generalización
o algún pensamiento profundo. Ya que las computadoras pueden aprender de
memoria,en la siguiente sección observarás otra manera de aprender.

CONOCIMIENTO COGNOSITNO

La forma más importante en quetu prendes,y la cual es la más difícilde


implementar es el conocimiento cognositivo. En esta forma de aprendizaje utilizas
turaciocinioparaanalizar,organizar,ycorrelacionar piezasespecíficas del
conocimiento.
El producto de este esfuerzo mental es la creación de descripciones de clases.
Una descripción de clasees una simple generalización que se deriva del examen
de unos pocos ejemplos específicos.

Por ejemplo a traves del conocimiento de unos perros específicos, eres capaz de
crear un concepto generalizado del perro lo que permite conocer virtualmente a
cada perro específico entre varios perros.
El punto es que tu has aprendidoladescripcióndeclasedeunperro.
Generalmente una descripción de clase define todos los objetivos de cierto tipo.
Esto concentra que tan rapid0 puedes aprender una generalización.
Tambikn puedes formardescripcionesde clases poresteprocedimiento.Tu
puedes entoncesadaptaresteprocedimientogeneralizadoaunavariedadde
situaciones similares, por ejemplo,tu puedes conocer elprocedimientogeneral
parabarrer un pisocon cualquiertipode escoba, posteriormentetu puedes
fAcilmente manejar tu carro en cualquier camino aunque tu jamás lo hayas visto
antes.Tu puedes hacerestetipodetareasporque puedesgeneralizar los
elementos básicos del procedimiento que definen estas tareas. Esta habilidad de
generalizar los procedimientos es la que separa a los humanos de los robots. Un
robot puede conoceruna tarea específica pero no es capaz de generalizar.

Tu
habilidad
para
aprender
clasificar
a no
está
limitada
para
objetos o
procedimientos,pues puede aplicarse también a ideas y conceptos.

Por ejemplo la mayoría de los filósofos y religiosos intentan dar a sus seguidores
un código generalizado de conductas y creencias que les permita la interpretación
específica de los eventos, de acuerdo con ese código se considera el concepto de
bueno y malo.Estas clasificaciones generales que se usan para describir eventos
específicos; estos conceptosrepresentandescripcionesde clases deciertas
acciones específicas con implicaciones morales.

Claramente la habilidad de aprender las descripciones de clases es fundamental


para la creación de que una computadora piense igual que un ser humano, es la
simulación de este tipo de conocimiento del que trata este capítulo.

El profesor Patrick Henry Winston, director del laboratorio


deinteligencia artificial
delInstituto de Tecnología de Massachusetts realizó elmejor avance científico
hacia el entendimiento del aprendizaje cognositivo, éI es una de las principales
autoridades en el mundo sobre IA, y su libro "ARTIFICIAL INTELLIGENCE",se
recomienda ser leído por estudiantes quese dediquen seriamente al estudio de la
inteligenciaartificial. S u métododeaprendizajesobredescripciónde clases
algunas veces es llamado HIT-AND-NEAR-MISS ( pegar y casi fallar ) por razones
que prontoverás.

EJEMPLOS Y NEAR-MISSES ( CASI FALLAR )

Para ayudarle a entender el proceso HIT-NEAR-MISS, tendrá que saber que el


estudio de ejemplos tradicionales aquí ilustrados
son el punto clave.
Imagine que est6 enseñando a alguien a que reconozca un arco se queconstruyó
con bloques.
Primero lo construyes como lo muestralafigura No.1; después le dicesala
persona que esa estructura es un arco, en el paso siguiente tu mueves el bloque
de arriba e inmediatamente colocas los otros dos bloques como muestra la figura
No.2 y para informacibn del estudiante
eso no es un arco.

Eso implica que un arco debe tener un bloque en lo alto, tu próxima construcción
de un arco es como lo muestra la figura No.3 y dile a la persona que eso es un
arco. Después construyes laestructuraquemuestralafigura No.4 ydileala
persona queeso no es un arco.
Esto implicaque los soporteslateralesnodebentocarseentre sí. Finalmente
construyesunarcocomo lo muestralafigura No.5, lacualtieneuncilindro
instalado sobre los bloques, eindica a la persona que eso sigue siendo un arco. De
esta manera el estudiante tendrá estas clases de descripciones de arco; también
debe tener un bloqueo un cilindro enlo alto de otrosdos bloques que no se tocan
entre sí, y los bloques de soporte deberán mantenerse de opie acostados.
Estos ejemplos ilustran el punto clave : tu puedes crear una clase de descripción
usando ejemplos de objetos seleccionados( o conceptos, ideas o acontecimientos
) cualquiera de ellosson parte de una claseo bien sólo difieren en algunas formas.
Mientras el estudiante dice cuales objetos forman parte de una clase o cuales
objetos son NEAR-MISSES, el puede construir unaclase de descripción por medio
de la observación de similitudes y diferencias que estánasociadas a cada ejemplo.

Como la clase de descripciónes el desarrollo, el papel que se juega en ejemplos


correctos es diferente al quese juega porNEAR-MISSES.
Cada ejemplocorrecto causa unadescripcióncomúnque será ampliada o
generalizada,porejemplo,en el caso delarco,cuandotumuestrasa los
estudiantes elarco con los bloquesdesoporteacostados, elestudiantedebe
generalizar la descripción de qué arco se aceptará para comprobar el hecho de
que esoes un arco. Estos ejemplostambién son verdaderoscuando los
estudiantes venel arco con uncilindro.

Como sea cada NEAR-MISS causa una descripción en desarrollopara ser


coacción, cuando se presentó el hecho de que la estructura en la figura No. 2 no
esa estructura y la
es un arco,el estudiante tuvo que determinar la diferencia entre
clase deestructura admitida.

La única diferencia obvia fue que el tercer bloquees notan largo paralo alto como
los otros dos.
De ahí que el estudiante agregue a la descripción la coacci6n de que todos los
arcos deben detener un bloque enlo alto.

El estudiante sigue el mismo proceso cuandose enfrenta con el NEAR-MISS en el


cual los bloques se tocanentre sí : lacoacción es agregaraestaclasede
descripción quelos lados no deben tocarse entresí.

Ten en mente que como una descripción de clase se desarrollan, entonces las
coacciones previas, deben ser generalizadas y las generalizaciones deben ser
coaccionadas.

Por ejemplo, cuando el estudiante estáenseñando el arco con el cilindro en lo alto,


la coacción que se requiere es que el bloque que debe estar en lo alto tiene que
cambiarse para requerir que cualquiera de los dos, el bloque o el cilindro, deben
estar enlo alto.

Has enseñado a los estudiantes diferentes arcos, cada unoteniendo diferente tipo
de tapa, eventualmente la coacción debió ser cambiada para requerir que el arco
tiene algo en la tapa. En caso como este, otra clase de descripción es sustituida
porunaextensalista OR. Si tu mirasestaformadeproceder con una ligera
diferencia en tu punto de vista, tu podrás ver que cada objeto correcto
se presenta
al estudiante con una serie deatributos quelos objetos de esta clase deben tener.

Es por eso, por lo que las personas dicen que cada objeto específico forma parte
de una clase,la clase descrita por el estudiante debe incluir objetosde cierto tipo.
Es correcto el uso de NEAR-MISSES para que los estudiantes puedan aprender
qué objetos deben estar en esa clase y cuales no.

Fundamental para aprender este proceso es el hecho de queNEAR-MISSES debe


diferir s610 un poco de algunascosas de preferencia obviamente que sólo sea en
una. De otra forma
el
estudiante no
podrá
definir
cual es el
factor
de
retroalimentación.

Por ejemplo, si tu mostraste el primer arcoy señalaste un pájaro quepasaba por la


ventana, y dices queel pájaro no esta en el arco, el estudiante no necesita de esa
informacih para describir laclase de arco.
APARIENCIA HUMANA

Este capítulo tratará con los programas escritos que actúan como la gente. El
clásico ejemplo de esto es el programa ELIZA, cuyos actos se parecen a los del
siquiatra ROGERIAN. Este capítuloprofundizaráencómodaralprogramade
computadora la apariencia de personalidad y emoción, y cómo desarrollar tres
versiones simplesdel genero del programaELIZA,por ilustración.

Ya que tu probablementesdlo cuentas con teclado y monitor, el escenario


es como
sigue :

Imagina que hay dos terminales; una está conectada a otra terminal la cual se
encuentra en el cuarto de junto y presenta un operador humano, mientras que la
segunda terminal está conectada por computadora. Ambos, la computadora y el
operador humano, responderán a cualquier cosa que tu tecles.

Si tu no puedes decir que terminal está conectada a la computadora y cual está


conectada al operador humano, entonces el programa que esta corriendo en la
computadora tendrá éxito en APARIENCIA HUMANA.

TRUCOS

Mucha gente dice que la forma en que el programa originalELlZA funciona tiene
algo que ver con la seria investigacióndelA, y que lo que parece ser inteligencia
está basado en trucos y no en principiosbásicos.

Como sea, estas críticas están olvidandolo que es talvez el punto más importante
del
programa : ELIZA ES VIRTUALMENTE INDISTINGUIBLE DE UNA
PERSONA.

Como pronto verás, el programa ELIZA, no necesita ( pero debe usarse si se


decide ) nada de las tkcnicas de elaboración del lenguaje natural. De hecho el
promediodeprogramasdeestaclase es unpocosinmentalidad : tiene una
pequeña idea de lo que esta pensando. Como sea el punto interesante de los
programas tipo ELIZA,es que ellos pueden exitosamente imitaruna a persona.

Este es el aspecto que vamos recibir


a con mayor énfasis en este capítulo.

G QUE TANBUENO ES ESTO 3

Hay alguna gente que se pregunta que valor tiene estudiar c6mo hacer que la
computadora sea como una persona, sin embargo esta gente ha olvidado un punto
muyimportante mCOMO UN NUMERO CRECIENTE DE LOGROS SON
REALIZADOS HASTA EL FIN,ESE ES UN CRECIMIENTONECESARIO PARA
PRODUCIR UN BUEN MANEJADOR DE INTERFASES. Si gente la
verdaderamente va a usar mdquinas inteligentes, entonces estas mdquinas deben
actuar en parte como la gente, ya que la gente
ha tenido que acostumbrarse a este
tipo de interface.

EL HOMBRE VS. LA MAQUINA

S e determinb que el programa fue inteligente si es que este actub en la manera


similar queun humano quiense confronta con el mismo problema.

De todas maneras tu deberas entender que hay una astuta diferencia entre el
y el que actúa comopersona.
programa que actúa inteligentemente

Esta diferencia está basada en EMOCIONES Y PERSONALIDAD : generalmente


APPEARING HUMAN requierem&que unasimpleinteligenciaqueresuelva
problemas.

Esto implica que la computadora debe tener alguna clase de identidad total como
una personalo tiene.Esto da lugar a quese sigan dos preguntas interesantes :

¿PUEDEN LAS COMPUTADORAS TENER EMOCIONES?

¿PUEDEN LAS COMPUTADORAS TENERPERSONALIDAD?

EMOCIONES DE UNA MAQUINA

Uno de los argumentos mas frecuentesencontradequelacomputadora sea


capaz de imitarcompletamentelaconductadelhombre, es que los humanos
puedensentiremocionesy las computadorasnopueden.Actualmenteeste
argumento es insustancial.

Los humanos notienen forma de saber si la computadora tiene emocioneso no; de


hecho la gente no sabe si ellos mismos son dueños de sus emociones . Por lo
tanto,paradecirquelacomputadoranotieneemociones seríahaceruna
conclusi6n arrogante.

Una visibn delos estados emocionaleses qpe no son conectados al cognositivo de


las personas por medio de unproceso; pera algunas
se basan en los instintos.
PERSONALIDAD

Si tu eres un fanático del cine de ciencia ficción entonces probablemente sabes


tu
que las computadoras no tienen personalidad, sin embargo, si una computadora
actúa como un ser humano eso hace parecer que debe tener alguna clase de
personalidad.

No es obvio como la personalidadse desarrolla en lapersona. Ciertamente algo de


lapersonalidad es establecidodemaneragenética y algoporinfluenciade
experiencias.
E n vistadeque partedelapersonalidadhumana es incontrolable,parece
justificado que unoacepte la solución de que dar personalidad a la computadora
es
simplemente permitir que se programe de esa manera, por eso programarla para
que exhiba personalidades responder porsus rasgos y cualidades.

La computadora actualmente no cuenta con una personalidad acertada, algo de


eso es tener que mostrar una conducta como lo sugiere la personalidad (aunque
algunasveceslagentemuestraaccionescontrariasasupersonalidad, o
actúa fuera desi )

Para este capítulo la personalidad de la computadoranos dará a conocer cómo la


computadora responde ante varias situaciones.
Como verás, en nuestros días, es completamente fácil dara la computadora varias
personalidades.

GOING TO THE DOCTOR ( IR CON EL DOCTOR )

y que sigue siendo el programa más


Uno de los primeros programas de esta clase
famosoconaparienciahumana, es ELIZA, creadapor JosephWeisenbaun.
Como se menciona al principio los actos de ELIZA, son como los del siquiatra
ROGERIAN.
( EL SIQUIATRA ROGERIAN TRABAJA POR UNA SIMPLE REPETlClON DE LO
QUE RESPONDEN LOS PACIENTES-EL CUAL TEORICAMENTE PERMITE QUE
EL PACIENTE SE AUTOANALICE-)

Aún cuando los programas de esta clase parecen un modo d6cil para programar
una computadora en nuestros días, ellos pueden mantener una impresi6n algo no
familiar con " Trucos paralo tratado ".

Es en este espíritu, por lo que esta sección desarrollo el programaDOCTOR (


UNA VERSION SIMPLE DERIVADADEL PROGRAMA ELIZA)
COMO TRABAJA EL PROGRAMA ORIGINAL ELIZA

El programaoriginal ELIZA, simplementerepitelasobservacionesdelpaciente


usando una palabra clave de reconocimiento.

Cuando el programaencuentrapalabrascerterasenlascreacionesdelos
pacientes,semejantesa "AMOR', "ODIO", o "QUIERO" el programapodrd
responder con una respuesta relacionada con las palabras claves.

Secundariamente, el programapodrárecordar los temasselectosquepuedan


usarse para mantener una conversaci6n.

Finalmente el programa podrá reconocer algunas frases claves como"TEODIO",


y podrh mostrar una respuesta específica.

El di&logo siguiente muestra una idea general


:

DOCTOR COMO ESTASHOY?


PACIENTE --BIEN
DOCTOR ESTAS FELIZ
PACIENTE --NO, ODIO MI VIDA
DOCTOR POR QUE ODIAS TU VIDA?
PACIENTE --POR QUE NADIE ME QUIERE
DOCTOR YO TE QUIERO
PACIENTE --BUENO, TU SI
DOCTOR HABLEMOS MAS DE TI
PACIENTE --NO QUIERO
DOCTOR ME DICES QUE NADIE TE QUIERE.. .

Este tipode diálogo podrá continuar hasta que


el paciente se canse.

Diversasversionesde la clasedelprograma ELIZA, hantenidoqueser


desarrolladas por años. Algunas son extremadamente bien desarrolladas y no han
podido ser distinguidas por un siquiatra humano.

LA PRIMERA VERSION SIMPLE

La primera versión que desarrolla esta capítulo será muy pequeña y f3cilmente
confusa, pero establece un escenario para improvisar. Esta versi6n no recuerda
ningún tema y simplemente repite lo que el paciente responde, al menos que el
pacienteseintroduzca a lafraseclave;estaversiónescompletamentesin
personalidad o emocibn.

Aquí esta el programa completo:


I*
A very simple versionof Doctor
I*
database
responses (string)
temp (string)
transLate (symboL,symboL)

predicates
converse
patient
doctor (string)
respond (string)
purge
goaL
assert (responses("How are you?")),
assert (responses("Did you have a happy childhood?")),
assert (responses("Did youhate your father?")),
assert (responses("Do you have friends?")),
assert (temp("")),
assert (transLate("l","You")),
assert (transLate("You","I")),
assert (transLate(you,me)),
assert (transLate(your,my)),
assert (transLate(me,you)),
assert (transLate(my,your)),
assert (transLate(am,are)),
converse
cLauses
converse :-
temp(S),
S=quit,
purge.
converse :-
retract(temp(S)),
doctor(S),
patient,
converse.

doctor(""):-
/* no response from patient */

retract (responses(R)),
assertz (responses(R)),
write(R),nL.
doctor("No"):-
write("teLL me more")nL.
doctor("Yes"):-
write("ah ...teLL me more"),nL.
doctor("1 hate you"):-
write("Why do you hate me?"),nL.
doctor(S):-
respond(S),
write("?"),nL.
respond("").
respond(S) :-
fronttoken (S,T,S2),
transLate (T,T2),
write (T2,""),
respond (S2).
respond(S):-
fronttoken(S,T,S2).
write(T,""),
respond(S2).

patient :-
writer: "),
readLn(S),
assert (temp(S)).

purge :-
retract (transLateC,J),
faiL.
purge :-
retract (temp
purge :-
o),
faiL
retract (responsesu), faiL
purge.

Esta versión de DOCTOR trabaja simplemente repitiendo como pregunta lo último


que el paciente afirmó.

Para hacer esto, el predicado respuesta utiliza la base de datos de traducci6n


para inventar el contexto dealgunas palabras como, "MIO" por "TUYO".
Si la respuesta no encuentra la palabra en la base de datos de traducción,
entonces la palabra es simplemente reimprimida tal cual es. Detodas maneras si
el paciente introduce solamente un"SI" o un "NO", o la frase clave ''.TEODIO", el
predicado DOCTOR maneja esta respuesta directamente. Tu puedes fhcilmente
expander las frases y palabras que el programa conoce para permitir que este
procese unagran variedad de respuestas.

Si el paciente se introduce sólo al retorno, entonces la fraseDOCTOR usará un


estereotipo de respuesta delas respuestas de la base de datos.El programa usa
el ajuste de la base de datos para mentener las respuestas delos pacientes hasta
que DOCTOR pueda procesarlas.

Lo siguiente es una muestra de una clase de diálogo que esta versión puede
introducir. El DOCTOR siempreempiezacadadiálogo y el programaindicaal
paciente con un puntoy coma o dos puntos.
How are you
: I am fine
You are fine?
: Yes,but my friend isn't
Yes,but your friend isnY?
: He hasa probLem
He hasa problem?
: I hate you
Why do you hate me?
Did you have a happy childhood?
: No
TeLL me more.

Una terapia con este doctor podrá ser completamente aburrida¡

Despues tu veras como añadir algunos adelantos.

MEJORANDO EL PROGRAMA DOCTOR

Uno de los mas importantes rasgos característicos del programa originalEliza, es


que este puede guardar elrastro seguido de temas que el paciente menciona.
Cuando la conversacibn empieza a declinar,el DOCTOR puede iniciar al paciente
para que tome unode los temas otravez. Adicionado a esta capacidadse requiere
de otra base de datos para almacenar las respuestas de los pacientes. Tambih,
simplemente repitiendolas respuestas de los pacientes, es aburrido y no realmente
humano. Para remediar esto, la traducción de la base de datos podrá guardar
palabras claves y respuestas. Cada vez que el programa reconoce una palabra
clave, la pantalla mostrará una respuesta apropiada.

El cambio m8s grande parael programa esta enel predicado delDOCTOR y en la


respuesta, como se muestra aquí :

doctor ( ):-'I 'I

/* no response from patient


check patientresponse fiLe */
retract (topics (R)),
R<>" 'I

write ("You just said",""),


write (R,""),nL,
write ("TeLL me more nL.
...If),

doctor (S):-
respond(S),
assert (topics(S)),
nL.
doctor(_):-
/* no response from patient
check patientresponse fiLe */
retract (topics(R)),
Ro" 'I.

write (You just said ",""),


write (R,""),nL,
write ("TeLL me more nL.
...I1),

doctor(_):-
/* unknow response from patient */
retract (responses(R)),
assertz (responses(R)),
write (R),nL.

respond (""):-faiL.
respond (S):-
fronttoken(S,T,J,
transLate (T,T2),
write (TZ,"").
respond(S):-
fronttoken (S,-,S2),
respond(S2).

Estos predicadostrabajan así : si elpacientesimplemente se introduceala


conducción de retorno, entonces la primera cláusula
deDOCTOR trata de regresar
al tema previo.

Si el tema previono esta en la base de datos, entoncesel programa selecciona un


estereotipo de respuesta entre las respuestas de la base de datos. Si el paciente
no se introduce a la oración, entonces respuesta
la es llamada.

Para el éxito, larespuesta debe encontrar la palabra clave en la oración. Si es así,


se imprime la respuesta yes enlazada a la palabra clave y terminales. Si no es así,
tratara en lasiguientepalabradelaoración usando laterceracláusuladel
DOCTOR.
Si esta llega hasta el final de la oración, entonces el predicado integro caerh. Si
esto sucede, se forzara la ejecución de la cláusula final deDOCTOR. Esta clAusula
final de DOCTOR, esla misma como la primera cláusula. El programa integro se
muestra aquí :

/* An improved Doctor program that remembers topics and


uses key wordsto generate responses.
*I

database
responses (string)
temp (string)
transLate(symboL,symboL)
topics(string)

predicates
converse
patient
doctor(string)
respond(string)
purge
goaL
assert (responses("How are you ?")),
assert (responses("Did you have aha py childhood?")),
assert (responses("Do you P
hate your ather?")),
assert (responses("1'm not sureI understand")),
assert (responses("G0 on")),
assert (responses("Do you have friends?")),
assert (temp("")),
assert (translate("think","Why do you thinh that?")),
assert (translate("you",Let's not talk about me.")),
assert (translate("hate","So you hateTeLL me more.")),
assert (translate("what",'Why do you ask?")),
assert (translate("want","what would you dowith it?")),
assert (translate("need","We aLL need many things.")),
assert (translate("why","Remember,therapy is good for you.")),
assert (translate("know","How do you know that?")),

cLauses
converses:-
temp(S),
S=quit,
purge
converse :-
retract(temp(S)),
doctor(S),
patient,
converse.

doctor("") :-
/* no response from patient
check Datientrewonse fiLe */
retract (topics(R)),
Rc>I'I1.
write(';You just said 1111111 ) I

AÑADIENDOALGO DE PERSONALIDAD Y EMOCION

Tu puedes hacer que el programa se presente para tener emociones alterando


respuestas para acertar palabras claves. Por ejemplo, la palabra c1ave"murder"
debe teneruna respuesta no me gusta la gente que asesina".
I'
También tu debiste escoger una personalidad para el DOCTOR y hacerle a la
medida las respuestas para el.
Por ejemplo, si tu quieres que el DOCTOR sea optimista, tu debes cambiar la
respuesta "núnca" por "no seas negativo, piensa positivamente".

Finalmente esto debe ser agradable si el DOCTOR llego a molestarse cuando el


paciente repita la declaración.Para hacer estose requiere que tu añadas otra base
de datos que guarde las respuestas de los pacientes y para cambiarel predicado
paciente como se muestra aquí.
El contestador exacto es una base de datos que guarda las respuestas de los
pacientes :

patient(S) :-
patresponses(S)
write("You are repeating yourself."),
nL,
write(":"),
readLn(S2),
patient(S2).
patient(S) :-
assert (patresponses(S)),
assert (temp(S)).

Con este cambio, cuando el paciente se introduzca a las respuestas idénticas por
la que fue previamente introducida, el doctor responde con una represión y el
programa indica al paciente por una nueva oración.

La versión expandidase muestra aquí:

I*
An expanded doctor program that shows some emotions
and displays aLittLe personality.
*I
database
responses(string)
temp(string)
transLate(string)
topics(string)
patresponses(string)

predicates
converse
patient(string)
doctor(string)
respond(string)
purge
goaL
assert(responses ("How are you this beautiful day?")),
assert(responses ("Did you have a happy childhood?")),
assert(responses ("Do you hate your father?")),
assert(responses (I'm not sure understand")),
assert(resp0nses ("Goon")),
assert,(responses ("Do you have friends?")),
assert:(temp("")),
assert:(transLate ("unhappy","why are you unhappy?")),
assert:(transLate ("think" ,"whydo you think that?")),
assert:(transLate ("you","Let's not talk about me.''))l
assert:(transLate ("hate","So you hate teLL me more.")),
assert:(transLate ("what","why do you ask?")),
assert:(transLate ("want","what would you do with it?")),
asserI:(transLate("need",'We aLL need many things.")),
assert:(transLate ("why","Remember,therapy is good for you.")),
asser1:(transLate ("know","How do you know that?")),
asser1:(transLate ("murder","l don't Like kiLLing.")),
is wrong to kiLL")),
asser1:(transLate (IlkiLL''llllt
asser1:(transLate ("'jerk,"Don't you ever caLL me a jerk!")),
assel1:(transLate ("never","Don't be negative;think positive!"))
assel1:(transLate ("faiture","Makeit a success")),
conw5 rse

clauses
converse:-
temp(S),
S=quit,
purge.
converse:-
retract(temp(S)),
doctor(S),
write(":"),
readLn(P),
patient(P),
converse.

doctor(""),
/* no response from patient
check patientresponse fiLe */
retract(topics(R)),
R<>""
write('You just said",""),
write(R,""),nL,
write('"teLL me more nL.
...I1),

doctor(""):-
/* no response from patient*/
retract (responses(R)),
assertz (responses(R)),
write(R),nL.
doctor(S):-
respond(S),
assert(topics(S)),
nL.
doctor(J:-
/* no response from patient
check patientresponse fiLe*/
: why
You are repeatingyourself.
: Hey, who caresjerk
Don't you evercaLL me a jerk!
: I'LL caLL you ajerk any time I want to
Let's not talk about me.
: I am unhappy
Why are you unhappy?

El DOCTOR definitivamente, parece tener ambas, ( Personalidad y un toque de


Emociones ). En laversiónanterior,eldoctorestabacompletamente pasivo y
parece meramente satisfecho para monitorear la conversacibn del paciente. De
todas
maneras,
como se muestra en el diálogo, el
Doctor
actúa más
agresivamente aconsejando y molestándose con las repeticiones delos pacientes.

Es impresionante como una pequeña cantidad de un código adicional puede crear


la impresión de emociones y personalidad. Tu deberías experimentar con otros
tipos de personalidad y emociones.

EXPANSION DEL PROGRAMA DOCTOR

Hay diversos accesos para expanderel programa. Tu podrás añadir


más palabras,
claves y frases respuestaa la base dedatostraductora. Este acceso es
totalmente sincero;nodeberías tenerproblemas pensandosobre interesantes
aditamentos.

Tambikn debes de tratar de darle doctor


al algunas emociones.

Otroforma de crecer0aumentarcapacidad es mucho más difícil : tu podrás


integrar unacursiva - descendientedellenguajenaturaldentrodelprograma,
entonces este podrá responderm& específicamente a cada frase que remarque el
paciente, en vez de buscar solo palabras claves.

Finalmente tu debes tratar de que las emociones que tiene elDoctor cambien de
acuerdoprogresa la discusión,
estos
cambios
deberían
estar basados
preferentemente en las respuestasde los pacientes. En esencia tu estarás
afladiendo cambios de ánimo.

Ya sea o no, tu éxito no es tan importante como el conocimiento que tu lograste


para la simulaciónde la conducta humana.
IMPLICACIONES DE ACTOS HUMANOS EN LA COMPUTADORA

E n relación a la simulación de conducta humana, es interesante considerar las


implicaciones sociológicas de la gente artificial(Humanoides).
Si un robotautónomo es suficientementeexitosoexponiendoactoscomo ser
humano; ¿ la gente empezará por reconocerlo como algo más que una máquina?.

Por el momento, se ignora lo que el Robot debeo no debe querer.La pregunta es


G que es lo quequiere la sociedad de esta clase deRobot?. La gente
comunmente llega a ser atacada emocionalmente por mascotas, perros y gatos.
y lealtad por
Esto hace parecer que la gente podrá llegar a sentir el mismo afecto
los humanoides.

De todo esto, otropuntointeresantedeconsiderar es la responsabilidad si un


humanoide enloquece y mata a una persona ¿ a quien se culpa ? al robot o al
programador quien pudo tener seguridad para evitar esta negligencia.
De todas maneras, en el caso de que un Robot sofisticado (cuya menteeste
integrada por billones de bytes of code ) tenga la habilidad para aprender a
interrelacionarse con humanos, esto claramente no determina que pueda haber
una falla.

Finalmente podrían las máquinas ser ¿ mas inteligentes que el hombre y actuar
como seres humanos ?.

INTELIGENCIA ARTIFICIAL: UN RAPID0PANORAMA EXTRAORDINARIO

Hasta el momento, mucha gente ha considerado el campo de IalNTELlGENClA


ARTIFICIAL O IA, como el ladomás oscuro dela ciencia de la computación,se ha
creidoquecomoShellycreóal Dr. Frankeistein,intentandocrearlavida,los
programadores deIA trabajan para crear memoria.

Investigadoresdela InteligenciaArtificial como los mejoresenlaciencia


computacional fueron paradogicamente considerados como fanáticos.

Cuando se esforzabanpordarunavisiónenlaposibilidad o práctica de la


Inteligencia de la
máquina, los principalesprogramadorescuidaron
evitar
referencias de IA, diciendo que 'I mucha investigación se ha mantenido en lo
que será " y que " algún tiempoen
el
futuro,habrá
importantes
descubrimientos ".
La visión en la inteligencia artificial definitivamente tiene que cambiar.

En menos de 5 años, la InteligenciaArtificial ha dejadode ser uncampo


pequeño en la ciencia de la computacicin para llegar aser el más importante para
pensar en el desarrollo delas computadoras desde que se crearon los transistores.
Este cambio tan rapid0 estabasado en cuatro factores claves:
I) El bxito en los sistemas expertos, que fueron verdaderamente los primeros
para
producir IA.

2) La buena publicidad japonesa de IA

3) La creación de un buen lenguaje de IA, prolog

4) El hecho de que el tiempo de la IA ha llegado.

Con la creación del TURBO PROLOG,la programación de laIA ha sido accesible


para todoslos programadores.

Por mucho tiempo, todoslos lenguajes delA eran accesibles sólo en una extensa
y principal fábrica de computadoras.

TURBO PROLOG, hizoposible elescribir unaaplicaciónrealde IA enuna


microcomputadora.

Porque es excelente el soporte comunmente aprovechable de las fracciones del


HARDWARE como son el color, gráficas y sonido, el Turbo Prolog lo hace fhcil
para el desarrollo profesional de búsqueda
la del programa.

Además recuerda, que usando varios esquemas de indices, puedes hacer listas
tan eficientes como el mbtodo de
los árboles.

La presentación del conocimiento comoNETWORK, estan fascinante y poderosa


como compleja.El conocimiento NETWORK se basa en dos condiciones :

PRIMERA.- el conocimiento en Network es representado por nudos en una grhfica


no jerarquizada : lo contrario del método deárboles, todoslos nudos en el Network
tienen la misma importancia y ninguno de ellos puedeser utilizado como un punto
estrella.

SEGUNDA.- los nudos son acomodados, entonces los tipos


similares
de
conocimiento son agrupados cerca de los otros, esto es que los nudos adyacentes
tienen enlace Near-miss.
En teoría este método debe ser completamente eficiente ya que se hace cada
transiciónparaunnuevonudo , yaquevanenladireccióndeincrementar
similarmente ( actualmente el método muestra cada nudo que conecta con el nudo
actual y eligeuno comoel más consistente con la evidencia).

Por todo esto, el mejor modelo de Network también contiene listas o indices que
ayudan a seleccionarel nudo apropiado para cada situación.

E n elpeor de los casos, si tuaccidentalmente escoges el nudoconmenor


similitud, el Networklo rechaza de la lista.

Una ventaja para el método Network en la representación del conocimiento


es que
este es f&cilyeficienteparamanejar ambos conocimientos ( jerárquicoyno
jerárquico ).
Algunos investigadoresde InteligenciaArtificial creenenelmodeloNetwork
como el más cercano al métodode representación del conocimiento humano.

IMPLEMENTACION DEL PROCESOHIT-AND-NEAR-MISS

De las tres maneras en que el conocimiento puede presentarse, la m& fdcif y la


mas rápida cuandose usaen Turbo-Prolog, es la lista.

Entonces, ese es elmétodoque usaremospara laimplementación de la


descripción de claseHIT-AND-NEAR-MISS.
Tal como ha sido la descripción del algoritmo HIT-AND-NEAR-MISS, el programa
descrito en este capítulo es la versión más simple, como sea aún así esta versión
simplepresentaalgunosproblemasclaramentedesafiantes, si es que tu lo
implementas en la formamás general.
Desafortunadamente, la solución de algunos de estos problemas requiere un gran
trato de clave y cláusulas enlas bases lógicas de cada aplicación.

Por lo tanto la versibn aquí desarrollada será aprender correctamente la clase de


descripciones, asumiendo que elmaestro sigue un estrictoformato,elcual se
explicará m& adelante.

La clave para implementar la definición de clase de proceso aprendida es para


mantener dos listas por cada clasificación.

La primera lista contiene atributos que la clasificación debe tener.

Aunque solamente la lista requeridaes necesitada para definir laclase, la lista que
debetener es usada paraenvolverelmodelo. Como lacomputadoraaprende
y si se esta
nuevas atribuciones da lugar a ellas primero en la lista que debe tener
estudiando Near-Miss esa solamente cambia las atribuciones a la lista requeridasi
estas aprenden que ellas deben ser la parte de la definición.

DIRECCIONES PARA UN DESARROLLO MASAMPLIO

Cuando el programa se escribe , se usará una IistaOR para crear clasificaciones


dentro delas clasificaciones.
Tu debes tratar de volver a escribir el programa, ciertamente este usará nombres
simbblicos para estasegunda clasificación y realmente la vas a instalar dentro de
una base de datosCLASS junto con los que deben ser.
Otro adelanto que tu encontrarás interesante para añadir es crear una tercera lista
que contenga lo que no presenta interrelación.
Aunque no se requiera técnicamente, la lista podrá hacerlo más fácil para que el
maestro introduzca información dentro de base la de conocimientos.
Finalmente si tu eresextremadamenteambicioso debesde tratar de usar el
proceso HIT-AND-NEAR-MISS como significado para captura de información para
uso de un sistema perfecto que fue desarrolladoen Chapter 3
Cuando hayas leídoestecapítulo tendrssqueadivinarquelamáquinade
aprendizaje es en el lenguaje de programadores de computadoras unDO-ABLE (
capaz de hacer).

El significadodelproblema es unopormagnitud : es demasiadosimplepara


aprender queeso esdeformar la facilidad de almacenamiento de la computadora.

Cada clasificación es almacenadaenuna base dedatos lacualsostiene su


nombre y lista.La declaración necesaria se muestra aqui:

domains
attribute = attr (string,string,string)
List = attribute*

database
cLass (symboL,List,List)
/* name, must, can*/

Nota : esta listaes una lista de objetos compuestos quese usan en el factor ATTR.
El uso de objetos compuestos simplificar& grandemente el argumento de la lista de
algunos otros predicados, como verás.

El significado Loop enel aprendizaje se muestra aquí :

/* this is the main Learning Lopp*/


Learn(cLassName,[l,E),
example(cLassName,[],E),
retract(cLass(CLassName,R,C)),
generaLize (E,C,Can,R,R2),
nearmiss (CLassName,[],M),
restrict (E,M R 2,Reg)
I I

reconciLe(Req,Can,Newcan),
assert(cLass(CLassName,Req,Newcan)),!,
write("More? (yh)"),
readLn(Q), Q=y,
Learn(CLassName).
EL PROCEDIMIENTO DEL HIT-NEAR-MISS

Es el momento de trasladar el ejemplo que se nos dió del metodo de aprendizaje


de descripción declases HIT-NEAR-MISS dentro del logaritmo que la computadora
puede usar. Aún cuando finalmente tu quieras transformar los procedimientos que
seguiste dentro de la "Versi6n Turbo Prolog", primero hay que estudiarlo en su
forma de procedimiento.

El algoritmo HIT-AND.NEAR-MISS , crea dos suposiciones :

PRIMER.0.- esun instructor que presenta cualquiera de


las dos pruebas
como parte de laclase deNEAR-MISSES, y núncamiente acerca delas pruebas.
SEGUNDO.- el primer ejemplo tiene que ser una prueba válida, por queesa es la
forma del modelo inicial.
Dando esas suposiciones el algoritmo HIT-AND-NEAR-MISS, es como sigue:

- Observar la muestray la forma de/ modelo inicial.


- Observar la prueba
- Si aciertas hay que generalizar
- Esto es limitado
- Se concluye

E n este punto, no es importante la forma como se observe la prueba o como se


forme el modelo inicial.Como sea es desicivo que comprendasel algoritmo, que tu
veas como el modeloes generalizado y restringido.

Aquí estan los procedimientos para complementarlo en sus formas más simples.
Para ( completarlaformade estos procedimientos,tienesquetomarcomo
referencia el libro delSr. Winston )

PROCEDIMIENTO RESTRINGIDO

- Determinar la diferencia entre los near-miss y desarrollar el modelo.


- Si el modelo tieneun atributo oculto.. .
- E n el near-miss, se requiere este atributo.
- Si el near-miss tiene un atributo oculto.. .
- En el modelo se excluye ese atributo.
PROCEDIMIENTO GENERALIZADO

- Determinar la diferencia entreel ejemplo yel modelo desarrollado.


- Reconcilia la diferencia por ampliación de modelo.

Como puedes ver, aunque es fácil de describir a los procesos generalizados y


limitados, no es para implementarlos. El aspecto m6s difícil consiste en reconciliar
las diferencias y ampliar el modelo, como se requiere para generalizar el proceso.
Para entender por que es así, recuerda el ejemplo del arco. Si a la computadora se
leenseñó el arcocon el cilindro,laestructuratendrdqueexhortar el proceso
generalizado. Ya que la única diferencia, entre la descripción actual y la muestra,
fue la formaquehaysobre el arco, el procesogeneralizadodebecambiar el
modelo para permitir que ambos ( cilindro o bloque ) puedan colocarse enlo alto; ¿
cual es la mejor manera para hacer esto ?, hay dos propuestas:

La primera propuestaes crear una lista OR ( con opciones) , en este caso la parte
del modelo que determina que va en lo alto del arco sería "DEBE TENER UN
BLOQUE O UN CILINDRO EN LOALTO'.
Esta propuesta es la más fácil, pero tiene ciertas fallas cuando la computadora
encuentra un extenso número de variables u opciones.

La segunda propuesta es para la computadora, para crear una nueva clase de


caraterísticas y para que use una clase de nombre específica en el modelo. En
este caso, al preguntarse ¿ qué hay en lo alto del arco ? la respuesta sería debe
tener BC en lo alto donde BCes la clase de nombre referente a
'I la clase de
objetos que podrían estar enlo alto, en este casoBC solo contiene como opciones
"BLOQUE O CILINDRO";perocomosea,sepuedeampliarsincambiarasíla
definición del modelo inicial.

DOS PRINCIPIOS IMPORTANTES

Aunqueno
es
completamente necesario
para
correcta
la operación
del
procedimiento HIT-AND-NEAR-MISS, hay dos principios que cuando se aplican
grandiosamente mejora la eficiencia y la calidad.
El primero es llamado" NO GUESSING " ( no adivinar ), y es invocado cuando la
computadora no puede confiadamente percibir la diferencia entreel modelo actual
y el near-miss, esto es porque cuando hay una duda acerca de c6mo debe ser el
aprendizaje la computadora no debe aprender nada. Aunque este principio debe
sonar conservador, este ayuda a evitar errores.

Este principio no necesita ser invocado si es que el maestro siempre abastece el


near-miss con diferencias obvias.
El segundo principio es llamado NO ALTERING ( no alterar ) . Si el maestro
I' 'I

abastece elejemplocorrecto, eso fracasaparaligarloconelejemploactual,


entonces la computadora crea por separado una clasificación especial de casos
antes detratar de expander la clasificación actual para cubrirlo.
Por ejemplo, la definición de un automóvil debe contener que este presenta una
ingeniería de combustión interna, por lo tanto, la computadora entenderá que un
carro electrice es miembro deuna clasificación decaso especial.
Ya que ambos principios son invocados sólo en situaciones de conflicto, estos
pueden evitarse si elmaestro es cuidadoso con los ejemplos. estos no podrán
adaptarse al programa que será desarrollado es este capítulo. Como quiera que
sea tu necesitas implementarlos para cualquier aplicación en el mundo real.

Más adelante del capítulo, verás una simple implementación del Hit-Near-Miss
como vía de acceso para aprender las clases de definiciones, pero antes de que
puedas desarrollar cualquier programa, debes entender varias formas en que una
computadora puede presentar y acumular conocimientos.

PRESENTACION DEL CONOCIMIENTO

Además de las obvias dificultades de inventar un programa que pueda aprender, el


problema secundario es crear un modo de acumular el conocimiento adquirido
dentro de la computadora.Tantola
naturaleza
del
conocimientocomola
preferenciadelprogramadordeterminanelmodo enque elconocimiento es
representado. Hay varias técnicas que tienen que desarrollarse enel campo de la
representación del conocimiento.

Las mhs importantes son las siguientes :

TREES ( Brboles )
LIST (listas )
NETWORKS (redes )
a continuaciónse determinará cada una deesas tecnicas :
TREES :

Para entendercomoelconocimientopuederepresentarse conestatecnica,


considera quela tecnicaes usada para acumular la información acerca de cuadros,
triángulos y trapezoides.
Un sistema experto que utiliza el árbol del conocimiento, siempre se preguntar6
si este es el que se usa para responder preguntas apropiadas.
La técnica de los árboles lleva un genero jerárquico, y por lo tanto, sólo deberán
usarse paraacumularjerárquicamenteelconocimiento. Como sea estono es
totalmente una restricción ya que mucho conocimiento cae en esta categoría.
La gran ventaja de usar la técnica de los árboles es la dificultad de construcción y
mantenimiento de lamisma, para que sean eficientes.

El nivel más alto asociado con la tecnica de los árboles resulta inatractivo cuando
sólo quieres guardar una pequeña cantidad de conocimiento.

LISTAS :

Como ya sabes, las listas son importantes para el éxito en la programación del
"TURBO PROLOG", lo que tienes que saber ahora es que las listas siempre han
sido el metodo tradicional de representación del conocimiento de lalnteligencia
Artificial.

La primera razón para esto es que LIPS ( LISTPROCESSING ) es elprimer


lenguaje de la Inteligencia artificial y fue diseñado para manejar eficientemente
las listas. Lo quehace particularmenteque las listas sean atractivasparala
representación del conocimientoes que son muy fáciles de trabajar con ellasen el
TURBO PROLOG.

Para entendercomoelconocimiento es representado enlistas,imaginaun


catálogo de programas en una librería.
Si tu estas buscando unlibro sobre un tema específico, tu podrás hojear cada
programa, excluyendo aquellos que no pertenezcan a lo que estas buscando y
detenerte
cuando
encuentres
el
libro
que buscas, en otras
palabras, el
conocimiento acumulado es como una lista que requiereuna búsquedasecuencia1
para recuperarlo.

Aunque las listas sólo pueden ser procesadas secuencialmente, son importantes
porque las puedes usar pararepresentar algunos o todos los tiposde
conocimiento.
Esto es flexiblemente grandioso para que sean importantes, en un primer lugar
para la INTELIGENCIA ARTIFICIAL.

El LOOP trabaja así, el enunciado ejemplo es usado para leer, en un ejemplo de


mNOMBRE.
user-imput este pertenece a la clase específica como

El actualmodelo es extraídodela base dedatos y se generaliza usando


GENERALIZA.
El enunciado PESTRIG es usado para restringir el modelo comose ha definido por
el procedimiento del Hit-And-Near-Misses.

REC0NCU.E una pequeña limpieza antes de que elLOOP reemplace la definición


a la fecha en la base de datos, este círculo se repite hasta que no haya m i s
ejemplos yNear-Misses.

El programaentero se muestraacontinuación, enestemomento tu deberás


trabajar en tu computadora.
"
"

I* A simpLe impLementation of the "hit and miss 'I

cLass description Learning procedure


*I
domains
attribute = attr ( string, string, string)
List = attribute*

database
cLass ( symbol, List, List )
I* name, must, can*I

predicates
Learn(symboL)
restrict(List,List,List,List)
generaLize(List,List,List,List,List,)
add(attribute,List,List)
member(attribute,List)
append(List,List,List)
example(symboL,List,List)
nearmiss(symboL,List,List)
remove(attribute,List,List)
reconciLe(List,List,List)
display-knowledge
writeList(List,integer)
goaL
start.

cLauses
start:-
write ("Learn or display? (UD) "),
readln(Q),
Q=L,
write ("cLass name : "),
readLn(Name),
assert(cLass(Narne,[],[])),
Learn(Name).

start :-
display-knowledge.
/* this is the main Learning Loop
*/
Learn(CLassName) :-
exampLe(CLassName,[],E),
retract(cLass(CLassName,R,C)),
generaLize(E,C,Can,R,R2),
nearmiss(CLassName,[],M),
restrict(ElM,R2,Req),
reconciLe(Req,Can,Newcan),
assert(cLass(CLassName,Req,Newcan)),!,
write("More? (yln)"),
readLn(Q), Q=y,
Learn(CLassName).

/* get attributes of a correct example


*/
example (Name,L,E) :-
write ("E: subject"),
readLn(S),
SO""
write ("E: verb'I),

readLn(V),
write ("E: object"),
readLn(O),
add(attr(S,V,O,),L,E2),
example( Name,E2,E ).
exampLe(_,E,E).

/* get attributes of a near-miss


*/
nearmiss(Name,L,E) :-
write("M: subject"),
readLn(S),
write(:'M: verb"),
readLn0,
write("M: object"),
readLn(O),
add(attr(S,V,O,)L,E2),
nearmiss(Name,E2,E).
nearmissCE,E)

/* restrict the definition*/


restrictC,[],Req,Req).
restrict(E:,[M Mt],Req,Req2):-
/+ if the part of description continue*/
remove (M,E,Et),
restrict(Et,Mt,Req,Req2).
restrict(E,[attr(S,V,O) Mt],Req,Req2):-
/* check for the negation of a trait
*/
fronttoken (Vl-V2), /* remove the not/*
fronchar (V2,-,V3),
remove (attr(S,V3,0),E,Et),
add(attr(S,V3,0),Req,R), /* add to requirements List*/
restrict(Et,Mt,R,Req2).
restrict(_,-,Req,Req).

/* generaLize the model*/


generaLize([],C,C,R,R).
generaLize([attr(S,V,O) Et],ClC2,R,R2) :-
/* create new cLassif common verbis encountered in required
List with different subject
*/
member(attr(_,V,O),R),
remove(attr(X,V,O),R,T),
x<>s,
fronttoken(Nc,"",X),
fronttoken(NewCLass,S,Nc),
add(attr(NewCLass,V,O),T,T2),
generaLize(Et,C,C2,T2,R2).
generaLize([attr(S,V,O) Et],ClC2,R,R2):-
/* create new cLassif common verb is encountered in may
have List with different subject
*/

member(attr(_,V,O),C),
remove(attr(X,V,O),C,T),
x-S,
fronttoken(Nc,"",X),
fronttoken(NewCLass,S,Nc),
add(attr(NewCLass,V,O),T,T2),
generaLize(Et,T2,C2,R,R2).
generaLize([E Et],ClC2,R,R2) :-
/* otherwise add to may have List
*/
not (member(E,C)),
add (E,C,C3),
generaLize ( EtlC3,C2,R,R).

generaLize(L T],ClC2,R,R2) :-
generaLize(T,C,C2,R,R2).

append ([],List,List).
append ([X LI], List2, [X L31): -
append (L1 ,List2,L3).

/* cLean up the may have List


*/
reconciLe ([],C,C).
reconciLe ([R T],C,C2):-
remove (R,C,C3),
reconciLe (T1C3,C2).
reconciLe (LT],C,C2) :-
reconciLe (T,C,C2).

writeList([],J.
writeList(attr(S,V,O) TaiL1,3)
-. , :-
write(S," ",'v;'~i',ó)lnL1
nL,writeList(TaiL,I).
writeList([attr(S,V,O) TaiL],I) :-
N=l+l ,
write(S," '',VI'' ",O),nL,
writeList(TaiL,N).

member(N,[N J.
member(N,L 1):-member(N,T).

remove(X,[X T],L) :-
Caso de Aplicación de Metodología:TELEPLEX

Como ejerciciodedesarrollodelametodología se tomócomo caso de


aplicacibnaunexpertoconfiauradorderedesdetelecomputación en el área
bancaria.

1. Descripción del Escenario.


El Experto.
Desarrollarconfiguracionesderedescomputacionales es unáreaque
involucra diferentes habilidades y conocimientos específicos dediversas áreas del
conocimiento. Es necesario dominarla
parte
de sistemas operativos
para
comunicaciones,telefonía,sistemasdetelecomunicacibndedatos,equipos
necesarios para hacer las interconexiones, líneas de datos, equipos necesarios
para hacer las interconexiones, líneas de transmisión,bases de datos, cálculo de
flujos, cargas, etc.,sobre redes. Conocimiento de los sistemas de información de la
organizaciónytambiénconocer las normasque tieneelgobiernoparala
implantacibn de este tipo de servicios.
Esta es una tecnología que depende mucho de los proveedores de equipos
con los que se ha contado en el pasado y del conocimiento que se tiene de las
estrategias corporativas de la empresa, que enmuchos casos ha estado sometida
adecisionesmuyespecialesy controversialessobretodoen los casos de
inversiones muy elevadas.
Este caso se puedeclasificarcomo una combinaciónde m i c o v
diseño dadala naturaleza del trabajo del experto.
A continuación se describen algunas actividades del experto.
Primero se llevaacabounanálisisgeneralde las necesidadesde la
localidad (matriz, filial, sucursal, etc.) y luego una vez establecido un diagnóstico.
S e llevan acabo una serie de pasos tendientes a probar que el diseno que se .-
propone es el más adecuado asu ambiente, el más conveniente, factible y óptimo.
Esto es necesario puesto quelas inversiones que se efectúan a largo plazo
son muy elevadas y requieren de todo el apoyo que les puede dar el asesor, así
como dela información que resulta delos casos simulados llevados a cabo.
El experto solo establece la configuración óptima de acuerdo alas políticas
y estrategias organizacionales, las ubicaciones físicas de las oficinas centrales y
localidadesdistribuidas, las necesidadeslocalesycentrales(dehardwarey
software) y las restricciones técnicas que tienen tanto las oficinas, los medios de
comunicaci6ny los equiposdisponiblesparaserinstaladosen las diferentes
localidades.
El experto también es responsable de resolver problemas quese generan a
nivel corporativo y que tienen que ver con el manejo y transferencia electrónica de
fondos EFT.
Debido a la magnitud de las actividades que hace el experto para diseñar
una red de telecomputación teniendo
y en cuenta toda
la
problemática
organizacional en particular. El Ingeniero de Conocimiento (IC) le pidió al experto
quedefinieracuáleseran las actividadesqueelexpertono hacíacuando
desempeiiaba estalabor deasesoría. Estas fueron las siguientes:
0 No hace el peritaje ni los trámites ante la Secretaría de los permisos para hacer
uso de los medios de transmisión federales, solo negocia los terminos de alto
nivel delproceso de adquisición de servicios.
0 No hace ninguna clase de desarrollo de programación de aplicación que estén
involucradas enel proyecto.
0 No hacearreglosconalgúnproveedorenespecialparaadaptarsistemas
operativos ni interfaces alas necesidades del cliente.
0 No resuelve problemas
deinformática
distribuida
a
nivel sucursal, sólo
corporativa.
Después de un análisis de funciones, el IC debe de haber resuelto varias
incógnitas que son cruciales para el desarrollo del SE, por ejemplo: cuál es el
beneficio específico de este experto, cufrl es su ventaja competitiva, cuál es su
valor monetario, que expérticees el que realmente valey nose puede adquirirá un
costo mas bajo, qué ventajas tiene el hacer SE un con estas especificaciones?
La Empresa.
Una vez descrito muy someramente el perfil del experto, veamos por parte
de la empresa cuál es la necesidad que ésta requiere de las habilidades de este
experto en particular.
Esta empresa se dedica a servicios bancariosy tiene varias oficinas en todo
el país y algunas filiales en el exterior. Además, requiere llevar a cabo actividades
de transferencia electrónica de fondos, autorización de créditos internaciones y
manejo de inversiones bursátiles, entre otras.
La empresa requiere en muchos casos transferir ciertos conocimientos a
algunas de las oficinasrecientementeestablecidasparaquetrabajenbajo los
mismo estándares de operación (centralizadao distribuidamente).
..
La empresa depende completamente de las declslonesque son generadas
por el departamento dirigido por el experto. Y aunque decisiones terminales son
tomadas por el experto,éI se asesora de varios especialistas en áreas específicas
ya sean tecnicas o administrativas.
La empresabancariatieneplanesdeexpansiónenformadistribuida
bastante ambiciosos en un plazointermedio.
2. Análisis de Protocolos.
Esta parte es “cómo”el experto tomadecisiones.
Es el momento de “mapear” la información obtenida con las alternativas.
Para esta situación en especialse establecen una seriede“casos”(puesto que ya
se conoce medianamente bienel proceder del experto y lo que 61 soluciona) para
identificar como resuelvelos problemas.
Para esto el IC usa un“análisisdeprotocolos”parainstruirsedel
comportamiento del experto ante un problema específico.
A continuación se presenta un caso que el IC en conjunto con el experto
deciden qu6 es prioritario e importante.

Caso de inconformidad en la transferencia electrdnica de fondos.


S e ha detectado una anomalía por eltenedor de una cuenta. En resumen, se tieneel
siguiente esquema de comportamiento de la situacidn.

N$ 100,000 no se le autorizdy se le penalizd con una multa.


l. El cliente hizo un cheque por
2. La transaccidn se hizo por un medio electrdnico.
3. Hizo la transaccidn en un ciudad que es nola de origen desu cuenta.
4. Una semana anterior se hizo un depdsito de dinero que facilmente cubría esa cantidad.
5. Este depdsito se realiz6 en MexicoD.F.
6. Es un cliente quecorporativamentehahechovariastransaccionesmillonarias en varias
localidades conel banco en cuestidn.
7 . S u linea de credit0 esta limpia.
8. Las conexiones telefdnicas han estado fallando un poco debido las alluvias en el país.
9. La sucursal enla que el cliente hizo latransaccidn,se puso en operacidn haceunos dias.

Posteriormente el experto hace un análisis más detallado de los comportamientos


de las configuraciones sugeridas, y simulalos comportamientos críticos como el de
esta ocasión, sobre esta sucursal. Basado en la información que fue dada por el
empleado, las circunstancias y los resultados de la simulación, el experto decide
que en esta sucursal hay que poner un sistema de mayor capacidad, una línea
adicional de comunicación de datos dedicada y compartir una línea directa con
personal experto en cr6ditos con casa
la matriz.

3. Codificación

A partir del anterior protocolo, el


IC se dedica a transcribir este conocimiento
en forma de gráfoscausa-efecto que ha seleccionado como lamás apropiada para
este caso, asícomo la deHEGA (“shell”) que va a utilizar.
El IC inicia con estosprotocolos una red de hechos, atributos, conclusiones,
etc. Y en forma de gráfos tipo ISHIKAWA establece una relacióngráficaentre
reglas identificando incongruencias, repeticiones, etc.
Adjunto se encuentraeldesarrollodelprocedimientoparael caso de
identificación de confiauracionesbásicas.
S e decidió con el experto iniciar el prototipo con este sub-dominio O área
tecnológica.

El IC va formando así el prototipo o modelo experimental y en conjunto con


elexperto va refinandocadaniveldeprototipohastallegaralsistemade
producción.
Aunque en este apartado no se presentan explísitamente, se desarrollaron
todoslos pasos queaplicarondescritosenlametodología.Acontinuación se
presentan unos resultados:
I. Los siguientes fueron
algunos
de
los
parhmetros
que inicialmente se
identificaron como relevantes para establecer que tipo de configuración
es la
más recomendada.
Diseño de la Estructura deDatos / Base de Datos.
Desarrollo de aplicaciones / Frecuencia / Personal central
Estandarización de Procedimientos/ Hardware, comunicaciones
Decisión delos usuarios / capacitación personal, sistemas, presupuesto.
Selecci’n deH / S./Compra, renta.
Toma de decisiones sobre Arquitectura.
Ubicación geográfica deOS / topología
Costos / comunicación, computo/ Decisión de selección
Confiablidad del proceso/ seguridad , cómputo /Decisión de selección
Confiabilidad del proceso/ seguridad / cómputo / comunicación.
Grado de distribución entreOL’s / Duplicación / directorio
Eficiencia del recurso
Utilización de recursos de cómputo (Main-Frame)
Tiempos de respuesta
Retardos
Disponibilidad de línea de comunicación / tipo / velocidad
Potencial de cómputo
Compatibilidad / expandibilidad
Modularidad y expandibilidad /tipo
Soporte porel proveedor, auditoría de software
Reflejo organizacional, Software especializado / Paquetes de aplicación
Conversión de sistemas actuales. Proveedor/ disponibilidad, capacidad,
mantenimiento, número deusuarios, personal especificado.
Almacenamiento / total / distribución
Seguridad desoftware / protección, impresión/ volumen
Configuración actual (topología)
Respaldo / Recuperación
Tipo de equipo recomendado o actualmente en operación / LAN TTP /
Main-framme.
II. Estos parámetros se puedenubicaren las siguientes 6 áreastecnológicas
en las que se dividió todo el dominio (goal-reduction).
A continuación se muestran varios tipos de reglas codificadasEXSYS.
en
Unas producenconclusionestemporalesquedebende ser probadas
posteriormenteparaavanzarenladeducción.Otrashaceninferencias sobre
conclusiones establecidas anteriormente, y generan conclusiones más completas
para pasar a fases posteriores del análisis.
Las reglas se han estructurado casi directamente para tratar de probar que
una
configuración
sirve
para
cubrir las espectgativas
planteadas
por las
I características de la situación y lasdeencuestas.
S e necesita determinar inicialmente qué tipo de configuración era la más
apropiada, estas reglas sólo pueban o concluyen resultados
intermedios,
conclusionescomo tipodeequipo,velocidadesdetransmisión.Etc. S610 se
pueden establecer al seguir indagando sobre la base que no esta en este escrito
considerada.
ETAPAS PARA LA IMPLEMENTACIÓN DE PROYECTOS DE SISTEMAS
BASADOS EN CONOCIMIENTOS

Una de las funciones más importantes de los SBC’s en la empresa va aser


la de transferir experiencia tecnológica que se ha desarrollado en la organización
durante muchos años o quetieneunaltovaloryconfidencialidadparalaalta
dirección de la misma y que constituye
su acervo tecnológico.

Las siguientes son las fases que


forman
el
proyecto
denominado
“transferencia Experiencia
de Tecnológica
de Sistemas Basados en
Conocimientos”yde laimplementacióndeunaaplicaciónprioritariaparala
Empresa:

Etapa 1. SensibilizaciónyubicacióndelatecnologíadeInteligenciaArtificial.
Cuando ydónde iniciar unproyectodeingenieríade Sistemas Basados en
Conocimientos (ISBC) en la empresa.
Etapa 2. Identificación deáreas de necesidad, consus prioridades dentro de la
organización, parala aplicación de la tecnología de
Sistemas Expertos.
Selección inicial de un área prioritaria.
Cómo iniciar el diseño.
Etapa 3. Diseño ydesarrollodeprototiposde Sistemas Expertos(utilizando
EXSYS, HEGA) sobre las aplicacionesprioritarias.
3 con sistemas computacionales
Etapa 4. Integración de los prototipos de la Etapa
típicos del tipoMIS, DBMSo DSS,operando en laEmpresa.
Etapa 5. Mantenimiento y refinamiento de labase de conocimientos del prototipoo
de los prototipos. Plan de búsqueda de otras áreas de aplicación y seguimiento
de casos en
operación.
Etapa 6. Evaluación del impacto organizacional al implantar esta tecnología.
Algunas Notas Adicionales

S e han identificado las siguientes &reas de oportunidad en la localidad con


futuroproductivoy cuyas empresa han demostrado interés en la tecnología de
SBC.

O Empresa procesadora de acero:


O Control experto de calidad (simulador inteligente del
proceso de calidad)
O Planeaciónfinanciera
O Sistemas de mantenimiento de máquina-herramienta.
O Planeación de recursos de tesorería.

O Empresa de Cementos:
O Sistema de factibilidad y control de producción
O Mantenimiento.

o Empresa de bienes para construcción:


0 Transferencia de tecnología de control de proyectos de
gran magnitud.

0 Empresa de comercialización de textiles:


0 Manejo de inventarios de telas, estampados y colores contra
modas.

O Empresa de servicios corporativos:


O Transferencia y reemplazo de ciertos expertos con gran número de
años
de trabajo.

O Empresa de bienes de capital:


O Analizador de estados financieros e integraciónsus
a MIS y DSS.
O Simulador inteligente de mercadotecniay comportamiento de inversiones.
Referencias:
David Hu
Expert System for Software Engineers and Managers
Tim McCullough
Six Steps to selling ArtificialInteligence.
Holsapple and Whinston
Business Expert Systems
LA ACTUALIDAD
AREAS DE TRABAJO EN

Simulacióncualitativa:
Integración
de SE's modelos
y de
simulación
cuantitativa ( o sea combinación de conocimiento cualitativo y ( cuantitativo
1.
Manejadoresexpertosde bases dedatos, así comodeherramientas
inteligentesdeexplotacióndetextosy bases deinformaciónenforma
stand-alone y distribuida.
Representación de fenómenos especiales, dependientes del tiempo, inciertos
y modelación del usuario (más que el experto), así como nuevas técnicas
de diseñointeligente.
Adquisiciónautomática más eficiente.Adquisiciónporejemplos o casos.
Sistemas estructurados
conocimientos.
de Conocimiento
varios
de
dominios. Bases de sentido común.Redes neuronales.
Modelos inteligentes de soporte a la decisión (IDSS) hasta llegar alos apoyos
ejecutivos (ESS:Executive Support Systems) Sistemas que resuelvan multi-
objetivos.
Integracióndepaquetesdesimulación"data bases" yredesde
comunicación.
Desarrollo de interfaces de lenguaje natural.
Pero sobre todo, se está generando una nueva filosofía que por vez primera
está tratando de despejar ciertas incógnitas que en la Epistemología, la Psicología
educativa, la Lingüística y en las Ciencias del Conocimiento habían permanecido
por largo tiempo. Disciplinas,estas son las que se han visto complementadas por
la introducción de nuevas tecnologías computacionales.

AVANCES, PREDICCIONES Y REALIDADES DE LA INDUSTRIA DE LA IA.

En los conocimientos de los 80 y 90 las grandes compañías comenzaron a


interesarse en el área de
IA.
Actualmente sus departamentos de investigación están produciendo tanto
como las propias universidades.
Las empresas que se interesaron a los comienzos de los 80's y que actualmente
tienem& queproductosdedesarrollo,productosterminadosaplicadosala
industriacorrespondiente son : Westinghouse,GeneralElectric,Schulmberger,
Xerox, Digital Equipment,Texas Instruments, Fairchild eIBM.
HARDWARE COMERCIALDE SOPORTE AL DESARROLLO DE SBC's.

HARDWARE DE SOPORTE AL DESARROLLO DE SBC's.


En este capítulose presentarán varias arquitecturas computacionales propias para
el desarrollo de sistemas en
el ambiente de Inteligencia Artificial.

Se dividirán las arquitecturas


en dos tipos.
Primeramentearquitecturas
comercialesque se hanespecializadoen elmanejodeestructurasdedatos
simbólicos y lenguajes propios de
IA, como LISP y PROLOG.

LISP, en especial, es un lenguaje que ha venido en progreso constante y muy


significativo en cuanto su integraciónalhardwareconvencional. Este tipode
hardware especializado pero no basado enteramente en tecnologías simbólicas,es
el más común.

El segundo tipo de arquitectura es la especialmente dirigida al manejo simbólico


del conocimiento. Son máquinas basadas principalmente en Sistemas Operativos,
escritos usualmente elLISP o un lenguaje equivalentede Programación lógica.

SISTEMAS DE PLANEACION BASADOSEN CONOCIMIENTO PARA


ENSAMBLE MECANICO UTILIZANDOROBOTS.

Actualmente,
la
automatización
de
ensamble
mecánico es degran
importancia económica para la industria.
La automatización se divide en dos clases

0 La primera clasedeautomatizaciónextensiva,conmáquinasespecializadas
para cada ensambley está diseñada para altos volúmenes de producción.
0 La segunda clase utiliza una automatizaciónflexibleenlacual las máquinas
son controladas por computadoras y pueden ejecutar varias operaciones de
ensamble.
Existen dos t6cnicas principales para llevar a cabo esta clase de automatización.
1) Programas para aprender : Programas que permiten a la máquina estructurar
sus operaciones de ensamble.

2) Programación textual : Ofrece al sistema el plan de ensamble en términos de


operaciones a travésdel lenguaje natural.
REFERENCIAS
0 D. Sharman and J.M. Kendall
"A case study Acquiring Strategic Knowledge for Expert Systems Development"
IEEE Expert
p.p. 32-40
0 David S. Prerau
"Selection of an Appropiate Domain for Expert Systems"
The AI Magazine
0 D. Hu
Expert Systems for Software Engineers and Managers
0 P.Sell
Expert System A Practical Approach
0 J. W. Black
Intelligent Knowledge Based Systems
0 M. Greenwell
Knowledge Engineering for Expert Systems

Вам также может понравиться