Introducción a Inteligencia artificial primer tema del curso de Programación LógicaDescripción completa
Descrição completa
Inteligencia artificialDescripción completa
Descrição completa
Inteligencia Artificial
Inteligencia Artificial
Descripción: Investigacion sobre la Inteligencia artificial
Inteligencia ArtificialDescripción completa
Inteligência Artificial, Aplicações em EngenhariaDescrição completa
Descrição: Inteligencia
Inteligencia
Descrição completa
Introducción a Inteligencia artificial primer tema del curso de Programación Lógica
Full description
Descripción completa
InteligenciaDescripción completa
jbjkDescripción completa
EJERCICIO BÚSQUEDA FORWARD CHECKING Considere el siguiente puzzle lógico: en cinco casas, cada una con un color diferente, viven cinco personas de nacionalidades diferentes, cada una de las …Descripción completa
TICDescripción completa
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
Introducción 1. Estructura del capítulo
19
2. Definir la inteligencia
19
3. La inteligencia de los seres vivos
22
4. La inteligencia artificial
24
5. Dominios de aplicación
26
6. Resumen
28
Sistemas expertos 1. Presentación del capítulo
29
2. Ejemplo: un sistema experto en polígonos
30
2 .1 Triá ngu lo s 2 .2 Cua d ri lá te ro s 2 .3 O t r o s p o l í g o n o s
30 32 33
3. Contenido de un sistema experto
34
3 .1 B ase d e r e gl as 3 .2 B ase d e h e cho s 3.3 Motor de inferencia 3.4 Interfaz de usuario
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
4.1.1 Principio 4.1.2 Aplicación a un ejemplo 4.2 Razonamiento inductivo 4.2.1 Principio 4.2.2 Aplicación a un ejemplo 4.3 Razonamiento mixto
39 40 41 41 42 43
5. Etapas de construcción de un sistema 5.1 Extracción del conocimiento 5.2 Creación del motor de inferencia 5.3 Escritura de las reglas 5.4 Creación de la interfaz de usuario
6. Rendimiento y mejoras
45 45 46 46
47
6.1 Criterios de rendimiento 6.2 Mejorar el rendimiento mediante la escritura de reglas 6.3 Importancia de la representación del problema
7. Dominios de aplicación
47 48 49
51
7.1 Ayuda al diagnóstico 7.2 Evaluación de riesgos 7.3 Planificación y logística 7.4 Transferencia de competencias y conocimiento 7.5 Otras aplicaciones
8. Creación de un sistema experto en C# 8.1 Definición de requisitos 8.2 Implementación de los hechos 8.3 Base de hechos 8.4 Reglas y base de reglas 8.5 Interfaz 8.6 Motor de inferencia 8.7 Escritura de reglas y uso
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
9.1 Presentación del lenguaje 9.2 Sintaxis del lenguaje 9.2.1 Generalidades 9.2.2 Predicados 9.2.3 Plantear preguntas 9.2.4 Escritura de las reglas 9.2.5 Otros predicados útiles 9.3 Codificación del problema de las formas geométricas 9.4 Codificación del problema de las ocho reinas 9.4.1 Interés del razonamiento inductivo 9.4.2 Estudio del problema 9.4.3 Reglas a aplicar 9.4.4 Reglas de conflicto entre reinas 9.4.5 Objetivo del programa 9.4.6 Ejemplos de uso
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
3.1 Lógica booleana y lógica difusa 3.2 Funciones de pertenencia 3.3 Características de una función de pertenencia 3.4 Valores y variables lingüísticas
4. Operadores sobre los conjuntos difusos 4.1 Operadores booleanos 4.2 Operadores difusos 4.2.1 Negación 4.2.2 Unión e intersección
104 104 106 106 108
5. Creación de reglas
110
5.1 Reglas en lógica booleana 5.2 Reglas difusas
110 110
6. Fuzzificación y defuzzificación
113
6.1 Valor de verdad 6.2 Fuzzificación y aplicación de las reglas 6.3 Defuzzificación
7. Ejemplos de aplicaciones
113 115 119
121
7.1 Primeros usos 7.2 En los productos electrónicos 7.3 En el mundo del automóvil 7.4 Otros dominios
121 122 122 122
8. Implementación de un motor de lógica difusa 8.1 El núcleo del código: los conjuntos difusos 8.1.1 Point2D: un punto de una función de pertenencia 8.1.2 FuzzySet: un conjunto difuso 8.1.3 Operadores de comparación y de multiplicación 8.1.4 Operadores sobre conjuntos 8.1.5 Cálculo del baricentro 8.2 Conjuntos difusos particulares 8.3 Variables y valores lingüísticos
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
8.3.1 LinguisticValue: valor lingüístico 8.3.2 LinguisticVariable: variable lingüística 8.4 Reglas difusas 8.4.1 FuzzyExpression: expresión difusa 8.4.2 FuzzyValue: valor difuso 8.4.3 FuzzyRule: regla difusa 8.5 Sistema de control difuso 8.6 Resumen del código creado
140 141 143 143 143 144 146 150
9. Implementación de un caso práctico
151
10. Resumen
157
Búsqueda de rutas 1. Presentación del capítulo
159
2. Rutas y grafos
160
2.1 Definición y conceptos 2.2 Representaciones 2.2.1 Representación gráfica 2.2.2 Matriz de adyacencia 2.3 Coste de una ruta y matriz de distancias
160 161 161 161 165
3. Ejemplo en cartografía
166
4. Algoritmos exhaustivos de búsqueda de rutas
168
4.1 Búsqueda en profundidad 4.1.1 Principio y pseudo-código 4.1.2 Aplicación al mapa 4.2 Búsqueda en anchura 4.2.1 Principio y pseudo-código 4.3 Aplicación al mapa
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
5. Algoritmos "inteligentes"
178
5.1 Algoritmo de Bellman-Ford 5.1.1 Principio y pseudo-código 5.1.2 Aplicación al mapa 5.2 Algoritmo de Dijkstra 5.2.1 Principio y pseudo-código 5.2.2 Aplicación al mapa 5.3 Algoritmo A* 5.3.1 Principio y pseudo-código 5.3.2 Aplicación al mapa
6. Implementación
179 179 181 185 185 186 189 189 191
199
6.1 Nodos, arcos y grafos 6.1.1 Implementación de los nodos 6.1.2 Clase que representa los arcos 6.1.3 Interfaz de los grafos 6.2 Fin del programa genérico 6.2.1 IHM 6.2.2 Algoritmo genérico 6.3 Codificación de los diferentes algoritmos 6.3.1 Búsqueda en profundidad 6.3.2 Búsqueda en anchura 6.3.3 Algoritmo de Bellman-Ford 6.3.4 Algoritmo de Dijkstra 6.3.5 Algoritmo A* 6.4 Aplicación al mapa 6.4.1 Tile y Tiletype 6.4.2 Implementación del mapa 6.4.3 Programa principal 6.5 Comparación de los rendimientos
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
Algoritmos genéticos 1. Presentación del capítulo
231
2. Evolución biológica
232
2.1 El concepto de evolución 2.2 Las causas de las mutaciones 2.3 El soporte de esta información: los factores 2.4 De los factores al código genético 2.5 El "ciclo de la vida"
3. Evolución artificial
240
3.1 Principios 3.2 Visión general del ciclo 3.2.1 Fases de inicialización y de finalización 3.2.2 Fase de selección 3.2.3 Fase de reproducción con mutaciones 3.2.4 Fase de supervivencia 3.3 Convergencia
4. Ejemplo del grifo
240 242 242 242 243 243 243
244
4.1 Presentación del problema 4.2 Inicialización del algoritmo 4.3 Evaluación de los individuos 4.4 Reproducción con mutaciones 4.5 Supervivencia 4.6 Resto del proceso
244 244 245 245 247 248
5. Elección de la representación
248
5.1 Población e individuos 5.2 Genes 5.3 Caso de un algoritmo de resolución de laberinto
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
6.1 Elección de la función de evaluación 6.2 Operadores de selección 6.3 Operadores de supervivencia
7. Reproducción: crossover y mutación
252 253 255
255
7.1 Crossover 7.2 Mutación
255 259
8. Dominios de aplicación
260
9. Implementación de un algoritmo genético
262
9.1 Implementación genérica de un algoritmo 9.1.1 Especificaciones 9.1.2 Parámetros 9.1.3 Individuos y genes 9.1.4 IHM 9.1.5 Proceso evolutivo 9.2 Uso para el hombre de negocios 9.2.1 Presentación del problema 9.2.2 Entorno 9.2.3 Genes 9.2.4 Individuos 9.2.5 Programa principal 9.2.6 Resultados 9.3 Uso para la resolución de un laberinto 9.3.1 Presentación del problema 9.3.2 Entorno 9.3.3 Genes 9.3.4 Individuos 9.3.5 Programa principal 9.3.6 Resultados
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
10.2.5 Optimización por enjambre de partículas 10.3 Resolución del problema de la mochila 10.3.1 Implementación del problema 10.3.2 Algoritmo voraz 10.3.3 Descenso por gradiente 10.3.4 Búsqueda tabú 10.3.5 Recocido simulado 10.3.6 Optimización por enjambre de partículas 10.3.7 Programa principal 10.4 Resultados obtenidos
11. Resumen
331 333 333 340 342 343 346 348 352 354
357
Sistemas multi-agentes 1. Presentación del capítulo
359
2. Origen biológico
360
2.1 Las abejas y la danza 2.2 Las termitas y la ingeniería civil 2.3 Las hormigas y la optimización de caminos 2.4 Inteligencia social
360 362 363 364
3. Sistemas multi-agentes
364
3.1 El entorno 3.2 Los objetos 3.3 Los agentes
364 365 365
4. Clasificación de los agentes 4.1 4.2 4.3 4.4
366
Percepción del mundo Toma de decisiones Cooperación y comunicación Capacidad del agente
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
5. Principales algoritmos 5.1 5.2 5.3 5.4
369
Algoritmos de manadas Optimización por colonia de hormigas Sistemas inmunitarios artificiales Autómatas celulares
6. Dominios de aplicación
369 370 372 373
375
6.1 Simulación de multitudes 6.2 Planificación 6.3 Fenómenos complejos
375 376 376
7. Implementación
377
7.1 Banco de peces 7.1.1 Los objetos del mundo y las zonas a evitar 7.1.2 Los agentes-peces 7.1.3 El océano 7.1.4 La aplicación gráfica 7.1.5 Resultados obtenidos 7.2 Recogida selectiva 7.2.1 Los residuos 7.2.2 Los agentes limpiadores 7.2.3 El entorno 7.2.4 La aplicación gráfica 7.2.5 Resultados obtenidos 7.3 El juego de la vida 7.3.1 La malla 7.3.2 La aplicación gráfica 7.3.3 Resultados obtenidos
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
1. Presentación del capítulo
423
2. Origen biológico
424
3. La neurona formal
426
3.1 Funcionamiento general 3.2 Funciones de agregación 3.3 Funciones de activación 3.3.1 Función "heavyside" 3.3.2 Función sigmoide 3.3.3 Función gausiana 3.4 Pesos y aprendizaje
426 427 428 428 428 429 430
4. Perceptrón
430
4.1 Estructura 4.2 Condición de linealidad
430 431
5. Redes feed-forward
433
6. Aprendizaje
434
6.1 Aprendizaje no supervisado 6.2 Aprendizaje por refuerzo 6.3 Aprendizaje supervisado 6.3.1 Principio general 6.3.2 Descenso por gradiente 6.3.3 Algoritmo de Widrow-Hoff 6.3.4 Retropropagación 6.4 Sobreaprendizaje y generalización 6.4.1 Reconocer el sobreaprendizaje 6.4.2 Creación de subconjuntos de datos
Inteligencia Artificial para desarrolladores Conceptos e implementación en C#
7.2 Mapas de Kohonen 7.3 Redes de Hopfield
444 445
8. Dominios de aplicación
445
8.1 Reconocimiento de patrones 8.2 Estimación de funciones 8.3 Creación de componentes
446 446 446
9. Implementación de un MLP
447
9.1 Puntos y conjuntos de puntos 9.2 Neurona 9.3 Red neuronal 9.4 IHM 9.5 Sistema completo 9.6 Programa principal 9.7 Aplicaciones 9.7.1 Aplicación al XOR 9.7.2 Aplicación a Abalone 9.7.3 Posibles mejoras