Sie sind auf Seite 1von 214

Instituto tecnológico superior de zongolica

ANTOLOGÍA DE
INTELIGENCIA
ARTIFICIAL

M.S.C. Martín Contreras de la Cruz

AGOSTO 2014
PROPÓSITO DEL CURSO

Se denomina inteligencia artificial a la rama de la ciencia informática dedicada al


desarrollo de agentes racionales no vivos (agentes inteligentes). Es la disciplina que
se encarga de construir procesos que al ser ejecutados sobre una arquitectura física
producen acciones o resultados que maximizan una medida de rendimiento
determinada, basándose en la secuencia de entradas percibidas y en el
conocimiento almacenado en tal arquitectura. La inteligencia artificial incluye varios
campos de desarrollo tales como: la robótica, usada principalmente en el campo
industrial; comprensión de lenguajes y traducción; visión en máquinas que
distinguen formas y que se usan en líneas de ensamblaje; reconocimiento de
palabras y aprendizaje de máquinas; sistemas computacionales expertos. Los
sistemas expertos, que reproducen el comportamiento humano en un estrecho
ámbito del conocimiento; son programas tan variados como los que diagnostican
infecciones en la sangre e indican un tratamiento, los que interpretan datos
sismológicos en exploración geológica y los que configuran complejos equipos de
alta tecnología.

La IA es un conjunto de métodos y filosofía, y por lo tanto no está atada a un


lenguaje en particular. Los problemas de IA requieren que los programas manipulen
conocimiento en lugar de números. Para lo anterior, se desarrollaron nuevos
lenguajes para atacar estos problemas, como lo son: de programación simbólica y
de programación lógica.

La asignatura se dividió en cinco unidades, de tal manera que el estudiante en las


primeras tres unidades obtendrá los conocimientos básicos generales, para que en
las unidades posteriores vaya adquiriendo un nivel de conocimiento y desarrollo de
habilidades, más complejas de manera gradual, además, de la misma forma se
retomarán algunos de los temas elementales de las asignaturas anteriormente
cursadas.
La primera unidad aborda conocimientos esenciales que el estudiante debe poseer
para comprender el origen, los distintos enfoques y el estado actual de los
desarrollos en el campo de la inteligencia artificial, que le serán útiles para
desarrollar su capacidad de análisis crítico y ubicar la materia en el contexto global.

Las unidades dos y tres tratan los conceptos necesarios para que el estudiante
obtenga la capacidad de solucionar problemas, mediante técnicas de búsqueda y la
capacidad de generar nuevas ideas para la representación del conocimiento y del
razonamiento, retomando los conceptos de la lógica de predicados, inducción y
teoría de grafos estudiados en la asignatura de matemáticas discretas.

En la unidad cuatro, se proporciona al estudiante los conocimientos para modelar,


sistemas de razonamiento aplicando reglas de producción, buscando que sea capaz
de diseñar una solución a un problema propuesto, utilizando el ciclo de vida de un
sistema de producción.

Dentro de la unidad cinco, se le sugiere al docente coordinar a los estudiantes para


que desarrollen un proyecto de aplicación en alguna de las distintas ramas de la
Inteligencia Artificial, que será seleccionada de acuerdo a la demanda del sector
productivo de la región. Es primordial que el alumno logre desarrollar una solución
final o proyecto integrador, puesto que la necesidad de una solución terminada es
el claro escenario que se presenta en el ambiente laboral y para que el alumno sea
capaz de enfrentar dicha situación, debe reunir habilidades de investigación,
capacidad de adaptarse a nuevas situaciones y de generar nuevas ideas y al mismo
tiempo, capacidad de trabajar en un equipo interdisciplinario.

Por último, es importante que el profesor proporcione una visión completa de la


asignatura sabiendo delimitar las aplicaciones al sector productivo y las del sector
de investigación.
CONTENIDO

Contenido
UNIDAD I. Fundamentos de la Inteligencia Artificial........................................... 10
1.1. Historia de la IA. .................................................................................... 10
1.2. Conceptos y técnicas (Estado del arte) . .................................................. 17
1.3. Desarrollos actuales. .............................................................................. 24
1.3.1. Procesamiento de Lenguaje Natural (PLN). ........................................ 31
1.3.2. Reconocimiento de patrones. ............................................................ 45
1.3.3. Robótica. ......................................................................................... 52
1.3.4. Sistemas Expertos. ........................................................................... 57
1.3.5. Lógica Difusa (Fuzzy logic). .............................................................. 62
1.4. Modelos de agente inteligente................................................................. 68
1.5. Heurística. ............................................................................................. 69
UNIDAD II. Técnicas de búsqueda.................................................................... 74
2.1. Solución de problemas con búsqueda. ....................................................... 74
2.2. Espacios de estados. ................................................................................. 99
2.2.1. Determinísticos y No Deterministicos ................................................. 102
2.3. Métodos de búsqueda ............................................................................. 105
2.4. Satisfacción de restricciones. ................................................................... 111
2.5. Teoría de juegos. .................................................................................... 112
UNIDAD III. Representación del conocimiento y razonamiento ......................... 115
3.1. Sistemas basados en conocimiento. ......................................................... 115
3.1.1. Concepto de conocimiento. ............................................................... 115
3.1.2. Lenguajes utilizados en la representación de conocimiento. ................ 116
3.2. Mapas conceptuales. ............................................................................... 119
3.3. Redes semánticas. .................................................................................. 119
3.4. Lógica de predicados .............................................................................. 121
3.5. Razonamiento con incertidumbre. ............................................................ 129
3.5.1. Aprendizaje. ..................................................................................... 134
3.5.2. Razonamiento probabilístico. ............................................................. 139
3.6. Demostración y métodos. ........................................................................ 165
UNIDAD IV. Sistemas de razonamiento .......................................................... 169
4.1. Reglas de producción. ............................................................................. 169
4.1.1. Sintaxis de las reglas de producción................................................... 169
4.2. Semántica de las reglas de producción. .................................................... 172
4.2.1. Conocimiento causal. ........................................................................ 172
4.2.2. Conocimiento de diagnóstico. ............................................................ 173
4.3. Arquitectura de un sistema de producción. ............................................... 173
4.3.1. Hechos. ........................................................................................... 175
4.3.2. Base de conocimientos. .................................................................... 176
4.3.3. Mecanismos de control. .................................................................... 177
4.4. Ciclo de vida de un sistema de producción. .............................................. 177
UNIDAD V. Aplicaciones con técnicas de IA ..................................................... 181
5.1. Robótica. ............................................................................................... 181
5.2. Redes Neuronales (RN). .......................................................................... 191
5.3. Visión artificial. ....................................................................................... 196
5.4. Lógica difusa (Fuzzy Logic)...................................................................... 198
5.5. Procesamiento de Lenguaje Natural (PLN)................................................ 201
5.6. Sistemas Expertos (SE). .......................................................................... 204
RED CONCEPTUAL DEL CURSO

Fundamentos de la Inteligencia Artificial

Técnicas de búsqueda

Representación del conocimiento y


Inteligencia Artificial
razonamiento

Sistemas de razonamiento

Aplicaciones con técnicas de IA.


COMPETENCIAS A ALCANZAR EN EL CURSO

Esta asignatura aporta al perfil del Ingeniero en Sistemas Computacionales la


capacidad de aplicar técnicas de Inteligencia Artificial mediante el desarrollo y
programación de modelos matemáticos, estadísticos y de simulación a la solución
de problemas complejos de control automático, diagnóstico, toma de decisiones,
clasificación, minería de datos, es decir, problemas propios de la Inteligencia
Artificial.

Con esta asignatura se pretende dar una Introducción a la Inteligencia Artificial (IA)
presentando a los estudiantes, algunos de los métodos más utilizados en las
diferentes áreas de la Inteligencia Artificial. Para ello, se introducen las técnicas
más comunes de manipulación y representación del conocimiento y se analizan
las características de las herramientas disponibles para la construcción de
aplicaciones reales, en las diferentes áreas de la IA, con el fin de conformar una
actitud científica, crítica y responsable del egresado.

Esta materia está situada como una de las últimas del plan de estudio, debido a
que el alumno necesita tener de base el aprendizaje de otras materias que
permitan que posea habilidades de estructuras de control, listas, arboles,
recursividad, así como, conocimientos de teoría de la probabilidad, teoría de la
computación, programación en lenguajes de alto nivel, conocimientos de
estructura y bases de datos.
UNIDAD I. Fundamentos de la Inteligencia Artificial

RED CONCEPTUAL DE LA UNIDAD

Historia de la IA

Conceptos y técnicas

Fundamentos de la Inteligencia
Desarrollos actuales
Artificial

Modelos de agente inteligente

Heurística
Competencia General de la Unidad:

- Conocer los conceptos fundamentales de la IA, así como el estado del arte
de las áreas de la inteligencia artificial.

Actividades de aprendizaje
- Investigar sobre los diferentes enfoques de la Inteligencia artificial.
- Discutir en grupo los diferentes enfoques.
- Plantear una línea de tiempo de la historia de la IA.
- Investigar las técnicas actuales de la inteligencia artificial.
- Investigar y seleccionar desarrollos actuales de la inteligencia artificial.
- Comentar en grupo los desarrollos actuales de la Inteligencia artificial.
- Investigar información acerca de los modelos de agente inteligente.
- Discutir acerca de los diferentes modelos de agentes inteligentes.
- Investigar el concepto de heurística.
- Elaborar el mapa conceptual de los temas de la unidad.
UNIDAD I. Fundamentos de la Inteligencia Artificial

1.1. Historia de la IA.

La inteligencia artificial (IA) es un área multidisciplinaria que, a través de


ciencias, tales como la informática, la lógica y la filosofía, estudia la creación y
diseño de entidades capaces de razonar por si mismas utilizando como paradigma
la inteligencia humana.

Tan general y amplio como eso, es que reúne varios campos (robótica, sistemas
expertos, por ejemplo), todos los cuales tienen en común la creación de máquinas
que pueden pensar. En ciencias de la computación se denomina inteligencia
artificial a la capacidad de razonar de un agente no vivo.1 2 3 John McCarthy,
acuñó el término en 1956, la definió: "Es la ciencia e ingenio de hacer máquinas
inteligentes, especialmente programas de cómputo inteligentes.".

 Búsqueda del estado requerido en el conjunto de los estados producidos


por las acciones posibles.
 Algoritmos genéticos (análogo al proceso de evolución de las cadenas de
ADN).
 Redes neuronales artificiales (análogo al funcionamiento físico del cerebro
de animales y humanos).
 Razonamiento mediante una lógica formal análogo al pensamiento
abstracto humano.

También existen distintos tipos de percepciones y acciones, pueden ser obtenidas


y producidas, respectivamente por sensores físicos y sensores mecánicos en
máquinas, pulsos eléctricos u ópticos en computadoras, tanto como por entradas y
salidas de bits de un software y su entorno software.

Varios ejemplos se encuentran en el área de control de sistemas, planificación


automática, la habilidad de responder a diagnósticos y a consultas de los
consumidores, reconocimiento de escritura, reconocimiento del habla y
reconocimiento de patrones. Los sistemas de IA actualmente son parte de la rutina
en campos como economía, medicina, ingeniería y la milicia, y se ha usado en
gran variedad de aplicaciones de software, juegos de estrategia como ajedrez de
computador y otros videojuegos.

Categorías de la inteligencia artificial

Stuart Russell y Peter Norvig diferencian estos tipos de la inteligencia artificial: 5


 Sistemas que piensan como humanos.- Estos sistemas tratan de emular
el pensamiento humano; por ejemplo las redes neuronales artificiales. La
automatización de actividades que vinculamos con procesos de
pensamiento humano, actividades como la Toma de decisiones, resolución
de problemas, aprendizaje.
 Sistemas que actúan como humanos.- Estos sistemas tratan de actuar
como humanos; es decir, imitan el comportamiento humano; por ejemplo la
robótica. El estudio de cómo lograr que los computadores realicen tareas
que, por el momento, los humanos hacen mejor.7
 Sistemas que piensan racionalmente.- Es decir, con lógica (idealmente),
tratan de imitar o emular el pensamiento lógico racional del ser humano; por
ejemplo los sistemas expertos. El estudio de los cálculos que hacen posible
percibir, razonar y actuar.
 Sistemas que actúan racionalmente (idealmente).– Tratan de emular de
forma racional el comportamiento humano; por ejemplo los agentes
inteligentes .Está relacionado con conductas inteligentes en artefactos.

Escuelas de pensamiento

La IA se divide en dos escuelas de pensamiento:

 La inteligencia artificial convencional


 La inteligencia computacional

Inteligencia artificial convencional

Se conoce también como IA simbólico-deductiva. Está basada en el análisis formal


y estadístico del comportamiento humano ante diferentes problemas:

 Razonamiento basado en casos: Ayuda a tomar decisiones mientras se


resuelven ciertos problemas concretos y, aparte de que son muy
importantes, requieren de un buen funcionamiento.
 Sistemas expertos: Infieren una solución a través del conocimiento previo
del contexto en que se aplica y ocupa de ciertas reglas o relaciones.
 Redes bayesianas: Propone soluciones mediante inferencia probabilística.
 Inteligencia artificial basada en comportamientos: esta inteligencia tiene
autonomía y pueden auto-regularse y controlarse para mejorar.
 Smart process management: facilita la toma de decisiones complejas,
proponiendo una solución a un determinado problema al igual que lo haría
un especialista en la actividad.

Inteligencia artificial computacional

Artículo principal: Inteligencia Computacional


La Inteligencia Computacional (también conocida como IA subsimbólica-inductiva)
implica desarrollo o aprendizaje interactivo (por ejemplo, modificaciones
interactivas de los parámetros en sistemas conexionistas). El aprendizaje se
realiza basándose en datos empíricos.

Historia

Artículo principal: Historia de la inteligencia artificial

 Él término "inteligencia artificial" fue acuñado formalmente en 1956 durante


la conferencia de Darthmounth, más para entonces ya se había estado
trabajando en ello durante cinco años en los cuales se había propuesto
muchas definiciones distintas que en ningún caso habían logrado ser
aceptadas totalmente por la comunidad investigadora. La IA es una de las
disciplinas más nuevas junto con la genética moderna.
 Las ideas más básicas se remontan a los griegos, antes de Cristo.
Aristóteles (384-322 a. C.) fue el primero en describir un conjunto de reglas
que describen una parte del funcionamiento de la mente para obtener
conclusiones racionales, y Ctesibio de Alejandría (250 a. C.) construyó la
primera máquina autocontrolada, un regulador del flujo de agua (racional
pero sin razonamiento).
 En 1315 Ramon Llull en su libro Ars magna tuvo la idea de que el
razonamiento podía ser efectuado de manera artificial.
 En 1936 Alan Turing diseña formalmente una Máquina universal que
demuestra la viabilidad de un dispositivo físico para implementar cualquier
cómputo formalmente definido.
 En 1943 Warren McCulloch y Walter Pitts presentaron su modelo de
neuronas artificiales, el cual se considera el primer trabajo del campo, aun
cuando todavía no existía el término. Los primeros avances importantes
comenzaron a principios del año 1950 con el trabajo de Alan Turing, a partir
de lo cual la ciencia ha pasado por diversas situaciones.
 En 1955 Herbert Simon, Allen Newell y J.C. Shaw, desarrollan el primer
lenguaje de programación orientado a la resolución de problemas, el IPL-
11. Un año más tarde desarrollan el LogicTheorist, el cual era capaz de
demostrar teoremas matemáticos.
 En 1956 fue inventado el término inteligencia artificial por John McCarthy,
Marvin Minsky y Claude Shannon en la Conferencia de Dartmouth, un
congreso en el que se hicieron previsiones triunfalistas a diez años que
jamás se cumplieron, lo que provocó el abandono casi total de las
investigaciones durante quince años.
 En 1957 Newell y Simon continúan su trabajo con el desarrollo del General
Problem Solver (GPS). GPS era un sistema orientado a la resolución de
problemas.
 En 1958 John McCarthy desarrolla en el Instituto de Tecnología de
Massachusetts (MIT) el LISP. Su nombre se deriva de LISt Processor. LISP
fue el primer lenguaje para procesamiento simbólico.
 En 1959 Rosenblatt introduce el Perceptrón.
 A finales de los 50 y comienzos de la década del 60 Robert K. Lindsay
desarrolla «Sad Sam», un programa para la lectura de oraciones en inglés y
la inferencia de conclusiones a partir de su interpretación.
 En 1963 Quillian desarrolla las redes semánticas como modelo de
representación del conocimiento.
 En 1964 Bertrand Raphael construye el sistema SIR (Semantic Information
Retrieval) el cual era capaz de inferir conocimiento basado en información
que se le suministra. Bobrow desarrolla STUDENT.
 A mediados de los años 60, aparecen los sistemas expertos, que predicen
la probabilidad de una solución bajo un set de condiciones. Por ejemplo
DENDRAL, iniciado en 1965 por Buchanan, Feigenbaum y Lederberg, el
primer Sistema Experto, que asistía a químicos en estructuras químicas
complejas euclidianas, MACSYMA, que asistía a ingenieros y científicos en
la solución de ecuaciones matemáticas complejas.
 Posteriormente entre los años 1968-1970 Terry Winograd desarrolló el
sistema SHRDLU, que permitía interrogar y dar órdenes a un robot que se
movía dentro de un mundo de bloques.
 En 1968 Minsky publica Semantic Information Processing.
 En 1968 Seymour Papert, Danny Bobrow y Wally Feurzeig desarrollan el
lenguaje de programación LOGO.
 En 1969 Alan Kay desarrolla el lenguaje Smalltalk en Xerox PARC y se
publica en 1980.
 En 1973 Alain Colmenauer y su equipo de investigación en la Universidad
de Aix-Marseille crean PROLOG (del francés PROgrammation en LOGique)
un lenguaje de programación ampliamente utilizado en IA.
 En 1973 Shank y Abelson desarrollan los guiones, o scripts, pilares de
muchas técnicas actuales en Inteligencia Artificial y la informática en
general.
 En 1974 Edward Shortliffe escribe su tesis con MYCIN, uno de los Sistemas
Expertos más conocidos, que asistió a médicos en el diagnóstico y
tratamiento de infecciones en la sangre.
 En las décadas de 1970 y 1980, creció el uso de sistemas expertos, como
MYCIN: R1/XCON, ABRL, PIP, PUFF, CASNET, INTERNIST/CADUCEUS,
etc. Algunos permanecen hasta hoy (Shells) como EMYCIN, EXPERT,
OPSS.
 En 1981 Kazuhiro Fuchi anuncia el proyecto japonés de la quinta
generación de computadoras.
 En 1986 McClelland y Rumelhart publican Parallel Distributed Processing
(Redes Neuronales).
 En 1988 se establecen los lenguajes Orientados a Objetos.
 En 1997 Garry Kasparov, campeón mundial de ajedrez, pierde ante la
computadora autónoma Deep Blue.
 En 2006 se celebró el aniversario con el Congreso en español 50 años de
Inteligencia Artificial - Campus Multidisciplinar en Percepción e Inteligencia
2006.
 En el año 2009 ya hay en desarrollo sistemas inteligentes terapéuticos que
permiten detectar emociones para poder interactuar con niños autistas.
 En el año 2011 IBM desarrolló una supercomputadora llamada Watson , la
cual ganó una ronda de tres juegos seguidos de Jeopardy, venciendo a sus
dos máximos campeones, y ganando un premio de 1 millón de dólares que
IBM luego donó a obras de caridad.10
 Existen personas que al dialogar sin saberlo con un chatbot no se percatan
de hablar con un programa, de modo tal que se cumple la prueba de Turing
como cuando se formuló: «Existirá Inteligencia Artificial cuando no seamos
capaces de distinguir entre un ser humano y un programa de computadora
en una conversación a ciegas».
 Como anécdota, muchos de los investigadores sobre IA sostienen que «la
inteligencia es un programa capaz de ser ejecutado independientemente de
la máquina que lo ejecute, computador o cerebro».

La inteligencia artificial y los sentimientos

El concepto de IA es aún demasiado difuso. Contextualizando, y teniendo en


cuenta un punto de vista científico, podríamos englobar a esta ciencia como la
encargada de imitar una persona, y no su cuerpo, sino imitar al cerebro, en todas
sus funciones, existentes en el humano o inventadas sobre el desarrollo de una
máquina inteligente.

A veces, aplicando la definición de Inteligencia Artificial, se piensa en máquinas


inteligentes sin sentimientos, que «obstaculizan» encontrar la mejor solución a un
problema dado. Muchos pensamos en dispositivos artificiales capaces de concluir
miles de premisas a partir de otras premisas dadas, sin que ningún tipo de
emoción tenga la opción de obstaculizar dicha labor.

En esta línea, hay que saber que ya existen sistemas inteligentes. Capaces de
tomar decisiones «acertadas».

Aunque, por el momento, la mayoría de los investigadores en el ámbito de la


Inteligencia Artificial se centran sólo en el aspecto racional, muchos de ellos
consideran seriamente la posibilidad de incorporar componentes «emotivos» como
indicadores de estado, a fin de aumentar la eficacia de los sistemas inteligentes.

Particularmente para los robots móviles, es necesario que cuenten con algo similar
a las emociones con el objeto de saber –en cada instante y como mínimo– qué
hacer a continuación [Pinker, 2001, p. 481].
Al tener «sentimientos» y, al menos potencialmente, «motivaciones», podrán
actuar de acuerdo con sus «intenciones» [Mazlish, 1995, p. 318]. Así, se podría
equipar a un robot con dispositivos que controlen su medio interno; por ejemplo,
que «sientan hambre» al detectar que su nivel de energía está descendiendo o
que «sientan miedo» cuando aquel esté demasiado bajo.

Esta señal podría interrumpir los procesos de alto nivel y obligar al robot a
conseguir el preciado elemento [Johnson-Laird, 1993, p. 359]. Incluso se podría
introducir el «dolor» o el «sufrimiento físico», a fin de evitar las torpezas de
funcionamiento como, por ejemplo, introducir la mano dentro de una cadena de
engranajes o saltar desde una cierta altura, lo cual le provocaría daños
irreparables.

Esto significa que los sistemas inteligentes deben ser dotados con mecanismos de
retroalimentación que les permitan tener conocimiento de estados internos, igual
que sucede con los humanos que disponen de propiocepción, interocepción,
nocicepción, etcétera. Esto es fundamental tanto para tomar decisiones como para
conservar su propia integridad y seguridad. La retroalimentación en sistemas está
particularmente desarrollada en cibernética, por ejemplo en el cambio de dirección
y velocidad autónomo de un misil, utilizando como parámetro la posición en cada
instante en relación al objetivo que debe alcanzar. Esto debe ser diferenciado del
conocimiento que un sistema o programa computacional puede tener de sus
estados internos, por ejemplo la cantidad de ciclos cumplidos en un loop o bucle
en sentencias tipo do... for, o la cantidad de memoria disponible para una
operación determinada.

A los sistemas inteligentes el no tener en cuenta elementos emocionales les


permite no olvidar la meta que deben alcanzar. En los humanos el olvido de la
meta o el abandonar las metas por perturbaciones emocionales es un problema
que en algunos casos llega a ser incapacitante. Los sistemas inteligentes, al
combinar una memoria durable, una asignación de metas o motivación, junto a la
toma de decisiones y asignación de prioridades con base en estados actuales y
estados meta, logran un comportamiento en extremo eficiente, especialmente ante
problemas complejos y peligrosos.

En síntesis, lo racional y lo emocional están de tal manera interrelacionados entre


sí, que se podría decir que no sólo no son aspectos contradictorios sino que son –
hasta cierto punto– complementarios.

Críticas

Las principales críticas a la inteligencia artificial tienen que ver con su capacidad
de imitar por completo a un ser humano. Estas críticas ignoran que ningún
humano individual tiene capacidad para resolver todo tipo de problemas, y autores
como Howard Gardner han propuesto que existen inteligencias múltiples. Un
sistema de inteligencia artificial debería resolver problemas. Por lo tanto es
fundamental en su diseño la delimitación de los tipos de problemas que resolverá
y las estrategias y algoritmos que utilizará para encontrar la solución.

En los humanos la capacidad de resolver problemas tiene dos aspectos: los


aspectos innatos y los aspectos aprendidos. Los aspectos innatos permiten por
ejemplo almacenar y recuperar información en la memoria y los aspectos
aprendidos el saber resolver un problema matemático mediante el algoritmo
adecuado. Del mismo modo que un humano debe disponer de herramientas que le
permitan solucionar ciertos problemas, los sistemas artificiales deben ser
programados de modo tal que puedan resolver ciertos problemas.

Muchas personas consideran que el test de Turing ha sido superado, citando


conversaciones en que al dialogar con un programa de inteligencia artificial para
chat no saben que hablan con un programa. Sin embargo, esta situación no es
equivalente a un test de Turing, que requiere que el participante esté sobre aviso
de la posibilidad de hablar con una máquina.

Otros experimentos mentales como la Habitación china de John Searle han


mostrado cómo una máquina podría simular pensamiento sin tener que tenerlo,
pasando el test de Turing sin siquiera entender lo que hace. Esto demostraría que
la máquina en realidad no está pensando, ya que actuar de acuerdo con un
programa preestablecido sería suficiente. Si para Turing el hecho de engañar a un
ser humano que intenta evitar que le engañen es muestra de una mente
inteligente, Searle considera posible lograr dicho efecto mediante reglas definidas
a priori.

Uno de los mayores problemas en sistemas de inteligencia artificial es la


comunicación con el usuario. Este obstáculo es debido a la ambigüedad del
lenguaje, y apareció ya en los inicios de los primeros sistemas operativos
informáticos. La capacidad de los humanos para comunicarse entre sí implica el
conocimiento del lenguaje que utiliza el interlocutor. Para que un humano pueda
comunicarse con un sistema inteligente hay dos opciones: o bien el humano
aprende el lenguaje del sistema como si aprendiese a hablar cualquier otro idioma
distinto al nativo, o bien el sistema tiene la capacidad de interpretar el mensaje del
usuario en la lengua que el usuario utiliza.

Un humano durante toda su vida aprende el vocabulario de su lengua nativa. Un


humano interpreta los mensajes a pesar de la polisemia de las palabras utilizando
el contexto para resolver ambigüedades. Sin embargo, debe conocer los distintos
significados para poder interpretar, y es por esto que lenguajes especializados y
técnicos son conocidos solamente por expertos en las respectivas disciplinas. Un
sistema de inteligencia artificial se enfrenta con el mismo problema, la polisemia
del lenguaje humano, su sintaxis poco estructurada y los dialectos entre grupos.
Los desarrollos en inteligencia artificial son mayores en los campos disciplinares
en los que existe mayor consenso entre especialistas. Un sistema experto es más
probable de ser programado en física o en medicina que en sociología o en
psicología. Esto se debe al problema del consenso entre especialistas en la
definición de los conceptos involucrados y en los procedimientos y técnicas a
utilizar. Por ejemplo, en física hay acuerdo sobre el concepto de velocidad y cómo
calcularla. Sin embargo, en psicología se discuten los conceptos, la etiología, la
psicopatología y cómo proceder ante cierto diagnóstico. Esto dificulta la creación
de sistemas inteligentes porque siempre habrá desacuerdo sobre lo que se
esperaría que el sistema haga. A pesar de esto hay grandes avances en el diseño
de sistemas expertos para el diagnóstico y toma de decisiones en el ámbito
médico y psiquiátrico (Adaraga Morales, Zaccagnini Sancho, 1994).

1.2. Conceptos y técnicas (Estado del arte) .


http://personales.upv.es/ccarrasc/extdoc/Tema1.pdf

1.3. Desarrollos actuales.


http://personales.unican.es/gutierjm/docs/trans_ai.pdf

1.3.1. Procesamiento de Lenguaje Natural (PLN).

Introducción

El tesoro más valioso de la raza humana es el conocimiento, es decir, la información.


Existen en el mundo volúmenes inmensos de información en forma de lenguaje natural: los
libros, los periódicos, los informes técnicos, etcétera. Pero la posesión verdadera de este
tesoro implica la habilidad de hacer ciertas operaciones con la información:

 Buscar la información necesaria,

 Comparar las fuentes diferentes, y hacer inferencias lógicas y conclusiones,

 Manejar los textos, por ejemplo, traducirlos a otros idiomas.


En realidad, las computadoras son más capaces de procesar la información que las
personas. Pueden procesar muchísimos más grandes volúmenes de información que una
persona puede leer en su vida. A base de ésta, pueden hacer inferencias lógicas tomando en
cuenta más hechos y más fuentes.

Todo parece estar preparado para el uso de las computadoras para procesar volúmenes
grandes de información: los métodos lógicos ya son muy fuertes, los procesadores muy
rápidos, muchos textos ya están disponibles en forma digital, tanto en las casas editoriales
como en Internet. El único problema para la computadora al procesar los textos es que
simplemente ¡no los entiende! Hasta ahora, los textos son para la computadora solamente
cadenas de letras sin cualquier sentido y no una información útil para el razonamiento
lógico.

Para convertir la computadora en nuestro verdadero ayudante en el procesamiento de


textos, se necesita pasar un largo camino de aprendizaje de la estructura de textos y de su
formalización; más abajo vamos a hablar de algunos problemas en este camino. Pero si es
tan largo el camino, ¿existe una razón práctica para trabajar en esta área ahora? Sí, existe,
porque con cada paso obtenemos las herramientas que ya tienen gran valor práctico, que
ayudan en nuestras tareas cotidianas.

Desarrollo

Linguística

La Lingüística es la disciplina que se ocupa del estudio científico del lenguaje. Dentro de la
Lingüística se pueden identificar diferentes áreas de interés, tales como:

 Lingüística Aplicada - aplicación de la lingüística a áreas específicas como la


traducción, enseñanza de un segundo idioma, pronósticos, etc.
 Antropología Lingüística - estudio de las relaciones entre lenguaje y cultura.
 Lingüística Computacional - procesamiento del lenguaje natural.
 Neuro-lingüística: estudio del cerebro y de su funcionamiento en la producción,
percepción y adquisición del lenguaje.
 Sociolingüística: estudio de las relaciones entre el lenguaje y estructuras sociales,
variación lingüística y actitudes hacia el lenguaje.
 Psico-lingüística: estudio de la adquisición del lenguaje.
 Lingüística Teórica - análisis lingüístico.

Análisis Lingüístico

Cuando se hace análisis lingüístico, se está trabajando dentro del campo de la Teoría
Lingüística o Lingüística Teórica. Desde este punto de vista, la gramática de una lengua es
una representación explícita del conocimiento (consciente e inconsciente) que un hablante
nativo tiene de su lengua. Una teoría lingüística debe de proporcionar las nociones y
herramientas analíticas necesarias que nos permitan describir de manera explícita el
conocimiento.

Cuando un lingüista escribe una gramática, este lingüista no sólo describe una lengua, sino
que también nos está diciendo algo sobre los procesos cognoscitivos del ser humano. Por lo
tanto, una teoría lingüística debe no sólo proveer los medios para describir gramáticas de
manera explícita, sino que debe de permitir hacer generalizaciones racionales que permitan
describir los procesos gramaticales de un lenguaje.

El análisis lingüístico consiste en:

1. Analizar los datos existentes y descubrir las reglas, leyes y regularidades del lenguaje;

2. Expresar de manera formal una generalización que describa esas reglas, leyes y
regularidades de forma racional;

La Lingüística tiene por objetivo descubrir los métodos para describir no sólo una lengua en
concreto, sino de cualquier lenguaje natural, es conocer con profundidad una lengua
particular, y llegar a entender la facultad humana del lenguaje. Por lo tanto, el análisis de
fenómenos gramaticales en una lengua determinada ayuda a entender, no sólo la lengua en
cuestión, sino el proceso cognoscitivo del hombre.

Lenguaje

Lenguaje es el empleo de la palabra para expresar ideas, comunicarse, establecer relaciones


entre los seres humanos. Un lenguaje es un conjunto de palabras, su pronunciación y los
métodos para combinarlas en frases y oraciones, generalmente infinito y que se forma
mediante combinaciones de palabras definidas en un diccionario terminológico
previamente establecido. Las combinaciones posibles deben respetar un conjunto de reglas
sintácticas establecidas, a ello se le conoce con el nombre de Sintaxis. Además, las palabras
deben tener determinado sentido, deben ser comprendidas por un grupo humano en un
contexto dado, a ello se le denomina Semántica.

A lo largo de la historia el ser humano a utilizado el lenguaje para trasmitir sus


conocimientos, sentimientos, emociones, sensaciones, comunicarse con el resto de los
humanos y esta función del lenguaje la ha desarrollado de manera oral, gráfica, escrita o
por señas.

Cuando hablamos de lenguajes se pueden diferenciar dos clases muy bien definidas

 Los lenguajes naturales como el español, el ruso , el ingles, el francés, etc.


 Los lenguajes formales como los lenguajes de programación, el lenguaje de la
lógica matemática, etc.
Existen muchas definiciones de lenguaje natural, una que pudiera acercarnos a entender
mejor este concepto plantea:

Se denomina Lenguaje Natural a un lenguaje escrito o hablado usado por una comunidad
que es precisamente lo contrario a un lenguaje para establecer comunicación con una
computadora, mediante la entrada de datos, o la programación de su funcionamiento.
(Guzmán 1997)

Los lenguajes han sufrido un largo y complejo proceso de desarrollo desde el surgimiento
del hombre sobre la faz de la Tierra. Los lenguajes se han desarrollado a partir de la
experiencia práctica de los diferentes grupos humanos. La riqueza de sus componentes
semánticos otorga a los lenguajes naturales gran poder expresivo y valor como herramienta
para expresar y exteriorizar los razonamientos más sutiles y complejos. La sintaxis de un
LN se puede modelar mediante la utilización de un lenguaje formal. Otra propiedad
importante de los lenguajes naturales es la poli-semántica, es decir la posibilidad de que
una palabra posea significados diferentes.

Los lenguajes naturales se caracterizan por las propiedades siguientes:

1. Han sufrido un largo y complejo proceso histórico de perfeccionamiento previo a la


aparición de una teoría científica que explique las leyes fundamentales de su
desarrollo;
2. Su capacidad para expresar el pensamiento humano en toda su complejidad y
belleza;
3. Dificultad para lograr una formalización científica completa;
4. Su capacidad para transmitir la historia, las ideas, las costumbres, la cultura y la
ciencia de las diferentes sociedades humanas.

La comprensión y reconocimiento del lenguaje natural es uno de los problemas mas


complejos a que se enfrenta la Inteligencia Artificial debido a la complejidad, irregularidad
y diversidad del lenguaje humano y a los problemas filosóficos y psicológicos asociados al
significado de frases, oraciones y textos en su conjunto.

La concepción principal que orienta el desarrollo de las tecnologías del habla y del lenguaje
natural tiene por objetivo estratégico lograr que la interacción con las máquinas sea análoga
a la que se ha desarrollado históricamente en la interacción entre las personas. En otras
palabras, estratégicamente se plantea como objetivo lograr una relación hombre/máquina
análoga a la relación hombre/hombre. En múltiples y diversas aplicaciones el
reconocimiento del hablar y el lenguaje natural son de gran utilidad. En ocasiones se
presentan problemas en el reconocimiento y comprensión de las expresiones orales y
escritas. La escritura, los símbolos, las imágenes y la voz son los medios de comunicación
fundamentales en la interacción hombre/máquina. La experiencia practica acumulada, en el
campo del Lenguaje Natural, ha señalado la conveniencia de orientar el reconocimiento del
lenguaje natural más al análisis de frases, oraciones y textos en su conjunto, que al
reconocimiento de palabras aisladas. En otras palabras, priorizar el reconocimiento del
sistema en su conjunto, sobre el reconocimiento de sus partes integrantes.

Lenguaje Formal

Un lenguaje formal es un lenguaje artificial o sea creado por el hombre que esta formado
por símbolos y formulas y que tiene como objetivo fundamental formalizar la programación
de computadoras o representar simbólicamente un conocimiento.

Las palabras y oraciones en un lenguaje formal poseen definición rigurosa desde el punto
de vista científico. Son utilizados para modelar teorías científicas con la ventaja de que en
estos se reduce la ambigüedad.

En resumen las características de los lenguajes formales son las siguientes:

 Se han desarrollado como un medio para formalizar matemáticamente una teoría;


 Su sintaxis es capaz de definir oraciones rigurosamente definidas;
 Constituyen un poderoso instrumento para la investigación y el procesamiento del
Lenguaje Natural por computadora.

Un lenguaje de programación es un lenguaje Artificial usado para escribir instrucciones que


pueden ser traducidas a lenguaje maquina y ejecutadas en una computadora.

Un lenguaje de programación esta formado por un conjunto de reglas sintácticas que


permiten escribir un programa, de forma tal que sea entendido por la computadora. Un
programa es un conjunto de instrucciones con un orden determinado que permite realizar
una tarea computacional dada.

Un lenguaje de programación se basa en dos conceptos fundamentales:

 Sintaxis – garantiza la utilización correcta de cada una de las expresiones de


determinado lenguaje de programación.
 Semántica – garantiza que las expresiones de un lenguaje de programación posean
un significado correcto.

Procesamiento del Lenguaje natural

El procesamiento del lenguaje es de manera general, el conjunto de instrucciones que una


computadora recibe en un lenguaje de programación dado (formal), que le permitirán
comunicarse con un humano en su propio lenguaje, (ingles, francés, español, etc).

El procesamiento del lenguaje natural presenta múltiples aplicaciones:

 Corrección de textos
 Traducción automática
 Recuperación de la información
 Extracción de Información y Resúmenes
 Búsqueda de documentos
 Sistemas Inteligentes para la Educación y el Entrenamiento

La corrección de textos permite la detección y corrección de errores ortográficos y


gramaticales, Para detectar este tipo de errores, la computadora necesita entender en cierto
grado el sentido del texto. Los correctores de gramática detectan las estructuras incorrectas
en las oraciones aunque todas las palabras en la oración estén bien escritas en el lenguaje en
cuestión. El problema de detectar los errores de este tipo es complejo debido a la existencia
de gran variedad de estructuras permitidas.

Para describir las estructuras de las oraciones en el idioma, se usan las llamadas gramáticas
formales, o sea conjuntos de reglas de combinación de palabras y su orden relativo en las
oraciones.

La traducción automática se refiere a la traducción correcta de un lenguaje a otro, tomando


en cuenta lo que se quiere expresar en cada oración.

En el campo de la recuperación de la información han desarrollado sistemas que permiten


obtener información sobre estadísticas deportivas, información turística, geografía etc.. En
lugar de buscar los documentos para encontrar en ellos la respuesta a su pregunta, el
usuario podría hacer su pregunta a la computadora: ¿Cómo se llama el Presidente de
Francia?, ¿Cuáles son los centros más avanzados en Procesamiento del Lenguaje Natural?,
y otras.

Por otra parte Se han desarrollado sistemas con la capacidad de crear resúmenes de
documentos a partir de los datos suministrados. Estos sistemas son capaces de realizar un
análisis detallado del contenido del texto y elaborar un resumen.

También se han desarrollado sistemas inteligentes que permiten modelar el comportamiento


del estudiante, reconocer y procesar sus errores, desarrollar habilidades en la resolución de
problemas y otras actividades del proceso enseñanza y aprendizaje. En ellos el
Procesamiento del Lenguaje Natural juega un papel de relevante importancia en la creación
y desarrollo de interfaces amigables.

Arquitectura de un sistema de Procesamiento del Lenguaje Natural

Uno de los elementos fundamentales en el diseño de un sistema PLN es sin lugar a dudas la
determinación de la arquitectura del sistema, es decir, como se introducen los datos a la
computadora y como ella interpreta y analiza las oraciones que le sean proporcionadas. A
continuación se muestra un esquema del análisis léxico/ sintáctico por computadora. El
sistema consiste de:
a. El usuario le expresa (de alguna forma) a la computadora que tipo de procesamiento
desea hacer;
b. La computadora analiza las oraciones proporcionadas, en el sentido morfológico y
sintáctico;
c. Luego, se analizan las oraciones semánticamente, es decir se determina el
significado de cada oración;
d. Se realiza el análisis pragmático del texto. Así, se obtiene una expresión final.

Se ejecuta la expresión final y se entrega al usuario para su consideración.

Comprensión del lenguaje

El verbo comprender, proviene del latín comprenhendere, y significa entender, penetrar,


concebir, discernir, descifrar. Se entiende entonces por comprensión - al conocimiento
perfecto de alguna cosa; a la captación del significado de alguna cosa o fenómeno; a la
acción de aceptar un hecho o un suceso como cierto o plausible sin lugar a duda; a tener
certeza completa del significado, naturaleza o explicación de alguna cosa o fenómeno.

La comprensión adecuada del texto es la tarea más importante y compleja del análisis
lingüístico.

¿Qué es comprensión del lenguaje?

¿Cómo se puede determinar si la computadora comprende el texto?

La comprensión del texto consiste en su transformación en determinada representación


formal. Esta representación formal puede ser una red de conceptos, un conjunto de
predicados lógicos, etc. Ella puede usarse posteriormente para responder preguntas,
compilar resúmenes, y otras tareas lingüísticas. En la actualidad, los resultados prácticos
alcanzados en el área de la comprensión de texto son aun modestos. Por ello, los científicos
que trabajan en la lingüística computacional realizan ingentes esfuerzos en esta área del
conocimiento.

Problemas en el procesamiento del lenguaje natural

Debido a que el Procesamiento del Lenguaje Natural tiene por objetivo fundamental la
comprensión del lenguaje natural el hecho de que se presenten en textos y expresiones
habladas elementos ambiguos constituye uno de los problemas que se fundamentales que
deben ser resueltos racionalmente. El problema de la ambigüedad surge cuando una
expresión hablada o escrita posee más de un significado o interpretación.

Ejemplo 1

"Pedro vio a Luisa, con la computadora"


"Pedro vio a Luisa con la computadora"

Ejemplo 2

Otro ejemplo de ambigüedad podría estar relacionado con las diversas alternativas de
escribir la oración:

"Determine y Analice los errores del texto con estructuras complejas",

posiblemente, sería más correcto escribir:

 Determine y analice los errores del texto que tiene estructuras complejas
 Determine y analice en el texto los errores que poseen estructuras complejas
 Determine y analice a través de estructuras complejas los errores en el texto

Los problemas de ambigüedad también se presentan en la traducción automática, la


detección y corrección de errores ortográficos y gramaticales, etc.

Por ejemplo, para traducir las oraciones como

John took a cake from the table and ate it.

John took a cake from the table and cleaned it.

se necesita realmente entender qué hizo John: tomó un pastel de la mesa y ¿lo comió o la
comió? ¿lo limpió o la limpió? Al revés, para traducir el texto Juan le dio a María un pastel.
Lo comió, hay que elegir entre las variantes He ate it, She ate it, It ate him, She ate him, etc.

Generación de textos

El complemento natural a la capacidad de entender el lenguaje es el segundo componente


de la comunicación, que es la capacidad de producir el texto o bien el habla. En cierto
grado es una tarea más simple que la comprensión, ya que por lo menos la computadora
puede elegir las expresiones que sabe producir.

Uno podría pensar que para la generación de texto sólo es suficiente saber las reglas de
gramática, es decir, saber palabras de cuales números, tiempos y géneros hay que usar en la
oración y en que orden ponerlas. Sin embargo, hay algunos problemas en la generación de
texto. Uno reside en la necesidad de elegir las palabras y expresiones que «se usan» en el
contexto dado. Por ejemplo, hay que saber que para expresar la idea ‘muy, mucho’, hay que
usar palabras diferentes: té cargado, voz alta, borracho como una uva, trabajar duro.

El otro problema es que el texto producido con los métodos de fuerza bruta es aburrido,
incoherente y a veces no entendible. Hay que saber en qué ocasiones se deben usar los
pronombres y en qué otras las palabras completas, en qué ocasiones hay que explicar, de
qué se trata la oración y en qué otras es entendible para el lector. Esto se refiere a los
métodos de la nombrada planificación textual.

El propósito del lenguaje es transferir conocimientos de una persona a otra. El


conocimiento es una estructura compleja, multidimensional, que usualmente se representa
como una red, o grafo, de conceptos. Pero el modo que usamos para transferir el
conocimiento es unidimensional: en cada momento sólo podemos decir un sonido, una
letra. Entonces, el trabajo del lenguaje es codificar el conocimiento multidimensional en
una cadena de letras, y después, en el cerebro del escuchante o el lector, decodificar esta
secuencia en el conocimiento original.

El lenguaje es una estructura muy compleja. Afortunadamente, el codificador y


decodificador funcionan en pasos, construyendo las estructuras más complejas de ladrillos
más simples:

 Palabras de letras,

 Oraciones de palabras,

 Textos de oraciones.

Para ver el gráfico seleccione la opción "Descargar" del menú superior

En cierta forma un programa de PLN, simula los mecanismos de comunicación que se


establecen entre dos humanos.

Gramáticas Formales

Hay una clase de sistemas de generación de interés primario para los Informáticos – ellos
son los sistemas conocidos como Gramáticas.

El concepto de Gramática fue originalmente formalizado por los lingüistas en su estudio de


los lenguajes naturales

Los lingüistas tenían relación no sólo con la definición precisa de lo que es o no es una
sentencia u oración válida de un lenguaje, sino también de dar o suministrar descripciones
estructurales de las sentencias u oraciones

Uno de estos objetivos estuvo relacionado con el desarrollo de una Gramática Formal capaz
de describir la lengua inglesa

Se podría pensar, que si por ejemplo, se tiene una gramática formal para describir la lengua
inglesa, podríamos usar el computador en los campos que necesiten una comprensión de la
lengua inglesa
Tal uso puede ser la traducción de de lenguajes o la solución computacional de problemas
de enunciados

Hasta el momento actual, este objetivo sigue siendo en gran parte irrealizable

Aun no se dispone de una gramática bien definida de la lengua inglesa.

Además, existen contradicciones sobre que tipo de gramática formal seria capaz de
describir al idioma Ingles.

Sin embargo, han sido alcanzados mejores resultados en la descripción de los lenguajes de
computación

Por ejemplo, la Forma Backus – Naur usada para describir el lenguaje de programación
ALGOL es una "gramática de libre contexto ", esto es, un tipo de gramática con la que
tendremos relación en esta disciplina.

Existe costumbre de realizar diagramas o análisis (parsing) de una sentencia u oración


inglesa

Por ejemplo, la sentencia u oración :"The little boy ran quickly "

se analiza (parsed) por medio de la notación de que la oración consiste de:

nome (noun phrase):

"The little boy"

seguido de la frase verbal (verb phrase)

"ran quickly"

El nombre puede ser decompuesto en nombre singular "boy" modificado por dos adjetivos:

"The" y

"little"

La frase verbal puede ser decompuesta, a su vez, en un verbo singular

"ran"

modificado por el adverbio

"quickly"
Esta estructura de la oración es indicada en el siguiente diagrama.

Figura Árbol Sintáctico de una oración

Se reconoce la estructura de la sentencia u oración como gramaticalmente correcta.

Si se tiene un conjunto completo de negras para analizar (parsing) todas las oraciones en
idioma Ingles, entonces podríamos tener una técnica para determinar si la oración es o no
gramaticalmente correcta. Sin embargo, tal conjunto de negras realmente no existe. En
parte, esto se debe a que no existen reglas claras y precisas para determinar lo que
constituye una oración:

<sentencia u oracion> ® < nombre> <frase verbal>

<frase verbal> ® <adjetivo> <frase nominativa>

<frase nominativa> ® <adjetivo> <nombre singular>

<frase verbal> ® <verbo singular> <adverbio>

<adjetivo> ® The

<adjetivo> ® little

<nombre singular> ® boy

<verbo singular> ® ran

<adverbio> ® quickly
La flecha indica que el elemento de la izquierda de la flecha puede generar los elementos
colocados en el lado derecho de la flecha. Note que se ha encerrado entre corchetes los
nombres de las partes de las oraciones, tales como, nombre, verbo, frase verbal, etc., para
evitar confusión con las palabras en Ingles y las frases "nombre", "frase verbal", etc. Se
puede notar que no es sólo posible verificar las oraciones por su correlación gramatical,
sino también es posible generar oraciones correctas gramaticalmente. Para ello se comienza
con la cantidad <oración> y se sustituye <oración> por <frase nominativa> seguida de
<frase verbal> . Luego se selecciona una de las dos reglas para <frase nominativa> y se
aplica, y así sucesivamente , hasta que ninguna otra aplicación adicional de las negras sea
posible. En esta forma, un número infinito de oraciones puede ser derivada – esto es,
cualquier oración consistente de una cadena de ocurrencias de "the" y "little" seguido por
"boy ran quickly" tal como "little the the boy ran quickly" puede generarse. La mayoría de
las oraciones no tiene sentido, son gramaticalmente correctas en un sentido amplio.

Definiciones empleadas en las gramáticas formales.

Alfabeto: Un alfabeto es un conjunto arbitrario, pero finito, de símbolos.

Por ejemplo, el código de maquina se basa en el alfabeto binario A1={0,1}; otros ejemplos
son A2{0,1,2,3,4,5,6,7,8,9}, A3{+,-,*,/,} etc.

Símbolos: Los elementos del vocabulario (alfabeto) de un lenguaje formal se denominan


símbolos; en el caso de los lenguajes naturales los conocemos como palabras.

Componente Léxico: las ocurrencias múltiples de símbolos (o palabras) se denominan


componentes léxicos.

Frase: Una frase es una secuencia de símbolos.

Gramática (sintaxis): La gramática o la sintaxis de un lenguaje define si una secuencia


arbitraria de símbolos es correcta, es decir, si es una frase significativa. Decimos que una
frase correcta será aceptada por el lenguaje.

Cadena: Sentencia (finita) de elementos de un cierto conjunto (alfabeto).

Producción: Las reglas para la sustitución de cadenas se denominan producciones.

Símbolos terminales: Son los símbolos que realmente aparecen en una frase.

Símbolos no terminales: Los símbolos no terminales deben ser definidos por otras
producciones o reglas ; es decir, también aparecen en el lado izquierdo de las producciones.
Los símbolos no terminales son variables sintácticas.

Vocabulario = alfabeto: Al igual que los lenguajes naturales, los lenguajes formales se
basan en un vocabulario específico, a saber, los elementos del lenguaje.
Forma de Backus – Naur

La forma de Backus – Naur fue creada para definir la estructura del lenguaje de
programación ALGOL60.

Tabla Forma Backus – Naur

Símbolo Significado
"se define como"

fin de definición
| "or", alternativa
[x] Una o ninguna ocurrencia de x
Número arbitrario de ocurrencias de
{x}
x (0,1,2,...)
(x | y) Selección (x o y)

La forma Backus – Naur es un metalenguaje, o sea, un lenguaje con el que se pueden


describir otros lenguajes. Hay algunos dialectos de la notación BNF. En la tabla se
presentan algunos de los símbolos más comunes de la BNF. Con esa notación y los
símbolos terminales.

T= {+,-, 0,1,2,3,4,5,6,7,8,9}

Además de los símbolos no terminales

N= {int, unsigned_int, digit}

Podemos definir los enteros con las siguientes reglas (producciones) BNF:

int à [+ | - ] unsigned_int

unsigned_int à digit unsigned_int digit.

digit à 0|1|2|3|4|5|6|7|8|9|

La primera regla define un entero como un entero sin signo mas un signo inicial. Este signo
puede estar ausente o ser "+" o "-". La segunda regla indica que la notación BNF permite
definiciones recursivas.
Existe una descripción formal de un lenguaje si existe un número finito de reglas BNF que
permiten derivar cualquier frase del lenguaje. En este aspecto, el conjunto finito de reglas
anterior es una descripción formal del conjunto infinito de los enteros.

Conclusiones

El procesamiento del lenguaje natural tiene como objetivo fundamental lograr una
comunicación maquina-humano similar a la comunicación humano-humano.

El empleo del lenguaje le permite al hombre trasmitir sus conocimientos, sentimientos,


sensaciones, emociones, y estados de ánimo

A lo largo de la historia los lenguajes naturales han ido evolucionando, de forma paralela al
desarrollo y evolución de la especie humana.

Han sido varios los sistemas informáticos inteligentes que se han desarrollado que emplean
el procesamiento del lenguaje natural.

Bibliografía

1. Adolfo Guzmán-Arenas. Hallando los temas principales en un artículo en español.


Soluciones Avanzadas. Vol. 5, No. 45, p. 58, No. 49, p. 66, 1997.

2. Adolfo Guzmán-Arenas. Finding the main themes in a Spanish document. Journal


Expert Systems with Applications, Vol. 14, No. 1/2. Jan/Feb 1998, pp. 139-148.

3. I. A. Bolshakov, A. Gelbukh. Lexical functions in Spanish. CIC-98 - Simposium


Internacional de computación, November 11 - 13, 1998, México D.F., pp. 383 - 395.

4. Alexander Gelbukh. Using a semantic network for lexical and syntactic


disambiguation. Proc. of Simposium Internacional de Computación: Nuevas Aplicaciones e
Innovaciones Tecnológicas en Computación, November 1997, México.

5. A.Gelbukh, I. Bolshakov, S. Galicia-Haro. Statistics of parsing errors can help


syntactic disambiguation. CIC-98 - Simposium Internacional de Computación, November
11 - 13, 1998, México D.F., pp. 405 - 515.

6. I.A. Bolshakov, A.F. Gelbukh, S.N. Galicia-Haro. Syntactical managing patterns for
the most common Spanish verbs. CIC’97, Nuevas Aplicaciones e Innovaciones
Tecnológicas en Computación, Simposium Internacional de Computación, 12-14 de
noviembre, pp. 367 - 371, 1997, CIC, IPN, México D.F.

7. I. A. Bolshakov, A. Gelbukh, S. Galicia Haro, M. Orozco Guzmán. Government


patterns of 670 Spanish verbs. Technical report. CIC, IPN, 1998.
8. Manuel Montes y Gómez, Aurelio López López, Alexander Gelbukh. Text Mining as
a Social Thermometer. Text Mining Workshop (forthcoming) at IJCAI'99, Stockholm,
August, 1999.

9. A. Gelbukh, S. Galicia-Haro, I.Bolshakov. Three dictionary-based techniques of


disambiguation. TAINA-98, International Workshop on Artificial Intelligence, CIC-IPN,
México D.F., pp. 78 - 89.

10. Adolfo Guzmán Arenas. Colaboración Dirigida entre Agentes con Propósito.
Memorias del Congreso Internacional de Computación CIC-99, CIC, IPN, 1999, México.

http://www.monografias.com/trabajos17/lenguaje-natural/lenguaje-
natural.shtml

1.3.2. Reconocimiento de patrones.

El reconocimiento de patrones —también llamado lectura de patrones, identificación


de figuras y reconocimiento de formas—1 consiste en el reconocimiento de patrones de
señales. Los patrones se obtienen a partir de los procesos de segmentación, extracción de
características y descripción dónde cada objeto queda representado por una colección de
descriptores. El sistema de reconocimiento debe asignar a cada objeto su categoría o clase
(conjunto de entidades que comparten alguna característica que las diferencia del resto).
Para poder reconocer los patrones se siguen los siguientes procesos:

1. adquisición de datos
2. extracción de características
3. toma de decisiones

El punto esencial del reconocimiento de patrones es la clasificación: se quiere clasificar una


señal dependiendo de sus características. Señales, características y clases pueden ser de
cualquiera forma, por ejemplo se puede clasificar imágenes digitales de letras en las clases
«A» a «Z» dependiendo de sus píxeles o se puede clasificar ruidos de cantos de los pájaros
en clases de órdenes aviares dependiendo de las frecuencias.

Sistema básico de reconocimiento


Un sistema completo de reconocimiento de patrones incluye un sensor que recoja fielmente
los elementos del universo a ser clasificado, un mecanismo de extracción de características
cuyo propósito es extraer la información útil, eliminando la información redundante e
irrelevante, y finalmente una etapa de toma de decisiones en la cual se asigna a la categoría
apropiada los patrones de clase desconocida a priori.

Sensor
Artículo principal: Sensor

El sensor es el dispositivo encargado de la adquisición de datos. Ha de ser capaz de


transformar magnitudes físicas o químicas, llamadas variables de instrumentación, en
magnitudes eléctricas. Las variables de instrumentación dependen del tipo de sensor y
pueden ser por ejemplo: temperatura, intensidad lumínica, distancia, aceleración,
inclinación, desplazamiento, presión, fuerza, torsión, humedad, etc.

Extracción de características
Es el proceso de generar características que puedan ser
usadas en el proceso de clasificación de los datos. En
ocasiones viene precedido por un preprocesado de la señal,
necesario para corregir posibles deficiencias en los datos
debido a errores del sensor, o bien para preparar los datos
de cara a posteriores procesos en las etapas de extracción de
características o clasificación.
Las características elementales están explícitamente
presentes en los datos adquiridos y pueden ser pasados
directamente a la etapa de clasificación. Las características
de alto orden son derivadas de las elementales y son
generadas por manipulaciones o transformaciones en los datos.

Selección de variables

Consiste en seleccionar cuál es el tipo de características o rasgos más adecuados para


describir los objetos. Para ello, se deben localizar los rasgos que inciden en el problema de
manera determinante.
Esta etapa también puede ser diseñada dentro de la clasificación.

La selección de variables puede diferenciarse según los objetivos buscados:

 Para la clasificación: la selección de


características relevantes, a partir del conjunto
total de características que describen a los
objetos, se hace con dos motivos fundamentales:
mejorar la clasificación o aumentar la velocidad de
procesamiento.
 Para la representación: decidir qué características
representan mejor a cierto tipo de objetos.

Estrategias de selección de variables:

 wrapper: la selección de características se hace


usando información del mecanismo de clasificación.
 filter: la selección se hace con un criterio
independiente del clasificador. Incluye algunos
métodos como:

 Tablas de decisión: le busca un subconjunto mínimo


de variables que no introduzca confusión entre
clases.
 ID3: le crea un árbol de decisión y se selecciona
un conjunto de variables que permita discriminar
entre clases.
 Teoría de testores: le buscan todos los
subconjuntos de variables discriminantes minimales,
con estos se evalúa la relevancia de cada variable
y se seleccionan aquellas con mayor relevancia.

Clasificación
La clasificación trata de asignar las diferentes partes del vector de características a grupos o
clases, basándose en las características extraídas. En esta etapa se usa lo que se conoce
como aprendizaje automático, cuyo objetivo es desarrollar técnicas que permitan a las
computadoras aprender.

Utiliza habitualmente uno de los siguientes procedimientos:

 Geométrico (Clustering): Los patrones deben ser


graficables. En éste enfoque se emplea el cálculo
de distancias, geometría de formas, vectores
numéricos, puntos de atracción, etc.

 Estadístico: Se basa en la teoría de la


probabilidad y la estadística, utiliza análisis de
varianzas, covarianzas, dispersión, distribución,
etc.

Supone que se tiene un conjunto de medidas numéricas con distribuciones de probabilidad


conocidas y a partir de ellas se hace el reconocimiento.

 Sintáctico‐estructural: se basa en encontrar las


relaciones estructurales que guardan los objetos de
estudio, utilizando la teoría de lenguajes
formales, teoría de autómatas, etc. El objetivo es
construir una gramática que describa la estructura
del universo de objetos.

 Neuro‐reticular: se utilizan redes neuronales que


se ‘entrenan’ para dar una cierta respuesta ante
determinados valores.

 Lógico‐combinatorio: se basa en la idea de que el


modelado del problema debe ser lo más cercano
posible a la realidad del mismo, sin hacer
suposiciones que no estén fundamentadas. Se utiliza
para conjuntos difusos y utiliza lógica simbólica,
circuitos combinacionales y secuenciales, etc.

Según tengamos constancia o no de un conjunto previo que permita al sistema aprender, la


clasificación pueder ser supervisada, parcialemente supervisada o no supervisada.

a) Clasificación supervisada: también es conocida como


clasificación con aprendizaje. Se basa en la
disponibilidad de áreas de entrenamiento. Se trata de
áreas de las que se conoce a priori la clase a la que
pertenecen y que servirán para generar una signatura
espectral característica de cada una de las clases. Se
denominan clases informacionales en contraposición a las
clases espectrales que genera la clasificación no
supervisada.
Algunos métodos de la clasificación supervisada:

 Funciones discriminantes: si son dos clases, se


busca obtener una función g tal que para un nuevo
objeto O, si g(O) ≥ 0 se asigna a la clase 1 y en
otro caso a la 2. Si son múltiples clases se busca
un conjunto de funciones gi y el nuevo objeto se
ubica en la clase donde la función tome el mayor
valor.
 Vecino más cercano: un nuevo objeto se ubica en la
clase donde esté el objeto de la muestra original
que más se le parece.
 Redes neuronales artificiales: denominadas
habitualmente RNA o en sus siglas en inglés ANN. Se
supone que imitan a las redes neuronales reales en
el desarrollo de tareas de aprendizaje.

b) Clasificación parcialmente supervisada: también


conocida como de aprendizaje parcial. En éstos problemas
existe una muestra de objetos sólo en algunas de las
clases definidas.
c) Clasificación no supervisada: también conocida como
clasificación sin aprendizaje. Se utilizan algoritmos de
clasificación automática multivariante en los que los
individuos más próximos se van agrupando formando
clases.

 Restringida: el número de clases en la que se


estructurará la muestra está previamente definido.
 Libre: el número de clases en la que se
estructurará la muestra depende exclusivamente de
los datos.

Algunos métodos de la clasificación no supervisada:

 Simple Link y Complete Link: parten de grupos


unitarios de objetos y van uniendo los grupos más
parecidos en cada etapa, hasta cumplir alguna
condición.
 ISODATA: se van formando grupos que se ajustan
iterativamente usando teoría de probabilidades. En
alguna versiones se puede hacer la unión o división
de algún grupo.
 C-means: se define un grupo de semillas, se asocia
cada objeto al grupo de la semilla más parecida, se
toman los centroides de cada grupo como nuevas
semillas y se itera hasta que se estabilice.
 Criterios lógico-combinatorios: los criterios que
se imponen a los grupos son tales como ser conexos,
completos maximales, compactos, etc.

El reconocimiento de patrones es más complejo cuando se usan plantillas para generara


variantes. Por ejemplo, en castellano, las frases a menudo siguen el patrón "sujeto-
predicado", pero se requiere cierto conocimiento de la lengua para detectar el patrón. El
reconocimiento de patrones se estudia en muchos campos, incluyendo psicología, etología,
informática y procesamiento digital de señales.

Aplicaciones
Los sistemas de reconocimiento de patrones tienen diversas aplicaciones. Algunas de las
más relevantes y utilizadas actualmente son:

 Previsión meteorológica: poder clasificar todos los


datos meteorológicos según diversos patrones, y con el
conocimiento a priori que tenemos de las diferentes
situaciones que pueden aparecer nos permite crear mapas
de predicción automática.

 Reconocimiento de caracteres escritos a mano o a


máquina: es una de las utilidades más populares de los
sistemas de reconocimiento de patrones ya que los
símbolos de escritura son fácilmente identificables.

 Reconocimiento de voz: el análisis de la señal de voz se


utiliza actualmente en muchas aplicaciones, un ejemplo
claro son los teleoperadores informáticos.

 Aplicaciones en medicina: análisis de biorritmos,


detección de irregularidades en imágenes de rayos-x,
detección de células infectadas, marcas en la piel...

 Reconocimiento de huellas dactilares: utilizado y


conocido por la gran mayoría, mediante las huellas
dactilares todos somos identificables y con programas
que detectan y clasifican las coincidencias, resulta
sencillo encontrar correspondencias.

 Reconocimiento de caras: utilizado para contar


asistentes en una manifestación o simplemente para
detectar una sonrisa, ya hay diferentes cámaras en el
mercado con esta opción disponible.

 Interpretación de fotografías aéreas y de satélite: gran


utilidad para propuestas militares o civiles, como la
agricultura, geología, geografía, planificación
urbana...

 Predicción de magnitudes máximas de terremotos.

 Reconocimiento de objetos: con importantes aplicaciones


para personas con discapacidad visual.

 Reconocimiento de música: identificar el tipo de música


o la canción concreta que suena.
Notas y referencias

1. ↑ Ernesto A. Meyer: Glosario de términos técnicos,


Entrada P, «pattern recognition». Grupo de Informática
Aplicada al Inglés Técnico, la Argentina, 1995, bajo la
licencia de documentación libre GNU

http://es.wikipedia.org/wiki/Reconocimiento_de_patrones

1.3.3. Robótica.

La robótica es la rama de la tecnología que se dedica al diseño, construcción, operación,


disposición estructural, manufactura y aplicación de los robots.1 2 La robótica combina
diversas disciplinas como son: la mecánica, la electrónica, la informática, la inteligencia
artificial, la ingeniería de control y la física.3 Otras áreas importantes en robótica son el
álgebra, los autómatas programables, la animatrónica y las máquinas de estados.

El término robot se popularizó con el éxito de la obra RUR (Robots Universales Rossum),
escrita por Karel Capek en 1920. En la traducción al inglés de dicha obra, la palabra checa
robota, que significa trabajos forzados, fue traducida al inglés como robot.4

Historia de la robótica
La historia de la robótica va unida a la construcción de "artefactos", que trataban de
materializar el deseo humano de crear seres a su semejanza y que lo descargasen del
trabajo. El ingeniero español Leonardo Torres Quevedo (GAP) (que construyó el primer
mando a distancia para su automóvil mediante telegrafía sin hilo,[cita requerida] el ajedrecista
automático, el primer transbordador aéreo y otros muchos ingenios) acuñó el término
"automática" en relación con la teoría de la automatización de tareas tradicionalmente
asociadas.

Karel Čapek, un escritor checo, acuñó en 1921 el término "Robot" en su obra dramática
Rossum's Universal Robots / R.U.R., a partir de la palabra checa robota, que significa
servidumbre o trabajo forzado. El término robótica es acuñado por Isaac Asimov,
definiendo a la ciencia que estudia a los robots. Asimov creó también las Tres Leyes de la
Robótica. En la ciencia ficción el hombre ha imaginado a los robots visitando nuevos
mundos, haciéndose con el poder, o simplemente aliviando de las labores caseras.
Nombre del
Fecha Importancia Inventor
robot
Descripciones de más de
100 máquinas y
autómatas, incluyendo Ctesibio de
un artefacto con fuego, Alejandria,
Siglo un órgano de viento, Filón de
I a. C. una máquina operada Autómata Bizancio,
y antes mediante una moneda, Herón de
una máquina de vapor, Alexandria, y
en Pneumatica y otros
Autómata de Herón de
Alejandría
Diseño de un robot Caballero Leonardo da
c. 1495
humanoide mecánico Vinci
Pato mecánico capaz de
Jacques de
1738 comer, agitar sus alas Digesting Duck
Vaucanson
y excretar.
Juguetes mecánicos
japoneses que sirven Juguetes Hisashige
1800s
té, disparan flechas y Karakuri Tanaka
pintan.
Aparece el primer
Rossum's
autómata de ficción
1921 Universal Karel Čapek
llamado "robot",
Robots
aparece en R.U.R.
Se exhibe un robot
humanoide en la Westinghouse
1930s Exposición Universal Elektro Electric
entre los años 1939 y Corporation
1940
La revista Astounding
Science Fiction publica
"Círculo Vicioso"
SPD-13
(Runaround en inglés).
1942 (apodado Isaac Asimov
Una historia de ciencia
"Speedy")
ficción donde se da a
conocer las Tres leyes
de la robótica
Exhibición de un robot
William Grey
1948 con comportamiento Elsie y Elmer
Walter
biológico simple5
Primer robot comercial,
1956 Unimate George Devol
de la compañía
Unimation fundada por
George Devol y Joseph
Engelberger, basada en
una patente de Devol6
Se instala el primer
1961 Unimate George Devol
robot industrial
Primer robot
1963
"palletizing"7
Primer robot con seis KUKA Robot
1973 Famulus
ejes electromecánicos Group
Brazo manipulador
programable universal, Victor
1975 PUMA
un producto de Scheinman
Unimation
El robot completo (The
Complete Robot en
inglés). Una colección
de cuentos de ciencia
ficción de Isaac
Asimov, escritos entre
1940 y 1976,
previamente publicados
Robbie, SPD-
en el libro Yo, robot y
13(Speedy),
en otras antologías,
QT1(Cutie),
volviendo a explicar
DV-5(Dave),
1982 las tres leyes de la Isaac Asimov
RB-34(Herbie),
robótica con más ahínco
NS-2(Nestor),
y complejidad moral.
NDR (Andrew),
Incluso llega a
Daneel Olivaw
plantear la muerte de
un ser humano por la
mano de un robot con
las tres leyes
programadas, por lo que
decide incluir una
cuarta ley "La ley 0
(cero)"
Robot Humanoide capaz
de desplazarse de forma Honda Motor
2000 ASIMO
bípeda e interactuar Co. Ltd
con las personas
Clasificación de los robots
Según su cronología

La que a continuación se presenta es la clasificación más común:

 1ª Generación.

Manipuladores. Son sistemas mecánicos multifuncionales con un sencillo sistema de


control, bien manual, de secuencia fija o de secuencia variable.

 2ª Generación.

Robots de aprendizaje. Repiten una secuencia de movimientos que ha sido ejecutada


previamente por un operador humano. El modo de hacerlo es a través de un dispositivo
mecánico. El operador realiza los movimientos requeridos mientras el robot le sigue y los
memoriza.

 3ª Generación.

Robots con control sensorizado. El controlador es una computadora que ejecuta las órdenes
de un programa y las envía al manipulador para que realice los movimientos necesarios.

 4ª Generación.

Robots inteligentes. Son similares a los anteriores, pero además poseen sensores que envían
información a la computadora de control sobre el estado del proceso. Esto permite una
toma inteligente de decisiones y el control del proceso en tiempo real.

Según su estructura

La estructura, es definida por el tipo de configuración general del Robot, puede ser
metamórfica. El concepto de metamorfismo, de reciente aparición, se ha introducido para
incrementar la flexibilidad funcional de un Robot a través del cambio de su configuración
por el propio Robot. El metamorfismo admite diversos niveles, desde los más elementales
(cambio de herramienta o de efecto terminal), hasta los más complejos como el cambio o
alteración de algunos de sus elementos o subsistemas estructurales. Los dispositivos y
mecanismos que pueden agruparse bajo la denominación genérica del Robot, tal como se ha
indicado, son muy diversos y es por tanto difícil establecer una clasificación coherente de
los mismos que resista un análisis crítico y riguroso. La subdivisión de los Robots, con base
en su arquitectura, se hace en los siguientes grupos: poliarticulados, móviles, androides,
zoomórficos e híbridos.

 1. Poliarticulados
En este grupo se encuentran los Robots de muy diversa forma y configuración, cuya
característica común es la de ser básicamente sedentarios (aunque excepcionalmente
pueden ser guiados para efectuar desplazamientos limitados) y estar estructurados para
mover sus elementos terminales en un determinado espacio de trabajo según uno o más
sistemas de coordenadas, y con un número limitado de grados de libertad. En este grupo, se
encuentran los manipuladores, los Robots industriales, los Robots cartesianos y se emplean
cuando es preciso abarcar una zona de trabajo relativamente amplia o alargada, actuar sobre
objetos con un plano de simetría vertical o reducir el espacio ocupado en el suelo.

 2. Móviles

Son Robots con gran capacidad de desplazamiento, basados en carros o plataformas y


dotados de un sistema locomotor de tipo rodante. Siguen su camino por telemando o
guiándose por la información recibida de su entorno a través de sus sensores. Estos Robots
aseguran el transporte de piezas de un punto a otro de una cadena de fabricación. Guiados
mediante pistas materializadas a través de la radiación electromagnética de circuitos
empotrados en el suelo, o a través de bandas detectadas fotoeléctricamente, pueden incluso
llegar a sortear obstáculos y están dotados de un nivel relativamente elevado de
inteligencia.

 3. Androides

Son Robots que intentan reproducir total o parcialmente la forma y el comportamiento


cinemático del ser humano. Actualmente, los androides son todavía dispositivos muy poco
evolucionados y sin utilidad práctica, y destinados, fundamentalmente, al estudio y
experimentación. Uno de los aspectos más complejos de estos Robots, y sobre el que se
centra la mayoría de los trabajos, es el de la locomoción bípeda. En este caso, el principal
problema es controlar dinámica y coordinadamente en el tiempo real el proceso y mantener
simultáneamente el equilibrio del Robot.

 4. Zoomórficos

Los Robots zoomórficos, que considerados en sentido no restrictivo podrían incluir también
a los androides, constituyen una clase caracterizada principalmente por sus sistemas de
locomoción que imitan a los diversos seres vivos. A pesar de la disparidad morfológica de
sus posibles sistemas de locomoción es conveniente agrupar a los Robots zoomórficos en
dos categorías principales: caminadores y no caminadores. El grupo de los Robots
zoomórficos no caminadores está muy poco evolucionado. Los experimentos efectuados en
Japón basados en segmentos cilíndricos biselados acoplados axialmente entre sí y dotados
de un movimiento relativo de rotación. Los Robots zoomórficos caminadores multípedos
son muy numerosos y están siendo objeto de experimentos en diversos laboratorios con
vistas al desarrollo posterior de verdaderos vehículos terrenos, piloteados o autónomos,
capaces de evolucionar en superficies muy accidentadas. Las aplicaciones de estos Robots
serán interesantes en el campo de la exploración espacial y en el estudio de los volcanes.
 5. Híbridos

Corresponden a aquellos de difícil clasificación, cuya estructura se sitúa en combinación


con alguna de las anteriores ya expuestas, bien sea por conjunción o por yuxtaposición. Por
ejemplo, un dispositivo segmentado articulado y con ruedas, es al mismo tiempo, uno de
los atributos de los Robots móviles y de los Robots zoomórficos.

http://es.wikipedia.org/wiki/Rob%C3%B3tica

1.3.4. Sistemas Expertos.

Se considera a alguien un experto en un problema cuando este individuo tiene


conocimiento especializado sobre dicho problema. En el área de los (SE) a este tipo de
conocimiento se le llama conocimiento sobre el dominio. La palabra dominio se usa
para enfatizar que el conocimiento pertenece a un problema específico. [1]

Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el


privilegio de razonar y pensar. En la actualidad existe un campo dentro de la
inteligencia artificial al que se le atribuye esa facultad: el de los sistemas expertos
(SE). Estos sistemas también son conocidos como Sistemas Basados en Conocimiento,
los cuales permiten la creación de máquinas que razonan como el hombre,
restringiéndose a un espacio de conocimientos limitado. En teoría pueden razonar
siguiendo los pasos que seguiría un experto humano (médico, analista, empresario,
etc.) para resolver un problema concreto. Este tipo de modelos de conocimiento por
ordenador ofrece un extenso campo de posibilidades en resolución de problemas y en
aprendizaje. Su uso se extenderá ampliamente en el futuro, debido a su importante
impacto sobre los negocios y la industria. [2]

HISTORIA DE LOS (SE)

Sus inicios datan a mediados de los años sesenta. Durante esta década los investigadores
Alan Newell y Herbert Simon desarrollaron un programa llamado GPS (General Problem
Solver; solucionador general de problemas). Podía trabajar con criptoaritmética, con las
torres de Hanoi y con otros problemas similares. Lo que no podía hacer el GPS era resolver
problemas del mundo real, tales como un diagnóstico médico.

Algunos investigadores decidieron entonces cambiar por completo el enfoque del problema
restringiendo su ambición a un dominio específico e intentando simular el razonamiento de
un experto humano. En vez de dedicarse a computarizar la inteligencia general, se
centraron en dominios de conocimiento muy concretos. De esta manera nacieron los SE.
A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenzó a desarrollar SE
utilizando bases de conocimiento definidas minuciosamente. Dos años más tarde se
construye DENDRAL, el cual es considerado como el primer SE. La ficción de dicho SE
era identificar estructuras químicas moleculares a partir de su análisis espectrográfico.

En la década de los setenta se desarrolló MYCIN para consulta y diagnóstico de infecciones


de la sangre. Este sistema introdujo nuevas características: utilización de conocimiento
impreciso para razonar y posibilidad de explicar el proceso de razonamiento. Lo más
importante es que funcionaba de manera correcta, dando conclusiones análogas a las que un
ser humano daría tras largos años de experiencia. En MYCIN aparecen claramente
diferenciados motor de inferencia y base de conocimientos. Al separar esas dos partes, se
puede considerar el motor de inferencias aisladamente. Esto da como resultado un sistema
vacío o shell (concha). Así surgió EMYCIN (MYCIN Esencial) con el que se construyó
SACON, utilizado para estructuras de ingeniería, PUFF para estudiar la función pulmonar y
GUIDON para elegir tratamientos terapéuticos.

En esa época se desarrollaron también: HERSAY, que intentaba identificar la palabra


hablada, y PROSPECTOR, utilizado para hallar yacimientos de minerales. De este último
derivó el shell KAS (Knowledge Adquisition System).

En la década de los ochenta se ponen de moda los SE, numerosas empresas de alta
tecnología investigan en este área de la inteligencia artificial, desarrollando SE para su
comercialización. Se llega a la conclusión de que el éxito de un SE depende casi
exclusivamente de la calidad de su base de conocimiento. El inconveniente es que codificar
la pericia de un experto humano puede resultar difícil, largo y laborioso.

Un ejemplo de SE moderno es CASHVALUE, que evalúa proyectos de inversión y


VATIA, que asesora acerca del impuesto sobre el valor añadido o IVA. [3]

DEFINICIONES DE LOS (SE)

Es un software que imita el comportamiento de un experto humano en la solución de


un problema. Pueden almacenar conocimientos de expertos para un campo
determinado y solucionar un problema mediante deducción lógica de conclusiones. [4]

Son SE aquellos programas que se realizan haciendo explicito el conocimiento en ellos,


que tienen información específica de un dominio concreto y que realizan una tarea
relativa a este dominio. [5]

Programas que manipulan conocimiento codificado para resolver problemas en un


dominio especializado en un dominio que generalmente requiere de experiencia
humana.

Programas que contienen tanto conocimiento declarativo (hechos a cerca de objetos,


eventos y/o situaciones) como conocimiento de control (información a cerca de los
cursos de una acción), para emular el proceso de razonamiento de los expertos
humanos en un dominio en particular y/o área de experiencia. [6]

Software que incorpora conocimiento de experto sobre un dominio de aplicación


dado, de manera que es capaz de resolver problemas de relativa dificultad y apoyar la
toma de decisiones inteligentes en base a un proceso de razonamiento simbólico. [1]

APLICACIONES
Sus principales aplicaciones se dan en las gestiones empresariales debido a que;
a) Casi todas las empresas disponen de un ordenador que realiza las funciones básicas de
tratamiento de la información: contabilidad general, decisiones financieras, gestión de la
tesorería, planificación, etc.

b) Este trabajo implica manejar grandes volúmenes de información y realizar operaciones


numéricas para después tomar decisiones. Esto crea un terreno ideal para la implantación de
los SE.

Además los SE también se aplican en la contabilidad en apartados como: Auditoria(es el


campo en el que más aplicaciones de SE se esta realizando) Fiscalidad, planificación,
análisis financiero y la contabilidad financiera.

ÁREAS DE APLICACIÓN

Los SE se aplican a una gran diversidad de campos y/o áreas. A continuación se listan
algunas de las principales:

Militar Informática Telecomunicaciones


Química Derecho Aeronáutica
Geología Arqueología Agricultura
Electrónica Transporte Educación
Medicina Industria Finanzas y Gestión

VENTAJAS
Estos programas proporcionan la capacidad de trabajar con grandes cantidades de
información, que son uno de los grandes problemas que enfrenta el analista humano que
puede afectar negativamente a la toma de decisiones pues el analista humano puede depurar
datos que no considere relevantes, mientras un SE debido a su gran velocidad de proceso
analiza toda la información incluyendo las no útiles para de esta manera aportar una
decisión más sólida.

LIMITACIONES
Es evidente que para actualizar se necesita de reprogramación de estos (tal vez este sea una
de sus limitaciones más acentuadas) otra de sus limitaciones puede ser el elevado costo en
dinero y tiempo, además que estos programas son poco flexibles a cambios y de difícil
acceso a información no estructurada. [7]

Debido a la escasez de expertos humanos en determinadas áreas, los SE pueden almacenar


su conocimiento para cuando sea necesario poder aplicarlo. Así mismo los SE pueden ser
utilizados por personas no especializadas para resolver problemas. Además si una persona
utiliza con frecuencia un SE aprenderá de el.

Por otra parte la inteligencia artificial no ha podido desarrollar sistemas que sean capaces
de resolver problemas de manera general, de aplicar el sentido común para resolver
situaciones complejas ni de controlar situaciones ambiguas.

El futuro de los SE da vueltas por la cabeza de cada persona, siempre que el campo elegido
tenga la necesidad y/o presencia de un experto para la obtención de cualquier tipo de
beneficio. [8]

ARQUITECTURA BÁSICA DE LOS SISTEMAS EXPERTOS

Base de conocimientos. Es la parte del sistema experto que contiene el conocimiento sobre
el dominio. hay que obtener el conocimiento del experto y codificarlo en la base de
conocimientos. Una forma clásica de representar el conocimiento en un sistema experto son
lar reglas. Una regla es una estructura condicional que relaciona lógicamente la
información contenida en la parte del antecedente con otra información contenida en la
parte del consecuente.

Base de hechos (Memoria de trabajo). Contiene los hechos sobre un problema que se han
descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario
introduce la información del problema actual en la base de hechos. El sistema empareja esta
información con el conocimiento disponible en la base de conocimientos para deducir
nuevos hechos.

Motor de inferencia. El sistema experto modela el proceso de razonamiento humano con


un módulo conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la
información contenida en la base de conocimientos y la base de hechos para deducir nuevos
hechos. Contrasta los hechos particulares de la base de hechos con el conocimiento
contenido en la base de conocimientos para obtener conclusiones acerca del problema.

Subsistema de explicación. Una característica de los sistemas expertos es su habilidad


para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema
experto puede proporcionar una explicación al usuario de por qué está haciendo una
pregunta y cómo ha llegado a una conclusión. Este módulo proporciona beneficios tanto al
diseñador del sistema como al usuario. El diseñador puede usarlo para detectar errores y el
usuario se beneficia de la transparencia del sistema.
Interfaz de usuario. La interacción entre un sistema experto y un usuario se realiza en
lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación
entre seres humanos. Para conducir este proceso de manera aceptable para el usuario es
especialmente importante el diseño del interfaz de usuario. Un requerimiento básico del
interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay
que poner especial cuidado en el diseño de las cuestiones. Esto puede requerir diseñar el
interfaz usando menús o gráficos. [1]

CONCLUSIONES

Actualmente el duro, difícil y cambiante mercado competitivo se vuelve más complejo


por la gran diversidad de información que se ven obligados a almacenar y analizar,
razón por la cual las empresas se ven en la necesidad de recurrir a poderosas y/o
robustas herramientas o sistemas que les sirvan de soporte a la hora de tomar
decisiones. De esta forma estos inteligentes, precisos y eficientes sistemas son
adoptados por más organizaciones, en las cuales se convierten y/o transforman en una
importante estrategia de negocio.

Por otra parte es importante mencionar que estos seguirán siendo usados en los todos
y cada una de las áreas y/o campos donde los expertos humanos sean escasos. Por
consecuencia de lo anterior estos sistemas son utilizados por personas no
especializadas, por lo cual el uso frecuente de los (SE) les produce y/o genera
conocimiento a los usuarios.

REFERENCIAS BIBLIOGRAFICAS

[1] Viejo Hernando Diego (2003). Sistemas expertos. Consultado en 06, 04, 2004 en
http://www.divulga-ia.com/cursos/cursos.xml?numero=2&nombre=2003-9-
26a&numLecc=1.

[2] Samper Márquez Juan José (2004). Introducción a los sistemas expertos.
Consultado en 06, 03, 2004 en
http://www.redcientifica.com/doc/doc199908210001.html.

[3] Samper Juan (2003). Sistemas expertos. El conocimiento al poder. Consultado en


06, 03, 2004 en http://www.psycologia.com/articulos/ar-jsamper01.htm.

[4] Criado Briz José Mario (2002). Introducción a los sistemas expertos. Consultado
en 06, 05, 2004 en
http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/cap1.php.

[5] Wikipedia (2004). Sistema experto. Consultado en 06, 03, 2004 en


http://es.wikipedia.org/wiki/Sistema_experto.
[6] Castro Marcel (2002). Sistemas expertos. Consultado en 06, 04, 2004 en
http://strix.ciens.ucv.ve/~iartific/Material/PP_Sistemas_Expertos.pdf.

[7] Félix Justo (2004). Aplicaciones, ventajas y limitaciones de los sistemas expertos.
Consultado en 06, 04, 2004 en http://efelix.iespana.es/efelix/expertaplicaciones.htm.

[8] Montes Cerra Maria Clara (2003). Sistemas expertos. Consultado en 06, 05, 2004
en
http://dis.eafit.edu.co/labs/labgic/ARTICULOS_%20PUBLICAR/Sistemas%20expert
os.doc.

http://www.monografias.com/trabajos94/sobre-robotica/sobre-robotica.shtml

1.3.5. Lógica Difusa (Fuzzy logic).

La idea de la lógica difusa o borrosa no es nueva, aunque bajo el nombre de lógica difusa
fuese introducida sobre 1965, sus orígenes se remontan hasta 2,500 años. Ya Aristóteles
consideraba que existían ciertos grados de veracidad y falsedad y Platón había trabajado
con grados de pertenencia.

En el siglo XVIII George Berkeley y David Hume describieron que el núcleo de un


concepto atrae conceptos similares. Hume creía en la lógica del sentido común, en el
razonamiento basado en el conocimiento que la gente adquiere de una forma ordinaria
gracias a sus vivencias en el mundo.

Immanuel Kant pensaba que únicamente los matemáticos podían proveer definiciones
claras y que por lo tanto, muchos principios contradictorios no tenían solución. Por ejemplo
la materia podía ser dividida infinitamente y al mismo tiempo no podía ser dividida
infinitamente. La corriente del pragmatismo fundada a principios de siglo por Charles
Sanders Peirce, fue la primera en considerar ''vaguedades'', más que falso o verdadero,
como forma de acercamiento al mundo y al razonamiento humano.

La idea de que la lógica produce contradicciones fue popularizada por el filósofo y


matemático británico Bertrand Russell, a principios del siglo XX. Russell estudió las
vaguedades del lenguaje y llegó a la conclusión que la vaguedad es un grado.Ludwig
Wittgenstein, filósofo austriaco, estudió las diferentes acepciones de una misma palabra. En
el lenguaje corriente ocurre muy a menudo que la misma palabra designe de modo y
manera diferentes, porque pertenece a diferentes símbolos, o que dos palabras que designan
de modo y manera diferentes se usen aparentemente del mismo modo en una proposición.
La primera lógica de vaguedades fue desarrollada en 1920 por el filósofo Jan Lukasiewicz,
visualizó los conjuntos con un posible grado de pertenencia con valores de 0 y 1, después
los extendió a un número infinito de valores entre 0 y 1. El término borroso aplicado a la
lógica y a la teoría de conjuntos y sistemas procede de la expresión fuzzy sets (conjuntos
borrosos) acuñada por Lofti A. Zadeh, brillante ingeniero eléctrico iraní nacionalizado en
Estados Unidos, profesor en las más prestigiosas universidades norteamericanas, doctor
honoris causa de varias instituciones académicas.

Sus tesis entroncan, como podemos observar, con la obra de pensadores de distintas
disciplinas que tenían una visión similar de los problemas y alejada de la lógica tradicional.
La paradoja del conjunto de Bertrand Russell, el principio de incertidumbre de la física
cuántica de Werner Heisenberg, la teoría de los conjuntos vagos de Max Black, otro
filósofo cuántico, sin olvidar la fundamental aportación del polaco Jan Lukasiewicz,
creador de la lógica multivaluada, influyeron para que, entrada ya la segunda mitad del
presente siglo, Zadeh publicase su famoso ensayo "Fuzzy Sets", en "Informations and
Control".

Mientras que Russell y Black utilizaron el término vagueness (vaguedad, vago) para
referirse a la nueva lógica o a para calificar a los conjuntos en la teorización sobre los
mismos, Zadeh prefirió el término fuzzy (borroso, difuminado) para denominar a sus
conjuntos y a la lógica en la que se apoya su análisis.

A partir de la publicación, en 1973, de la teoría básica de los controladores borrosos de


Zadeh, otros investigadores comenzaron a aplicar la lógica borrosa a diversos procesos,
como por ejemplo, al control de procesos en un sistema de control de vapor. También
podemos resaltar la aplicación, en 1980, de esta técnica al control de hornos rotativos en
una cementera.

Uno de los países donde más éxito ha tenido los sistemas borrosos ha sido en Japón.
Empresas como Fuji Elec. & TIT han desarrollado aplicaciones de control fuzzy para el
proceso de purificación del agua, Hitachi con una aplicación de control fuzzy para el Metro
en Sendai City o Matsushita con una aplicación de control fuzzy para la unidad de
suministro de agua caliente para uso doméstico.

Merece una mención especial la creación de LIFE (Laboratory for International Fuzzy
Engineering Research) en marzo de 1989, creado por el Ministerio de Comercio
Internacional e Industria en Japón (MITI). El capital de LIFE es al 50% de compañías
privadas japonesas y del propio Ministerio, y su presidente es miembro del Instituto de
Tecnología de Tokio (TIT). En su sede trabajan en la actualidad alrededor de 30
investigadores a tiempo completo.

Pero también en USA las empresas han comenzado a aplicar la lógica borrosa a sus
desarrollos y proyectos. Entre otras encontramos a la NASA, Boeing, Rochwell, Bell o a
Ford Motor Co., que experimenta con un sistema de aparcamiento automático para
camiones con remolque.
Introducción a la Lógica Borrosa o Difusa

Debido a la variedad de sus aplicaciones la lógica difusa (llamada también Lógica Borrosa)
o Fuzzy Logic parece estar introducida en todos los sectores; control de complejos procesos
industriales, diseño de dispositivos artificiales de deducción automática, construcción de
artefactos electrónicos de uso doméstico y de entretenimiento, sistemas de diagnóstico,
entre otros. Este hecho se hace cada día más evidente si se observa el gran número de
patentes industriales de mecanismos basados en la lógica difusa expedidas desde hace, por
lo menos, una década y media.En los últimos años se han investigado y desarrollado
diversas tecnologías relacionadas con funciones y características humanas de campos
cercanos al psicológico (inteligencia artificial) y a los procesos biológicos (redes
neuronales, algoritmos genéticos y programación evolutiva). Estas tecnologías conocidas
como "tecnologías inteligentes" representan el conocimiento de una forma a la vez
entendible por los humanos y manejable por los sistemas informáticos.

La lógica difusa es el elemento de desarrollo de dichas tecnologías. Se podría considerar


como un lenguaje que permite trasladar sentencias sofisticadas del lenguaje natural a un
formalismo matemático. El conocimiento se adquiere y se trabaja con él, de una manera
inferencial y deductiva, por medio de un razonamiento simbólico. Obteniéndose, para la
resolución de un problema, un conjunto de hechos inciertos denominados conjuntos difusos
y a sus reglas lógica difusa.

En los años 60, en la Universidad de California en Berkeley, Lotfi A. Zadeh introdujo el


concepto de la lógica difusa guiado por el principio de que las matemáticas pueden ser
usadas para encadenar el lenguaje con la inteligencia humana. Algunos conceptos pueden
ser mejor definidos en términos de palabras, que por matemáticas; la lógica difusa y su
expresión en conjuntos difusos, proveen una disciplina que puede construir mejores
modelos de la realidad.

La lógica difusa, o más bien, las lógicas difusas, pues habría que hablar de ellas en plural,
son básicamente lógicas multivaluadas que amplifican los enunciados de las lógicas
clásicas. Las clásicas imponen a sus enunciados únicamente los valores falso o verdadero y
de esta manera han modelado satisfactoriamente una gran parte del razonamiento "natural".
Pero el razonamiento humano utiliza valores de verdad que no tienen porque ser
necesariamente "tan deterministas". Por medio de la lógica difusa pueden formularse
matemáticamente nociones como "un poco caliente" o "muy frío", de forma que sean
procesadas por computadoras y cuantificar expresiones humanas vagas, tales como "muy
alto" o "luz brillante". Pudiéndose, de esta forma, o más bien, intentándose aplicar la forma
de pensar del ser humano a la programación de computadores, sensores, chips, etc. Esta
lógica permite cuantificar las descripciones imprecisas que se usan en el lenguaje y las
transiciones graduales en los electrodomésticos como "ir de agua sucia" a "agua limpia" en
una lavadora, pudiéndose así ajustar los ciclos de lavado a través de sensores. La habilidad
de la lógica difusa para procesar valores parciales de verdad ha sido de gran ayuda para la
ingeniería. En conclusión, las lógicas difusas crean aproximaciones matemáticas en la
resolución de ciertos tipos de problemas, produciendo resultados exactos a partir de datos
imprecisos, siendo por ello, especialmente útiles en aplicaciones de tipo electrónico e
informático.La aplicación del adjetivo "difusa" o "borrosa" es debida a que los valores de
verdad no-deterministas utilizados en las lógicas difusas tienen mayoritariamente una
connotación de incertidumbre. Por lo que se equipara la incertidumbre con la difusidad, es
decir, con la propiedad de indeterminismo. Un elemento, por lo tanto, puede estar lleno de
incertidumbre, es decir, de difusidad. Eso no quiere decir que los valores de verdad
asumidos por enunciados no deterministas, sean desconocidos. De hecho, lo difuso puede
entenderse como la posibilidad de asignar más valores de verdad a los enunciados que
"falso" o "verdadero" e incluso en determinadas áreas de conocimiento, estos enunciados
van asociados a valores de verdad que son grados de veracidad o falsedad.

Resumiendo, las lógicas difusas son tipos especiales de lógicas multivaluadas que pueden
llegar a redefinir los grados de veracidad de los enunciados de salida conforme se refinan
los de los de entrada, por lo que algunos sistemas de lógica difusa aparentan una labor de
aprendizaje, y son excelentes mecanismos de control de procesos. La inteligencia artificial,
fundamentada en el concepto "Todo es cuestión de grado", es donde podemos encuadrar
desde un punto de vista tecnológico a las lógicas borrosas.

Conceptos y operaciones con los que trabaja la Lógica Borrosa


o Difusa.

Intervalos de Confianza: Constituyen los datos y valores con los cuales trabaja la Lógica
Borrosa, pueden ser intervalos formados solos por dos números, números borrosos
triangulares o números borrosos trapezoidales.

Niveles de Presunción o a corte: Expresan los niveles de presición con los que son dados
los números borrosos, desde 0 (total impresición) hasta 1(total presición).

Evaluación: Asociación de un valor numérico que puede ser negativo, positivo o nulo a un
objetivo concreto o abstracto realizado por un experto. Correspondencia entre un valor
borroso y un estado real.

Valuación: Expresión de un nivel de verdad, que toma valores del intervalo de confianza
(0,1). El nivel de presición que se le hace corresponder a la evaluación dada por los
expertos.

Adición (con números Reales en su conjunto):

[a1; a2]+ [b1+ b2]= [a1+ b1; a2 + b2]

Sustracción:

[a1; a2]- [b1+ b2]= [a1- b2; a2 - b1]

Multiplicación:
[a1; a2]* [b1+ b2]= [mín (a1* b1; a1* b2; a2* b1; a2* b2); máx (a1* b1; a1* b2; a2* b1;
a2* b2)]

División:

A/B= A* B-1

Donde B-1= [mín (1/a1; 1/a2); máx (1/a1; 1/a2)]

La noción del Expertón

Primeramente se ha de tener una valoración o un nivel de cualidad de cada alternativa a


partir del criterio definido por parte de cada una de las personas seleccionadas expertas,
obteniendo su apreciación mediante un intervalo. La escala de posiciones de once valores,
denominada endecadaria es una de las más utilizadas ya que establece una buena
matización, pues no es ni demasiado reducida ni excesivamente amplia, aunque el
investigador tiene la opción de escoger otra escala con diferente cantidad de valores, donde
a cada uno se le hace pertenecer una expresión semántica que lo defina.

 0: Excelente
 0.1: Muy bien
 0.2: Prácticamente bien
 0.3: Casi bien
 0.4: Bastante bien
 0.5: Ni bien ni mal
 0.6: Bastante mal
 0.7: Casi mal
 0.8: Prácticamente mal
 0.9: Muy mal
 1: Pésimo

Se confecciona una tabla de frecuencias, a partir de los valores dados por los expertos,
utilizando la correspondencia semántica. En la misma se pone de manifiesto la veces que
cada experto ha asignado el mismo valor de la escala endecadaria, tanto en relación con los
extremos inferiores como superiores de los intervalos.

Límite Inferior del intervalo Límite Superior del Intervalo

0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

Seguidamente se normalizan estos valores de frecuencias, dividiendo cada valor por el


número de expertos, determinándose así las frecuencias normalizadas que se colocarían en
otra tabla semejante a la anterior para finalmente obtener la función acumulada
complementaria, las acumulaciones se determinan a partir del nivel uno (1), en lugar de
hacerlo a partir del nivel cero (0) también en una tabla como la inicial. Luego la sumatoria
de los valores de ambas columnas de la tabla de función acumulada complementaria me
permite obtener un intervalo, denominado Esperanza Matemática, en el cual queda
comprendida la evaluación de un número determinado de expertos respecto a un mismo
criterio.

A continuación se presenta un ejemplo para lograr una mejor comprensión.

Tabla 1: Expertón. Determinación de la Esperanza Matemática con cuatro expertos

Frecuencia Función acumulada


Frecuencia
normalizada complementaria
Datos Escala LI LS LI LS LI LS
E1
0 0 0 0 0 1 1
(0.4,0.6)
E2
0.1 0 0 0 0 1 1
(0.7,0.8)
E3
0.2 1 0 0,25 0 1 1
(0.2,0.3)
E4
0.3 0 1 0 0,25 0,75 1
(0.4,0.6)
0.4 2 0 0,5 0 0,75 0,75
0.5 0 0 0 0 0,25 0,75
0.6 0 2 0 0,5 0,25 0,75
0.7 1 0 0,25 0 0,25 0,25
0.8 0 1 0 0,25 0 0,25
0.9 0 0 0 0 0 0
1 0 0 0 0 0 0
5,25 6,75

La Esperanza Matemática está representada a través del intervalo (5.25, 6.75)

Bibliografía:

 Material docente utilizado por el autor en sus clases de "Herramientas gerenciales


para toma de decisiones".

1.4. Modelos de agente inteligente.

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. En este contexto
la racionalidad es la característica que posee una elección de ser correcta, más
específicamente, de tender a maximizar un resultado esperado. Este concepto de
racionalidad es más general y por ello más adecuado que inteligencia (la cual
sugiere entendimiento) para describir el comportamiento de los agentes inteligentes.
Por este motivo es mayor el consenso en llamarlos agentes racionales. Un agente
inteligente puede ser una entidad física o virtual. Si bien el término agente racional
se refiere a agentes artificiales en el campo de la Inteligencia Artificial, también
puede considerarse agentes racionales a los animales incluido el hombre.

Es posible clasificar los agentes inteligentes en 5 categorías principales:

- Agentes reactivos

- Agentes reactivos basados en modelo

- Agentes basados en objetivos

- Agentes basados en utilidad

- Agentes que aprenden

La racionalidad es necesaria

En muchos textos se define agente inteligente como todo agente capaz de tener
conciencia de su entorno y actuar sobre él. No obstante es necesario exigir que
estas decisiones sean racionales en el sentido de que persigan algún fin. Vamos a
mostrarlo con un contraejemplo: cuando un fotón con la suficiente energía incide
sobre un átomo, puede arrancar de él un electrón. Podríamos considerar al átomo
inteligente puesto que percibe su entorno (la incidencia del fotón) y actúa sobre su
entorno (emite un electrón). La ausencia de relación entre la emisión del electrón y
cualquier hipotético interés del átomo muestra que este no es un agente inteligente
pese a verificar la definición de Bertrand Russell.

La conducta de un agente no suele ser la óptima.

Paradójicamente, la conducta de un agente rara vez es la optima. La razón es muy


sencilla calcular el optimo de un criterio lo suficientemente bueno para ser
considerado razonable teniendo en cuenta las múltiples restricciones que concurren
es muy difícil. Ejemplos de ello es lo difícil que es calcular la mejor ala para un avión,
el mejor perfil para un coche o la mejor hélice para un barco. Para un estudiante es
fácil calcular el máximo de un polinomio de segundo grado derivando e igualando a
cero. En este caso el criterio es muy sencillo -es un polinomio de segundo grado- y
no concurre ninguna restricción.

Cuando el criterio es una función real de muchas variables y las restricciones


también, los cálculos son mucho más complicados. Algunas veces se puede lograr
una buena aproximación; pero, si un agente inteligente debe tomar una decisión en
muy poco tiempo, deberá conformarse con la mejor aproximación que pueda
calcular en el escaso tiempo de que dispone

http://ia.comeze.com/subtemas/un1/1.6.html

1.5. Heurística.

La palabra heurística proviene de la palabra griega heuriskein que significa descubrir,


encontrar. Por heurística entendemos una estrategia, método, criterio o truco usado para hacer
más sencilla la solución de problemas difíciles. El conocimiento heurístico es un tipo especial
de conocimiento usado por los humanos para resolver problemas complejos. En este caso el
adjetivo heurístico significa medio para descubrir.

Debido a la existencia de algunos problemas importantes con un gran interés práctico difíciles
de resolver, comienzan a surgir algoritmos capaces de ofrecer posibles soluciones que aunque
no consiguen el resultado óptimo, si que se acercan en un tiempo de cálculo razonable. Estos
algoritmos están basados en el conocimiento heurístico y por lo tanto reciben el nombre de
algoritmos heurísticos.
Por lo general, los algoritmos heurísticos encuentran buenas soluciones, aunque a veces no
hay pruebas de que la solución pueda hallarse en un tiempo razonablemente corto o incluso
de que no pueda ser errónea. Frecuentemente pueden encontrarse casos particulares del
problema en los que la heurística obtendrá resultados muy malos o que tarde demasiado en
encontrar una solución.

Un método heurístico es un conjunto de pasos que deben realizarse para identificar en el


menor tiempo posible una solución de alta calidad para un determinado problema.

Al principio esta forma de resolver problemas no fue bien vista en los círculos académicos,
debido fundamentalmente a su escaso rigor matemático. Sin embargo, gracias a su interés
práctico para solucionar problemas reales fue abriendo poco a poco las puertas de los
métodos heurísticos, sobre todo a partir de los años 60. Actualmente las versiones
matemáticas de métodos heurísticos están creciendo en su rango de aplicaciones, así como
en su variedad de enfoques.

Nuevas técnicas heurísticas son utilizadas a diario por científicos de computación,


investigadores operativos y profesionales, para resolver problemas que antes eran demasiado
complejos o grandes para las anteriores generaciones de este tipo de algoritmos.

En computación, dos objetivos fundamentales son encontrar algoritmos con buenos tiempos
de ejecución y buenas soluciones, usualmente las óptimas. Una heurística es un algoritmo
que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas
soluciones, aunque no hay pruebas de que la solución no pueda ser arbitrariamente errónea
en algunos casos; o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de
que siempre será así. Las heurísticas generalmente son usadas cuando no existe una solución
óptima bajo las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del todo.

A menudo, pueden encontrarse instancias concretas del problema donde la heurística


producirá resultados muy malos o se ejecutará muy lentamente. Aún así, estas instancias
concretas pueden ser ignoradas porque no deberían ocurrir nunca en la práctica por ser de
origen teórico. Por tanto, el uso de heurísticas es muy común en el mundo real.

Para problemas de búsqueda del camino más corto el término tiene un significado más
específico. En este caso una heurística es una función matemática, h(n) definida en los nodos
de un árbol de búsqueda , que sirve como una estimación del coste del camino más económico
de un nodo dado hasta el nodo objetivo. Las heurísticas se usan en los algoritmos de búsqueda
informada como la búsqueda egoísta. La búsqueda egoísta escogerá el nodo que tiene el valor
más bajo en la función heurística. A* expandirá los nodos que tienen el valor más bajo para
g(n) + h(n), donde g(n) es el coste (exacto) del camino desde el estado inicial al nodo actual.
Cuando h(n) es admisible, esto es si h(n) nunca sobrestima los costes de encontrar el objetivo;
A* es probablemente óptimo.
Un problema clásico que usa heurísticas es el puzzle-n. Contar el número de casillas mal
colocadas y encontrar la suma de la distancia Manhattan entre cada bloque y su posición al
objetivo son heurísticas usadas a menudo para este problema.

Efecto de las heurísticas en el rendimiento computacional

En cualquier problema de búsqueda donde hay b opciones en cada nodo y una profundidad
d al nodo objetivo, un algoritmo de búsqueda ingenuo deberá buscar potencialmente entrebd
nodos antes de encontrar la solución. Las heurísticas mejoran la eficiencia de los algoritmos
de búsqueda reduciendo el factor de ramificación de b a (idealmente) una constante b* .

Aunque cualquier heurística admisible devolverá una respuesta óptima, una heurística que
devuelve un factor de ramificación más bajo es computacionalmente más eficiente para el
problema en particular. Puede demostrarse que una heurística h2(n) es mejor que otra h1(n),
si h2(n) domina h1(n), esto quiere decir que h1(n) < h2(n) para todo n.

Heurísticas en la Inteligencia Artificial

Muchos algoritmos en la inteligencia artificial son heurísticos por naturaleza, o usan reglas
heurísticas. Un ejemplo reciente es SpamAssassin que usa una amplia variedad de reglas
heurísticas para determinar cuando un correo electrónico es spam. Cualquiera de las reglas
usadas de forma independiente pueden llevar a errores de clasificación, pero cuando se unen
múltiples reglas heurísticas, la solución es más robusta y creíble. Esto se llama alta
credibilidad en el reconocimiento de patrones (extraído de las estadísticas en las que se basa).
Cuando se usa la palabra heurística en el procesamiento del lenguaje basado en reglas, el
reconocimiento de patrones o el procesamiento de imágenes, es usada para referirse a las
reglas.

http://ingenieriacusa.blogspot.com/2010/07/inteligencia-artificial-
heuristica.html
UNIDAD II. Técnicas de búsqueda

RED CONCEPTUAL DE LA UNIDAD

Solución de problemas con


búsqueda

Espacios de estados

Tecnicas de búsqueda Métodos de búsqueda

Satisfacción de restricciones

Teoría de juegos.
Competencia General de la Unidad:

- Definir y resolver problemas en base a técnicas de búsqueda en espacio de


estado.
- Describir gráficamente problemas en términos de espacios de estados.
UNIDAD II. Técnicas de búsqueda

2.1. Solución de problemas con búsqueda.


http://elvex.ugr.es/decsai/iaio/slides/A3%20Search.pdf

2.2. Espacios de estados.


Espacios de estados

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. El problema se plantea entoces en términos de encontrar una
configuración objetivo a partir de una configuración inicial dada, aplicando
transformaciones válidas según el modelo del universo. La respuesta es la secuencia de
transformaciones cuya aplicación succesiva lleva a la configuración deseada.

Los ejemplos más carácteristicos de esta categoría de problemas son los juegos (son
universos restringidos 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.

Entonces, 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 un nuevo estado. La condición impone restricciones
sobre la aplicabilidad de la regla según el estado actual, el estado generado o la historia
completa del 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 explicitan las movidas posibles (las
transiciones de estado). En principio, se puede construir cualquier espacio de estados
partiendo del estado inicial, aplicando cada una de las reglas para generar los sucesores
immediatos, y así succesivamente con cada uno de los nuevos estados generados (en la
práctica, los espacios de estados suelen ser demasiado grandes para explicitarlos por
completo).

Cuando un problema se puede representar mediante un espacio de estados, la solución


computacional correspende a encontrar un camino desde el estado inicial a un estado
objetivo.

Ejemplo de espacio de estados


Descripción del problema:

Un arriero se encuentra en el borde de un rio llevando un puma, una cabra y una lechuga.
Debe cruzar a la otra orilla por medio de un bote con capacidad para dos (el arriero y
alguna de sus pertenecias). La dificultad es que si el puma se queda solo con la cabra la
devorará, y lo mismo sucederá si la cabra se queda sola con la lechuga. ¿Cómo cruzar sin
perder ninguna pertenencia?

Representación de las configuraciones del universo del problema:


Basta precisar la situación antes o después de cruzar. El
arriero y cada una de sus pertenencias tienen que estar en
alguna de las dos orillas. La representación del estado debe
entonces indicar en que lado se encuentra cada uno de ellos.
Para esto se puede utilizar un término simbólico con la
siguiente sintáxis: estado(A,P,C,L), en que A, P, C y L son
variables que representan, respectivamente, la posición del
arriero, el puma, la cabra y la lechuga. Las variables pueden
tomar dos valores: i y d, que simbolizan respectivamente el
borde izquierdo y el borde derecho del rio. Por convención se
elige partir en el borde izquierdo. El estado inicial es
entonces estado(i,i,i,i). El estado objetivo es
estado(d,d,d,d).

Definición de las reglas de transición:


El arriero tiene cuatro acciones posibles: cruzar solo,
cruzar con el puma, cruzar con la cabra y cruzar con la
lechuga. Estas acciones están condicionadas a que ambos
pasajeros del bote estén en la misma orilla y a que no queden
solos el puma con la cabra o la cabra con la lechuga. El
estado resultante de una acción se determina intercambiando
los valores i y d para los pasajeros del bote.
Generación del espacio de estados
En este ejemplo se puede explicitar todo el espacio de
estados (el número de configuraciones está acotado por 24).

movidas
estado
cruza solo con puma con cabra con lechuga
estado(i,i, estado(d,i,
problema problema problema
i,i) d,i)
estado(d,i, estado(i,i, estado(i,i,
imposible imposible
d,i) d,i) i,i)
estado(i,i, estado(d,i, estado(d,d, estado(d,i,
imposible
d,i) d,i) d,i) d,d)
estado(d,d, estado(i,i, estado(i,d,
problema imposible
d,i) d,i) i,i)
estado(d,i, estado(i,i, estado(i,i,
problema imposible
d,d) i,d) d,i)
estado(i,d, estado(d,d, estado(d,d,
problema imposible
i,i) d,i) i,d)
estado(i,i, estado(d,d, estado(d,i,
problema imposible
i,d) i,d) d,d)
estado(d,d, estado(i,d, estado(i,i, estado(i,d,
imposible
i,d) i,d) i,d) i,i)
estado(i,d, estado(d,d, estado(d,d,
imposible imposible
i,d) i,d) d,d)
estado(d,d, estado(i,d,
problema problema problema
d,d) i,d)

Este espacio de estados también se puede representar mediante un grafo equivalente.

Solución del problema

El camino que pasa por la siguiente secuencia de estados es una solución del problema:

estado(i,i,i,i)
cruza con cabra
estado(d,i,d,i)
cruza solo
estado(i,i,d,i)
cruza con puma
estado(d,d,d,i)
cruza con cabra
estado(i,d,i,i)
cruza con lechuga
estado(d,d,i,d)
cruza solo
estado(i,d,i,d)
cruza con cabra
estado(d,d,d,d)

Búsqueda en espacio de estados


Existen varios algoritmos para encontrar un camino solución
en un espacio de estados. El esquema general de estos
algoritmos es el siguiente:
procedure Búsqueda {
open {estado_inicial}

closed {}
while (open no está vacío) {
remover un estado X del conjunto open
if (X es un estado objetivo) return éxito
else {
generar el conjunto de sucesores del estado X
agregar el estado X al conjunto closed
eliminar sucesores que ya están en open o en closed
agregar el resto de los sucesores al conjunto open
}
}
return fracaso
}

El conjunto open contiene a los estados generados que todavía no han sido visitados (no se
ha verificado si son estados objetivo y no se han generado sus sucesores). El conjunto
closed contiene a los estados visitados. Al considerar sólo a los sucesores que no han sido
previamente generados se evita entrar en ciclos.

Dependiendo del orden en que se visiten los estados del conjunto open se obtienen distintos
tipos de recorrido.

2.2.1. Determinísticos y No Deterministicos

Como se mencionó en el tema anterior, el espacio de estados es la representación de un


problema que abarca todas las posibles situaciones que se pueden presentar en la solución
del problema.

Los espacios de estados pueden clasificar en dos tipos: los implícitos y los explícitos, como
se muestra en el diagrama siguiente.
Los espacios de estados implícitos normalmente utilizan un sistema de producción para
generar sobre la marcha los posibles estados siguientes de un estado dado. Los juegos
suelen crear un espacio de estados implícito ya que un juego puede variar dependiendo de
las reglas que lo describen.

Los espacios de estados explícitos son aquellos en los se define, previo al inicio de la
búsqueda, todos los estados posibles y las conexiones entre ellos.

La representación de los espacios de estados explícitos se puede dar o no


determinísticamente, esto es, que el espacio de estados determinísticos contienen un único
estado inicial y seguir la secuencia de estados para la solución, mientras que el no
determinístico contiene un amplio número de estados iniciales y sigue la secuencia de
estados perteneciente al estado inicial del espacio.

Los espacios de estados determinísticos son usados por los sistemas expertos, mientras que
los no determinísticos son usados por sistemas de lógica difusa.
Ejemplo de espacio de estados determinísticos

Ejemplo de espacio de estados no determinísticos.

http://ia.comeze.com/subtemas/un4/4.2.html
2.3. Métodos de búsqueda
En éste capítulo se presentan los métodos más importantes de propósito general para la
búsqueda de soluciones a los problemas presentados en el capítulo anterior; para la
búsqueda de éstas soluciones se han desarrollado técnicas como las siguientes :

-Búsqueda ciega.
-Primero en profundidad.
-Primero a lo ancho.
-Solución por costo mínimo.
-Reducción de Problemas, grafos AND/OR, árboles de juegos.
-Heurística, funciones de evaluación, búsquedas heurísticas en grafos AND/OR.
-Técnicas de poda : alfa, beta, alfa-beta, hacia adelante y otras.

Búsqueda en profundidad

En inglés, depth-first search.

Si el conjunto open se maneja como una lista LIFO, es decir, como un stack, siempre se
estará visitando primero los últimos estados en ser generados. Esto significa que si A genera
B y C, y B genera D, antes de visitar C se visita D, que está más alejado de la raiz A, o sea
más profundo en el árbol de búsqueda. El algoritmo tiene en este caso la tendencia de
profundizar la búsqueda en una rama antes de explorar ramas alternativas.

procedure Búsqueda_en_profundidad {

open [estado_inicial]

closed {}
while (open no está vacía) {
remover el primer estado X de la lista open
if (X es un estado objetivo) return éxito
else {
generar el conjunto de sucesores del estado X
agregar el estado X al conjunto closed
eliminar sucesores que ya están en open o en closed
agregar el resto de los sucesores al principio de open
}
}
return fracaso
}

Considerando que la cantidad promedio de sucesores de los nodos visitados es B (llamado


en inglés el branching factor y en castellano el factor de ramificación), y suponiendo que la
profundidad máxima alcanzada es n, este algoritmo tiene una complejidad en tiempo de
O(Bn) y, si no se considera el conjunto closed, una complejidad en espacio de O(B × n). En
vez de usar el conjunto closed, el control de ciclos se puede hacer descartando aquellos
estados que aparecen en el camino generado hasta el momento (basta que cada estado
generado tenga un puntero a su padre).

El mayor problema de este algoritmo es que puede "perderse" en una rama sin encontrar la
solución. Además, si se encuentra una solución no se puede garantizar que sea el camino
más corto.

Búsqueda en amplitud

En inglés, breadth-first search.

Si el conjunto open se maneja como una lista FIFO, es decir, como una cola, siempre se
estará visitando primero los primeros estados en ser generados. El recorrido del espacio de
estados se hace por niveles de profundidad.

procedure Búsqueda_en_amplitud {

open [estado_inicial]

closed {}
while (open no está vacía) {
remover el primer estado X de la lista open
if (X es un estado objetivo) return éxito
else {
generar el conjunto de sucesores del estado X
agregar el estado X al conjunto closed
eliminar sucesores que ya están en open o en closed
agregar el resto de los sucesores al final de open
}
}
return fracaso
}

Si el factor de ramificación es B y la profundidad a la cual se encuentra el estado objetivo


más cercano es n, este algoritmo tiene una complejidad en tiempo y espacio de O(Bn).
Contrariamente a la búsqueda en profundidad, la búsqueda en amplitud garantiza encontrar
el camino más corto.

Búsqueda iterativa en profundidad

En inglés, iterative deepening.


La idea es combinar las buenas características de la búsqueda en profundidad, en cuanto a
la complejidad en espacio, con las ventajas de la búsqueda en amplitud. Esto se logra
haciendo una búsqueda en profundidad acotada por una profundidad máxima i que se hace
variar iterativamente de 1 en adelante con incrementos de 1. Si el estado objetivo más
cercano se encuentra a una profundidad n, se hacen n búsquedas en profundidad, a nivel 1,
a nivel 2, hasta el nivel n.

Esta búsqueda iterativa garantiza encontrar el camino más corto. Su complejidad en espacio
es de O(B × n). Su complejidad en tiempo es la suma de la complejidad en tiempo de cada

una de las búsquedas en profundidad acotadas que fueron necesarias, esto es


i n
i=1,...,nO(B ), o sea O(B ). La complejidad en tiempo es por lo tanto equivalente a hacer una
sola búsqueda acotada a la profundidad n.

Búsqueda heurística

En inglés, best-first search.

Los algoritmos anteriores hacen una búsqueda ciega y exhaustiva, lo que presenta serios
problemas en espacios de estado grandes. Esto se puede mejorar expandiendo primero los
estados que tienen más expectativas de encontrarse en el camino a la solución, lo que
implica utilizar una función heurística que permita darle una mayor prioridad a esos
estados.

El conjunto open se maneja en este caso como una cola de prioridad ordenada según una
función heurística que aporta un conocimiento adicional sobre el problema abordado. Esta
función puede ser, por ejemplo, una estimación del largo del camino que queda por recorrer
para llegar al estado objetivo.

procedure Búsqueda_heurística {

open [estado_inicial]

closed {}
while (open no está vacía) {
remover el primer estado X de la lista open
if (X es un estado objetivo) return camino hasta X
else {
generar el conjunto de sucesores del estado X
foreach (Y en sucesores) {
if (Y no está en open ni en closed) {
asignar a Y un valor heurístico
agregar Y en la lista open
}
elsif (Y está en open) {
if (el nuevo camino a Y es más corto)
actualizar el camino almacenado en open
}
elsif (Y está en closed) {
if (el nuevo camino a Y es más corto) {
remover el estado Y del conjunto closed
agregar el estado Y en la lista open
}
}
}
agregar el estado X al conjunto closed
reordenar la lista open según valores heurísticos
}
}
return fracaso
}

Además de utilizar una cola de prioridad, este algoritmo se diferencia por actualizar los
caminos almacenados en la lista open cada vez que se encuentra un camino más corto, lo
que mejora la probabilidad de encontrar el camino óptimo. El camino se almacena en cada
estado como un puntero al padre.

Cuando se llega a un estado en closed por un camino más corto, habría que transmitir esta
información a todos sus sucesores. Sin embargo, algunos de estos sucesores pueden haber
sido generados o posteriormente actualizados por otro camino que hasta el momento
parecía más corto, por lo cual estarían desvinculados del ancestro que se está considerando.
Administrar este problema sería muy engorroso, entonces se opta por repetir la búsqueda.

Se puede obtener una versión simplificada de esta búsqueda heurística eliminando toda la
información histórica contenida en open y closed. En cada paso se generan los sucesores
del estado actual y sólo se conserva al mejor de ellos para el paso siguiente. El algoritmo se
detiene cuando ninguno de los sucesores tiene una mejor evaluación que el estado actual
(sino entraría en un ciclo infinito). Esta estrategia se llama algoritmo del gradiente (hill
climbing en inglés). Funciona adecuadamente cuando no hay óptimos locales.

Funciones de evaluación heurística


Un criterio importante para definir una buena función de evaluación heurística es que las
soluciones encontradas con su ayuda sean cercanas al óptimo. Para llegar rápidamente a un
estado objetivo basta tener una evaluación local para elegir el mejor sucesor del estado
actual, pero esto es insuficiente si se quiere además minimizar el largo del camino.

Suponiendo que para cada estado o nodo n existe una evaluación heurística h(n) que
permite estimar la distancia que falta para llegar de n a un nodo objetivo, para encontrar lo
más rápidamente posible una solución conviene priorizar los estados con la menor
evaluación h(n). Pero si lo que se está buscando es un camino óptimo, la evaluación de los
nodos debe considerar el largo total del camino y no sólo lo que queda por recorrer. Las
evaluaciones heurísticas f(n) que cumplen con este criterio se expresan como una una suma
de dos estimaciones: f(n) = g(n) + h(n), en que g(n) es una estimación del largo del camino
del estado inicial hasta el nodo n y h(n) es una estimación del largo del camino que queda
por recorrer de n hasta un nodo objetivo. La evaluación g(n) corresponde al largo del
camino por el cual se llegó al nodo n, es una estimación porque siempre queda la
posibilidad de encontrar un camino más corto.

La evaluación f(n) expresa por lo tanto una estimación del largo total del camino desde el
nodo inicial a un nodo objetivo pasando por el nodo n. El algoritmo de búsqueda heurística
que utiliza una evaluación de este tipo se denomina algoritmo A. Cuando dos estados tienen
la misma evaluación heurística, se le da prioridad al primero en ser generado ya que tiene
más probabilidades de corresponder a un camino de largo mínimo.

Admisibilidad

Un algoritmo de búsqueda es admisible si garantiza encontrar el camino óptimo entre el


estado inicial y el estado objetivo.

Una búsqueda basada en una función de evaluación heurística f(n) = g(n) + h(n) es
admisible si h(n) subestima el largo del camino mínimo efectivo.

Para demostrar esta propiedad, se define una función de evaluación f*(n) que entrega el
largo del camino óptimo del nodo inicial a un nodo objetivo pasando por el nodo n (una
función de esta naturaleza se denomina un oráculo porque implica adivinar cuál es el mejor
camino sin recorrer el espacio de estados). Esta función se calcula como una suma f*(n) =
g*(n) + h*(n) en que g*(n) es el largo efectivo del camino óptimo del nodo inicial al nodo n
y h*(n) el largo efectivo desde n hasta el objetivo.

Siempre se cumple que g(n) >= g*(n). Se quiere demostrar que si h(n) <= h*(n) la búsqueda
heurística es admisible.

Demostración por el absurdo:

Supongamos que el nodo objetivo o fué generado por un


camino de largo l. Se sabe que f(o) = l.

El nodo o fué el último nodo en ser expandido, por lo tanto para todo nodo x de la
lista open se debería cumplir que f(x) >= f(o). Por lo tanto f(x) >= l.

Sin embargo, si el camino que lleva a o no es el óptimo, debería existir un nodo n en


la lista open, generado antes de expandir o, que se encuentra en el camino óptimo.
Si n está en el camino óptimo g(n) = g*(n).
Por lo tanto, f(n) = g*(n) + h(n).
Por hipótesis h(n) <= h*(n), entonces f(n) <= f*(n).
Si suponemos que el camino de largo l que lleva a o no es óptimo, entonces f*(n) <
l.
Por lo tanto f(n) < l.
Contradicción.

El algoritmo A con una evaluación heurística h(n) <= h*(n) se denomina algoritmo A*.

Nótese que un caso particular del algoritmo A* se da cuando h(n) = 0. Este caso
corresponde a una búsqueda en amplitud (que también es admisible).

http://users.dcc.uchile.cl/~abassi/Cursos/IA/Apuntes/c5.html

2.3.1. Primero en anchura (breadthfirst).

Explora cada nodo sobre el mismo nivel antes de intentar analizar un nivel más profundo.
Ejemplo :

https://docs.google.com/file/d/0B0ZuN9AKlG-
MNmYzOGQ0NjYtNzE0Ni00NTUxLWI2ODctZjY4OTY3OWI5MThi/edit?hl=en&pli=1
2.3.2. Primero en profundidad (depthfirst).

Explora cada camino posible hasta su conclusión antes de intentar otro camino. Ejemplo:

2.3.3. Grafos O.
2.3.4. Grafos A.

2.4. Satisfacción de restricciones.

Los problemas pueden resolverse buscando en un espacio de estados, estos estados pueden
evaluarse por heurísticas específicas para el dominio y probados para verificar si son
estados meta.
Los componentes del estado, son equivalentes a un grafo de restricciones, los
cuales están compuestos de:

 Variables. Dominios (valores posibles para las variables).


 Restricciones (binarias) entre las variables.
Objetivo: encontrar un estado (una asignación completa de valores a las variables)
Que satisface las restricciones.

En los Problemas de Satisfacción de Restricciones (PSR), los estados y la prueba


de meta siguen a una representación estándar, estructurada y muy simple.

Ejemplos:

 Crucigramas
 Colorear mapas

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-2.html

2.5. Teoría de juegos.

Siendo una de las principales capacidades de la inteligencia humana su capacidad para


resolver problemas, así como la habilidad para analizar los elementos esenciales de cada
problema, abstrayéndolos, el identificar las acciones que son necesarias para resolverlos y
el determinar cuál es la estrategia más acertada para atacarlos, son rasgos fundamentales.

Podemos definir la resolución de problemas como el proceso que partiendo de unos datos
iníciales y utilizando un conjunto de procedimientos escogidos, es capaz de determinar el
conjunto de pasos o elementos que nos llevan a lo que denominaremos una solución
óptima o semi-óptima de un problema de planificación, descubrir una estrategia ganadora
de un juego, demostrar un teorema, reconocer

Una imagen, comprender una oración o un texto son algunas de las tareas que pueden
concebirse como de resolución.

Una gran ventaja que nos proporciona la utilización de los juegos es que a través de ellos
es muy fácil medir el éxito o el fracaso, por lo que podemos comprobar si las técnicas y
algoritmos empleados son los óptimos. En comparación con otras aplicaciones de
inteligencia artificial, por ejemplo comprensión del lenguaje, los juegos no necesitan
grandes cantidades de algoritmos. Los juegos más utilizados son las damas y el ajedrez.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-2.html
UNIDAD III. Representación del conocimiento y razonamiento

UNIDAD 3

RED CONCEPTUAL DE LA UNIDAD

Sistemas basados en
conocimiento

Mapas conceptuales

Representación del
conocimiento y Redes semánticas
razonamiento

Lógica de predicados

Razonamiento con
incertidumbre
Competencia General de la Unidad:

- Aplicar la representación basada en reglas de producción, en la solución de


problemas basados en conocimiento.
UNIDAD III. Representación del conocimiento y razonamiento

3.1. Sistemas basados en conocimiento.


Durante los años 60, la mayor parte de los trabajos de investigación sobre
inteligencia artificial se centraban en los algoritmos de búsqueda heurística y en la
concepción de sistemas para la resolución de problemas con un interés, en
principio, puramente teórico y académico (demostración de teoremas, juegos,
problemas lógicos, etc.), pero con la idea implícita de que los resultados pudieran
ser aplicables a problemas «reales». Algunas líneas con posibilidades de aplicación
práctica inmediata, como la traducción automática entre lenguajes naturales, se
abandonaron pronto al percibirse la dificultad del problema. A mitad de los 70
comienzan a tomar cuerpo dos ideas clave que, aunque muy relacionadas, no son
idénticas. Se trata del «paradigma del sistema experto» y del «paradigma del
conocimiento».

3.1.1. Concepto de conocimiento.

El conocimiento es un conjunto de información almacenada mediante la experiencia


o el aprendizaje (a posteriori), o a través de la introspección (a priori). En el sentido
más amplio del término, se trata de la posesión de múltiples datos interrelacionados
que, al ser tomados por sí solos, poseen un menor valor cualitativo.
Para el filósofo griego Platón, el conocimiento es aquello necesariamente verdadero
(episteme). En cambio, la creencia y la opinión ignoran la realidad de las cosas, por
lo que forman parte del ámbito de lo probable y de lo aparente.
El conocimiento tiene su origen en la percepción sensorial, después llega al
entendimiento y concluye finalmente en la razón. Se dice que el conocimiento es
una relación entre un sujeto y un objeto. El proceso del conocimiento involucra
cuatro elementos: sujeto, objeto, operación y representación interna (el proceso
cognoscitivo).
La ciencia considera que, para alcanzar el conocimiento, es necesario seguir un
método. El conocimiento científico no sólo debe ser válido y consistente desde el
punto de vista lógico, sino que también debe ser probado mediante el método
científico o experimental.
La forma sistemática de generar conocimiento tiene dos etapas: la investigación
básica, donde se avanza en la teoría; y la investigación aplicada, donde se aplica la
información.
Cuando el conocimiento puede ser transmitido de un sujeto a otro mediante una
comunicación formal, se habla de conocimiento explícito. En cambio, si el
conocimiento es difícil de comunicar y se relaciona a experiencias personales o
modelos mentales, se trata de conocimiento implícito.
http://inteligenciaartificial-isc.blogspot.mx/p/unidad-3-representacion-
del.html

3.1.2. Lenguajes utilizados en la representación de


conocimiento.

En el caso de los sistemas basados en conocimiento, el lenguaje en el que se


expresa la ontología debe reunir características que a veces (dependiendo del
dominio) no es fácil compatibilizar:

 Sintaxis formalizada, para poder diseñar sobre bases sólidas un


procesador.
 Semántica bien definida y que permita la implementación procedimental en
el procesador de algoritmos de razonamiento eficientes.
 Desde el punto de vista pragmático, expresividad suficiente para
representar de la manera menos forzada posible el conocimiento. Esto
significa que, para una determinada conceptuación, el lenguaje con el que
se construyen los modelos en el nivel simbólico debe permitir una
interpretación declarativa que represente todos los aspectos de esa
conceptuación. En la práctica puede ocurrir que no encontremos el lenguaje
ideal, y tengamos que forzar la conceptuación para que se ajuste al
lenguaje elegido.

Hay lenguajes formales, o teóricos, que satisfacen en mayor o menor grado esas
condiciones y lenguajes de implementación, o prácticos, que, siguiendo el modelo
de algún lenguaje formal, están adaptados para mecanizar la construcción de
ontologías. Nos centraremos en los primeros, que son relativamente estables, y
sobre los que se basan los segundos, algunos muy volátiles. Por ejemplo:

 Prolog es un lenguaje de implementación de la lógica de primer orden, que


en sus versiones más recientes incluye también construcciones para la
programación con restricciones.
 OWL (Web Ontology Language) es un lenguaje de ontolologías para la web
basado en una lógica de descripciones (en realidad, son tres sublenguajes).
Procede de la fusión de otros dos elaborados independientemente
alrededor del año 2000: DAML (DARPA Agent Markup Language, de la
Agencia de proyectos del Ministerio de Defensa U.S.A) y OIL (Ontology
Inference Layer, de un consorcio formado en el marco de los programas de
la U.E.). En 2001 se formó un comité conjunto que hizo una propuesta al
Consorcio Web (W3C), y éste publicó el estándar (Proposed
Recommendation en la terminología del W3C) en 2003, modificado el 10 de
febrero de 2004. Existen numerosas propuestas de mejoras y
modificaciones. En el Apéndice B se resume la versión actual.

Hasta la segunda mitad de los años 80 se estaban utilizando diversos lenguajes


que podían clasificarse en dos tipos:

 Lenguajes basados en la lógica de predicados de primer orden, con sintaxis


y semántica formalizadas, con una base rigurosa para el razonamiento,
pero con grandes dificultades para implementar algoritmos de razonamiento
eficientes, con una rigidez sintáctica que impide ciertas conceptuaciones
«naturales» y con pocas posibilidades de modularización.
 Lenguajes basados en modelos de psicología que, al estar derivados del
estudio de la mente humana, permiten conceptuaciones más naturales y
algoritmos de razonamiento más eficientes, pero que tienen una sintaxis
menos formalizada y carecen de una definición semántica precisa (a pesar
de que uno de ellos se llama redes semánticas).

Como es natural, diversos investigadores trataron de elaborar propuestas para


aunar las ventajas de unos lenguajes y otros (Hayes, 1979, Nilsson, 1982,
Brachman y Levesque, 1985), pero no fue hasta el final de los 90 cuando
quedaron relativamente establecidas las llamadas lógicas de descripciones, que
en el momento actual son los lenguajes por antonomasia para la representación
del conocimiento.

A las lógicas de descripciones dedicaremos el Capítulo. Pero hay al menos cuatro


razones por las que nos parece conveniente detenernos previamente en los
lenguajes más antiguos:

 la lógica clásica de primer orden sigue siendo la base fundamental de las


demás formulaciones de la lógica;
 en el diseño de muchos sistemas basados en conocimiento, especialmente
los que no son muy complejos, se siguen utilizando algunos de esos
lenguajes;
 las ideas originales ayudan a entender y justifican ciertas decisiones de
diseño, y
 la naturaleza interdisciplinaria de estos primeros trabajos hace muy
interesante su estudio.
http://inteligenciaartificial-isc.blogspot.mx/p/unidad-3-representacion-
del.html
3.2. Mapas conceptuales.
En Inteligencia Artificial, Quillian desarrolló una forma de mapa conceptual que se
denominó redes semánticas y que se usa ampliamente para la representar el
conocimiento formal. En lingüística, Graesser y Clark han desarrollado un análisis
de formas de argumentación en el texto en forma de mapas conceptuales
estructurados en ocho tipos de nodos y cuatro tipos de enlaces. En la historia de la
ciencia, la dinámica de mapas conceptuales se ha usado también para representar
los procesos de cambio conceptual de las revoluciones científicas y en filosofía de
la ciencia, Toulmin desarrolló una teoría de argumentación científica basada en
mapas conceptuales. También los mapas conceptuales han sido utilizados en la
educación, el diseño de las organizaciones para la toma de decisiones, la
adquisición de conocimiento especializado, los sistemas sociales, la toma de
decisiones políticas, etc.

Un mapa conceptual es una técnica sencilla que permite representar el


conocimiento de forma gráfica como redes conceptuales compuestas por nodos que
representan los conceptos, y enlaces, que representan las relaciones entre los
conceptos.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-3-representacion-del.html

3.3. Redes semánticas.


Muchas disciplinas han desarrollado técnicas de realización de diagramas que
constituyen lenguajes formales visuales que representan el conocimiento
operacional en forma esquemática. El filósofo y lógico Charles S. Pierce desarrolló
sus grafos existenciales como una técnica formal de razonamiento para la inferencia
lógica y en años recientes se ha estado cultivando el interés en el estado formal de
las pruebas visuales en matemáticas. En Inteligencia Artificial, Sowa ha desarrollado
los grafos de Peirce como estructuras formales conceptuales para la representación
de la inferencia lógica de las declaraciones del lenguaje natural.

La presentación visual de las estructuras de conocimiento ha sido un rasgo


característico de las redes semánticas desde sus inicios. En la adquisición de
conocimiento, en particular, la presentación de conocimiento formal ha sido algo
importante para su validación. Hay muchas técnicas para tal adquisición pero todas
ellas, en última instancia, terminan en una base de conocimiento que opera con la
semántica formal. Sin embargo, la expresión de esta base de conocimiento en el
lenguaje formal usado por el sistema no es por lo general muy comprensible a los
no programadores. Es preciso, por tanto, un lenguaje visual que ofrezca tanto
formas comprensibles como posibilidades formales atractivas no sólo para la
comprensión, sino también para la corrección, y para las partes del proceso de
adquisición del conocimiento en sí mismo.

El temprano desarrollo de redes semánticas acabó en fuertes críticas sobre la


semántica de diagramas particulares ya que ésta no estaba bien definida. Los nodos,
arcos y sus etiquetas podían usarse muy libremente y con una gran ambigüedad, y
los diagramas estaban sujetos a interpretaciones diferentes. En los años 70 existían
propuestas para formalizar una red semántica bien definida y esto hizo factible que
la semántica formal fuera desarrollada para sistemas de representación de
conocimiento terminológicos. En 1991, Profits estableció una semántica formal para
mapas conceptuales para sistemas terminológicos lógicos que dio lugar a un
ejemplo principal de su uso en la solución de un sistema de asignación de espacio.

Las redes semánticas son sistemas de organización del conocimiento que


estructuran los conceptos, no como una jerarquía sino como una red. Los conceptos
son como nodos, con varias relaciones que se ramifican hacia fuera de ellas. Las
relaciones pueden incluir relaciones tipo todo-parte, causa-efecto, padre-niño, "es
un" o "es parte".

Las redes semánticas son grafos orientados que proporcionan una representación
declarativa de objetos, propiedades y relaciones. Los nodos se utilizan para
representar objetos o propiedades. Los arcos representan las relaciones entre
nodos. El mecanismo de inferencia básico en las redes semánticas es la herencia
de propiedades.

Las redes semánticas proporcionan un modelo de presentar las relaciones entre los
conceptos y los acontecimientos y constituyen una descripción de nuestra forma de
razonar.

Las partes de una red semántica son:

 nodos: es un concepto y se encierra e un círculo o elipse.

 relaciones: es una propiedad del concepto y pueden ponerse de dos


formas:

o o implícitas: es una flecha que no especifica su contenido

o o explícitas: es una flecha en donde se especifica su contenido


3.4. Lógica de predicados
En lógica de predicados, los valores de verdad se atribuyen a predicados que
denotan relaciones entre entidades del universo modelado. Por ejemplo, en vez de
tener una variable q para representar "Sócrates es un hombre", se escribe el
predicado hombre(sócrates) que relaciona a la entidad "Sócrates" con el hecho de
"ser hombre". Un predicado también puede aplicarse a variables que denotan
entidades anónimas o genéricas. Por ejemplo, para escribir la premisa "Todos los
hombre son mortales", que no se refiere a ningún "hombre" en particular, se utiliza
el predicado hombre(X) en que X es una variable que denota a cualquier entidad
del universo modelado que cumple con el hecho de "ser hombre".
El silogismo completo queda expresado de la siguiente manera:
X (hombre(X)mortal(X))

hombre(sócrates)

mortal(sócrates)
Para aplicar este silogismo basta asignar la variable X, que puede tomar un valor
arbitrario, con la constante sócrates. Se obtiene la fórmula:
hombre(sócrates)mortal(sócrates)
Después, para obtener la conclusión, se opera exactamente como en la lógica
proposicional.

3.4.1. Sintaxis.

Los paréntesis, además de servir como símbolos auxiliares para evitar


ambigüedades sin necesidad de recordar el convenio de precedencia, se utilizan
para formalizar la idea de que un símbolo de predicado se aplica a símbolos que
representan a un objetos: p(x,A) representa la relación p entre la variable x y la
constante A. Esta construcción, símbolo de predicado aplicado sobre uno o varios
símbolos representativos de objetos, que sustituye a las antiguas «variables
proposicionales» , se llama fórmula atómica, o, simplemente, átomo.
Un objeto puede estar representado por una constante, una variable o una
función aplicada sobre otros objetos, o sobre otras funciones. En general, se
llama término a la representación de un objeto. La forma de una función es la
misma que la de un átomo: un símbolo de función seguido por términos entre
paréntesis.
En lógica de proposiciones utilizábamos los simbolos ϕ, ψ, χ, como
metasímbolos para representar sentencias. Añadiremos ahora α, τ y π para
representar átomos, términos y funciones, respectivamente.
Para definir las reglas de la gramática vamos a utilizar también p para
representar, en general, a un símbolo de predicado, f para un símbolo de
función, C para un símbolo de constante yx para un símbolo de variable. Las reglas,
en notación BNF, son:
τ ::=C | x |π (es decir, un término es una constante, una variable o una función)
α ::= p(τ{,τ}) (es decir, un átomo se construye con un símbolo de predicado y uno
o más términos entre paréntesis)

π::=f(τ{,τ}) (es decir, una función se construye con un símbolo de función y uno
o más términos entre paréntesis; sintácticamente es igual que un átomo)
Y las sentencias se forman con las mismas reglas de la lógica de proposiciones,
añadiendo dos para los cuantificadores:
φ ::= α |
(¬φ)|
(φ∨ψ)|
(φ⋀ψ)|
(φ⟶ψ)|
(φ⟷ψ)|
(∀x)(φ)|
(∃x)(φ)|

3.4.2. Semántica.

 Una fbf, como 'cadena de caracteres', no tiene significado real


(semántica).
 Una estructura establece la 'semántica real' de los elementos de la
lógica:

- Dominio de aplicación.
- Semántica de las constantes, predicados, funciones:
- ¿Qué significado tienen?:
(Juan es 'ese' individuo)
- ¿Qué se cumple en el mundo real?

 Un conjunto de fbf (sin significado) puede representar la "realidad"


mediante una estructura asociada.
 Para la asignación de un valor de verdad a una fbf, debe 'interpretarse'
en una estructura dada, que representa el significado (semántica) de los
elementos de la fbf.
{A(J, m(M))} es cierta si:

 Se establece la interpretación:

o A se asocia a "ama"
o J se asocia a Juan y M a María
o m se asocia a la función unaria "madre de"

 En la estructura S:

o Dominio: {Juan, María, Ana}


o {Madre-de(María) = Ana}
o "Juan ama a la madre de María" es verdadera

3.4.3. Validez. 3.4.4. Inferencia.

Lógica

Resumiendo, diremos que una lógica consta de lo siguiente:

1. Un sistema formal para describir lo que está sucediendo en un momento


determinado, y que consta de :

La sintaxis del lenguaje, que explica cómo construir oraciones.

La semántica del lenguaje, que especifica las restricciones sistemáticas


sobre cómo se relacionan las oraciones con aquello que está sucediendo.
2. La teoría de la demostración: un conjunto de reglas para deducir las implicaciones
de un conjunto de oraciones.

Nos concentraremos en dos tipos de lógica: la propositiva o lógica booleana y la lógica de


primer orden (más exactamente, el cálculo de predicado de primer orden con igualdad).

En la lógica propositiva los símbolos representan proposiciones completas (hechos. Los


símbolos de proposiciones pueden combinarse usando los conectivos booleanos para
generar oraciones de significado más complejo. Una lógica como esta poco se preocupa por
la manera de representar las cosas, por ello no es sorprendente que no ofrezca mucho como
lenguaje de representación.

La lógica de primer orden (también conocida como cálculo de predicados de primer orden)
se preocupa por la representación de los mundos en términos de objetos y predicados sobre
objetos (es decir, propiedades de los objetos o relaciones entre los objetos), así como del
uso de conectivos y cuantificadores, mediante los cuales se pueden escribir oraciones sobre
todo lo que pasa en el universo, a un mismo tiempo.

http://ia.comeze.com/subtemas/un2/2.4.html

LEYES DE LA LOGICA DE PREDICADOS O PROPOSICIONES


La lógica proposicional es la parte de la lógica que estudia la formación
deproposicionescomplejas a partir de proposiciones simples, y la inferencia de
proposiciones a partir de proposiciones, pero sin tener en cuenta la estructura interna de
las proposiciones más simples.
Proposición conjuntiva

P ^ Q
1 1 1
1 0 0
0 0 1
0 0 0
La conjunción es verdadera sólo cuando ambas variables lo son
y es falsa en los demás casos.
Se lee Py Q.
Proposición disyuntiva inclusiva
P v Q
1 1 1
1 1 0
0 1 1
0 0 0
La disyunción es verdadera en todos los casos menos cuando
Pvale 0 y Qvale 0.
Se lee Pó Q.
Proposición disyuntiva exclusiva
V
P Q
_
1 0 1
1 1 0
0 1 1
0 0 0
La disyunción exclusiva es verdadera cuando una variable es
verdadera y la otra falsa, y es falsa en los demás casos.
Se lee Pexcluye a Q.
Proposición condicional
P → Q
1 1 1
1 0 0
0 1 1
0 1 0
El condicional es verdadero en todos los caso menos cuando P
vale 1 y Qvale 0.
Se lee Pcondiciona a Q.
Proposición bicondicional
P ↔ Q
1 1 1
1 0 0
0 0 1
0 1 0
El bicondicional es verdadero cuando ambos son verdaderos o
cuando ambos son falsos, y es falso en los demás casos.
Se lee P bicondiciona a Q.
Proposición negativa
P ¬P
1 0
0 1
La negación - que se lee no -P, cambia el valor de la
variable que se niega: sólo es verdadera si Pes falsa y es
falsa si Pes verdadera.
Expresión Símbolo
en el en Símbolos
Conectiva Ejemplo
lenguaje este alternativos
natural artículo
Negación no No está lloviendo.
Está lloviendo y
Conjunción y
está nublado.
Está lloviendo o
Disyunción o
está soleado.
Si está soleado,
Condicional si...
entonces es de
material entonces
día.
Está nublado si y
si y sólo
Bicondicional sólo si hay nubes
si
visibles.
Negación Ni está soleado ni
ni... ni
conjunta está nublado.
O bien está
Disyunción o bien...
soleado, o bien
excluyente o bien
está nublado.

Tablas de verdad

La tabla de verdad de una fórmula es una tabla en la que se


presentan todas las posibles interpretaciones de las
variables proposicionales que constituye la fórmula y el
valor de verdad de la fórmula completa para cada
interpretación. Por ejemplo, la tabla de verdad para la
fórmula sería:
TABLAS DE VERDAD

NEGACION

DISYUNCIÓN INCLUSIVA
NEGACIÓN ALTERNA

Como se ve, esta fórmula tiene 2n interpretaciones posibles —


una por cada línea de la tabla—, donde n es el número de
variables proposicionales (en este caso 3, es decir p, q, r)
, y resulta ser una tautología, es decir que bajo todas las
interpretaciones posibles de las variables proposicionales,
el valor de verdad de la fórmula completa termina siendo V.
Ejemplos de verificacion con tablas de verdad

http://clau992.blogspot.mx/2012/03/logica-de-predicadossintaxissemanticava.html

3.5. Razonamiento con incertidumbre.


En situaciones reales, no siempre es posible contar con toda la información. Inclusive la
información disponible puede ser incorrecta, incompleta o cambiar muy rápidamente.
Todo esto da lugar a diferentes formas de inconsistencias e incertidumbre.
Diversos métodos han sido desarrollados para evaluar los grados de certeza o de verdad de
las conclusiones. Uno de los más generalizados consiste en asignar coeficiente de certeza o
de confianza a los hechos que intervienen en las en las condiciones y en la conclusión de
una regla.
Los principales modelos desarrollados son:

 Modelo estadístico – probabilístico.


 Modelo aproximado.
 Modelo de lógica difusa.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-3-representacion-del.html
http://rodrigorodriguez.files.wordpress.com/2009/04/08.pdf

3.5.1. Aprendizaje.

Máquina que Aprende: Sistema Organizado que transforma un mensaje de Entrada en


una Salida, de acuerdo con un Principio de Transformación. Si tal Principio está sujeto a
cierto Criterio de validez, y el Método de Transformación se ajusta a fin de que tienda a
mejorar el funcionamiento; se dice que el Sistema Aprende.

Aprendizaje Animal: Cuando los Organismos se Ajustan o Adaptan al Conjunto de


Estímulos que provienen del Entorno; Reciben la Información y la Almacena con el fin de
Reutilizarla en Situaciones o Patrones de Estímulos Semejantes.

La Organización (o Reorganización) de la propia Conducta (ante una Situación o un Patrón


de Estímulos) como Resultado de una Experiencia Individual.

Todos los Estímulos a los que un Individuo responde en un cierto Contexto pueden No ser
Efectivos para Producir una Conducta de Aprendizaje en otros Contexto.
Tipos de Aprendizaje

 Habituación. Una Respuesta que decae ante un Conjunto de Estímulos Repetidos


(o Continuos) No Asociados a Ningún Tipo de Recompensa o Refuerzo. Implica
Tendencia a Borrar todo Tipo de Respuesta ante un Estímulo que No tiene
Importancia para la Supervivencia. Sirve como Filtro a un Conjunto de Estímulos
No Relevantes.
 Asociativo. Un Evento permite Predecir, con cierta confianza, la Ocurrencia (o no)
de otro. Un Animal que Conoce estas Relaciones pueden sacar provecho
Anticipándose a esos Eventos y Comportarse apropiadamente.
o Condicionamiento. Un Animal adquiere la Capacidad de Responder a un
Estímulo Determinado con la misma Acción Refleja con que Responderí a
otro Estímulo Condicionante (Refuerzo o Recompensa) cuando ambos
Estímulos se presentan Concurrentemente (o sobre puestos en una
Secuencia) un cierto número de veces.
o Prueba y Error. Los Animales permanecen siempre Activos y su Atención
se fija Primero aquí y luego allá probando todas las Posibilidades
inimaginables hasta que de manera mas o menos Accidental resuelve con
Éxito la Tarea y Obtiene Recompensa. Requiere la Existencia del Refuerzo
(o Recompensa) para animar la Selección de la Respuesta Deseada.
o Latente. Tiene lugar en Ausencia de Recompensa. Se aprende algo que
permanece Latente hasta que es Necesario.
 Imitación. Implica Copiar una Conducta, Acción o Expresión Nueva o que resulta
Imprescindible de Aprender si no es Copiada de otro Individuo.
 Impronta. La Manera en que un Rango Específico de Estímulos es Capaz de
Elicitar una Respuesta pudiendo ser Limitado y Refinado mediante la Experiencia.
Su Duración se Restringe a Periodos Sensitivos.

1.1. Análisis
Aprendizaje

 Psicología Cognitiva
 Inteligencia Artificial

Dificultad

 Programas Incapaces de Adaptarse a los cambios del Entorno


 Corregir sus propios Errores

Sistemas de Aprendizaje
Nivel de Conocimiento: Objetivo, Reglas y Otra fuente de Conocimiento (Adquirido o
Aprendido)

Nivel de Algoritmo: Secuencia de Decisiones y Acciones

Nivel Simbolico: Procesos de Manipulación de los Simbolos que representan los


Elementos del Dominio

1.2. Historia
1.2.1. Inicial (1955 - 1965)
Modelo al Ser Humano. Crear mecanismos generales capaces de Aprender sin apenas
conocimiento.

Aprendizaje Conexionista. Establecer Modelos Computacionales de Redes de Elementos


de Procesamiento Analógico No Lineal.

1.2.2. Intermedia (1962 - 1976)


Sistemas tuvieran una Capacidad apreciable de "Adquirir Conocimiento", habia que
dotarles de Cierto Conocimiento sobre el Dominio.

Técnicas Simbólicas sobre Adquisición de Concepto

1.2.3. Asentamiento (1976 - 1988)


Desarrollo y Divulgación de las Principales Ténicas de Modificación de Concepto

1.2.4. Actual (1988 - ...)


Aprendizaje Computacional.

Aprendizaje Multiestrategia. Propuestas Hibridas: Combinar Técnicas Simbolicas y


Subsimbolicas (Redes Neuronales)

1.3. Concepto
Aprendizaje. Incrementar el Conocimiento adquirido, Realizar Tareas con mayor
Eficiencia o Corrección, o llevar a cabo Nuevas Tareas.

Adquisición de Conocimiento. Actividad de Diálogo en la que un "Agente" es Informado


de algún Hecho o Situación, o realiza Preguntas que originan una Reestructuración de
Conocimiento disponible.

 Adquisición de Soltura. Mejora Gradual del Comportamiento mediante la


Repetición incosciente de alguna actuación.

Capacidad de Memorizar. Basado en Conservar las Demostraciones con el Fín de poder


utilizarlas en el futuro.

Requiere que se Establezcan Mecanismos en la Memoria de los sistemas para Almacenar


Nuevos Elementos en el contexto adecuado.

 Durante la Fase de Comprensión estamos constantemente Buscando Recuerdos


relacionados lo mas generales posibles.
 Estudio de Diferentes Formas de Evocación en Función de la Situación Real.

Relación con el Entorno (Medio). La Situación Ideal en la que el Sistema de Apredizaje


(SA) es un Agente Autonomo capaz de Adquierir todo el conocimoiento necesario a partir
de su relación con el Medio.

El Sistema parte de un Conocimiento Inicial bastante evolucionado que le permite


desenvolverse en su Entorno.

Velocidad con la que Ocurren los Cambios. Determinar si el Sistema de Aprendizaje es


capaz de Capturar, en el tiempo disponible, las Regularidades Observables en el Dominio.

Tareas

1. Clasificación y Predicción
2. Comprensión del Lenguaje Natural
3. Configuración y Diseño
4. Planificación y Gestión de Recursos
5. Control y Mejora de Rendimiento

Actualización y Recuperación Eficiente del Conocimiento Adquirido. Razonamiento


Basado en Casos

Representación del Conocimiento. Elige un Formalismo de Representación Determinado


y éste determina las Inferencias realizables y Capacidades.

La Mejora del comportamiento se logra mediante una Actualización de las Estructuras.


Percibir las Limitaciones de los mecanismos internos; mejora de Rendimiento en los
Sistemas Multiestrategia.

1.4. Objetivos
 Mejorar la Corrección (Exactitud) de la Solución
o Realizar una Inferencia Inductiva
o Objetivo es la Sintesis (Definición) de una Estructura nueva
 Reducir el Tiempo de Cálculo de la Solución
o Realizar una Inferencia Deductiva
o Objetivo es el Análisis (explicación) de una observación

http://www.sindominio.net/~apm/articulos/ia/
3.5.2. Razonamiento probabilístico.
www.giaa.inf.uc3m.es/.../Tema2-RazonamientoProbabilistico.pdf

3.5.3. Lógicas multivaluadas.

Lógica Multivaluada

La razón por la cual utilizamos el sistema de numeración binario para describir el


comportamiento de los circuitos lógicos es porque existen únicamente dos estados que
podemos aprovechar en los circuitos eléctricos: el estado de encendido y el estado de
apagado (o bien, la presencia de un voltaje y la ausencia del mismo).

En efecto, en todos los capítulos anteriores supusimos la existencia de únicamente dos


estados utilizables.

Sin embargo, en los laboratorios de investigación y desarrollo alrededor del mundo se están
logrando avances en estos momentos que pueden cambiar de modo radical nuestro modo de
pensar "clásico". Tal vez no está lejano el día en el cual todo lo que hemos estudiado pasará
a ser una pieza de museo, del mismo modo que los radios hechos a base de tubos
electrónicos prácticamente han dejado de existir.

Supóngase que tenemos un circuito electrónico que trabaja con dos niveles de voltaje, uno
de +5 volts y el otro de 0 volts. Si designamos al nivel de +5 volts como el estado 1 y al
nivel de 0 volts como el estado 0, una salida del circuito podría tomar el siguiente aspecto:

Esta salida representa la palabra 101001101001.


Ahora bien, extendamos nuestra imaginación y supongamos que existe un tercer nivel de
voltaje de +10 volts en el circuito. Si designamos al nivel de +10 volts como el estado 2,
una salida del circuito podría ser la siguiente:

Esta salida representa la palabra 1021020101221.

Un diagrama de tiempos como el que se acaba de mostrar es conocido comunmente como


un diagrama de estado.

De la misma manera, podemos extender aún más nuestra imaginación y suponer la


existencia de un cuarto nivel de voltaje de +15 volts designado como el estado 3, un quinto
nivel de voltaje de +20 volts designado como el estado 4, y así sucesivamente. De este
modo, se nos abre una nueva gama de posibilidades.

Lo más importante es que ya están apareciendo en los laboratorios varios componentes


electrónicos con más de dos niveles de voltaje.

Resta ahora hacernos una pregunta: ¿Qué propiedades deben tener estos componentes
electrónicos y cuáles deben ser los bloques fundamentales?

Entramos ahora en el centro de la controversia.

Nuestra intuición nos lleva a pensar que si las funciones NOT, OR y AND en el sistema
binario bastaron para describir cualquier circuito lógico con dos estados, entonces es
natural suponer la existencia posible de funciones básicas NOT, OR y AND en un sistema
numérico base-N con las cuales se puedan construír circuitos lógicos más complejos en
dicha base. Sin embargo, ¿estamos tomando el camino correcto? ¿Acaso no existirán otras
funciones lógicas fundamentales para cada sistema numérico base-N? ¿Existirá otro tipo de
matemáticas totalmente diferente al álgebra Boleana que ya conocemos, cuyo uso nos
garantice el diseño y el aprovechamiento óptimo de los nuevos componentes?

En la actualidad, estos temas son objeto de calurosos debates. La solución correcta a las
preguntas anteriores representa un reto formidable para la mente humana, a la vez que
encierra la clave para el desarrollo de una nueva era en la electrónica.

Existe una función lógica cuyas propiedades son fácilmente extendidas a cualquier sistema
numérico. Este elemento es el NOT y sabemos que su salida será siempre el complemento
de su entrada, lo cual equivale a decir que para un NOT en un sistema numérico base-N, el
valor de la entrada A más el complemento de la entrada A' es igual a N-1. Expresado
simbólicamente:

A + A' = N - 1
Para N=2, estar relación se reduce a un teorema del álgebra Boleana que ya conocemos.
Podemos verificar la relación anterior en varios diagramas de estado.

La respuesta a las demás preguntas posiblemente la encontraremos en el futuro.

http://logica-digital.blogspot.mx/2007/11/lgica-multivaluada.html
3.5.4. Lógica difusa.
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r10
1129.PDF

3.6. Demostración y métodos.

El proceso demostrativo consiste básicamente en: A partir de unas proposiciones


dadas que llamaremos premisas, obtener otra proposición que llamaremos
conclusión mediante la aplicación de unas reglas lógicas.

Para demostrar que una proposición específica es un teorema en una teoría


deductiva dada procedemos así:

1. Se enuncian explícitamente los axiomas de la teoría.


2. Se fijan las reglas que validan el proceso demostrativo, estas reglas
se denominan reglas de validez y se reducen a las siguientes:

Regla de validez 1: Todo axioma puede figurar en cualquier paso de una


demostración.

Regla de validez 2: Si figura en una demostración y P también figura en la misma


demostración, entonces se puede concluir Q en la demostración. Esta regla
universal se conoce con el nombre de Modus Ponendo Ponens o Modus Ponens.

Regla de validez 3: Si dos proposiciones son equivalentes se puede sustituir la una


por la otra en cualquier parte de una demostración. Esta regla se conoce con el
nombre de sustitución por equivalencia.

3. Efectuar una demostración de una proposición específica Q, consiste en


obtener la proposición Q como la última en el proceso demostrativo por aplicación
reiterada de las reglas de validez 1, 2 y 3.

Ejemplos:
1.- Si llueve, entonces iré al cine. No llueve. Luego, no iré al cine.
2.- Si me caigo de la bicicleta, me golpearé. Estoy golpeado; luego, me caí de la
bicicleta.
3.- Si trabajo, entonces no estudio. Estudio o repruebo el curso de matemáticas.
Aprobé el curso de matemáticas; luego, trabajo.
4.- Si asisto a la escuela conversaré con mis amigos. Luego: si no voy al colegio no
conversaré con mis amigos.
http://cynthiavalverde.blogspot.mx/2012/03/metodos-de-demostracion.html
UNIDAD IV. Sistemas de razonamiento

RED CONCEPTUAL DE LA UNIDAD

Reglas de producción

Semántica de las reglas de


producción
Sistemas de
razonamiento
Arquitectura de un sistema de
producción.

Ciclo de vida de un sistema


de producción
Competencia General de la Unidad:
UNIDAD IV. Sistemas de razonamiento

4.1. Reglas de producción.


Regla se entiende como una proposición lógica que relaciona 2 o más objetos e
incluye 2 partes, la premisa y la conclusión. Cada una de estas partes consiste en
una expresión lógica con una o más afirmaciones objeto-valor conectadas
mediante los operadores lógicos y, o ó no.

Reglas de producción. Es un método procedimental de representación del


conocimiento, pone énfasis en representar y soportar las relaciones inferenciales
del algoritmo, en contraposición a los métodos declarativos (hechos).

La estructura de una regla es:

SI <antecedentes>

ENTONCES <consecuentes>

Los antecedentes son las condiciones y los consecuentes las conclusiones,


acciones o hipótesis.

Cada regla por si misma constituye un gránulo completo de conocimiento.

La inferencia en los Sistemas Basados en Reglas se realiza mediante


emparejamiento. Hay dos tipos, según el sentido:
Sistemas de encadenamiento hacia adelante: una regla es activada si los
antecedentes emparejan con algunos hechos del sistema.
Sistemas de encadenamiento hacia atrás: una regla es activada si los
consecuentes emparejan con algunos hechos del sistema.

Arquitectura de los Sistemas Basados en Reglas:


Base de Conocimientos: reúne todo el conocimiento del sistema (Hechos +
Reglas).
Memoria Activa: contiene los hechos que representan el estado actual del
problema (iniciales + inferidos a posteriori) y las reglas activadas (en condiciones
de ser ejecutadas).
Motor de Inferencias: decide que reglas activadas se ejecutarán.

4.1.1. Sintaxis de las reglas de producción.


Método procedimental de representación del conocimiento
Estructura
SI <condiciones>
ENTONCES <conclusiones, acciones, hipótesis>
Cada regla SI-ENTONCES establece un granulo completo de conocimiento
Regla_ Operador valido en un espacio de estados
CONDICIONES (tb. premisas, precondiciones, antecedentes,...)

Formadas por clausulas y conectivas (AND, OR, NOT)


Representación clausal debe corresponderse con conocimiento del dominio
Formato típico: <parámetro/relación/valor>
PARÁMETRO: característica relevante del dominio
RELACIÓN: entre parámetro y valor
VALOR: numérico, simbólico o literal
También en forma de predicados lógicos

CONCLUSIONES, ACCIONES, HIPÓTESIS (tb. consecuentes,...)

Conclusiones, Hipótesis: conocimiento declarativo

Acciones: cq. Acción procedimental (actualiza. conocimiento, interacción con

Exterior etc...)
REGLAS ESPECIALES

Reglas IF ALL: equivalen a reglas con las clausulas de las condiciones conectadas
con AND

Reglas IF ANY/ IF SOME: equivalen a reglas con las clausulas de las condiciones
conectadas con OR
EJEMPLO
IF: temperatura = alta
AND sudoración = presente
AND dolor_muscular = presente
THEN: diagnostico_preliminar = gripe
IF: diagnostico_preliminar = gripe
AND descompos_organos_internos = presente
THEN: diagnostico_preliminar = _abola

SISTEMAS BASADOS EN REGLAS DE PRODUCCIÓN


Reglas_ Operadores en búsquedas en espacio de estados
Inferencia similar al MODUS PONENS (con restricciones)
Sintaxis relajada
Se permiten acciones en los consecuentes
Mecanismo de control determina que inferencias se pueden realizar

TIPOS de SISTEMAS

En función de sintaxis de reglas y de mecanismos de control (_búsqueda)

SISTEMA ENCADENAMIENTO HACIA ADELANTE (dirigidos por los datos)


Regla ACTIVADA si antecedentes emparejan con algunos hechos del sistema
En IF ALL, todos. En IF ANY, al menos uno.
Se parte de los hechos ya confirmados en el sistema
Se razona hacia adelante buscando antecedentes que emparejen
SISTEMA ENCADENAMIENTO HACIA ATRÁS (dirigido por los objetivos)
Regla ACTIVADA si consecuentes emparejan con algunos hechos del sistema
Se comienza con una hipótesis
Se razona hacia atrás buscando consecuentes que emparejen

MOTOR DE INFERENCIAS elige que reglas ACTIVADAS ejecutar (resolución de


conflictos)

Consecuentes y antecedentes pueden verse como submetas a verificar a partir de


los hechos o hipótesis, respectivamente.

CARACTERÍSTICAS Modularidad: reglas = pequeñas cantidades de conocimiento


(relativamente) independiente

Incrementalidad/Modificabilidad: posible añadir/cambiar reglas con relativa


independencia

Naturalidad y Transparencia: representación del conocimiento próxima y


comprensible por personas

Capacidad de generar explicaciones

GENERACIÓN de EXPLICACIONES

Posibilidad de \explicar" el porqué de un resultado


Devolver a usuario la cadena de reglas empleadas
Combinar reglas y hechos del árbol de búsqueda según las conectivas Incrementan
la \aceptación" del resultado ofrecido (dominios críticos)

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.2. Semántica de las reglas de producción.

Es una representación formal de una relación, una información semántica o una


acción condicional. Una regla de producción tiene, generalmente, la siguiente forma:
SI Premisa ENTONCES Consecuencia. Ofrecen una gran facilidad para la creación
y la modificación de la base de conocimiento. Permite introducir coeficientes de
verosimilitud para ponderar el conocimiento (estos coeficientes se van propagando
durante el proceso de razonamiento mediante unas fórmulas de cálculo
establecidas) y, en teoría, el método asegura que cuantas más reglas posea más
potente es. Sin embargo, aunque es la forma de representación más intuitiva y
rápida, cuando el número de reglas es grande aumenta la dificultad de verificación
de todas las posibilidades con el consiguiente riesgo de perder la coherencia lógica
en la base de conocimiento.

Los hechos y las reglas asociadas de la base de conocimiento normalmente no son


exactos; es decir se tiene incertidumbre sobre el grado de certeza de algunos
hechos y también sobre el campo de validez de algunas de las reglas. Para el
manejo de la incertidumbre en los sistemas de reglas se han utilizado varios
sistemas; los tres más conocidos son los Factores de Certeza (utilizados en MYCIN),
la lógica de Dempster Shafer, y la Lógica Difusa (Fuzzy Logic). El método de tratar
la incertidumbre es una de las características más importantes de las herramientas
de desarrollo, y actualmente se encuentra en discusión la validez de estas lógicas
para tratar con la incertidumbre. En sustitución se han propuesto las Redes
Bayesianas que tienen una base matemática más firme. De todas formas es un
campo actual de investigación que permanece abierto.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.2.1. Conocimiento causal.


Relación que vincula dos ideas a través de una conexión supuestamente necesaria.

Es uno de los tres principios de asociación.

La causalidad no tiene carácter necesario cuando se aplica a las cuestiones de


hecho, sino que se funda en la costumbre: la repetición (o conjunción constante) no
es más que una creencia; es algo que esperamos que suceda, no algo que deba
suceder necesariamente sino algo que debe ser evaluado en términos de posibilidad.
En la medida en que el concepto de causalidad no puede aplicarse a hechos que
todavía no han sucedido, porque no tenemos evidencia lo todavía no acaecido, la
falta de un concepto de causalidad nos conduce necesariamente al escepticismo.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.2.2. Conocimiento de diagnóstico.

El problema del diagnostico ha sido, desde los comienzos de la IA, uno de los más
estudiados y donde los investigadores han cosechado tanto satisfacciones como
fracasos. El diagnostico en el campo de la medicina es sin duda, una de las áreas
de la IA que supone todavía una gran desafió. Una de las características más
frecuentes en resolución del problema del diagnostico en dominios reales es la
necesidad de trata con la dimensión temporal. Así, una vez propuesto un modelo
teórico, una tendencia cada vez más habitual a la hora de desarrollar sistemas de
diagnostico temporal es necesario abordar el problema del diagnostico temporal
desde diferentes enfoques, permitiendo seleccionar cual es la aproximación más
adecuada para cada problema concreto es simplificar el dominio para que el
modelo inicial sea aplicable.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.3. Arquitectura de un sistema de producción.

Los Sistemas basados en reglas difusas (SBRD) tienen una serie de aplicaciones
diversas, pero fundamentalmente son usados para:

•Modelado de sistemas
Usado para representar escenarios de actuación con variables complejas, en los
cuáles no basta con usar realidades absolutas como lo sería un cierto o falso.

 En aplicaciones de control, ya que suelen estar basadas en el punto descrito


anteriormente.
 Pueden ser usadas para la categorización de elementos, detectar patrones.

Como agentes de usuario, los cuáles van a proporcionar una serie de ayudas a los
expertos en una determinada materia para que tomen las decisiones que ellos
consideren oportunas, en este caso estos sistemas van a ofrecer una ayuda, pero
la decisión final la va a tomar el experto en cuestión. Como ejemplo cabe destacar
el ámbito financiero.
<<Minería de datos y descubrimiento de información, consistente en hallar el
conocimiento intrínseco dentro de una base de datos, los cuáles pueden no estar
presentes a simple vista, pero aplicando sistemas de este tipo pueden llegar a
averiguarse>>.

Reglas

Los sistemas basados en reglas (SBR) se rigen por una serie de reglas que los
configuran.

Una regla es definida como un modo de representación estratégica o técnica, la cuál


es apropiada cuando el conocimiento con el que deseamos trabajar proviene de la
experiencia o de la intuición, y por tanto carece de una demostración física o
matemática.

Tipos de reglas y proposiciones

Las proposiciones se pueden clasificar en los siguientes grupos:

Proposiciones CUALIFICADAS: Introducen un atributo para cualificar la proposición


que forma una regla. El atributo corresponde al grado que determina la regla. Grado
de Suceso:
Probable, poco probable...

Proposiciones CUANTI FICADAS: Indican cantidades difusas en las reglas.

SI muchos alumnos suspenden ENTONCES la explicación fue bastante mala

Respecto a esta clasificación, podremos decir que las proposiciones que no poseen
cuantificadores ni cualificadores son proposiciones categóricas, mientras que las
proposiciones no categóricas no tienen por qué ser verdad siempre.

Las reglas pueden tener variantes, entre ellas se encuentran las siguientes:
Con excepciones: Son el tipo: SI la temperatura es alta ENTONCES tendré calor

EXCEPTO que tenga aire acondicionado.

Graduales: Cuantos más partidos ganemos, más fácil será ganar la liga.

Reglas conflictivas: Son reglas que dentro de un mismo sistema tienen información
contradictoria, lo cual puede acarrear muchos problemas, tales como malos
resultados o generar problemas.
Este tipo de reglas son aquellas que para un mismo antecedente, tienen

Consecuentes distintos, por ejemplo:

R1: SI tengo hambre ENTONCES como.


R2: SI tengo hambre ENTONCES no como.

Otro ejemplo de reglas contradictorias son aquellas que estando encadenadas

En ambos sentidos, niegan un consecuente:

R1: SI he metido un gol ENTONCES estoy feliz.


R2: SI estoy feliz ENTONCES no he metido un gol.

f http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.3.1. Hechos.

Base de hechos, que alberga los datos propios correspondientes a los problemas
que se desea tratar con la ayuda del sistema. Asimismo, a pesar de ser la memoria
de trabajo, la base de hechos puede desempeñar el papel de memoria auxiliar. La
memoria de trabajo memoriza todos los resultados intermedios, permitiendo
conservar el rastro de los razonamientos llevados a cabo. Puede, por eso,
emplearse para explicar el origen de las informaciones deducidas por el sistema en
el transcurso de una sesión de trabajo o para llevar a cabo la descripción del
comportamiento del propio sistema experto. Al principio del período de trabajo, la
base de hechos dispone únicamente de los datos que le ha introducido el usuario
del sistema, pero, a medida que va actuando el motor de inferencias, contiene las
cadenas de inducciones y deducciones que el sistema forma al aplicar las reglas
para obtener las conclusiones buscadas.
Las reglas de producción son de tipo: SI ENTONCES (SI A ENTONCES B). Donde
tanto las premisas como la conclusión, no son más que una cadena de hechos
conectados por “Y” o por “O”, de forma general seria: SI Y/O Y/O…..ENTONCES
Y/O Los hechos son afirmaciones que sirven para presentar conceptos, datos,
objetos, etc. Y el conjunto de hechos que describen el problema es la base de
hechos. Ejemplo de hechos: Juan es un estudiante Juan tiene 8 años El perro es
blanco A María le gusta el cine Pedro prefiere la película La edad de Luis es de 25
años Pedro tiene un salario de 200 pesos Una regla es una combinante de hechos
que permite representar conocimientos y sacar inferencia de los mismos. Ejemplo
de reglas R1: si y entonces R2: SI Y ENTONCES R3: SI Y ENTONCES Observe
como partiendo de hechos conocidos que describen algún conocimiento se pueden
inferir nuevos hechos (nuevos conocimientos).

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.3.2. Base de conocimientos.

A base de conocimiento (o knowledgebase; abreviado KB, es una clase especial de


base de datos para gerencia del conocimiento. Proporciona los medios para la
colección automatizada, organización, y recuperación de conocimiento. Apenas
pues tiene costumbre convertido de escribir base de datos pues una palabra él es
cada vez más común en informática escribir knowledgebase como una palabra (un
acercamiento del interino era escribir el término con un guión).

Las bases de conocimiento se categorizan en dos tipos importantes:

 Bases de conocimiento legibles por la máquina almacene el conocimiento en


una forma legible por computador, generalmente con el fin automatizando
razonamiento deductivo aplicado a ellos. Contienen un sistema de datos, a
menudo bajo la forma de reglas que describan el conocimiento en a
lógicamente constante manera. Operadores lógicos, por ejemplo Y
(conjunción), O (separación), implicación material y negación puede ser
utilizado construirlo para arriba del conocimiento atómico. Por lo tanto, la
deducción clásica se puede utilizar para razonar sobre el conocimiento en la
base de conocimiento.
 Bases de conocimiento Human-readable se diseñan permitir que la gente
recupere y que utilice el conocimiento que ella contiene, sobre todo para los
propósitos del entrenamiento. Son de uso general capturar el conocimiento
explícito del organización, incluyendo localización de averías, artículos,
papeles blancos, manuales de usuario y otros. Una ventaja primaria de tal
base de conocimiento es que puede ayudar a un usuario a encontrar una
solución existente a su problema actual (así evitando tuvieron que
“reinventan la rueda”).

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.3.3. Mecanismos de control.

El aspecto más importante de una base de conocimiento es la calidad de la


información que contiene. Las mejores bases de conocimiento han escrito
cuidadosamente los artículos que se guardan actualizado, un sistema excelente de
la recuperación de datos (tal como a Search Engine), y un formato contento
cuidadosamente diseñado y clasificación estructura.

Una base de conocimiento puede utilizar ontología especificar su estructura (los


tipos y las relaciones de la entidad) y la clasificación proyecte. Un ontología, junto
con un sistema de casos de sus clases, constituye una base de conocimiento. La
determinación de qué tipo de información se captura, y donde esa información
reside en una base de conocimiento, es algo que es determinado por los procesos
que apoyan el sistema. Una estructura de proceso robusta es la espina dorsal de
cualquier base de conocimiento acertada.

Algunas bases de conocimiento tienen inteligencia artificial componente. Estas


clases de bases de conocimiento pueden sugerir soluciones a los problemas
basados a veces en la regeneración proporcionada por el usuario, y son capaces
de aprender por experiencia (véase sistema experto). La representación del
conocimiento, el razonamiento automatizado y la argumentación son campos de
investigación activos en la vanguardia de la inteligencia artificial.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html

4.4. Ciclo de vida de un sistema de producción.


El concepto de sistema de producción se basa en la Teoría General de Sistemas
que fue desarrollada por el biólogo alemán Von Bertalanffy y que en esencia es una
perspectiva integradora y holística (referida al todo).Una de las definiciones de la
teoría general de sistemas dice que los sistemas son conjuntos de componentes
que interaccionan unos con otros, de tal forma que cada conjunto se comporta como
una unidad completa. Otra definición dice que los sistemas se identifican como
conjuntos de elementos o entidades que guardan estrechas relaciones entre sí y
que mantienen al sistema directo o indirectamente unido de modo más o menos
estable y cuyo comportamiento global persigue, normalmente, algún tipo de
objetivo. Pará describir y en general para entender un sistema, es común el uso de
diagramas, los que si bien no dan una visión completa, facilitan la visualización de
las interrelaciones, como se indica en la figura siguiente.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-4.html
UNIDAD V. Aplicaciones con técnicas de IA

RED CONCEPTUAL DE LA UNIDAD

Robótica.

Redes Neuronales (RN).

Visión artificial.

Aplicaciones con
tecnicas de IAs

Lógica difusa (Fuzzy Logic).

Procesamiento de Lenguaje
Natural
(PLN).

Sistemas Expertos (SE).


Competencia General de la Unidad:

- Conocer las distintas ramas de la inteligencia artificial y sus aplicaciones


actuales, identificando oportunidades de desarrollo de soluciones en su
entorno.
- Usar herramientas y lenguajes específicos de Inteligencia Artificial en el
desarrollo de soluciones.
UNIDAD V. Aplicaciones con técnicas de IA

5.1. Robótica.
¿Qué es Robótica?
La Robótica es la ciencia encaminada a diseñar y construir aparatos y sistemas
capaces de realizar tareas propias de un ser humano.

Con esta definición tan general, la palabra 'robótica' cubre muchos conceptos
diferentes, pero todos giran en torno a la misma idea.

Con la aparición del concepto 'robot' a principios de siglo XX, se dio el pistoletazo
de salida para el desarrollo de sistemas cada vez más autónomos.

Un robot autónomo es un dispositivo robótico capaz de operar por sí mismo, en la


robótica de servicio es donde más se están prodigando los robots de servicio. ¿En
qué tipo de situaciones puede ser interesante un robot que sea completamente
autónomo? por ejemplo en entornos hostiles:

 Conflictos bélicos.
 Exploración espacial.
 Exploración submarina.
 Rescate en catástrofes.

Pero sin irnos tan lejos, la robótica de servicio combinada con la robótica inteligente
nos permitirá en un futuro tener conductores autónomos para nuestros coches, entre
otras cosas. Que estas metas se consigan antes o después dependerá de la
financiación que las instituciones y mecenas sitúen en los diferentes proyectos de
investigación que se desarrollan en el mundo.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.1.1. Conceptos básicos.

Robótica: es una ciencia o rama de la tecnología, que estudia el diseño y la


construcción de máquinas capaces de desempeñar tareas realizadas por el ser
humano o que requieren del uso de inteligencia. Las ciencias y tecnologías de las
que deriva podrían ser: el álgebra, los autómatas programables, las máquinas de
estados, la mecánica o la informática.

Robot: es una máquina programable que puede manipular objetos y realizar


operaciones que antes sólo podían realizar los seres humanos.
http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.1.2. Clasificación.

Según su Tipo

Robots Físicos

 Robótica Industrial: Es la parte de la Ingeniería que se dedica a la


construcción de máquinas capaces de realizar tareas mecánicas y repetitivas
de una manera muy eficiente y con costes reducidos.
 Robótica de Servicio: Es la parte de la Ingeniería que se centra en el diseño
y construcción de máquinas capaces de proporcionar servicios directamente
a los miembros que forman sociedad.
 Robótica Inteligente: Son robots capaces de desarrollar tareas que,
desarrolladas en un ser humano, requieren el uso de su capacidad de
razonamiento.
 Robótica Humanoide: Es la parte de la ingeniería que se dedica al
desarrollo de sistemas robotizados para imitar determinadas peculiaridades
del ser humano.

Robots Software

 Robótica de Exploración: Es la parte de la Ingeniería del Software que se


encarga de desarrollar programas capaces de explorar documentos en busca
de determinados contenidos. Existen diversos servicios en Internet
dedicados a esta parcela de la robótica.

Según su Generación

 1ª Generación.

Manipuladores. Son sistemas mecánicos multifuncionales con un sencillo sistema


de control, bien manual, de secuencia fija o de secuencia variable.

 2ª Generación.

Robots de aprendizaje. Repiten una secuencia de movimientos que ha sido


ejecutada previamente por un operador humano. El modo de hacerlo es a través
de un dispositivo mecánico. El operador realiza los movimientos requeridos
mientras el robot le sigue y los memoriza.

 3ª Generación.
Robots con control sensorizado. El controlador es una computadora que ejecuta las
órdenes de un programa y las envía al manipulador para que realice los
movimientos necesarios.

 4ª Generación.

Robots inteligentes. Son similares a los anteriores, pero además poseen sensores
que envían información a la computadora de control sobre el estado del proceso.
Esto permite una toma inteligente de decisiones y el control del proceso en tiempo
real.

Según su Arquitectura

La arquitectura, es definida por el tipo de configuración general del Robot, puede


ser metamórfica. El concepto de metamorfismo, de reciente aparición, se ha
introducido para incrementar la flexibilidad funcional de un Robot a través del
cambio de su configuración por el propio Robot. El metamorfismo admite diversos
niveles, desde los más elementales (cambio de herramienta o de efecto terminal),
hasta los más complejos como el cambio o alteración de algunos de sus elementos
o subsistemas estructurales. Los dispositivos y mecanismos que pueden agruparse
bajo la denominación genérica del Robot, tal como se ha indicado, son muy diversos
y es por tanto difícil establecer una clasificación coherente de los mismos que resista
un análisis crítico y riguroso. La subdivisión de los Robots, con base en su
arquitectura, se hace en los siguientes grupos: Poliarticulados, Móviles, Androides,
Zoomórficos e Híbridos.

 Poliarticulados

En este grupo están los Robots de muy diversa forma y configuración cuya
característica común es la de ser básicamente sedentarios (aunque
excepcionalmente pueden ser guiados para efectuar desplazamientos limitados) y
estar estructurados para mover sus elementos terminales en un determinado
espacio de trabajo según uno o más sistemas de coordenadas y con un número
limitado de grados de libertad. En este grupo se encuentran los manipuladores, los
Robots industriales, los Robots cartesianos y se emplean cuando es preciso abarcar
una zona de trabajo relativamente amplia o alargada, actuar sobre objetos con un
plano de simetría vertical o reducir el espacio ocupado en el suelo.

 Móviles

Son Robots con gran capacidad de desplazamiento, basadas en carros o


plataformas y dotados de un sistema locomotor de tipo rodante. Siguen su camino
por telemando o guiándose por la información recibida de su entorno a través de
sus sensores. Estos Robots aseguran el transporte de piezas de un punto a otro de
una cadena de fabricación. Guiados mediante pistas materializadas a través de la
radiación electromagnética de circuitos empotrados en el suelo, o a través de
bandas detectadas fotoeléctricamente, pueden incluso llegar a sortear obstáculos y
están dotados de un nivel relativamente elevado de inteligencia.

 Androides

Son Robots que intentan reproducir total o parcialmente la forma y el


comportamiento cinemática del ser humano. Actualmente los androides son todavía
dispositivos muy poco evolucionados y sin utilidad práctica, y destinados,
fundamentalmente, al estudio y experimentación. Uno de los aspectos más
complejos de estos Robots, y sobre el que se centra la mayoría de los trabajos, es
el de la locomoción bípeda. En este caso, el principal problema es controlar
dínamica y coordinadamente en el tiempo real el proceso y mantener
simultáneamente el equilibrio del Robot.

 Zoomórficos

Los Robots zoomórficos, que considerados en sentido no restrictivo podrían incluir


también a los androides, constituyen una clase caracterizada principalmente por sus
sistemas de locomoción que imitan a los diversos seres vivos. A pesar de la
disparidad morfológica de sus posibles sistemas de locomoción es conveniente
agrupar a los Robots zoomórficos en dos categorías principales: caminadores y no
caminadores. El grupo de los Robots zoomórficos no caminadores está muy poco
evolucionado. Los experimentados efectuados en Japón basados en segmentos
cilíndricos biselados acoplados axialmente entre sí y dotados de un movimiento
relativo de rotación. Los Robots zoomórficos caminadores multípedos son muy
numeroso y están siendo experimentados en diversos laboratorios con vistas al
desarrollo posterior de verdaderos vehículos terrenos, piloteando o autónomos,
capaces de evolucionar en superficies muy accidentadas. Las aplicaciones de estos
Robots serán interesantes en el campo de la exploración espacial y en el estudio de
los volcanes.

 Híbridos

Estos Robots corresponden a aquellos de difícil clasificación cuya estructura se


sitúa en combinación con alguna de las anteriores ya expuestas, bien sea por
conjunción o por yuxtaposición. Por ejemplo, un dispositivo segmentado articulado
y con ruedas, es al mismo tiempo uno de los atributos de los Robots móviles y de
los Robots zoomórficos. De igual forma pueden considerarse híbridos algunos
Robots formados por la yuxtaposición de un cuerpo formado por un carro móvil y de
un brazo semejante al de los Robots industriales. En parecida situación se
encuentran algunos Robots antropomorfos y que no pueden clasificarse ni como
móviles ni como androides, tal es el caso de los Robots personales.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.1.3. Desarrollos actuales y aplicaciones.

Los robots son utilizados en una diversidad de aplicaciones, desde robots tortugas
en los salones de clases, robots soldadores en la industria automotriz, hasta brazos
teleoperados en el transbordador espacial.

Cada robot lleva consigo su problemática propia y sus soluciones afines; no


obstante que mucha gente considera que la automatización de procesos a través
de robots está en sus inicios, es un hecho innegable que la introducción de la
tecnología robótica en la industria, ya ha causado un gran impacto. En este sentido
la industria Automotriz desempeña un papel preponderante.

Aplicaciones en diversos sectores:


Industria
Los robots son utilizados por una diversidad de procesos industriales como lo son :
la soldadura de punto y soldadura de arco, pinturas de spray, transportación de
materiales, molienda de materiales, moldeado en la industria plástica, máquinas-
herramientas, y otras más.
A continuación se hará una breve explicación de algunas de ellas.

 Aplicación de transferencia de material

Las aplicaciones de transferencia de material se definen como operaciones en las


cuales el objetivo primario es mover una pieza de una posición a otra. Se suelen
considerar entre las operaciones más sencillas o directas de realizar por los robots.
Las aplicaciones normalmente necesitan un robot poco sofisticado, y los requisitos
de enclavamiento con otros equipos son típicamente simples.

 Carga y descarga de maquinas.

Estas aplicaciones son de manejos de material en las que el robot se utiliza para
servir a una máquina de producción transfiriendo piezas a/o desde las máquinas.
Existen tres casos que caen dentro de ésta categoría de aplicación:
1. Carga/Descarga de Máquinas. El robot carga una pieza de trabajo en bruto en el
proceso y descarga una pieza acabada. Una operación de mecanizado es un
ejemplo de este caso.
Carga de máquinas. El robot debe de cargar la pieza de trabajo en bruto a los
materiales en las máquinas, pero la pieza se extrae mediante algún otro medio. En
una operación de prensado, el robot se puede programar para cargar láminas de
metal en la prensa, pero las piezas acabadas se permite que caigan fuera de la
prensa por gravedad.

Descarga de máquinas. La máquina produce piezas acabadas a partir de materiales


en bruto que se cargan directamente en la máquina sin la ayuda de robots. El robot
descarga la pieza de la máquina. Ejemplos de ésta categoría incluyen aplicaciones
de fundición de troquel y moldeado plástico.

La aplicación se tipifica mejor mediante una célula de trabajo con el robot en el


centro que consta de la máquina de producción, el robot y alguna forma de entrega
de piezas.

 Operaciones de procesamiento.

Además de las aplicaciones de manejo de piezas, existe una gran clase de


aplicaciones en las cuales el robot realmente efectúa trabajos sobre piezas. Este
trabajo casi siempre necesita que el efector final del robot sea una herramienta en
lugar de una pinza.

Por tanto la utilización de una herramienta para efectuar el trabajo es una


característica distinta de este grupo de aplicaciones. El tipo de herramienta depende
de la operación de procesamiento que se realiza.

Soldadura por puntos.


Como el término lo sugiere, la soldadura por puntos es un proceso en el que dos
piezas de metal se soldan en puntos localizados al hacer pasar una gran corriente
eléctrica a través de las piezas donde se efectúa la soldadura.

Soldadura por arco continua.


La soldadura por arco es un proceso de soldadura continua en oposición a la
soldadura por punto que podría llamarse un proceso discontinuo. La soldadura de
arco continua se utiliza para obtener uniones largas o grandes uniones soldadas en
las cuales, a menudo, se necesita una cierre hermético entre las dos piezas de metal
que se van a unir. El proceso utiliza un electrodo en forma de barra o alambre de
metal para suministrar la alta corriente eléctrica de 100 a 300 amperes.

Recubrimiento con spray


La mayoría de los productos fabricados de materiales metálicos requieren de alguna
forma de acabado de pintura antes de la entrega al cliente. La tecnología para
aplicar estos acabados varia en la complejidad desde métodos manuales simples a
técnicas automáticas altamente sofisticadas. Se dividen los métodos de
recubrimiento industrial en dos categorías:
1.- Métodos de recubrimiento de flujo e inmersión.
2.- Métodos de recubrimiento al spray.

Los métodos de recubrimiento mediante flujo de inmersión se suelen considerar que


son métodos de aplicar pintura al producto de baja tecnología. La inmersión
simplemente requiere sumergir la pieza o producto en un tanque de pintura liquida.

Además de la soldadura por punto, la soldadura por arco, y el recubrimiento al spray


existe una serie de otras aplicaciones de robots que utilizan alguna forma de
herramienta especializada como efector final. Operaciones que están en ésta
categoría incluyen:

Taladro, acanalado, y otras aplicaciones de mecanizado.


Rectificado, pulido, desbarbado, cepillado y operaciones similares.
Remachado, Corte por chorro de agua.
Taladro y corte por láser.

Laboratorios
Los robots están encontrando un gran número de aplicaciones en los laboratorios.
Llevan acabo con efectividad tareas repetitivas como la colocación de tubos de
pruebas dentro de los instrumentos de medición. En ésta etapa de su desarrollo los
robots son utilizados para realizar procedimientos manuales automatizados. Un
típico sistema de preparación de muestras consiste de un robot y una estación de
laboratorio, la cual contiene balanzas, dispensarios, centrifugados, racks de tubos
de pruebas, etc.
Las muestras son movidas desde la estación de laboratorios por el robot bajo el
control de procedimientos de un programa.

Los fabricantes de estos sistemas mencionan tener tres ventajas sobre la operación
manual: incrementan la productividad, mejoran el control de calidad y reducen la
exposición del ser humano a sustancias químicas nocivas.

Las aplicaciones subsecuentes incluyen la medición del pH, viscosidad, y el


porcentaje de sólidos en polímeros, preparación de plasma humano para muestras
para ser examinadas, calor, flujo, peso y disolución de muestras para
presentaciones espectromáticas.

Manipuladores cinematicos
La tecnología robótica encontró su primer aplicación en la industria nuclear con el
desarrollo de teleoperadores para manejar material radiactivo. Los robots más
recientes han sido utilizados para soldar a control remoto y la inspección de tuberías
en áreas de alta radiación. El accidente en la planta nuclear de Three Mile Island en
Pennsylvania en 1979 estimuló el desarrollo y aplicación de los robots en la industria
nuclear. El reactor numero 2 (TMI-2) predio su enfriamiento, y provocó la
destrucción de la mayoría del reactor, y dejo grandes áreas del reactor
contaminadas, inaccesible para el ser humano. Debido a los altos niveles de
radiación las tareas de limpieza solo eran posibles por medios remotos. Varios
robots y vehículos controlados remotamente han sido utilizados para tal fin en los
lugares donde ha ocurrido una catástrofe de este tipo. Ésta clase de robots son
equipados en su mayoría con sofisticados equipos para detectar niveles de
radiación, cámaras, e incluso llegan a traer a bordo un minilaboratorio para hacer
pruebas.

Agricultura
Para muchos la idea de tener un robot agricultor es ciencia ficción, pero la realidad
es muy diferente; o al menos así parece ser para el Instituto de Investigación
Australiano, el cual ha invertido una gran cantidad de dinero y tiempo en el
desarrollo de este tipo de robots. Entre sus proyectos se encuentra una máquina
que esquila a la ovejas. La trayectoria del cortador sobre el cuerpo de las ovejas se
planea con un modelo geométrico de la oveja.

Para compensar el tamaño entre la oveja real y el modelo, se tiene un conjunto de


sensores que registran la información de la respiración del animal como de su
mismo tamaño, ésta es mandada a una computadora que realiza las
compensaciones necesarias y modifica la trayectoria del cortador en tiempo real.

Debido a la escasez de trabajadores en los obradores, se desarrolla otro proyecto,


que consiste en hacer un sistema automatizado de un obrador, el prototipo requiere
un alto nivel de coordinación entre una cámara de vídeo y el efector final que realiza
en menos de 30 segundos ocho cortes al cuerpo del cerdo.

Por su parte en Francia se hacen aplicaciones de tipo experimental para incluir a


los robots en la siembra, y poda de los viñedos, como en la pizca de la manzana.

Espacio
La exploración espacial posee problemas especiales para el uso de robots. El medio
ambiente es hostil para el ser humano, quien requiere un equipo de protección muy
costoso tanto en la Tierra como en el Espacio. Muchos científicos han hecho la
sugerencia de que es necesario el uso de Robots para continuar con los avances
en la exploración espacial; pero como todavía no se llega a un grado de
automatización tan precisa para ésta aplicación, el ser humano aún no ha podido
ser reemplazado por estos. Por su parte, son los teleoperadores los que han
encontrado aplicación en los transbordadores espaciales.

En Marzo de 1982 el transbordador Columbia fue el primero en utilizar este tipo de


robots, aunque el ser humano participa en la realización del control de lazo cerrado.

Algunas investigaciones están encaminadas al diseño, construcción y control de


vehículos autónomos, los cuales llevarán a bordo complejos laboratorios y cámaras
muy sofisticadas para la exploración de otros planetas.

En Noviembre de 1970 los Rusos consiguieron el alunizaje del Lunokhod 1, el cual


poseía cámaras de televisión, sensores y un pequeño laboratorio, era controlado
remotamente desde la tierra. En Julio de 1976, los Norteamericanos aterrizaron en
Marte el Viking 1, llevaba abordo un brazo robotizado, el cual recogía muestras de
piedra, tierra y otros elementos las cuales eran analizados en el laboratorio que fue
acondicionado en el interior del robot. Por supuesto también contaba con un equipo
muy sofisticado de cámaras de vídeo.

Vehículos submarinos
Dos eventos durante el verano de 1985 provocaron el incremento por el interés de
los vehículos submarinos. En el primero - Un avión de la Air Indian se estrelló en el
Océano Atlántico cerca de las costas de Irlanda - un vehículo submarino guiado
remotamente, normalmente utilizado para el tendido de cable, fue utilizado para
encontrar y recobrar la caja negra del avión. El segundo fue el descubrimiento del
Titanic en el fondo de un cañón, donde había permanecido después del choque con
un iceberg en 1912, cuatro kilómetros abajo de la superficie. Un vehículo submarino
fue utilizado para encontrar, explorar y filmar el hallazgo.

En la actualidad muchos de estos vehículos submarinos se utilizan en la inspección


y mantenimiento de tuberías que conducen petróleo, gas o aceite en las plataformas
oceánicas; en el tendido e inspección del cableado para comunicaciones, para
investigaciones geológicas y geofísicas en el suelo marino.

La tendencia hacia el estudio e investigación de este tipo de robots se incrementará


a medida que la industria se interese aún más en la utilización de los robots, sobra
mencionar los beneficios que se obtendrían si se consigue una tecnología segura
para la exploración del suelo marino y la explotación del mismo.

Educación
Los robots están apareciendo en los salones de clases de tres distintas formas.
Primero, los programas educacionales utilizan la simulación de control de robots
como un medio de enseñanza. Un ejemplo palpable es la utilización del lenguaje de
programación del robot Karel, el cual es un subconjunto de Pascal; este es utilizado
por la introducción a la enseñanza de la programación.

El segundo y de uso más común es el uso del robot tortuga en conjunción con el
lenguaje LOGO para enseñar ciencias computacionales. LOGO fue creado con la
intención de proporcionar al estudiante un medio natural y divertido en el
aprendizaje de las matemáticas.

En tercer lugar está el uso de los robots en los salones de clases. Una serie de
manipuladores de bajo costo, robots móviles, y sistemas completos han sido
desarrollados para su utilización en los laboratorios educacionales. Debido a su bajo
costo muchos de estos sistemas no poseen una fiabilidad en su sistema mecánico,
tienen poca exactitud, no existen los sensores y en su mayoría carecen de software.

Es necesario hacer mención de los problemas de tipo social, económicos e incluso


político, que puede generar una mala orientación de robotización de la industria. Se
hace indispensable que la planificación de los recursos humanos, tecnológicos y
financieros se realice de una manera inteligente. El mercado de la robótica y las
perspectivas futuras que se tienen son diversos.

Las ventas anuales para robots industriales han ido creciendo en Estados Unidos a
razón del 25% de acuerdo a estadísticas del año 1981 a 1992. El incremento de
ésta tasa se debe a factores muy diversos. En primer lugar, hay más personas en
la industria que tienen conocimiento de la tecnología y de su potencial para sus
aplicaciones de utilidad. En segundo lugar, la tecnología de la robótica mejorará en
los próximos años de manera que hará a los robots más amistosos con el usuario,
más fáciles de interconectar con otro hardware y más sencillos de instalar.

En tercer lugar, que crece el mercado, son previsibles economías de escala en la


producción de robots para proporcionar una reducción en el precio unitario, lo que
haría los proyectos de aplicaciones de robots más fáciles de justificar. En cuarto
lugar se espera que el mercado de la robótica sufra una expansión más allá de las
grandes empresas, que ha sido el cliente tradicional para ésta tecnología, y llegue
a las empresas de tamaño mediano, pequeño y por que no; las microempresas.
Estas circunstancias darán un notable incremento en las bases de clientes para los
robots.

La robótica es una tecnología con futuro y también para el futuro. Si continúan las
tendencias actuales, y si algunos de los estudios de investigación en el laboratorio
actualmente en curso se convierten finalmente en una tecnología factible, los robots
del futuro serán unidades móviles con uno o más brazos, capacidades de sensores
múltiples y con la misma potencia de procesamiento de datos y de cálculo que las
grandes computadoras actuales. Serán capaces de responder a ordenes dadas con
voz humana. Así mismo serán capaces de recibir instrucciones generales y
traducirlas, con el uso de la inteligencia artificial en un conjunto específico de
acciones requeridas para llevarlas a cabo. Podrán ver, oír, palpar, aplicar una fuerza
media con precisión a un objeto y desplazarse por sus propios medios.

En resumen, los futuros robots tendrían muchos de los atributos de los seres
humanos. Es difícil pensar que los robots llegarán a sustituir a los seres humanos
en el sentido de la obra de Carel Kapek, Robots Universales de Rossum. Por el
contrario, la robótica es una tecnología que solo puede destinarse al beneficio de la
humanidad. Sin embargo, como otras tecnologías, hay peligros potenciales
implicados y deben establecerse salvaguardas para no permitir su uso pernicioso.

El paso del presente al futuro exigirá mucho trabajo de ingeniería mecánica,


ingeniería electrónica, informática, ingeniería industrial, tecnología de materiales,
ingenierías de sistemas de fabricación y ciencias sociales.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.2. Redes Neuronales (RN).


Las Redes Neuronales (RN) fueron originalmente una simulación abstracta de los
sistemas nerviosos biológicos, formados por un conjunto de unidades llamadas
"neuronas" o "nodos" conectadas unas con otras. Estas conexiones tienen una
gran semejanza con las dendrítas y losaxones en los sistemas nerviosos
biológicos.

En términos generales, el Primer modelo de red neuronal fue propuesto en 1943


por McCulloch y Pitts en términos de un modelo computacional de "actividad
nerviosa". El modelo de McCulloch-Pitts es un modelo binario, y cada neurona
tiene un escalón o umbral prefijado. Este primer modelo sirvió de ejemplo para los
modelos posteriores de Jhon Von Neumann, Marvin Minsky, Frank Rosenblatt, y
muchos otros.

Historia de las redes neuronales.

1936 - Alan Turing. Fue el primero en estudiar el cerebro como una forma de ver el
mundo de la computación. Sin embargo, los primeros teóricos que concibieron los
fundamentos de la computación neuronal fueron Warren McCulloch, un
neurofisiólogo, y Walter Pitts, un matemático, quienes, en 1943, lanzaron una teoría
acerca de la forma de trabajar de las neuronas (Un Cálculo Lógico de la Inminente
Idea de la Actividad Nerviosa - Boletín de Matemática Biofísica 5: 115-133). Ellos
modelaron una red neuronal simple mediante circuitos eléctricos.

1949 - Donald Hebb. Fue el primero en explicar los procesos del aprendizaje (que
es el elemento básico de la inteligencia humana) desde un punto de vista
psicológico, desarrollando una regla de como el aprendizaje ocurría. Aun hoy, este
es el fundamento de la mayoría de las funciones de aprendizaje que pueden hallarse
en una red neuronal. Su idea fue que el aprendizaje ocurría cuando ciertos cambios
en una neurona eran activados. También intentó encontrar semejanzas entre el
aprendizaje y la actividad nerviosa. Los trabajos de Hebb formaron las bases de la
Teoría de las Redes Neuronales.

1950 - Karl Lashley. En sus series de ensayos, encontró que la información no era
almacenada en forma centralizada en el cerebro sino que era distribuida encima de
él.
1956 - Congreso de Dartmouth. Este Congreso frecuentemente se menciona para
indicar el nacimiento de la inteligencia artificial.

1957 - Frank Rosenblatt. Comenzó el desarrollo del Perceptron. Esta es la red


neuronal más antigua; utilizándose hoy en día para aplicación como identificador de
patrones. Este modelo era capaz de generalizar, es decir, después de haber
aprendido una serie de patrones podía reconocer otros similares, aunque no se le
hubiesen presentado en el entrenamiento. Sin embargo, tenía una serie de
limitaciones, por ejemplo, su incapacidad para resolver el problema de la función
OR-exclusiva y, en general, era incapaz de clasificar clases no separables
linealmente.

1959 - Frank Rosenblatt: Principios de Neurodinámica. En este libro confirmó que,


bajo ciertas condiciones, el aprendizaje del Perceptron convergía hacia un estado
finito (Teorema de Convergencia del Perceptron).

1960 - Bernard Widroff/Marcian Hoff. Desarrollaron el modelo Adaline (ADAptative


LINear Elements). Esta fue la primera red neuronal aplicada a un problema real
(filtros adaptativos para eliminar ecos en las líneas telefónicas) que se ha utilizado
comercialmente durante varias décadas.

1961 - Karl Steinbeck: Die Lernmatrix. Red neuronal para simples realizaciones
técnicas (memoria asociativa). 1969 - Marvin Minsky/Seymour Papert. En este año
casi se produjo la “muerte abrupta” de las Redes Neuronales; ya que Minsky y
Papert probaron (matemáticamente) que el Perceptrons no era capaz de resolver
problemas relativamente fáciles, tales como el aprendizaje de una función no-lineal.
Esto demostró que el Perceptron era muy débil, dado que las funciones no-lineales
son extensamente empleadas en computación y en los problemas del mundo real.

1974 - Paul Werbos. Desarrolló la idea básica del algoritmo de aprendizaje de


propagación hacia atrás (backpropagation); cuyo significado quedó definitivamente
aclarado en 1985.

1977 - Stephen Grossberg: Teoría de Resonancia Adaptada (TRA). La Teoría de


Resonancia Adaptada es una arquitectura de red que se diferencia de todas las
demás previamente inventadas. La misma simula otras habilidades del cerebro:
memoria a largo y corto plazo.

1985 - John Hopfield. Provocó el renacimiento de las redes neuronales con su libro:
“Computación neuronal de decisiones en problemas de optimización.”

1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo de aprendizaje de


propagación hacia atrás (backpropagation). A partir de 1986, el panorama fue
alentador con respecto a las investigaciones y el desarrollo de las redes neuronales.
En la actualidad, son numerosos los trabajos que se realizan y publican cada año,
las aplicaciones nuevas que surgen (sobretodo en el área de control) y las empresas
que lanzan al mercado productos nuevos, tanto hardware como software (sobre
todo para simulación).

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.2.1. Conceptos básicos.

Redes Neuronales: son una rama de la Inteligencia Artificial. En las redes


neuronales el conocimiento se incorpora mediante el aprendizaje a partir de
ejemplos.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.2.2. Clasificación.

Una primera clasificación de los modelos de RN podría ser, atendiendo a su similitud


con la realidad biológica:

 Los modelos de tipo biológico. Este comprende las redes que tratan de
simular los sistemas neuronales biológicos así como las funciones auditivas
o algunas funciones básicas de la visión.
 El modelo dirigido a aplicación. Estos modelos no tienen porque guardar
similitud con los sistemas biológicos. Sus arquitecturas están fuertemente
ligadas a las necesidades de las aplicaciones para las que son diseñados.

Redes Neuronales de tipo Biológico


Se estima que el cerebro humano contiene más de cien mil millones de neuronas y
sinápsis en el sistema nervioso humano. Estudios sobre la anatomía del cerebro
humano concluyen que hay más de 1000 sinápsis a la entrada y a la salida de cada
neurona. Es importante notar que aunque el tiempo de conmutación de la neurona
(unos pocos milisegundos) es casi un millón de veces menor que en las actuales
elementos de las computadoras, ellas tienen una conectividad miles de veces
superior que las actuales supercomputadoras.
El objetivo principal de de las redes neuronales de tipo biológico es desarrollar un
elemento sintético para verificar las hipótesis que conciernen a los sistemas
biológicos.

Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el
procesado de la información.
La mayor parte de las neuronas poseen una estructura de árbol llamadas dendritas
que reciben las señales de entrada que vienen de otras neuronas a través de la
uniones llamadas sinápsis. Algunas neuronas se comunican solo con las cercanas,
mientras que otras se conectan con miles. Hay tres partes en una neurona:

1.- el cuerpo de la neurona


2.- ramas de extensión llamadas dentrías para recibir las entradas, y
3.- un axón que lleva la salida de la neurona a las desdirías de otras neuronas.

La forma que dos neuronas interactuan no está totalmente conocida, dependiendo


además de cada neurona. En general, una neurona envía su salida a otras por su
axón. El axón lleva la información por medio de diferencias de potencial, u ondas de
corriente, que depende del potencial de la neurona. Este proceso es a menudo
modelado como una regla de propagación representada por la función de red
u(.). La neurona recoge las señales por su sinápsis sumando todas las influencias
excitadoras e inhibidoras. Si las influencias excitadoras positivas dominan, entonces
la neurona da una señal positiva y manda este mensaje a otras neuronas por sus
sinápsis de salida. En este sentido la neurona puede ser modelada como una simple
función escalón f(.). Como se muestra en la próxima figura, la neurona se activa si
la fuerza combinada de la señal de entrada es superior a un cierto nivel, en el caso
general el valor de activación de la neurona viene dado por una función de
activación f(.).

Redes Neuronales para aplicaciones concretas


Las RN dirigidas a aplicación están en general poco ligadas a las redes neuronales
biológicas. Ya que el conocimiento que se posee sobre el sistema nervioso en
general no es completo, se han de definir otras funcionalidades y estructuras de
conexión distintas a las vistas desde la perspectiva biológica. Las características
principales de este tipo de RN son los siguientes:

Auto Organización y Adaptatividad: utilizan algoritmos de aprendizaje adaptativo y


auto organización, por lo que ofrecen posibilidades de procesado robusto y
adaptativo.

Procesado No Lineal: aumenta la capacidad de la red de aproximar, clasificar y su


inmunidad frente al ruido.

Procesado paralelo: normalmente se usa un gran número de células de procesado


por el alto nivel de interconectividad.
Estas características juegan un importante papel en las RN aplicadas al procesado
de señal e imagen. Una red para una determinada aplicación presenta una
arquitectura muy concreta, que comprende elementos de procesado adaptativo
masivo paralelo combinadas con estructuras de interconexión de red jerárquica.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.2.3. Desarrollos actuales y aplicaciones.

Las redes neuronales pueden utilizarse en un gran número y variedad de


aplicaciones, tanto comerciales como militares. Se pueden desarrollar redes
neuronales en un periodo de tiempo razonable, con la capacidad de realizar tareas
concretas mejor que otras tecnologías. Cuando se implementan mediante hardware
(redes neuronales en chips VLSI), presentan una alta tolerancia a fallos del sistema
y proporcionan un alto grado de paralelismo en el procesamiento de datos. Esto
posibilita la inserción de redes neuronales de bajo coste en sistemas existentes y
recientemente desarrollados.

Hay muchos tipos diferentes de redes neuronales; cada uno de los cuales tiene una
aplicación particular más apropiada. Algunas aplicaciones comerciales son:

Biología:
- Aprender más acerca del cerebro y otros sistemas.
- Obtención de modelos de la retina.
Empresa:
- Evaluación de probabilidad de formaciones geológicas y petrolíferas.
- Identificación de candidatos para posiciones específicas.
- Explotación de bases de datos.
- Optimización de plazas y horarios en líneas de vuelo.
- Optimización del flujo del tránsito controlando convenientemente la temporización
de los semáforos.
- Reconocimiento de caracteres escritos.
- Modelado de sistemas para automatización y control.
Medio ambiente:
- Analizar tendencias y patrones.
- Previsión del tiempo.
Finanzas:
- Previsión de la evolución de los precios.
- Valoración del riesgo de los créditos.
- Identificación de falsificaciones.
- Interpretación de firmas.
Manufacturación:
- Robots automatizados y sistemas de control (visión artificial y sensores de presión,
temperatura, gas, etc.).
- Control de producción en líneas de procesos.
- Inspección de la calidad.
Medicina:
- Analizadores del habla para ayudar en la audición de sordos profundos.
- Diagnóstico y tratamiento a partir de síntomas y/o de datos analíticos
(electrocardiograma, encefalogramas, análisis sanguíneo, etc.).
- Monitorización en cirugías.
- Predicción de reacciones adversas en los medicamentos.
- Entendimiento de la causa de los ataques cardíacos.
Militares:
- Clasificación de las señales de radar.
- Creación de armas inteligentes.
- Optimización del uso de recursos escasos.
- Reconocimiento y seguimiento en el tiro al blanco.

La mayoría de estas aplicaciones consisten en realizar un reconocimiento de


patrones, como ser: buscar un patrón en una serie de ejemplos, clasificar patrones,
completar una señal a partir de valores parciales o reconstruir el patrón correcto
partiendo de uno distorsionado. Sin embargo, está creciendo el uso de redes
neuronales en distintos tipos de sistemas de control.

Desde el punto de vista de los casos de aplicación, la ventaja de las redes


neuronales reside en el procesado paralelo, adaptativo y no lineal. El dominio de
aplicación de las redes neuronales también se lo puede clasificar de la siguiente
forma: asociación y clasificación, regeneración de patrones, regresión y
generalización, y optimización.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.3. Visión artificial.


La visión artificial, también conocida como visión por computador (del
ingles computer vision) o visión técnica, es un subcampo de la inteligencia aritificial.
El propósito de la visión artificial es programar una computadora para que "entienda"
una escena o las características de una imagen.

Los objetivos típicos de la visión artificial incluyen:


 La detección, segmentación, localización y reconocimiento de ciertos objetos
en imágenes (por ejemplo, caras humanas).
 La evaluación de los resultados (por ejemplo, segmentación, registro).
 Registro de diferentes imágenes de una misma escena u objeto, es decir,
hacer concordar un mismo objeto en diversas imágenes.
 Seguimiento de un objeto en una secuencia de imágenes.
 Mapeo de una escena para generar un modelo tridimensional de la escena;
este modelo podría ser usado por un robot para navegar por la escena.
 Estimación de las posturas tridimensionales de humanos.
 Búsqueda de imágenes digitales por su contenido.

Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje


estadístico, geometría de proyección, procesamiento de imágenes, teoría de
grafos y otros campos. La visión artificial cognitiva está muy relacionada con
la psicología cognitiva y la computación biológica.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.3.1. Conceptos básicos.

Se puede definir la “Visión Artificial” como un campo de la “Inteligencia Artificial” que,


mediante la utilización de las técnicas adecuadas, permite la
obtención, procesamiento y análisis de cualquier tipo de información especial
obtenida a través de imágenes digitales.

La visión artificial la componen un conjunto de procesos destinados a realizar


el análisis de imágenes. Estos procesos son: captación de imágenes, memorización
de la información, procesado e interpretación de los resultados.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.3.2. Desarrollos actuales y aplicaciones.

Con la visión artificial se pueden:

 Automatizar tareas repetitivas de inspección realizadas por operadores.


 Realizar controles de calidad de productos que no era posible verificar
por métodos tradicionales.
 Realizar inspecciones de objetos sin contacto físico.
 Realizar la inspección del 100% de la producción (calidad total) a
gran velocidad.
 Reducir el tiempo de ciclo en procesos automatizados.
 Realizar inspecciones en procesos donde existe diversidad de piezas
con cambios frecuentes de producción.

Las principales aplicaciones de la visión artificial en la industria actual son:

 Identificación e inspección de objetos.


 Determinación de la posición de los objetos en el espacio.
 Establecimiento de relaciones espaciales entre varios objetos (guiado de
robots)
 Determinación de las coordenadas importantes de un objeto.
 Realización de mediciones angulares.
 Mediciones tridimensionales.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.4. Lógica difusa (Fuzzy Logic).


Fuzzy Logic tiene sus raíces en la teoría de conjuntos difusos desarrollada por
Zadeh en la década de los 60, la que propone que un elemento siempre pertenece
en un cierto grado a un conjunto y nunca pertenece del todo al mismo, esto permite
establecer una manera eficiente para trabajar con incertezas, así como para
acondicionar el conocimiento en forma de reglas hacia un plano cuantitativo, factible
de ser procesado por computadores.

Toda lógica consiste en formalizar el pensamiento humano, desde este punto de


vista,

 Lógica Clásica: Establece que cualquier enunciado o proposición puede


tener un valor lógico verdadero o falso, en definitiva 1 y 0. De esta forma es
posible desarrollar toda una lógica basada en leyes de este tipo.
 Lógica Difusa: En vez de trabajar con el clásico concepto de inclusión o
exclusión, introduce una función que expresa el grado de “pertenencia” de
una variable hacia un atributo o “variable lingüística” tomando valores en el
rango de 0 a 1.
 Conjunto Difuso: Par Variable lingüística – funcion de pertenencia
A = {x / µ A (x) ∀ x ∈ X}

Ventajas
La principal ventaja de utilizar términos lingüísticos como: a medias, bastante, casi,
un poco, mucho, algo, etc, está en que permite plantear el problema en los mismos
términos en los que lo haría un experto humano.

El éxito de esta técnica radica en que “El mundo es Fuzzy”. En otras palabras, no
tiene sentido buscar la solución a un problema no perfectamente definido por medio
de un planteamiento matemático muy exacto, cuando es el ser humano el primero
que razona empleando la inexactitud.

En inteligencia artificial, la lógica difusa, o lógica borrosa se utiliza para la


resolución de una variedad de problemas, principalmente los relacionados con
control de procesos industriales complejos y sistemas de decisión en general, la
resolución y la compresión de datos. Los sistemas de lógica difusa están también
muy extendidos en la tecnología cotidiana, por ejemplo en cámaras digitales,
sistemas de aire acondicionado, lavarropas, etc. Los sistemas basados en lógica
difusa imitan la forma en que toman decisiones los humanos, con la ventaja de ser
mucho más rápidos. Estos sistemas son generalmente robustos y tolerantes a
imprecisiones y ruidos en los datos de entrada. Algunos lenguajes de programación
lógica que han incorporado la lógica difusa serían por ejemplo las diversas
implementaciones de Fuzzy PROLOG o el lenguaje Fril.

Consiste en la aplicación de la lógica difusa con la intención de imitar el


razonamiento humano en la programación de computadoras. Con la
lógica convencional, las computadoras pueden manipular valores estrictamente
duales, como verdadero/falso, sí/no o ligado/desligado. En la lógica difusa, se usan
modelos matemáticos para representar nociones subjetivas, como caliente/tibio/frío,
para valores concretos que puedan ser manipuladas por los ordenadores.

En este paradigma, también tiene un especial valor la variable del tiempo, ya que
los sistemas de control pueden necesitar retroalimentarse en un espacio concreto
de tiempo, pueden necesitarse datos anteriores para hacer una evaluación media
de la situación en un período anterior.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.4.1. Conceptos básicos.

La logica difusa es una extension de la logica tradicional (Booleana) que utiliza


conceptos de pertenencia de sets mas parecidos a la manera de pensar humana.
 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.

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.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.4.2. Desarrollos actuales y aplicaciones.

La lógica difusa se utiliza cuando la complejidad del proceso en cuestión es muy


alta y no existen modelos matemáticos precisos, para procesos altamente no
lineales y cuando se envuelven definiciones y conocimiento no estrictamente
definido (impreciso o subjetivo).

En cambio, no es una buena idea usarla cuando algún modelo matemático ya


soluciona eficientemente el problema, cuando los problemas son lineales o cuando
no tienen solución.

Esta técnica se ha empleado con bastante éxito en la industria, principalmente en


Japón, extendiéndose sus aplicaciones a multitud de campos. La primera vez que
se usó de forma importante fue en el metro japonés, con excelentes resultados.
Posteriormente se generalizó según la teoría de la incertidumbre desarrollada por
el matemático y economista español Jaume Gil Aluja.

A continuación se citan algunos ejemplos de su aplicación:

 Sistemas de control de acondicionadores de aire


 Sistemas de foco automático en cámaras fotográficas
 Electrodomésticos familiares (frigoríficos, lavadoras...)
 Optimización de sistemas de control industriales
 Sistemas de escritura
 Mejora en la eficiencia del uso de combustible en motores
 Sistemas expertos del conocimiento (simular el comportamiento de un
experto humano)
 Tecnología informática
 Bases de datos difusas: Almacenar y consultar información imprecisa. Para
este punto, por ejemplo, existe el lenguaje FSQL.
 ...y, en general, en la gran mayoría de los sistemas de control que no
dependen de un Sí/No.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.5. Procesamiento de Lenguaje Natural (PLN).


El recurso más importante que posee la raza humana es conocimiento, o sea
información. En la época actual de información, del manejo eficiente de este
conocimiento depende el uso de todos los demás recursos naturales, industriales y
humanos.

Durante toda la historia de humanidad el conocimiento, en su mayor parte se


comunica, se guarda y se maneja en la forma de lenguaje natural –griego, latín,
inglés, español, etc. La época actual no es ninguna excepción: el conocimiento
sigue existiendo y creándose en la forma de documentos, libros, artículos, aunque
éstos se guardan en forma electrónica, o sea digital. El gran avance es que en esta
forma, las computadoras ya pueden ser una ayuda enorme en el procesamiento de
este conocimiento.

Sin embargo, lo que es conocimiento para nosotros –los seres humanos– no lo es


para las computadoras. Son los archivos, unas secuencias de caracteres, y nada
más. Una computadora puede copiar tal archivo, respaldarlo, transmitirlo, borrarlo –
como un burócrata que pasa los papeles a otro burócrata sin leerlos. Pero no puede
buscar las respuestas a las preguntas en este texto, hacer las inferencias lógicas
sobre su contenido, generalizar y resumirlo –es decir, hacer todo lo que las personas
normalmente hacemos con el texto. Porque no lo puede entender.

Para combatir esta situación, se dedica mucho esfuerzo, sobre todo en los países
más desarrollados del mundo, al desarrollo de la ciencia que se encarga de habilitar
a las computadoras a entender el texto. Esta ciencia, en función del enfoque práctico
versus teórico, del grado en el cual se espera lograr la comprensión y de otros
aspectos tiene varios nombres: procesamiento de lenguaje natural, procesamiento
de texto, tecnologías de lenguaje, lingüística computacional. En todo caso, se trata
de procesar el texto por su sentido y no como un archivo binario.
El esquema general de la mayoría de los sistemas y métodos que involucran el
procesamiento de lenguaje es el siguiente:

 Primero, el texto no se procesa directamente si no se transforma en una


representación formal que preserva sus características relevantes para la
tarea o el método específico (por ejemplo, un conjunto de cadenas de letras,
una tabla de base de datos, un conjunto de predicados lógicos, etc.).
 Luego, el programa principal manipula esta representación, transformándola
según la tarea, buscando en ella las subestructuras necesarias, etc.
 Finalmente, si es necesario, los cambios hechos a la representación formal
(o la respuesta generada en esta forma) se transforman en el lenguaje natural.

Entre las tareas principales del procesamiento de lenguaje natural se puede


mencionar:

 Recuperación de información,
 Interfaces en lenguaje natural,
 Traducción automática.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.5.1. Conceptos básicos.

Lenguaje: Sistema de signos complejo, estructurado.

(PLN o NLP, Natural Language Processing): Rama de la inteligencia artificial que


analiza, entiende y genera los lenguajes que los humanos usan naturalmente para
relacionarse con la computadora.

Lingüística: Es la disciplina que se ocupa del estudio científico del lenguaje.

Lenguaje formal: es un lenguaje artificial o sea creado por el hombre que esta
formado por símbolos y formulas y que tiene como objetivo fundamental formalizar
la programación de computadoras o representar simbólicamente un conocimiento.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html
5.5.2. Desarrollos actuales y aplicaciones.

Proceden de la fusión de dos disciplinas: la lingüística y la informática.


Surgen del procesamiento automático de la lengua natural: los elementos de la
lengua –fonemas, morfemas, palabras, oraciones, textos y las reglas que rigen el
funcionamiento comienzan a sistematizarse para ser informatizados,
consiguiéndose con ello realizar automáticamente tareas lingüísticas.
Estas aplicaciones tienen en cuenta la disciplina o disciplinas lingüísticas dentro de
las cuales puedan encuadrarse. a pesar de que muchas de ellas convergen en un
mismo producto: por ejemplo, en el caso de la traducción automática se necesitan
analizadores morfológicos, sintácticos y semánticos, además de reconocimiento y
síntesis de voz.
TECNOLOGÍAS DEL HABLA
Las tres áreas básicas que configuran las tecnologías del habla son:

1. La síntesis del habla (el ordenador proporciona información oral). Este tipo
de aplicaciones informáticas Permite la generación de mensajes hablados a
partir de un texto escrito almacenado en formato
electrónico. Suelen emplear los sistemas de conversión de texto en habla,
que constan por lo general de un módulo de procesamiento lingüístico, en el
que se llevan a cabo una trascripción fonética y un análisis lingüístico más o
menos detallado del texto de entrada y de otro que se ocupa de los aspectos
más ligados al tratamiento informático de la señal sonora. Las personas con
discapacidad visual pueden por ejemplo acceder a la información a través de
los sistemas que convierten el texto escrito en texto hablado.
2. El reconocimiento del habla (el ordenador procesa los enunciados emitidos
por un interlocutor). Este tipo de aplicaciones procede realizando a una
operación inversa a la llevada a cabo en la síntesis: la onda sonora portadora
de un mensaje se convierte en una representación simbólica, que suele ser
un texto escrito. El ordenador recibe los sonidos del habla en forma de ondas
analógicas que se analizan para identificar las unidades que constituyen las
palabras (fonemas).
3. Los sistemas de diálogo (comunicación bidireccional). Constan de un
módulo de reconocimiento automático del habla, un sistema de comprensión
que se ocupa de la interpretación del enunciado, un módulo de generación
que crea un texto con los resultados de una consulta a una base de datos o
con la respuesta adecuada a la conversación entre usuario y sistema, y de
un conversor de texto en habla que transforma esta respuesta en su
equivalente sonoro. Estas operaciones están coordinadas por un módulo de
gestión del diálogo, responsable de los turnos de palabra, de la coherencia
entre preguntas y respuestas y de todos aquellos aspectos que hacen que la
interacción entre la persona y el ordenador sea lo más natural posible. El
módulo de reconocimiento debe procesar la información acústica que
contiene el mensaje que recibe del usuario para poder interpretarlo
semánticamente.
TECNOLOGÍAS DEL TEXTO
Aplicaciones informáticas basadas en el análisis morfológico, sintáctico y semántico
del texto:

 Analizadores morfológicos / Generadores


 El analizador morfológico analiza la forma y composición de las palabras. Aunque
puede constituir por sí mismo un producto lingüístico completo e independiente
resulta íntegro cuando lo utilizamos como complemento de productos como
generadores de voz, sistemas de traducción...
 El criterio que sigue el analizador morfológico para identificar las palabras es la
identificación gráfica convencional de cadena de caracteres limitada por dos espacios
en blanco, o limitada entre un espacio en blanco y un signo de puntuación.
 El modo de funcionamiento es el siguiente: el usuario introduce una palabra y el
programa la descompone en los posibles morfemas que están presentes en la base de
datos léxicos. A continuación determina qué análisis pueden ser correctos.

 GENERADORES MORFOLÓGICOS

 Mientras el analizador morfológico detecta la palabra y sus constituyentes, los
generadores las generan, es decir, se lleva a cabo el proceso inverso. Tanto unos
como otros están presentes en sistemas de traducción automática, sistemas de
diálogo...

 Analizadores sintácticos
 Correctores
 Desambiguadores
 Traductores
 Textos predictivos

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.6. Sistemas Expertos (SE).


Durante años la actividad de la Inteligencia Artificial estuvo dedicada a las investigaciones
teóricas y al desarrollo de experimentos a través de programas que demostraran “actitudes
inteligentes”, con estos programas se pretendia que la máquina jugara ajedrez, demostrara
teoremas matemáticos, etc.
No fue hasta los años 70 que surgió un nuevo paradigma en la Inteligencia Artificial “los
Sistemas Expertos”, cuya función es desarrollar trabajos similares a los que desarrollaria un
especialista en un área determinada, la idea no es sustituir a los expertos, sino que estos
sistemas sirvan de apoyo a los especialistas en un “dominio” de aplicación específico.
Estos sistemas expertos son en lo esencial sistemas de computación basados en
conocimientos cuyos componentes representan un enfoque cualitativo de la programación.
Muchas personas pueden creer que un Sistema Experto (SE) es un sistema compuesto por
subsistemas y a su vez estos por otros subsistemas hasta llegar a los programas, y que los SE
se miden por la cantidad de programas que contienen. Sin embargo la cantidad no es lo que
prima en los SE, si no la cualidad del mismo, esta cualidad está dada por la separación de las
reglas que describen el problema (Base de Conocimientos), del programa de control que es
quien selecciona las reglas adecuadas (Motor de inferencias).
Podemos decir que un Sistema Experto es una Base de Conocimientos (BC), una Base de
Hechos (BH) y un Motor (o Máquina) de Inferencias (MI). Por otra parte estos sistemas no
se miden por la cantidad de instrucciones o programas sino por la cantidad de reglas que hay
contenida en su Base de Conocimientos.
Para desarrollar los sistemas expertos primero es necesario abordar un área de interés, dentro
de esta área se seleccionan a los expertos, que son los especialistas capaces de resolver los
problemas en dicha área. Por ejemplo el área de interés de las empresas de proyectos, son
precisamente los proyectos y un especialista podría ser un arquitecto, un ingeniero civil, etc.
Ahora bien, casi siempre estos especialistas, son expertos en un dominio específico y es sobre
este dominio, donde poseen su mayor experiencia (Dominio de Experticidad), por ejemplo
un Ing. civil especializado en cimientos.
Una vez seleccionado al experto o a los expertos y estos estén de acuerdo en dar sus
conocimientos, comienza a jugar su papel el “Ingeniero de Conocimientos”, que es el
encargado de extraerle los conocimientos al experto y darle una representación adecuada, ya
sea en forma de reglas u otro tipo de representación, conformando as’i la base de
conocimientos del sistema experto.
Formas de representación de los conocimientos:

Reglas de producción
Redes semánticas
Marcos (Frames).
La forma de representación más usada es por reglas de producción, también llamadas reglas
de inferencias. Casi todos los sistemas expertos están basados en este tipo de representación,
ahora nos ocuparemos de los sistemas basados en reglas.
Las reglas de producción son del tipo:

SI Premisa ENTONCES Conclusion (SI A ENTONCES B).

Donde tanto las premisas como la conclusión, no son más que una cadena de hechos
conectados por “Y” o por “O”, de forma general sería:
SI Hecho1 Y/O Hecho2 Y/O… HechoN ENTONCES Hecho1 Y/O … HechoN
Los hechos son afirmaciones que sirven para representar conceptos, datos, objetos, etc. Y el
conjunto de hechos que describen el problema es la base de hechos.
Ejemplo de hechos:

Juan es un estudiante
Juan tiene 8 años
el perro es blanco
a María le gusta el cine
Pedro prefiere la película
la edad de Luis es de 25 años
Pedro tiene un salario de 200 pesos

Una regla es una combinación de hechos que permite representar conocimientos y sacar
inferencias de los mismos.
Ejemplo de reglas:
R1: SI Juan es esgudiante Y Juan tiene 8 años Entonces Juan estudia en la primaria .
R2: SI el perro es blanco Y el perro se llama Dinky ENTONCES el perro es de Juan.
R3: SI a Maria le gusta la pelicula Y Juan prefiere la pelota ENTONCES hacen falta e
televisiores
Observe como partiendo de hechos conocidos que describen algún conocimiento se pueden
inferir nuevos hechos (nuevos conocimientos), por otra parte la regla #2 (R2), no tiene porque
ser totalmente cierta, existe la posibilidad de que el perro sea de Juan, quizás se puede afirmar,
si fuéramos a cuantificar esa posibilidad, que el perro pertenece a Juan con una certeza de un
80%, y por último la regla #3 (R3) es dependiente del contexto, ya que aquí se supone que
ambos viven juntos y que los programas de TV coinciden.
La Base de Conocimientos (BC).

Son el conjunto de reglas que permiten representar los conocimientos del dominio de experto
donde cada regla aisladamente tiene significado propio. Normalmente los conocimientos son
de tipo declarativo por lo cual la BC casi siempre es una descripción de los conocimientos
del experto, por lo tanto requiere de algún mecanismo que obtenga las inferencias adecuadas
para resolver el problema, alguien que seleccione las reglas y las vaya ejecutando, ese alguien
es el motor de inferencias.

El Motor de Inferencias (MI) es un programa de control cuya función es seleccionar las reglas
posibles a satisfacer el problema, para ello se vale de ciertas estrategias de control
sistemáticas o de estrategias heurísticas.
Estrategias de control sistemático:

Encadenamiento hacia adelante o hacia atrás.


Búsqueda en profundidad o a lo ancho.
Régimen de control irrevocable o por tentativa.

Estas estrategias son de forma sistemática las cuales deben llevar a la solución del problema.
Podemos decir que el control sistemático es un programa de control hecho de forma
“algorítmica” que aplican una heurística de propósito general cuya función es una
exploración exhaustiva y metódica de la base de conocimientos.
Estos mecanismos de control son muy generales y a veces resultan ineficientes ya que siguen
una secuencia de búsqueda demasiado rígida, para resolver esto se idearon las estrategias de
control heurísticas.
Las estrategias de control heurísticas son programas de control que utilizan una heurística
más específica y su función es una selección más restringida orientada por las necesidades
del problema. Estas estrategias actúan sobre el control sistemático y en ciertos casos toma el
control y dirige la búsqueda hacia ciertos criterios rompiendo así el control sistemático, una
vez logrado su objetivo le devuelve el control nuevamente al sistemático.
Estrategias de control heurísticas:

Orden de las reglas.


Mayor credibilidad en las reglas.
Menor número de cláusulas no instanciadas.
Mayor número de conclusiones en las reglas.

Podemos decir que un sistema experto, es un sistema informático que utiliza técnicas
apropiadas para la representación de conocimientos y la manipulación de este, de forma tal
que exhiba el comportamiento de un avezado especialista en un determinado dominio del
saber.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html
5.6.1. Conceptos básicos.

Un Sistema Experto (SE), es básicamente un programa de computadora basado en


conocimientos y raciocinio que lleva a cabo tareas que generalmente sólo realiza un experto
humano; es decir, es un programa que imita el comportamiento humano en el sentido de que
utiliza la información que le es proporcionada para poder dar una opinión sobre un tema en
especial.

Un experto humano es una persona que es competente en un área determinada del


conocimiento o del saber. Un experto humano es alguien que sabe mucho sobre un tema
determinado y que puede dar un consejo adecuado.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.6.2. Clasificación.

Por la naturaleza de la tarea a realizar: así se tiene cuatro posibilidades:


* Diagnostico o Clasificación: se conocen soluciones y se tratan de clasificarlas o
diagnosticarlas en función de una serie de datos. Por ejemplo:
sistema de diagnóstico medico.
* Monitorización: análisis del comportamiento de un sistema buscando
posibles fallos, en este caso es importante contemplar la evolución del
sistema pues no siempre los mismos datos dan lugar a idénticas soluciones.
* Diseño: se busca la construcción de la solución a un problema, que en
principio es desconocida, a partir de datos y restricciones a satisfacer.
* Predicción: se estudia el comportamiento de un sistema.

Por la interacción del usuario:


* Apoyo: el sistema aconseja el usuario, que mantiene la capacidad de una
última decisión. Por ejemplo, el diagnostico médico.
* Critica: Su misión es analizar y criticar decisiones tomadas por el usuario.

Por la limitación de tiempo para tomar decisiones:


* Tiempo ilimitado: por ejemplo, aquellos que emplean conocimiento casual,
que busca orígenes de un problema que ha ocurrido y cuyo análisis no
necesita ser inmediato.
* Tiempo limitado (tiempo real): sistemas que necesitan actuar controlando o
monitorizando dispositivos y que han de tomar decisiones inmediatas frente
a los problemas que surjan. Por ejemplo el control de una red de
comunicaciones.
Por la variabilidad temporal del conocimiento:
* Estáticos: la base del conocimiento no se altera durante el proceso de decisión.
* Dinámicos: ocurren cambios en la base de conocimiento durante la toma de
decisiones. Estos cambios pueden ser predecibles o impredecibles y además
pueden, bien añadir información, bien modificar la información ya existente.

Por la naturaleza del conocimiento almacenado:


* Basado en experiencia: el conocimiento se basa en experiencias o hechos
ocasionados conocidos por el experto, pero sin que existe una causa clara
para los efectos que se observan.
* Basado en relaciones causa-efecto.

Por la certeza de la información:


* Completa o perfecta: se conocen todos los datos y reglas necesarios para la decisión.
* Imperfecta: que puede ser incompleta (falta información para tomar
decisiones), Datos inciertos (o no confirmados), Conocimientos incierto
(reglas no siempre validas), Terminología ambigua (dobles sentidos, etc).

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

5.6.3. Desarrollos actuales y aplicaciones.

Las principales aplicaciones de los sistemas expertos son las relacionadas con el mundo
empresarial. Esto se debe a que resultan muy útiles en funciones como
la contabilidad, tesorería, gestiones internas…El campo que más aplicaciones de sistemas
expertos esta realizando es el de la auditoría.

Pero los sistemas expertos son aplicados en muchas más áreas con resultados
satisfactorios. Algunas de las principales son: telecomunicaciones, medicina, militar,
derecho, aeronáutica, geología, electrónica…

A continuación se presentan algunos Sistemas Expertos que se han desarrollado para la


solución de diversos problemas.
 MYCIN es un Sistema Experto para la realización de diagnósticos en el área de la
medicina, iniciado por Ed Feigenbaum y posteriormente desarrollado por E. Shortliffe y
sus colaboradores. Su función es la de aconsejar a los médicos en la investigación y
determinación de diagnósticos en el campo de las enfermedades infecciosas de la
sangre[CRIA].
 XCON es un Sistema Experto para configuraciones, desarrollado por la Digital
Equipment Corporation. Según los deseos individuales del cliente se configuran redes de
ordenadores VAX. Ya que el abanico de productos que se ofrecen en el mercado es muy
amplio, la configuración completa y correcta de un sistema de estas características es un
problema de gran complejidad. Responde esencialmente a dos preguntas: ¿Pueden
conjugarse los componentes solicitados por el cliente de forma conveniente y razonable?
Y ¿Los componentes de sistema especificados son compatibles y completos?. Las
respuestas a estas preguntas son muy detalladas. XCON es capaz de comprobar y
completar los pedidos entrantes mucho más rápido y mejor que las personas encargadas
de hacerlo antes que él [CRIA].
 DELTA, sistema experto que ayuda a los mecánicos en el diagnóstico y reparación de
locomotoras diesel-eléctricas, DELTA no sólo da consejos expertos, sino que también
presenta informaciones por medio de un reproductor de vídeo [IBAR].
 En 1978 se desarrollo otro sistema experto de exito: PROSPECTOR. Este quizás impulso
más la carrera por desarrollar mejores sistemas expertos, dado que su misión era predecir
la posibilidad de encontrar depósitos de minerales en una región en concreto. Minerales
como petroleo, gas natural, helio.

1. La composición de un Sistema Experto, sus aplicaciones, ventajas y desventajas, y


algunos ejemplos sobre estos; han sido los puntos generales que se han tratado a lo largo
de este artículo, con el fin de crear una mayor conciencia del uso real de este tipo de
sistemas.

Un sistema experto puede, sin duda alguna, darnos el mismo resultado que un experto
humano; lo que sí debemos reconocer es que ningún sistema experto, hasta ahora, puede
resolver diferentes problemáticas dentro de una empresa, ya que estos son siempre muy
específicos. Sin embargo, es de esperarse que con los avances que tienen las
herramientas tecnológicas se produzcan un desarrollo cercano al comportamiento
humano en muchas áreas, con estos avances en el terreno de los negocios se podría ser
más eficiente y productivo.

A pesar de los dramáticos avances logrados, la inteligencia artificial no ha sido capaz


de desarrollar sistemas capaces de resolver problemas de tipo general, de aplicar sentido
común para la solución de situaciones complejas, de manejar situaciones ambiguas ni
de utilizar efectivamente información incompleta. Estas últimas son características
inherentes de la inteligencia natural.

http://inteligenciaartificial-isc.blogspot.mx/p/unidad-5-aplicaciones-con-tecnicas-de-
ia.html

RESUMEN DE CADA UNIDAD

En este apartado haga un resumen rápido de lo que se revisó en la unidad, resalte


lo que es importante, anote solo los puntos claves de cada tema.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------

EVALUACIÓN

Es muy recomendable que al finalizar cada capítulo se presente una evaluación que
sirva al estudiante como ayuda en la preparación del examen formal que le aplicará
el instructor. Al redactar sus evaluaciones recuerde no preguntar nada que no haya
enseñado y al contrario elimine de su manual todo lo que no vaya a evaluar.

En primer lugar anote las preguntas o ejercicios:

--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------

Incluya también las respuestas

--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------

BIBLIOGRAFIA

El objeto de incluir la bibliografía en un manual, es proporcionar al participante una


lista de referencias que pueda consultar en el caso de que desee profundizar en
algún tema, al redactarla puede agrupar las referencias por tema de estudio de esta
forma se facilitaría la selección del estudiante que desea profundizar en un tema
determinado.

________________________________________________________________
Anote el tema

1. ________________________________________________________________
Anote el nombre del libro, el autor, la editorial y el año de edición

.
2.________________________________________________________________
Anote el nombre del libro, el autor, la editorial y el año de edición.
ANEXOS

En esta sección se incluyen todos los formatos o información adicional que se


utilizaran durante el curso y que permitirá una mejor comprensión del tema.
También incluya la forma en que se desarrollará el curso. Cronograma, Evaluación,
Dinámica.

Das könnte Ihnen auch gefallen