Inteligencia Artificial
1. Conceptos y definiciones
a. Defina inteligencia.
Inteligencia:
Facultad que tienen las personas de conocer, analizar, comprender situaciones.
Conjunto de habilidades, destrezas y experiencias sobre cierto dominio.
Capacidad de resolver problemas.
b. Inteligencia Artificial
Inteligencia Artificial: Construcción de algoritmos para imitar el comportamiento y el razonamiento de
los humanos. Es una ciencia que intenta la creación de programas para máquinas que imiten el
comportamiento y la comprensión humana, que sea capaz de aprender, reconocer y pensar.
Inteligencia Artificial (objetivos)
- Comprensión de nosotros mismos como entidades inteligentes.
- Construcción de entidades inteligentes artificiales.
- Hacer uso intensivo de software y algoritmos.
- Hacer que los ordenadores ejecuten cosas que, por el momento, los seres humanos hacemos mejor.
- Crear máquinas que realicen funciones que requieren inteligencia cuando dichas funciones son
realizadas por el hombre.
c. Neurociencia. Relación con la IA.
Neurociencia: Ciencia que estudia el sistema nervioso, con especial énfasis en el cerebro.
La neurociencia inspira a la IA en la creación de modelos como las redes neuronales artificiales, que
simulan procesos cerebrales como el aprendizaje y la toma de decisiones.
d. Agente Inteligente
Agente Inteligente: Cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores,
procesar tales percepciones y responder o actuar con ese medio utilizando actuadores de manera
racional, es decir, de manera correcta y tendiendo a maximizar un resultado esperado.
2. Agentes
a. Grafique y nombre los componentes de un sistema donde funciona un agente.
Ambiente: Entorno donde los agentes racionales actúan mediante sus sensores y actuadores para tomar
decisiones y dar solución a un problema.
Sensores: Dispositivos que permiten al agente capturar información o datos del entorno.
Actuadores: Dispositivos que permiten al agente realizar acciones en el entorno.
(PEAS: marco que describe los componentes clave de un agente
Medida de aptitud: Criterio objetivo para el éxito de comportamiento de un agente)
b. Defina problema de mundo real. Dé un ejemplo.
Problemas reales que se pretenden resolver.
Están vagamente definidos y pueden interpretarse de múltiples maneras.
Búsqueda de una Ruta:
Estados: Cada estado representa una localización.
Estado inicial: Localización inicial especificada por el problema.
Función sucesora: Devuelve los estados que resultan de tomar un camino desde la ciudad actual a otra.
Test objetivo: Permite verificar si se llegó a la ciudad deseada.
Costo del camino: Distancia asociada a viajar de una ciudad a otra.
c. Defina “problema de juguete”. Dé un ejemplo.
Problema utilizado para ilustrar o ejercitar distintos métodos de resolución de problemas.
Su mayor ventaja, es que permiten describirlos de manera exacta y concisa, por lo que distintos
investigadores pueden utilizarlos para comparar el funcionamiento de algoritmos con facilidad.
Ejemplo: Encontrar el mejor camino para que una entidad esquive un obstáculo y llegue a su objetivo.
Esta entidad es virtual y su entorno es estático. No se tendrán en cuenta aspectos físicos y los
movimientos estarían limitados a dos dimensiones.
d. ¿Cómo toma decisiones un agente?
El agente cuenta con una función que mapea de historias de percepción a acciones [f: P* → A].
Toma decisiones a partir de las percepciones de cómo está el mundo y las reglas de condición-acción.
e. ¿Cuáles son las diferencias entre un Agente Racional y un Agente que Aprende?
Un agente racional es aquel que actúa de manera óptima para lograr sus objetivos, dados sus
conocimientos y capacidades.
Un agente que aprende es aquel que mejora su comportamiento con la experiencia, es decir, que
modifica sus conocimientos y capacidades a partir de las observaciones y retroalimentaciones que
recibe.
El agente racional ya tiene definida una función de utilidad que le permite evaluar las consecuencias de
sus acciones, mientras que el agente que aprende debe descubrir o estimar esa función a partir de los
datos.
3. Búsqueda
a. Identifique y describa brevemente los componentes esenciales de un problema de búsqueda.
b. ¿Qué condiciones deben definirse para resolver un problema con búsqueda?
Espacio de estados: Conjunto de estados alcanzables desde el estado inicial mediante acciones
disponibles.
Estado Inicial: Punto de partida del agente en el problema.
Acciones Disponibles: Acciones que el agente puede realizar para transitar de un estado a otro.
Función de transición: Función que, a partir de un estado dado, determina el nuevo estado tras aplicar
una acción.
Test Objetivo: Permite verificar si un estado alcanzado es el objetivo.
Función Costo del Camino: Función que asigna un valor numérico al costo total de un camino, sumando
los costos de las acciones realizadas.
c. ¿Qué es una heurística y para qué sirven en el contexto de Búsqueda? Dé ejemplos.
Heurísticas: Técnicas o procedimientos que estiman el costo o la dificultad de alcanzar el objetivo desde
un estado dado.
En el contexto de búsqueda, guían la búsqueda hacia los caminos más prometedores y evitan explorar
opciones ineficientes.
Ejemplo de función heurística h:
h(n): Representa el costo estimado de la ruta más barata que conecta el estado del nodo n con
un estado meta.
h(n)=0: Esto ocurre cuando n ya es el estado meta.
d. Suponga que tiene un problema que puede resolverse con búsqueda. ¿Qué método de búsqueda
utilizaría? (defina todos los elementos o aspectos que crea necesario para responder la pregunta)
i. Si tuviera que resolver un problema mediante búsqueda donde la optimalidad de la solución no es
importante pero el tiempo de respuesta y la cantidad de memoria utilizada sí lo son, ¿qué algoritmo
usaría? Justifique brevemente.
La elección del método de búsqueda depende de factores como la completitud, complejidad temporal,
complejidad espacial y optimalidad.
Si la optimalidad es crucial.
Búsqueda por costo uniforme o búsqueda por profundización iterativa.
Si el tiempo de ejecución y el espacio en memoria son crucial.
Búsqueda preferente por profundidad (DFS).
Baja complejidad espacial, pero puede quedarse atrapado en ramas profundas o infinitas.
Búsqueda limitada por profundidad (DLS).
Mitiga este problema al limitar la profundidad, pero no garantiza encontrar la solución si esta se
encuentra fuera del límite.
¿Qué es un agente resolvente de problemas?
Es un agente diseñado para encontrar soluciones a problemas específicos, utilizando un proceso de
búsqueda o razonamiento que explora estados posibles hasta alcanzar un objetivo predefinido.
¿Qué son formulación del objetivo, formulación del problema?
La formulación del objetivo establece el fin, mientras que la formulación del problema describe cómo
llegar a ese fin desde el comienzo.
Describa completitud, optimización, complejidad en el tiempo y complejidad en el espacio.
Las estrategias se evalúan de acuerdo a su:
Completitud: Un algoritmo de búsqueda es completo si garantiza encontrar una solución, si es que
existe una, al explorar todo el espacio de búsqueda.
Optimalidad: Un algoritmo de búsqueda es óptimo si siempre encuentra la mejor solución posible según
algún criterio predefinido (como el menor costo o la distancia más corta). No solo encuentra una
solución, sino la mejor.
Complejidad temporal: Se refiere a la cantidad de tiempo que un algoritmo tarda en encontrar la
solución.
Complejidad espacial: Se refiere a la cantidad de memoria o recursos de almacenamiento que un
algoritmo necesita para realizar la búsqueda.
¿Qué es el factor de ramificación?
Número promedio de nodos hijos que puede generar un nodo.
BÚSQUEDA NO INFORMADA
b Máximo factor de ramificación
d Profundidad de la solución
m Profundidad máxima de exploración
BÚSQUEDA COMPLETITUD COMPLEJIDAD COMPLEJIDAD OPTIMALIDAD
TEMPORAL ESPACIAL
BÚSQUEDA EN COMPLETO O(b d +1) O(b d +1) OPTIMO
AMPLITUD (BFS) (Siempre (Exponencial (Exponencial (si todos los
encuentra una respecto a b y d) respecto a b y d) costos son
solución) iguales)
BÚSQUEDA POR COMPLETO O(b d +1) O(b d +1) OPTIMO
COSTO UNIFORME (si no disminuye (Exponencial (Exponencial (si los costos son
(UCS) el costo respecto a b y d) respecto a b y d) positivos)
conforme se
avanza)
BÚSQUEDA COMPLETO O(b m) O(bm) NO ES OPTIMO
PREFERENTE POR (Con límite de (Exponencial (Si no se (No se garantiza
PROFUNDIDAD profundidad) respecto a b y m) controlan los que la solución
(DFS) nodos repetidos) sea óptima)
BÚSQUEDA NO COMPLETA O(b l) O(bl) NO OPTIMA
LIMITADA POR (puede fallar si el (l es el límite de (l es el límite de (puede encontrar
PROFUNDIDAD límite es bajo) profundidad) profundidad) soluciones no
(DLS) óptimas)
BÚSQUEDA POR
PROFUNDIDAZIÓ COMPLETO O(b d ) O(bd ) OPTIMO
N ITERATIVA (exponencial (lineal respecto a (si todos los
(IDS) respecto a b y d) b y d) costos son
iguales)
BÚSQUEDA INFORMADA
b Máximo factor de ramificación
d Profundidad de la solución
m Profundidad máxima de exploración
BÚSQUEDA COMPLETITUD COMPLEJIDAD COMPLEJIDAD OPTIMALIDAD
TEMPORAL ESPACIAL
BÚSQUEDA AVARA NO COMPLETO O(b m) O(b m) NO ÓPTIMO
(Exponencial (Exponencial
respecto a b y m) respecto a b y m)
BÚSQUEDA A* COMPLETO ÓPTIMO
BÚSQUEDA A*PI COMPLETO ÓPTIMO
BÚSQUEDA A*SMR COMPLETO ÓPTIMO
(si la memoria es (si dispone de
suficiente para suficiente
guardar la ruta memoria para
de la solución guardar la ruta de
más cercana) solución óptima
más cercana)
4. Complejidad Computacional
Clases de Problema según su complejidad computacional
Clase P
Problemas que pueden resolverse en tiempo polinómico en una computadora determinística.
Clase NP
Problemas que pueden resolverse en tiempo polinómico en una computadora no determinística.
Contiene todos los problemas cuya solución puede verificarse en tiempo polinómico.
Clase NP-Completos
Subconjunto de los problemas más complejos y más difíciles de resolver en NP.
Todo problema NP se puede reducir a cualquier problema NP-completo en tiempo polinómico.
Complejidad
Complejidad: Medida de los recursos (tiempo de ejecución y espacio en memoria) que consume un
algoritmo en función del tamaño de la entrada.
a. ¿Cómo puede calcular la complejidad de un algoritmo?
Se debe medir los recursos que consume (tiempo de ejecución y espacio en memoria) en función del
tamaño de la entrada, y de otros factores de hardware y software.
El tiempo de ejecución se mide experimentalmente en función del tamaño de la entrado o estimando
matemáticamente, asociando a cada algoritmo una función f(n), utilizando el peor caso para
caracterizarlo.
b. ¿Cuál es la utilidad de la complejidad de un algoritmo?
Medir que tan bien se desempeña un algoritmo.
Perite comparar el desempeño del algoritmo con el de otros algoritmos sobre un mismo problema.
c. ¿Qué es la notación O y para que se utiliza?
Describe cómo crece el tiempo de ejecución o el uso de memoria de un algoritmo a medida que el
tamaño de la entrada n tiende al infinito. Proporciona un análisis asintótico.
Permite hablar sobre la eficiencia de un algoritmo, pero no dice si existe un algoritmo más eficiente para
resolver el problema en cuestión.
d. Defina problema no computable y problema intratable. Establezca diferencias.
Problemas No Computables
Problema que no tiene solución.
No existe un algoritmo que pueda resolverlo para todas las entradas posibles.
Problema intratable
Problema que, si tiene solución, pero no puede resolverse en tiempo polinómico.
Su tiempo de ejecución crece exponencialmente o peor, lo que lo hace impráctico para entradas
grandes.
Diferencia
Un problema intratable tiene solución, pero no puede resolverse eficientemente en un tiempo
razonable, mientras que un problema no computable no tiene ninguna solución.
Problema Tratable
Problemas que pueden resolverse en tiempo polinómico.
Problema de la parada
No existe ningún algoritmo que indique si un programa va a parar en tiempo finito con una entrada dada
5. Lógica e inferencia
a. Describa los inconvenientes de utilizar la proposicionalización para realizar inferencia en bases de
conocimiento en Lógica de Primer Orden.
Inconvenientes
- La proposicionalización genera muchos enunciados irrelevantes.
- Con p predicados k-arios y n constantes hay p x n k instanciaciones.
- Con símbolos de función, hay infinitos términos base.
b. Defina qué significa que un procedimiento de inferencia sea sólido y completo. Proporcione un
ejemplo que cumpla con ambas características.
Sea i un procedimiento, se dice que i es sólido si:
Se dice que i es un procedimiento sólido si siempre que el enunciado α pueda derivarse de la base de
conocimiento KB por el procedimiento i, también es cierto que la base de conocimiento KB implica al
enunciado α si y sólo si α es verdadero en todos los mundos donde KB es verdadera.
Sea i un procedimiento, se dice que i es completo si:
Se dice que i es un procedimiento completo si siempre que la base de conocimiento KB implique el
enunciado α si y sólo si α es verdadero en todos los mundos donde KB es verdadera, también es cierto
que el enunciado α puede derivarse de la base de conocimiento KB por el procedimiento i.
La enumeración en profundidad de todos los modelos es sólido y completo.
c. Describa los conceptos de enunciado válido, satisfacible e insatisfacible.
d. El método de inferencia basado en la regla de resolución en LPC. ¿Es sólido? ¿Es completo?
Explique.
Sólido y Completo
Solido porque la verdad de las premisas garantiza la verdad de la conclusión
(lo que impide llegar a conclusiones falsas)
Completo
Porque es capaz de derivar absolutamente todas las proposiciones verdaderas de la base de
conocimiento.
e. ¿Es posible utilizar resolución en LP1 para obtener reemplazos posibles de acciones en el contexto
de una consulta de un agente lógico? Explique.
Sí. La resolución en LP1 permite deducir acciones válidas al derivar consecuencias lógicas de las premisas
del agente.
f. Pros y contras de la lógica proposicional
Pros: Declarativa. Composicional. Permite información parcial / disyuntiva / negada. Significado
independiente del contexto.
Contras Limitado poder de expresión. No modela incertidumbre
6. Representación del conocimiento
a. Defina representación del conocimiento y razonamiento.
Representación del conocimiento: Campo de estudio que se ocupa de utilizar símbolos formales para
representar una colección de proposiciones en las que cree un presunto agente.
Razonamiento: Manipulación formal de los símbolos que representan una colección de proposiciones
creídas para producir representaciones de otras nuevas.
b. Explique la arquitectura de un agente lógico.
Base de conocimientos
Estructura que almacena el contenido específico del dominio en el que el agente opera.
Representada mediante un conjunto de enunciados en un lenguaje formal.
Expresa hechos, reglas y relaciones del entorno.
Motor de Inferencia
Componente que permite que el agente lógico razone sobre la base de conocimiento
Aplica reglas de inferencia para deducir hechos, obtener conclusiones y tomar decisiones.
c. Describa brevemente las diferencias entre la lógica de Predicados y la Proposicional
Lógica Proposicional Lógica de Predicados
Asume que el mundo contiene hechos. Asume que el mundo contiene Objetos,
Relaciones y Funciones.
No utiliza cuantificadores ni variables Utiliza cuantificadores y variables
Opera con proposiciones simples que son Opera con predicadores que expresan relaciones
verdades o falsas y propiedades de los objetos
d. La lógica de predicados, ¿tiene relación con la lógica de primer orden? Explique.
Existe relación directa. LP1 extiende la lógica de predicados al incluir la capacidad de cuantificar
variables.
e. Identifique alguna ventaja de los agentes lógicos por sobre los agentes revolvedores de problemas
basados en búsqueda.
Agentes Lógicos
Manejan distintos tipos de conocimientos y representaciones simbólicas.
Agentes revolvedores de problemas basados en búsqueda.
Requieren una representación más estructurada y específica.
7. Sistemas Expertos
a. Definición de sistemas basados en conocimiento.
Sistemas que resuelven problemas aplicando una representación simbólica de la experiencia humana.
b. Proporcione una definición de Sistema Experto.
Sistema de cómputo capaz de simular la conducta inteligente de un experto humano en un dominio
específico y especializado, con el objetivo de resolver problemas.
c. ¿Cuál es la utilidad de la base de hechos?
La base de hechos es una especie de "memoria de trabajo" que guarda los datos considerados
verdaderos o conocidos en el sistema en un momento dado.
d. ¿Cuál es la utilidad de la base de conocimiento?
La base de conocimientos almacena las reglas y el conocimiento necesario para que el sistema experto
pueda razonar y tomar decisiones.
Define como el sistema debe interpretar y relacionar los datos almacenados en la base de hechos.
e. ¿y el motor de inferencia en un S.E?
El motor de inferencia es el componente encargado de responder las consultas que realiza el usuario a
través de la interfaz de usuario.
Para ello, aplica inferencia lógica y el algoritmo de unificación, utilizando tanto la base de conocimientos
como la base de hechos.
Esto le permite deducir conclusiones y proporcionar respuestas basadas en la información disponible en
el sistema experto.
f. Nombre y explique la función de cada componente de un S.E.
Interface con el Experto: Permite al experto consultar la base de conocimientos e incorporar nuevos
conocimientos directamente, sin depender del ingeniero que creó el sistema.
Interface con el Usuario: Facilita el diálogo con el usuario, permite hacerle preguntas al sistema u
obtener conocimientos análogos a los del experto.
8. Algoritmos Genéticos
a. ¿Qué es la selección Natural? Proporcione dos ejemplos.
Fenómeno de la evolución que se define como la reproducción diferencial de los genotipos de una
población. Selección por ruleta. Selección por torneo.
Se seleccionan los individuos de la población que “mejor se ajusten” al ambiente para cruzarse y
producir nuevos descendientes.
b. Explique las operaciones de Combinación y Mutación. De ejemplos.
Combinación
Operación de cruce entre dos padres seleccionados para crear nuevos individuos. En este proceso, las
ristras de cromosomas de los padres se cortan en una posición elegida al azar, conocida como el punto
de cruce, generando dos subristras iniciales y dos subristras finales. Luego, se intercambian las subristras
finales para formar dos nuevos cromosomas. Esto permite que los descendientes hereden genes de
ambos padres.
Ejemplo:
Si los padres tienen las siguientes ristras de cromosomas:
- Padre 1: A B C D
- Padre 2: W X Y Z
Si se corta en la posición 2, los nuevos descendientes serán:
- Hijo 1: A B Y Z
- Hijo 2: W X C D
Mutación
Se aplica a cada descendiente de manera individual.
Consiste en la alteración aleatoria (normalmente con probabilidad pequeña) de uno o más genes del
cromosoma.
Asegura que ningún punto del espacio de búsqueda tenga probabilidad cero de ser examinado.
Asegura la convergencia de los algoritmos genéticos evitando que no quede atrapado en óptimos
locales.
Ejemplo:
Si un cromosoma resultante del cruce es:
- Hijo: A B Y Z
Y se muta el tercer gen con una pequeña probabilidad, puede resultar en:
- Hijo mutado: A B X Z
c. Describa brevemente cómo funciona el Algoritmo Genético Canónico (o Simple)
Comienza con una adecuada codificación de las posibles soluciones del problema.
Requiere una función de ajuste que asigne un valor real a cada posible solución para indicar su aptitud.
Selecciona los padres de la población actual según su valor de aptitud.
Genera descendientes mediante cruce y mutación para introducir variaciones.
La nueva población reemplaza a la anterior
Se repite el proceso durante varias generaciones para mejorar la solución.
d. ¿Cuáles son los aspectos que debe definir para aplicar un algoritmo genético? (ej. codificación) Dé
ejemplos.
Codificación:
Proceso mediante el cual los individuos (posibles soluciones del problema) se representan como un
conjunto de componentes base denominados genes.
Estos genes se organizan en una estructura conocida como cromosoma.
Cada Cromosoma constituye una solución completa dentro del espacio de búsqueda.
Función de Ajuste.
Selección Natural.
Combinación y Mutación.
d. Enumere diferencias entre métodos heurísticos y metaheurísticos.
Heurísticas Metaheurísticas
Simples y Rápidas Complejas y Generales
Operan a un menor nivel de abstracción Operan a un mayor nivel de abstracción
Normalmente conducen a óptimos locales Obtienen soluciones de mayor calidad
f. Identifique al menos tres dimensiones de clasificación de metaheurísticas. Luego proporcione dos
ejemplos y clasifíquelos según las dimensiones identificadas previamente.
PSO Búsqueda Tabú
Bioinspirados / Bioinspirados No Bioinspirados
No Bioinspirados
Basados en población / Basados en población Búsqueda de un único punto
Búsqueda de un único punto
Función objetivo dinámica / Función objetivo estática Función objetivo estática
Función objetivo estática
Un vecindario / Varios vecindarios Un vecindario
Varios vecindarios
Con uso de memoria / Con uso de memoria Con uso de memoria
Sin uso de memoria
9. Redes Neuronales Artificiales
Red Neuronal Artificial:
Sistema de procesamiento de información basado en las redes neuronales biológicas.
a. Describa brevemente los modelos de McCulloch-Pitts y Rumelhart.
McCulloch-Pitts
Primer modelo formal de neurona artificial. Recibe entradas binarias (0 o 1), las pondera
multiplicándolas por un peso y las suma. Si la suma alcanza o supera un umbral, genera una salida de 1;
si no, genera 0. Es un modelo "todo o nada" con una función de salida binaria (0 o 1).
Rumelhart
Modelo de Red neuronal basada en el perceptrón multicapa y el algoritmo de backpropagation. Utiliza
funciones de activación continuas (como la sigmoide) y ajusta los pesos de las conexiones mediante la
retropropagación del error, lo que permite a la red aprender de ejemplos y mejorar sus predicciones
durante el entrenamiento.
b. ¿A que se llama aprendizaje supervisado?
Tipo de aprendizaje automático en el que un modelo se entrena utilizando un conjunto de datos
etiquetados, es decir, ejemplos para los cuales ya se conoce la respuesta correcta, con el fin de predecir
o clasificar nuevas entradas.
c. ¿A qué se le llama red neuronal supervisada?
Red neuronal supervisada es aquella que se entrena utilizando un conjunto de datos etiquetados, es
decir, ejemplos para los cuales ya se conoce la respuesta correcta. La red calcula una salida para cada
entrada y la compara con la salida correcta, ajustando sus pesos en base al error obtenido.
d. Realice una descripción sintética de la Red Neuronal BackPropagation.
Red neuronal multicapa de aprendizaje supervisado que utiliza el algoritmo de backpropagation para su
entrenamiento.
Las entradas se propagan hacia adelante a través de cada una de las capas de la red mediante una
función de transferencia, para generar una salida, la cual se compara con el valor de salida esperado
para calcular el error. Este error se retropropaga a través de la red para ajustar y optimizar los pesos de
sus conexiones. El proceso se repite iterativamente para minimizar el error, hasta que la red pueda
realizar predicciones más precisas.