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

3.2.

2 Lógica no monotónica
Las lógicas no monotónicas son lógicas que saben del tiempo, del carácter
dinámico del conocimiento, de los aspectos subjetivos culturales, sociales, y
otros, por ejemplo, en los que los enunciados y las verdades tienen lugar. Nueva
información puede invalidar información previamente establecida.

En este sentido, se puede decir de manera general, que si la masa (la materia)
define la gravedad de un fenómeno, y la energía define el movimiento de dicho
fenómeno, la información puede entonces ser comprendida adecuadamente
como el grado y/o modo de organización de un fenómeno dado.

Una lógica no monotónica, o bien lógica no monótona, es un sistema lógico cuya


relación de consecuencia lógica es no monotónica. La mayor parte de los
sistemas lógicos tienen una relación de consecuencia monotónica, lo que desea
decir que el añadir una fórmula a una teoría jamás se genera una reducción de
su conjunto de consecuencias. De manera intuitiva, la mono tonicidad señala
que el añadir nuevos conocimientos no reduce el conjunto de las cosas
conocidas.

Razonamiento por defecto

El argumento de los pies en el suelo en muchas ocasiones establece


conclusiones desde información parcial, que entonces se examinan o bien se
desechan cuando se consigue nueva información relevante. Por servirnos de un
ejemplo, si de un determinado animal se sabe que es un ave, y no se conoce
solamente, se puede aceptar que es capaz de volar. Sin embargo, este hecho
ha de ser desdicho si después se sabe que ese determinado animal es un
pingüino. Este caso muestra que una lógica que modele el argumento por
defecto no ha de ser monotónica. Las lógicas que formalizan argumento por
defecto pueden ser divididas rotundamente en 2 categorías: lógicas capaces de
manejar suposiciones arbitrarias por defecto (lógica por defecto, lógica
retractable, y answer set programming) y lógicas que formalizan la concreta
suposición por defecto de que los hechos que no se saben verdaderos pueden
ser asumidos como falsos por defecto (closed world assumption y
circunscripción).

Razonamiento abductivo

El argumento abductivo es el sistema que deriva las explicaciones más


probables de los hechos conocidos. Una lógica abductiva no puede ser
monotónica pues las explicaciones más probables no son necesariamente las
adecuadas. Por servirnos de un ejemplo, la explicación más probable de ver el
pasto mojado es que ha llovido; no obstante, esta explicación ha de ser desdicha
cuando se sepa que la causa real de que el pasto estuviese mojado era un
rociador. En la medida en que la primera explicación (llovió) es desdicha debido
a la adición de información (se activó un rociador), cualquier lógica que modele
explicaciones es no monotónica.
Razonamiento sobre el conocimiento

Si una lógica incluye fórmulas que significan que algo no es conocido, esta lógica
no puede ser monotónica. En verdad, aprender algo que ya antes no era
conocido lleva a el remplazo de la fórmula que detallaba que esa una parte de
conocimiento no es famosa. Este segundo cambio (un remplazo ocasionada por
una adición) viola la condición de monotonicidad. La lógica sobre el conocimiento
es la lógica autoepistémica.

3.3. Redes Neuronales

La neurocomputación es una aportación más al viejo objetivo de crear sistemas


inteligentes, considerando como tales a máquinas capaces de llevar a cabo
tareas que exhiben alguna de las características asociadas a la inteligencia
humana. En las dos últimas décadas, los avances en este campo han sido
espectaculares; en particular el desarrollo de las redes neuronales artificiales
(RNA. Originalmente, los trabajos en RNA surgen de la idea de que para que las
máquinas puedan llevar a cabo dichas tareas inteligentes, sería conveniente que
el modelo de computación se asemejara más a la fisiología del cerebro humano
que al modelo computacional vigente por aquellas fechas: modelo von Neumann.
Sin embargo, el auge que estos sistemas se debe más al éxito obtenido en
aplicaciones reales (reconocimiento de patrones, predicción, optimización, etc.)
que a la semejanza con el modelo biológico. Por ejemplo, el perceptrón
multicapa, que es una de las redes más utilizadas, es criticada por su escaso
parecido con el funcionamiento de las neuronas dentro del cerebro humano
especialmente en todo lo referente a su algoritmo de aprendizaje.

3.3.1. Clasificación y Reconocimiento de Patrones

Un patrón es una entidad a la que se le puede dar un nombre y que está


representada por un conjunto de propiedades medidas y las relaciones entre
ellas (vector de características). Por ejemplo, un patrón puede ser una señal
sonora y su vector de características el conjunto de coeficientes espectrales
extraídos de ella (espectrograma).

Un sistema de reconocimiento de patrones tiene uno de los siguientes objetivos:

 Identificar el patrón como miembro de una clase ya definida (clasificación


supervisada).
 Asignar el patrón a una clase todavía no definida (clasificación no
supervisada, agrupamiento o clustering).

La tarea fundamental del reconocimiento de patrones es determinar el proceso


de decisión para separar el espacio de características. Existen una gran cantidad
de técnicas para realizar esta decisión. Los conceptos y métodos más
importantes se pueden consultar en textos ampliamente conocidos. Algunos de
los más utilizados son los siguientes:
 Estimación paramétrica: Se estima la probabilidad condicional de
ocurrencia de una clase, dado un conjunto de ejemplos para k clases
determinadas de antemano. La forma de dicha probabilidad condicional
no se conoce de antemano por lo que se asume y se calculan los
parámetros que la describen. Este es un problema clásico de estadística
que se aborda comúnmente de dos maneras: con estimación Bayesiana
y con estimación de máxima probabilidad. La primera considera a los
parámetros como variables aleatorias que tienen una distribución
probabilística conocida, mientras que la segunda considera a los
parámetros como cantidades fijas pero desconocidas.
 Estimación no paramétrica: Estas técnicas no requieren determinar el
número de clases de antemano y se pueden usar sin la necesidad de
suponer la forma de las funciones de distribución. Se utilizan en varios
tipos de reconocedores, por ejemplo, la estimación de funciones de
densidad, las ventanas de Parzen o la técnica de estimación de k vecinos
más cercanos.
 Funciones discriminantes no lineales: Incluyen a las redes neuronales
de varios niveles (Multilayer Perceptrons o MLP por sus siglas en inglés)
y las redes de funciones de base radial.
 Métodos estocásticos: Utilizan el azar (es decir, funciones aleatorias o
random) para buscar los parámetros que definen a modelos de decisión
complejos; se aplican cuando el espacio del problema es muy grande o
cuando se cuenta con pocos datos de entrenamiento. Los modelos más
comunes incluyen al de Boltzmann, inspirado en la mecánica estadística
y a los métodos evolutivos, inspirados en la biología. Estos métodos
requieren grandes recursos de cómputo.

3.3.2. Estructura de la Red Neuronal

En el esquema, 1 2 y 3 son los valores de entrada de la neurona, y w1, w2, w3


son los pesos de cada entrada. (3 en este ejemplo, pero puede ser otro número)
El valor de salida de la neurona es el sumatorio de cada valor de entrada
multiplicado por su peso correspondiente. La f (de función) indica que no siempre
se emplea el sumatorio directamente, sino que a veces se “ajusta” el valor para
que esté comprendido entre un rango determinado (por ejemplo, de 0 a 16).
3.3.3. Redes Multicapa

Las redes multicapa están formadas por varias capas de neuronas (2,3...). Estas
redes se pueden a su vez clasificar atendiendo a la manera en que se
conexionan sus capas.

Usualmente, las capas están ordenadas por el orden en que reciben la señal
desde la entrada hasta la salida y están unidas en ese orden. Ese tipo de
conexiones se denominan conexiones feedforward o hacia delante.

Por el contrario existen algunas redes en que las capas aparte del orden normal
algunas capas están también unidas desde la salida hasta la entrada en el orden
inverso en que viajan las señales de información. Las conexiones de este tipo se
llaman conexiones hacia atrás, feedback o retroalimentadas.

Redes con conexiones hacia adelante

Este tipo de redes contienen solo conexiones entre capas hacia delante. Esto
implica que una capa no puede tener conexiones a una que reciba la señal antes
que ella en la dinámica de la computación.

Ejemplos de estas redes son Perceptron, Adaline, Madaline, Backpropagation y


los modelos LQV y TMP de Kohonen.

Redes con conexiones hacia atrás

Este tipo de redes se diferencia en las anteriores en que si pueden existir


conexiones de capas hacia atrás y por tanto la información puede regresar a
capas anteriores en la dinámica de la red. Este Tipo de redes suelen ser bicapas.

Ejemplos de estas redes son las redes ART, Bidirectional Associative Memory
(BAM) y Cognitron

3.3.4. Retropropagación

Es un método de cálculo del gradiente utilizado en algoritmos de aprendizaje


supervisado utilizados para entrenar redes neuronales artificiales. El método
emplea un ciclo propagación adaptación de dos fases. Una vez que se ha
aplicado un patrón a la entrada de la red como estímulo, este se propaga desde
la primera capa a través de las capas siguientes de la red, hasta generar una
salida. La señal de salida se compara con la salida deseada y se calcula una
señal de error para cada una de las salidas.

Las salidas de error se propagan hacia atrás, partiendo de la capa de salida,


hacia todas las neuronas de la capa oculta que contribuyen directamente a la
salida. Sin embargo las neuronas de la capa oculta solo reciben una fracción de
la señal total del error, basándose aproximadamente en la contribución relativa
que haya aportado cada neurona a la salida original. Este proceso se repite, capa
por capa, hasta que todas las neuronas de la red hayan recibido una señal de
error que describa su contribución relativa al error total.

La importancia de este proceso consiste en que, a medida que se entrena la red,


las neuronas de las capas intermedias se organizan a sí mismas de tal modo
que las distintas neuronas aprenden a reconocer distintas características del
espacio total de entrada. Después del entrenamiento, cuando se les presente un
patrón arbitrario de entrada que contenga ruido o que esté incompleto, las
neuronas de la capa oculta de la red responderán con una salida activa si la
nueva entrada contiene un patrón que se asemeje a aquella característica que
las neuronas individuales hayan aprendido a reconocer durante su
entrenamiento.

3.3.5. Redes de Hopfield

Una red de Hopfield es una forma de red neuronal artificial recurrente inventada
por John Hopfield. Es una de las redes unicapas de neuronas más importantes
cuyas salidas son números binarios; y ha influido en el desarrollo de multitud de
redes posteriores. Cada neurona de la red se encuentra conectada con todas las
demás, pero no consigo mismo. Es una red autoasociativa no lineal que fue
desarrollada por Hopfield en 1982, basándose en los modelos de redes de
McCulloch y Pitts y los símiles de los campos magnéticos con spin de Amit,
Gutfreund, & Sompolinsky.

Es una red recurrente, es decir, existe realimentación entre las neuronas. De


esta forma, al introducir un patrón de entrada, la información se propaga hacia
adelante y hacia atrás, produciéndose una dinámica. En algún momento, la
evolución se detendrá en algún estado estable. En otros casos, es posible que
la red no se detenga nunca. Las redes recurrentes deben cumplir tres objetivos:

 Dado cualquier estado inicial, deben converger siempre a un estado


estable.

 El dominio de atracción de cada estado estable debe estar perfectamente


delimitado y cumplir algún criterio de métrica (por ejemplo, que el estado
final sea el más cercano al inicial).

 Debe poder tener cualquier número de estados estables.

Las redes de Hopfield se usan como sistemas de memoria asociativa con


unidades binarias. Están diseñadas para converger a un mínimo local, pero la
convergencia a uno de los patrones almacenados no está garantizada.

Las Redes de Hopfield se construyen de neuronas artificiales que fueron


realizadas en los años 1980 por John Hopfield, quien estudió modelos auto-
asociativos que presentaban algunas similitudes con los perceptrones, pero
incluía también grandes diferencias.
3.3.6. Máquinas de Boltzmann

La Máquina de Boltzmann es una red neuronal recurrente estocástica que


representa la información a partir de una distribución de probabilidad.

Igual que en el modelo de Hopfield, se define un funcional de energía que


depende tanto de los pesos como de las unidades.

Una máquina de Boltzmann es un tipo de red neuronal recurrente estocástica. El


nombre le fue dado por los investigadores Geoffrey Hinton y Terry Sejnowski.

Pueden considerarse como la contrapartida estocástica y generativa de las redes


de Hopfield. Fueron de los primeros tipos de redes neuronales capaces de
aprender mediante representaciones internas, son capaces de representar y
(con tiempo suficiente) resolver complicados problemas combinatorios.

Sin embargo, debido a una serie de cuestiones que se abordan más adelante,
las máquinas de Boltzmann sin restricciones de conectividad no han demostrado
ser útiles para resolver los problemas que se dan en la práctica en el aprendizaje
o inferencia de las máquinas.

Aun así resultan interesantes en la teoría debido a la localización y a la


naturaleza hebbiana de su algoritmo de entrenamiento, así como por su
paralelismo y por la semejanza de su dinámica a fenómenos físicos sencillos. Si
se limita la conectividad, el aprendizaje puede ser lo bastante eficaz como para
ser útil en la resolución de problemas prácticos.

Las máquinas de Boltzmann, al igual que las redes de Hopfield, poseen unidades
con una "energía" definida para la red. También dispone de unidades binarias,
pero a diferencia de las redes de Hopfield, las unidades de una máquina de
Boltzmann son estocásticas. La energía global, E, en una máquina de Boltzmann
es idéntica en forma a la de una red de Hopfield:
4.1. Caracterización de los Sistemas Expertos

4.1.1. Conceptos Básicos y Estructuras

Los sistemas expertos forman parte de la ciencia de la computación y dentro de


ésta se ubican en la rama de la inteligencia artificial. Este término fue usado por
primera vez por un doctor de la Universidad de Standford, Edward A.
Feigenbaum. El estipuló que el poder de resolución de un problema en un
programa de computadora viene del conocimiento de un dominio específico, no
solo de las técnicas de programación y el formalismo que contiene. Antes de eso
casi todos los investigadores en inteligencia artificial habían tratado de
desarrollar métodos generales de programación que resolverían grandes
problemas conceptuales pero estos programas resolvían pobremente los
problemas individuales.

Un sistema experto puede almacenar conocimiento proporcionado por expertos


sobre un campo determinado y solucionar un problema mediante la deducción
lógica de conclusiones. Los campos de acción de este son muy diversos desde
la detección de tumores o enfermedades en las personas hasta el tipo de
fertilizante necesario para tener una buena cosecha.

El objetivo de un sistema experto es igualar el comportamiento de los expertos


humanos. Existe mucha gente que consideramos expertos en la actualidad como
por ejemplo los abogados, médicos, economistas, etc. Todos ellos comparten
una característica en común: deben de tomar decisiones acertadas en ambientes
rodeados de riesgos e incertidumbre pero poseen la habilidad superior de
hacerlo como resultado de su entrenamiento, experiencia y práctica profesional.

Características de un sistema experto

Habilidad para llegar a una solución a los problemas en forma rápida y


certera : Esta es la habilidad principal que se espera que un experto posea y
pueda llevar a cabo. Al mencionar “en forma rápida y certera” obliga a que el
experto no solo tenga conocimiento del campo en el que va a diagnosticar, sino
que además tenga experiencia tomando decisiones en él.

Habilidad para explicar los resultados a la persona que no cuenta con ese
Conocimiento: Esto significa que el experto debe de poder responder en forma
clara y certera las preguntas concernientes a las razones de los resultados, el
razonamiento derivado de los mismos y las implicaciones subsecuentes.
Generalmente las personas que no cuentan con el conocimiento esperan recibir
una respuesta más práctica y que se acerque a las condiciones que ellos pueden
entender.

Habilidad para aprender de las experiencias: Los expertos deben de aprender


tanto de sus propias experiencias como de la experiencia de los demás. Están
obligados a estar al día en cuanto a la base de sus conocimientos así como a
modificar el proceso de su razonamiento. Los expertos que no se mantienen al
día generalmente se vuelven obsoletos.
Conciencia de sus limitaciones: Los expertos pueden evaluar su capacidad
para resolver un problema dado y determinar si el mismo se encuentra dentro de
sus posibilidades de resolución. Esto también significa que saben cuándo
referirse a otros expertos.

4.1.2 Dominio y Limitaciones

Dominio

Permanencia: A diferencia de un experto humano un sistema experto no


envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo.

Duplicación: Una vez programado un sistema experto lo podemos duplicar


infinidad de veces.

Rapidez: Un sistema experto puede obtener información de una base de datos


y realizar cálculos numéricos mucho más rápido que cualquier ser humano.

Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la
capacidad de duplicación el coste finalmente es bajo.

Entornos peligrosos: Un sistema experto puede trabajar en entornos


peligrosos o dañinos para el ser humano.

Fiabilidad: Los sistemas expertos no se ven afectados por condiciones


externas, un humano sí (cansancio, presión, etc.).

Limitaciones

Sentido común: Para un sistema experto no hay nada obvio. Por ejemplo, un
sistema experto sobre medicina podría admitir que un hombre lleva 40 meses
embarazado, a no ser que se especifique que esto no es posible ya que un
hombre no puede procrear hijos.

Lenguaje natural: Con un experto humano podemos mantener una


conversación informal mientras que con un sistema experto no podemos.

Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de


sus errores y de errores ajenos, que un sistema experto haga esto es muy
complicado.

Perspectiva global: Un experto humano es capaz de distinguir cuales son las


cuestiones relevantes de un problema y separarlas de cuestiones secundarias.

Capacidad sensorial: Un sistema experto carece de sentidos.

Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para


la resolución de un problema.
Conocimiento no estructurado: No es capaz de manejar conocimiento poco
estructurado.

Referencia Bibliográfica

 M. Cadoli and M. Schaerf (mil novecientos noventa y tres) "A survey of complexity
results for non-monotonic logics" Journal of Logic Programming 17: ciento veintisiete-
sesenta.
 https://www.psicologia1.com/neurociencias/logica-no-monotonica.html
 Duda, R. O., Hart, P. E., Stork, D. G. Pattern classification, Second Edition. John Wiley &
Sons, 2000.
 Bishop, C. M. Pattern Recognition and Machine Learning, Springer, 2006.
 https://advancedtech.wordpress.com/2007/08/27/arquitectura-estructura-y-
funcionamiento-de-las-rna/
 http://www.redes-neuronales.com.es/tutorial-redes-neuronales/Las-redes-
neuronales-multicapa.htm
 https://es.wikipedia.org/wiki/Propagación_hacia_atrás
 http://www.udb.edu.sv/udb/archivo/guia/informatica-ingenieria/sistemas-expertos-e-
inteligencia-artificial/2016/i/guia-10.pdf
 https://es.wikipedia.org/wiki/Máquina_de_Boltzmann