====== 75.23. Inteligencia Artificial ====== ===== Glosario de Términos ===== **Inteligencia Artificial**: Disciplina que estudia la construcción de sistemas inteligentes. **Inteligencia**: Capacidad para resolver problemas sistemáticamente. **Sistema experto**: Dado el problema, la máquina lo resuelve sin necesidad de dar el método de resolución. **Base de datos global (BDG)**: Es una estructura de datos que representa una situación. Debe ser capaz de poder representar cualquier situación del problema. No debe tener redundancia de datos. **Métodos irrevocables**: En los cuales no se toman precauciones para poder volver al paso anterior. No se guardan copias de las BDGs. Ej : Hill Climbing. **Metodos admisibles**: Si existe una solución, la encuentran. **Métodos desinformados**: No se tiene información por dónde encontrar la solución. **Depthfirst**: Siempre se verifica la condición de finalización. Le aplica a la BDG inicial todas las reglas posibles. Luego puede borrar la BDG inicial. Esto genera varias BDG abiertas, una lista de bases. De todas las bases que quedan elijo la mas profunda y vuelvo a aplicar todas las reglas posibles. Si a la base elegida no se le puede profundizar más, se la elimina y se elige otra base. No se puede profundizar más cuando: no hay reglas aplicables, una base se repite en la lista abierta de bases o cuando se supera un nivel de profundidad. Es no admisible por la restriccion del nivel de profundidad. Complejidad : En el tiempo, T=O(b^L), donde b=cantidad promedio de reglas y L, la profundidad. En el espacio, M=O(b^L). **Hill Climbing**: Se basa en encontrar una funcion de evaluación que para cualquier estado del sistema, devuelve un número real. Siempre devuelve un valor, sin indeterminaciones. Debe tener un máximo. No puede contener máximos y mínimos locales, no puede tener mesetas ni puntos de ensilladura. **Backtracking**: No es admisible, porque si la solución está por debajo de la profundidad, no la encuentra. Sin control de profundidad, puede irse por una rama infinita y no llegar a la solución. Aplica una regla por vez. Crece linealmente con la profundidad. **Breadthfirst**: Es igual al depthfirst, pero elige la base menos profunda. No hay límite de profundidad. Es un método admisible. Complejidad : T=O(b^L), M=O(b^L). **Métodos tentativos**: Se puede volver atrás, es decir, deshacer el último paso. Se guardan copias de las BDG. Ej : Backtracking, Depthfirst, Breadthfirst, A*. **A* (best first)**: Si hay solución, la encuentra y además es la óptima. Es admisible y optimal. A cada regla se le asigna un costo. El costo c: c>E>0, es decir el costo debe ser positivo y no infinitesimal siendo E un numero arbitrario. Costo de la solución = costo del camino. Se define una función heuristica f(n) = costo estimado del mejor camino que pasa por n y va de n_i a n_f. g(n) = costo estimado del mejor camino que va de n_i a n. h(n) = costo estimado del mejor camino que va desde n a n_f. f(n) = g(n)+h(n). g(n) se calcula porque sólo sumo el camino hasta llegar a n, en cambio h(n) la debo estimar porque no sé dónde está la solución. Observaciones : f(n_i) = f(n_f), g(n_i) = 0, g(n_f)=f(n_f), h(n_f) = f(n_i), h(n_f) = 0.