Fundamentos de Inteligencia Artificial: Algoritmos de Búsqueda y Optimización

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,35 KB

1. Introducción a la Inteligencia Artificial

Definición: Desarrollo y utilización de ordenadores con los que se intenta reproducir los procesos de la inteligencia humana.

Objetivos

  • Producir sistemas capaces de adoptar comportamientos que, realizados por personas, calificaríamos de inteligentes.
  • Estudiar cómo hacer que las computadoras realicen tareas que, de momento, ejecutan mejor las personas.

Objeciones comunes

  • Falta de creatividad (ej. Mozart).
  • No computabilidad de los procesos del pensamiento.

2. Estrategias de Búsqueda

Un heurístico se utiliza para determinar el camino más corto a la solución de un problema, evitando explorar todo el espectro de soluciones y aumentando la eficiencia de los algoritmos. Un algoritmo es completo si garantiza obtener una solución si existe, y es óptimo si encuentra la solución de menor coste.

Algoritmos de búsqueda no informada

  • Primero en profundidad (Depth-First): Se expande el nodo más profundo de la frontera. Utiliza una cola LIFO. Es completo, pero no óptimo. Complejidad temporal: O(b^m), espacial: O(bm).
  • Primero en anchura (Breadth-First): Se expande el nodo menos profundo de los inexplorados. Utiliza una cola FIFO. Es óptimo (si los costes de los pasos son iguales) y completo. Complejidad: O(b^d).
  • Bidireccional: Realiza dos búsquedas simultáneas, una desde el inicio y otra desde el final, deteniéndose cuando se encuentran.
  • Coste uniforme: Extensión de la búsqueda en anchura. Expande el nodo con el camino de menor coste (función g) mediante una cola de prioridad. Es completo (si costes > 0) y óptimo.

Algoritmos avanzados y locales

  • A*: Especialización de best-first que utiliza una función de evaluación f(n) = g(n) + h(n) para estimar el coste total. Es eficiente, aunque su complejidad puede limitar su uso para soluciones óptimas.
  • Backtracking: Variante de la búsqueda en profundidad donde solo se expande un sucesor. Memoria: O(m).
  • Búsqueda local: Operan con un solo estado y lo mejoran iterativamente.
    • Hill Climbing (Greedy local search): Busca el pico más alto sin mantener un árbol de búsqueda. Problemas: máximos locales, crestas y planicies.
    • Simulated Annealing: Permite movimientos hacia estados de menor calidad para escapar de máximos locales, reduciendo la probabilidad de estos movimientos con el tiempo.

3. Algoritmos Evolutivos y Probabilísticos

  • Algoritmos Genéticos: Parten de un conjunto de soluciones candidatas (fenotipos) con propiedades (cromosomas o genotipos) que mutan y se combinan a través de generaciones. La función fitness mide la calidad de cada solución.
  • EDAs (Estimation of Distribution Algorithms): Búsquedas heurísticas que utilizan funciones de probabilidad en lugar de operadores genéticos.
    • UMDA (Univariate Marginal Distribution Algorithm): Analiza la proporción de aparición de componentes en la población seleccionada, asumiendo codificación binaria.

Entradas relacionadas: