Archivos para Enero, 2008

Ejemplo de lógica difusa en Python

Continuando con el post anterior, aca hay un ejemplo que usa lógica difusa. El programa es muy tonto, pero mi intención es que se vea la manera de utilizar la lógica difusa.

Este programa simula un sistema en donde un ventilador impulsa hacia arriba un objeto dentro de un cilindro vertical, de manera que el objeto se mantenga suspendido a una altura determinada.


    |     |
    |     |
    |     |
    |     | <-- altura buscada
    |  *  |
    |  '  |
    |     |
    | { { |
    | } } |
     vent

El ventilador variará la potencia de soplo de acuerdo a la altura en que se encuentra el objeto.

Utilicé mucho las funciones lambda porque permite definir funciones con muchos de sus parámetros ya fijados, de manera que puedo hacer el código más ”significativo”.

Leer el resto de esta entrada »

Dejar un comentario

Lógica difusa

La lógica difusa ( “fuzzy logic” ) es una manera de trabajar con lógica, utilizando valores continuos, a diferencia de los tajantes valores discretos de la lógica tradicional ( 0 y 1, Verdadero y Falso….).

Básicamente la idea es ésta. Las computadoras trabajan con lógica de Verdadero y Falso. Todas las cosas tienen que caer necesariamente en alguna de esas dos categorías. En cambio los seres humanos pensamos con diversos grados de verdad, los cuales son difusos, es decir, no tienen un grado definido y exacto de verdad. Palabras como “mucho”, “poco”, “más o menos”, “quizás”, “posiblemente”, “seguro” indican los diferentes grados de verdad que le podemos asignar a un predicado. Entonces la lógica difusa sirve para hacer que la computadora trabaje con nuestros términos o grados de verdad.
Leer el resto de esta entrada »

Dejar un comentario