Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
35 vistas39 páginas

Resumen IAR

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 39

RESUMEN TEÓRICO INTELIGENCIA ARTIFICIAL

FUNDAMENTOS DE VISIÓN ARTIFICIAL.

PROCESAMIENTO DE IMÁGENES DIGITALES.

El procesamiento de imágenes es un área del conocimiento que se ocupa de los algoritmos que
permiten realizar las transformaciones sobre una imagen digital.

CONTRASTE, INTENSIDAD Y FRECUENCIA ESPACIAL.

Frecuencia espacial: número de cambios en los valores de brillo o intensidad por unidad de
distancia. Cuando es alta, pierde el contraste.

Contraste: sensibilidad del ojo a los diferentes niveles de intensidad. El contraste se describe de dos
maneras:

• Como función de la frecuencia espacial, considerando la función de sensibilidad al


contraste (FSC). Si la frecuencia es muy alta no hay contraste.

• Como función de la intensidad a través de la Constante de Weber. La respuesta del ojo al


contraste no es lineal. Definimos el contraste en funciona de la intensidad como la relación
entre la intensidad de un punto de la imagen y la variación de la intensidad con respecto a
un punto adyacente. Para valores intermedios de intensidad esta relación se suele
considerar constante y se define con la constante de Weber.
HISTOGRAMA. ECUALIZACIÓN.

Representa la frecuencia relativa de los niveles de gris. Corresponde a la distribución de probabilidad


de intensidad de la imagen. Se usa para mejorar las imágenes, cálculos estadísticos (desviación
estándar, entropía, valor medio), binarizar una imagen.

H(gi)=ni/n

Ecualización: es un proceso que sirve para mejorar el contraste de una imagen cuando el problema
es la intensidad.

BINARIZACIÓN. DETECCIÓN DE UMBRAL ÓPTIMO.

Proceso de pasar de una imagen en escalas de grises a una con dos tonos (blanco y negro). Una
imagen binarizada se obtiene “gatillando” los valores de intensidad de la imagen con respecto a un
valor umbral.

A partir del histograma de la imagen puede obtener fácilmente la imagen binaria, usando como
umbral el valor mínimo dado por el histograma entre los picos.

VECINOS DE UN PIXEL.

Al trabajar con procedimientos computacionales, es necesario definir con precisión cual es el


entorno o vecindad de un pixel. Se define como vecindad de un pixel al conjunto de pixels
adyacentes a un pixel dado. Existen distintas convenciones para definir esta vecindad:

• Vecindad 4: los 4 pixels adyacentes tienen un borde común con el pixel central.
• Vecindad 8: se le suma a la vecindad 4 los pixels diagonales.
• Vecindad 6: a la vecindad 4 se le suman 2 pixels opuestos sobre una de las diagonales.
• Vecindad D: solo los pixels diagonales.
FILTRO DEL VALOR MEDIO Y DE LA MEDIANA.

Calculan un nuevo valor para los ruidos de acuerdo con el valor de los vecinos. Siempre se obtiene
una nueva imagen. El filtro de la mediana sirve para eliminar los ruidos abruptos y el del valor medio,
para los ruidos contantes.

CONVOLUCIÓN.

Es un método que permite una importante cantidad de transformación de una imagen.

La convolución es un concepto matemático. El método consiste en definir una máscara, cuya


dimensión sea igual a la dimensión de la vecindad elegida. Luego, se calculan los nuevos valores de
cada pixel en función de los vecinos y de la máscara. La convolución discreta consiste en realizar la
suma de los productos de la vecindad por el nuevo valor.
DETECCIÓN DE BORDES.

Borde: saltos abruptos de intensidad. Corresponden a zonas de alta frecuencia espacial o alto
gradiente de niveles de gris.

La forma de detectar los bordes es por convolución utilizando mascaras definidas para ello:

SEGMENTACIÓN.

Proceso de extraer regiones de interés en una imagen. Se obtiene una lista de regiones compuestas
por los pixeles correspondientes a las mismas. Si la imagen no es binaria obtendremos también la
intensidad de los pixeles. Esto implica reducir los requerimientos de memoria de la imagen. También
podremos diferenciar objetos en una imagen.

Métodos:

• Orientados a regiones: agrupan pixeles homogéneos (similares valores de intensidad)


o Segmentación binaria: se binariza la imagen, luego se divide en subregiones a través
de un algoritmo.
▪ Región Aggregation: Analizada una semilla, si esta no pertenece a una
región, se descarta, en caso contrario se etiqueta con un número de región
y posteriormente se inspeccionan los ocho vecinos de este pixel, por
ejemplo, en sentido antihorario. A su vez, cada uno de estos 8 vecinos, si
pertenece a la misma región, se etiqueta con el mismo valor de etiqueta
que la semilla y se emplea para explorar sus propios ocho vecinos y así
sucesivamente.
• Orientados a perímetros: generalmente no se obtiene un borde cerrado, sino que hay que
efectuar un postproceso para obtenerlo.
INVARIANTES GEOMÉTRICAS.

• Área: es el más sencillo. Se suman los valores de todos los pixeles de una región.
• Baricentro o centro de gravedad: para una superficie definida por valores discretos, se
calcula las dos coordenadas como un promedio de la suma de las coordenadas de cada pixel
que pertenece a la región.

• Perímetro: se suman los valores de los bordes de una región.


• Numero de Euler: sirve para saber si una región tiene regiones internas.
Dados los patrones 01 y 00
11 01
Numero de Euler = n° de ocurrencias del patrón 1 - n° de ocurrencias del patrón 2
• Ejes de inercia: son propiedad que dependen de la forma del objeto. Permiten conocer la
orientación de un objeto. El eje de inercia está definido por el momento de inercia que las
partes de un objeto ejercen con respecto a ese eje. En la física esta dado por el producto de
la masa del volumen por el cuadrado de la distancia al eje. En una imagen, trabajamos en el
plano y no en el espacio, en lugar de masa usamos el nivel de gris. Cuando la imagen es
binaria el nivel de gris es 0 o 1. Así, todos los pixeles de la región multiplicados por la
distancia al eje, sumandos estos valores nos darán la inercia de la región respecto a ese eje.

TRANSFORMADA DE HOUGH.

Permite identificar un conjunto de puntos relevantes que pertenecen a la recta o curva. Se usa para
encontrar formas simples en una imagen. Utiliza la dualidad punto-línea.

El objetivo de la transformada de Hough es encontrar puntos alineados que puedan existir en la


imagen, es decir, puntos en la imagen que satisfagan la ecuación de la recta, para distintos valores
de ρ y θ. Ecuación de la recta en forma polar: ρ = x cosθ + y senθ. Para aplicar la transformada de
Hough es necesario discretizar el espacio de parámetros en una serie de celdas denominadas celdas
de acumulación. Esta discretización se realiza sobre los intervalos (ρmin,ρmax) y (θmin,θmax).

El siguiente paso es evaluar la ecuación de la recta para cada punto de la imagen (xk,yk), si se cumple
esta ecuación se incrementa en uno el número de votos de la celda. Un número de votos elevado
indica que el punto pertenece a la recta.
PROCESAMIENTO DE PATRONES Y REDES NEURALES.

RECONOCIMIENTO DE PATRONES.

Reconocimiento de patrones: se refiere a discriminar, clasificar o categorizar la información de


entrada mediante características o atributos. Podemos distinguir dos categorías:

• Reconocimiento de objetos concretos: perceptual. Una forma o una secuencia


• Reconocimiento de objetos abstractos: conceptual. Un argumento o la solución a un
problema.

Aplicaciones:

PROBLEMAS POR RESOLVER

El diseño de un sistema de reconocimiento automático involucra las tareas siguientes:

• Sensado: presentación de la información obtenida mediante algún tipo de sensor sobre los
objetos a ser reconocidos. Se puede representar así:

• Extracción de características: se busca reducir la dimensión de los patrones con la


posibilidad de perder un porcentaje de información, además disminuye el costo
computacional.
• Clasificación: determinación de un procedimiento óptimo de clasificación.
Suponiendo el sistema diseñado para reconocer M clases diferentes, denominadas
w1, w2, …, wn puede considerarse al espacio de patrones compuesto por M regiones
cada una de las cuales corresponde a los patrones de una clase.
La solución puede interpretarse como generar los límites de decisión entre las regiones.
Estos pueden estar dados por las llamadas Funciones de Decisión o Funciones
Discriminantes d1(x), d2(x),... dn(x), las que son funciones escalares de cada vector x.

FUNCIÓN DE DECISIÓN LINEAL.

Considérese d(x) = w1x1 + w2x2 + w3 = 0 como la ecuación de una línea de separación donde w es
el vector de parámetros y x es el vector de las variables de la entrada. Cualquier modelo que
pertenece a una clase w1 producirá una cantidad positiva x cuando sea sustituido en la ecuación del
hiperplano d(x). Similarmente d(x) se hace negativo con la substitución de cualquier patrón de la
otra clase.

El caso anterior puede ser fácilmente extendido a n-dimensiones definiendo una función de decisión
lineal general de la forma:

Donde el vector w0 es llamado vector de pesos o vector de parámetros.

EXTENSIÓN A MÁS DE DOS CLASES.

ONE VS ALL
La estrategia uno contra todos implica el entrenamiento de un único clasificador por clase, con las
muestras de esa clase como muestras positivas y todas las demás muestras como negativos.
PAIRWISE
Su idea básica es transformar un problema de clase c en c (c-1) / 2 problemas binarios, uno para
cada par de clases.
CÁLCULO DE LA MATRIZ DE COEFICIENTES

El valor esperado de una variable discreta se define como

Por otra parte, debemos considerar que, al presentar un patrón xi, obtendremos a la salida wxi, que
dependerá del valor de w, que deberá corresponder a un valor de salida y. En principio, con valores
de w no optimizados, se verificará un error entre wxi e y. Ese error se calcula como una distancia
entre dos vectores y lo indicamos como y-wxi . En el caso de tener varios vectores xi e yi lo indicamos
en negrita y - wxi .

Aproximación al error cuadrático medio

Siendo w la matriz de coeficientes, x(v) el vector de patrones conocidos e y el vector de salida del
clasificador. Existe un valor óptimo de la matriz de coeficientes w que minimiza este valor esperado
del error

Derivando con respecto a w obtenemos:

(es x traspuesta, no y traspuesta)

En caso de definir originalmente vectores columna, la expresión es:

(es x traspuesta, no y traspuesta)

CARACTERÍSTICAS DE PROBLEMAS REALES


En los problemas reales no es posibles separar las clases en una forma sencilla. Un caso muy
frecuente y de mayor complejidad se tiene cuando los patrones de cada clase están distribuidos en
múltiples clústeres.

No lineal No separable

EVALUACIÓN DE RESULTADOS. FACTOR DE CLASIFICACIÓN. MATRIZ DE


CLASIFICACIÓN.

Fases de un clasificador:

1- Fase de entrenamiento: se puede hablar también de estimación, optimización, adaptación


o aprendizaje según el tipo de clasificador
2- Fase de prueba

Para evaluar los resultados de un clasificador es necesario el uso de la matriz de confusión. Una
matriz de clasificación ordena todos los casos del modelo en categorías, determinando si el valor de
predicción coincide con el valor real.

Factor de clasificación = Ʃ de diagonal principal / Ʃ de toda la matriz

FC = 5+3+11/5+3+0+2+3+1+0+2+11=19/27=0,704
Mientras más cerca de 1 esta, es mejor el clasificador. El peor valor que puede tomar es el 0,5 ya
que indicaría que le clasificador clasifica aleatoriamente.

FUNCIÓN DE DECISIÓN GENERALIZADA.

En aplicaciones prácticas las clases del modelo no son completamente separables dentro de las
limitaciones económicas o técnicas, y es deseable buscar aproximaciones a las funciones de
decisión.

Función de decisión generalizada: significa aplicar funciones a cada una de las componentes del
vector, tomándose estas como las componentes de un nuevo vector.

Se puede hacer de la siguiente manera:

Donde

Considerando el hecho de que la ecuación puede representar funciones de decisión muy complejas,
es posible tratar dichas funciones como si ellas fueran lineales en virtud de una transformación. Se
define el vector X* cuyos componentes son las funciones

Entonces la ecuación puede ser escrita:

CLASIFICADOR POLINOMIAL
En casos en que deben resolver problemas de clasificación no lineal o donde la información esta
contenida en vectores de dimensiones de dos dígitos debe introducirse el concepto de funciones de
decisión generalizada. Se refiere a aplicar funciones a cada una de las componentes del vector de
patrones, tomando a estas como las componentes de un nuevo vector.

Dado:

Podemos transformarlo como

En el caso en que la función a aplicar es la función cuadrática:

Lo cual surge del vector de patrones expandido x= (x1,x2,1) y el calculo de las combinaciones de sus
elementos de 2 en 2. Con esta transformación la función polinomial toma la forma:

Lo que podría expresarse en forma lineal como

El clasificador polinomial permite el cálculo de la matriz de coeficientes W. A diferencia de las redes


neuronales que lo hacen mediante las leyes de aprendizaje (proceso iterativo y de aproximación),
el clasificador polinomial lo hace mediante cálculos matriciales (optimización recursiva y Gauss
Jordan).

GRADOS DE LIBERTAD.

El número de términos necesarios para definir una función de decisión polinomial crece muy
rápidamente como función de r (grado del polinomio) y n (dimensión del patrón). Este valor esta
dado por:

Para r=2
CORRELACIÓN ENTRE NEURONAS BIOLÓGICAS Y ARTIFICIALES.

El costo computacional para resolver un problema de clasificación en una forma exacta puede ser
inaceptablemente alto.

Una de las vías para sortear este problema es considerar al problema de encontrar la Matriz de
Coeficientes como un problema de optimización resuelto por la técnica del gradiente. El esquema
de conexiones requerido se corresponde con el modelo de una neurona biológica a través de redes
neuronales. Una red neuronal es un nuevo sistema para el tratamiento de la información, cuya
unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso
humano: la neurona.

LEYES DE APRENDIZAJE.

Es una función recursiva que permite generalmente alcanzar el valor apropiado para la Matriz de
Coeficientes.

LEY DE HEBB
La primera es la Ley de Hebb. Hoy en día se aplica poco en las Redes Neuronales. Representa un
modelo simplificado del funcionamiento de una neurona biológica.

La modificación en los coeficientes depende del producto entre la señal de entrada y la de salida y
el factor de aprendizaje permite ajustar la magnitud de esa variación.

LEY DE WIDROW-HOFF
Puede concebirse como una evolución de la ley de perceptrón y la ley de Hebb

PERCEPTRÓN. FUNDAMENTOS.

Es una red que al recibir el vector de entrada calcula la función de decisión lineal y le aplica una
función umbral que fuerza a la red a obtener solo dos valores posibles a la salida. El cálculo del
vector de pesos W se hace por un método iterativo de aproximación.

La función de decisión está dada por:


LEY DE APRENDIZAJE
El ajuste de los coeficientes se interviene con la diferencia entra la salida obtenida y la salida correcta
que debería haberse generado (error).

EL PROBLEMA DE LA CLASIFICACIÓN NO-LINEAL.


El perceptrón no puede resolver un problema de clasificación no lineal. Este problema se resuelve
usando más de un perceptrón, constituyendo una red.
ADALINE. REGLA DELTA.

Reemplaza la función de salida abrupta del perceptrón por una función rampa. Esto permite
generalizar el perceptrón para e/s continuas y permite aplicar la técnica del gradiente o descenso
iterativo.

Regla Delta o Ley de Widrow-Hoff

Demostración en carpeta

Aplicaciones

• Filtros que eliminen el ruido en señales portadoras de información


• Filtros de ecualización adaptativos en modems de alta velocidad
• Eliminación de ecos en circuitos telefónicos

RETRO PROPAGACIÓN. JUSTIFICACIÓN. FUNDAMENTOS. LEYES DE APRENDIZAJE


CARACTERÍSTICAS.

FUNCIONAMIENTO
La retro propagación consiste en propagar el error hacia atrás, es decir, de la capa de salida hacia la
capa de entrada, pasando por las capas ocultas intermedias y ajustando los pesos de las conexiones
con el fin de reducir dicho error. Es un algoritmo para entrenar redes multicapa.

Este método está basado en la generalización de la regla delta. El funcionamiento de la BPN consiste
en el aprendizaje de un conjunto predefinido de pares de e/s. Primero se aplica un patrón de entrada
como estímulo para la primera capa de las neuronas de la red, se va propagando a través de todas
las capas superiores hasta generar una salida, se compara el resultado en las neuronas de salida con
la salida que se desea obtener y se calcula un valor de error para cada neurona de salida. A
continuación, estos errores se transmiten hacia atrás, partiendo de la capa de salida hacia todas las
neuronas de la capa intermedia que contribuyan directamente a la salida. Este proceso se repite,
capa por capa, hasta que todas las neuronas de la red hayan recibido un error que describa su
aportación relativa al error total. Basándose en el valor del error recibido, se reajustan los pesos de
conexión de cada neurona.

La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás. Durante la primera
fase el patrón de entrada es presentado a la red y propagado a través de las capas hasta llegar a la
capa de salida. Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose
estos valores con la salida esperada para así obtener el error. Se ajustan los pesos de la última capa
proporcionalmente al error. Se pasa a la capa anterior con una retro propagación del error,
ajustando los pesos y continuando con este proceso hasta llegar a la primera capa.

LEY DE APRENDIZAJE
La regla propuesta por Widrow ha sido extendida a redes con capas intermedias (Regla Delta
Generalizada) con conexiones hacia delante y cuyas células tienen funciones de activación
continuas, dando lugar a la retro propagación. Estas funciones son no decrecientes y derivables (la
función escalón de perceptrón no puede ser porque no es derivable en la discontinuidad).

También utiliza una función de error asociada a la red, buscando el estado estable de mínimo error.

ALGORITMO
1) Inicializar los pesos con valores pequeños aleatorios
2) Presentar un patrón de entrada y especificar la salida deseada
3) Calcular la salida actual de la red
4) Calcular los términos de error para todas las neuronas
5) Actualización de los pesos, se utiliza un algoritmo recursivo, comenzando por las neuronas
de salida y trabajando hacia atrás hasta llegar a la capa de entrada
6) El proceso se repite hasta que el error resulta aceptablemente pequeño

CLASIFICACIÓN Y OPTIMIZACIÓN. MÁQUINAS DE SOPORTE VECTORIAL.

Los resultados obtenidos usando diferentes clasificadores pueden ser mejorados aplicando el
método de Maquina de Vectores de Soporte (MVS) o Clasificador de Margen Óptimo.

MVS busca mejorar los resultados obtenidos usando diferentes clasificadores. Estos tienen en
cuenta la periferia o envolvente de los clústeres formados por los patrones de entrenamiento. La
idea fundamental es que considere solo aquellos vectores que están muy próximos a la zona de
transición. Utilizando esos envolventes, se busca una función que equidiste en cada punto.
REPRESENTACIÓN DEL CONOCIMIENTO Y SISTEMAS EXPERTOS.

SISTEMAS EXPERTOS

Es un programa destinado a generar inferencias en un área específica del conocimiento en una


forma similar a la que se espera de un experto humano. Algunas de las áreas son: diagnóstico
médico, diagnóstico de fallas, monitorio del estado de un sistema, interpretación de datos,
configuración de computadoras. El conocimiento que los sistemas poseen es adquirido a través de
la intervención de expertos humanos, y almacenados en una Base de Datos de Conocimiento (KDB).

Se espera que un SE sea capaz de explicar la solución en términos comprensibles para las personas.

Características

• Inexistencia de un algoritmo para hallar la solución


• El problema es resuelto satisfactoriamente por expertos humanos
• Posibilidad de contar con un experto humano para colaborar en el desarrollo
• El conocimiento experto debe ser relativamente estático

FUNDAMENTOS DE PROGRAMACIÓN LÓGICA.

El lenguaje utilizado incluye los siguientes componentes:

• Átomos: son proposiciones simples


• Conectivos lógicos: conjunción, disyunción, implicación, negación, doble implicación. Sirven
para formar proposiciones compuestas.
• Sentencias: átomos o clausulas formadas por la aplicación de conectivos a sentencias.
Pensamientos en los que se afirma algo.
• Cuantificador universal Ɐ: las variables son comunes a todos los elementos de la expresión.
• Cuantificador existencial Ǝ: las variables deben ser comunes a toda la expresión.

LÓGICA PROPOSICIONAL Y DE PREDICADOS.

La lógica es la disciplina que estudia los métodos de formalización del conocimiento humano. Para
esto emplea dos niveles de abstracción según el grado de detalle con que se quiera formalizar:

LÓGICA DE PREDICADOS
O lógica de predicados de primer orden. Estudia las frases declarativas con mayor grado de detalle,
considerando la estructura interna de las proposiciones. Toma como elementos básicos los objetos
y sus relaciones. Una gran diferencia con la logia proposicional es la utilización de variables que
pueden ser instanciadas para evaluar una declaración. Ej.: Ɐ x: q(x)  p(x)

LÓGICA PROPOSICIONAL
También conocida como logia de predicados de orden cero. Se caracteriza en relación con la
composición por emplear muy pocos símbolos que pueden ser evaluados solamente como V o F.
Ej.: q  p

REDUCCIÓN A LA FORMA CLAUSAL.

CONCEPTO
Se dice que una expresión está en forma Clausal cuando está expresada solo mediante conectores
lógicos de conjunción y disyunción.

TIPOS DE FORMAS CLAUSULES


• Forma normal Conjuntiva (^)
• Forma normal Disyuntiva (v)
• Cláusula de Horn: -p v -q v s. FND que tiene como máximo un literal positivo. Los SE basados
en CH conllevan una complejidad lineal mientras que el resto en general tiene una
complejidad de O(2n).

PASOS PARA PASAR A FORMA CLAUSAL


1) Eliminar implicaciones
x  y = -x v y
2) Reducir la aplicación de la negación. Utiliza las Leyes de Morgan:
-(-x) = x
-(x v y) = -x ^ -y
-(x ^ y) = -x v -y
3) Eliminar cuantificadores. Utiliza las Funciones de Skolem: cuando un cuantificador
existencial está en el ámbito de un cuantificador universal, la variable cuantificada debe ser
reemplazada con una función de Skolem.
Ɐx: Ǝy: (x<y)  Ɐx: (x<(x+1))
4) Aplicar la propiedad distributiva y asociativa

5) Que cada clausula tenga nombre de variable único

SATISFACIBILIDAD DE UN CONJUNTO.

Un problema requiere para ser resuelto determinar su satisfacibilidad, es decir, si existe alguna
asignación de valores booleanos a las variables que hagan que todas las cláusulas sean ciertas.

Un algoritmo que tiene alto costo computacional es construir la tabla de verdad de la expresión y
determinar si alguna combinación hace verdadera la fórmula.

Un principio para este tipo de problemas se llama Resolución o regla de Robinson

RESOLUCIÓN.

Proceso iterativo cuya finalidad es evaluar la verdad o falsedad de una fórmula.

En cada paso dos cláusulas padres son resueltas para obtener una tercera denominada resolvente.
La demostración de teoremas bajo esta regla de inferencia se hace por reducción al absurdo.

Propiedades:

• Para cláusulas P y -P el resolvente es la cláusula vacía


• Si un conjunto de sentencias contiene P y -P el conjunto es insatisfacible
• Si ambos antecedentes son verdaderos el resolvente es verdadero
• Si el conjunto de cláusulas implica a P luego es contradictorio con el mismo conjunto que
además contenga a -P.

Algoritmo:

El algoritmo se puede sintetizar como una prueba de una proposición P con respecto a un conjunto
de axiomas C

• Convertir las afirmaciones de C a la forma Clausal


• Negar P y convertir a la forma Clausal. Añadir al conjunto C
• Repetir hasta encontrar una contradicción
o Seleccionar dos cláusulas
o Obtener el resolvente
o Si el resolvente es la cláusula vacía, se detectó una contradicción
o Sino añadirlo al conjunto de cláusulas

ENCADENAMIENTO PROGRESIVO. ENCADENAMIENTO REGRESIVO.

A través del encadenamiento se puede adicionar un nuevo hecho a una KDB

Ejemplos: http://disi.unal.edu.co/~lctorress/iartificial/IAc007.pdf

Endenamiento progresivo: se parte de sentencias de la KDB para producir conclusiones.

Correspondencia. Buscar afirmaciones en la BD que correspondan con los antecedentes de una


regla.

Resolución. En caso de que se cumplan los antecedentes instanciar el consecuente produciendo una
nueva afirmación.

Encadenamiento regresivo: se parte de una hipótesis a probar, procurando reglas en la KDB


retroactivamente para analizar las asertivas que soportan la hipótesis.

Correspondencia. Buscar una afirmación en BD que corresponda a una hipótesis.

Unificación. Buscar una regla cuyo consecuente concuerde con la hipótesis.

Resolución: para cada regla cuyo consecuente concuerde con la hipótesis, se intenta verificar de
manera recursiva cada antecedente de la regla, considerando cada una como una su hipótesis.
LISP. FUNCIONES Y PARÁMETROS. CAR, CDR, MAPCAR, LAMBDA, REVERSE, FOREACH,
ETC. VECTORES, REGISTROS, CLASES Y RANURAS. EL OPERADOR APÓSTROFO. LISTAS
DE ASOCIACIÓN.

LISP
Surge de abreviar “List Processing” o Procesamiento de Listas. Todos los componentes de este
lenguaje son expresados a través de información almacenada en listas. Cualquier componente se
puede representar en forma simbólica (símbolos).

Un código LISP está compuesto de formas, el intérprete LISP lee una forma, la evalúa e imprime el
resultado (Ciclo de lectura, evaluación, impresión).

En general una forma es un átomo o una lista. Si la forma es un átomo, se evalúa inmediatamente.
Si es una lista, LISP trata su primer elemento como el nombre de una función, y evalúa los restantes
recursivamente.

Notación prefija: siempre se debe evaluar el primer elemento de la lista.

CAR: devuelve el primer elemento

CDR: devuelve todos los elementos menos el primero

MAPCAR: toma una función de un argumento y una lista y calcula los resultados

(mapcar #'sqrt '(1 4 9 16 25)) ==> (1 2 3 4 5)

(mapcar #'first '((A B) (C) (D E))) ==> (A C D)

LAMBDA: crea una función temporal sin necesidad de darle nombre

(LAMBDA (X) (+ X 3))

> (funcall * 5)

REVERSE: devuelve una lista con los elementos al revés

CONS: existen las listas asociadas, en la cual, en cada nodo de la lista, puede definirse una palabra
clave que permita un fácil acceso a ese nodo. El aspecto usual de una lista asociada es el de una lista
formada por listas de dos elementos separados por un punto.

((posición . 3) (ancho . 7) …. (color . rojo))


MÉTODOS DE BÚSQUEDA.

CONCEPTO

Algoritmo que busca un dato en un conjunto de datos, pero donde el objetivo es encontrar una
cierto camino a ese dato. Se usan métodos de árboles y grafos.

ALGORITMOS

NO INFORMADOS
No requieren de información extra para su resolución

PRIMERO EN ANCHURA
Para cada nodo se generan todas las posibles situaciones resultantes de la aplicación de todas las
reglas adecuadas. Se continúa con este proceso hasta que alguna regla produce algún estado
objetivo.

Algoritmo:

1- Crear una pila, asignarle el estado inicial


2- Mientras la pila no esté vacía
a. Extraer el primer elemento
b. Generar estados derivados
c. Explorar si los nuevos estados son objetivos
d. Si no, añadir nuevos nodos a la pila

Ventajas:

• No queda atrapado en callejones sin salida


• Garantiza encontrar la solución si existe
• Permite hallar la solución optima

Desventaja: mala performance


PRIMERO EN PROFUNDIDAD
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.

Ventaja: asegura hallar la solución si existe


INFORMADOS O HEURÍSTICOS
Heurística: se refiere a un conocimiento que intuitivamente se posee. Carece de garantía teórica. En
el campo de los algoritmos de búsqueda, suele decirse que una heurística es una técnica que
aumenta la eficiencia de un proceso de búsqueda, proporcionando una guía para este y
posiblemente sacrificando demandas de completitud.

Estos algoritmos permiten construir una estructura de control que no garantiza la mejor respuesta
pero que casi siempre encuentra una buena solución.

PRIMERO EL MEJOR
Combina las ventajas de BPA y BPP en un solo método, siguiendo un solo camino a la vez, y
cambiándolo cuando alguna ruta parezca más prometedora, además utiliza árboles de tipo O

Algoritmo:

• Se selecciona el nodo más prometedor, utilizando alguna función heurística apropiada.


• Se expande el nodo elegido aplicando las reglas para generar a sus sucesores
• Si algún sucesor es solución, el proceso termina
• Si no:
▪ Se añaden los nodos a la lista
▪ Se vuelve al punto inicial

A*
Se modifica el anterior empleando una función heurística para estimar el costo desde un nodo
(actual) hasta el nodo objetivo. Realiza una estimación de los méritos de cada uno de los nodos que
se van generando, esto permite que el algoritmo examine primero los caminos más prometedores.

f’=g+h’

Se emplean dos listas de nodos:

Abiertos: Nodos a los que se les ha aplicado la función heurística pero no han sido expandidos

Cerrados: Nodos que ya han sido expandidos

Algoritmo:

• Comenzar con ABIERTOS conteniendo solo el estado inicial


• Hasta que se llegue a un objetivo o no queden nodos en ABIERTOS hacer:
• Tomar el mejor nodo de ABIERTOS
• Generar sus sucesores
• Para cada sucesor hacer:
▪ Si no se ha generado con anterioridad, añadirlo a ABIERTOS y almacenar a su padre
▪ Si ya se ha generado antes
▪ Si el nuevo camino es mejor que el anterior
o Cambiar al padre
▪ Actualizar el costo empleado para alcanzar el nodo y sus sucesores
PLANIFICACIÓN.

CONCEPTO Y CARACTERÍSTICAS

Es un método para computar varios pasos de un procedimiento de resolución de un problema antes


de ejecutarlos. Se ocupa de problemas complejos (aquellos que no se pueden explorar todas las
opciones).

Estrategias:

• No calcular los estados completos


• Subdividir el problema en subproblemas

LA PLANIFICACIÓN SEGÚN EL ÁREA DEL CONOCIMIENTO.

Planificación en IA

• Numérica
• Lógica
o Por pila de objetivos
o No lineal por fijación de restricciones
o Jerárquica. Se resuelven primero las tareas de mayor complejidad sin considerar
detalles.
• Reactiva

Planificación en Robótica

• Reactiva
• Planificación de trayectorias en manipuladores
o Método de articulaciones interpoladas
o Método del espacio cartesiano

Planificación en Logística Industrial

• Métodos basados en Simulación Discreta

PLANIFICACIÓN COMO BÚSQUEDA EN UN ESPACIO DE ESTADOS.

Podemos considerar a la planificación como una búsqueda en un espacio de estados con el agregado
de que lo que interesa es el camino recorrido entre los estados hasta llegar al objetivo.

A pesar de haber definido un mundo y sus posibles estados, podríamos no poder prever todos los
estados en que se encontrara ese mundo ante cada paso del planificador. Cuando añadimos este
problema de tener que planificar (y ejecutar) una secuencia de pasos en un mundo no
completamente previsible, nos ubicamos frente al problema de la Planificación en IA.
Se ocupa de problemas muy complejos, problemas que no pueden explorarse todas las opciones.

PLANIFICACIÓN Y REGL AS.

Entradas:

• Descripción del estado del mundo


• Descripción del objetivo
• Conjunto de acciones

Salida: secuencia de acciones que pueden ser aplicadas al estado hasta alcanzar la descripción del
estado final.

La lógica nos ofrece una manera de reducir nuestros pasos de búsqueda en planificación. Para esto
se deben representar los estados mediante predicados lo que permite pasar de uno a otro aplicando
reglas lógicas. La aplicación de la regla debería modificar el estado anterior definiendo un nuevo
estado. Sin embargo, la regla en si solo nos dice que está permitido pasar de un estado particular a
otro, pero no efectúa en un programa el cambio de predicados necesario para obtener el nuevo
estado. A su vez a la ocurrencia de un cambio de predicados, le corresponderá una determinada
acción en el “mundo” en que se está planificando.

Para que en un programa el estado actual se modifique de acuerdo con la relación establecida en la
regla es necesario aplicar procedimientos (operadores) que efectúen esa modificación.

REPRESENTACIÓN DE UN ESTADO MEDIANTE PREDICADOS. REGLAS, OPERADORES Y


CAMBIOS DE ESTADO.

Operadores: sirven para pasar de un estado a otro, modificando predicados. Cada operador puede
describirse mediante una lista de nuevos predicados que el operador provoca que sean ciertos (lista
AÑADIR) y una lista de los viejos predicados que el operador provoca que sean falsos (lista BORRAR).

Predicados: se utilizan para describir los estados.

Reglas: para evitar realizar la búsqueda explorando completamente el árbol, se plantea el empleo
de reglas. Pasos:

1) Elegir una regla cuyos antecedentes sean V en el estado actual. Si hay más de una elegir la
mejor según la función heurística.
2) Aplicar la regla para obtener nuevo estado
3) Detectar si se ha llegado a una solución
PLANIFICACIÓN POR OBJETIVOS.

Diagrama de flujo

EJEMPLOS EN EL MUNDO DE LOS BLOQUES.

Estado Inicial: (Sobremesa A) (Apilado C A) (Sobremesa B) (Despejado B) (Despejado C)

Estado Objetivo: (Apilado A B) (Apilado B C)


LÓGICA DIFUSA.

PRINCIPIOS BÁSICOS.

La teoría básica de los sistemas expertos está referida a la evaluación de sistemas binarios, es decir
que solo pueden evaluados como verdaderos o falsos. En el caso de la lógica difusa, los valores de
verdad son no-deterministas y tienen, por lo general, una connotación de incertidumbre.

Lo difuso puede entenderse como la posibilidad de asignar más valores de verdad a los enunciados
que los clásicos ``falso'' o ``verdadero''. Consecuentemente, las lógicas difusas son tipos especiales
de lógicas multivaluadas.

Los sistemas basados en lógica difusa se han empleado con éxito en campos tales como control
automático, clasificación, soporte de decisión, sistemas expertos y visión computarizada.

LÓGICA MULTIVARIADA.

En la lógica multivariada existe otro valor de verdad además del verdadero o falso. En esto se basa
la lógica difusa.

REPRESENTACIÓN DE SIGNIFICADOS E INFERENCIA.

Todas las reglas se evalúan en paralelo, su orden no tiene importancia. Las reglas en lógica difusa se
refieren a variables y adjetivos que califican a esas variables.

La idea tras un sistema de inferencia difusa es interpretar los valores de un vector de entrada y
basado en un conjunto de reglas, asignar valores al vector de salida.

CONJUNTOS DIFUSOS

Ejemplo:

Formas de las funciones de membresía: trapezoidal, triangular, gaussiana y singleton.


REGLAS BÁSICAS DE INFERENCIA.

Regla Si-Entonces

Los conjuntos difusos y los operadores difusos son los verbos y sujetos de la lógica fuzzy. Una regla
difusa toma la forma:

Si X es A luego Y es B

Donde A y B son valores lingüísticos definidos por conjuntos difusos sobre los rangos X e Y
respectivamente. La primera parte de la regla es el antecedente o premisa, mientras que la parte
final es el consecuente.

La interpretación de estas reglas comprende distintas partes:

1) Evaluación del antecedente (lo que implica la aplicación de operadores difusos)

2) Aplicación del resultado al consecuente (implicación)

ETAPAS

1) fuzzificación de las entradas: Se deben resolver todas las sentencias en el antecedente en


función de su grado de membresía entre 0 y 1.
Entrada: 8
Salida: 0,7
2) Aplicación de los operadores difusos: Si existen múltiples partes en el antecedente se
aplican los operadores fuzzy y se resuelve el antecedente como un número entre 0 y 1.
OR valor mayor
AND valor menor
3) Aplicación de la implicación: Se emplea el grado de soporte de la regla para conformar el
conjunto fuzzy de salida. El consecuente de una regla fuzzy asigna un conjunto fuzzy
completo a la salida. Si el antecedente es solo parcialmente cierto, luego el conjunto fuzzy
de salida es truncado según el método de implicación.
La entrada para la implicación es un número dado por el antecedente y la salida es un
conjunto fuzzy. La salida se obtiene para cada regla por separado.
Antecedente Consecuente

4) Agregación: Se combinan las salidas en un único conjunto difuso


5) Defuzzificación: el conjunto es defuzificado, o resuelto de modo de obtener un número
como valor de salida. Un popular método de defuzificación es el cálculo del centroide, el
cual retorna el centro de un área bajo una curva
ANÁLISIS DE COMPLEJIDAD.

INTRODUCCIÓN.

El concepto de complejidad admite diferentes interpretaciones según el punto de vista considerado.


Por ejemplo, puede hablarse de complejidad

• Del problema: inherente al objetivo del estudio.


• Cognitiva: esfuerzo requerido para entender el problema.
• Algorítmica: refleja la complejidad de la forma elegida para resolverlo.
• Estructural: la complejidad del software usado para implementar el algoritmo.
• Operativa: una medida del esfuerzo que demanda alcanzar la solución (recursos de
cómputo).

Teoría de la Complejidad Computacional se ocupa de estudiar estos recursos (operativa), que son
tiempo y espacio. Vinculada a la Teoría de la Computabilidad, cuyo foco es la existencia o no, de
procedimientos que permitan resolver cierto problema.

Al comienzo, escasez memoria y reducida capacidad de proceso.

La Complejidad Computacional fue siempre motivo de interés. En los comienzos de la era de la


computación esto fue una consecuencia natural de los magros recursos disponibles: escasa
memoria y reducida capacidad de proceso. Más recientemente y en la actualidad, los avances de la
tecnología vienen incrementado en forma sostenida la capacidad y calidad de los recursos de
computación. Sin embargo, paralelamente, los objetivos de los sistemas informáticos son cada vez
más ambiciosos y el interés por la complejidad computacional mantiene así plena vigencia.

La Inteligencia Artificial no es ajena a esta realidad. Renovados objetivos y el permanente


descubrimiento, desarrollo y aplicación de nuevas técnicas y herramientas han conducido
progresivamente a un incremento de la complejidad de los sistemas involucrados. Entre otros,
pueden mencionarse las técnicas de búsquedas heurísticas de tiempo real, los juegos con
animación, algoritmos genéticos, sistemas evolutivos, redes neuronales artificiales, autómatas
celulares, minería de datos, etc., por solo mencionar algunos de los más importantes. En todos estos
casos la complejidad computacional es uno de los principales factores a ser considerados.

PROCEDIMIENTO Y ALGORITMO

Procedimiento: conjunto finito y ordenado de instrucciones, que pueden ser ejecutadas por una
persona o maquina sin necesidad de conocimiento adicional a lo ya expresado en las propias
sentencias.

Algoritmo: procedimiento que permite alcanzar siempre una solución en un numero finito de pasos

NOTACIÓN O.

Utilizamos la notación “O grande” para especificar la función de complejidad f de los algoritmos.


• f ∈ O(n), decimos que el algoritmo es lineal.
• f ∈ O(n2), decimos que el algoritmo es cuadrático.
• f ∈ O(n3), decimos que el algoritmo es cubico.
• En general, si f ∈ O(nk), decimos que el algoritmo es polinomial.
• f ∈ O(2n) o similar, decimos que el algoritmo es exponencial.
• f ∈ O(log n), decimos que el algoritmo es logarítmico

Cuando decimos que un algoritmo tiene complejidad O(n), estamos diciendo que la complejidad es
igual y menor a la recta, pero no más que eso.

MEDIDAS Y MÉTRICAS DE COMPLEJIDAD

COMPLEJIDAD TEMPORAL
El tiempo es uno de los indicadores de complejidad mas utilizados. Se refiere a la cantidad de
intervalos que son necesarios para completar con la ejecución de un proceso. Se busca conocer la
razón de crecimiento entre el indicador de tiempo y la dimensión de los datos. La complejidad
temporal puede ser lineal, polinómica, logarítmica, exponencial, etc.

COMPLEJIDAD ESPACIAL
Se refiere a la cantidad de espacio de almacenamiento requerido para resolver un problema a través
de cierto algoritmo. Definirá la razón de crecimiento entre el espacio requerido y los datos del
problema y se representa por E(n).
PERCEPCIÓN VISUAL

SUAVIZADO

El objetivo es moderar los gradientes de las zonas de alto gradiente, es decir, hacer los bordes menos
nítidos o la imagen más borrosa.

Se utiliza la convolución con la máscara Gaussiana, se obtienen los valores a partir de los valores
discretos de la campana de Gauss.

PIRÁMIDE GAUSSIANA

El procedimiento de suavizado puede aplicarse repetidamente sobre la imagen obtenida,


obteniendo una secuencia de imágenes cada vez más difusa.

TEORÍA DEL ESPACIO ESCALAR

Al aplicar el filtro Gaussiano de suavizado, la imagen se modifica de tal modo que pueden
desaparecer detalles, pero nunca aparecer nuevos.

Sin embargo, según la Teoría del Espacio Escalar, los sistemas de visión biológicos reconocen objetos
en diferentes escalas, y esto es necesario también en la visión artificial. Así es como se pueden
reconocer características que definen un objeto en diferentes escalas.

RECONOCIMIENTO POR INVARIANTES

Para detectar objetos en imágenes, es necesario extraer las características de un objeto,


almacenarlas asociadas por un índice o etiqueta conteniendo información acerca de cada
característica. Al examinar la imagen, se comparan las características detectadas con las que
corresponden a los objetos almacenados y luego se reconocen esos objetos en la imagen.

Para realizar las búsquedas se emplean los arboles K-D o el método SIFT keys.

NEOCOGNITRON

Es una red neuronal jerárquica de capas múltiples. La principal característica que posee es que es
insensible a la posición espacial, escala, ruido y oclusión ante patrones sencillos.
La idea básica consiste en la extracción jerárquica de características, haciéndola en varias etapas. La
información obtenida de la primera etapa es empleada para extracción de características de las
etapas siguientes.

También podría gustarte