Está en la página 1de 59

Inteligencia Artificial

Introducción a la inteligencia artificial


Criterios de Evaluación
Descripción Porcentaje
Tareas/Prácticas 60%
Examen 40%

Promedio(P1, P2, P3) = Calificación Final

Lenguajes recomendados: Octave (Libre) o Matlab (Propietario)

Software de Pruebas: Weka


Instancias: https://www.kaggle.com/datasets

2
¿Qué es la inteligencia artificial?
• Hollywood sigue creando expectaciones no realísticas para los
androides y las máquinas inteligentes en general.
• Quisiéramos robots como C-3PO que se parecen a los humanos, y
actúan y responden como ellos (quejándose menos, posiblemente).
• ¿Por qué no los tenemos y solo tenemos autómatas capaces de
construir coches en cadenas de montaje?

3
¿Qué es la inteligencia artificial?
• A pesar de algoritmos sofisticados y muchos años de
experimentación, aún no somos muy buenos en modelar la vida.
– Los motores no replican los músculos.
– Las cámaras no son ojos.
– Y las computadoras definitivamente no son cerebros.
• Sin embargo, seguimos con la idea de tener robots humanoides.

4
¿Qué es la inteligencia artificial?
• Estamos perfeccionando continuamente la bio-imitación, la visión por
ordenador y las técnicas de inteligencia artificial.
• En cada una de estas áreas se ha visto frustrada la carrera de
muchos científicos.
• La disciplina entera parece marchar hacia un callejón sin salida y las
aplicaciones prometidas presentan aún áreas de oportunidad.

5
¿Qué es la inteligencia artificial?
• No se están obteniendo resultados en máquinas de propósito general,
ni en robots humanoides que pueden andar.
• Los avances reales son en cambio en:
– la comprensión de cómo funcionan cerebro y conciencia;
– bots especializados en un único propósito.
• El futuro, de momento, es más Roomba que Atlas.

6
Roomba

7
Bases de la inteligencia artificial
• Filosofía. Debate sobre la posibilidad de una inteligencia mecánica:
• Descartes (1596–1650), Leibniz (1646–1716): la mente está ligada al mundo físico.
• John Locke: en el principio fue la Mente (1690).
• Hume (1779), Russell: el conocimiento es fruto de la percepción, se adquiere por la
experiencia (inducción) y está representado por teorías lógicas.
• Darwin (1859): destrucción del ex nihilo nihil fit a través de la teoría de la evolución por
selección natural.

8
Bases de la inteligencia artificial
• Matemáticas. Las bases filosóficas necesitan reglas formales:
• Boole (1815–1864), Frege (1848–1925): fundamentos de la lógica matemática.
• Gödel (1906–1978), Turing (1912–1954): límites de lo computable (teorema de
incompletitud).
• Fermat (1601–1665), Bernoulli (1700–1782), Bayes (1702-1761): probabilidad,
razonamiento probabilístico.

9
Bases de la inteligencia artificial
• Psicología cognitiva. Teorías sobre la conducta, bases del
comportamiento racional:
• Representación de los estímulos externos
• Manipulación consciente de la representación
• Actuación consecuente

10
Bases de la inteligencia artificial
• Ingeniería computacional:
• Para la existencia de la IA es necesario un mecanismo para soportarlo (hardware).
• También son necesarias herramientas para desarrollar programas de IA.

• Lingüística computacional:
• Chomsky: representación del conocimiento, gramática de la lengua.

11
Definición de IA
• Sistemas que actúan como humanos
El estudio de cómo lograr que las computadoras realicen tareas que, de momento, la gente hace mejor
(Rich y Knight, 1991)

• Sistemas que piensan como humanos


El esfuerzo de hacer que las computadoras piensen … máquinas con mentes en el más amplio sentido
literal (Haugeland, 1985)

• Sistemas que piensan racionalmente


El estudio de las facultades mentales a través del estudio de modelos computacionales (Charniak y
McDermott, 1985)

• Sistemas que actúan racionalmente


El estudio que busca explicar y emular el comportamiento inteligente en términos de procesos
computacionales (Shalkoff, 1990)
Sistemas que actúan como humanos
• El modelo es el hombre; el objetivo es construir un sistema que pase por
humano.
• Prueba de Turing: si un sistema la pasa es inteligente.
• Capacidades necesarias:
– procesamiento del lenguaje natural
– representación del conocimiento
– razonamiento
– aprendizaje
• Pasar la Prueba no es el objetivo primordial de la IA.
• La interacción de programas con personas hace que sea importante que
éstos puedan actuar como humanos.
La prueba de Turing
Sistemas que piensan como humanos
• El modelo es el funcionamiento de la mente humana.
• Se intenta establecer una teoría sobre el funcionamiento
de la mente (experimentación psicológica).
• A partir de la teoría se pueden establecer modelos
computacionales.
• Influencia de las neurociencias y de las ciencias
cognitivas.
El misterio de la conciencia
• Si identificamos el núcleo cognitivo de la conciencia (que no
es el simple conocimiento de nuestra existencia), ¿podemos
incorporarlo en una máquina?
• Las mayores religiones localizan la conciencia en un ánima que
sobrevive a la muerte del cuerpo.
• Woody Allen: “No quiero alcanzar la inmortalidad a través de mi
obra. Quiero alcanzarla no muriéndome”.
• Estas cuestiones, antes objeto solo de especulaciones
teológicas, ahora son estudiadas por la neurociencia cognitiva.
Daniel Dennett
Problemas fáciles y difíciles
• David Chalmers trata el tema de la conciencia en términos de dos
problemas:
– Problema Fácil: distinguir entre pensamiento consciente e
inconsciente (Freud):
• superficies que tenemos delante
• planes para el día
• sueños con ojos abierto durante las clases
• control del latido del corazón
• reglas que ordenan las palabras cuando hablamos
• secuencias de contracciones musculares
– Problema Difícil: explicar cómo puede nacer la experiencia
subjetiva de la computación neuronal
El cerebro como máquina
• La “hipótesis asombrosa” de Francis Crick (1916–2004) :
– Nuestros pensamientos, sensaciones, alegrías, dolores
consisten enteramente de actividad fisiológica en los tejidos
del cerebro.
• La conciencia es un producto biológico natural, tan
vacía de elementos sobrenaturales como la digestión o la
circulación de la sangre.
Sistemas que piensan racionalmente
• Las leyes del pensamiento racional se fundamentan en la
lógica (Aristóteles, 384 BC–322 BC).
• La lógica formal está a la base de los programas
inteligentes (logicismo).
• Se presentan dos obstáculos:
 Es muy difícil formalizar el conocimiento.
 Hay un gran salto entre la capacidad teórica de la lógica y su
realización práctica.
Sistemas que actúan racionalmente
• Actuar racionalmente significa conseguir unos objetivos dadas unas creencias.
• El paradigma es el agente racional, que se aplica, por ejemplo, a muchos sistemas
robóticos.
• Un agente percibe y actúa, siempre teniendo en cuenta el entorno en el que está situado.
• Las capacidades necesarias:
– percepción
– procesamiento del lenguaje natural
– representación del conocimiento
– razonamiento
– aprendizaje automático
• Visión de la actuación general y no centrada en el modelo humano
• Ejemplos:
– Stanley, Junior (Grand challenge)
– Asimo
¿Es la IA posible?
• La posibilidad de la inteligencia artificial plantea
problemas filosóficos complejos.
• ¿Las máquinas pensantes poseen consciencia?
• La habitación china (Searle, 1980)
• ¿Es la inteligencia una propiedad emergente de los
elementos biológicos que la producen?
• No hay una conclusión definitiva.
La habitación china
Historia de la IA
Los inicios (1943-1956)

• McCulloch y Pitts: primer modelo de neurona, demostración de que cualquier función es


computable por una red de neuronas, aprendizaje

• Hebb: regla de aprendizaje Hebbiano o de Hebb

• Minsky, Edmonds: primer simulador de red neuronal (40 neuronas)

• Taller de Dartmouth (bautizo de la IA): McCarthy, Minsky, Shannon, Rochester, More,


Samuel, Solomonoff, Selfridge, Newell, Simon

• Newell, Simon: Teórico Lógico (TL)


Historia de la IA
Entusiasmo inicial, grandes expectativas (1952-1969)

• SRGP: sistema de resolución general de problemas, imitación de las demostraciones


humanas

• Samuel: programa jugador de damas, aprendizaje

• Sistemas planificadores, representación interna del mundo

• Aplicaciones en dominios reducidos: integración simbólica, mundo de bloques

• Redes neuronales: perceptrones, aprendizaje


Historia de la IA
La dura realidad (1966-1973)

• Muchos sistemas de IA actuaban de manera prometedora en problemas


sencillos y fallaban ante problemas reales.

• Muchos problemas eran intratables (NP); el tamaño del problema es


relevante.

• La búsqueda exhaustiva es impracticable.

• Minsky, Papert: en Perceptrons se demuestra la escasa capacidad de


representación de los perceptrones.
ELIZA (1966)
• Conversación con ELIZA

-> Hello. I am ELIZA. How can I help you?


+> I am feeling sad.
-> I am sorry to hear you are sad.
+> I had some nightmares tonight.
-> You say you had some nightmares tonight.
+> Yes, my dreams are worrying me.
-> What does that dream suggest to you?
+> Thrill, scare.
-> I am not sure I understand you fully.
+> My dreams annoy me.
-> Do you dream often?
+> Yes, daily.
Traducción automática
inglés → ruso (o castellano)→ inglés

“The spirit is willing, but the flesh is weak” →

→ Дух охотно готов, но плоть слаба →

→ “The vodka is good, but the meat is rotten”

(Alternativas:
“Spirit is willingly ready, but flesh is weak”
“The alcohol is arranged, but the meat is weak”)
Historia de la IA
Los sistemas basados en el conocimiento (1969-1979)

• Los mecanismos generales de resolución de problemas no son practicables


(métodos débiles).

• DENDRAL: el conocimiento del dominio del problema ayuda a resolverlo


mejor.

• Sistemas Expertos (MYCIN, PROSPECTOR): incertidumbre, factores de


certeza

• Representación del conocimiento y razonamiento (redes semánticas,


marcos, Prolog)
Historia de la IA
La IA se industrializa (1980s)

• El éxito de los sistemas expertos lleva a su uso comercial: R1, XCON


(sistema de configuración en Digital Equipment Corporation).

• Japoneses: quinta generación de ordenadores (fracaso)

• Estadounidenses: MCC

• Software para el desarrollo de la IA

• Máquinas de arquitectura dedicada


Historia de la IA
Los altibajos del final de los 80s y principio de los 90s

• The collapse of the Lisp machine market in 1987:


– Specialized computers, called Lisp machines, were optimized to process the
programming language Lisp.
– Apple and IBM computers in 1987 became more powerful than the more expensive Lisp
machines.
– The desktop computers had rule-based engines such as CLIPS available. An entire
industry worth half a billion dollars was demolished overnight.
– The maturation of Common Lisp saved many systems such as ICAD which found
application in knowledge-based engineering. Other systems, such as Intellicorp's KEE,
moved from Lisp to a C++ on the PC via object-oriented technology and helped establish
the o-o technology.
Historia de la IA
Los altibajos del final de los 80s y principio de los 90s

• The fall of expert systems:


– Expert systems proved too expensive to maintain. They were difficult to update, they
could not learn, they were "brittle" (i.e., they could make grotesque mistakes when
given unusual inputs). They proved useful, but only in a few special contexts.
– The few remaining expert system shell companies were eventually forced to downsize
and search for new markets and software paradigms, like case-based reasoning.
• Failure to adapt
– Expert systems were carried over to the new desktop computers by for instance CLIPS.
The failure to adapt to such a change in the outside computing milieu is cited as one
reason for the 80's AI winter.
IA en la actualidad
• Razonamiento:
– Satisfacción de restricciones
– Búsqueda heurística
– Razonamiento basado en modelos
– Razonamiento no monotónico
– Planificación de tareas y scheduling
– Razonamiento cualitativo
– Razonamiento con incertidumbre
– Razonamiento temporal y espacial
IA en la actualidad
• Aprendizaje automático:
– Razonamiento basado en casos
– Análisis de datos
– Computación evolutiva
– Redes de neuronas
– Aprendizaje por refuerzo
IA en la actualidad
• Ingeniería del conocimiento:
– Lógica
– Sistemas de apoyo a la decisión
– Interacción hombre-máquina inteligente
– Gestión del conocimiento
– Representación del conocimiento
– Ontologías y Web semántica
– Sistemas multi-agente e IA distribuida
IA en la actualidad
• Robótica, percepción, procesamiento del lenguaje
natural:
– Robótica y control
– Procesamiento del lenguaje natural
– Percepción (visión, reconocimiento del habla)
– Creatividad, juegos, inteligencia ambiental
– Spinvox
Lecturas recomendadas y otros recursos
Libros

• Russell, S., Norvig, P., Artificial Intelligence: A Modern Approach, Prentice Hall
• Russell, S., Norvig, P., Inteligencia Artificial: Un Enfoque Moderno, Pearson
Unidad 2 Métodos
Semántica
• Las redes semánticas son una
forma sencilla de explicitar
conocimiento, están
conformadas por grafos que
codifican el conocimiento en
forma taxonómica.
• Los nodos nos representan
categorías y las aristas
relaciones entre esas categorías.
• Existen dos tipos de relaciones
muy especiales Is-A y la Have-A.
Semántica
• Se puede acceder a través de cada uno de los conceptos para inferir
conocimiento.
• Los guiones (script) son otra forma de representar conocimiento. Están
conformados por componentes llamados “ranuras” (slots) que es un conjunto de
pares atributo-valor.
• Los guiones son más fáciles de introducir en muchos casos que un mapa
conceptual.
Semántica
• Ejemplo de un guión (script):
• Impresoras
– Subconjunto_de: Máquina_Oficina
– Superconjunto_de: {Impresora_Laser,
– Impresora_Inyección}
– Fuente_alimentacion: Toma_Pared
– Autor: Juan_Perez
– Fecha: 07_Febrero_2008
Semántica
Ejemplo Script

DESCRIPTION ACTION EXAMPLE


Transfer of abstract
ATRANS give
relationship
Transfer of the physical
PTRANS go
location of the object
Application of physical
PROPEL push
force to an object
Grasping of an object
GRASP clutch
by an actor
Movement of a body
MOVE kick
part by its owner
Semántica
Ontología
• Una forma de explicitar conocimiento
con gran difusión en la actualidad es a
través del uso de ontologías, las cuales
consiste de relaciones entre distintos
conceptos como definiciones.
• Las ontologías pueden ser
representadas a través de lenguajes
como XML.
• La representación del conocimiento
tiene una gran importancia a tal punto
de actualmente se habla de la
Ingeniería del Conocimiento.
Semántica
Frames
• Los frames son una estructura en la cual se pueden representar valores,
restricciones, procesos, tienen relaciones de pertinencia y herencia (por lo que se
parecen a la programación orientada a objetos).
Semántica
Descripción y pareamiento
• El método descripción y pareamiento se utiliza
para solucionar problemas de IA y es de los
más básicos.
• El primer paso consiste en identificar todas las
características de un objeto.
• Después se realiza una búsqueda con un
conjunto de objetos ya definidos.
• En realidad se utilizan dos métodos muy
importantes: el extractor y el evaluador de
conocimientos.
• Al realizar el pareamiento de los objetos puede
ser que no caigan exactamente en el patrón
de conocimiento por lo que se tiene que tener
una medida de similitud.
Semántica
Descripción y pareamiento

• Se utiliza en otras múltiples ramas como:


– Reconocimiento de huellas digitales
– Reconocimiento de Voz
– Reconocimiento de Lenguaje Natural
– Validación de Requerimientos de Software
– Entre otros.
• Se debe de representar de manera adecuada
el conocimiento para poder compararlo.
Métodos de Búsqueda
Procesamiento de Lenguaje Natural
Procesamiento de Lenguaje Natural
Problema del Agente Viajero (TSP)

• La primera solución reportada para resolver el problema del Agente


Viajero fue en 1954, cuando George Dantzig, Ray Fulkerson, y Selmer
Johnson publicaron la descripción de un método de solución del PAV
(Problema del Agente Viaje o sus siglas en inglés TSP – Travel
Sailsman Problem) titulado “Solutions of a large scale traveling
salesman problem“ (Soluciones de gran escala para el problema del
agente viajero) para resolver una instancia de 49 ciudades donde un
agente viajero desea visitar un conjunto de ciudades, asignándoles un
costo por visitar ciudades contiguas (distancia de traslado entre dos
ciudades). Para esta solución se propusieron 2 condiciones: regresar a
la misma ciudad de la cual partió y no repetir ciudades con el objetivo
de encontrar una ruta o un camino con el menor costo posible.
Problema del Agente Viajero (TSP)
• Se tiene un número de nodos (ciudades, localidades, tiendas,
empresas, etc.) que deben ser visitados por una entidad (persona,
agente viajero, automotor, avión, autobús, etc.), sin visitar 2 veces el
mismo nodo. Si tenemos 3 nodos (a, b y c) por visitar, entonces
tendríamos una función de combinaciones sin repetición c(3,2), es decir,
tendríamos 6 posibles soluciones: abc, acb, bac, bca, cab, cba, para el
caso de 4 nodos tendríamos 12 combinaciones, para 10 nodos
tendríamos 90 combinaciones, para 100 ciudades tendríamos 9,900
combinaciones y así sucesivamente. Como ejemplo en el problema del
Ulises de Homero que intenta visitar las ciudades descritas en la Odisea
exactamente una vez (16 ciudades) donde existen múltiples conexiones
entre las diferentes ciudades, Grötschel y Padberg (1993) llegó a la
conclusión de que existen 653,837’184,000 rutas distintas para la
solución de este problema.
Problema del Agente Viajero (TSP)
Algoritmo Base
• El Problema del Agente Viajero (TSP), es considerado como un
conjunto de grafos cuyas aristas son los posibles caminos que puede
seguir la entidad para visitar todos los nodos (Öncan et al., 2009), y
cuyo algoritmo se puede representar de la siguiente manera:
– Definir el número de nodos, su posición y el costo por cada arista (i, j) donde i
= ciudad 1 y j = ciudad 2

– Elegir el nodo inicial i

– Hacer

– Si el nodo más cercano no se ha visitado

– Visitar nodo j

– Actualizar lista de nodos visitados

– Costo_total = costo_total + costoij

– Nodo i = nodo j

– Hasta haber visitado todos los nodos


Problema del Agente Viajero (TSP)
Características de TSP
• TSP se encuentra clasificado como Problema de optimización
Combinatoria, es decir, es un problema donde intervienen cierto número
de variables donde cada variable puede tener N diferentes valores y
cuyo número de combinaciones es de carácter exponencial, lo que da
lugar a múltiples soluciones óptimas (soluciones que se calculan en un
tiempo finito) para una instancia.

• TSP es un problema considerado difícil de resolver, denominándose en


lenguaje computacional NP-Completo, es decir, es un problema para el
que no podemos garantizar que se encontrará la mejor solución en un
tiempo de cómputo razonable. Para dar solución se emplean diferentes
métodos, entre los cuales, los principales se denominan heurísticas
cuyo objetivo es generar soluciones de buena calidad en tiempos de
cómputo mucho más pequeños (soluciones óptimas tiempo –
respuesta).
Problema del Agente Viajero (TSP)
Características de TSP
• Las variables que han sido empleadas por la mayoría de los
investigadores que dan solución a TSP son:

– Tiempo de recorrido entre ciudades: horas, minutos, días, semanas,


etc.

– Distancia de recorrido entre ciudades: metros, kilómetros, millas,


milímetros, etc.

– Costo de traslado: dinero, desgaste de las piezas, gasto de energía,


etc.
Problema del Agente Viajero (TSP)
Características de TSP
• Las variables que se pueden adoptar dependen de cada regresión lineal, etc.
problema, por ejemplo: • Entrega de productos: Peso de las entregas, número de
• Circuitos electrónicos: cantidad de soldadura utilizada, entregas, nodos (domicilios) a visitar, recorridos, tiempos
menor espacio entre los puntos de soldadura de los de traslado, tipo de vehículo, etc.
circuitos, evitar el cruce entre las líneas de soldadura, • Estaciones de trabajo: secuencia de actividades, lugar de
tiempo de fabricación, distribución de los circuitos, entre las herramientas (nodos), Tipo de herramientas, tiempo
otras. de uso, etc.
• Control de semáforos: Número de semáforos (nodos), • Edificación: puntos de edificación (construcciones),
tiempo de traslado entre semáforos, cantidad de autos distancia entre las construcciones y los insumos,
que pasan por un punto, entre otras variables. vehículos (grúas, camiones de volteo, etc.), cantidad de
• Previsión del tránsito terrestre: puntos en una ciudad, combustible que emplean, etc.
cantidad de vehículos, tiempo de traslado, tipos de • Entre otras variables
vehículos, horas pico, correlación entre variables,
Problema del Agente Viajero (TSP)
Algoritmos propuestos para dar solución a TSP
• El Problema del Agente Viajero puede resolverse de diferentes maneras:
– Enumeración de todas las soluciones factibles. Es decir, enlistar todas las posibles soluciones al
problema, calcular sus costos asociados, e identificar, por comparación, cuál es la solución con el
costo más conveniente.

– Métodos exactos. También llamados algoritmos óptimos, intentan descartar familias enteras de
posibles soluciones, tratando así de acelerar la búsqueda y llegar a una óptima. Los que más se
usan para resolver el TSP son Ramificación y Acotamiento, y Ramificación y Corte.

– Heurísticas. Son métodos obtienen buenas soluciones en tiempos de cómputo muy cortos,
aunque sin garantizar la solución única.
Problema del Agente Viajero (TSP)
Algoritmos propuestos para dar solución a TSP
• En la actualidad investigadores han propuesto diferentes estrategias
para dar solución a TSP, de las cuales se pueden mencionar algunas
técnicas empleadas:

• Algoritmos genéticos: la solución consiste en encontrar un individuo


cuya combinación de genes (cada gen es una variable), den solución
al problema de visitar todas las ciudades una vez. Otra solución es
que cada gen es una ciudad y cuyo orden dependerá del orden en
que serán visitadas.

• Redes neuronales: Una red neuronal simula las conexiones entre los
nodos (lugares por visitar), y cada recorrido por las diferentes
neuronas genera al final un camino que involucra el tour por todas las
ciudades visitadas una sola vez.
Problema del Agente Viajero (TSP)
Algoritmos propuestos para dar solución a TSP
• Colonia de hormigas (ACO): las hormigas encuentran el camino más corto entre
2 puntos; para TSP, se considera el punto de inicio como el punto final, el
mismo nodo; de esta manera, las hormigas deben recorrer todas las ciudades
en un circuito, sin pasar 2 veces por la misma ciudad.

• Project Scheduling Problem (PSP): Buscar la solución considerando


principalmente el uso mínimo de recursos durante cada recorrido.

• Búsqueda Tabú: consiste en buscar el vecino próximo cuyos costos de traslado


del nodo actual al siguiente, sea el de menor costo en cuanto al uso de recursos

• Combinación de propuestas: Las técnicas de Inteligencia Artificial se pueden


combinar para crear meta heurísticas, conformando diferentes soluciones tales
como: algoritmos genéticos con redes neuronales, PSP con ACO, PSP con
redes neuronales, etc.

• Entre otras soluciones.


Problema del Agente Viajero (TSP)
Simulación

También podría gustarte