Sei sulla pagina 1di 24

Entrega N.

2 Inteligencia artificial

Jasson Esteban Gualguan Guzman


Yodi Pino Vargas

Inteligencia artificial

Politécnico Colombiano Jaime Isaza Cadavid


Taller N.2
Punto 3 – Lógica difusa (XFUZZY)
Carbón-Mine Regulador de airea: Las minas requieren un sistema de suministro
de airea que garantice el correcto trabajo de los mineros. Se debe diseñar un
sistema de control difuso que permita el control de temperatura de una mina. Las
posibles variables a considerar son: Temperatura actual del socavón, porcentaje de
humedad y saturación de CO2. El sistema en el que regula la entrada de aire a la
cueva (socavón).

Para cada uno de los problemas, realizar:


 Definir variables linguisticas y conjuntos difusos.
 Diagramas de conjuntos difusos.
 Definir al menos 3 reglas para el motor de inferencia.
 Ejercicio Implementado en XFuzzy

Solución
1. Variables linguisticas: Variables input: Temped, Humed, Satura
Variables output: Aire
2. Conjuntos difusos: Temperatura (bueno, regular, malo)
Humedad (Baja, Tolerable, Alta)
Saturación (Baja, Medio, Alto)
Aire (Bueno, Regular, Deficiente)
3. Reglas:
3.1. Tempe == Baja && Humed == Baja  Aire == Bueno
3.2. Tempe == Media  Aire == Regular
3.3. Tempe == Alta && Satura == Alto  Aire == Deficiente
3.4. Tempe == Media && Humed == Tolerable && Satura == Medio 
Aire == Regular
4. Ejercicio aplica en XFUZZY

Inicio del programa

Definicion de cada una de las variables


De entrada y salida del programa

Definr cada uno de los valores de rango que toma cada valor dentro del
programa y su representacion grafica en el sistema
Temperatura ( 0C – 26C)

Conjuntos difusos = (Baja, Media, Alta)


Grafica Trapezoidal

Definicion de cada uno de los conjuntos difusos de la variable temperatura

Baja ( -3,25, 0, 6.5, 9,75) Trapezoidal


Media (6.5, 9.75, 16.25, 19.5) Trapezoidal

Alta (16.25, 19.5, 26, 29.25) Trapezoidal


Humedad (0 – 79)

Conjuntos difusos (Baja, Tolerable, Alta)


Grafica trapezoidal
Definicion de cada uno de los conjuntos difusos de la variable Humedad

Baja (-9.875, 0, 19.75, 29.625) Trapezoidal


Tolerable (19.75, 29.625, 49.375, 59.25) Trapezoidal

Alta (49.375, 59.25, 79, 88.875) Trapezoidal


Saturacion ( 15 – 60)

Conjuntos difusos (Baja, Medio, Alto)


Grafica trapezoidal
Definicion de cada uno de los conjuntos difusos de la variable Saturación

Baja (9.375, 15, 26.25, 31.875) Trapezoidal


Medio (26.25, 35.875, 43.125, 48.75)

Alto (43.125, 48.75, 60, 65.625)


Aire ( 0 – 50)

Conjuntos difusos (Bueno, Regular, Deficiente)


Grafica Triangular
Definicion de cada uno de los conjuntos difusos de la variable de salida Aire
Bueno (-11, 0, 15) Triangular
Regular (10, 19, 30) Triangular

Deficiente (25, 38, 50) Triangular

Definicion de los operadores del sistema : AND, OR, DEFUZZIFICATION


Definicion de las reglas del sistema

Ventana en donde se definen las variables input (Tempe, Humed, Satura) y las variables output (Aire)
, en la tabla se definen cada una de las reglas que deben seguir los parametros que se definieron al
inicio.
Definir el modulo de trabajo

Se agrega las reglas creadas anteriormente al nuevo modulo de trabajo.

se relacionan cada una de las variables de


entrada al modulo de trabajo creado (system
structure) se relacionan las variables de
entrada al sistema con las variables de salida
que genera el sistema.
Sistema en XFuzzy

Generar la representacion grafica del sistema

 Graphic Representation
 Monitorization

Se mueven los diferentes sliders de cada una de las variables definidas en el sistema, con
el fin de ver los resultados con los valores (rangos) definidos en cada uno de los conjuntos
de cada variable input y ver los resultados en la variable output (Aire).

Punto 4 - Algoritmos genéticos.

A partir de una temática seleccionada (Ej: La aviación, construcción, deporte,


educación, etc), se debe proponer una función para optimizar y que pueda ser
solucionada mediante un algoritmo genético.

Productos a entregar:
 Diseño del problema como un algoritmo genético (Población, Cromosoma,
parámentros, función fitness, entre otros).
 Programa construido que ejecute el algoritmo.

Solución
Temática: educación

Propuesta del problema (situación hipotética)


Un curso de matemáticas para adultos de una academia privada lleva desarrollándose por más de
10 años, al final se les realiza una actividad evaluativa para medir sus conocimientos y ver si
realmente aprendieron, las notas se almacenan en archivos web, quien saca una calificación de 5 es
participante por una beca para estudiar una carrera de ingeniería, es por ello que se clasifica las
notas de 1 a 5 así:

0.0 – 2.9  no participa por la beca

3.0 – 4.9  Es beneficiado por un bono de 500.000 pesos

5.0  Recibe la beca universitaria

La administración desea saber cuál de los cursos ya culminados han ganado becas con una nota de
5.0 en el menor tiempo posible.

Población: Sum (nota)/Cantidad nota <=5, donde E = (0, 1, 2, 3, 4, 5)

F(x) = sum (nota)/cantidad <=5

%selección = 0.4

%cruce = 0.7

%mutación = 0.7

Programa funcional por consola

Definicion de los parametros de poblacion y la funcion fittest del algoritmo genetico


Funcion que selecciona los tipos mas adecuados

Funcion que hace el cruce mutacional

Función que realiza la respectiva mutación


Cuadramos la descendencia

Funcion que reemplaza al individuo menos apto de la descendencia mas adecuada

Clase individual – aca se establecen los genes al azar y se calcula el fitness


Clase que crea la poblacion del algortimo
Ahora, se consigue el segundo individuo mas apto

Se procede a obtener el individuo menos apto

Se calcula el Fitness de cada individuo


A continuación, dentro del main class se procede a llamar cada uno de los métodos construidos y a
realizar los cálculos para obtener los resultados del algoritmo

Se inicializa la población, calcula el fitness de cada elemento y va obteniendo el individuo con el


máximo fitness con los parámetros de mutación y cruce.

Se procede a la impresión por consola de cada una de las iteraciones del algoritmo genético
propuesto
Punto 5 - redes neuronales.

Diseñar una red neuronal que solucione las compuertas lógicas AND y, OR. La
implementación mediante un programa con interfaz gráfica, en donde se seleccione
el tipo de compuerta y se ingresen los datos de las entradas (1 ó 0).

Los datos de entrenamiento de la red deben ingresarse por un sistema de archivos


planos y dicha fase de entrenamiento se debe realizar cada vez que se solicite
solucionar una compuerta lógica.

Productos a entregar: Programa construido y funcional.

Solucion

Programa por consola que ejecuta cada una de las ordenes de la tabla de verdad de las compuertas
AND y OR

Lenguaje implementado: JAVA

Inicio del programa, definimos una clase llamada Estructura


Definimos las variables de entrada de la compuertas e ingresamos la salida que queremos obtener,
el programa obtiene las variables directamente editando el codigo en java.
Se definen cada una de las capas o iteraciones que el programa realiza para obtener un valor cercano
con los valores iniciales (0 o 1) dependiendo de la compuerta escogida

Clase main

Salida por consola


Entradas 1 1 de la compuerta AND

Potrebbero piacerti anche