Está en la página 1de 69

Universidad Juárez Autónoma de Tabasco

División Académica de Informática y Sistemas

Lic. Sistemas Computacionales


Materia:
Inteligencia Artificial.
Profesor:
Juan José Murillo de la Torre.
Alumnos:
Jesús Raymundo Hernández Zapata.
José Jesús de la Cruz Rodríguez.
Henry del Carmen Bautista de la Cruz.
Grupo:
7A7.
Lugar y fecha:
Cunduacán, Tabasco. 14 febrero 2020.
Contenido
Unidad 1. ............................................................................................................................................. 5
Introducción a la inteligencia artificial. ........................................................................................... 5
Definiciones de inteligencia artificial .......................................................................................... 5
Fundamentos .............................................................................................................................. 6
Historia. ..................................................................................................................................... 14
Técnicas de IA. ........................................................................................................................... 15
Unidad 2. ........................................................................................................................................... 20
Resolución de problemas mediante búsquedas (métodos de búsqueda, juegos, algoritmos
genéticos). ..................................................................................................................................... 20
Introducción a los métodos heurísticos de búsqueda. ............................................................. 20
Espacio de estado...................................................................................................................... 21
Árbol de búsqueda. ................................................................................................................... 22
Esquemas de búsqueda............................................................................................................. 22
Funciones heurísticas. ............................................................................................................... 23
Búsqueda costo uniforme. ........................................................................................................ 23
Búsqueda primero el mejor. ..................................................................................................... 24
Búsqueda A*.............................................................................................................................. 25
Juegos. ....................................................................................................................................... 25
Búsqueda minimax. ................................................................................................................... 26
Búsqueda poda alfa-beta. ......................................................................................................... 26
Búsqueda AO*. .......................................................................................................................... 27
Unidad 3. ........................................................................................................................................... 28
Formalización del razonamiento – Símbolo deductivo (lógica proposicional, de predicados y
difusa). ........................................................................................................................................... 28
Lógica deductiva y silogismos ................................................................................................... 28
Inferencia y deducción .............................................................................................................. 29
Resolución en lógica proposicional y de predicados. ................................................................ 31
Otras formas de razonamiento (abducción). ............................................................................ 34
Introducción a la lógica difusa................................................................................................... 35
Lógicas multivaluadas y conjuntos difusos ............................................................................... 35
Funciones de membresía .......................................................................................................... 36
Conceptos básicos y operaciones con conjuntos difusos ......................................................... 36
Aplicaciones de la lógica difusa ................................................................................................. 38
Unidad 4. ........................................................................................................................................... 39
Representación e ingeniería del conocimiento – ontologías. ....................................................... 39
Modelos típicos de la representación del conocimiento .......................................................... 39
Redes semánticas. ..................................................................................................................... 40
Frames (marcos) ........................................................................................................................ 44
Tripleta objeto-atributo-valor (OAV)......................................................................................... 46
Sistemas de producción. ........................................................................................................... 46
Introducción a la ingeniería del conocimiento .......................................................................... 48
Ontologías. ................................................................................................................................ 49
Web semántica.......................................................................................................................... 51
Unidad 5. ........................................................................................................................................... 53
Sistemas de apoyo a la decisión (sistemas expertos) y aprendizaje automático (redes
neuronales). .................................................................................................................................. 53
Conceptos generales y desarrollo de Sistemas Expertos (SE). .................................................. 53
Lenguaje, shells y herramientas. ............................................................................................... 54
Aplicaciones y dominios de los sistemas expertos.................................................................... 55
Introducción a las Redes Neuronales. ....................................................................................... 55
Estructuras y modelos neuronales. ........................................................................................... 55
Métodos de aprendizaje. .......................................................................................................... 56
Aplicaciones de las RN. .............................................................................................................. 57
Unidad 6. ........................................................................................................................................... 58
Agentes inteligentes – agentes de software (Softbots) – agentes físicos (Robot)........................ 58
Introducción a los Agentes Inteligentes (AI). ............................................................................ 58
Definición de un AI y su entorno. .............................................................................................. 58
Arquitecturas de los AI .............................................................................................................. 59
Softbots. .................................................................................................................................... 60
Aplicaciones de los agentes de software .................................................................................. 60
Unidad 7. ........................................................................................................................................... 61
Reconocimiento automático del habla y procesamiento de lenguaje natural. ............................ 61
Introducción al reconocimiento automático del habla (RAH). ................................................. 61
Sistema básico y tipos de RAH .................................................................................................. 61
Aplicaciones de los sistemas de RAH ........................................................................................ 63
Introducción al Procesamiento de Lenguaje Natural (PLN) ...................................................... 63
Técnicas del PLN ........................................................................................................................ 63
Análisis morfológico .................................................................................................................. 64
Análisis léxico y sintáctico. ........................................................................................................ 65
Análisis semántico y pragmático. .............................................................................................. 67
Aplicaciones del PLN ................................................................................................................. 69
Unidad 1.
Introducción a la inteligencia artificial.
Definiciones de inteligencia artificial
En el ámbito de las ciencias de la computación se denomina como inteligencia artificial a la
facultad de razonamiento que ostenta un agente que no está vivo, tal es el caso de un robot,
por citar uno de los ejemplos más populares, y que le fue conferida gracias al diseño y
desarrollo de diversos procesos gestados por los seres humanos. Cabe destacarse que
además del poder de razonar, estos dispositivos son capaces de desarrollar muchas
conductas y actividades especialmente humanas como puede ser resolver un problema
dado, practicar un deporte, entre otros.
El concepto de Inteligencia Artificial, también conocido por las siglas AI, se le debe al
informático estadounidense John McCarthy, quien en el año 1956 lo pronunció por primera
vez en una conferencia causando un gran impacto en el ámbito de la tecnología. A partir de
ese entonces, el concepto se diseminó fantásticamente por el mundo y por ello hoy es tan
común su uso cuando queremos referirnos a aquellas máquinas o aparatos dotados de una
inteligencia símil a la de los seres humanos. McCarthy además del concepto aportó
muchísimos conocimientos de vanguardia al campo de la inteligencia artificial. Podemos
entender una inteligencia artificial como aquellos algoritmos que se materializan en
programas informáticos que, a su vez, corren sobre un hardware determinado, y que
persiguen imitar el modo de funcionamiento del cerebro humano.
Básicamente, una inteligencia artificial, que actúa imitando lo que hace una mente humana,
debe ser capaz de “percatarse” de lo que pasa a su alrededor, procesar esa información, y
sacar conclusiones de ella, inferir nuevas conclusiones que no se le han reprogramado.
Hasta la fecha, los científicos que se dedican a este tema no han podido crear una
inteligencia artificial de tipo general, sino que han optado por inteligencias artificiales
especializadas.
Otro enfoque para acercarse al concepto de inteligencia artificial es el de las redes
neuronales, en el cual algoritmos y máquinas intentan simular el comportamiento de las
neuronas del cerebro humano.
Hoy en día estamos rodeados por sistemas inteligentes que heredan de este concepto de
inteligencia artificial, aunque sirvan para tareas muy concretas, pero que muchas veces no
nos percatamos de ellos; por ejemplo, el programa de área táctil en el cual escribir a mano
alzada en nuestros smartphones (es imposible que tenga programados todos los trazos para
crear todas las letras de todas las personas del mundo).
Otro ejemplo son los sistemas automatizados de atención telefónica que nos solicitan que
expliquemos nuestro problema, y que derivan nuestra llamada a uno u otro operario según
lo que les contemos.
A partir de los ejemplos que observamos, es importante destacar que nos podremos
encontrar con diversos tipos de inteligencia artificial, como ser:
sistemas que piensan como los seres humanos (se ocupan de imitar el pensamiento
humano, siendo un ejemplo las redes neuronales artificiales, que justamente imitan el
funcionamiento del sistema nervioso),
sistemas que actúan como los humanos (son aquellos que imitan el comportamiento del
hombre, el ejemplo más claro es el del robot),
sistemas que piensan de modo racional (se caracterizan por imitar el pensamiento lógico
de los humanos, es decir, en una cuestión concreta razonan como expertos.
Se los emplea especialmente a la hora de buscar mejoras en la calidad y en la rapidez de un
servicio) y sistemas que actúan de manera racional (imitan de manera racional el
comportamiento de una persona, siendo capaces de percibir el entorno y actuar en
consecuencia).
El séptimo arte es uno de los ámbitos que más ha abordado la cuestión de la IA en los
últimos años. Entre las producciones más recordadas está la de Steven Spielberg, titulada
justamente Inteligencia Artificial, que narra la historia de un robot que fue creado para
reemplazar a un niño y en ese comportamiento demuestra sentimientos típicamente de los
humanos.
La Inteligencia Artificial (I.A.) se puede definir como aquella “inteligencia” exhibida por
“científicos” o artefactos científicos construidos por humanos, o sea que dice que un
sistema artificial posee inteligencia cuando es capaz de llevar a cabo tareas que, si fuesen
realizadas por un humano, se diría de este que es inteligente. Dentro de las ciencias dela
computación, la rama de la I.A. se basa en intentar dotar al funcionamiento de las
aplicaciones informáticas de un comportamiento inteligente similar al humano para la toma
de decisiones.
La Inteligencia Artificial (IA) es la rama de las Ciencias de la Computación que estudia el
software y hardware necesarios para simular el comportamiento y comprensión humanos.
El objetivo último de la IA es simular la inteligencia humana en una máquina creando robots
que sean conscientes y con sentimientos reales, similares a los humanos. Uno de los
problemas más difíciles es la simulación de la conciencia, cualidad humana que hace que
nos demos cuenta de nuestra propia existencia.

Fundamentos
Para el desarrollo de la inteligencia Artificial hay algunas disciplinas que han contribuido con ideas,
puntos de vista y técnicas con el único objetivo de hacer avanzar la IA (Gráfico 1).
FILOSOFÍA (desde el año 428 a.C. hasta el presente). -
En esta disciplina muestra como los filósofos facilitaron el poder imaginar la inteligencia
artificial, al pensar que la mente funciona como una maquina a partir del conocimiento
codificado en un lenguaje interno, además al suponer que el pensamiento servía para
seleccionar la acción a llevar a cabo (Russell y Norvig, 2004).
Gráfico 2. Autores y acontecimientos de la Filosofía
MATEMÁTICAS (aproximadamente desde el año 800 al presente). -
Según Russell y Norvig (2004), los filósofos delimitaron las ideas más importantes de la IA,
puesto que para pasar a ser una ciencia se necesita una formulación matemática en
tres áreas la lógica, la complejidad y la probabilidad.
Gráfico 3. Acontecimientos más destacados de la matemáticas
ECONOMÍA (desde el año 1776 hasta el presente). -
La mayoría de las personas cree que la economía se trata solo de dinero, pero los
economistas realmente estudian cómo la gente toma decisiones que les llevan a obtener
los beneficios esperados. Por consiguiente, se podría afirmar que los bienes económicos
son condición necesaria pero no suficiente para que la persona alcance sus fines, como la
felicidad y la realización personal (Resico, 2011).
Esta disciplina se basa en las teorías de la toma de decisiones, la teoría de juegos y la
investigación operativa.
Gráfico 4. Acontecimientos importantes de la economía
NEUROCIENCIA (desde el año 1861 hasta el presente). -
Busca saber y entender cómo es que el cerebro puede procesar toda la información.

Gráfico 5. Principales autores teorías sobre neurociencia


Las neuronas son células que forman el cerebro humano y animal. Con un tamaño variable
y comprendido entre 3 y 1000 µ son células excitables al exhibir la propiedad de transmisión
de señales de una a otra (Gráfico 6). Una de las características es su organización,
diferenciado el soma, el axón y las dendritas de esta manera se puede considerar un modelo
general de neuronas incluyendo las características input y output (Lahoz, 2004).
Gráfico 6. Neurona y sus partes

PSICOLOGÍA (desde el año 1879 hasta el presente). -


Trata de entender cómo piensan y actúan las personas.

Gráfico 7. Acontecimientos más importantes de la Psicología

INGENIERÍA COMPUTACIONAL (desde el año 1940 Hasta el presente).-


Esta rama es la encargada del software y hardware. Para que la inteligencia artificial pueda
llegar a ser una realidad se necesitan dos cosas: inteligencia y un artefacto.

Gráfico 8. Principales acontecimientos de la ingeniería computacional

TEORÍA DE CONTROL Y CIBERNÉTICA (desde el año 1948 hasta el presente).-


se basa en la construcción de sistemas autónomos es decir sistemas que maximizan una
función objetivo en el tiempo.
Gráfico 9. Acontecimientos más importantes de la teoría de control y cibernética

LINGÜÍSTICA (desde el año 1957 hasta el presente). -


No es más que la representación del conocimiento en forma de gramática de la lengua. Uno
de los acontecimientos más destacados en esta disciplina fue en 1957, B. F. Skinner
publico la obra que presentaba una visión extensa y detallada desde el enfoque conductista
al aprendizaje del lenguaje, y estaba escrita por los expertos más destacados de este
campo (Russell y Norvig, 2004).
Historia.
Se considera que el origen de la IA se remonta a los intentos del hombre desde la
antigüedad por incrementar sus potencialidades físicas e intelectuales, creando artefactos
con automatismos y simulando la forma y las habilidades de los seres humanos. La primera
referencia escrita a un sistema artificial inteligente ocurre en la mitología griega. En ella se
atribuye a Hefestos, dios del fuego y las forjas, la fabricación de “dos sirvientes de oro
macizo y con inteligencia en su mente y capacidad de hablar”. En la Edad Media, San Alberto
Magno construye un “mayordomo “que abría la puerta y saludaba a los visitantes. Ya en la
edad moderna (s.XVII), los Droz, famosos relojeros de Centroeuropa, construyeron tres
androides: un niño que escribía, otro que dibujaba y una joven que tocaba el órgano y
simulaba respirar. Esta realización, basada en mecanismos de relojería, les costó ser
detenidos y encerrados por la Inquisición. En cuanto los avances del Siglo XIX y del Siglo XX,
hay que destacar los trabajos de Pascal, Leibnitz, Babbage y Boole. También es importante
la aportación deAda Lovelace, colaboradora de Charles Babbage y mujer de Lord Byron, que
en el conocido “régimen de Lovelace” establece lo siguiente: “las máquinas sólo pueden
hacer todo aquello que sepamos cómo ordenarles que hagan. Su misión es ayudar a facilitar
lo ya conocido”. Esto que está todavía vigente en la “informática convencional” fue
superado por los avances en IA. También cabe destacar y es revelador el hecho de que
varios de los padres indiscutibles de la ciencia de la computación, como son Turing [3],
Wiener [1] y Von Neumann [2], dedicaran un gran esfuerzo al estudio de la inteligencia
humana.
Si bien el origen inmediato del concepto y de los criterios de desarrollo de la IA se debe a
Alan Turing, el apelativo “Inteligencia Artificial” se debe a John McCarthy. McCarthy era uno
de los integrantes del “Grupo de Dartmouth” que se reunió en 1956 con fondos de la
Fundación Rockefeller para discutir la posibilidad de construir máquinas que no se limitaran
a hacer cálculos prefijados, sino operaciones “inteligentes”. Entre los integrantes de este
grupo estaban: Samuel, que había escrito un programa de juego de damas capaz de
aprender de su propia experiencia; el propio McCarthy, que estudiaba sistemas capaces de
efectuar razonamientos de sentido común; Minsky, que trabajaba sobre razonamientos
analógicos de geometría; Selfridge, que estudiaba el reconocimiento visual por
computador; Newell, Shaw y Simon, que habían construido un programa que pretendía la
demostración automática de teoremas; y algunos otros. A partir de este grupo inicial, se
formaron dos grandes “escuelas” de IA. Por un lado, Newell y Simon lideraron el grupo de
la Universidad de Carnegie-Mellon, proponiéndose desarrollar modelos de
comportamiento humano con aparatos cuya estructura se pareciese lomas posibles a la del
cerebro, lo que posteriormente derivó en la llamada postura “conexionista” y en los
trabajos sobre “Redes de Neuronas Artificiales” también llamadas “Sistemas
Conexionistas”. Por otro lado, McCarthy y Minsky formaron otro grupo en el mítico Instituto
Tecnológico de Massachusetts (MIT), centrándose en que los resultados del procesamiento
tuviesen el carácter de inteligente, sin preocuparse si el funcionamiento o la estructura de
los componentes eran parecidos o no a los del ser humano. Ambos enfoques sin embargo
corresponden a los mismos objetivos prioritarios de la IA: entender la inteligencia natural
humana, y usar máquinas inteligentes para adquirir conocimientos y resolver problemas
considerados como intelectualmente difíciles.
Sin embargo, en la IA “tradicional” (escuela del MIT), que tuvo mayor auge en los primeros
veinte años, los investigadores se encontraron con que sus sistemas sucumbían ante la
creciente longitud y complejidad de su programación. Stewart Wilson, investigador del
Instituto Roland(Massachusetts), se dio cuenta de que algo andaba mal en el campo de la
IA “tradicional” y, preguntándose cuáles eran las raíces de la inteligencia, se convenció de
que la mejor manera de comprender cómo funciona algo en un ser humano, es
comprenderlo primero en un anima1 más simple. Teniendo en cuenta que, en última
instancia, la IA intentaba conseguir una réplica dela inteligencia humana, Wilson decidió
que lo primero que había que hacer era replicar la inteligencia animal. Se trataba de una
idea que nunca había tenido mucha popularidad entre los investigadores de IA, pero él y
otros investigadores pronto la transformaron en un primer principio informal de un nuevo
enfoque de ésta, basado en la naturaleza.
Técnicas de IA.

Las más destacadas aplicadas al campo de la gestión financiera empresarial son:

Estas técnicas pueden combinarse para obtener una solución más adecuada del problema
en estudio.

 SISTEMAS EXPERTOS

Los sistemas expertos se constituyen en la herramienta de la Inteligencia artificial


más utilizada desde sus inicios y corresponden a programas de ordenador que recopilan en
un programa informático el conocimiento de especialistas en una materia.

Componentes:

Base de Conocimiento (contiene el conocimiento y las experiencias de los expertos en un


determinado dominio representado por medio de símbolos).

Motor de inferencia (es el mecanismo que obtienen las conclusiones de la base de


conocimiento mediante procesos de búsqueda).

Estas dos partes esenciales en el diseño de un sistema experto se interrelacionan entre sí


para obtenerlas conclusiones necesarias en la resolución del problema en estudio logrando
que el sistema experto diseñado pueda emular el comportamiento del experto en ese
dominio específico.
Los sistemas expertos o inteligentes cuentan con una serie de características con el objetivo
de ofrecer asesoramiento inteligente o tomar una decisión inteligente en algún aspecto
empresarial (Sánchez Tomás, 1991):

Los sistemas expertos pueden resolver problemas difíciles tan bien como los expertos
humanos.

Pueden razonar heurísticamente, usando lo que los expertos consideran Que son reglas (IF-
THEN) efectivas, e interactúan con los humanos de forma adecuada, incluyendo el lenguaje
natural.

Manipulan y razonan sobre descripciones simbólicas.

Pueden funcionar con datos que contienen errores, usando reglas inciertas.

Pueden explicar por qué están formulando una pregunta.

Pueden explicar su proceso de razonamiento y justificar sus conclusiones, a partir de


premisas correctas.

El ámbito de aplicación en la gestión empresarial de esta técnica de la Inteligencia artificial


se centra generalmente en la creación de sistemas inteligentes. Estos sistemas están
diseñados para servir de soporte a los complejos análisis que se requieren en el
descubrimiento de las tendencias del negocio, con el fin de tomar decisiones eficientes y
oportunas.

Esto le permite a quienes toman decisiones afrontar los retos del nuevo mundo empresarial
en el cual el conocimiento aparece como el factor esencial para el desarrollo de las
organizaciones.

Algunas de las áreas de aplicación de los sistemas expertos en la gestión empresarial que se
advierten son las siguientes:

• Planeación corporativa financiera

• Análisis de inversiones

• Análisis de estados financieros

• Análisis de tendencias

• Recuperación y revisión analítica de registros

• Cálculo y asignación de costos


•Asignación de recursos escasos

•Control y análisis de desviaciones

• Diseño de sistemas de información y de gestión

• Análisis de riesgos

• Evaluación del control interno de una empresa

• Opinión de un auditor, etc.

REDES NEURONALES

Movimiento que sostenía la premisa de que el secreto para el aprendizaje y el conocimiento


se halla en axiomas o verdades incuestionables y que el conocimiento es independiente de
la estructura que maneje los símbolos, y la representación del conocimiento se hace desde
el estrato más básico de la inteligencia: el cerebro especialmente en las neuronas y las
múltiples interconexiones entre ellas.

Las redes neuronales artificiales se constituyen en una técnica de procesamiento masivo y


paralelo de la información que emula las características esenciales de la estructura neuronal
del cerebro biológico.

A pesar de las limitaciones de las redes neuronales artificiales en cuanto a representar todas
las características del cerebro humano tales como:

La habilidad para desarrollar el aprendizaje adaptativo, la auto-organización, la tolerancia a


fallos, las operaciones en tiempo real y otras cualidades; estas redes se constituyen en una
herramienta tecnológica potente para el procesamiento de la información cuyos resultados
permiten tomar decisiones eficientes y oportunas.

Arquitecturas de las Redes Neuronales

Una Red neuronal artificial está formada por un conjunto de neuronas interconectadas y
arregladas en forma de capas, las cuales están compuestas a su vez por un número de
neuronas cada una. Existen capas de entrada (por donde se ingresan los datos), capas de
salida (por donde se obtienen los resultados) y las capas ocultas (por donde pasan los
datos).

Teniendo en cuenta lo anterior, podemos decir que la arquitectura de las redes neuronales
artificiales se basa en la organización y disposición de las neuronas formando capas más o
menos alejadas de la entrada y salida de la red. En este sentido, los parámetros
fundamentales de la red son: el número de capas, el número de neuronas por capa, el grado
de conectividad y el tipo de conexiones entre neuronas.

Hay varias arquitecturas de redes y las más comunes son las siguientes:

 Redes Neuronales por capas

Esta estructura de red está compuesta por capas de neuronas y cada capa recibe señales de
las capas previas, por lo cual este tipo de redes se denominan redes feed-forward o
perceptor siendo el perceptor multicapa el más común. Este tipo de red se caracteriza
porque las neuronas se agrupan en diferentes niveles (capa de entrada, capas ocultas y
capas de salida).

Las neuronas se encargan de recibir señales del exterior y trasmitirlas a las siguientes capas,
la última capa actúa como salida de la red proporcionando la respuesta de la red para cada
uno de los patrones de entrada. Usualmente este tipo de red es usado en problemas de
reconocimiento o clasificación de patrones.

 Redes neuronales Recurrentes

En este tipo de red cada neurona se conecta a todas las neuronas de la red, incluso consigo
misma, lo que significa que se tienen bucles en la arquitectura de la red. Esta clase de red
se caracteriza por su dinámica debido a que la red evoluciona de un estado a otro. La red
es estable cuando su estado permanece igual tras varias iteraciones, las llamadas redes de
Hopfield ilustran esta clasificación, las cuales se utilizan por lo general en tareas
relacionadas con la auto asociación.

 Redes con Aprendizaje Supervisado

El proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente


externo (supervisor, maestro) que determina la respuesta que debería generar la red a
partir de una entrada determinada. El supervisor comprueba la salida de la red y en el caso
de que ésta no coincida con la deseada, se procederá a modificar los pesos de las
conexiones, con el fin de conseguir que la salida se aproxime a la deseada.

 Redes con Aprendizaje No Supervisado

Estas redes no requieren influencia externa para ajustar los pesos de las conexiones entre
neuronas. La red no recibe ninguna información por parte del entorno que le indique si la
salida generada es o no correcta, así que existen varias posibilidades en cuanto a la
interpretación de la salida de estas redes
ALGORITMOS GENÉTICOS

Los algoritmos genéticos son el resultado de los recientes avances de la computación


evolutiva y la genética y se constituyen en una de las principales herramientas tecnológicas
de la inteligencia artificial. Estos algoritmos simulan la mecánica de la selección natural y de
la genética utilizando la información histórica para encontrar nuevos puntos de búsqueda
de una solución óptima, permitiendo obtener soluciones a un problema que por su
complejidad no tiene ningún método de solución de forma preciso.

Dicha solución exige cálculos complejos que de manera normal tomarían demasiado
tiempo. La configuración básica de un algoritmo genético es la siguiente:

Una representación, en términos de "cromosoma", de las configuraciones de nuestro


problema.

Una manera de crear las configuraciones de la población inicial.

Una función de evaluación que permite ordenarlos cromosomas de acuerdo con la función
objetivo.

Operadores "genéticos" que permiten alterar la composición de los nuevos cromosomas


generados por los padres durante la reproducción.

Valores de los parámetros que el algoritmo genético usa (tamaño de la población,


probabilidades asociadas con la aplicación de los operadores genéticos, etc)

Las principales aplicaciones de los algoritmos genéticos en el campo de la gestión financiera


empresarial son: La predicción de la bancarrota de una empresa; evaluación y predicción
de la capacidad financiera de una empresa para absorber un préstamo y con el fin de decidir
el otorgamiento del mismo, la inferencia de reglas que indiquen las mejores decisiones
sobre la asignación de recursos con base en información histórica de varios años.

Generalmente, los algoritmos genéticos se emplean con bastante éxito en la investigación


de operaciones para resolver problemas de optimización numérica y combinatoria.

En conclusión, se puede afirmar que, en la búsqueda de soluciones óptimas, es importante


combinar las ventajas de las redes neuronales con los algoritmos genéticos en una
aproximación híbrida, esto con el fin de diseñar estructuras de redes neuronales óptimas.
El objetivo es reducir la complejidad computacional y el tiempo requerido para diseñar una
red neuronal.

LOGICA DIFUSA
La lógica difusa es una de las disciplinas matemáticas que cuenta con mayor número de
seguidores en la actualidad y un número creciente de aplicaciones entre las cuales podemos
mencionar:

La lógica difusa se funda en el concepto de que todo es cuestión de grado, lo cual permite
manejar información vaga o de difícil especificación, importante para la resolución de un
problema, por medio de una serie de reglas de "sentido común" aprendidas con sistemas
adaptativos que se nutren de la observación de las personas o de la formulación por parte
del experto humano.

El aspecto central de las técnicas de lógica difusa es que, a diferencia de la lógica clásica, la
lógica difusa tiene la capacidad de reproducir de manera aceptable y eficiente los modos
usuales del razonamiento humano, al considerar que la certeza de una proposición es una
cuestión de grado por esta razón parte de la base del razonamiento aproximado y no del
razonamiento preciso como lo hace la lógica clásica.

De esta forma las características más importantes de la lógica difusa son:

• La flexibilidad, la tolerancia con la imprecisión, la capacidad para moldear problemas no-


lineales y

• Su fundamento en el lenguaje des sentido común.

En el campo de las empresas la teoría sobre la borrosidad se ha extendido en general a


todas las áreas de decisión en las que se manejan estimaciones subjetivas basadas en la
información disponible y en su propia experiencia tales como: modelos de decisión
utilizados con criterios de optimización, modelo de producción, inventario, seguro de vida,
localización de plantas industriales, selección de carteras, estrategia de entrada a mercados
extranjeros, valoración de intangibles en empresas de Internet, etc.

Asimismo, la utilización de las técnicas de lógica difusa es aconsejable para resolver


procesos muy complejos, es decir, cuando se carece de un modelo matemático simple o
para procesos altamente no lineales, o si el procesamiento del conocimiento experto
(lingüísticamente formulado) puede ser desempeñado.

Unidad 2.
Resolución de problemas mediante búsquedas (métodos de búsqueda, juegos,
algoritmos genéticos).
Introducción a los métodos heurísticos de búsqueda.
En Inteligencia Artificial (IA), heurística se describe mejor como un método de búsqueda. La
búsqueda heurística consiste en añadir información, basándose en el espacio estudiado hasta ese
momento, de forma que se restringe drásticamente esa búsqueda.
Las heurísticas son formalizadas como reglas para elegir (buscar) las ramas en el espacio de estado
que son más probables de llegar a una solución aceptable del problema.

En IA se emplean heurísticas en dos casos:

 Un problema puede no contar con solución exacta debido a ambigüedades inherentes en el


problema o datos disponibles.
o Diagnóstico médico.
 Un problema puede tener solución exacta, pero el costo computacional por encontrarla
puede ser prohibitivo.
o Juego de ajedrez.

Los métodos de búsqueda:

 Atacan la complejidad guiando la búsqueda por los caminos más prometedores en el


espacio de búsqueda.
 Eliminan estados no prometedores y sus descendientes.
 Encuentra soluciones aceptables.

Espacio de estado.
Muchos de los problemas que pueden ser resueltos aplicando técnicas de inteligencia artificial se
modelan en forma simbólica y discreta definiendo las configuraciones posibles del universo
estudiado.

Los ejemplos más característicos de esta categoría son los juegos (universos fáciles de modelar). En
un juego, las configuraciones del universo corresponden directamente a las configuraciones del
tablero. Cada configuración es un estado que puede ser esquematizado gráficamente y
representado en forma simbólica. Las transformaciones permitidas corresponden a las reglas o
movidas del juego, formalizadas como transiciones de estado.

Para plantear formalmente un problema, se requiere precisar una representación simbólica de los
estados y definir reglas del tipo condición-acción para cada una de las transiciones válidas dentro
del universo modelado.

 La acción de una regla indica como modificar el estado actual para generar el nuevo estado.
 La condición impone restricciones sobre la aplicabilidad de la regla según el estado actual,
el estado generado completa el proceso de solución.

El espacio de estados de un juego es un grafo cuyos nodos representan las configuraciones


alcanzables (los estados válidos) y cuyos arcos explican las movidas posibles (transiciones de
estado).

En principio, se pueden generar cualquier espacio de estados partiendo del estado inicial, aplicando
cada una de las reglas para generar los sucesores inmediatos, y así sucesivamente con cada uno de
los nuevos estados generados.
Árbol de búsqueda.
Es un método de búsqueda simple, dinámico y eficiente considerado como uno de los
fundamentales en Ciencias de la Computación. De toda la terminología sobre árboles, tan solo
recordar que la propiedad que define un árbol es que cada nodo tiene a lo más un hijo a la izquierda
y uno a la derecha.

Árbol de búsqueda / Grafo explícito.

 Debido a la complejidad exponencial del grafo implícito, se irá generando, paso a paso una
porción del grafo conforma avance el proceso de búsqueda.
 El grafo explícito es el subgrafo del grafo implícito que se va generando durante el proceso
de búsqueda de una secuencia de operadores que resuelva nuestro problema.
 Usualmente, en forma de árbol, de ahí su nombre.

Esa formado de:

 Nodo raíz. Estado inicial.


 Hijos de un nodo: posibles sucesores (nodos correspondientes a estados resultantes de la
aplicación de un operador al nodo padre).
 Lo nodos del árbol representan estados, pero corresponde a planes mediante los cuales se
alcanzan dichos estados.

Condiciones de parada:

 Se ha encontrado la solución.
 Se ha acabado el tiempo disponible.
 Se ha llegado a un nivel de profundidad determinado.

Esquemas de búsqueda.
Las técnicas de búsqueda son una serie de esquemas de representación de conocimiento, que
mediante diversos algoritmos nos permite resolver ciertos problemas desde el punto de vista de la
IA:

Elementos de la búsqueda:

 Conjunto de estado: todas las configuraciones posibles en el dominio.


 Estados iniciales: estados desde los que partimos.
 Estados finales: las soluciones del problema.
 Operadores: se aplican para pasar de un estado a otro.

Búsqueda ciega.

Sólo utiliza información acerca de si un estado es o no objetivo para guiar su proceso de búsqueda.

 Expandir nodo: obtener los posibles hijos de un nodo a partir de la aplicación de los distintos
operadores sobre él.
 Nodo cerrado: se han aplicado todos los posibles operadores sobre él, obteniendo todos
sus posibles hijos.
Tipos de búsqueda ciega.

 Búsqueda en amplitud.
o Procedimientos de búsqueda nivel a nivel.
o Para cada uno de los nodos de un nivel se aplican todos los posibles operadores.
o No se expande ningún nodo de un nivel antes de haber expandido todos lo del nivel
anterior.
o Estructura FIFO.
 Búsqueda en profundidad.
o La búsqueda se realiza por una sola rama del árbol hasta encontrar una solución.
o Terminar la búsqueda por una dirección se debe a no haber posibles operadores
que aplicar sobre el nodo hoja o haber alcanzado un nivel de profundidad muy
grande.
o Si eso ocurre se produce una vuelta atrás, y se sigue por otra rama hasta visitar
todas las ramas del árbol si es necesario.
 Búsqueda bidireccional.
o Se llevan a la vez dos búsquedas: una descendente desde el nodo inicial y otra desde
el nodo meta.
o Al menos una de estas dos búsquedas debe ser en anchura para que el recorrido
ascendente y descendente puedan encontrarse en algún momento.

Funciones heurísticas.
Una función heurística es una función que hace corresponder situaciones del problema con
números. Es decir, ofrece una medida conceptual de la distancia entre un estado dado y el estado
objetivo.

En general depende de la descripción de n (la descripción del objetivo, la información obtenida hasta
ese punto de la búsqueda y cualquier conocimiento extra sobre el dominio del problema).

El proceso de construcción de funciones heurísticas bien puede ser considerado un proceso de


descubrimiento, pues es muy difícil articular el mecanismo por el cual se llega a estas funciones.

Una función heurística es denotada como h(n) que significa coste estimado más barato desde el
nodo n hasta el nodo objetivo, por ejemplo, para la búsqueda voraz primero el mejor la función
heurística es f(n) = h(n) mientras que para la búsqueda A* la función es f(n) = g(n) + h(n).

La evaluación de la función en general no debe de requerir un gran cálculo en su aplicación. Si la


evaluación e la función es computacionalmente compleja puede ser más eficiente hacer una
búsqueda a ciegas en lugar de gastar recursos (tiempo y memoria) en el cálculo de la función.

Búsqueda costo uniforme.


Es una modificación al algoritmo “Búsqueda primero en anchura”.

Este tipo de algoritmos suelen usarse en problemas donde el objetivo es encontrar el camino que
minimice o maximice alguna de las propiedades del sistema estudiado.
Para que pueda aplicarse debe poder modelarse mediante un árbol o grafo, de forma que la
magnitud de la propiedad estudiada sea función de los nodos recorridos.

La idea del algoritmo consiste en ir explorando todos los caminos más cortos que parten de vértice
origen y que llevan a todos lo demás vértices, enumerando todos los nodos del espacio de estado
por costes (valores g) crecientes; cuando se obtiene el camino más corto desde el vértice origen, a
la estación destino, el algoritmo se detiene.

Pseudocódigo:

nodo_inicial = estado_inicial
nodosFrontera = cola de prioridad
nodos_visitados = lista
almacenar nodo_inicial en nodosFrontera

Mientras nodos_frontera no vacío


ordenar la lista de los nodosFrontera según coste
nodo_actual = extraer el primer nodo de nodosFrontera
si nodo_actual = solución
salir con solución

Introducir nodo_actual en nodos_visitados por cada operador:


nodo_hijo = operador(nodo_actual)
si nodo_hijo no en nodos_vsitados:
si coste de nodo_hijo < nodo en nodosFrontera:
si no
introducir nodo_hijo en nodosFrontera

Búsqueda primero el mejor.


La búsqueda primero el mejor trata de expandir el nodo más cercano al objetivo, alegando que
probablemente conduzca rápidamente a una solución. Esta técnica de búsqueda pertenece a las
estrategias de búsqueda informada, ya que utilizan conocimiento específico del problema más allá
de la definición de problema en sí mismo, por lo que puede encontrar soluciones de manera más
eficiente que una estrategia de búsqueda no informada.

La búsqueda voraz primero el mejor se parece a la búsqueda primero en profundidad en el modo


que prefiere seguir un camino hacia el objetivo, pero volverá atrás cuando llegue a un callejón sin
salida.

La búsqueda primero el mejor selecciona un nodo para la expansión basada en una función de
evaluación. Tradicionalmente, se selecciona en la expansión el nodo con la evaluación más baja,
porque la evaluación mide la distancia al objetivo. Puede implementarse con una estructura de
datos de tipo cola con prioridad, ordenados por su valor de evaluación en orden ascendente.
Si la función de evaluación es exacta, entonces de verdad sería el mejor nodo; en realidad, la función
de evaluación no será así, y puede dirigir la búsqueda por mal camino. Las funciones heurísticas son
la forma más común de transmitir conocimiento adicional del problema al algoritmo de búsqueda.

Una desventaja de esta estrategia de búsqueda es que puede caer en ciclos infinitos. Si no somos
cuidadosos en encontrar los estados repetidos, la solución nunca será encontrada.

Búsqueda A*.
Se clasifica dentro de los algoritmos de búsqueda de grafos. Su función es encontrar siempre y
cuando se cumplan determinadas condiciones, el camino de menor costo entre el nodo origen y uno
objetivo, es la forma más ampliamente conocida de la búsqueda primero el mejor, siendo la
búsqueda A* tanto completa como óptima.

Características principales:

 Como todo algoritmo de búsqueda en anchura, A* es un algoritmo completo: en caso de


existir una solución, siempre dará con ella.
 Para garantizar la optimización del algoritmo, la función h(n) debe ser admisible, o sea que
no sobreestime el coste real de alcanzar el nodo objetivo.
 El rendimiento depende de la calidad de la función heurística.

Este algoritmo utiliza una función de evaluación f(n) = g(n) + h’(n), donde h’(n) representa el valor
heurístico del nodo a evaluar desde el actual, n, hasta el final, y g(n), el costo real del camino
recorrido para llegar a dicho nodo, n. A* mantiene dos estructuras de datos auxiliares, que podemos
denominar abiertos, implementado como una cola de prioridad ordenada por el valor f(n) de cada
nodo, y cerrados, donde se guarda la información de los nodos que ya se han visitado.

En cada paso del algoritmo, se expande el nodo que esté primero en abiertos, y en caso de que no
sea un nodo objetivo, calcula la f(n) de todos sus hijos, los inserta en abiertos, y pasa el nodo
evaluado a cerrado.

El algoritmo es una combinación entre búsquedas de tipo primero en anchura con primero en
profundidad: mientras que h’(n) tiende a primero en profundidad, g(n) tiende primero en anchura.
De este modo, se cambia de camino de búsqueda cada vez que existe nodos más prometedores.

Juegos.
Problema de 8-puzzle

Es un recuadro dividido en 9 celdas, cada una de las cuales, excepto una, contiene una ficha
cuadrada. Entre tolas las fichas componen un dibujo. El objetivo el juego es, dada cualquier situación
en que las fichas están desordenadas, buscar como volver a colocarlas.

5 4 7 1 2 3
Dado 1 6 Encontrar 8 4
3 8 2 7 6 5

Este problema tiene dos restricciones:


 Solo podemos mover una ficha a una casilla adyacente (distancia 1).
 Solo podemos mover si la casilla está vacía.

Podríamos elegir el número de piezas descolocadas en cada momento: es una mala elección, pues
es demasiado simple. Algo más elaborado sería mediante la suma de las distancias horizontales y
verticales en su posición correcta de cada una de las piezas.

Búsqueda minimax.
El algoritmo Minimax es el algoritmo más conocido (y utilizado) para problemas con exactamente 2
adversarios, movimientos alternos (ahora tu ahora yo), e información perfecta.

 Algoritmo de decisión para minimizar la pérdida máxima aplicada en juegos de adversarios.


 Información completa (cada jugador conoce el estado del otro).
 Elección del mejor movimiento para cada jugador, suponiendo que el contrincante escogerá
el peor.
 El espacio de estados se representa mediante árboles alternados, donde:
o Nodo: representa una situación del juego.
o Sucesores de un nodo: situaciones del juego a las que se accede por movimientos
legales aplicando reglas.
o Nivel: contiene todas las situaciones posibles para uno de los jugadores.

El algoritmo Minimax es un procedimiento recursivo y el corte de la recursión está dada por alguna
de las siguientes condiciones:

 Gana algún jugador.


 Se han explorado N capas, siendo N el límite establecido.
 Se ha llegado a una situación estática donde no hay grandes cambios de un nivel a otro.

Búsqueda poda alfa-beta.


Un punto clave que debemos de tener en cuenta es que cuando más profunda sea la exploración,
mejor podremos tomar la decisión sobre qué jugada debemos escoger.

Para juegos de un factor de ramificación elevado, esta profundidad no podrá ser muy grande, ya
que el cálculo necesario para cada decisión será prohibitivo.

Para reducir este tiempo se han estudiado los árboles de búsqueda, y se ha llegado a la conclusión
de que es muy factible user heurísticos con poda. En otras palabras, usaremos una técnica de
ramificación y poda (branch and bound) con la cual una solución parcial se abandonará cuando se
compruebe que es peor que otra solución ya conocida.

La estrategia denominada alfa-beta aprovecha que el algoritmo de Minimax hace una exploración
en profundidad para guardar información sobre cuál es el valor de las mejores jugadas encontrada
para cada jugador.

Concretamente guardara dos valores, denominados umbrales alfa y beta.


El valor alfa representa la cota inferior del valor que puede asignarse en último término de un nodo
maximizan te, y análogamente el valor beta representa la cota superior del valor que puede
asignarse como última opción de un nodo minimizan te.

De esta manera el algoritmo podrá acotar el valor de una exploración, pues gracias a los umbrales
alfa y beta conocerá si vale la pena explorar un camino o no.

Búsqueda AO*.
Primera de las variantes de la búsqueda de A* en la que se combina con árboles YO para intentar
reducir la complejidad de la búsqueda, aunque sólo se podrá aplicar a problemas que admitan la
descomposición de tareas en subproblemas. La combinación de las soluciones parciales se podrá
combinar entonces para obtener una solución global.

Árboles YO.

Algunos problemas se pueden dividir en subproblemas, de forma que al combinar sus soluciones
parciales se llegan a la solución final.

2 tipos de nodos:

 Nodos O: alternativas.
 Nodos Y: subproblemas.

La búsqueda AO* usa árboles YO. En cada nodo se decide si se va a resolver mediante exploración
(nodos O) o mediante descomposición del problema (nodos Y) y combinando al final los resultados
parciales.

Cada nodo representa un problema o tarea que hay que resolver. En ocasiones, un problema puede
ser dividido en varios subproblemas. La unión de las soluciones a los subproblemas puede servir
para encontrar la solución al problema inicial.

Consecuencia de esto es que ahora no buscamos un camino óptimo, sino que buscamos el grafo
óptimo que nos de la solución (uno o varios estados meta). Este precisamente es el objetivo del
algoritmo AO*.

Al igual que en A* decíamos que si h(n) era admisible y monótono, entonces el algoritmo encontraba
el camino óptimo a la meta, en AO* decimos que si h(n) es admisibles y monótona, entonces el
algoritmo encontrará el grafo óptimo solución.
Unidad 3.
Formalización del razonamiento – Símbolo deductivo (lógica proposicional, de
predicados y difusa).
Lógica deductiva y silogismos
El razonamiento deductivo parte de categorías generales para hacer afirmaciones sobre
casos particulares. Va de lo general a lo particular. Es una forma de razonamiento donde
se infiere una conclusión a partir de una o varias premisas.

Ejemplos de razonamiento deductivo

1. Premisa mayor: Los seres humanos tienen dos manos y dos pies.

Premisa menor: John es un ser humano.

Conclusión: John tiene dos manos y dos pies.

2. Premisa mayor: Todos los miércoles John sale 10 minutos antes de su trabajo.

Premisa menor: Hoy es miércoles.

Conclusión: Hoy John saldrá 10 minutos antes de su trabajo.

3. Premisa mayor: Toda planta nace, se reproduce y muere.

Premisa menor: Toda rosa es planta.

Conclusión: Toda rosa nace, se reproduce y muere.

4. Premisa mayor: Todos los hijos de John y Jane tienen ojos color marrón.

Premisa menor: Julia es hija de John y Jane.

Conclusión: Julia tiene los ojos color marrón.

5. Premisa mayor: Las galletas tardan 45 minutos en hornearse.

Premisa menor: Son las 3:00 pm y Marta mete las galletas al horno.

Conclusión: Las galletas estarán listas a las 3:45


Ejemplos de situaciones muy simples

. Si ves que alguien está dando respiración de boca a boca, piensas que tiene una
formación de primeros auxilios.

. Si sientes olor a comida, deduces que cerca, están cocinando.

. Si oyes la sirena de los bomberos, concluyes que van a apagar un incendio.

Reglas del silogismo:

1. Todo silogismo no debe poseer más de tres términos (mayor, medio y menor)

2. Para que ejerza plenamente su función mediadora, el término medio debe ser tomado
en toda su extensión al menos en una de las premisas.

3. Los términos de la conclusión, no deben tener una extensión mayor a las premisas.

Inferencia y deducción
Inferir es concluir o decidir a partir de algo conocido o asumido; llegar a una conclusión. A
su vez, razonar es pensar coherente y lógicamente; establecer inferencias o conclusiones
a partir de hechos conocidos o asumidos.
El proceso de razonamiento, por lo tanto, involucra la realización de inferencias, a partir
de hechos conocidos. Realizar inferencias significa derivar nuevos hechos a partir de un
conjunto de hechos conocidos como verdaderos. La lógica de predicados proporciona un
grupo de reglas sólidas, con las cuales se pueden realizar inferencias.
Las principales Reglas de Inferencia son:
Modus ponens. - Es la más importante, en los sistemas basados en conocimiento.
Establece que:
Si las sentencias p y (p -> q) se conocen que son verdaderas, entonces se puede inferir
que q también es verdadera.
Modus tolens. - Esta regla establece que:
Si la sentencia (p -> q) es verdadera y q es falsa, entonces se puede inferir que p también
es falsa.
Resolución. - Utiliza refutación para comprobar una determinada sentencia. La refutación
intenta crear una contradicción con la negación de la sentencia original, demostrando, por
lo tanto, que la sentencia original es verdadera. La resolución es una técnica poderosa
para probar teoremas en lógica y constituye la técnica básica de inferencia en PROLOG,
un lenguaje que manipula en forma computacional la lógica de predicados. La regla de
resolución, establece que:
Si (A B) es verdadero y (~B  C) es verdadero,
entonces (A  C) también es verdadero

En lógica de predicados, existen tres métodos básicos de razonamiento: deductivo,


abductivo e inductivo.

Deducción. - Es el razonamiento a partir de un principio conocido hacia un desconocido;


de lo general, a lo específico, o de la premisa a la conclusión lógica. La deducción realiza
inferencias lógicamente correctas. Esto significa que la deducción a partir de premisas
verdaderas, garantiza el resultado de conclusiones también verdaderas.
La deducción es el método más ampliamente comprendido, aceptado y reconocido de
los tres indicados. Es la base tanto de la lógica proposicional, como de la lógica de
predicados. A manera de ejemplo, el método deductivo, se puede expresar, utilizando
lógica de predicados, como sigue:  A,  B,  C, [mayor (A, B)  mayor (B, C)  mayor (A,
C)]

Abducción. - Es un método de razonamiento comúnmente utilizado para generar


explicaciones. A diferencia de la inducción, la abducción no garantiza que se puedan
lograr conclusiones verdaderas, por lo tanto, no es un método sólido de inferencia. La
forma que tiene la abducción es la siguiente:
Si la sentencia (A  B) es verdadera y B es verdadera, entonces A es posiblemente
verdadera. En abducción, se empieza por una conclusión y se procede a derivar las
condiciones que podrían hacer a esta conclusión válida. En otras palabras, se trata de
encontrar una explicación para la conclusión.
Inducción. - Se define como el razonamiento a partir de hechos particulares o casos
individuales, para llegar a una conclusión general. El método inductivo es la base de la
investigación científica. La forma más común del método inductivo es la siguiente:
Si se conoce que P(a), P(b), ......, P(n) son verdaderos, entonces se puede concluir que 
X, P(X) es también verdadero. La inducción es una forma de inferencia muy importante ya
que el aprendizaje, la adquisición de conocimiento y el descubrimiento están basados en
ella. Al igual que la abducción, la inducción no es un método sólido de inferencia.
El razonamiento deductivo es una forma monotónica de razonar que produce argumentos
que preservan la verdad. En un sistema monotónico todos los axiomas utilizados se
conocen como verdaderos por sus propios méritos, o pueden ser derivados de otros
hechos conocidos como verdaderos. Los axiomas no pueden cambiar, ya que una vez
que se los conoce como verdaderos, siempre permanecen así y no pueden ser
modificados o retractados. Esto significa que en el razonamiento monotónico el conjunto
de axiomas continuamente crece en tamaño.
Otro aspecto del razonamiento monotónico es que, si más de una inferencia lógica puede
ser hecha a un tiempo específico y una de ellas se realiza, las inferencias que quedan
serán todavía aplicables después que dicha inferencia haya sido hecha.

Resolución en lógica proposicional y de predicados.


Lógica Proposicional

Permite expresar y razonar con declaraciones que son o verdaderas o falsas Ejemplos:

• la clase de IA es lo mejor que me ha pasado en mi vida

• lógica es fácil

Este tipo de declaraciones se llaman proposiciones y se denotan en lógica proposicional con letras
mayúsculas (v.g., P, Q, …) Lógica Proposicional P's y Q's también se llaman proposiciones atómicas
o átomos

Los átomos se pueden combinar con conectores lógicos (dando proposiciones compuestas)

 negación: ~, ¬
 conjunción: &, ∧
 disyunción: ∨
 implicación: ⊃, →
 doble implicación: ↔

Por ejemplo,

G = “esto ya lo vi”

D = “me estoy aburriendo”

G ∧ D = “esto ya lo vi” Y “me estoy aburriendo”

Sólo algunas combinaciones de átomos y conectores son permitidas: fórmulas bien formadas (wƒƒ)

Una wƒƒ en lógica proposicional es una expresión que puede ser de la siguiente forma:

1. Un átomo es un wƒƒ

2. Si F es wƒƒ entonces ¬F también lo es

3. Si F y G son wƒƒ entonces:

F ∧ G, F ∨ G, F → G y F ↔ G son wƒƒ

4. Ninguna otra fórmula es wƒƒ

Por ejemplo: F ∨ (G →H) y F ∧ ¬ G son wƒƒ, mientras que: → H y ∧ G no lo son. wƒƒ es sólo sintaxis,
no dice si la fórmula es verdadera o falsa (i.e., no dice nada de su semántica)

El significado de una fórmula proposicional se puede expresar por medio de una función:
w: prop → {verdadero (true), falso (false)}

La función w es una función de interpretación que satisface:

w (¬ F) = true si w(F) = false

w (¬ F) = false si w(F) = true

Si w es una interpretación que asigna a una fórmula dada el valor de verdad (true), entonces w se
dice ser un modelo de F. Una fórmula se dice válida si es verdadera bajo cualquier interpretación
(tautología) Por ejemplo: P V¬ P ((P → Q) ∧ P) → Q

Una fórmula es inválida si no es válida Una fórmula es insatisfascible o inconsistente si es falsa


bajo cualquier interpretación (contradicción) sino, es satisfascible o consistente, e.g.: Por ejemplo:
P ∧ ¬P y (P→Q) ∧ (P ∧ ¬ Q) son insatisfascibles. Una fórmula es válida cuando su negación es
insatisfascible y viceversa

Dos fórmulas F y G son equivalentes (F ≡ G) si los valores de verdad de F y G son iguales bajo
cualquier interpretación.

Existen muchas leyes de equivalencias, por ejemplo: F → G ≡ ¬ F ∨ G


Una fórmula G se dice que es una consecuencia lógica de un conjunto de fórmulas:

𝐹 = {𝐹1 … , 𝐹𝑛 } denotado por F |=G

sí para cada interpretación w para la cual w (𝐹1 ∧ 𝐹2 ∧... 𝐹𝑛 ) = true

entonces w(G) = true

Lógica de predicados

En lógica proposicional los átomos son los constituyentes de las fórmulas y son: verdaderos o
falsos

Limitación: no puede expresar propiedades generales de casos similares.

Por ejemplo, “todos los alumnos de I.A. se están durmiendo”

Símbolos:

• Símbolos de predicados (mayúsculas) asociados con su aridad (N) o número de argumentos (Si
aridad = 0 ⇒ proposiciones (átomos))

• Variables: minúsculas (x,y,z)

• Símbolos funcionales: minúsculas asociadas con su número de argumentos (funciones con aridad
= 0 ⇒ constantes)

• Conectores lógicos

• Cuantificadores: universal (para toda x) ∀x y existencial (existe una x) ∃x

• Símbolos auxiliares '(', ')', ','.

Un término es: una constante, variable o una función de términos Una fórmula atómica o átomo
es un predicado de N términos.

Una fórmula bien formada (wƒƒ) en lógica de predicados es:

• un átomo

• si F es wƒƒ entonces ¬F también lo es

• Si F y G son wƒƒ, F ∧ G, F ∨G, F →G, F ↔ G son wƒƒ

• Si F es wƒƒ y x es una variable libre en F, entonces ∀x F y ∃ x F son wƒƒ (la variable x se dice
acotada o “bounded”)

• ninguna otra fórmula es wƒƒ

Ejemplo: ∀x F(x) --> G(x)

Semántica

En lógica de primer orden se asocia una estructura representando la “realidad” (básicamente el


dominio)
La estructura S tiene:

• un conjunto no vacío de elementos D, llamados el dominio de S

• un conjunto de funciones de aridad n definidas en 𝐷 𝑛 , {𝑓𝑛𝑖 : 𝐷 𝑛 → 𝐷}

• un conjunto no vacío de mapeos, predicados, 𝐷 𝑚 𝑎{𝑡𝑟𝑢𝑒, 𝑓𝑎𝑙𝑠𝑒}

No se puede saber el valor de verdad de una fórmula hasta que no se especifique con qué
elementos de la estructura se deben de asociar los elementos de la fórmula.

Una asignación v al conjunto de fórmulas F dada una estructura S con dominio D es un mapeo del
conjunto de variables en F a D

∃xF es true si existe una asignación para la cual F sea verdadera

∀xF es true si para toda asignación F es verdadera

Una fórmula cerrada con un modelo se dice satisfascible

Ejemplo:

P=C(x) → A(x)

D= {tubería, caldera, pipa, …}

C = componente hidráulico

A = transporta agua C (tubería) = T,

C(caldera) = T, C (pipa) = F A (tubería) = T,

A(caldera) = F, A(pipa) = T

Para las asignaciones de x =tubería y pipa, P = T, para x =caldera, P = F

Otras formas de razonamiento (abducción).


Un razonamiento abductivo (del latín abdūctiō y esta palabra de ab, desde lejos, y dūcere,
llevar) es un tipo de razonamiento que a partir de la descripción de un hecho o fenómeno
ofrece o llega a una hipótesis, la cual explica las posibles razones o motivos del hecho
mediante las premisas obtenidas. Charles Sanders Peirce la llama una conjetura. Esa
conjetura busca ser, a primera vista, la mejor explicación, o la más probable.
Aristóteles investigó los razonamientos abductivos, según Aristóteles, los razonamientos
abductivos son silogismos en donde las premisas sólo brindan cierto grado de
probabilidad a la conclusión.
En la abducción, a fin de entender un fenómeno se introduce una regla que opera en
forma de hipótesis para considerar dentro de tal regla al posible resultado como un caso
particular. En otros términos: en el caso de una deducción se obtiene una Conclusión «q»
de una Premisa «p», mientras que el razonar abductivo consiste en explicar «q» mediante
«p» considerando a p como hipótesis explicativa.
De este modo la abducción es la operación lógica por la que surgen hipótesis novedosas.
En muchos casos las abducciones no son sino las conjeturas espontáneas de la razón.
Para que esas hipótesis surjan se requiere el concurso de la imaginación y del instinto. La
abducción es como un destello de comprensión, un saltar por encima de lo sabido; para la
abducción es preciso dejar libre a la mente.
Según ese filósofo estadounidense el pensar humano tiene tres posibilidades de crear
inferencias o tres diversos modos de razonar: el deductivo, el inductivo y el abductivo.
Ejemplo:

Resultado: "Estos frijoles son blancos"

Regla general: "Todos los frijoles del empaque X son blancos".

Caso: "Estos frijoles provienen del empaque X".

Introducción a la lógica difusa


Por ejemplo, se considera a una persona como alta si mide más de 1.80mts, pero de igual
forma se considera a una persona como alta si mide 1.7999mts. Esta consideración no
existe en la lógica tradicional que utiliza demarcaciones estrictas para determinar
pertenencia en sets:
Ejemplo:
A es el set clásico de personas altas A = {x | x > 1.8}
Una persona que mide 1.799999mts es baja!
La lógica difusa es una extensión de la lógica tradicional (Booleana) que utiliza conceptos
de pertenencia de sets más parecidos a la manera de pensar humana. El concepto de un
subset difuso fue introducido por L.A. Zadeh en 1965 como una generalización de un
subset exacto (crisp subset) tradicional. Los subsets exactos usan lógica Booleana con
valores exactos como por ejemplo la lógica binaria que usa valores de 1 o 0 para sus
operaciones.
La lógica difusa no usa valores exactos como 1 o 0 pero usa valores entre 1 y 0 (inclusive)
que pueden indican valores intermedios (Ej. 0, 0.1, 0.2, …,0.9,1.0, 1.1, …etc). La lógica
difusa también incluye los valores 0 y 1 entonces se puede considerar como un superset o
extensión de la lógica exacta.

Lógicas multivaluadas y conjuntos difusos


Primeramente, diremos que la lógica multivaluada surge como resultado del
planteamiento de cómo resolver aquellos problemas que pueden tener más de dos
posibilidades de solución (si-no, verdadero-falso), la cual se conoce como lógica bi-
valuada. De esta manera se pueden tener entonces más posibilidades de solución.
Por ejemplo, si hacemos referencia al estado del tiempo, podríamos decir que el tiempo
esta frío, muy frío, caluroso, muy caluroso o normal. A estas posibilidades se las agrupa a
un solo conjunto que las contiene y se conoce con el nombre de Term-Set. Cada
posibilidad es entonces “un término”.
La utilización de este tipo de lógica es útil especialmente en aquellos casos en que no se
conoce con certeza un valor y su determinación pueda llegar a prestarse a confusiones.
Nuestro cerebro funciona de esta manera. Así, cuando nos preguntan si estudiamos para
el examen, respondemos, por ejemplo: “muy poco”. El conjunto completo (Term-set) de
valores para esta situación podría ser: Nada, Muy poco, Normal, Mucho, Todo.

Funciones de membresía
El Diseño de Funciones de Membresía
Se puede entender por conjunto clásico: una colección o clase de objetos bien definidos.
Objetos que pueden ser cualquier cosa, tales como: números, ciudades, colores,
animales, temperatura, etc. Estos objetos se conocen como elementos o miembros del
conjunto.
En la teoría de los conjuntos clásicos, se utiliza la notación de función característica, (𝑋𝐴 ),
para indicar cuando un elemento cualquiera pertenece o no a un conjunto. El universo de
discurso es el universo de toda la información disponible en un problema dado.
Un conjunto difuso es un conjunto que contiene elementos, los cuales varían su grado de
pertenencia en el conjunto. El concepto de función de membresía en la teoría de los
conjuntos difusos es una medida de la pertenencia graduada de un elemento en un
conjunto difuso.
Función de Membresía
Un elemento u de U.
Puede no pertenecer a A: (𝑈𝐴 (u) = 0),
Pertenecer un poco: (𝑈𝐴 (u) = con un valor cercano a 0),
Pertenecer moderadamente: (𝑈𝐴 (u) = con un valor no muy cercano a 0 pero tampoco a
1),
Pertenecer demasiado: (𝑈𝐴 (u) = con un valor muy cercano a 1),
Pertenecer totalmente a: (𝑈𝐴 (u)=1).
Debido a que el cambio de la función de membresía de un conjunto a otro es gradual en
los conjuntos difusos, dichos conjuntos son agrupamientos de elementos en clases,
también llamados etiquetas difusas, las cuales, a diferencia de los conjuntos clásicos, no
poseen fronteras bien definidas.

Conceptos básicos y operaciones con conjuntos difusos


La técnica esencial de la lógica difusa se basa en cuatro conceptos fundamentales:

1). conjuntos difusos. - son conjuntos con fronteras uniformes o suaves.

2). variables lingüísticas. - Son variables cuyos valores son descritos cualitativamente y
cuantitativamente por un conjunto difuso.
3). Distribuciones de posibilidad. - restricciones impuestas en el valor de una variable lingüística al
asignarle un conjunto difuso.

4). Reglas difusas si-entonces. - un esquema de representación del conocimiento para describir
una proyección funcional o una fórmula lógica que generaliza una implicación en la lógica de dos
valores.

Los tres primeros conceptos son fundamentales en todas las sub-áreas de la lógica difusa.

También, el cuarto concepto es importante debido a que es la base de la mayoría de las


aplicaciones industriales de la lógica difusa desarrolladas hasta hoy, lo cual incluye muchos
sistemas de control lógico difuso.

Conjuntos Difusos

Un conjunto difuso es un conjunto con fronteras suaves.

Operaciones básicas en conjuntos difusos

Para conjuntos clásicos se pueden realizar las siguientes definiciones:

x ∈ X ⟹ x pertenece a X
x ∈ A ⟹ x pertenece a A
x ∉ X ⟹ x no pertenece a A
para los conjuntos A y B en X, también se tiene:

A ⊂ B ⟹ A esta contenida en B si ( x ∈ A, entonces x ∈ B)


A ⊆ B ⟹ A esta contenida en o es equivalente a B
A=B ⟹A⊆BYB⊆A
Contenimiento: (⊆) Un conjunto puede contener a otro conjunto. Al conjunto más pequeño se le
llama Subconjunto. (⊂ Subconjunto propio).

En un universo comprendido por tres elementos X = {a, b, c}, el número cardinal es n x = 3. Y su


conjunto potencial es:

P (X) = {∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}

Aplicaciones de la lógica difusa


I.CONTROLADOR DIFUSO ADAPTATIVO

Los algoritmos de entrenamiento permiten ajustar el diseño del Controlador para que tenga un
comportamiento deseado, pero fuera de línea. En general estos algoritmos no permiten la
adaptación del controlador a cambios de la planta, pero son muy útiles para diseñar controlador
es en los que se combina información numérica con información lingüística.

II.IDENTIFICADOR DE IMÁGENES AÉREAS

El problema aquí planteado es el siguiente: Se tienen tres imágenes aéreas de la misma zona; las
imágenes se han captado empleando cámaras a blanco y negro, de tal forma que muestran en
cada pixel un cierto nivel de gris (nivel de luminancia); las tres fotografías no son iguales, porque
cada una de ellas se ha tomado ante poniendo a la cámara un filtro que sólo permite captar una
franja de colores (unas ciertas longitudes de onda), y los filtros para cada fotografía han sido
diferentes. En estas imágenes se ha captado un área extensa con zonas que se pueden clasificar
así:

 Zonas de río.
 Zonas de construcciones humanas.
 Zonas dedicadas a la agricultura.
 Zonas boscosas.

III.BASE DE DATOS DIFUSA

La Lógica Difusa busca desarrollar un conjunto de procedimientos para manejar la información


precisa y/o vaga. Ahora bien, los Sistemas de Bases de Datos tienen por propósito, hablando en
términos muy generales, la organización de la información; por tanto, no es de sorprendente que
se haya intentado incorporar las técnicas de Lógica Difusa en el diseño de Bases de Datos.

IV. PSICOLOGÍA COGNOCITIVA: RECONOCIMIENTO DE PALABRAS

El ejemplo que se presenta a continuación difiere de los anteriores sensiblemente. Este caso no
emplea los algoritmos asociados a la Lógica Difusa, si no el concepto mismo de los Conjuntos
Difusos, y ha sido seleccionado para resaltar que la importancia de la Lógica Difusa radica en la
noción de Conjuntos con fronteras no exactas, lo que implica gradualidad en los cambios.
Unidad 4.
Representación e ingeniería del conocimiento – ontologías.
Modelos típicos de la representación del conocimiento
Llamamos Forma de Representación del Conocimiento (F.R.C.) a la notación usada para
representar el mismo, es decir la manera en que se almacena.

En los primeros intentos de escritura de programas que permitiesen interfaces en


lenguaje natural, se hizo obvia la necesidad de una manera para representar una gran
colección de hechos estructurados de forma compleja. Consideremos la cantidad de
conocimiento que debe usarse para permitir que un programa “comprenda” el siguiente
texto sencillo:

“Juan decidió visitar a Guillermo. Condujo hasta su casa, pero vio que todas las luces
estaban apagadas, por lo que, en vez de ello, fue al cine.”

Y contestar preguntas como las siguientes: ¿Vio Juan a Guillermo?, ¿Qué casa estaba
oscura?, ¿Quién fue al cine? El problema de la comprensión de un texto en lenguaje
natural es difícil por la gran cantidad de conocimiento que debe representarse y
manipularse. Por un lado, está el conocimiento perteneciente a la interfaz del programa y
por otro el conocimiento sobre la sintaxis y vocabulario del lenguaje mismo. Es útil
separar estos dos aspectos tanto como sea posible, pues ambos son muy difíciles. Las
representaciones que estudiaremos pueden usarse tanto en sistemas que tratan con
entradas en lenguaje natural como en aquellos que no lo hacen.

No existe actualmente una F.R.C. general, capaz de ser usada con éxito en todo tipo de
aplicación. Ante un problema de un dominio específico es necesario realizar la selección
de la F.R.C. más adecuada a dicho problema. Para realizar esta selección debemos tener
en cuenta los siguientes criterios:

- Debe describir los hechos importantes acerca del dominio del problema y exponer las
restricciones de manera natural, reflejando la estructura de los objetos, los hechos y
las relaciones entre ellos.
- El conocimiento almacenado debe ser completo (expresar todo lo necesario) y
conciso (expresar los hechos de forma eficiente).
- Debe suprimir detalles, manteniendo sólo los hechos necesarios.
- El conocimiento almacenado debe ser transparente, o sea, comprendido con facilidad.
- Debe facilitar el cálculo, o sea, que almacene y recupere información rápidamente.
- Debe ser manipulable por una computadora.
- Debe aceptar conocimiento empírico, teórico o heurístico, y combinar el conocimiento
declarativo con el procedural, de acuerdo a los requerimientos de la aplicación.
Clasificación de las formas de representación del conocimiento.
Las F.R.C. pueden clasificarse en:
Declarativas: Donde la mayor parte del conocimiento se representa como una colección
estática de hechos junto con un pequeño conjunto de procedimientos generales para
manipularlos. Ejemplos de ellas son:
- Lógica (Proposicional, Cálculo de predicados, No Monotónica, etc.).
- Redes semánticas (Semantic Networks).
- Marcos o armazones (Frames).
- Guiones (Scripts).

Procedurales: Donde la mayor parte del conocimiento se representa como


procedimientos para usarlo.
- Reglas de producción.
- Strips.

Las F.R.C. declarativas tienen las siguientes ventajas:


- Cada hecho sólo necesita almacenarse una vez, sin importar el número de maneras
diferentes en que pueda usarse.
- Es fácil añadir nuevos hechos al sistema sin cambiar los otros hechos ni los
procedimientos pequeños.

Como ventajas de las F.R.C. procedurales podemos señalar:


- Es fácil representar el conocimiento sobre cómo hacer cosas.
- Es fácil representar el conocimiento que no encaja bien en muchos esquemas
declarativos simples, como por ejemplo razonamientos por defecto y probabilísticos.
- Es fácil representar conocimiento heurístico de cómo realizar las cosas
eficientemente.

La lógica como Forma de Representación del Conocimiento.


La F.R.C. más antigua es, precisamente, la lógica. El formalismo lógico es muy atractivo,
pues ofrece un mecanismo potente para derivar nuevos conocimientos a partir de
hechos conocidos: la deducción matemática.

Redes semánticas.
 representación en procesamiento de lenguaje natural
 formalismo muy limitado para dominios más complejos
 limitado para tratar con formas de inferencia sofisticada
 precursor de las frames

Una red semántica se representa como un grafo dirigido etiquetado (en algunos
casos se exige que dicho grafo sea acíclico), constituido por:
 nodos: representan conceptos (un objeto individual o una clase de objetos)
 arcos: representan relaciones binarias entre los conceptos.

Ejemplo:
"El corazón es parte del sistema
cardiovascular"
"Las arterias son parte del sistema
cardiovascular"
"Las arterias grandes son arterias"
"La aorta es una arteria"

Herencia en Redes Semánticas


La Herencia es el mecanismo de razonamiento utilizado en redes semánticas
Herencia: un concepto (nodo) hereda las propiedades de los conceptos "más
altos en la jerarquía" a través de las relaciones subclase-de e instancia-de.
Ejemplo:
“Un vaso sanguíneo es parte
del sistema cardiovascular”
“Las arterias son vasos
sanguíneos”
"Las arterias contienen sangre
rica en oxígeno"
"Las arterias tienen pared
muscular"
"La arteria pulmonar izquierda
es una arteria grande"
4.3 Scripts (guiones)
Los guiones (script) son otra forma de representar conocimiento. Están
conformados por componentes llamados “ranuras” (slots) que es un conjunto de pares
atributo-valor. Los guiones son más fáciles de introducir en muchos casos que un mapa
conceptual.

[Schank & Abelson, 1977]


 Extensión de las Dependencias Conceptuales.
 Las DCs representan sucesos aislados
 Mecanismo para representar conocimiento sobre secuencias habituales de sucesos
 Permite anticipar una sucesión de situaciones
 Originalmente: organizar DCs para describir situaciones típicas
 Un guion es una estructura que describe una secuencia estereotípica de sucesos en
un contexto particular
Componentes de un guión
Condiciones de entrada (Precondiciones): Son Condiciones que deben cumplirse, en
general, para que puedan tener lugar los sucesos representados en el guion. Por ejemplo:
restaurante abierto, cliente hambriento.

Resultados (Postcondiciones): Son condiciones que, en general, se cumplirán después de


que tengan lugar los sucesos del guión (no garantizado). Por ejemplo: cliente lleno y con
menos dinero, dueño del restaurante con más dinero.

Props: Representan objetos que intervienen en los sucesos del guión, aunque no
aparezcan, pueden ser inferidos. Por ejemplo: se supone que un restaurante cuenta con
mesas, sillas, menús… salvo que se especifique otra cosa.

Roles: Personas que intervienen en los sucesos del guión o También pueden ser inferidos
si no aparecen explícitamente o Si se mencionan individuos específicos, pueden ser
insertados en las ranuras correspondientes o, Por ejemplo: camareros, clientes etc.

Escenas: Secuencias de sucesos que tienen lugar. Los sucesos se representan utilizando
DCs. Por ejemplo: entrar, pedir, comer.

Tracks: Variación específica de un patrón más general representada por el guión, los
guiones constituyen una jerarquía de especialización: Diferentes tracks del mismo guión
comparten algunos componentes, pero no todos.

Ventajas y desventajas
Ventajas
Capacidad para predecir eventos.
Observaciones, interpretación coherente de una situación.
Mucha información.
Muy específica, alta potencia de inferencia.

Desventajas
Muy específico, menos general (estructura fuerte) que los marcos (Eleva dificultad).
Menos aplicabilidad.
No es adecuada para representar ciertos tipos de conocimiento, pero sí para el tipo de
conocimiento para el cual fueron diseñados.

Ejemplo:
Frames (marcos)
Un marco (frame, en inglés) es una estructura de datos que posibilita "hablarle" al
computador e incluye conocimiento sobre un objeto en particular. Tal conocimiento se
organiza y con unos métodos para almacenamiento y recuperación de conocimiento
permite un diagnóstico independiente del conocimiento, e incluso permite la combinación
con la lógica de predicados para generar un razonamiento; llega así a crear un motor de
inferencia sobre el conocimiento y además permite realizar construcciones jerárquicas
basadas en la herencia.
Fueron propuestos por Minsky en 1975 como una forma de representación del
conocimiento. La idea original se expresaba en los siguientes términos “Un Frame es una
estructura de datos para representar una situación estereotipada, podemos pensar en un
Frame como una red de nodos y relaciones. Los ‘niveles superiores’ de un Frame son fijos
y representan cosas que son siempre ciertas en la situación supuesta. Los niveles
inferiores tienen muchos terminales – ‘slots’ que tienen que llenarse con instancias o
datos específicos. Las suposiciones por defecto son asociadas débilmente con sus
terminales, de forma tal que ellas puedan ser fácilmente removidas ante nuevos
elementos que se ajusten mejor a la situación actual.”
Podemos considerar los frames como una red semántica con un número de posibilidades
mucho mayor, entre las que destacan especialmente, la capacidad de activación de
procesos (triggering) y de herencia nomonotónica mediante sobrecontrol (overriding), en
la que un nodo hijo hereda todos los slots de su padre a menos que se especifique lo
contrario.

Características
Precisión (Explicitness): Los objetos, las relaciones entre objetos y sus propiedades se
describen de forma precisa; en ausencia de evidencia contraria se usan valores por
omisión.
Activación dinámica de procesos (Triggering): Es posible adjuntar procedimientos a un
frame o alguno de sus componentes de forma que se llamen y ejecuten automáticamente
tras la comprobación de cambio de alguna propiedad o valor (p.ej. IF-NEEDED, IF-ADDED).
Herencia por defecto no-monotónica: Los marcos están conceptualmente relacionados,
permitiendo que los atributos de los objetos sean heredados de otros objetos
predecesores en la jerarquía.
Modularidad: La base de conocimiento está organizada en componentes claramente
diferenciados.
Estructura
Nombre: El cual debe ser único para diferenciarlo de los demás.
Padre o Naturaleza: equivale a la clase superior a la cual pertenece y es la que le permite
el mecanismo de herencia. El frame raíz no tiene padre y normalmente se identifica su
tipo con algún atributo, en nuestro caso superior.
Slots o Atributos: Constituye el cuerpo y cada uno representa una propiedad estándar o
atributo del elemento representado.

Estructura de un slot
Nombre: Cada slot debe tener un nombre único dentro del frame, pero son propios de
cada slot es decir dos o más frames pueden coincidir en los nombres de los slots.
Valor del slot: Puede ser asignado inicialmente o estar vacío para añadirle valor en
procesos de búsqueda y razonamiento.
Procedimientos anexos:
If – needed: significa que antes de obtener el valor del slot respectivo en una consulta, se
ejecuta el procedimiento adjunto y solo si tiene éxito se podrá obtener el valor.
If – added: significa que antes de asignarle el valor al respectivo slot, debe ejecutarse con
éxito el procedimiento; de otra manera no se realizara acción alguna.
If – deleted: Significa que antes de borrar el valor del slot, debe ejecutarse con éxito el
procedimiento; de otra manera no se borrara el valor del slot.
Cada slot puede ser de alguno de los siguientes tipos:

 Un atributo simple con un valor opcional de default.


 Un procedimiento.
 Una restricción.
 Un apuntador a otro frame.
Ejemplo
Tripleta objeto-atributo-valor (OAV)
valor (OAV). Los objetos son físicos o son conceptuales. Un objeto puede tener varios
atributos. Los atributos son elementos que caracterizan un objeto. Los valores son las
medidas específicas de los atributos en una situación dada.
Para la representación OAV se usan nodos y relaciones (redes) o tablas conceptuales.
Objetos y valores se designan como nodos, mientras los atributos se designan como
enlaces (arcos) de ellos. La representación OAV se usa para mostrar orden e interrelación.
Las tripletas OAV no muestran herencias, sólo relaciones causales o enlaces, partes o
subpartes.

Sistemas de producción.
En los sistemas de producción (SP), cada regla tiene una precondición (parte
izquierda), y una parte derecha que describe la operación que debe llevarse a cabo si se
aplica la regla. Es decir, los sistemas de producción (SP) están compuestos de reglas de
producción y hechos.
Los SP fueron desarrollados por Newell y Simons, para modelar el conocimiento
humano. La idea básica en estos sistemas es que el conocimiento sea representado
como reglas en forma de pares condición-acción:

SI (condiciones/premisas) “hechos".
ENTONCES acción-a-ejecutar "conclusión/acción".

Cada regla contempla premisas que pueden modificarse independientemente de otras


reglas. Cuando se combina y alimenta el MI por el conjunto de reglas funcionales, se
producen mejores resultados porque se parte de la suma de resultados por reglas
individuales7. Los SP poseen claramente la separación de los elementos
computacionales y en los que se observa la esencia de operación de los sistemas de IA.

Existen dos tipos comunes de SP:


a) Conocimiento declarativo, el cual hace énfasis en la representación del
conocimiento como una acumulación de hechos estáticos junto con una
información limitada que describe cómo se va a emplear el conocimiento.
b) Conocimiento procedimental, que enfatiza la representación en forma de reglas
describiendo los procesos en el momento de usar el conocimiento. El SP advierte al
usuario cómo solucionar un problema con base en hechos conocidos.
Considérense los siguientes ejemplos:
1. SI máquinas de corte inactivas,
ENTONCES programar producción.

SI orden compra de materia prima aprobada,


& necesidad de materia prima,
ENTONCES solicitar envío de materia prima.

SI materia prima ordenada,


& inconvenientes de transporte,
ENTONCES buscar viabilidad de transporte.

2. SI fiebre & infección,


ENTONCES gripe.

SI temblor & dolor huesos,


ENTONCES infección.
La estrategia de control del motor de inferencia escoge las reglas a aplicar, resuelve los
conflictos que surjan cuando varias reglas pueden ser aplicadas a la vez y deja el
proceso cuando una condición de terminación se satisface. Esta estrategia
repetidamente aplica reglas a la descripción de estados hasta que la descripción del
estado meta se produce. También se guardan datos de las reglas que han sido aplicadas
para evitar secuencias repetitivas que no lleven a la condición final.
En muchas aplicaciones con técnicas de IA, la información disponible no es suficiente
para permitir la selección de la regla más apropiada. La operación de un SP puede
entonces caracterizarse como un proceso de búsqueda en el que las reglas son usadas
hasta que alguna secuencia de ellas encuentre la condición de terminación.
Se distinguen dos grandes estrategias de control: irrevocable y tentativa.
Irrevocable: una regla aplicable es seleccionada, se aplica sin opción para ser
reconsiderada. (A primera vista, puede verse que este tipo de control no es apropiado
para solucionar problemas).
Tentativa: una regla aplicable es seleccionada, la regla se aplica, pero se tiene previsión
para retornar a un punto de rompimiento (back tracking) y aplicar otra regla "mejor". Se
establece un punto de selección de reglas, si siguientes computaciones encuentran
dificultad en producir una solución; el sistema se devuelve al punto previo de
rompimiento, donde otra regla se selecciona para continuar el proceso.

Introducción a la ingeniería del conocimiento


Definición estricta: La Ingeniería del Conocimiento tiene que vercon la adquisición,
representación, validación, inferenciación, explicación y mantenimiento del conocimiento.
Definición amplia: La Ingeniería del conocimiento describe el proceso de desarrollo y
mantenimiento de Sistemas de Inteligencia Artificial.
La ingeniería de Conocimiento se asocia como rama de la Inteligencia Artificial (IA), debido
a que esta “relacionada con la adquisición, representación y el procesamiento del
conocimiento”, estrechamente vinculada con el desarrollo de sistemas de software en
donde el conocimiento y razonamiento tienen un papel fundamental (Sistema Experto SE).
La ingeniería del conocimiento permite construir aplicaciones informáticas en dominios
difíciles para la informática convencional como lo son los SE (sistemas basados en el
conocimiento), donde los algoritmos empleados nos son de tipo formal, debido a que el
conocimiento, en general, no está bien estructurado, puede ser inconsistente, incompleto
e impreciso.
La habilidad de expresar el conocimiento y utilizarlo en un sistema experto es aún más
difícil, pues el lenguaje que utiliza un experto no es un lenguaje que la computadora
entienda. Por eso es necesario que el IC establezca una comprensión global del área, se
forme un diccionario mental de los términos esenciales y desarrolle una comprensión
básica de los conceptos clave.
De manera general la Ingeniería del Conocimiento está constituida por tres procesos
fundamentales:
1) Adquisición del conocimiento: fase en la cual mediante expertos humanos en el
dominio del conocimiento.
2) Representación del conocimiento: en la cual interviene de manera fundamental el
ingeniero del conocimiento encargado de codificar y hacer explícitas las reglas u otros
procedimientos, todo esto para que los expertos humanos sean capaces de resolver
problemas reales, en la construcción de un SE dicha cooperación del experto humano con
el Ingeniero de conocimiento.
3) Base de Conocimiento: última fase y es en la cual la información entra tal como llega, ya
que el orden no influye en los resultados obtenidos. Sucede así porque cada elemento de
conocimiento es comprensible por sí mismo, tomado de forma aislada y, por lo tanto, no
es necesario referirse al contexto en el cual está inserto. La información puede ser
representada mediante reglas de producción. Las reglas de producción constituyen el
método más utilizado para construir bases de conocimientos. Llamadas también
implicaciones lógicas. Su estructura es la siguiente: para unas ciertas causas, unos efectos;
o, para determinadas condiciones, ciertas consecuencias. Esto se define a menudo como
programación orientada a las reglas.

La Ingeniería del Conocimiento se define como una disciplina que permite construir
sistemas expertos (SE), mediante procesos fundamentales como son: adquisición del
conocimiento, representación del conocimiento, validación del conocimiento, inferencia
del conocimiento, explicación y justificación.
El objetivo de la Ingeniería del conocimiento es construir sistemas basados en el
conocimiento de expertos humanos y auxiliado del proceso de Adquisición del
conocimiento obtener el conocimiento requerido para construir un determinado sistema.
Se debe tener en cuenta que el proceso de adquisición del conocimiento se lleva a cabo
durante todo el desarrollo del sistema, desde el momento en que se comienza a estudiar
el problema y su solución, hasta su evolución.
Ontologías.
El objeto de estudio de la ciencia de la Ontología es el estudio de las categorías que
existen en un dominio.
El resultado de este estudio es lo que denominamos una ontología. Una ontología es un
catálogo de los tipos de cosas que asumimos que existen en un dominio D desde la
perspectiva de alguien que usa un lenguaje L con el propósito de hablar de D.
Los elementos de una ontología representan predicados, constantes, conceptos y
relaciones pertenecientes a un lenguaje L cuando se usa para comunicar información
sobre D. Una ontología es pues un vocabulario.
La capacidad de obtener deducciones a partir de la información que representa la
ontología viene dada por el uso de una lógica.
La lógica por sí misma no habla sobre nada, es neutra respecto al significado, es su
combinación con una ontología lo que le da a un formalismo lógico la capacidad de
expresar significados, por ejemplo:
𝑃→𝑄
𝑃
𝑄
Este razonamiento no habla sobre nada en concreto salvo que asignemos significados a
los átomos (P = llueve, Q = me mojo).
El desarrollo de las ontologías entronca directamente con la Filosofía Aristóteles acuñó el
término Categoría como la palabra para describir las diferentes clases en las que se
dividían las cosas del mundo.
El término ontología es relativamente moderno (s. XIX), proviene del griego Ontos (Ser) y
Logos (Palabra).
Este se empezó a utilizar para distinguir el estudio de la categorización del ser de la
categorización que se hacía en biología.
De hecho, el trabajo de categorización surge en muchas áreas de la ciencia (filosofía,
biología, medicina, lingüística, ...).
¿Cuáles son los puntos interesantes que motivan el uso de las ontologías?
Permiten compartir la interpretación de la estructura de la información entre
personas/agentes. El establecer una ontología sobre un dominio permite que dos agentes
puedan entenderse sin ambigüedad y sepan a qué se refieren.

Permiten reusar el conocimiento Hacer una descripción de un dominio permite que esta
pueda ser usada por otras aplicaciones que necesiten tratar con ese conocimiento.
Hacen que nuestras suposiciones sobre el dominio se hagan explicitas. Facilita
replantearse las suposiciones sobre el dominio y ayuda a que otros puedan entender su
descripción.
Separan el conocimiento del dominio del conocimiento operacional. Permite hacer
independientes las técnicas y algoritmos para solucionar un problema del conocimiento
concreto del problema
Permiten analizar el conocimiento del dominio. Una vez tenemos una especificación del
conocimiento podemos analizarlo utilizando métodos formales (para comprobar si es
correcto.
En nuestra área de trabajo (Inteligencia Artificial), una ontología será una descripción
formal explicita de los conceptos de un dominio (Clases).
Estas clases se describirán a partir de propiedades que representarán las características,
atributos y relaciones de las clases Adicionalmente estas características tendrán
restricciones (tipo, cardinalidad, ...).
Finalmente tendremos instancias (elementos identificables) que constituirán los
individuos concretos que representa la ontología.

Web semántica.
La web semántica (del inglés semantic web) es un conjunto de actividades desarrolladas
en el seno de World Wide Web Consortium con tendencia a la creación de tecnologías
para publicar datos legibles por aplicaciones informáticas (máquinas en la terminología de
la Web semántica).1 Se basa en la idea de añadir metadatos semánticos y ontológicos a la
World Wide Web. Esas informaciones adicionales, que describen el contenido, el
significado y la relación de los datos se deben proporcionar de manera formal, para que
así sea posible evaluarlas automáticamente por máquinas de procesamiento. El objetivo
es mejorar Internet ampliando la interoperabilidad entre los sistemas informáticos usando
"agentes inteligentes". Agentes inteligentes son programas en las computadoras que
buscan información sin operadores humanos.

Puntos fundamentales
La Web Semántica se basa en dos puntos fundamentales:
a) La descripción del significado. Donde se definen los conceptos
b) La manipulación automática de estas descripciones. Se efectúa mediante lógica y
motores de inferencia.
En la descripción del significado se articula la semántica, los metadatos y las ontologías.
La semántica. Es el estudio del significado de los términos lingüísticos.
En nuestro contexto de la Web Semántica, se pretende dotar de significado interpretable
por parte de las máquinas, como información adicional que pueda ser comprendida y
procesada por una computadora.
Los metadatos. Son datos que describen otros datos, en este contexto los datos que
describen recursos de la web.
La distinción entre datos y metadatos es relativa, pues depende de la aplicación. Los
metadatos de una aplicación pueden ser los datos que maneja otra aplicación.
Las ontologías. Una ontología es una jerarquía de conceptos con atributos y relaciones,
que define una terminología consensuada para definir redes semánticas de unidades de
información interrelacionadas y con ciertas reglas.
Una ontología se puede definir como una «especificación explícita y formal de una
conceptualización compartida» según (Gruber, 1993) de esta manera:

 Es explícita, porque define los conceptos, propiedades, relaciones, funciones,


axiomas y restricciones que la componen.
 Es formal, porque es legible e interpretable por las máquinas.
 Es una conceptualización, porque es un modelo abstracto y una vista simplificada
de las entidades que representa.
 Finalmente, es compartida porque ha habido un consenso previo sobre la
información que ha sido acordado por un grupo de expertos.

Ventajas de la Web semántica


 Incorpora contenido semántico a las páginas que se suben a Internet. Esto permite
una mejor organización de la información, asegurando búsquedas más precisas por
significado y no por contenido textual.
 Permite a las computadoras la gestión de conocimiento, hasta el momento
reservada a las personas (hace uso de inteligencia artificial).12

Desventajas de la Web semántica


 Es costoso y laborioso adaptar los documentos de Internet, para poder ser
procesados de forma semántica (a esto hay que sumar los problemas del idioma).
 Es necesario unificar los estándares semánticos y proveer relaciones de
equivalencia entre conceptos. Por ejemplo, en el caso del código postal, se debe
establecer que CP es igual a ZC “zip code” en el caso del inglés.
 La visión de la inteligencia artificial: la Web Semántica es un conjunto de
iniciativas destinadas a promover una futura web cuyas páginas estén organizadas,
estructuradas y codificadas de tal manera que los ordenadores sean capaces de
efectuar inferencias y razonar a partir de sus contenidos
Unidad 5.
Sistemas de apoyo a la decisión (sistemas expertos) y aprendizaje automático
(redes neuronales).
Conceptos generales y desarrollo de Sistemas Expertos (SE).
(Expert System) es un sistema de información basado en el conocimiento de un área de aplicación
compleja y específica a fin de actuar como un consultor experto para los usuarios finales. Los
sistemas expertos proporcionan respuestas sobre un área problemática muy específica al hacer
inferencias semejantes a las humanas sobre los conocimientos obtenidos en base de conocimiento
especializado.

Es una rama de la inteligencia artificial; son sistemas informáticos que simulan el proceso de
aprendizaje, de memorización, de razonamiento, de comunicación y de acción en consecuencia de
un experto humano en cualquier rama de la ciencia.

Características:

 Habilidad para adquirir conocimiento.


 Fiabilidad, para poder confiar en sus resultados o apreciaciones.
 Solidez en el dominio de su conocimiento.
 Capacidad para resolver problemas.

Tipos de sistemas expertos:

 Basados en reglas: aplicando reglas heurísticas apoyadas generalmente en lógica difusa


para su avaluación y aplicación.
 Basados en casos CBR (Case Based Reasoning): aplicando el razonamiento basado en
casos, dando la solución a un problema similar planteado con anterioridad se adapta al
nuevo problema.
 Basado en redes: aplicando redes bayesianas, basadas en estadística y el teorema de
Bayes.

El desarrollo de un sistema experto comprende las siguientes etapas:

 Identificación: los desarrolladores y expertos identifican los problemas y subproblemas,


formulan los objetivos globales del sistema y definen las necesidades de hardware y
software. En esta etapa se estudia también la relación costo-beneficio.
 Conceptualización: A partir de su interacción con el experto, el desarrollador define los
objetivos y sus interrelaciones, los mecanismos de solución de problemas y los datos que
el experto utiliza en dichas soluciones.
 Formalización: Los conceptos y relaciones identificados se expresan formalmente
utilizando algún mecanismo de representación dado por las herramientas disponibles y las
características propias del problema.
 Implementación: el conocimiento formalizado se incorpora al sistema experto, utilizando
algunas herramientas de desarrollo, para convertir el conjunto de reglas en un programa
computacional.
 Prueba: se avalúa el desempeño del sistema experto, revisando su capacidad para
plantear soluciones a problemas y cumplir los requerimientos impuestos por los expertos.
 Integración: una vez terminado el desarrollo del sistema experto comercial, éste se integra
a su entorno de trabajo, lo cual incluye conexión a la base de datos, equipos e
instrumentos, y la capacitación de los usuarios.
 Mantenimiento: se considera la modificación de la base de conocimientos, lo que
dependiendo del sistema puede ser realizado por un usuario experto o el desarrollador.

Lenguaje, shells y herramientas.


El lenguaje shell es un ambiente de desarrollo de software el cual contiene los componentes de un
sistema experto, asociado al shell, se encuentran métodos prescritos de construcción de
aplicaciones, para construir sistemas expertos se debe configurar e instanciar estos componentes:

 Knowledge: (base de conocimiento) un almacenamiento del conocimiento heurístico o


factico, algunas herramientas en esta clase, utilizan reglas tanto de Objetos como Si-
Entonces.
 Inference Engine: (motor de inferencia) mecanismo de manipulación de información y
conocimiento simbólico en la base de conocimiento para formar una línea de
razonamiento para resolver un problema.
 Knowledge base editor: (editor de base de conocimiento) subsistema que ayuda a
expertos a construir las bases de conocimiento.
 Explanation subsystem (subsistema de explicaciones) explica las acciones del sistema
mismo, estas explicaciones pueden ir de cómo se llegó a la parte intermedia o final de la
solución.
 User interface: (interfaz de usuario) la forma de comunicarse con el usuario, por lo general
no es parte de la tecnología de un sistema experto.

Herramientas.
Existen muchas herramientas en la actualidad para construir sistemas expertos, las hay de tipo
Freeware (gratuitos) hasta los comerciales (pago), los siguientes son solo algunas herramientas
usadas para la construcción de sistemas expertos.

 ART-IM.
 CBR Express v1.1.
 Nex-Expert Objet v2.0.
 Exsys Corvid.
 Xpertrule.
 G2.
 Visual Prolog.
 Jess.
 Winprolog.
 Clisps.
 Expert System Builder.
Aplicaciones y dominios de los sistemas expertos.
Pueden ser aplicados en casi todos los campos del conocimiento. Algunos se han diseñado como
herramientas de investigación, mientras que otros, satisfacen funciones de negocio e industriales.

En general, en cuanto a las aplicaciones de estos sistemas expertos algunas de las más populares
son:

 Gestión de información.
 Hospitales e instalaciones médicas.
 Gestión de servicios de ayuda.
 Evaluación del desempeño de los empleados.
 Análisis de préstamos.
 Detección de virus.
 Optimización de almacenes.
 Planificación y programación.
 Monitorización y control de procesos.
 Horarios de aerolínea y horarios de carga.

Para construir un sistema experto es necesario decidir un método adecuado, dependiendo del tipo
de problemas a resolver, para así elegir si usar un sistema de programación convencional o un
sistema experto, algunas de las preguntas que se deben hacer, son:

 ¿Puede solucionar eficazmente el problema con programación convencional?


 ¿Está bien delimitado el dominio?
 ¿Existe al menos un especialista dispuesto a cooperar en el proyecto?
 ¿El conocimiento para resolver el problema es principalmente heurístico e incierto?

Introducción a las Redes Neuronales.


Las redes neuronales (neural networks) se enmarcan dentro del campo de la IA. En 1994 los
ordenadores tenían una capacidad muy limitada. Este es el principal motivo por el cual las RN no
eran usadas en esta época.

Las neuronas artificiales se modelan de tal forma que imiten el comportamiento de una neurona
cerebral. Tendrán ramificaciones y un núcleo o nodo. Habrá ramificaciones en entrada al nodo,
que serán las entradas a la neurona, procedentes de otras neuronas Esta información se procesa
en el nodo, y se genera una información de salida que se trasmitirá por las ramificaciones de salida
a otras neuronas.

Estructuras y modelos neuronales.


Las redes neuronales típicamente están formadas por una serie de capas de neuronas que están
unidas entre sí mediante capas.

Las neuronas artificiales como unidades independientes no son muy eficaces para el tratamiento
de la información y se agrupan en estructuras grandes, las redes de neuronas artificiales o redes
neuronales.
Niveles de neuronas:

La distribución dentro de la red se realiza formando niveles o capas de un número determinado de


neuronas cada una. A partir de esta situación dentro de la red se puede distinguir tres tipos de
capas:

 De entrada: estas capas reciben información desde el exterior.


 De salida: estas envían la información hacia el exterior.
 Ocultas: son capas que solo sirven para procesar información y comunicar otras copas.

Forma de conexión de las capas:

Las neuronas se conectan unas a las otras usando sinapsis. Si vemos más detenidamente
observamos que estas uniones a nivel de capa forman distintas estructuras. Podemos distinguir
varias como:

 Unión todos con todos: consiste en unir cada neurona de una capa con todas las neuronas
de la otra capa. Este tipo de conexión es el más usado en las redes neuronales.
 Unión lineal: consiste en unir cada neurona con neurona de la otra capa. Este tipo de
unión se usa menos que el anterior y suele usarse para unir la capa de entrada con la capa
de procesamiento.
 Predeterminado: este tipo de conexión aparece en redes que tiene la propiedad de
agregar o eliminar neuronas de sus capas y de eliminar también conexiones.

Métodos de aprendizaje.
Las redes neuronales manejan dos tipos de información.

 Primera: es la información volátil, que se refiere a los datos que se están usando y varían
con la dinámica de la computación de la red, se encuentra almacenada en el estado
dinámico de las neuronas.
 Segunda: información que manejan las redes neuronales, es la información no volátil que
se mantiene para recordar patrones aprendidos y se encuentra almacenada en los pesos
sinápticos.

El aprendizaje de las redes neuronales, es el proceso de presentar los patrones a aprender, a la red
y el cambio de los pesos de las conexiones sinápticas usando una regla de aprendizaje.

Las reglas de aprendizaje consisten en algoritmos basado en fórmulas matemáticas, que usando
técnicas como la minimización de error o la optimización de alguna “función de energía”,
modifican el valor en función de las entradas disponibles y con ello optimizan las respuestas de la
red a la salida que deseamos.

Aprendizaje supervisado.

Se caracteriza porque el proceso de aprendizaje se realiza mediante un entrenamiento controlado


por un agente externo que determina la respuesta de que debería generar la red a partir de una
entrada determinada. El supervisor controla la salida de la red y en caso de que esta no coincida
con la deseada, se proceder a modificar las conexiones con el fin de conseguir que la salida
obtenida se aproxime a la deseada.
Este tipo de aprendizaje se suelen considerar, a su vez, tres formas de llevarlo a acabo, que dan
lugar a los siguientes aprendizajes supervisados:

 Aprendizaje por supervisión de error.


o Consiste en ajustar las conexiones de la red en función de la diferencia entre los
valores deseados y los obtenidos a la salida de la red, es decir, en la función del
error contenido en la salida.
 Aprendizaje por refuerzo.
o Se trata de un aprendizaje supervisado, más lento que el anterior, que se basa en
la idea de no disponer de un ejemplo completo del comportamiento deseado, es
decir, de no indicar durante el entrenamiento exactamente la salida que se desea
que proporcione la red ante una determinada entrada.
 Aprendizaje estocástico.
o Consiste básicamente en realizar cambios aleatorios en los valores de las
conexiones de la red y evaluar su efecto a partir de objetivo deseado y e
distribuciones de probabilidad.

Aprendizaje no supervisado.

Las redes con aprendizaje no supervisado (también conocido como autosupervisado) no requiere
influencia para justar las conexiones entre las neuronas. La red no recibe ninguna información por
parte del entorno que le indique si la salida generada en respuesta de una determinada entrada es
o no correcta.

Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se
puedan establecer entre los datos que se presenten en su entrada. Existen varias posibilidades en
cuanto a la interpretación de la salida de estas redes, que depende de su estructura y el algoritmo
de aprendizaje empleado.

En cuanto a los algoritmos de aprendizaje no supervisado, en general se suelen considerar dos


tipos, que dan lugar a los siguientes aprendizajes:

 Aprendizaje hebbiano.
o Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la
familiaridad o extraer características de los datos de entrada.
 Aprendizaje competitivo y comparativo.
o Se orienta a la clusterización o clasificación de los datos de entrada. Como
característica principal del aprendizaje competitivo se puede decir que, si un
patrón nuevo se determina que pertenece a una clase reconocida previamente,
entonces la inclusión de este nuevo patrón a esta clase matizará la representación
de la misma.

Aplicaciones de las RN.


Las técnica computaciones, desde sus inicios, marcaron un paradigma en la creación. Sus
aplicaciones, hoy en día, van desde la industria de los juegos hasta las cadenas de producción de
varias empresas.
Unos veinte años después, en la década de los 70, resurgen estas teorías y se despierta el interés
en sus aplicaciones. Actualmente las redes neuronales se emplean en diferentes campos, estos se
agrupan según varios criterios. Uno de ellos es propuesto por Deboeck, quien los agrupa en:

 Modelación financiera y económica.


 Perfiles de mercado y clientes.
 Aplicaciones médicas.
 Gerencia del conocimiento y descubrimiento de datos.
 Optimización de procesos industriales y control de calidad.
 Investigación científica.

Unidad 6.
Agentes inteligentes – agentes de software (Softbots) – agentes físicos (Robot).
Introducción a los Agentes Inteligentes (AI).
Un agente es un sistema que está en algún ambiente y que es capaz de tomar acciones autónomas
de acuerdo al estado del ambiente para cumplir sus objetivos de diseño. Lo anterior no quiere
decir que el agente tenga dominio completo del ambiente, por el contrario, en la mayoría de
situaciones este es muy complejo y el agente solo tendrá un control parcial de este. Así mismo
puede suceder que para un estado del ambiente muy similar, dos acciones diferentes tomadas por
el agente produzcan efectos heterogéneos en el ambiente.

¿Cómo se caracteriza un agente?

Un agente va a venir caracterizado por una serie de calificativos, los cuales vienen a denotar
ciertas propiedades a cumplir por el agente. Esto nos lleva a plantear otra definición bastante
aceptada de agente donde se emplean tres calificativos que, según, el autor se considera básicos.
Esta definición ve a un agente como un sistema de computación capaz de actuar de forma
autónoma y flexible en un entorno [Wooldridge1995], entendiendo por flexible que sea:

Reactivo, el agente es capaz de responder a cambios en el entorno en que se encuentra situado.

Proactivo, a su vez el agente debe ser capaz de intentar cumplir sus propios planes u objetivos.

Social, debe de poder comunicarse con otros agentes mediante algún tipo de lenguaje de
comunicación de agentes.

Definición de un AI y su entorno.
La inteligencia artificial (Artificial Intelligence, o AI) es la simulación de procesos de inteligencia
humana por parte de máquinas, especialmente sistemas informáticos. Estos procesos incluyen el
aprendizaje (la adquisición de información y reglas para el uso de la información), el razonamiento
(usando las reglas para llegar a conclusiones aproximadas o definitivas) y la autocorrección. Las
aplicaciones particulares de la AI incluyen sistemas expertos, reconocimiento de voz y visión
artificial.
Aplicaciones de AI

AI en la asistencia sanitaria. Las mayores apuestas están en mejorar los resultados de los
pacientes y reducir los costos. Las empresas están aplicando el aprendizaje de máquina para hacer
diagnósticos mejores y más rápidos que los seres humanos. Una de las tecnologías sanitarias más
conocidas es IBM Watson. Entiende el lenguaje natural y es capaz de responder a las preguntas
que se le formulan. El sistema extrae datos de los pacientes y otras fuentes de datos disponibles
para formar una hipótesis, que luego presenta con un esquema de puntuación de confianza. Otras
aplicaciones de AI incluyen chatbots, un programa de computadora utilizado en línea para
responder a preguntas y ayudar a los clientes, para ayudar a programar citas de seguimiento o
ayudar a los pacientes a través del proceso de facturación, así como en asistentes virtuales de
salud que proporcionan retroalimentación médica básica.

AI en los negocios. La automatización de procesos robóticos se está aplicando a tareas altamente


repetitivas que normalmente realizan los seres humanos. Los algoritmos de aprendizaje
automático se están integrando en las plataformas de análisis y CRM para descubrir información
sobre cómo servir mejor a los clientes. Los chatbots se han incorporado en los sitios web para
ofrecer un servicio inmediato a los clientes. La automatización de puestos de trabajo también se
ha convertido en un punto de conversación entre académicos y consultores de TI, como Gartner y
Forrester.

AI en la educación. La AI puede automatizar la calificación, dando a los educadores más tiempo. AI


puede evaluar a los estudiantes y adaptarse a sus necesidades, ayudándoles a trabajar a su propio
ritmo. Los tutores de AI pueden proporcionar apoyo adicional a los estudiantes, asegurando que
se mantengan en el buen camino. AI podría cambiar dónde y cómo los estudiantes aprenden, tal
vez incluso reemplazando a algunos maestros.

AI en finanzas. La AI aplicada a las aplicaciones de finanzas personales, como Mint o Turbo Tax,
está transformando a las instituciones financieras. Aplicaciones como estas podrían recopilar
datos personales y proporcionar asesoramiento financiero. Otros programas, IBM Watson siendo
uno, se han aplicado al proceso de comprar una casa. Hoy en día, el software realiza gran parte de
las operaciones en Wall Street.

AI en la ley. El proceso de descubrimiento, a través de la revisión de documentos, en la ley es a


menudo abrumador para los seres humanos. Automatizar este proceso es un mejor uso del
tiempo y un proceso más eficiente. Los startups también están construyendo asistentes
informáticos con preguntas y respuestas que pueden tamizar preguntas programadas para
contestar examinando la taxonomía y la ontología asociadas a una base de datos.

AI en la fabricación. Esta es un área que ha estado a la vanguardia de la incorporación de robots


en el flujo de trabajo. Los robots industriales solían realizar tareas únicas y estaban separados de
los trabajadores humanos, pero a medida que la tecnología avanza eso ha cambiado.

Arquitecturas de los AI
La arquitectura puede ser una computadora sencilla o hardware especial para la ejecu-ción de
ciertas tareas, como sería el procesamiento de imágenes de una cámara, o el filtrado de señales de
entrada de audio. Podría incluir también un software que ofrezca cierto grado de aislamiento
entre la computadora y el programa de agente, lo que permitiría la programación a un nivel
superior.

En general, la arquitectura pone al alcance del programa las percepciones obtenidas mediante los
sen-sores, lo ejecuta y alimenta al efector con las acciones elegidas por el programa conforme
éstas se van generando. La relación entre agentes, arquitectura y programas podría resumirse de
la siguiente manera:

agente = arquitectura + programa

Softbots.
Un agente inteligente, es una entidad capaz de percibir su entorno, procesar tales percepciones y
responder o actuar en su entorno de manera racional, es decir, de manera correcta y tendiendo a
maximizar un resultado esperado. Es capaz de percibir su medioambiente con la ayuda de
sensores y actuar en ese medio utilizando actuadores (elementos que reaccionan a un estímulo
realizando una acción).

Aplicaciones de los agentes de software


Los agentes han demostrado ser una abstracción útil para diseñar sistemas distribuidos y
cooperativos en muchas actividades industria-les y de servicios, incluyendo las
telecomunicaciones, el control de tráfico aéreo, la administración del transporte, el cuidado
médico y el entretenimiento. Todas estas propiedades (autonomía, distribución geográfica,
cooperación, aprendizaje y comunicación) hacen que los agentes de software sean ideales para el
desarrollo de un gran número de aplicaciones. A continuación, se describen algunos proyectos
donde se aplican agentes:

MASCONTROL: este proyecto presenta un sistema multi-agentes para la identificación y control de


procesos, se implementa el esquema de un regulador autoajustable y se cumple con el estándar
FIPA. El sistema funciona tomando del entorno los valores de unas variables de ambiente y según
unas condiciones determinadas como óptimas se efectúan unos cambios sobre ciertos factores.

EVA “Espacios Virtuales de Aprendizaje" Este sistema tiene como meta el desarrollo de un aula
virtual multi-agentes de enseñanza/aprendizaje cooperativo, esta aplicación, entre otras, se
desarrolla para sistemas de educación virtual. Está basada en el framework JatLite de la
Universidad de Stanford (JAT98).

Agentes de información/Internet, como Jasper (Joint Access to Stored Pages withEasy Retrieval).
Los agentes Jasper trabajan a favor de un usuario o comunidad de usuarios y son capaces de
almacenar, recuperar, compendiar y utilizar otros agentes de información útiles a ellos para
encontrar información en la www. Existen otros agentes de información realizados en particular
para filtrado de información. Hay, también, agentes reactivos, utilizados principalmente en la
industria del entretenimiento, en la programación de videojuegos y en la fabricación de juguetes.
Unidad 7.
Reconocimiento automático del habla y procesamiento de lenguaje natural.
Introducción al reconocimiento automático del habla (RAH).
El proceso de reconocimiento automático del habla (RAH) dota a las máquinas de la capacidad de
recibir mensajes orales. Tomando con entrada la señal acústica recogida por un micrófono, el
proceso de reconocimiento automático del habla tiene como objetivo final descodificar el mensaje
contenido en la onda acústica para realizar las acciones pertinentes. Para lograr este fin, un
sistema de RAH necesitaría conjugar una gran cantidad de conocimientos acerca del sistema
auditivo humano, sobre la estructura del lenguaje, la representación del significado de los
mensajes y sobre todo el autoaprendizaje de la experiencia diaria. Actualmente estamos lejos de
lograr un sistema completo que pueda comprender cualquier mensaje oral en cualquier contexto
tal y como lo podría hacer un ser humano. Sin embargo, la tecnología actual si que permite realizar
sistemas de RAH que pueden trabajar, con un error aceptable, en entornos semánticos
restringidos.

Sistema básico y tipos de RAH


Principios Básicos

Básicamente, el reconocimiento del habla es un proceso de clasificación de patrones, cuyo


objetivo es clasificar la señal de entrada (onda acústica) en una secuencia de patrones
previamente aprendidos y almacenados en unos diccionarios de modelos acústicos y de lenguaje.
Este proceso de clasificación supone, en primer lugar que la señal de voz puede ser analizada en
segmentos de corta duración y representar cada uno de los segmentos mediante su contenido
frecuencial, de forma análoga al funcionamiento del oído, en segundo lugar que mediante un
proceso de clasificación podemos asignar a cada segmento o conjuntos consecutivos de
segmentos una unidad con significado lingüístico y finalmente , en tercer lugar, que mediante un
procesador lingüístico podemos dar significado a las secuencias de unidades. Este último paso del
sistema supone incorporar al sistema de RAH conocimiento acerca de la estructura sintáctica,
semántica y pragmática del lenguaje. Sin embargo, los sistemas actuales de RAH solo incorporan
estas fuentes de conocimiento sobre tareas muy restringidas y controladas, estando la mayoría de
ellos en experimentación en condiciones de laboratorio.
Clasificación de Sistemas de RAH
Aplicaciones de los sistemas de RAH
El campo de aplicaciones de los sistemas de RAH es muy amplio, pero básicamente, con la
tecnología actual existen tres áreas en las cuales el volumen de utilización de sistemas de RAH está
creciendo de forma exponencial. Estas áreas son:

 servicios de telecomunicación,
 sistemas de control y
 sistemas de entrada de datos y acceso a bases de datos.

Introducción al Procesamiento de Lenguaje Natural (PLN)


 Conjunto de métodos y técnicas eficientes desde un punto de vista computacional para la
comprensión y generación de lenguaje natural.
 Subdisciplina de la Inteligencia Artificial.

¿PLN = Lingüística Computacional (LC)?

Lingüística Computacional:

 campo multidisciplinario de la lingüística y de la computación.


 estudio científico del lenguaje con el fin de elaborar modelos de éste o de ciertos
fenómenos específicos.
 involucra a lingüistas, informáticos, lógicos, psicólogos cognitivos…

El PLN puede verse como la rama ingenieril de la LC.

Técnicas del PLN


1. Anclajes: Un anclaje es una asociación entre un estímulo externo y fuertes estados
internos. Más que una técnica, es un patrón básico de nuestro cerebro. Son algo
así como los tornillos de cualquier máquina. El mundo está lleno de anclajes, pues
el cerebro funciona por asociaciónes. Un claro ejemplo podríamos tenerlo en una
colleja que le mete una madre a su hijo por haber hecho algo malo. Le está
anclando/asociando negativamente el hacer algo mal, con dolor físico.

2. Círculo de Excelencia: A todos nos ha pasado estar estudiando 10 horas y que


nos cuenda lo que una y, con las mismas capacidades físicas y mentales, estudiar
una hora y que nos cunda lo que 10. Este ejercicio de PNL sirve para controlar
nuestros estados de logro.

3. Doble disociación: ejercicio para eliminar sentimientos y emociones negativas


leves.

4. Líneas del tiempo: hay libros enteros escritos sobre líneas del tiempo. Se emplean
en muchos casos: Cambiar creencias, cambio de historia personal, cambio de
memorias pasadas, etc.

5. El Swish es una herramienta básica de PNL para cambiar comportamientos. Ésta


técnica selecciona cualquier comportamiento no deseado y lo transforma en un
deseo de ser más la persona que verdaderamente quieres ser. Es útil en cualquier
momento que desees cambiar comportamientos o sentimientos no deseados.
6. Visual Squash: las personas pensamos que somos muy polares, que todo nuestro
comportamiento está enfocado en una dirección, pero nada más lejos de la
realidad, tenemos decenas de contradicciones. Este ejercicio sirve para alinear
nuestros recursos internos, lo cual, puede llegar a ser muy potente.

7. Cura de fobias: Como el nombre indica sirve para curar fobias, miedos o traumas.
También puede utilizarse para superar una ruptura pasada con grandes
resultados.

Análisis morfológico
Consistente en descomponer un concepto o problema en sus elementos esenciales o partes
básicas, a partir de los cuales se construye una matriz y se construyen relaciones entre los
atributos.

Etapas del análisis morfológico

 Análisis
 Combinación
 Búsqueda morfológica

Pasos del análisis morfológico

1. Especificar el problema u objetivo.

2. Analizar que atributos (o elementos, o parámetros) lo componen. Estos pueden


ser: partes físicas, procesos, funciones, aspectos estéticos, etc. Se determina
si un atributo es lo suficientemente relevante para añadirlo, a través de la
siguiente pregunta: ¿Seguiría existiendo el problema sin este atributo?

3. Analizar las variantes o alternativas posibles de cada atributo.

4. Combinaciones: hacer cuantas combinaciones sean posibles, tomando cada


vez una variante de cada atributo. El número de atributos y variones
determinará la complejidad de la matriz. El producto de combinaciones
posibles se denomina producto morfológico. Ejemplo:Si se tienen 4 atributos:
A,B y C y cada atributo tiene un número de variaciones determinadas
A(A1,A2,A3), B(B1,B2,B3), C(C1,C2), el producto morfológico es 3X3X2=18.
5. Búsqueda morfológica: consiste en analizar combinaciones y ver sus
posibilidades. Se puede hacer al azar o enumerada como se muestra a
continuación

A1-B1-C1 A2-B1-C1 A3-B1-C1

A1-B1-C2 A2-B1-C2 A3-B1-C2

A1-B2-C1 A2-B2-C1 A3-B2-C1

A1-B2-C2 A2-B2-C2 A3-B2-C2

A1-B3-C1 A2-B3-C1 A3-B3-C1

A1-B3-C2 A2-B3-C2 A3-B3-C2

Aplicaciones

• Nuevos productos o servicios o modificaciones a los que ya existen.

• Desarrollo de ventajas competitivas.

• Desarrollo de nuevos productos y/o servicios y proyectos.

• Nuevas técnicas promocionales para productos y servicios.

Análisis léxico y sintáctico.


Análisis léxico
El analizador léxico es la primera fase de un compilador. Su principal función consiste en leer los
caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el
analizador sintáctico para hacer el análisis. En algunas ocasiones, los analizadores léxicos se
dividen en una cascada de dos fases; la primera, llamada "examen", y la segunda, "análisis léxico".
El examinador se encarga de realizar tares sencillas, mientras que el analizador léxico es el que
realiza las operaciones complejas.

ASPECTO DEL ANALISIS LEXICO


Hay varias razones para dividir la fase de análisis de la compilación en análisis léxico y análisis
sintáctico.

 Un diseño sencillo es quizá la consideración más importante. Separar el análisis léxico del
análisis sintáctico a menudo permite simplificar una u otra de dichas fases.
 Se mejora la eficiencia del compilador. Un analizador léxico independiente permite
construir un procesador especializado y potencialmente más eficiente para esta función.
Gran parte de tiempo se consume en leer el programa fuente y dividirlo en componentes
léxicos. Con técnicas especializadas de manejo de buffer para la lectura de caracteres de
entrada y procesamiento de componentes léxicos se puede mejorar significativamente el
rendimiento de un compilador.
 Se mejora la transportabilidad del compilador. Las peculiaridades del alfabeto de entrada
y otras anomalías propias de los dispositivos pueden limitarse al analizador léxico.

COMPONENTES LEXICOS, PATRONES Y LEXEMAS

Cuando se menciona el análisis sintáctico, los términos "componente léxico"(token), "patrón" y


"lexema" se emplean con significados específicos. En general, hay un conjunto de cadenas en la
entrada para el cual se produce como salida el mismo componente léxico. Este conjunto de
cadenas se describe mediante una regla llamada patrón asociado al componente léxico. Se dice
que el patrón concuerda con cada cadena del conjunto. Lexema es una secuencia de caracteres en
el programa fuente con la que concuerda el patrón para un componente léxico. Los componentes
léxicos se tratan como símbolos terminales de la gramática del lenguaje fuente, con nombres en
negritas para representarlos.

ANALISIS SINTACTICO

comprueba que las sentencias que componen el texto fuente son correctas en el lenguaje,
creando una representación interna que corresponde a la sentencia analizada. De esta manera se
garantiza que sólo serán procesadas las sentencias que pertenezcan al lenguaje fuente. Durante el
análisis sintáctico, así como en las demás etapas, se van mostrando los errores que se encuentran.

FUNCIÓN DEL ANÁLISIS SINTÁCTICO

Analizar sintácticamente una cadena de tokens no es más que encontrar para ella el árbol
sintáctico o de derivación que tiene como raíz el axioma de la gramática, y como nodos terminales
la sucesión ordenada de símbolos que componen la cadena analizada. En caso de no existir este
árbol sintáctico, la cadena no pertenecerá al lenguaje, y el analizador sintáctico ha de emitir el
correspondiente mensaje de error. Existen dos formas de analizar sintácticamente una cadena:

Análisis descendente: Partiendo del axioma inicial de la gramática se va descendiendo utilizando


las derivaciones izquierdas, hasta llegar a construir la cadena analizada.

Análisis ascendente: Se va construyendo el árbol desde sus nodos terminales. Es decir, se


construye desde los símbolos de la cadena hasta llegar al axioma de la gramática.
Simultáneamente a la fase de análisis sintáctico, además de reconocer las secuencias de tokens, y
analizar su estructura, pueden realizarse una serie de tareas adicionales, como:

• Recopilar información de los distintos tokens y almacenarla en la tabla de símbolos.

• Realizar algún tipo de análisis semántico, tal como la comprobación de tipos.

• Generar código intermedio.

• Avisar de los errores que se detecten.

Análisis semántico y pragmático.


¿Qué es el análisis semántico?

Fase del compilador en la que se comprueba la corrección semántica del programa. Conjunto de
subrutinas independientes que pueden ser invocadas por los analizadores morfológico y
sintáctico.

Funcionamiento

 Recibe como entrada el árbol de derivación del programa


 Añade al árbol de derivación una serie de anotaciones, que permiten determinar la
corrección semántica del programa y preparar la generación de código
 La salida que genera es un árbol de derivación con anotaciones semánticas

Análisis pragmático

La pragmática es un subcampo de la lengua, que se interesa por la manera en la cual el contexto


afecta a la interpretación del significado. El contexto debe entenderse como la situación, pudiendo
incluir cualquier aspecto extralingüístico; situación comunicativa, conocimiento que compartan los
hablantes, relaciones personales, etc.

En este aspecto de la lengua se toma en cuenta todos aquellos factores lingüísticos que
condicionan el uso del lenguaje, es decir, todos los factores que no se hace referencia en un
estudio formal.

Las oraciones en sí mismas comportan un contenido semántico, pero su significado e


interpretación adecuados no dependen sólo de ese contenido, sino que requieren un contexto
lingüístico definido para ser interpretadas. Es un hecho elemental bien conocido que una misma
oración puede tener intenciones o interpretaciones diferentes en diferentes contextos (puede ser
literal, irónica o metafórica).

ANALISIS PRAGMATICO

1. Emisor
2. Receptor

3. Deixis

4. Enunciados pragmáticos: constativo / performativo

5. La teoría de los actos de habla

6. Lo implícito: presuposiciones e implicaturas

1. EMISOR

La intención que tiene esta viñeta no viene a ser el tipo y modo de lenguaje así tal cual, sino que
tiene como fin obtener una clara interpretación del mismo. Su función es llegar a captar una
respuesta de tipo cómica en el receptor.

El emisor es tanto el personaje, como el autor, el mensaje y la televisión.

El personaje mediante la expresión con exclamaciones nos permite saber su reacción.

El mensaje del personaje quiere hacer saber que la culpa y la razón siempre la tiene que llevar
televisión, lo que nos permite saber totalmente con claridad lo que dice el contenido de la viñeta y
entender lo que se quiere decir.

2. RECEPTOR

El receptor es variado y múltiple ya que la viñeta está publicada en un periódico de carácter como
es El País.

La intención hacia el receptor se refleja en un mensaje claro y eficaz.

3. DEIXIS

Respecto a las deixis, la viñeta está publicada el 18 de Marzo de 2010, por ello el contenido del
mensaje está presente en la actualidad. Nos lleva a entender a una situación actual y que puede
ocurrir muy a menudo entre cada uno de nosotros.

4. ENUNCIADOS PRAGMÁTICOS

Tiene enunciados pragmáticos, al decir..”Nuestro problema”, por lo que hace referencia a que
existe un problema entre los dos, pero no entre dos personas, sino entre el personaje y la
televisión.

5. LA TEORÍA DE LOS ACTOS DE HABLA

– Acto locutivo: tiene valor locutivo por el hecho de intentar transmitirnos un mensaje.

-Acto ilocutivo: tiene valor ilocutivo ya que contiene información y al mismo tiempo tiene
condición preparatoria porque no es lógico hablar con una televisión.

-Acto perlocutivo: tiene valor perlocutivo puesto que los receptores reaccionan con asombro tras
el mensaje que han recibido del emisor.
6. LO IMPLICITO: PRESUPOSICIONES E IMPLICATURAS

– Presuposiciones:

El personaje es adulto y está solo.

Reacciona de manera exclamativa contra una televisión.

– Implicaturas:

El personaje está en su casa propia.

Con el mensaje se refiere a un problema que se corresponde a dos.

Aplicaciones del PLN


 Recuperación de información.
 Verificadores de gramática y estilo.
 Categorización de documentos.
 Respuesta a preguntas.
 Proyectos Grupo PLN

También podría gustarte