aboutsummaryrefslogtreecommitdiff
path: root/dsi
diff options
context:
space:
mode:
Diffstat (limited to 'dsi')
-rw-r--r--dsi/n.lyx14
-rw-r--r--dsi/n3.lyx674
2 files changed, 688 insertions, 0 deletions
diff --git a/dsi/n.lyx b/dsi/n.lyx
index 7cc2c9c..81170c8 100644
--- a/dsi/n.lyx
+++ b/dsi/n.lyx
@@ -227,5 +227,19 @@ filename "n2.lyx"
\end_layout
+\begin_layout Chapter
+Sistemas basados en conocimiento
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand input
+filename "n3.lyx"
+
+\end_inset
+
+
+\end_layout
+
\end_body
\end_document
diff --git a/dsi/n3.lyx b/dsi/n3.lyx
new file mode 100644
index 0000000..8613afa
--- /dev/null
+++ b/dsi/n3.lyx
@@ -0,0 +1,674 @@
+#LyX 2.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 544
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass book
+\begin_preamble
+\input{../defs}
+\end_preamble
+\use_default_options true
+\maintain_unincluded_children false
+\language spanish
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style french
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+Desde siempre la humanidad ha intentado hacer máquinas para resolver problemas.
+ En la antigua Grecia y el antiguo Egipto encontramos estatuas móviles operadas
+ por monjes; en el siglo XIII Alberto Magno creó una cabeza parlante y un
+ mayordomo; en el XVII, René descartes creó una muñeca autómata; en el XVIII,
+ Jacques de Vaucanson creó músicos de tamaño natural y un pato con aparato
+ digestivo, y Pierre Jaquet-Droz un pianista, un dibujante y un escritor,
+ y en el siglo XIX se crearon máquinas que podían hacer y contestar preguntas.
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Por supuesto, no he verificado ninguno de estos datos, y aparecen en unas
+ diapositivas que llaman a Alan Turing
+\begin_inset Quotes cld
+\end_inset
+
+Alan Touring
+\begin_inset Quotes crd
+\end_inset
+
+ así que no son muy fiables.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Los primeros ordenadores los hicieron británicos y estadounidenses.
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Esto es, si no cuentas el que hicieron los nazis.
+\end_layout
+
+\end_inset
+
+ Alan Turing creó un computador de propósito general en base a operadores
+ lógicos, y en 1946 se crearon en EEUU los primeros ordenadores analógicos,
+ con operadores numéricos.
+ También por esa época se empezó a trabajar en psicología cognitiva y la
+ creación de programas para emular el pensamiento humano.
+\end_layout
+
+\begin_layout Standard
+En 1943, McCulloch y Pitts crearon una red de neuronas artificiales que
+ podía realizar cualquier operación
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Representable en las 40 neuronas o así que tenía.
+\end_layout
+
+\end_inset
+
+ y tenía capacidad de aprendizaje.
+ Así surgió la
+\series bold
+rama conexionista
+\series default
+, que consideraba clave la creación de redes neuronales para conseguir inteligen
+cia.
+ En 1956 se acuña el término inteligencia artificial hospedado por McCarthy
+ e IBM y al que asistieron McCulloch, Pitts, von Neumann, Minsky, Edmonds
+ y Shannon.
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+O algo así, está todo muy esquemático, pero de todas formas no va a preguntar
+ por esto.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+De los 50 a los 70 se dan los primeros éxitos en IA, con programas generales
+ para resolver problemas como GPS de Newell y Simon en 1963, STRIPS de Fikes
+ y Nilsson en 1971, el programa de damas de Samuel
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Que por el nombre no parece muy general.
+\end_layout
+
+\end_inset
+
+ y Lisp de McCarthy.
+\end_layout
+
+\begin_layout Standard
+A finales de los 60 se ve que muchos de los métodos generales no son escalables
+ y que es difícil modelar situaciones y sentido común que se suelen expresar
+ en lenguaje natural, por lo que en 1966 Estados Unidos cancela la ayuda
+ a estas investigaciones y en 1970 Reino Unido hace lo propio en base al
+
+\begin_inset Quotes cld
+\end_inset
+
+informe Lighthill
+\begin_inset Quotes crd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Esto lleva a una etapa de pesimismo en torno a los 70, pero también en esta
+ época nacen los sistemas basados en conocimiento (SBC), una de las técnicas
+ más usadas en inteligencia artificial junto con redes neuronales, lógica
+ difusa, algoritmos genéticos y sistemas híbridos.
+ Algunos de los primeros SBC son:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+DENDRAL
+\series default
+ (1969), el primer SBC y proyecto de programación heurística,
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Si no se cuentan los proyectos anteriores como el algoritmo A*.
+\end_layout
+
+\end_inset
+
+ que busca determinar estructuras moleculares a partir de mediciones de
+ un espectroscopio.
+
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+MYCIN
+\series default
+ (1972), para diagnóstico y terapia de enfermedades infecciosas, que usa
+ incertidumbre mediante factores de certeza.
+
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+PROSPECTOR
+\series default
+ (1979), un SBC probabilista para prospección minera que incluye una red
+ semántica, y que encontró un depósito de molibdeno haciendo a un rico 100
+ millones de dólares más rico.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+XCON
+\series default
+ (1980), para logística de pedidos de ordenadores VAX, con una precisión
+ de entre el 95 y el
+\begin_inset Formula $\unit[98]{\%}$
+\end_inset
+
+, que supuso un ahorro anual de 25 millones de dólares.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+INTERNIST
+\series default
+ (1982), para medicina interna.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+LES
+\series default
+ (1987), para monitorizar y diagnosticar procesos de carga de oxígeno líquido
+ en un transbordador espacial.
+\end_layout
+
+\begin_layout Standard
+Por otro lado, en 1973 surge la lógica difusa, en 1976 la teoría de la evidencia
+, en 1984 la de la incertidumbre, y sobre esa época surge
+\begin_inset Quotes cld
+\end_inset
+
+Ops
+\begin_inset Quotes crd
+\end_inset
+
+, el lenguaje Prolog y
+\begin_inset Quotes cld
+\end_inset
+
+Marcos
+\begin_inset Quotes crd
+\end_inset
+
+ de Minsky.
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Esto es lo mejor que he podido hacer con una enumeración inconexa de términos.
+\end_layout
+
+\end_inset
+
+ Surgen representaciones de conocimiento manipulables por ordenador con
+ esquemas de representación adaptados al tipo de problema, procesos de razonamie
+nto para usar dicho conocimiento y sistemas de aprendizaje y procesamiento
+ del lenguaje natural.
+ La mayor potencia de los ordenadores lleva a la aparición de los primeros
+ entornos de desarrollo.
+\end_layout
+
+\begin_layout Standard
+En los 80 comienza el
+\series bold
+periodo industrial
+\series default
+, con empresas que poseen equipos propios de IA.
+ A finales de la década hay una crisis que en los 90 es resuelta por nuevas
+ metodologías de ingeniería del conocimiento, resultando en éxitos como
+
+\series bold
+MARVEL
+\series default
+, para monitorización y análisis de la telemetría del
+\lang english
+Voyager
+\lang spanish
+;
+\series bold
+PEGASUS
+\series default
+, una interfaz inteligente en
+\begin_inset Quotes cld
+\end_inset
+
+LN
+\begin_inset Quotes crd
+\end_inset
+
+ para consultar información y reservar vuelos;
+\emph on
+\lang english
+soft bots
+\emph default
+\lang spanish
+ en la web semántica; ERP, o CRM.
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+sistema inteligente
+\series default
+ es uno que usa técnicas que no garantizan soluciones aceptables, sino que
+ esto depende del contexto y del dominio.
+ Los
+\series bold
+sistemas basados en conocimiento
+\series default
+ (SBC) son un sistema informático que emula la capacidad de razonamiento
+ del ser humano, usando sus mismas fuentes de conocimiento del dominio específic
+o, con estructuras de control separadas del conocimiento del domino para
+ poder usarse en distintos dominios.
+ Un
+\series bold
+sistema experto
+\series default
+ es un SBC enfocado a resolver problemas reales pequeños pero intelectualmente
+ complejos, como un tutor inteligente o un sistema inteligente CASE.
+\end_layout
+
+\begin_layout Standard
+Un SBC está formado por:
+\end_layout
+
+\begin_layout Enumerate
+Una
+\series bold
+memoria de trabajo
+\series default
+ o
+\series bold
+base de hechos
+\series default
+, que contiene la información para la ejecución de una tarea particular,
+ tanto de hechos establecidos como de metas a alcanzar.
+ Algunas partes son permanentes, como los hechos establecidos y los datos,
+ y otras son temporales del proceso de resolución en curso, actuando como
+ una memoria a corto plazo que también almacena todos los cambios en la
+ información que se producen en el sistema.
+\end_layout
+
+\begin_layout Enumerate
+Una
+\series bold
+base de conocimiento
+\series default
+, en la que se almacena la mayoría del conocimiento de resolución de problemas.
+ Este suele estar organizado en
+\series bold
+reglas
+\series default
+, con un
+\series bold
+antecedente
+\series default
+ que contiene condiciones de la existencia de elementos en la base de hechos
+ que deben cumplirse para ejecutar la regla y un
+\series bold
+consecuente
+\series default
+ que puede modificar la base de hechos o ejecutar acciones.
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+Las reglas son independientes y no pueden referenciar una a otra, sino que
+ la comunicación entre ellas debe hacerse a través de la base de hechos.
+ Al estar basadas en la experiencia, no reflejan implicaciones lógicas sino
+ convicciones del experto, por lo que muchas veces se usan medidas de certidumbr
+e de la regla en sí.
+\end_layout
+
+\begin_layout Standard
+Existen formalismos para tratar la incertidumbre y especificar conclusiones
+ complejas, y en algunos el consecuente de las reglas puede activar o desactivar
+ un conjunto de estas.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Un
+\series bold
+motor de inferencia
+\series default
+ encargado de activar reglas y encadenarlas para resolver problemas.
+ Este primero carga los hechos de base en la base de hechos.
+ Entonces, en bucle:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Si se da la condición de terminación, que normalmente corresponde a que
+ se ha verificado un hecho objetivo al que se quería llegar, o si se ejecuta
+ una acción de parada, normalmente por ausencia de otras reglas aplicables,
+ para.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Equipara
+\series default
+ las bases de conocimiento y de hechos para obtener un conjunto de reglas
+ que se pueden aplicar, el
+\series bold
+conjunto conflicto
+\series default
+ (
+\series bold
+CC
+\series default
+).
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Resuelve
+\series default
+ el conjunto conflicto, es decir, selecciona la regla a aplicar, de manera
+ informada o desinformada.
+\end_layout
+
+\begin_layout Enumerate
+Aplica la regla y actualiza la base de hechos.
+\end_layout
+
+\begin_layout Standard
+El coste computacional de la iteración es la suma del
+\series bold
+coste de control
+\series default
+, de la equiparación y resolución, y el
+\series bold
+coste de aplicación
+\series default
+, de modo que con una resolución informada predomina el coste de control
+ y con una desinformada predomina el de aplicación.
+ El motor de inferencia debe ser sistemático y eficiente y no causar bucles
+ infinitos, y se puede implementar con dos modos de inferencia:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Encadenamiento hacia delante.
+
+\series default
+ Se parte de la colección de hechos y se van aplicando reglas para generar
+ nuevos hechos hasta que se llegue al objetivo o no se puedan aplicar más
+ reglas.
+ Aplicar una regla supone actualizar la base de hechos y, en algunos casos,
+ realizar otras acciones.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Encadenamiento hacia atrás.
+
+\series default
+ Se parte de las hipótesis y se aplican reglas hacia atrás para obtener
+ qué hechos hacen falta para verificarla.
+ Primero se eligen todas las reglas cuyo consecuente sea el objetivo, y
+ si en una de ellas se verifican todas las premisas del antecedente, el
+ objetivo queda verificado, y de lo contrario las premisas no verificadas
+ son nuevos objetivos.
+\end_layout
+
+\begin_layout Standard
+La elección del mecanismo de inferencia depende del número de estados iniciales
+ y de metas, siendo preferible moverse del conjunto más pequeño al más grande;
+ del factor de ramificación en cada caso, que se puede medir según el tamaño
+ del conjunto conflicto, siendo preferible ir en la dirección con menor
+ factor de ramificación, y de si se debe justificar el razonamiento, en
+ cuyo caso es importante ir en la dirección que mejor se aproxime a la forma
+ de pensar del usuario.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Un
+\series bold
+módulo de explicación
+\series default
+, para convencer a los usuarios de que el razonamiento es correcto y las
+ soluciones son apropiadas y para permitir a los desarrolladores verificar
+ que el mecanismo de inferencia se adecúa al problema.
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+El módulo debe responder de forma comprensible y completa a preguntas sobre
+ el conocimiento y el razonamiento como cómo se ha llegado a la conclusión,
+ cómo se usa la información, qué decisión se ha tomado para un subproblema,
+ por qué no se ha usado o necesitado un tipo de información concreto, por
+ qué no se ha podido llegar a una conclusión, cómo se describe la información
+ necesaria en el proceso de resolución, o qué está haciendo el sistema.
+\end_layout
+
+\begin_layout Standard
+Incluye un módulo para analizar el estado del proceso del razonamiento y
+ otro para consultar el estado del conocimiento del problema que tiene el
+ sistema y el proceso de resolución el curso, y debe ser fácil de usar.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\series bold
+Interfaces de usuario
+\series default
+, de al menos dos tipos:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Una para usuarios no avanzados, que permita introducir la información y
+ obtener las respuestas y explicaciones.
+ Esta puede ser todo lo compleja que se requiera, incluso con interfaces
+ de usuario inteligentes que se adapten a los conocimientos del usuario.
+\end_layout
+
+\begin_layout Enumerate
+Una para usuarios avanzados que permita la edición de la base de conocimiento
+ y la depuración.
+ Se divide en:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Una interfaz para el experto adaptada a la representación de conocimiento,
+ que permita la edición controlada de la base de conocimiento incluyendo
+ el vocabulario y la terminología a utilizar y evite la introducción de
+ errores.
+\end_layout
+
+\begin_layout Enumerate
+Una para el ingeniero del conocimiento, que permita edición avanzada de
+ la base de conocimiento, acceso al resto de módulos del SBC y depuración
+ del sistema en tiempo de ejecución.
+\end_layout
+
+\end_deeper
+\end_deeper
+\begin_layout Standard
+Todos los componentes salvo la base de conocimiento existen en una
+\series bold
+\emph on
+\lang english
+shell
+\series default
+\emph default
+\lang spanish
+, una herramienta específica para la representación de conocimiento.
+\end_layout
+
+\begin_layout Standard
+Los SBC son eficientes, potentes y flexibles, pues una regla solo requiere
+ la información necesaria para su ejecución.
+ Son modulares, separando el conocimiento del proceso de resolución, y naturales
+, permitiendo a los expertos expresar su conocimiento de resolución de problemas
+ como reglas en la mayoría de situaciones.
+ Sin embargo, puede ser difícil establecer reglas, pues un formalismo del
+ tipo
+\begin_inset Quotes cld
+\end_inset
+
+si-entonces
+\begin_inset Quotes crd
+\end_inset
+
+ entraña cierta rigidez a la hora de expresar las condiciones en los antecedente
+s y premisas en distintas reglas, y también es difícil diseñar reglas concretas,
+ requiriendo haber estudiado el dominio de aplicación con suficiente profundidad.
+ También es difícil usar las reglas, pues estas solo se pueden comunicar
+ a través de la base de hechos y esto es un inconveniente a la hora de ejecutar
+ algoritmos.
+\end_layout
+
+\begin_layout Standard
+Los SBC tienen una serie de diferencias respecto a sistemas convencionales
+ como los de resolución de circuitos eléctricos o cálculo de estructuras:
+\end_layout
+
+\begin_layout Itemize
+Separan el conocimiento de las estructuras de control, incluyen explicaciones
+ y suelen usar
+\emph on
+\lang english
+shells
+\emph default
+\lang spanish
+, mientras que los sistemas convencionales solo separan algoritmos de datos,
+ no dan explicaciones y usan gestores de bases de datos convencionales.
+\end_layout
+
+\begin_layout Itemize
+Interpretan datos con métodos declarativos no deterministas, intentando
+ seguir líneas de razonamiento similares a las de los humanos, son muy interacti
+vos y contemplan abstracción, incertidumbre, aprendizaje, etc., mientras
+ que los sistemas convencionales manipulan datos con algoritmos, centrándose
+ en la solución y no en la forma de obtenerla, y usan bases de datos y procesos
+ predecibles, fiables y exactos.
+\end_layout
+
+\begin_layout Itemize
+Destacan en problemas mal definidos,que no se pueden especificar con precisión
+ y requieren conocimiento heurístico, normalmente en dominios sin experiencia
+ previa computacional, mientras que los sistemas convencionales se usan
+ en problemas bien definidos, especificables sin ambigüedad y resueltos
+ por algoritmos específicos, normalmente en dominios con experiencia computacion
+al.
+\end_layout
+
+\begin_layout Itemize
+El conocimiento usado es tácito, numérico, simbólico y con incertidumbre,
+ procedente de la interacción con expertos, mientras que el de sistemas
+ convencionales es algorítmico y los datos son numéricos, sin incertidumbre
+ y procedentes de la interacción con usuarios.
+\end_layout
+
+\end_body
+\end_document