Implementación de un motor de lógica difusa Implementación

Esta sección detalla cómo codificar un motor de lógica difusa, utilizando las premisas expuestas hasta el momento. El siguiente código está escrito en C#, pero podría adaptarse fácilmente a cualquier otro lenguaje orientado a objetos. Es compatible con el framework .NET 4.5 (y versiones superiores), y Windows 8 o superior.

Cuando se requieran conocimientos matemáticos, se explicarán las fórmulas utilizadas.

1. El núcleo del código: los conjuntos difusos

a. Point2D: un punto de una función de pertenencia

Vamos a comenzar creando las clases básicas. Para ello, necesitaremos una clase Point2D que nos permita definir las coordenadas de un punto representativo de las funciones de pertenencia. El eje de abscisas (x) representa el valor numérico y el eje de ordenadas (y) el valor de pertenencia correspondiente, entre 0 y 1.

La base de esta clase es la siguiente:


using System;  
   
public class Point2D   
{  
  public double X { get; set; }  
  public double Y { get; set; }  
  
  public Point2D(double x, double y)  
  {  
    this.X = x;  
    this.Y = y;  
  }  
}
 

Más adelante, habrá que comparar dos puntos para conocer su orden. En lugar de comparar nosotros mismos las coordenadas x de los puntos, vamos a implementar la interfaz...

Si desea saber más, le proponemos el siguiente libro:
couv_DPT2INT.png
60-signet.svg
Versión impresa
20-ecran_lettre.svg
Versión online
41-logo_abonnement.svg
En ilimitado con la suscripción ENI
130-boutique.svg
En la tienda oficial de ENI
Anterior
Dominios de aplicación
Siguiente
Implementación de un caso práctico