Está en la página 1de 130

Inteligencia Artificial

Resolver problemas
mediante la búsqueda
Resolución de problemas
• Se quiere:
❑ Resolver automáticamente un problema

• Se necesita:
❑ Una representación del problema
❑ Algoritmos que usen alguna estrategia para
resolver el problema definido en esa
representación
Definición de un problema
• Si se abstraen los elementos de un
problema se pueden identificar:
❑ Un punto de partida
❑ Un objetivo a alcanzar

❑ Acciones a disposición para resolver el


problema
❑ Restricciones sobre el objetivo (p.e., de

costo)
❑ Elementos del dominio que son relevantes en
el problema (p.e., conocimiento incompleto
del punto de partida)
Representación de problemas
• Existen diferentes formas de representar
problemas para resolverlos de manera
automática
• Representaciones generales:
❑ Espacio de estados. Un problema se divide en un
conjunto de pasos de resolución desde el inicio
hasta el objetivo.
❑ Reducción a sub-problemas. Un problema se
descompone en una jerarquía de sub-problemas.
• Representaciones para problemas
específicos:
❑ Resolución de juegos
❑ Satisfacción de restricciones
Representación de problemas:
estados
• Se puede definir un problema por los elementos
que intervienen y sus relaciones.
• En cada instante de la resolución de un problema
esos elementos tendrán unas características y
relaciones específicas.
• Se denomina estado a la representación de los
elementos que describen el problema en un
momento dado.
• Se distinguen dos estados especiales: el estado
inicial (punto de partida) y el estado final (en
general, el objetivo del problema).
• ¿Qué descriptores incluir en el estado? (Ej.: la
localización)
Modificación del estado: función
sucesor
• Para poder moverse entre los diferentes
estados se necesita una función sucesor
(descripción de las posibles acciones).
• Función sucesor (o conjunto de operadores):
función de transformación sobre la
representación de un estado que lo convierte
en otro estado
• La función sucesor define una relación de
accesibilidad entre estados.
• Representación de la función sucesor:
❑ Condiciones de aplicabilidad
❑ Función de transformación
Espacio de estados
• El conjunto de todos los estados alcanzables
desde el estado inicial conforma lo que se
denomina espacio de estados.
• Representa todos los caminos que hay entre
todos los estados posibles de un problema.
• El espacio de estados forma un grafo (o
mapa) en el cual los nodos son estados y los
arcos son acciones.
• La solución del problema está dentro de ese
mapa.
Solución de un problema en el
espacio de estados
• Solución: Secuencia de pasos que
llevan del estado inicial al final
(secuencia de operadores) o también el
estado final
• Tipos de solución: una cualquiera, la
mejor, todas
• Costo de una solución: gasto en
recursos de la aplicación de los
operadores a los estados; puede ser
importante o no según el problema y qué
tipo de solución busquemos
Descripción de un problema en
el espacio de estados
• Definir el espacio de estados (explícita o
implícitamente)
• Especificar el estado inicial
• Especificar el estado final o las condiciones
que cumple
• Especificar los operadores de cambio de
estado (condiciones de aplicabilidad y función
de transformación)
• Especificar el tipo de solución:
❑ La secuencia de operadores o el estado final
❑ Una solución cualquiera, la mejor (definición de
costo), todas …
Ejemplo: 8 puzzle
• Espacio de estados:
– configuraciones de 8 fichas en el tablero
• Estado inicial:
– cualquier configuración
• Estado final: 1 2 3
– fichas en orden específico
• Acción: 4 5 6
– “mover hueco”
❑ Condiciones: 7 8
❑ el movimiento está dentro del tablero
❑ Transformación:
❑ “mover el hueco” a la Izquierda, Derecha, Arriba y Abajo
• Solución: Qué pasos + El menor número
Ejemplo: n reinas
n=4 n=8
Ejemplo: n reinas
• Estado inicial:
– configuración sin reinas en el tablero
• Espacio de estados:
– configuraciones de 0 a n reinas en el tablero con sólo una por
fila y columna
• Estado final:
– configuración en la que ninguna reina se mata entre sí
• Operadores:
– colocar una reina en una fila y columna
❑ Condiciones:
❑ la reina no es matada por ninguna ya colocada
❑ Transformación:
❑ colocar una reina más en el tablero en una fila y columna determinada
• Solución:
– una solución, pero no importan los pasos
Búsqueda en el espacio de
estados
• Se define una representación del espacio de
estados para poder implementar algoritmos
que busquen soluciones.
• La resolución de un problema con esta
representación pasa por explorar el espacio
de estados.
• Se empieza del estado inicial y se evalúa
cada paso hasta encontrar un estado final.
• En el caso peor se exploran todos los
posibles caminos entre el estado inicial del
problema y el estado final.
Estructura del espacio de
estados
• Estructuras de datos: árboles y grafos
• Estados = nodos
• Operadores = arcos entre nodos
(dirigidos)
• Árboles: sólo un camino lleva a un nodo
• Grafos: varios caminos pueden llevar a
un nodo
Algoritmo básico
• Basado en búsqueda y recorrido en árboles y
grafos
• La estructura se construye a medida que se
hace la búsqueda.
• Algoritmo para una solución:
función Búsqueda_en_espacio_de_estados retorna solución
Seleccionar el primer estado como el estado actual.
mientras el estado actual no es el estado final hacer
Generar y guardar sucesores del estado actual (expansión).
Escoger el siguiente estado entre los pendientes (selección).
fmientras
retorna solución 15
ffunción
Algoritmo básico
• La selección del siguiente nodo determina
el tipo de búsqueda
– orden de selección o expansión
– política de inserción de los nodos generados
en la estructura
• Es necesario definir un orden entre los
sucesores de un nodo (orden de
generación).

16
Tipos de nodos
• Nodos abiertos:
– Estados generados pero aún no visitados
(frontera)
– Estados visitados pero aún no expandidos
• Nodos cerrados: estados visitados y que
ya se han expandido
• Si se explora un grafo puede ser
necesario tener en cuenta los estados
repetidos (esto significa tener una
estructura para los nodos cerrados).
Algoritmo general de búsqueda

• Variando la estructura de abiertos varía el


comportamiento del algoritmo (orden de visita de los
nodos).
• La función generar_sucesores sigue el orden de
generación de sucesores definido en el problema (si
está definido). 18
Algoritmo general de búsqueda
función Búsqueda-Grafos(problema,frontera) devuelve una solución, o fallo
cerrado ← conjunto vacío
frontera ← Insertar(Hacer-Nodo(Estado-Inicial[problema]),frontera)
bucle hacer
si Vacia?(frontera) entonces devolver fallo
nodo ← Borrar-Primero(frontera)
si Test-Objetivo[problema](Estado[nodo]) entonces devolver Solución(nodo)
si Estado[nodo] no está en cerrado entonces
añadir Estado[nodo] a cerrado
frontera ← Insertar-Todo(Expandir(nodo,problema),frontera)

• Variando la estructura de abiertos varía el


comportamiento del algoritmo (orden de visita de los
nodos).
• La función Expandir sigue el orden de generación
de sucesores definido en el problema (si está
definido).
Características de los
algoritmos
• Completitud: ¿encontrará una solución?

• Complejidad temporal: ¿cuánto tardará?

• Complejidad espacial: ¿cuánta memoria


gastará?

• Optimización: ¿encontrará la solución


óptima?
Tipos de algoritmos
• Algoritmos de búsqueda ciega (o no
informada)
– No tienen en cuenta el coste de la solución en la
búsqueda.
– Su funcionamiento es sistemático, siguen un orden de
visitas y generación de nodos establecido por la
estructura del espacio de búsqueda.
– Ejemplos:
– primero en anchura
– primero en profundidad
– primero en profundidad con profundidad
iterativa
Tipos de algoritmos
• Algoritmos de búsqueda heurística (o
informada)
– Utilizan una estimación del coste de la
solución para guiar la búsqueda.
– No siempre garantizan el óptimo, ni una
solución.
– Ejemplos:
– ascensión de colinas
– primero el mejor
– A*
– A*PI
Búsqueda primero en anchura
(BPA)
No expandir nodos de nivel n hasta que todos los nodos de
nivel n-1 han sido expandidos

• Los nodos se visitan y generan por niveles.


• La estructura para los nodos abiertos es una cola (FIFO).
• Un nodo es visitado cuando todos los nodos de los niveles
superiores y sus hermanos precedentes han sido visitados.
• Características:
– Completitud: el algoritmo siempre encuentra una solución.
– Complejidad temporal: exponencial respecto a la profundidad de la
solución O(rp+1).
– Complejidad espacial: exponencial respecto a la profundidad de la
solución O(rp+1).
– Optimización: la solución que se encuentra es óptima en número de
niveles desde la raíz.

(r = factor de ramificación) 23
Búsqueda primero en anchura
(BPA)

B C D E

F G H I J K L M N O P Q R S T U

24
Búsqueda primero en
profundidad (BPP)
No expandir nodos de nivel n si hay todavía algún nodo de
nivel > n pendiente de considerar

• Los nodos se visitan y generan buscando los nodos a mayor


profundidad y retrocediendo cuando no se encuentran nodos
sucesores.
• La estructura para los nodos abiertos es una pila (LIFO).
• Para garantizar que el algoritmo acabe debe (posiblemente)
imponerse un límite en la profundidad de exploración.
• Características
– Completitud: si se impone un límite de profundidad, el algoritmo
encuentra una solución sólo si ésta existe dentro de ese límite.
– Complejidad temporal: exponencial respecto a la profundidad del
límite de exploración O(rm).
– Complejidad espacial: en el caso de no controlar los nodos
repetidos el coste es lineal respecto al factor de ramificación y el límite
de profundidad O(r m). Si la implementación es recursiva el coste es
O(m). 25
– Optimización: no se garantiza que la solución sea óptima.
Búsqueda primero en
profundidad (BPP)

B C D E

F G H I J K L M N O P Q R S T U

26
Búsqueda en profundidad
limitada

• Se dejan de generar sucesores cuando se llega al límite


de profundidad.
• Esta modificación garantiza que el algoritmo acaba.
27
Tratamiento de nodos repetidos
• En anchura
– El camino actual tendrá siempre una profundidad
igual o mayor al repetido, así que el camino actual se
puede olvidar.
• En profundidad
– Si el repetido está en la estructura de nodos
cerrados, se guarda el camino actual si tiene una
profundidad menor.
– Si el repetido está en la estructura de nodos abiertos,
se puede olvidar el camino actual; seguro que tiene
una profundidad mayor.
28
Repetidos en anchura

29
Repetidos en profundidad

30
Profundidad iterativa (PI)
• PI combina la complejidad espacial de la
BPP con la optimización de la BPA.
• El algoritmo consiste en realizar
búsquedas en profundidad sucesivas
con un nivel de profundidad máximo
acotado y creciente en cada iteración.
• Se consigue el comportamiento de la
búsqueda primero en anchura pero sin su
coste espacial, ya que la exploración es
en profundidad. 31
Profundidad iterativa (PI)
• Los nodos se regeneran a cada iteración.
• PI permite evitar los casos en que la búsqueda
primero en profundidad no acaba (existen
ramas infinitas).
• En la primera iteración la profundidad máxima
será 1.
• Este valor irá aumentando en sucesivas iteraciones
hasta llegar a la solución.
• Para garantizar que el algoritmo acabe si no hay
solución, se puede definir una cota máxima de
profundidad en la exploración. 32
Profundidad iterativa (PI)

B C D E

F G H I J K L M N O P Q R S T U

33
Profundidad iterativa (PI)

Iteración nodos
1,2,7 1 1
2 2,3,4,5,6
3 7, … 27

3,8 4,13 5,18 6,23

9 10 11 12 14 15 16 17 19 20 21 22 24 25 26 27

34
Profundidad iterativa (PI)
Algoritmo Búsqueda en profundidad iterativa (límite: entero)
prof=1; Est_abiertos.inicializar()
Mientras no es_final?(Actual) y prof<limite hacer
Est_abiertos.insertar(Estado inicial)
Actual= Est_abiertos.primero()
Mientras no es_final?(Actual) y no Est_abiertos.vacía?() hacer
Est_abiertos.borrar_primero()
Est_cerrados.insertar(Actual)
si profundidad(Actual)  prof entonces
Hijos= generar_sucesores(Actual)
Hijos= tratar_repetidos(Hijos, Est_cerrados, Est_abiertos)
fsi
Est_abiertos.insertar(Hijos)
Actual= Est_abiertos.primero()
fMientras
prof=prof+1
Est_abiertos.inicializar()
fMientras
fAlgoritmo
Profundidad iterativa (PI)
• Completitud: el algoritmo siempre
encontrará la solución.
• Complejidad temporal: la misma que la
búsqueda en anchura. El regenerar el
árbol en cada iteración solo añade un
factor constante a la función de coste -
O(rp+1).
• Complejidad espacial: igual que en la
búsqueda en profundidad - O(r m).
• Optimización: la solución es óptima
igual que en la búsqueda en anchura.
Ruta de aprendizaje
Videos de Búsqueda no informada
• Busqueda Primero en anchura
https://youtu.be/rdpVmPDK7Vg

• Busqueda de Coste uniforme


https://youtu.be/LNx_6X24nKI

• Busqueda Primero en profundidad


https://youtu.be/Q3SYN8K0v1I

• Busqueda Profundida limitada


https://youtu.be/cX0tOqC-jKo

• Busqueda Profundidad iterativa


https://youtu.be/KTKOo0B58ms

• Busqueda Bidireccional
https://youtu.be/_mF-yc8WIrg
Ruta de aprendizaje
Videos de Búsqueda Informada y de
Exploración
Función Eurística
https://youtu.be/F0L4trTbdBA
Búsqueda Voraz
https://youtu.be/HTvUF3tIvcs
Búsqueda A*
https://youtu.be/cX1Zsi5kaEI
Búsqueda AO*
https://youtu.be/Q1hLEB_oLtY
Búsqueda IDA*
https://youtu.be/m46WQt7wa9A
Búsqueda Recursiva Primero el Mejor
https://youtu.be/mpHnxZQprXM
https://youtu.be/_XcIXISIu08
Búsqueda SMA*
https://youtu.be/ETW85luEnf8
Funciones Euristicas
https://youtu.be/lKeSW5YSxUo
Búsqueda Local
https://youtu.be/b43axqKa4RU
Ruta de aprendizaje
Videos de Búsqueda Informada y de
Exploración
Ascenso de Colinas
https://youtu.be/lmzrOGuD0zQ
https://youtu.be/CnbyGZIVPus
Temple Simulado
https://youtu.be/6gmnP90C0Bw
https://youtu.be/SGixa0zcOso
Búsqueda por Haz Local
https://youtu.be/0HivDoPbuxo
Algoritmos Genéticos
https://youtu.be/DRiuWVmz7Dc
https://youtu.be/Pop4frAwhcs
Búsqueda en Espacios Contínuos
https://youtu.be/Y0LTax5F9tU
Búsqueda en Línea
https://youtu.be/51maOA_iw7 I
https://youtu.be/LKoyzFTxB4c
https://youtu.be/iL4M0jW7LHQ
https://youtu.be/9mkbSCXXOvg
Inteligencia
Artificial
SESIÓN 8
RESOLUCIÓN DE PROBLEMAS – ESTRATEGIAS BÁSICAS DE BÚSQUEDAS
ING. JONATHAN GARCÍA
Agenda.

I. Búsqueda primero en anchura.

II. Búsqueda en profundidad.

III. Búsqueda de coste uniforme.


Búsqueda primero en anchura.
Búsqueda primero en anchura.

DESCRIPCIÓN

1. Se expande el nodo raíz.

2. Luego, todos sus nodos hijos.

3. Luego, los hijos de los hijos, así hasta encontrar la solución.

Se expande cada nivel antes de expandir los del siguiente nivel


Búsqueda primero en anchura.

Características:

• Completitud: el algoritmo siempre encuentra una solución.

• Complejidad espacial: exponencial respecto a la profundidad


de la solución.

• Optimización: la solución que se encuentra es óptima en número


de niveles desde la raíz.

Implementación: Resolver problemas de optimización e identificar


grafos bipartitos.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda en profundidad.
Búsqueda de coste uniforme.

DEFINICIÓN

Es un algoritmo de búsqueda sobre grafos utilizado para hallar el


camino de costo mínimo entre un nodo raíz y un nodo destino. La
búsqueda comienza por el nodo raíz y continúa visitando el
siguiente nodo que tiene menor costo total desde la raíz. Los nodos
son visitados de esta manera hasta que el nodo destino es
alcanzado.
Búsqueda de coste uniforme.

DESCRIPCIÓN

1. Basado en primero en anchura

2. Costes de acciones variables

3. Costes no negativos

Expande el nodo con menor coste asociado (No es mas superficial)

Implementación: Lista de prioridad


Búsqueda de coste uniforme.
Búsqueda de coste uniforme.
Búsqueda de coste uniforme.
Búsqueda de coste uniforme.
Inteligencia Artificial

• Sesión 9

• Agentes que razonan de manera Lógica


• Lógica de primer orden
• La inferencia en la lógica
• Cómo actuar en forma lógica

• Ing. Jonathan García


Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Agentes que razonan de manera Lógica
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
https://youtu.be/fvO6HSL6up0

• Lógica de primer orden, también llamada lógica predicativa, lógica de


predicados o cálculo de predicados, es un sistema formal diseñado para
estudiar la inferencia en los lenguajes de primer orden. Los lenguajes de
primer orden son, a su vez, lenguajes formales con cuantificadores que
alcanzan solo a variables de individuo, y con predicados y funciones cuyos
argumentos son solo constantes o variables de individuo.

• La lógica de primer orden tiene un poder expresivo superior al de la lógica


proposicional.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Lógica de primer orden
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
https://youtu.be/OmX1Xg6bnlk

Se llama inferencia lógica a la aplicación de una regla de transformación que


permite transformar una fórmula o expresión bien formada (EBF) de un
sistema formal en otra EBF como teorema del mismo sistema.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
La inferencia de la lógica.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.
Cómo actuar de forma lógica.

• El actuar de manera lógica es el seguir una serie de pasos o razonamientos


para llegar a un punto u objetivo clave. El actuar de manera lógica es actuar
con inteligencia, siguiendo unos patrones o una secuencia bien definida.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 4: lógica de predicados.

Ruta de aprendizaje

Predicados y cuantificadores
https://www.youtube.com/watch?v=c_Rl4II_tg4

Inferencia en lógica de primer orden


https://youtu.be/p6FNzEURuKM

Agentes Lógicos de Primer Orden


https://youtu.be/_Nx1EyxqIiA

La lógica en la vida cotidiana


https://youtu.be/7qCGT0DDEpE
Inteligencia Artificial
Sesión 10

• Aprendizaje a partir de la
observación
• Aprendizaje en las redes
neuronales.
• Representaciones estructuradas
(ontologías).
• Incertidumbre en el conocimiento.

Ing. Jonathan García


Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación

• En la psicología conductista se hace un especial hincapié en describir las


leyes generales que rigen nuestra conducta voluntaria.

• Uno de los conceptos que manejan para ello es el de 'condicionamiento


operante', al que definen como un proceso de aprendizaje por el cual una
acción en particular es seguida por algo deseable (haciendo más probable
que el sujeto repita la acción) o por algo no deseable (disuadiendo de
realizarla).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación

• Ejemplo, estudiamos porque nos satisface sacar notas más altas, o jugamos
a un videojuego porque nos satisface jugar. Y para satisfacer esos estímulos
positivos (reforzamientos), estudiamos/jugamos más horas y recurrimos a
procesos de prueba y error para evaluar nuevas estrategias de
estudio/juego. Esto es, aprendemos gracias al condicionamiento operante.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
Aplicando la psicología conductista a la máquina

• El aprendizaje por refuerzo (o aprendizaje reforzado) se basa en aplicar


exactamente este mismo principio a las inteligencias artificiales, con el fin
de que puedan aprender por sí mismas. Y es que las IAs cuentan con dos
ventajas de las que nosotros los humanos no disponemos: no se cansan ni
se aburren, y realizan sus tareas extraordinariamente rápido.

• Ambos factores les permiten sacar un gran rendimiento al proceso de


prueba/error: pueden ganar y perder millones de partidas de un
videojuego, tomando nota de qué decisiones les llevaron en cada caso a la
victoria o a la derrota, privilegiando unas y descartando otras hasta que su
estrategia sea absolutamente perfecta.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
Aplicando la psicología conductista a la máquina

• Y donde decimos 'videojuego', podemos hablar igualmente de una amplia


gama de tareas, siempre que la IA pueda recibir un feedback de lo acertado
de sus decisiones.

• Uno de los aspectos fundamentales del aprendizaje por refuerzo es que


resuelve el difícil problema de correlacionar acciones inmediatas con sus
consecuencias a largo plazo: como los humanos en la vida real, esta clase de
algoritmos a veces tienen que operar en un entorno de retorno demorado,
donde puede ser difícil entender qué acción conduce a qué resultado en
muchos pasos de tiempo.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
¿Qué necesitamos para formular un problema básico de aprendizaje de
refuerzo?
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
¿Qué necesitamos para formular un problema básico de aprendizaje de
refuerzo? https://youtu.be/QilHGSYbjDQ

Necesitamos un agente (por ejemplo, Pacman) en un estado determinado (la


ubicación) dentro de un medio ambiente (el laberinto). PacMan cuenta con una u
otra recompensa (positiva: puntos por comer; negativa: morir si se cruza con un
fantasma) en base a qué acción (desplazamiento a un nuevo estado) realice.

Pero más allá de la recompensa existe lo que llamamos recompensa acumulada


esperada que consiste, como habrás averiguado, en ganar el juego. El aprendizaje
por refuerzo se base, de este modo, en un bucle de estado / acción / recompensa.

Para dar forma a una política óptima, el agente se enfrenta al dilema de explorar
nuevos estados (exploración) al tiempo que maximiza su recompensa acumulada
esperada (explotación).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
¿Qué necesitamos para formular un problema básico de aprendizaje de
refuerzo?
• Por ejemplo Pacman, siempre podemos intentar llevarlo al mundo real:
imaginemos que tenemos un macaco en casa (ejemplo real donde los haya) y
que está aburrido en nuestro salón, con la televisión apagada y el mando de la
TV sobre la mesa.

• Hasta aquí tenemos un agente (el simio en cuestión), un ambiente (el salón) y
un estado (la tele apagada). Por curiosidad o mero aburrimiento, el macaco
puede empezar a toquetear botones del mando: la acción, que generará un
nuevo estado.

• Si este estado no le gusta (la TV permanece apagada, lo cual constituye una


recompensa negativa) terminará optando por no tocar esos botones y pasar a
otros (o a una secuencia concreta de los mismos) hasta que maximice su
recompensa acumulada esperada (que la TV no sólo se encienda, sino que
muestre algún documental sobre la vida en la selva).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
¿Qué necesitamos para formular un problema básico de aprendizaje de
refuerzo?
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
Cuando DeepMind popularizó el aprendizaje por refuerzo
https://youtu.be/WXuK6gekU1Y

• Uno de los padres fundadores de la inteligencia artificial, Marvin Minsky, creó


en 1951 una máquina que imitaba a una rata a la hora de aprender a navegar
por un laberinto.

• Su nombre era SNARC (Ordenador Estocástico de Refuerzo de Similitud Neural) y


empleaba una forma simplificada de aprendizaje reforzado. La metodología
prometía, pero durante los siguientes 65 años fue imposible escalarla a
situaciones más complejas (y útiles).

• En 2016, DeepMind presentó ante el mundo a AlphaGo, una IA que, tras ser
entrenada durante varios meses en el análisis de miles de partidas jugadas por
humanos fue capaz de batir a un campeón humano de Go, un juego complejo al
que las máquinas nunca habían jugado bien recurriendo a la programación
convencional, por la dificultad para incorporar la estrategia al código.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje a partir de la observación
Cuando DeepMind popularizó el aprendizaje por refuerzo

• Pero, un año más tarde, DeepMind presentaba una nueva IA, AlphaGo Zero, que
con menos de 3 días de entrenamiento fue capaz de ganar 100 veces seguidas a
su predecesora. ¿Residía el secreto en una mayor potencia de procesamiento?

• No, la clave reside en que AlphaGo Zero aprendió a jugar ella sola mediante
aprendizaje por refuerzo, jugando millones de partidas contra sí misma, hasta
que aprendió, como decíamos antes a maximizar su recompensa acumulada
esperada.

• La siguiente generación, AlphaZero, tuvo resultados aún más impresionantes. Y


permite atisbar, por fin, la aplicación del aprendizaje por refuerzo a empresas de
mayor calado para la humanidad.
https://www.xataka.com/robotica-e-ia/alphazero-ia-capaz-aprender-ella-a-jugar-
al-ajedrez-ganar-a-todas-a-ias-adiestradas-humanos
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje en las redes neuronales. https://youtu.be/7-6X3DTt3R8
http://www.redes-neuronales.com.es/tutorial-redes-neuronales/tutorial-redes.htm

• Una red neuronal artificial es un grupo interconectado de nodos similar a la vasta red de
neuronas en un cerebro biológico. Cada nodo circular representa una neurona artificial y
cada flecha representa una conexión desde la salida de una neurona a la entrada de otra.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje en las redes neuronales.

• Las redes neuronales artificiales (también conocidas como sistemas


conexionistas) son un modelo computacional el que fue evolucionando a partir
de diversas aportaciones científicas que están registradas en la historia.

• Consiste en un conjunto de unidades, llamadas neuronas artificiales, conectadas


entre sí para transmitirse señales. La información de entrada atraviesa la red
neuronal (donde se somete a diversas operaciones) produciendo unos valores
de salida.

• Cada neurona está conectada con otras a través de unos enlaces. En estos
enlaces el valor de salida de la neurona anterior es multiplicado por un valor de
peso. Estos pesos en los enlaces pueden incrementar o inhibir el estado de
activación de las neuronas adyacentes. Del mismo modo, a la salida de la
neurona, puede existir una función limitadora o umbral, que modifica el valor
resultado o impone un límite que no se debe sobrepasar antes de propagarse a
otra neurona. Esta función se conoce como función de activación.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje en las redes neuronales.

• Estos sistemas aprenden y se forman a sí mismos, en lugar de ser


programados de forma explícita, y sobresalen en áreas donde la detección
de soluciones o características es difícil de expresar con la programación
convencional. Para realizar este aprendizaje automático, normalmente, se
intenta minimizar una función de pérdida que evalúa la red en su total. Los
valores de los pesos de las neuronas se van actualizando buscando reducir
el valor de la función de pérdida. Este proceso se realiza mediante la
propagación hacia atrás.

• El objetivo de la red neuronal es resolver los problemas de la misma manera


que el cerebro humano, aunque las redes neuronales son más abstractas.
Las redes neuronales actuales suelen contener desde unos miles a unos
pocos millones de unidades neuronales.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Aprendizaje en las redes neuronales.

• Nuevas investigaciones sobre el cerebro a menudo estimulan la creación de


nuevos patrones en las redes neuronales. Un nuevo enfoque está utilizando
conexiones que se extienden mucho más allá y capas de procesamiento de
enlace en lugar de estar siempre localizado en las neuronas adyacentes. Otra
investigación está estudiando los diferentes tipos de señal en el tiempo que los
axones se propagan, como el aprendizaje profundo, interpola una mayor
complejidad que un conjunto de variables booleanas que son simplemente
encendido o apagado.

• Las redes neuronales se han utilizado para resolver una amplia variedad de
tareas, como la visión por computador y el reconocimiento de voz, que son
difíciles de resolver usando la ordinaria programación basado en reglas.
Históricamente, el uso de modelos de redes neuronales marcó un cambio de
dirección a finales de los años ochenta de alto nivel, que se caracteriza por
sistemas expertos con conocimiento incorporado en si-entonces las reglas, a
bajo nivel de aprendizaje automático, caracterizado por el conocimiento
incorporado en los parámetros de un modelo cognitivo con algún sistema
dinámico.
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Representaciones estructuradas (ontologías).
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Incertidumbre en el conocimiento
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Incertidumbre en el conocimiento
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Incertidumbre en el conocimiento
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Incertidumbre en el conocimiento
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.
Incertidumbre en el conocimiento
Inteligencia Artificial
MÓDULO 2: Resolución de problemas y Lógica de Predicados
Unidad 5. Aprendizaje.

Ruta de aprendizaje

Aprendizaje a partir de la observación


https://www.xataka.com/inteligencia-artificial/conceptos-inteligencia-
artificial-que-aprendizaje-refuerzo

Por qué la IA aún no es capaz de ganar la partida | Captcha 1x07


https://youtu.be/N2dKD0Otyyw

Aprendizaje en las redes neuronales


https://www.youtube.com/watch?v=7-6X3DTt3R8&list=PL-
Ogd76BhmcB9OjPucsnc2-piEE96jJDQ&index=7

También podría gustarte