Академический Документы
Профессиональный Документы
Культура Документы
BASADOS EN CONOCIMIENTOS
1 9qf6
c
ANTECEDENTES:
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.
OBJETIVOS:
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:
JUSTIFICACI~N:
METODOLOGíA:
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:
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.
EVOLUCIóN DE LA TECNOLOGIA
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
Manejo
interactivo
de
gráficas,
video,
voz
y en
general,
sistemas
de
multimedios.
Manejo
comunicaciones
de inter-sistemas,
compartición
ideas
de
geográficamente distribuidas.
En resumen, las siguientes son algunas de las características que requieren estar
presentes en los sistemas quese denominan "inteligentes".
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
. . . " 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 ).
ANTECEDENTES
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 ?
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.
DEFINICIONES DE IA
0 IA es el estudio de cómo hacer que los computadores hagan cosas que, por el
momento, la gentehace mejor. /E.Rich/
SISTEMAS EXPERTOS
SISTEMAS EXPERTOS
Una definición que expone de otra forma la filosofía de los SE's es la que Naylor
propone ensu libro :
consejo inteligente o pueda tomar una "decisión inteligente" acerca del desarrollo
'I
Analizando 6stas y otras definicionesse obtiene que un buen sistema experto debe
proveer :
. .
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.
- Interpretadores
- Diagnosticadores
- Disenadores
- Predictores
- Instructores
- Planeadores
- Monitores
- Descubridores
Ejemplos :
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
Ejemplos :
Ejemplos :
Ejemplos :
Ejemplos :
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.
d.-poseerestructurasdecontrolquepermitanutilizaryasearecursión o
paralelismo en el desarrollo de actividades internas.
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.
O Waterman
Expert System
O P.Winston
Artificial Intelligence
0 E.Rich
Artificial Intelligence
0 Luis A. Machado
La Revoluci6n de la Inteligencia
O RuleMaster
Product Flier
0 Naylor
Building Expert System
METODOLOGIA PARALA CONSTRUCCION DE APLICACIONES EXPERTAS
UTILIZANDO HERRAMIENTAS PARAEL DESARROLLO (Shells)
Descripcih de la Metodología.
OBJETIVO :
-- “ . - y I ~..
”” , . ~” ,.. .- . .“--””““““““I._.
FUTURO DE LOS SISTEMAS BASADOSEN CONOCIMIENTOS
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.
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.
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.
- 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.
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.
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.
EL APRENDIZAJE DE LA MAQUINA
APRENDIZAJE DE MEMORIA
CONOCIMIENTO COGNOSITNO
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.
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.
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.
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.
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.
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.
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.
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.
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.
De todas maneras tu deberas entender que hay una astuta diferencia entre el
y el que actúa comopersona.
programa que actúa inteligentemente
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 :
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 ".
Cuando el programaencuentrapalabrascerterasenlascreacionesdelos
pacientes,semejantesa "AMOR', "ODIO", o "QUIERO" el programapodrd
responder con una respuesta relacionada con las palabras claves.
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.
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.
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.
doctor (S):-
respond(S),
assert (topics(S)),
nL.
doctor(_):-
/* no response from patient
check patientresponse fiLe */
retract (topics(R)),
Ro" 'I.
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).
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
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.
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?
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.
Finalmente podrían las máquinas ser ¿ mas inteligentes que el hombre y actuar
como seres humanos ?.
Por mucho tiempo, todoslos lenguajes delA eran accesibles sólo en una extensa
y principal fábrica de computadoras.
Además recuerda, que usando varios esquemas de indices, puedes hacer listas
tan eficientes como el mbtodo de
los árboles.
Por todo esto, el mejor modelo de Network también contiene listas o indices que
ayudan a seleccionarel nudo apropiado para cada situación.
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.
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.
reconciLe(Req,Can,Newcan),
assert(cLass(CLassName,Req,Newcan)),!,
write("More? (yh)"),
readLn(Q), Q=y,
Learn(CLassName).
EL PROCEDIMIENTO DEL HIT-NEAR-MISS
Aquí estan los procedimientos para complementarlo en sus formas más simples.
Para ( completarlaformade estos procedimientos,tienesquetomarcomo
referencia el libro delSr. Winston )
PROCEDIMIENTO RESTRINGIDO
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.
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.
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.
TREES ( Brboles )
LIST (listas )
NETWORKS (redes )
a continuaciónse determinará cada una deesas tecnicas :
TREES :
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.
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.
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).
readLn(V),
write ("E: object"),
readLn(O),
add(attr(S,V,O,),L,E2),
example( Name,E2,E ).
exampLe(_,E,E).
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).
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
3. Codificación
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
O Empresa de Cementos:
O Sistema de factibilidad y control de producción
O Mantenimiento.
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.
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.