Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Predicado Corte (!), Prolog
Predicado Corte (!), Prolog
Podemos definir el Corte como un predicado que siempre se cumple, es decir, que
genera un resultado verdadero en la primera ejecución, y falla en el proceso de back
tracking, impidiendo dicho retroceso. Su aplicación principal es generar código más
eficiente por el efecto que causa en la reducción o poda del árbol de búsqueda generado
durante el procedimiento de resolución.
Ejemplo:
Base de conocimientos sin utilizar el Corte.
padre(juan, pepe).
padre(juan, luis).
padre(juan, alberto).
hermanodepadre(X,Y):-padre(Z,X), padre(Z,Y).
Objetivo
no
El proceso de ejecución.
Figura 1: Árbol de ejecución para la base de conocimientos y objetivo del ejemplo que no usa corte
Ejemplo:
Base de conocimientos utilizando el Corte.
padre(juan, pepe).
padre(juan, luis).
padre(juan, alberto).
hermanodepadre(X,Y):-padre(Z,X), !, padre(Z,Y).
Objetivo
no
El proceso de ejecución.
Recordemos que cuando la máquina Prolog encuentra una solución para y devuelve el
resultado de la ejecución. Con fail podemos forzar a que no pare y siga construyendo el
árbol de búsqueda hasta que no queden más soluciones que mostrar.
Ejemplo:
Base de conocimientos.
padre(juan, pepe).
padre(juan, luis).
padre(juan, alberto).
?.- listado.
pepe
luis
alberto
no.
El proceso de ejecución.
1. Historia:
Los conjuntos difusos fueron introducidos por primera vez en 1965; la creciente
disciplina de la lógica difusa provee por sí misma un medio para acoplar estas tareas. En
cierto nivel, la lógica difusa puede ser vista como un lenguaje que permite trasladar
sentencias sofisticadas en lenguaje natural a un lenguaje matemático formal. Mientras
la motivación original fue ayudar a manejar aspectos imprecisos del mundo real, la
práctica temprana de la lógica difusa permitió el desarrollo de aplicaciones prácticas.
Aparecieron numerosas publicaciones que presentaban los fundamentos básicos con
aplicaciones potenciales. Esta frase marcó una fuerte necesidad de distinguir la lógica
difusa de la teoría de probabilidad. Tal como la entendemos ahora, la teoría de
conjuntos difusos y la teoría de probabilidad tienen diferentes tipos de incertidumbre.
En el siglo XVIII el filósofo y obispo anglicano Irlandés, George Berkeley y David Hume
describieron que el núcleo de un concepto atrae conceptos similares. Hume en
particular, creía en la lógica del sentido común, el razonamiento basado en el
conocimiento que la gente adquiere en forma ordinaria mediante vivencias en el
mundo. En Alemania, Immanuel Kant, consideraba que solo los matemáticos podían
proveer definiciones claras, y muchos principios contradictorios no tenían solución. Por
ejemplo la materia podía ser dividida infinitamente y al mismo tiempo no podía ser
dividida infinitamente. Particularmente la escuela americana de la filosofía llamada
pragmatismo fundada a principios de siglo por Charles Sanders Peirce, cuyas ideas se
fundamentaron en estos conceptos, fue el primero en considerar ''vaguedades'', más
que falso o verdadero, como forma de acercamiento al mundo y a la forma en que la
gente funciona.
Como indica Zadeh, “Cuando aumenta la complejidad, los enunciados precisos pierden
su significado y los enunciados útiles pierden precisión.”, que puede resumirse como
que “los árboles no te dejan ver el bosque”.
Básicamente, cualquier problema del mundo puede resolverse como dado un conjunto
de variables de entrada (espacio de entrada), obtener un valor adecuado de variables
de salida (espacio de salida). La lógica difusa permite establecer este mapeo de una
forma adecuada, atendiendo a criterios de significado (y no de precisión).
Conjuntos difusos.
La mayoría de los fenómenos que encontramos cada día son imprecisos, es decir,
tienen implícito un cierto grado de difusidad en la descripción de su naturaleza. Esta
imprecisión puede estar asociada con su forma, posición, momento, color, textura,
o incluso en la semántica que describe lo que son. En muchos casos el mismo
concepto puede tener diferentes grados de imprecisión en diferentes contextos o
tiempo. Un día cálido en invierno no es exactamente lo mismo que un día cálido en
primavera. La definición exacta de cuando la temperatura va de templada a caliente
es imprecisa -no podemos identificar un punto simple de templado, así que
emigramos a un simple grado, la temperatura es ahora considerada caliente. Este
tipo de imprecisión o difusidad asociado continuamente a los fenómenos es común
en todos los campos de estudio: sociología, física, biología, finanzas, ingeniería,
oceanografía, psicología, etc.
Conceptos imprecisos.
Aceptamos la imprecisión como una consecuencia natural de ''la forma de las cosas
en el mundo''. La dicotomía entre el rigor y la precisión del modelado matemático
en todos los campos y la intrínseca incertidumbre de ''el mundo real'' no es
generalmente aceptada por los científicos, filósofos y analistas de negocios.
Nosotros simplemente aproximamos estos eventos a funciones numéricas y
escogemos un resultado en lugar de hacer un análisis del conocimiento empírico. Sin
embargo procesamos y entendemos de manera implícita la imprecisión de la
información fácilmente. Estamos capacitados para formular planes, tomar
decisiones y reconocer conceptos compatibles con altos niveles de vaguedad y
ambigüedad.
Un tipo de lógica que reconoce más que simples valores verdaderos y falsos. Con lógica
difusa, las proposiciones pueden ser representadas con grados de veracidad o falsedad.
Por ejemplo, la sentencia "hoy es un día soleado", puede ser 100% verdad si no hay
nubes, 80% verdad si hay pocas nubes, 50% verdad si existe neblina y 0% si llueve todo
el día.
La Lógica Difusa ha sido probada para ser particularmente útil en sistemas expertos y
otras aplicaciones de inteligencia artificial. Es también utilizada en algunos correctores
de voz para sugerir una lista de probables palabras a reemplazar en una mal dicha. La
Lógica Difusa, que hoy en día se encuentra en constante evolución, nació en los años 60
como la lógica del razonamiento aproximado, y en ese sentido podía considerarse una
extensión de la Lógica Multivariada. La Lógica Difusa actualmente está relacionada y
fundamentada en la teoría de los Conjuntos Difusos. Según esta teoría, el grado de
pertenencia de un elemento a un conjunto va a venir determinado por una función de
pertenencia, que puede tomar todos los valores reales comprendidos en el intervalo
[0,1].
La Lógica Difusa (llamada también Lógica Borrosa por otros autores) o Fuzzy Logic es
básicamente una lógica con múltiples valores, que permite definir valores en las áreas
oscuras entre las evaluaciones convencionales de la lógica precisa: Si / No, Cierto / Falso,
Blanco / Negro, etc. Se considera un súper conjunto de la Lógica Booleana. Con la Lógica
Difusa, las proposiciones pueden ser representadas con grados de certeza o falsedad. La
lógica tradicional de las computadoras opera con ecuaciones muy precisas y dos
respuestas: Si o no, uno o cero. Ahora, para aplicaciones de computadores muy mal
definido o sistemas vagos se emplea la Lógica Difusa.
Los operadores lógicos que se utilizarán en Lógica Difusa (AND, OR, etc.) se definen
también usando tablas de verdad, pero mediante un "principio de extensión" por el cual
gran parte del aparato matemático clásico existente puede ser adaptado a la
manipulación de los Conjuntos Difusos y, por tanto, a la de las variables lingüísticas.
Así, en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir
una "función (matemática) de implicación" distinta en cada caso para representar a la
implicación.
5. Características
Los sistemas difusos son muy recomendables en aquellos problemas muy complejos
donde no existe un modelo matemático simple asociado. Igualmente en procesos que
obedecen a un comportamiento no lineal, la solución difusa plantea grandes ventajas.
La solución difusa require que el conocimiento experto sea expresado lingüísticamente,
requisito que es normalmente fácil de obtener.
9.- Funcionamiento
La lógica difusa (fuzzy logic, en inglés) se adapta mejor al mundo real en el que vivimos,
e incluso puede comprender y funcionar con nuestras expresiones, del tipo «hace
mucho calor», «no es muy alto», «el ritmo del corazón está un poco acelerado», etc.
La clave de esta adaptación al lenguaje se basa en comprender los cuantificadores de
cualidad para nuestras inferencias (en los ejemplos de arriba, «mucho», «muy» y «un
poco»).
En la teoría de conjuntos difusos se definen también las operaciones
de unión, intersección, diferencia, negación o complemento, y otras operaciones sobre
conjuntos (ver también subconjunto difuso), en los que se basa esta lógica.
Para cada conjunto difuso, existe asociada una función de pertenencia para sus
elementos, que indica en qué medida el elemento forma parte de ese conjunto difuso.
Las formas de las funciones de pertenencia más típicas son trapezoidal, lineal y curva.
Se basa en reglas heurísticas de la forma SI (antecedente) ENTONCES (consecuente),
donde el antecedente y el consecuente son también conjuntos difusos, ya sea puros o
resultado de operar con ellos. Sirvan como ejemplos de regla heurística para esta lógica
(nótese la importancia de las palabras «muchísimo», «drásticamente», «un poco» y
«levemente» para la lógica difusa):
SI hace muchísimo frío. ENTONCES aumento drásticamente la temperatura.
SI voy a llegar un poco tarde. ENTONCES aumento levemente la velocidad.
Los métodos de inferencia para esta base de reglas deben ser sencillos, versátiles y
eficientes. Los resultados de dichos métodos son un área final, fruto de un conjunto de
áreas solapadas entre sí (cada área es resultado de una regla de inferencia). Para escoger
una salida concreta a partir de tanta premisa difusa, el método más usado es el
del centroide, en el que la salida final será el centro de gravedad del área total
resultante.
Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser
formuladas por expertos o bien aprendidas por el propio sistema, haciendo uso en este
caso de redes neuronales para fortalecer las futuras tomas de decisiones.
Los datos de entrada suelen ser recogidos por sensores que miden las variables de
entrada de un sistema. El motor de inferencias se basa en chips difusos, que están
aumentando exponencialmente su capacidad de procesamiento de reglas año a año.
Un esquema de funcionamiento típico para un sistema difuso podría ser de la siguiente
manera:
En la figura, el sistema de control hace los cálculos con base en sus reglas heurísticas,
comentadas anteriormente. La salida final actuaría sobre el entorno físico, y los valores
sobre el entorno físico de las nuevas entradas (modificado por la salida del sistema de
control) serían tomados por sensores del sistema.
Por ejemplo, imaginando que nuestro sistema difuso fuese el climatizador de un coche
que se autorregula según las necesidades: Los chips difusos del climatizador recogen los
datos de entrada, que en este caso bien podrían ser la temperatura y humedad
simplemente. Estos datos se someten a las reglas del motor de inferencia (como se ha
comentado antes, de la forma SI... ENTONCES...), resultando un área de resultados. De
esa área se escogerá el centro de gravedad, proporcionándola como salida.
Dependiendo del resultado, el climatizador podría aumentar la temperatura o
disminuirla dependiendo del grado de la salida.