Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- Obtener sistemas automáticos capaces de llevar a cabo tareas reservadas, incluso ahora, a los
seres humanos.
- Las conclusiones del programa no son fijas y son determinadas parcialmente por las
conclusiones intermedias alcanzadas.
- Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de IA, los programas no
pueden trabajar con estos problemas.
1. Algoritmos de búsqueda.
2. Redes Neuronales.
3. Lenguaje Prolog.
Los convencionales son aquellos que cumplen funciones de la inteligencia humana que sabemos
muy bien cómo modelar y reemplazar.
En cambio, los sistemas inteligentes, son aquellos que cumplen funciones que en éste momento
estamos aprendiendo a modelar y reemplazar, o que recientemente hemos aprendido a hacerlo,
por ejemplo un Sistema Experto es inteligente.
7. - ¿Para qué dotar a una máquina con IA?: para que los sistemas actúen y piensen como
humanos; para que los sistemas actúen y piensen racionalmente.
8. - I.A. simbólica, IA no simbólica:
Para el primero existen técnicas como los Frames (marcos) que fueron los padres de lo
que hoy conocemos como Programación Orientada a Objetos.
El segundo es llamado también mecanismo de inferencia y requiere además de un
método de búsqueda que permita tomar decisiones, como por ejemplo, seleccionar la
regla a aplicar del conjunto total de posibles reglas.
Se orientan a simular los elementos de más bajo nivel que componen o intervienen en
los procesos inteligentes, con la esperanza en que de su combinación emerja de forma
espontánea el comportamiento inteligente.
Los ejemplos más significativos probablemente sean las Redes Neuronales Artificiales y
los Algoritmos Genéticos.
9. - Pasos para construir un sistema básico de IA: para construir un Sistema Básico de IA capaz
de resolver un problema específico, es necesario realizar las siguientes acciones:
Debe ser la creación de una forma descriptiva formal y manipulable del problema, a partir de
una descripción informal del mismo. La definición del problema como una búsqueda en el
“espacio de los estados” forma la base de la mayoría de los métodos que se utilizan para la
solución de problemas de IA. El “espacio de estados” puede ser finito o infinito.
Los mecanismos que se emplean para modificar un estado del sist., toman el nombre de
operadores, producciones o acciones, y se utilizan para enlazar su estado actual con otro estado
objetivo.
2. Analizar el problema.
Definir formalmente el problema, al poder convertir alguna situación dada en una situación
deseada utilizando un conjunto de operaciones permitidas.
Nos hacemos la preguntas ¿si encontramos una buena solución nos quedamos solo con esa o
buscamos otras? ¿Toda la información adicional que tengamos de nuestro problema es
necesaria para adquirir conocimiento para poder resolver el problema o es para ir descartando
caminos posibles? Contestando estas preguntas además de analizar nuestro problema vamos
resolviendo un poco más el camino a seguir. Tenemos que analizar cada una de las acciones a
realizar, antes de llevarlas a cabo.
3. Identificar y representar el conocimiento que es necesario para resolver el problema.
Estructural: describe restricciones sobre la forma que los símbolos pueden ordenarse.
1. Conocimiento público: incluye las definiciones, hechos y teorías que podemos encontrar
normalmente en los libros de texto y manuales de la especialidad.
Procedimiento desarrollado por Alan Turing para corroborar la existencia de inteligencia en una
máquina.
Se supone un juez situado en una habitación, y una máquina y un ser humano en otras.
Llamamos experto a alguien que tiene gran cantidad de conocimiento que le permite resolver
ciertos problemas de manera eficaz que la mayoría de las personas.
3. - Estructura de un SE:
Base de conocimiento: memoria a largo plazo del SE. Contiene las reglas y meta reglas que
resumen el conocimiento del experto humano sobre el dominio del problema.
Base de hechos: memoria a corto plazo o de trabajo. Almacena tanto los hechos
proporcionados por el usuario. Como los hechos nuevos que el mismo va obteniendo.
Motor de inferencia: contiene el mecanismo de razonamiento que sigue el SE. Aplica las reglas
contenidas en la BD de conocimiento sobre la BD de hechos, y obtiene nuevo conocimiento que
incorpora a la BDH y es susceptible a la aplicación de las reglas de la BDC.
Los SE son constituidos por equipos en los que colaboran Expertos del dominio e Ing. en
conocimiento. Una vez construidos son consultados por los usuarios, y se interrelacionan con
otros sistemas y otras fuentes o destinos de datos.
5. - ¿Cuáles son los tipos de problemas que resuelven los SE? - Clasificación:
En muchos otros se recurrió a los dos lenguajes básicos en casi todas las actividades vinculadas
con la IA: Lips (lenguaje funcional) y Prolog (lenguaje de prog. basado en la lógica).
- Natural: lengua o idioma hablada o escita por los humanos, para propósitos generales de
comunicación. Han sido generadas espontáneamente por un grupo de hablantes con el
propósito de comunicarse.
- Formal: lenguaje cuyos símbolos primitivos y reglas para unir esos símbolos están formalmente
especificados. Al conjunto de símbolos se le llama alfabeto (o vocabulario), y al conjunto de
reglas gramática formal(o sintaxis). A la cadena de símbolos formada de acuerdo a la sintaxis, se
la llama formula bien formada o palabra.
8. - ¿Cuáles fueron los primeros desarrollos de Sist. Expertos?:
Dendral (1966 - Universidad de Stanford), su objetivo fue utilizar heurísticas para implementar
un algoritmo, para identificar las estructuras moleculares posibles de una sustancia química.
Más tarde se desarrolló Mate-Dendral, uno de los primeros sistemas automáticos para la
adquisición de conocimiento.
- Cuales son las condiciones que se deben cumplir para que se pueda desarrollar un SE?
• La condición básica para que el desarrollo sea posible es que exista un humano capaz de
resolver el problema.
• Hardware y Software.
UNIDAD N° 3: SISTEMAS DE PRODUCCIÓN
- Pasos para construir un sistema básico de IA: para construir un Sistema Básico de IA capaz de
resolver un problema específico, es necesario realizar las siguientes acciones:
Debe ser la creación de una forma descriptiva formal y manipulable del problema, a partir de
una descripción informal del mismo. La definición del problema como una búsqueda en el
“espacio de los estados” forma la base de la mayoría de los métodos que se utilizan para la
solución de problemas de IA. El “espacio de estados” puede ser finito o infinito.
Los mecanismos que se emplean para modificar un estado del sist., toman el nombre de
operadores, producciones o acciones, y se utilizan para enlazar su estado actual con otro estado
objetivo.
2. Analizar el problema.
Definir formalmente el problema, al poder convertir alguna situación dada en una situación
deseada utilizando un conjunto de operaciones permitidas.
Nos hacemos la preguntas ¿si encontramos una buena solución nos quedamos solo con esa o
buscamos otras? ¿Toda la información adicional que tengamos de nuestro problema es
necesaria para adquirir conocimiento para poder resolver el problema o es para ir descartando
caminos posibles? Contestando estas preguntas además de analizar nuestro problema vamos
resolviendo un poco más el camino a seguir. Tenemos que analizar cada una de las acciones a
realizar, antes de llevarlas a cabo.
Estructural: describe restricciones sobre la forma que los símbolos pueden ordenarse.
Estas convenciones constituyen los llamados lenguajes de representación, los cuales se dividen
en 3 clases fundamentales.
1. Basado en Reglas:
• Estas reglas se componen de premisas, acciones que deben realizarse, si se cumplen llegamos
a la conclusión.
• Tanto las premisas como las conclusiones pueden ser pares atributo-valor.
• Aquí se definen los objetos como pertenecientes a clases, de las cuales heredan propiedades
y a veces procedimientos.
3. Basado en Lógica:
3.- Redes semánticas: se caracterizan por el tratamiento de conceptos, representados por nodos
y relaciones entre ellos. Hay dos tipos de nodos, pueden ser: individuales (que representan
descripciones o afirmaciones referentes a una instancia individual de un objeto) o genéricos
(referentes a una clase o categoría de objetos).
4.- Frame: es una descripción estructurada de un objeto, o clase de objetos. El énfasis es sobre
la estructura de los tipos, en términos de sus atributos llamados slots, donde se almacenan los
valores de dichos atributos.
Por ejemplo: un frame acerca de sillas tendrá slots que definan el n° de patas, el estilo, el n° de
brazos, etc., así como otros que las liguen a clases más generales (como muebles) y que definan
subclases (como sillas de jardín, sillones, etc).
Por ejemplo: juan es padre de pedro es una expresión en cálculo de predicados, que en general
podría ser: X es padre de Y, o simplemente P(X,Y) . Un predicado puede tener una o más
variables, y estas pueden tomar valores de un conjunto específico llamado dominio.
6.- Predicado: es un enunciado que contiene dos o más variables, no es una proposición, pero
se vuelve una, cuando las variables se sustituyen por constantes.
8.- Proceso deductivo: es un método científico que considera que la conclusión se halla implícita
dentro de las premisas.
Esto quiere decir que las conclusiones son una consecuencia necesaria de las premisas; cuando
las premisas resultan verdaderas, y el razonamiento deductivo es correcto, no hay forma de que
la conclusión no sea verdadera.
El método deductivo logra inferir algo observado a partir de una ley general. Esto es lo diferencia
del llamado método inductivo, que se basa en la formulación de leyes partiendo de los hechos
que se observan.
9.- Agentes inteligentes: Un agente es cualquier cosa capaz de percibir su medioambiente con
la ayuda de sensores y actuar en este medio utilizando activadores.
10.- Un agente racional: Es aquel que hace lo correcto, que cumple con el objetivo. Posee
medidas de rendimiento, que incluyen criterios que determinan el éxito en el comportamiento
del agente.
Medidas de rendimiento.
11.- Entornos de trabajo: son los problemas para los cuales los agentes racionales son las
soluciones: se evidencia que el entorno de trabajo ofrece diferentes posibilidades que influyen
en el diseño del programa del agente.
Discreto vs Continuo: La distinción entre discreto y continuo se puede aplicar al estado del
medio, a la forma en la que se maneja el tiempo y a las percepciones y acciones del agente.
• Agentes Basados en Objetivos. Actúan con la intención de alcanzar sus metas (como en
nuestro caso, alcanzar la estación destino con la solución apropiada).
• Agentes reactivos basados en modelos. Mantienen un estado interno que les permite seguir
el rastro de aspectos del mundo que no son evidentes según las percepciones actuales.
• Agentes de consultas.
Un agente omnisciente es aquel que sabe el resultado real que producirán sus acciones y su
conducta es congruente con ello.
La omnisciencia en la realidad no existe. La racionalidad tiene que ver con el éxito esperado
tomando como base lo que se ha percibido. No se puede culpar a un agente por no haber
tomado en cuenta algo que no podía percibir.
UNIDAD N° 4: MÉTODOS DE BÚSQUEDA
2.- Espacio de estados: secuencia de estados que deben alcanzarse sucesivamente para
finalmente lograr un estado objetivo bajo determinadas premisas.
4.- Elementos:
2. Espacio de estados: todos los caminos que tengo disponibles para encontrar el nodo.
1. Primero en anchura:
Comienza a recorrer el árbol desde la raíz, explora cado uno de los vecinos del nodo y a
continuación se examinan sus respectivos vecinos adyacentes hasta que se recorra todo el árbol
o hasta que alguna regla produce algún estado objetivo.
Ventajas: si existe una solución se garantiza que se logra encontrarla y en el caso de múltiples
soluciones permite hallar la más óptima.
2. Primero en profundidad:
Se centra en expandir un único camino desde la raíz tan profundamente como sea posible,
retornando a niveles superiores cuando sea necesario. Continúa por una sola rama del árbol
hasta encontrar una solución o hasta que se tome la decisión de terminar la búsqueda por esa
dirección.
1. Generación y prueba: es un algoritmo que consiste primero en generar una posible solución,
a partir de un estado inicial. Verifica si el objetivo elegido es realmente una solución,
comparándolo con el objetivo final: si no se halló la solución, volver a comenzar; si se halló la
solución, termina la búsqueda.
2. Escalada simple: Usan una técnica de mejoramiento iterativo, es decir, comienzan a partir de
un punto (punto actual) en el espacio de búsqueda. En cada iteración, un nuevo punto es
seleccionado de la vecindad del punto actual. Si el nuevo punto es mejor, se transforma en el
punto actual, sino otro punto vecino es seleccionado y evaluado. El método termina cuando no
hay mejoras, o cuando se alcanza un número predefinido de iteraciones.
Ventajas: muy poco consumo de espacio, reduce el número de nodos analizar, complejidad
espacial: 0 ó 1 (basta guardar 1 espacio), bajo costo computacional.
Desventajas: no son óptimos ni completos, pueden no encontrar una solución aunque exista,
no siempre llega a la solución, puede quedarse enciclado, se para sin dar solución cuando hay
máximos locales, mesetas o crestas.
3. Escalada por máxima pendiente: consiste en analizar a la vez todos los nodos sucesores del
nodo actual (pudiendo recorrer el nodo en sentido horario o anti horario) y comparar la
información que los mismos poseen y decidir cuál es el mejor nodo a seguir con el fin de llegar
al estado objetivo.
Ventajas: Ahorro de tiempo (reduce el número de nodos a analizar), utiliza poco espacio.
Desventajas: puede ser que la solución que encuentre no sea la más óptima, se para sin dar
solución cuando hay: máximos locales, mesetas, crestas.
Desventajas:
5. Bidireccional: su propósito es encontrar el objetivo en menor tiempo posible, haciendo dos
búsquedas simultáneas una en forma descendente desde el nodo inicial y otra ascendente desde
el nodo meta. Combina la profundidad y la anchura.
7. Conducida por agenda: se elige la tarea más prometedora de la agenda. Puede ser una
descripción de lo que debe hacerse a continuación o simplemente una indicación del siguiente
nodo o expandir. Se ejecuta la tarea asignándole un número de recursos determinados por su
importancia. La ejecución de la tarea generará probablemente tareas adicionales (nodos
sucesores). Para cada uno de ellos: o Si ya se encuentra en la agenda, añadir las nuevas
justificaciones. Si no está, agregarla a la agenda. o Calcular el valor de la nueva tarea,
combinando la evidencia de todas sus justificaciones.
8. Primero el mejor: mantiene la lista de nodos abiertos ordenada de modo que se puedan
considerar siempre la alternativa más prometedora de entre todas las que están siendo
consideradas. Combina la búsqueda en profundidad, en anchura y métodos de escalada. Una
forma de combinar esto es seguir sólo un camino a la vez, y cambiándolo cuando alguna ruta
parezca más prometedora que la que se está siguiendo en ese momento.
Ventajas: puede encontrar buenas soluciones; resultados más eficientes que una búsqueda no
informada.
Desventajas: puede tener ciclos infinitos, requiere diseño de una heurística, complejidad de
programación de la heurística.
UNIDAD N° 5: REDES NEURONALES
1.- Los RNA se definen como: sistemas de mapeos no lineales cuya estructura se basa en los
principios observados en los sistemas nerviosos de animales y humanos.
- Están conformadas por un conjunto de técnicas matemáticas que permiten modelar las
conexiones y relaciones entre un conjunto de datos.
2.- Una red neuronal se compone: de unidades llamadas neuronas. Cada neurona recibe una
entrada a través de interconexiones y emite una salida, esta salida viene dada por tres funciones:
1. Función de propagación o también conocida como función de excitación: que por lo general
consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor
neto). Si el peso es positivo, la conexión se denomina ex citatoria; si es negativo, se denomina
inhibitoria.
2. Función de activación: que modifica a la anterior. Puede no existir, siendo en este caso la
salida la misma función de propagación.
3. Función de transferencia: que se aplica al valor devuelto por la función de activación. Se utiliza
para acotar la salida de la neurona y generalmente viene dada por la interpretación que
queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para
obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el
intervalo [-1,1]).
a. Número de capas
i. Mono capa
ii. Multicapa
i. Entrada
ii. Ocultas
iii. Salida
c. Tipos de conexión
i. Unidireccional
ii. Realimentada
2) Mecanismos de aprendizaje: es el proceso por el cual una RMA modifica sus pesos en
respuesta a una información de entrada. El proceso termina cuando los valores de los pesos
permanecen estables. Un aspecto importante es determinar los criterios de la regla de
aprendizaje.
i. Corrección de errores
Los algoritmos que usan este tipo de aprendizaje son el Perceptron, Adelaine y Madelaine (regla
delta o del mínimo error) y la Regla del Delta Generalizada.
b. Aprendizaje no supervisado: no requieren influencia externa para ajustar los pesos de las
conexiones entre neuronas. Deben de encontrar las características, regularidades, correlaciones
o categorías que se pueden establecer entre los datos de la entrada.
3) Asociación entre la información de E/S: Hay que establecer cierta relación o asociación entre
la información presentada a la red, y la salida ofrecida por esta, esto se conoce como memoria
asociativa.
a. Red heteroasociativa
b. Red autoasociativa
a. Redes continuas
b. Redes discretas
c. Redes hibridas
Redes de propagación hacia adelante: el flujo de información de las entradas a las salidas es
exclusivamente hacia adelante, extendiéndose por capas múltiples de unidades, pero no hay
retroalimentación.
7.- Entrenamiento de las RNA: es el proceso de configuración de una red neuronal para que las
entradas produzcan las salidas deseadas a través del fortalecimiento de las conexiones.
Supervisado o asociativo.
No supervisado o auto-organizado.
8.- Perceptrón:
- El perceptrón fue el primer modelo de Red Neuronal Artificial supervisada. Es la más simple de
las Redes neuronales.
- El perceptrón calcula una sola salida de múltiples entradas de valor real mediante la formación
de una combinación lineal de acuerdo con sus pesos de entrada y, a continuación, posiblemente,
poner la salida a través de alguna función de activación lineal.
- El perceptrón multicapa es una red neuronal artificial (RNA) formada por múltiples capas, esto
le permite resolver problemas que no son linealmente separables, lo cual es la principal
limitación del perceptron (también llamado perceptrón simple). El perceptrón multicapa puede
ser totalmente o localmente conectado.
Por ejemplo, supongamos que tenemos un problema de dos dimensiones (o sea, dos
características) y con dos diferentes grupos que pertenecen a la clase A y a la clase B.
Por otra parte, el perceptrón es la única red neuronal que tiene un teorema de convergencia el
cual establece que, si el problema es linealmente separable, el perceptrón encontrará la
solución. Aunque no se sabe cuánto tiempo le llevara encontrar la solución y mucho menos si la
solución encontrada será la óptima.
Ventajas:
El perceptrón multicapa (de aquí en adelante MLP, MultiLayer Perceptron) se utiliza para
resolver problemas de asociación de patrones, segmentación de imágenes, comprensión de
datos, etc.
Desventajas:
4. Actualizar el peso.
5. Continuar hasta:
9.- Ventajas de las RNA: tienen muchas ventajas debido a que están basadas en la estructura
del sistema nervioso, principalmente el cerebro.
Aprendizaje: las RNA tienen la habilidad de aprender mediante una etapa que se llama etapa
de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le
indica cuál es la salida (respuesta) esperada.
Tolerancia a fallos: debido a que una RNA almacena la información de forma redundante, ésta
puede seguir respondiendo de manera aceptable aun si se daña parcialmente.
Tiempo real: La estructura de una RNA es paralela, por lo cual si esto es implementado con
computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en
tiempo real.
10.- RNA y SE: Ambos sistemas se asemejan en su objetivo (representar el conocimiento), pero
lo consiguen de diferentes maneras:
Ésta lógica se utiliza en lenguajes lógicos, es decir, en base a la información, se formulan las
preguntas sobre el dominio del problema, y el intérprete del lenguaje lógico trata de encontrar
la respuesta automáticamente.
Prolog:
Este es un lenguaje de programación que se utiliza para resolver problemas en los que existen
objetos y relaciones entre objetos. La programación en Prolog consiste en:
Declarar hechos sobre los objetos y sus relaciones, Definir reglas sobre dichos objetos y
relaciones, y Hacer preguntas.
La diferencia entre Prolog y los otros lenguajes es que Prolog nace de un desafío: escribir
rápidamente los programas dejando a la maquina su laboriosa ejecución, “que trabaje como
nosotros”.
Domains (Dominio): se declaran las variables que utilizan los predicados (objetos y tipos de
datos).
Clauses (Clausulas): define los hechos y las reglas para en encontrar las soluciones. La
diferencia entre estos es que los hechos describen una situación clara que necesita comparar, y
las reglas por lo general, son objetos compuestos que deben verificarse.
Unificación de reglas.
Backtraking automático.
Objetos.
Relaciones.