Uno de los bloques de los sistemas basados en reglas es la máquina de inferencia, máquina de inferencia difusa o también conocida como máquina de razonamiento aproximado. En este video, presentamos los principios matemáticos bajo los que funciona esa máquina de inferencia. Recuerden que su función, es interpretar un conocimiento plasmado en reglas de la forma si, entonces. Si esto es lo que está pasando en la entrada, entonces esto es lo que quiero que suceda en la salida. Para hacer la presentación, de la máquina de inferencia, entonces comenzamos con la inferencia convencional que no es otra cosa que la aplicación del método del Modus Ponens. El Modus Ponens es la generación de una conclusión a partir de dos premisas que tiene la estructura que estamos presentando, un conocimiento expresado en la forma si A entonces B. Y ahora un hecho que es A, eso nos permite concluir que B. ¿Cómo asÃ? Un ejemplo muy sencillo, el que viene en todos los textos de inferencia. Supongan el conocimiento plasmado en la forma, si el tomate está rojo, entonces está maduro. Ese es un conocimiento. Y ahora hay un tomate que está rojo. Hay un hecho, y es este tomate está rojo. Yo puedo concluir, gracias a ese conocimiento, que el tomate está maduro. Pero quiero destacar en este punto que, para poder utilizar el conocimiento, el hecho tiene que coincidir exactamente con el antecedente de la regla sÃ, entonces. El tomate tiene que estar rojo para poder utilizar esa regla en la inferencia clásica. La inferencia, como decÃamos, no es otra cosa que la aplicación del Modus Ponens. Es una tautologÃa que está demostrada en esta tabla y, por ser una tautologÃa, sabemos que es una forma correcta de razonar. No vamos a entrar en los detalles matemáticos, ustedes pueden hacer la verificación de esa tautologÃa. Bueno, pero nosotros utilizamos también otra forma de conocimiento, un conocimiento numérico para hacer otro tipo de inferencias que podrÃamos llamar inferencia numérica. Supongamos que el conocimiento que tenemos entre dos variables, entre X y Y, que están relacionadas a través de una funcion f (x). Que f (x) está consignando allà el conocimiento, hay una relación entre esas dos variables. Y ahora hay un hecho y es que X vale X sub cero. ¿Podemos utilizar el conocimiento para inferir algo sobre Y? Claro que sÃ, utilizamos esa función para averiguar cuál es el valor de Y y serÃa f(x sub-0), esa serÃa nuestra conclusión, inferencia numérica. Inclusive podemos utilizarlo cuando tenemos incertidumbre en el hecho. Supongamos por ejemplo que lo que ahora sabemos es que X está en un intervalo, no conocemos el valor exacto. Pero está en un intervalo. ¿Podemos utilizar el conocimiento para concluir algo? SÃ, aplicando la función a cada uno de los valores del intervalo, podemos saber en qué intervalo va a estar la salida. Estamos haciendo conclusiones utilizando ese conocimiento. Y en ocasiones, el conocimiento mismo, tiene algún tipo de incertidumbre, por eso he dibujado you no una curva nÃtida, sino una franja. ¿Podemos utilizar ese conocimiento para obtener algún tipo de conclusión? También, si el hecho es un dato puntual X sub-0, yo puedo aprovechar ese conocimiento reflejado en esa franja para concluir que Y estará en un cierto intervalo. Y también puedo utilizarlo aun cuanto tenga incertidumbre sobre el valor de X. Si lo que yo sé, el hecho, es que X está en ese intervalo, utilizo esa función con incertidumbre para poder concluir que Y va a estar en un cierto intervalo. Bueno, eso es lo que queremos hacer pero ahora no con intervalos, sino con conjuntos difusos. Veamos entonces, supongamos que tenemos ahora dos variables lingüÃsticas, una en X y otra en Y, y hay una regla de la forma que, si X es A, entonces Y es B. Tanto A como B, son etiquetas lingüÃsticas que tienen asociados unos conjuntos difusos, que son los que he dibujado. El conjunto A para la variable X, y el conjunto B para la variable Y. Y ahora hay un hecho, y el hecho va a ser un conjunto difuso. El conocimiento de la regla si A entonces B es la relación que conocemos. Eso es lo que conocemos. Y ahora el hecho es, para este ejemplo, un conjunto difuso del tipo singleton. ¿Cómo hago para aprovechar ese conocimiento ante este hecho? Lo que voy a hacer es cruzar la información del conocimiento con la información del hecho. Para ello, hago la extensión cilÃndrica del conjunto difuso, sobre ahora el universo de discurso que corresponde al producto cartesiano de los dos universos de discurso, el de X y el de Y. Es decir, lo proyecto en la dirección que ustedes ven, alguna proyección, una extensión cilÃndrica o extensión ortogonal. Y veo dónde se cruzan esas dos cosas. ¿Cuál es la intersección entre esos dos conjuntos? El que refleja el conocimiento que es la pirámide y el hecho que es esta pared que resultó al extender. Y el cruce de los dos, resulta ser un trapecio. Trapecio se ve más fácil si retiramos una parte de la pirámide. Ese es el trapecio, es el cruce entre el hecho y el conocimiento. El trapecio solito entonces ahora lo voy a proyectar sobre el universo de discurso Y. La proyección es una proyección cilindrica, una proyección ortogonal y he obtenido una conclusión. ¿Cómo logré hacer esa conclusión? Gracias a un conocimiento de la forma si A entonces B. Noten que ese conjunto B, es digámoslo, asà como un subconjunto, la conclusión es un subconjunto del conjunto B. Va a ser frecuente en muchos de los sistemas que tengamos que sea el conjunto B recortado. Y eso es un término digamos que estándar para referirnos a la conclusión, el recortar. Bueno, matemáticamente, ¿qué es lo que he hecho? Entonces lo que he hecho es la extensión cilÃndrica del hecho, la intersección, y luego la proyección. En últimas, he tomado un conocimiento, y un hecho, para obtener una conclusión. Pero déjenme destacar que el hecho, no es exactamente igual al antecedente de la regla. Si ustedes observan, el hecho es un singleton en rojo, que es distinto al antecedente de la regla que es el trapecio. Entonces, por eso estamos haciendo un razonamiento aproximado. Y lo que obtengo, no es exactamente el consecuente, lo que obtengo es algo que se parece al consecuente. El recortado, por eso es razonamiento aproximados o Modus Ponens generalizado. Las operaciones matemáticas que he hecho para obtener la conclusión, es la composición de un hecho y un conocimiento. Y esa composición la hacemos tÃpicamente con el operador máx mÃn, pero, podemos hacerla con cualquier S norma y con cualquier T norma. Es decir, nuestra máquina de inferencia puede utilizar el máx mÃn, bien para hacer ese cálculo o una S sub-C para el máx y una T sub-C para el mÃn. Lo que obtendremos será un grado de pertenencia, una función de pertenencia a la variable de salida Y. ¿Qué pasa si el hecho no es un singleton? Tenemos el mismo tipo de conocimiento, si A entonces B, y ahora supongamos que el hecho es un triángulo. Recuerden que el hecho lo va a entregar el difusor, el bloque de difusor nos entrega un conjunto difuso. Supongamos que lo que nos entregó fue un triángulo ¿qué hacemos? Lo mismo, la extensión cilÃndrica para lograr cruzar ese hecho con el conocimiento la intersección del conocimiento con el hecho extendido, que en este caso es una pirámide, y luego la proyección. Pero antes de hacer la proyección, fÃjese por ejemplo que esta pirámide tiene paredes que no tienen la misma inclinación. La pared frontal tiene que ver con la intersección, es decir, tendrá la inclinación del trapecio azul, y la pared posterior tiene la inclinación del triángulo rojo, del hecho. Bueno, un detalle geométrico. Y ahora sÃ, la proyección sobre la variable de salida Y para obtener la conclusión. La conclusión resultó ser un recortado, en una altura distinta al ejemplo anterior pero un recortado. Lo importante es que estoy sacando inferencias difusas. Un hecho que se parece pero que no es exactamente igual al antecedente, un conocimiento. Y gracias a la inferencia difusa puedo obtener una conclusión que no es exactamente igual al consecuente si no que es parecido. La forma de resumirlo de nuevo con el ejemplo clásico, el conocimiento es. Si el tomate está rojo, entonces está maduro. Y ahora tengo un tomate que casi que está rojo. ¿Puedo utilizar ese conocimiento? SÃ, ahora sÃ, con el Modus Ponens generalizado para concluir que el tomate está casi maduro. Bien, esto es lo que hay que implementar en software a la hora de construir una máquina de inferencia. Gracias.