[Code Camp 2009] Inteligencia Artificial con C# (Marcelo A. Quevedo)
1.
2. Agenda ¿Quees la Inteligencia Artificial (IA) ? Un poco de historia Susaplicaciones Metodologías 1. Maquinas de estadofinito 2. Algoritmosgenéticos 3. Redesneuronales 4. Sistemasexpertos 5. Lógicadifusa DEMO
16. Cambiará de estado dependiendo de si se cumple o no la condición de transición
17. La salida entre un estado y otro puede ser o no binaria Do { If (calentador.estado == false) { If (temperatura < 50) { calentador.estado = true } } Elseif (calentador.estado == true) { If (temperatura > 100) { calentador.estado = false } } } while (dispositivo.estado == true) ON OFF
18. Algoritmosgenéticos part 1 Inspirados en la forma en teoría de la evolución. (explicar) Estado estable Ruleta Torneo Punto sencillo Dos puntos Múltiples puntos Mutacion: calculamos la relación de mutación. Este valor nos va a indicar la posibilidad que determinado cromosoma mute. Para la mutación se invierte el valor que debería ir en dicho cromosoma. Cálculo de adaptación Selección de padres Cruce y mutación
19. Algoritmosgenéticos part 2 Funciones elementales CalcularAdaptacion() Primero obtenemos los factores (altura, fuerza, etc) que van a determinar los valores que prevalecen sobre el resto. Segundo evaluamos la aptación de cada individuo de la población respecto a dichos valores. Con dichos valores conformamos un valor general de adaptación. SeleccionarPadres() Recorriendo la población y comparando sus valores de adaptación seleccionamos los padres que tengan los valores mas altos. Es decir, los mas adaptados Cruce() Iniciamos la creación de la segunda generación. Cargamos los padres seleccionados. Y por último mediante la función random determino cuantos cromosomas serán heredados por cada iteración en la creación de la generación. Ya con esto, analizo nuevamente mediante una función aleatoria si el gen que se pasa a dicho cromosoma en particular, es de la madre o del padre. Mutación() para ella damos la probabilidad deseada a un if con un random cargado para indicarle al sistema en que casos plicaría la mutación de mas esta decir, randomizada.
20.
21. Contamos con varias capas. Cada capa esta formada por un conjunto de neuronas. Las diferentes neuronas de las diferentes capas se conectan entre sí.entrada proceso salida Datos necesarios para el procesamiento, se recomienda usar una nuerona para cada tipo de dato representativo. Para cada entrada se usará una escala para graduar los valores Cada neurona tendrá un valor de bias, que nos permitirá manejar los valores de tendencia en la salida comer proteínas NO comer minerales comer poco vitaminas El valor de entrada se calculará como la sumatoria de todas (las neuronas * el peso que les corresponde) + (el bias de la neurona * su peso) Para procesar dicha información usamos funciones de activación.
22. Redesneuronales part 2 Procesamiento de la información: Funcion de paso Donde la funcion es 0 para x < 0 y es 1 para x > 0 Función lineal Donde la funcion es = x Función logística Funcion = 1 / (1 + e(-x)) Aprendizaje supervisado: se analiza un problema ya resuelto, ingreso los valores de entrada y observo sus resultados. En base a los datos obtenido modifico los valores de tendencia hasta obtener el resultado teórico. Calculo de error Actualización de datos
23.
24. Utiliza el tipo de reglas que el experto usaría para solucionar el problema (costos).
25. Existen reglas que nos permiten utilizar esos conocimientos importantes.
28. Memoria de reglas y memoria de trabajo.Base de conocimiento SISTEMAEXPERTO Base de conocimiento Motor de inferencia Interfaz de usuario
29. LogicaDifusa part 1 Logica estricta Nos dice si algo es verdadero o falso. Por ejemplo, “estamos en CodeCamp" Pese a El hombre trabaja con una lógica no tan estricta (vehículo) Procesamos información sin valores exactos Logica Difusa Grado de membrecía, para el ejemplo, "que tanto doblo a la derecha”. Por definicion, que grado de pertenencia tiene una proposición sobre un conjunto. Toma valores entre 0 y 1.
30.
31. Triangulares : toma 3 valores siendo los puntos del triangulo y mas los datos de entrada que necesitemos, según entre que puntos este el valor de entrada será el grado devuelto.
32. de Trapezoide Reglas difusas: mediante reglas determinadas obtenemos el grado de membrecía de la entrada con relación a la salida del programa. Desfuzzificacion: a veces es necesario convertir el valor de membrecía en un numero real