Sei sulla pagina 1di 19

UNIDAD N° 1 – INTRODUCCIÓN A LA IA

1.- Defina Que es IA.

Podemos definir la IA como la disciplina informática que estudia teóricamente y desarrolla


prácticamente la construcción de sistemas inteligentes. Es decir, trata de poner un modo de
razonamiento a las máquinas similar al de los seres humanos, con el objetivo de resolver
problemas.

2.- Objetivos de la IA:

- Estudio de procesos cognoscitivos en general.

- Obtener sistemas automáticos capaces de llevar a cabo tareas reservadas, incluso ahora, a los
seres humanos.

3.- Características de la IA:

- El uso de símbolos no matemáticos.

- El comportamiento de los programas no es descrito explícitamente por el algoritmo. La


secuencia de pasos seguidos es influenciada por el problema particular presente.

- Las conclusiones del programa no son fijas y son determinadas parcialmente por las
conclusiones intermedias alcanzadas.

- El razonamiento basado en el conocimiento, implica que estos programas incorporan factores


y relaciones del mundo real y del ámbito del conocimiento en que operan.

- Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de IA, los programas no
pueden trabajar con estos problemas.

4.- ¿Cómo resolvemos un problema en IA?: Tenemos tres maneras:

1. Algoritmos de búsqueda.

2. Redes Neuronales.

3. Lenguaje Prolog.

5. - ¿Cuáles son los sistemas convencionales y cuáles los inteligentes?:

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.

6. - ¿Cuándo un programa es inteligente?: un programa es inteligente en la medida en que


posea una gran cantidad de conocimiento específico y de alta calidad, respecto del problema
que pretende resolver.

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:

Simbólica - Deductiva: a partir de bases de conocimiento estáticas a las que se le aplica un


análisis formal estadístico para emular el comportamiento humano frente a problemas
concretos. Si el problema cambia sus restricciones se requiere actualizar la base de
conocimiento.

Razonamiento: Pensamiento lógico-analítico.

 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.

No simbólica - Inductiva: se basa en el desarrollo de sistemas capaces de lograr un aprendizaje


a partir de unos datos empíricos mediante la ejecución de algún algoritmo de optimización.

Conducta reactiva; Aprendizaje Por experiencia.

 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:

1. Definir de una forma precisa el problema.

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.

Hallar una representación apropiada es parte fundamental de la resolución del problema. El


principio de la representación establece que: una vez que el problema es descrito mediante una
buena representación, el problema está resuelto.

 Tienen que ser: transparente, completa y concisa.

 Las representaciones tienen cuatro ingredientes fundamentales:

Léxico: determina símbolos que están permitidos.

Estructural: describe restricciones sobre la forma que los símbolos pueden ordenarse.

Operativa: especifica los procedimientos de accesos que permiten crear descripciones.

Semántica: establece una forma de asociar el significado con las descripciones.

4. Escoger la mejor técnica y aplicarla para la resolución del problema.

Escoger la mejor técnica entre varias opciones disponibles.

10. - ¿Qué tipos de conocimientos hay, y cuáles son sus características?:

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.

2. Conocimiento privado: es el conocimiento que poseen los expertos. Consiste en reglas


prácticas, reunidas en años de experiencia. Es precisamente este conocimiento, lo que permite
al experto resolver problemas, reconocer rápidamente cuál es el enfoque más apropiado para
encararlos.

Construir, adquirir y reproducir éste tipo de conocimiento es la tarea central en la construcción


de SE.

11.- El test de Turing en 1950

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.

Basada en la incapacidad de diferenciar entre entidades inteligentes discutibles y seres


humanos. El ordenador supera la prueba, si un evaluador humano no es capaz de distinguir si
las respuestas a una serie de preguntas, son de una persona o no.

El ordenador debe de poseer:

- Procesamiento de lenguaje natural: para comunicarse.

- Representación del conocimiento: para almacenar lo que se conoce.

- Razonamiento automático: para usar la información almacenada, para responder.

- Aprendizaje automático: para adaptarse a las circunstancias y detectar patrones.


UNIDAD N° 2: SISTEMAS EXPERTOS

1.- ¿Definición de sistema experto?:

Un sistema experto es un sistema de computación basado en conocimiento que emula a un


experto humano en la resolución de un problema significativo en un dominio específico.

Si no existe experto humano, NO podemos construir un Sistema Experto.

2.- ¿Qué es un experto?:

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.

4.- Para la construcción de un SE necesitamos:

1. Experto humano: juega un papel fundamental en un SE, ya que sin él no podríamos


construirlo. Los SE no crean conocimiento, lo encapsulan y lo vuelven reutilizable.

2. Ing. en conocimiento: es un profesional cuyo objeto es ayudar al experto humano a


comprender el conocimiento que realmente utiliza para resolver problemas, y encontrar una
adecuada representación formal a este conocimiento, para construir el SE.

3. Usuario: se relaciona normalmente con el SE a través de una estación de trabajo de la


computadora. En muchos sistemas se utilizan capacidades de graficación para facilitar el diálogo.

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:

1. Sistemas de Interpretación: observa, interpreta y predice algunos datos.

Ej: interpretación de algunas señales, análisis de señales, etc.

2. Sistemas de Predicción: infieren consecuencias de situaciones dadas.

Ej: pronósticos meteorológicos.

3. Sistemas de Diagnóstico: funcionamientos incorrectos a partir de los datos.

Ej: diagnósticos médicos.

4. Sistemas de Diseño: desarrollan configuraciones de objetos que satisfacen las restricciones


del problema.

Ej: diseñar circuitos o microprocesadores.

5. Sistemas de Planeamiento: diseñan acciones. Orientados a la programación automática,


robótica.

6. Sistemas de Monitoreo: comparan las observaciones con características cruciales para el


éxito de los planes que se están ejecutando. Monitoreo para plantas de energía nuclear y
tránsito aéreo.

7. Sistemas de Tratamientos: prescriben remedios para el funcionamiento incorrecto.

8. Sistemas de Reparación: desarrollan y ejecutan planes para administrar un remedio para un


problema diagnosticado.

9. Sistemas de Capacitación: evalúan y tratan la conducta de estudiantes.

10. Sistemas Expertos de control: dirigen todo el comportamiento de un sistema.

6. - ¿Cuáles son las herramientas para el desarrollo de Sist. Expertos?:

La construcción de SE fue encarada de diversas maneras. En algunos casos se utilizó lenguajes


de alto nivel como Pascal y Fortran.

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).

7.- Distintos tipos de lenguajes:

- 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.

• Es necesario que los expertos puedan articular sus métodos.

• Otra condición necesaria es que los expertos concuerden en sus soluciones.

• Es necesario que la tarea no sea demasiado difícil (entrenar novicios).

- Cuales son los recursos necesarios S.E?

• En primer lugar los recursos humanos.

• El ingeniero del conocimiento dirige y coordina el desarrollo y colaboran con los


programadores de sistemas expertos.

• Hardware y Software.
UNIDAD N° 3: SISTEMAS DE PRODUCCIÓN

1.- Resolución de problemas:

- 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:

1. Definir de una forma precisa el problema.

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.

Hallar una representación apropiada es parte fundamental de la resolución del problema. El


principio de la representación establece que: una vez que el problema es descrito mediante una
buena representación, el problema está resuelto.

 Tienen que ser: transparente, completa y concisa.

 Las representaciones tienen cuatro ingredientes fundamentales:

Léxico: determina símbolos que están permitidos.

Estructural: describe restricciones sobre la forma que los símbolos pueden ordenarse.

Operativa: especifica los procedimientos de accesos que permiten crear descripciones.

Semántica: establece una forma de asociar el significado con las descripciones.

4. Escoger la mejor técnica y aplicarla para la resolución del problema.

Escoger la mejor técnica entre varias opciones disponibles.


2.- Representación del conocimiento:

Se la ha definido como un conjunto de convenciones sintácticas y semánticas que hace posible


describir las cosas.

Estas convenciones constituyen los llamados lenguajes de representación, los cuales se dividen
en 3 clases fundamentales.

1. Basado en Reglas:

• El conocimiento se expresa a través de 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.

2. Basadas en Objetos Estructurados:

• En esta situación la factorización del conocimiento está centrada en los objetos.

• Aquí se definen los objetos como pertenecientes a clases, de las cuales heredan propiedades
y a veces procedimientos.

3. Basado en Lógica:

• Se usan distintos subconjuntos de la lógica de predicados de 1º orden, como lenguaje de


representación.

• Cuando se utiliza la lógica como manera de representación, la resolución de problemas se


encara como una demostración de teoremas.

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).

¿Cuál es su razonamiento? la herencia de propiedades. Ejemplo: supongamos que


representamos en una red semántica el hecho de que “los canarios son pájaros”.

Canario ◊----- es un tipo de -----◊ Pájaro

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).

¿Cuál es su razonamiento?: la herencia y la restricción de valores que se pueden realizar en un


slots, definiendo un rango y un conjunto de “valores esperados”
5.- Cálculo de predicados: en el cálculo de predicados el valor de verdad depende de los
componentes que forman el predicado.

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.

7.- Componentes de la lógica:

- Premisas o proposiciones: enunciados que se ofrecen como base informativa. Puede


verificarse si son verdaderos o falsos, pero siempre tienen que estar correctamente planteados.

- Conclusión: enunciado que se deriva de las premisas, es válido si el proceso de deducción es


correcto. Si no, la conclusión es invalida.

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.

Los factores de los que depende la racionalidad son:

 Medidas de rendimiento.

 Conocimiento del medio en el que habita.

 Acciones que el agente puede llevar a cabo.

 Secuencia de percepciones hasta el momento.

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.

12.- Propiedades del Entorno de Trabajo:

 Totalmente observable vs. Parcialmente observable

 Agente individual y Multiagente

 Determinista vs. Estocástico


 Episódico vs Secuencial

 Estático vs Dinámico: Si el entorno puede cambiar cuando el agente está deliberando,


entonces se dice que el entorno es dinámico para el agente; de otra forma se dice que es
estático.

 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.

13.- Estructura de los agentes inteligentes:

• Agentes de reactivos simples  Los cuales responden directamente a las percepciones.

• Agentes Basados en Utilidad.  Intentan maximizar su “felicidad” deseada.

• 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 que aprenden.

• Agentes de consultas.

14.- Diferencia entre omnisciencia y racionalidad:

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

1.- Concepto: el concepto de búsqueda en IA es más bien “encontrar un cierto camino


recorrido” hasta el dato, antes que corroborar su existencia.

2.- Espacio de estados: secuencia de estados que deben alcanzarse sucesivamente para
finalmente lograr un estado objetivo bajo determinadas premisas.

3.- Características de los algoritmos:

1. Completitud: ¿encontrará una solución?

2. Complejidad temporal: ¿cuánto tardará?

3. Complejidad espacial: ¿cuánta memoria gastará?

4. Optimización: ¿encontrará la solución más óptima?

4.- Elementos:

1. Estados: inicial, actual y final de un nodo.

2. Espacio de estados: todos los caminos que tengo disponibles para encontrar el nodo.

3. Descripción del espacio de estados. Nodos:

_ Abiertos: estados generados pero aún sin visitar.

_ Cerrados: nodos que han sido visitados.

5.- Tipos de algoritmos:

 Algoritmos de búsqueda sin información:

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.

Desventajas: mucha memoria y poca velocidad.

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.

Ventajas: requisitos modestos de memoria, fácil implementación, tiene menor complejidad


espacial que búsqueda en amplitud, es completa sólo si no existen ciclos repetitivos.

Desventajas: puede tener ciclos infinitos y no encontrar el resultado, se pueden encontrar


soluciones que están más alejadas de la raíz que otras, no es óptima ni completa.
- Heurística: proviene de la palabra eureka. Se refiere a un conocimiento que intuitivamente se
posee. Es debido a la inspiración de quien conoce.

 Algoritmos de búsqueda con informació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.

Ventajas: Siempre encontraremos la solución (si existe), es una búsqueda exhaustiva en el


espacio del problema, se limita a responder afirmativa o negativamente acerca de la validez del
camino ensayado.

Desventajas: se deben recorrer caminos completos de antes de realizar ninguna comprobación,


la exploración del espacio de estados puede requerir demasiado tiempo si el dominio del
problema es muy amplio, la lista de soluciones probadas crece y se podría estar invirtiendo
mucho tiempo verificando si la solución fue probada antes, el conjunto de soluciones posibles
es grande o infinita.

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.

4. Enfriamiento simulado: el objetivo es disminuir la probabilidad de caer en un máximo local,


una meseta o una cresta. Por lo tanto se realiza una exploración con saltos amplios al principio,
que se va reduciendo paulatinamente. Para lograr esto, se plantea minimizar una función
objetivo para alcanzar un estado final de mínima energía, basando el método en los procesos de
enfriamiento de metales, en los que las sustancias físicas evolucionan hacia configuraciones de
más baja energía.

Ventajas: aunque se ha demostrado que el algoritmo converge al óptimo, este converge en un


tiempo infinito. No solo por esta razón, sino que se debe enfriar lentamente.

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.

Ventajas: requerimiento de memoria es mínimo, y la uniformidad al expandir los nodos


garantiza la mejor solución de búsqueda.

Desventaja: cuando el algoritmo no encuentra solución es conveniente imponer un límite


máximo de profundidad en la búsqueda.

6. A*: algoritmo informado que basa su comportamiento en la evaluación de una función


expresada del siguiente modo: o f(n) = g(n) + h(n). o g(n):es el costo de las movidas realizadas. o
h(n): es la función heurística. Representa el costo estimado del mejor camino.

Ventajas: encuentra buenas soluciones, no se crean ciclos, se requiere poca memoria.

Desventajas: requiere de muy buenas heurísticas.

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.

Desventajas: se pierde tiempo en mantener la agenda en orden, de modo que en la práctica se


ordenan los primeros 5 y 10 lugares; se inserta en el lugar adecuado o al final de la fila.

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.

Se trata de un sistema de interconexión de neuronas que colaboran entre sí para producir un


estímulo de salida.

- Aplicadas al reconocimiento de patrones, permiten modelar y efectuar predicciones en


sistemas muy complejos.

- 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]).

3.- Cuatro aspectos que caracterizan a una RNA:

1) Topología: organización y disposición de las neuronas en la red, formando capas o


agrupaciones de neuronas.

a. Número de capas

i. Mono capa

ii. Multicapa

b. Arquitectura: todas las RNA suelen tener las siguientes capas:

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.

a. Aprendizaje supervisado: se proporcionan ejemplos a las RNA y de alguna manera se los


indica como deseados. Se ajustan los pesos para que la salida sea lo más parecida a la deseada.
Se tiene las siguientes formas de corrección:

i. Corrección de errores

ii. Aprendizaje por refuerzo

iii. Aprendizaje estocástico

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.

i. Aprendizaje competitivo y comparativo

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.

Los tipos de redes según esta asociación son:

a. Red heteroasociativa

b. Red autoasociativa

4) Representación de la información de E/S

a. Redes continuas

b. Redes discretas

c. Redes hibridas

4.- Características RNA:

1. Procesamiento paralelo: cada neurona realiza su tarea, independientemente de que otras lo


hagan.

2. Operación en tiempo real: gracias al procesamiento paralelo.

3. Procesamiento distribuido: la información no se almacena localmente, si no en la sinapsis


entre las neuronas.

4. Tolerancia a fallos: si se pierde una neurona, no se pierde toda la información.

5. Adaptabilidad: el sistema es capaz de responder ante casos desconocidos; debido a su


capacidad de aprendizaje (recoger información de las experiencias y aplicarlas en casos futuros)
y a su capacidad de generalización (abstraer información útil).
5.- Topologías de redes neuronales: existen dos topologías que son las más usadas, se
diferencian en la manera de realizar las conexiones:

 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.

 Redes recurrentes: contienen conexiones de retroalimentación, lo que puede derivarse en un


proceso de evolución hacia un estado estable.

6.- Elementos de una RNA: está compuesta por 3 elementos básicos:

1. Conjunto de unidades de procesamiento (neuronas).

2. Conexiones entre unidades.

3. Funciones de salida o activación para cada neurona.

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.

Si lo graficáramos, a simple vista podríamos determinar si el problema es linealmente separable


si es que podemos trazar una línea que divida a los dos grupos.

En la siguiente imagen se ilustra este concepto:


Resumiendo, se puede decir que el perceptrón fue diseñado para tratar con clases linealmente
separables utilizando una función discriminante lineal para crear una frontera de decisión.

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:

El Perceptrón Multicapa no extrapola bien, es decir, si la red se entrena mal o de manera


insuficiente, las salidas pueden ser imprecisas.

La existencia de mínimos locales en la función de error dificulta considerablemente el


entrenamiento, pues una vez alcanzado un mínimo el entrenamiento se detiene aunque no se
haya alcanzado la tasa de convergencia fijada.

8.- Algoritmos de aprendizaje perceptrón:

1. Fijar pesos iniciales, con valores aleatorios.

2. Establecer los valores de entradas x1, x2, …,xn.

3. Calcular la salida de la neurona.

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.

 Auto organización: una RNA crea su propia representación de la información en su interior,


quitándole esta tarea al usuario.

 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.

 Flexibilidad: una RNA puede manejar cambios no importantes en la información de entrada,


como señales con ruido u otros cambios en la entrada (por ejemplo si la información de entrada
es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia
un poco su brillo o el objeto cambia ligeramente).

 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:

SE: razonamiento deductivo, obteniendo reglas.

RNA: razonamiento inductivo, aprendiendo mediante ejemplos Ambos modelos pueden


integrarse en un mismo sistema.
PROLOG

1.- Lógica de 1er orden – PROLOG

É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.

El conocimiento sobre el problema se expresa en forma de predicados (axiomas) que establecen


las relaciones sobre los símbolos que representan los datos del dominio del problema. Este
concepto ésta ligado a un lenguaje llamado PROLOG (programación en lógica) desarrollado en
1972.

Prolog:

Es utilizado para el desarrollo de aplicaciones de IA debido a su forma de representar


conocimiento, facilitando las búsquedas en las BD, la escritura en compiladores, la construcción
de sistemas expertos, etc

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”.

2.- Estructura de un programa Prolog:

 Domains (Dominio): se declaran las variables que utilizan los predicados (objetos y tipos de
datos).

 Predicates (Predicado): denotar alguna propiedad o relación entre objetos planteados en el


dominio.

 Goals (Metas): define los objetivos del programa.

 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.

3.- Características básicas de Prolog:

 Unificación de reglas.

 Estructura de datos basada en árboles.

 Backtraking automático.

4.- Elementos PROLOG:

 Objetos.

 Relaciones.

Potrebbero piacerti anche