Inteligencia Artificial
TBD Intro a IA
Prueba de Turing
Prueba de Turing Original: Propuesta por Alan Turing en 1950 para determinar si una máquina puede exhibir un comportamiento inteligente indistinguible del de un ser humano. Consiste en que un juez interactúa con una máquina y un humano, sin saber cuál es cuál, y si el juez no puede diferenciar entre ambos, se dice que la máquina ha pasado la prueba.
Críticas a la Prueba de Turing:
- No evalúa necesariamente la comprensión o la consciencia de la máquina.
- Argumento de la “habitación china” de John Searle: una máquina puede manipular símbolos sin comprender realmente su significado.
Variantes de la Prueba de Turing
- Prueba de Turing Total: Incluye además de la comunicación verbal, la interacción física con el entorno.
- Prueba de Turing Inversa: Un humano debe convencer a una máquina de que él es humano.
- Prueba de Lovelace: Propone que una máquina puede demostrar creatividad si genera algo que no puede explicarse completamente por sus reglas de programación.
Búsquedas
Definición: En IA, las búsquedas consisten en encontrar una solución óptima o satisfactoria dentro de un espacio de posibles soluciones. Son fundamentales en la resolución de problemas de planificación, optimización y juegos.
Tipos de búsquedas:
- Búsqueda No Informada (Ciega):
- Búsqueda en anchura: Explora todos los nodos de un nivel antes de pasar al siguiente. Garantiza encontrar la solución óptima si el costo es uniforme.
- Búsqueda en profundidad: Explora tan profundo como sea posible antes de retroceder. No garantiza encontrar la solución óptima.
- Búsqueda de costo uniforme: Busca la solución de menor costo expandiendo los nodos de menor costo acumulado.
- Búsqueda Informada (Heurística):
- Búsqueda Voraz: Utiliza una función heurística que intenta aproximarse rápidamente a la solución.
- A* (ver sección A*): Combina la búsqueda voraz con la búsqueda de costo uniforme, utilizando tanto el costo acumulado como una estimación del costo restante.
Consideraciones:
- Completitud: Si el algoritmo encuentra una solución si existe.
- Optimalidad: Si la solución encontrada es la mejor posible.
- Complejidad temporal: Tiempo que tarda en encontrar la solución.
- Complejidad espacial: Memoria utilizada durante la búsqueda.
Algóritmo de Dijkstra
Algoritmo de Dijkstra: Utilizado para encontrar el camino más corto desde un nodo inicial a todos los demás nodos en un grafo con aristas de costo no negativo. Es un algoritmo de búsqueda de costo uniforme.
Funcionamiento:
Inicializa una lista de distancias con infinito, excepto el nodo de inicio que tiene costo 0. Expande el nodo con menor costo acumulado, actualizando las distancias a sus vecinos. Repite el proceso hasta que todos los nodos hayan sido visitados.
Complejidad: Depende de la estructura de datos utilizada (puede ser O(V2)O(V2) con listas simples o O(E+VlogV)O(E+VlogV) con colas de prioridad).
Aplicaciones: Encontrar rutas óptimas en redes de transporte, telecomunicaciones, videojuegos, etc.