lunes, 19 de mayo de 2014

Unidad 5. Aplicaciones con técnicas de IA.




Dentro del enfoque de la ingeniería de la Inteligencia Artificial, se clasifican las técnicas que pueden ser usadas como herramientas para solucionar problemas en las siguientes categorías:
1. Técnicas básicas, así llamadas por encontrarse a la base de diversas aplicaciones de IA. Entre otras se encuentran Búsqueda Heurística de Soluciones, Representación del Conocimiento, Deducción Automática, Programación Simbólica (LISP) y Redes Neuronales. Estas técnicas son las bases de las aplicaciones. En su mayoría, no necesita conocerla el usuario final, sino los profesionales que se dedican a su aplicación y la generación de aplicaciones comerciales.
2. Tecnologías, o combinaciones de varias técnicas básicas, orientadas a resolver familias de problemas. Las tecnologías son más especializadas que las técnicas básicas y están más cerca de las aplicaciones finales. Se pueden mencionar a la Robótica y Visión, LenguajeNatural, Sistemas Expertos
3. Clases o tipos de aplicaciones: Diagnóstico, Predicción (sistemas de autocontrol de reactores atómicos), Secuenciamiento de operaciones("Scheduling"), Diseño, Interpretación de datos. Todas ellas son familias de problemas tipo. Por ejemplo, el diagnóstico se refiere a encontrar las causas de fallas, ya sea que se trate de fallas en una línea de producción o de enfermedades en una persona.
4. Campos de aplicación: Ingeniería, Medicina, Sistemas de ManufacturaAdministración, Apoyo a la Toma de Decisiones Gerenciales, etc. Todas caen dentro de las áreas de los sistemas computacionales, pero que se consideran como clientes de la Inteligencia Artificial.

miércoles, 14 de mayo de 2014

5.6.3. Desarrollos actuales y aplicaciones.

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: telecomunicacionesmedicinamilitar, 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.

5.6.2. Clasificación.

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

5.6.1. Conceptos básicos.

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. 

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.

5.5.2. Desarrollos actuales y aplicaciones.

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:

5.5.2. Desarrollos actuales y aplicaciones.

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:

5.5.1. Conceptos básicos.

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.

5.5. Procesamiento de Lenguaje Natural (PLN).

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.

5.4.2. Desarrollos actuales y aplicaciones.

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

5.4.1. Conceptos básicos.

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.

5.4. Lógica difusa (Fuzzy Logic).

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.


5.3.2. Desarrollos actuales y aplicaciones.

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.

5.3.1. Conceptos básicos

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.

5.3. Visión artificial.

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.