Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tenemos, por un lado, la Inteligencia Artificial como Ciencia, cuyo ámbito de conocimiento
engloba todo lo referente a la Neurología y Cognición (entiéndase procesos, tales como,
memoria, percepción, sentimientos o razonamiento). Esta perspectiva científica persigue el
ambicioso objetivo de encontrar una teoría computable del conocimiento humano, o, dicho de
otra forma, busca construir programas que emulen el comportamiento inteligente de los seres
humanos, es debido a esto que se le denomina hipótesis fuerte. Existe también, un enfoque
que persigue un objeto un poco más modesto, es decir, el desarrollo de máquinas inteligentes
sin la necesidad de emular el pensamiento humano, la cual se conoce como hipótesis débil.
Por otro lado, tenemos, la Inteligencia Artificial como Ingeniería o Ingeniería del
Conocimiento (IC), cuyo objeto formal es el propio conocimiento, lo cual tiene como dificultad
la ausencia de una teoría sólida del mismo, o sea, no se tienen los suficientes conocimientos
sobre procesos cognitivos y sobre neurofisiología como para apoyarse en ellos desde la
perspectiva de la IC. La mayoría de los desarrollos de la IC son los Sistemas Basados en
Conocimiento (anteriormente denominadas Sistemas Expertos), que constan de los siguientes
pasos. En primera instancia, se parte de una descripción del problema en lenguaje natural
(análisis), luego se modela la descripción con los paradigmas (simbólico, conexionista, situado
o híbrido) para lograr llegar al modelo conceptual (diseño), por último, partiendo de este
modelo y haciendo uso de algunos operadores formales, como, por ejemplo, las Redes
Neuronales Artificiales (RNAs), se logra llegar al modelo formal, el cual es computable
(implementación).
Técnicas de búsqueda
¿Cómo se compone?
Estados: el conjunto de estados representa todas las situaciones por las que el agente
puede pasar durante la búsqueda de la solución al problema.
Operadores: los operadores modelan las acciones elementales que es capaz de
realizar el agente sobre el medio. Estos operadores deben tener un coste asociado,
que puede ser arbitrario o atribuido por la naturaleza del problema.
Estrategia de control: es la responsable de decidir el orden de expansión de los
estados. Una estrategia de control inteligente, también denomina heurística e
informada, pretende llegar a una buena solución del problema, visitando el menor
número de estados posibles. Por otro lado, una estrategia de control no informada,
también denominada a ciegas, generalmente considera que todos los estados son
igual de prometedores.
El conjunto formado por los estados y los operadores, se denomina espacio de búsqueda, que,
generalmente se representa con un grafo dirigido simple, donde los estados se representan
con nodos y los operadores con arcos. El o los nodos que representan las soluciones se
denominan nodos objetivos o nodos meta.
Se dice que un algoritmo es completo, si y sólo si, siempre que exista una solución al
problema, la encuentra. Por otro lado, se dice que un algoritmo es admisible, si siempre
encuentra una solución óptima.
ABIERTA: es una lista que contiene, al principio de cada iteración, los estados
candidatos a ser expandidos y se ordena con un criterio determinado en cada caso.
TABLA_A: registra toda la información necesaria acerca de cada uno de los nodos
encontrados en el proceso de búsqueda.
FUNCIÓN SUCESORES: lleva a cabo la expansión de un nodo, retornando todos los
sucesores de un nodo dado.
Búsqueda bidireccional:
Algoritmo A*:
- Definiciones previas:
Sea f*(n) = g*(n) + h*(n) => g*(n) es el camino con menor coste desde el nodo inicial al
nodo “n” y h*(n) es el camino con menor coste desde el nodo “n” al nodo meta más
cercano, por lo que, f*(n) es el camino con menor coste, desde el nodo inicial al nodo
meta, condicionado a pasar por “n”.
Sea C* = f*(inicial) = h*(inicial) => coste de la solución óptima. Para cada nodo que se
encuentre en el camino óptimo, se cumple que f*(n) = C*, mientras que para aquellos
nodos que no estén en el camino óptimo, se cumple que f*(n) > C*.
Debido a que, en problemas complejos, los valores de estas funciones no se pueden
calcular en un tiempo razonable, se usan aproximaciones de g* y h*.
Sea f(n) = g(n) + h(n) => g(n) es el camino con menor coste, encontrado hasta el
momento, desde el nodo inicial al nodo “n”; mientras que h(n) es una aproximación
positiva del valor de h*(n).
- Funcionamiento: es una especialización del algoritmo Primero el Mejor, donde la lista
ABIERTA se ordena según f y las reorientaciones en TABLA_A están producidas por
cambios en g(n). En este algoritmo h(n) permanece constante.
- Ordenación de ABIERTA: se utiliza la función f.
- Ventajas: es completo en grafos localmente finitos, ya que, en el peor de los casos se
expandirían todos los nodos y ningún nodo se expande más de una vez. Otra ventaja
de este algoritmo es que es admisible si h es admisible. La función h es admisible si h
es monótona, o si, se cumple que h(n) <= h*(n)
- Desventajas: a mayor admisibilidad menor eficiencia y viceversa. Si h es admisible, A*
pasa mucho tiempo discriminando entre caminos cuyos costes no varían
significativamente. Además, el principal problema es el requerimiento de memoria, ya
que este crece exponencialmente con la profundidad.
Ponderación dinámica:
AE*:
IDA*:
SMA*:
- Similitudes:
o Ambos son variantes del algoritmo A*
o Ambos intentan dar solución a la complejidad espacial exponencial de A*
(incorporan mecanismos para limitar la cantidad de memoria necesaria
durante la ejecución).
- Diferencias:
o La forma en la que trabajan: mientras IDA* se basa en iteraciones cada vez
más profundas (extiende al Algoritmo de Búsqueda en Profundidad Iterativa),
SMA* se basa en limitar el tamaño de TABLA_A.
o Como usan ABIERTA: mientras IDA* la usa como una pila, SMA* la usa como
una lista la cual se ordena en base al valor de f.
o Por la propiedad de completitud: mientras IDA* siempre es completo, SMA*
depende de que la memoria disponible sea suficiente para almacenar el
camino a la solución menos profunda.
o Por la propiedad de admisibilidad : mientras IDA* es admisible si h es
admisible, SMA* dependerá, además de la admisibilidad de h, de que la
memoria disponible sea suficiente para almacenar el camino a la solución
óptima menos profunda.
Ramificación y poda:
Temple simulado:
Búsqueda Tabú:
Conceptos previos:
RETE
Evita que se tengan que examinar todas las reglas de BC con todos los datos de la BH. RETE usa
un compilador que busca patrones en los antecedentes para evitar evaluarlos repetidamente.
RETE es muy usado en SBR (ejemplo CLIPS), por su gran eficiencia en tiempo, no obstante, el
consumo de memoria es elevado, lo que representa un problema en sistemas expertos muy
grandes.
Se guarda el resultado de la equiparación en cada ciclo para continuar con el siguiente, en vez
de comenzar de nuevo.
Es un grafo dirigido que sirve para representar relaciones entre conceptos e instancias. Está
formado por nodos etiquetados y arcos unidireccionales etiquetados. Los nodos representan
conceptos e instancias, mientras que los arcos representan relaciones. Existen dos tipos de
arcos:
Todo este conocimiento se puede representar en Lógica de Predicados, no obstante, las redes
semánticas permiten estructurar mejor el conocimiento.
Respuesta al ejercicio 3