Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos...

148
1

Transcript of Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos...

Page 1: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

1

Page 2: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En está unidad se estudiara la definición de un sistema inteligente, los requisitos que

debe cumplir, la definición de inteligencia artificial, los principales conceptos de

inteligencia máquina, así como el manejo del conocimiento con lógica difusa y lógica

binaria.

1.1 Definición de Sistema Inteligente

Un sistema inteligente es un programa de computación que reúne características y

comportamientos asimilables a la inteligencia humana o animal.[1]

Un sistema inteligente es una entidad capaz de decidir por sí misma que acciones

llevará a cabo para alcanzar sus metas basándose en sus percepciones,

conocimientos y experiencias acumuladas.[2]

Los requisitos generales de un Sistema Inteligente son los siguientes:

A) El sistema deberá ser capaz de aprender. Esto implica que el sistema DEBE

tener un recuerdo para el aprendizaje que se mantenga. También el

aprendizaje viene en un número de variedades:

I) TIENE que ser capaz de aprender de sus propias experiencias. Estas se

pueden dividir en nuevas agrupaciones:

1) El aprendizaje a través de ensayo y error.

2) El aprendizaje a través de la observación.

3) El aprendizaje a través del activo razonamiento.

II) Deberá ser capaz de aprender de la instrucción, pero esto no es

necesario. Por lo menos el sistema DEBE tener instintos pre programado.

B) El sistema deberá ser autónomo. Es decir, que deberá ser capaz de hacer las

cosas por sí mismo (sin embargo puede optar por aceptar la ayuda).

2

Page 3: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

I) El sistema deberá ser capaz de afectar el medio ambiente sobre la base

de sus propias conclusiones independientes.

II) El sistema deberá ser su propio maestro, ante todo, y por lo tanto no

requerir de la intervención del operador para funcionar. Esto no

necesariamente excluye la adopción de las órdenes de otro sistema, pero

la elección de obedecer deberá ser hecha por el propio sistema.

III) El sistema deberá ser motivado. Debe tener necesidades y

requerimientos que pueden ser satisfechos por sus propias acciones.

C) El sistema deberá ser capaz de razonar. Es decir, se debe utilizar algún tipo

de razonamiento, basado en hechos conocidos y capaces de producir las

ideas que más tarde se hacen hechos conocidos.

D) El sistema deberá ser capaz de desarrollar su autoconciencia. Esto no sólo se

relaciona con la autonomía, el razonamiento y el aprendizaje, sino también

con la consideración de la necesidad de los sentidos internos y externos.

En la figura 1.1 se muestra un sistema inteligente básico.

Fig. 1.1 Sistema Inteligente.

3

Page 4: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

1.2 Definición de Inteligencia Artificial (I.A)

Es una de las áreas de las ciencias computacionales encargadas de la creación de

hardware y software que tenga comportamientos inteligentes.[3]

La capacidad de acción de las máquinas para realizar determinados procesos.

La inteligencia artificial se define como aquella inteligencia exhibida por artefactos

creados por humanos es decir, artificial. A menudo se aplica hipotéticamente a las

computadoras. El nombre I.A se usa para referirse al campo de la investigación

científica que intenta acercarse a la creación de los sistemas inteligentes.[4]

Entonces, se puede decir que la I.A incluye características humanas tales como

el aprendizaje, la adaptación, el razonamiento, la autocorrección y el mejoramiento

implícito.

1.3 Conceptos sobre Inteligencia Máquina

1.3.1 Inteligencia MáquinaAl tratar de duplicar algunas de las funciones inteligentes humanas en las máquinas,

se ha dado origen a las llamadas máquinas o sistemas inteligentes. [5]

De estas máquinas, las más notables son las computadoras. Pero hay muchas

otras clases de máquinas que se comportan apropiadamente en respuesta a varias

señales y que también son llamadas máquinas inteligentes.

Los avances de las tecnologías de Hardware y de Software han mejorado la

eficacia de los sistemas inteligentes, resultando en decisiones “casi humanas”,

mejoras en la calidad de ejecución y en la robustez en la percepción, a velocidades y

tolerancias sobrehumanas.

4

Page 5: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Las nuevas tecnologías de Hardware incluyen:

1. Procesadores Masivamente Paralelos.

2. Implementaciones Especiales de Alta Velocidad de Sistemas Cognoscitivos

Difusos.

3. Conceptos innovativos de procesadores asociativos que accesan datos

directamente sin búsqueda.

4. Aceleradores celulares para computadoras personales.

Las nuevas tecnologías en Software incluyen:

1. Redes Neurales Holográficas Avanzadas, Invariantes, de Alto Orden.

2. Sistemas Expertos Difusos.

3. Memorias Holográficas de Contenido Difuso Direccionable.

4. Paquetes de Razonamiento Difuso, Toma de Decisiones y Control.

5. Métodos de Programación para Visión Asociativa y Procesadores Celulares.

6. Ambientes de Software Orientados a Objetos.

7. Herramientas de aplicación adaptativas Orientadas a Usuarios.

Los sistemas inteligentes están diseñados para tratar con problemas altamente

variantes, complejos, ruidosos, y confusos en:

1. Administración.

2. Finanzas.

3. Manufactura.

4. Reconocimiento de Formas.

5. Instrumentación Adaptativa.

6. Procesos de control.

7. Robótica.

8. Diagnostico.

9. Bases de Datos Inteligentes.

10.Máquinas Diccionario, etc.

5

Page 6: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En las décadas pasadas, la inteligencia hecha por el hombre fue canalizada por

dos caminos, la inteligencia artificial simbólica (sistemas expertos) y redes neurales

(sistemas de aprendizaje adaptativo). Estas dos tendencias en conjunto con el

razonamiento difuso han dado paso a grandes avances en las siguientes áreas

cruciales.

1. Procesamiento de información (Soft): Aprendizaje Rápido, Asociaciones

Difusas, Razonamiento y Control Difuso, Generalización.

2. Procesamiento de Información Masivamente en Paralelo: Hardware

Concurrente, Paralelo, Asociativo, y Celular.

Las técnicas aplicadas en los sistemas inteligentes conducen en la elección de

sistemas de razonamiento cuyo comportamiento emula el de la mente humana. Los

sistemas deben de ser capaces de describir, evaluar y aproximar información con

algún grado de difusión, incertidumbre o incompletos. La meta última es hacer el

procesamiento de información intuitivo que muestran los humanos:

1. Razonamiento Inconsciente, Análogo, Paralelo y Distribuido.

2. Reconocimiento de Patrones.

3. Razonamiento Probabilístico.

4. Razonamiento Inductivo en situaciones de información difusa o incompleta.

Los desarrollos recientes en el diseño y adaptación de los sistemas inteligentes,

han proporcionado avances mayores en las siguientes áreas:

1. Modelos biológicos; computadoras neuronales y masivamente paralelas.

2. Computación concurrente; sistemas inteligentes en tiempo real.

3. Integración de Razonamiento, Información y Servicio.

4. Aprendizaje Rápido y Reconocimiento Invariante de Objetos.

5. Programación dinámica, genética y caótica.

6

Page 7: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

1.3.2 Modelando la InteligenciaLa inteligencia natural es abundante en todos los ámbitos de la naturaleza. Las redes

neuronales extraen sus principios de las ciencias del cerebro para modelar

reconocimiento, aprendizaje y procesos de planeación. La lógica difusa refleja muy

cercanamente la manera en que razonamos los humanos con reglas aproximadas.

Los algoritmos genéticos aprovechan directamente los conocimientos obtenidos a

través de la investigación en genética, modelando los principios de Darwin de

selección natural. Los Fractales asemejan vagamente la manera en que los sistemas

vivientes repiten patrones mientras crecen. La teoría del caos usa mecanismos

derivados de simulaciones matemáticas de procesos que nunca son exactamente los

mismos dos veces. Los autómatas celulares modelan un universo de dos

dimensiones de células vivientes y un conjunto simple de modos de interacción. Y la

lista sigue.[5]

La familia de métodos emergentes de solución de problemas que imitan la

inteligencia forma parte de la computación cognoscitiva. La computación cognoscitiva

substituye con técnicas de procesamiento más inteligentes, las técnicas de

programaciones tradicionales, largas y complejas. Estos modelos inteligentes se

pueden aplicar a una gama más amplia de situaciones ya que no tienen limitaciones,

por ejemplo, a ser lineales.

Una desventaja de las técnicas de computación cognoscitiva es que,

frecuentemente, no se puede probar su estabilidad de otra manera que con pruebas

de campo extensivas. Las pruebas analíticas tradicionales son imposibles de obtener

para un enfoque donde no se usa metodología analítica o no se sigue un modelo

matemático.

Las tres tecnologías principales de la computación cognoscitiva son:

1. Tecnologías Difusas (fuzzy).

2. Tecnologías Neuronales.

3. Tecnologías Genéticas.

7

Page 8: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Las tres derivan su generalidad de la interpolación de soluciones a problemas

desconocidos a partir de las soluciones a problemas que les son familiares.

1.4 Manejo del Conocimiento

1.4.1 Con Lógica BinariaCon el advenimiento de las computadoras digitales, se creó toda una ciencia para el

manejo de información mediante secuencias de ceros y unos. Esta forma de

representación utiliza la lógica binaria como base para el almacenamiento y

recuperación de información.[5]

Para el manejo del conocimiento se utiliza un lenguaje simbólico. Estos

símbolos se combinan mediante reglas y a partir de éstas pueden modelarse

sistemas complejos, Por ejemplo, los sistemas expertos en inteligencia artificial. La

principal desventaja de esta representación del conocimiento es que se necesitan

demasiadas reglas para poder representar fielmente un sistema del mundo real,

Básicamente porque hay una relación de uno a uno, Es decir, para un caso particular

del sistema del mundo debe existir una regla en el sistema experto.

1.4.2 Con Lógica Difusa¿Qué es la Lógica Difusa?

Método de razonamiento de maquina similar al pensamiento humano, que puede

procesar información incompleta o incierta, característico de muchos sistemas

expertos.

La Lógica Difusa, es una lógica matemática basada en la teoría de conjuntos

que posibilita imitar el comportamiento de la lógica humana.[6]

8

Page 9: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

La Lógica Difusa (llamada también Lógica Borrosa por otros autores) o Fuzzy

Logic es básicamente una lógica con múltiples valores, que permite definir valores en

las áreas oscuras entre las evaluaciones convencionales de la lógica precisa: Si/No,

Cierto/Falso, Blanco/Negro, etc. Se considera un súper conjunto de la Lógica

Booleana. Con la Lógica Difusa, las proposiciones pueden ser representadas con

grados de certeza o falsedad. La lógica tradicional de las computadoras opera con

ecuaciones muy precisas y dos respuestas: Si o no, uno o cero.

La lógica difusa se utiliza para representar la información imprecisa, ambigua, o

vaga. Se utiliza para realizar operaciones en los conceptos que están fuera de las

definiciones de la lógica booleana. Un tipo de lógica que reconoce valores

verdaderos y falsos más que simples. Con lógica difusa, los subconjuntos se pueden

representar con grados de la verdad y de la falsedad. Por ejemplo, la declaración, es

hoy soleado, pudo ser el 100% verdad si no hay nubes, 80% verdad si hay algunas

nubes, 50% verdad si esta nublado y 0% verdad si llueve todo el día.

CONJUNTOS DIFUSOSLotfi Asker Zadeh en 1965 definió el concepto de conjunto difuso, basándose en la

idea de que existen conjuntos en los que no está claramente determinado si un

elemento pertenece o no al conjunto. A veces, un elemento pertenece al conjunto

con cierto grado, llamado grado de pertenencia. Por ejemplo, el conjunto de las

personas que son altas es un conjunto difuso, pues no está claro el límite de altura

que establece a partir de qué medida una persona es alta o no lo es. Ese límite es

difuso y, por tanto, el conjunto que delimita también lo será. Un conjunto difuso A

sobre un universo de discurso U (ordenado) es un conjunto de pares dado por:

Donde, µ es la llamada función de pertenencia y µA (u) es el grado de

pertenencia del elemento u al conjunto difuso A. Este grado oscila entre los extremos

9

Page 10: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

0 y 1, µA (u) = 0, indica que u no pertenece en absoluto al conjunto difuso A,

µA(u)=1, indica que u pertenece totalmente al conjunto difuso A.

Formalmente un conjunto difuso es una función del conjunto A, llamado

dominio, al intervalo [0,1]:

µ: A à [0,1]

El conjunto de valores de A para las cuales µ > 0 es llamado el soporte de µ.

Para cualquier elemento a Є A, µ(a) es el grado de membrecía de a en A se

representa gráficamente mediante la función de membresía.

OPERACIONES ENTRE CONJUNTOS BORROSOSLas cuatro operaciones básicas definidas sobre los conjuntos clásicos (complemento,

intersección, unión y subconjunto) pueden ser generalizadas a los conjuntos

borrosos. Dentro la teoría de los conjuntos borrosos tiene especial relevancia la que

hace uso de operaciones conocidas como operaciones estándar, definidas como:

1) Complemento:

2) Intersección:

3) Unión:

4) Subconjunto:

10

Page 11: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

FUNCIÓN DE MEMBRESÍALa función de membresía también llamada función de inclusión se da de tal modo

que el grado con el que un elemento pertenece al conjunto difuso A. Cuando el

elemento no pertenece al conjunto, y si pertenece totalmente.

A continuación se presentan las funciones de membresía más comunes:

Función LAMBDA o triangularUna función de pertenencia triangular se determina a través de tres parámetros (a, b,

c) de la siguiente manera:

Los parámetros a, b, c determinan los tres ángulos de la función de pertenencia

triangular.

En la figura 1.2 se muestra la función triangular.

1

X – a para x ≤ a

b – a para a < x ≤ b

µ(x)=

c – x para b< x ≤ c

c – b para c ≤ x

0

Fig. 1.2 Función triangular.

Ejemplo de la función triangular

Se desea saber si una persona es adolecente, joven o adulta de acuerdo a lo

siguiente:

a = 15 Adolescentes b = 25 jóvenes c = 35 Adultos

11

Page 12: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Donde: x puede ser cualquier valor a evaluar.

x = 18

Aplicando la función triangular

Triangular (18, 15, 25, 35) = (18-15) / (25-15) = 3/10 = 0.33

El resultado 0.33 indica que la persona es adolescente.

Función PI o trapezoidalLa función de pertenencia trapezoidal se determina por cuatro parámetros (a, b, c, d)

de la siguiente manera:

Los parámetros (a, b, c, d) determinan las coordenadas de los cuatro ángulos

de la función de pertenencia trapezoidal.

En la figura 1.3 se muestra la función trapezoidal.

1

X – a para x ≤ a

b – a para a < x ≤ b

µ(x) = 1 para b < x ≤ c

x – d para c < x ≤ d

c – d para x ≤ d

0Fig. 1.3 Función trapezoidal.

Ejemplo de la función trapezoidal

Se desea saber si la calificacion de un alumno es:

a = 70 aceptable b = 80 bien

c = 90 muy bien d = 100 exelente

12

Page 13: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Donde: x Puede ser cualquier valor a evaluar.

X= 100

Aplicando la funcion trapezoidal

Trapezoidal (100, 70, 80, 90, 100) = (100-100) / (90-100) = 0/-10 = 0

El resultado 0 indica que la calificación es: Excelente.

La representación del conocimiento mediante lógica difusa permite disminuir

drásticamente el número de reglas que se necesitan para modelar un sistema.

Mediante este enfoque, una regla difusa cubre varios casos dentro del sistema del

mundo real.

13

Page 14: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

14

Page 15: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En esta unidad se definirá un sistema basado en conocimiento también llamado

sistema experto, para proseguir con las fases del ciclo de vida del sistema basado en

conocimiento y arquitectura del mismo, y a continuación concluir con el análisis de

viabilidad que son las diferentes alternativas que se deben tomar en cuenta antes de

diseñar un sistema basado en conocimiento.

2.1 Definición de Sistema Basado en Conocimiento (SBC)

Un Sistema basado en conocimiento (SBC) es un sistema computacional que

adquiere conocimiento especializado en un campo específico para explotarlo

mediante métodos de razonamiento que emulan el desempeño del experto humano

en la solución de problemas.[7]

Generalmente un sistema basado en conocimiento puede comprender:

Amplio conocimiento específico a partir del campo de interés.

Aplicación de técnicas de búsqueda y heurísticas.

Habilidad para inferir nuevos conocimientos a partir de los actuales y de las

experiencias obtenidas durante su operación.

Procesamiento simbólico.

Capacidad para explicar su propio razonamiento.

Empleo de diversas técnicas de solución de problemas.

Para comprender la naturaleza de un sistema basado en conocimiento,

supongamos que tenemos a una persona competente en un área determinada del

conocimiento que cuenta con un largo periodo de preparación y practica a

comparación con otra persona no especializada como se ilustra en la figura 2.1.

15

Page 16: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Actividad Experto No experto

Tiempo de resolución de problemas de su área Grande PequeñoEficacia Alta BajaOrganización Alta BajaPosee estrategias y tácticas Si NoBúsqueda de soluciones Heurística No heurísticaCálculos aproximados Si No

Figura. 2.1 Comparación de una persona experta y una no experta.

Dicho de otra manera un SBC es un sistema computarizado capaz de resolver

problemas en el dominio en el cual posee conocimiento específico.

2.2 Estructura del Ciclo de Vida de los (SBC)

A continuación se mencionan las nueve fases del ciclo de vida de de los sistemas

basados en conocimiento.[8]

1. Análisis del Problema: Evaluar el problema y los recursos disponibles para

determinar la aplicabilidad de una solución basada en conocimiento. Se debe

realizar un análisis costo - beneficio del SBC propuesto para saber si su

desarrollo puede ser garantizado.

2. Especificación de Requerimientos: Formalizar y poner por escrito lo que fue

adquirido durante la fase de análisis. Esto permite determinar los objetivos del

proyecto, idealmente, de una manera inequívoca y establece los medios para

obtener dichos objetivos.

3. Diseño Preliminar: Esta etapa considera únicamente las decisiones de alto

nivel necesarias para preparar y desarrollar rápidamente el prototipo inicial.

Específicamente, esta etapa determina el paradigma de representación del

conocimiento, la herramienta elegida para construir el prototipo, y la selección

de los expertos.

16

Page 17: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

4. Prototipo Inicial y Evaluación: Esta es una etapa clave debido a que todas

las decisiones tomadas en el diseño preliminar deben ser ya sea confirmadas,

rectificadas o desechadas, sobre la base del conocimiento recopilado de los

expertos en el proceso hasta completar esta etapa.

5. Diseño Final: comprende la selección de las herramientas y de los recursos

necesarios para desarrollar el sistema a ser entregado. En muchos casos

puede ser aplicable y muy útil realizar una descripción gráfica de los diferentes

módulos del sistema, empleando las herramientas CASE propias de los

sistemas de software convencionales.

6. Implementación: comprende el proceso completo de adquisición del

conocimiento para todos los módulos o subsistemas. Es en esta etapa que

tiene lugar el desarrollo incremental.

7. Pruebas: El asegurar la calidad de un SBC es una tarea muy importante que

debe ser cuidadosamente planificada, especialmente a medida que el SBC es

más grande y complejo, o es de aplicación crítica. El plan de pruebas, es

bastante similar al que se prepara para un sistema convencional, basándose

en la validación y la verificación.

8. Ajustes al Diseño: A medida que el trabajo avanza y los ingenieros

cognoscitivos tienen a la vista los problemas detectados, deben realizar los

ajustes necesarios al inicio de cada iteración. Si estos ajustes cada vez son

relativamente más pequeños y no son retroactivos, se tiene una buena medida

de que se está progresando. Pero si ocurre lo contrario, puede representar un

serio retardo al proyecto y posiblemente requerir un cambio de paradigma.

9. Instalación, Implantación y Mantenimiento: En la etapa final del ciclo de

vida de un SBC se traslada el sistema desarrollado, como un producto

operativo hacia el entorno de los usuarios. Para ello, se deben realizar varias

actividades de instalación, implantación y mantenimiento similares a las de un

sistema de software convencional.

17

Page 18: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En la figura 2.2 se muestra el ciclo de vida de los SBC.

Fig. 2.2 Proceso de los SBC.

2.3 Arquitectura de los SBC

Los Sistemas Expertos emplean una amplia variedad de arquitecturas específicas a

las aplicaciones, sin embargo, se puede generalizar un módulo de componentes que

normalmente se deben integrar en cualquier ámbito, cuyos elementos se ilustran en

la Figura 2.3.[7]

18

Requerimientos del usuario

Feedback del usuario

Elicitación Especificación Validación

Usuario

Dominio del

Problema

Modelos a validar por el usuario

ConocimientoModelos de

requerimientos

Conocimiento del dominio

Conocimiento del dominio

Necesidad de más conocimiento

Resultados de la validación

Page 19: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 2.3 Arquitectura general de los componentes de un Sistema Experto.

EL USUARIOEl usuario de un Sistema Experto puede operar la aplicación en cualquiera de las

siguientes modalidades:

Verificador: Intenta comprobar la validez del desempeño del sistema.

Tutor: Brinda información adicional al sistema o modifica el conocimiento que

ya esta presente en el sistema.

Alumno: Busca rápidamente desarrollar habilidad personal relacionada con el

área específica mediante la recuperación de conocimientos organizados y

condensados del sistema.

Cliente: Aprovecha la pericia del sistema en el desempeño de tareas

específicas.

El reconocimiento de las caracterizaciones anteriores contrasta con la

percepción de un simple papel (el cliente) de los sistemas de información

tradicionales.

INTERFAZ HOMBRE-MÁQUINAEs el subsistema responsable de:

19

Page 20: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Interactuar con el usuario: Inicia, desarrolla, suspende, reanuda y concluye la

sesión.

Establecer el protocolo de dialogo: Mediante parámetros, menus, iconos,

Lenguaje natural o cualquier otro medio de expansión, como el reconocimiento

de voz y sensores y servomecanismos que operan en tiempo real.

Explicar el comportamiento del sistema: Debe ser capaz de argumentar las

razones por las que formula cierta pregunta, hace un razonamiento y llega a

una conclusión específica.

Este componente puede ser un sistema completo en si mismo, con sus propias

base de conocimiento, motores de inferencias y áreas de trabajo.

MÁQUINA DE INFERENCIAConocida como Motor, se encarga de:

Representar los mecanismos de solución: Son los procedimientos que

identifican y resuelven el problema, además de evaluar las alternativas de

solución.

Implementar los criterios de búsqueda: Conforme a la naturaleza del

problema, diseña búsqueda ciegas, heurísticas o aplica métodos más ad-hoc,

como agenda, alfa-beta y pizarrón.

Fundamentar la inferencia: Congruente al tipo de conocimiento representado

en la "base de conocimientos" establece el método de inferencia

correspondiente; por ejemplo; al emplear reglas de predicados entonces hará

uso de la resolución unificación.

El motor es considerado el núcleo del sistema experto donde descansa la parte

“procedural”.

BASE DE CONOCIMIENTOSConstituye el acervo de conocimiento especializado del Sistema Experto. Consta de:

20

Page 21: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

El formalismo para representar conocimiento: Emplea una o varias técnicas

que permiten caracterizar y organizar conocimiento específico; por ejemplo;

"frames", "redes semánticas" y "scripts".

Un administrador: Responsable del almacenamiento, recuperación y

actualización en las estructuras de representación correspondientes.

Servicio: Es el mecanismo encargado de responder a las demandas de

acceso a elementos específicos de conocimiento (reglas, hechos, objetos,

etc.) efectuados por el motor de inferencia y el modulo de aprendizaje.

MECANISMO DE APRENDIZAJEEs el módulo responsable de adquirir nuevo conocimiento y actualizar el existente,

alterando a los subsistemas:

Base de conocimientos: Modifica las declaraciones de conocimiento, agrega

nuevas, verifica la consistencia entre ellas resolviendo los conflictos.

Máquina de Inferencia: Puede cambiar los mecanismos de inferencia, depurar

las heurísticas y métodos de búsqueda, en aras de hacer más eficiente la

solución de problemas, aprovechando la experiencia en la solución de

problemas semejantes.

Interfase Hombre-Máquina: Entre más refinado sea el conocimiento y los

mecanismos de inferencia, más eficiente deberá ser la comunicación con el

usuario. También sufrirán alteración los argumentos de "explicación".

Inclusive, se puede "personalizar" el lenguaje en función al usuario y

problema, como fruto de las sesiones previas.

BASE DE DATOSEs el depósito de conocimiento complementario a la "base de conocimientos" que

por su naturaleza, representación y manipulación se concibe como dato o

información.

El empleo que se deriva de este módulo es:

Almacenamiento de datos: Todos aquellos elementos del dominio de

conocimiento del sistema experto, los específicos al problema y los

21

Page 22: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

particulares del usuario pueden registrarse en archivos o tablas

convencionales.

Administración: Ofrece los servicios de inserción, acceso, actualización y

borrado de datos, seguridad, integridad, confiabilidad, respaldo, restauración y

monitoreo de la información.

Normalmente el Sistema Experto debe tener una interfaz con el software

especializado en la administración de archivos o bases de datos, tales como los

"engine" de los RDBMS ("Sistemas Manejadores de Bases de Datos Relacionales").

MEMORIA DE TRABAJOEs el depósito de almacenamiento del código, conocimiento y resultado de las

inferencias que se genera a lo largo de la sesión. Donde se desarrolla la solución del

problema. En esta área se realiza:

La representación de "espacio de estados": Que corresponda a la búsqueda

de la solución.

La administración de la red o estructura de conocimientos: Que se empleé

para representar a los estados iníciales, intermedios y finales del problema.

Normalmente la "memoria de trabajo" se implementa en la "memoria principal"

del ordenador con el posible respaldo del almacenamiento secundario.

2.4 Análisis de Viabilidad

ESPECIFICACIÓN DE UN SBCPara la especificación del sistema SBC seguiremos el siguiente esquema: [9]

Definición del problema Análisis de alternativas

o Alternativa 1

22

Page 23: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

o Alternativa 2

o Alternativa 3

Análisis de viabilidado Alternativa 1

o Alternativa 2

o Alternativa 3

Especificación del sistema elegidoo Definición del sistema y asignación de funciones

o Restricciones

o Diagramas de arquitectura

o Planificación

DEFINICIÓN DEL PROBLEMAEl sistema que queremos desarrollar es la consulta y venta de entradas de

espectáculos. Se pretende que el usuario terminal pueda consultar los espectáculos

disponibles, pudiendo elegir, ciudad, recinto, sesión, y en su caso, el asiento que

desee.

Una vez realizada esta elección el usuario podrá comprar las entradas,

mediante diferentes formas de pago que son: tarjeta de crédito y dinero en efectivo.

ANÁLISIS DE ALTERNATIVASEn este campo como en muchos otros, tenemos varias alternativas, que van desde

un sistema “rudimentario”, pasando por un sistema mixto hombre-máquina, hasta

una alta tecnología con un sistema completamente automatizado:

Alternativa 1La primera alternativa es un sistema manual, en el que un operario dispone de:

Listados con los espectáculos, ciudades, recintos, sesiones, foro y precios.

Mapas de los recintos donde los asientos sean numerados.

23

Page 24: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Con esta información el operario deberá proporcionar al cliente la información

que necesite, mostrando el mapa del recinto si es necesario para que el cliente

escoja sus asientos. Una vez que el cliente ya ha escogido, el operario se encargará

de darle sus entradas y cobrarle. El operario deberá tomar nota de las entradas que

se vayan vendiendo para no revender un asiento ya vendido, o sobrepasar el foro

destinado a un espectáculo.

Alternativa 2La segunda alternativa es una mezcla de hombre-máquina. Ahora el operario no

tendrá que hacer todo el trabajo de forma manual, sino que dispondrá de un software

que le ayudará en su tarea. Este software le va a permitir:

Consultar los espectáculos en una base de datos diseñada a tal efecto.

Tener en la base de datos mapas con los recintos, pudiendo escoger asientos

seleccionándolos con el ratón de forma fácil y rápida.

Vender entradas automáticamente sin preocuparse de cuántas o cuáles vendió.

El software internamente gestionará todos estos movimientos indicando, en su caso

que no quedan entradas, e impidiendo la reventa de entradas.

Alternativa 3La tercera opción sería informatizar el sistema hasta convertirlo automatizado en su

totalidad, para ello se suprimiría el factor humano (el personaje del dependiente). La

idea sería tener una serie de terminales donde el público, de una manera amigable e

intuitiva, podría seleccionar un espectáculo en su ciudad, observar dónde se llevará a

cabo la puesta en escena, elegir la zona y asiento que deseen, y efectuar la compra,

así como el pago; este último con diversas opciones.

24

Page 25: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

ANÁLISIS DE VIABILIDADAlternativa 1Viabilidad técnica:

Para la alternativa “manual” el riesgo del desarrollo sería mínimo, ya que no se

necesita diseñar ningún software (nivel tecnológico nulo). Habría simplemente que

contratar a la persona adecuada que llevara el cargo de dependiente.

Los recursos necesarios serían un puesto donde vender las entradas.

Viabilidad económica:

La inversión inicial sería mínima, aunque se tendría un costo de manutención que

sería el alquiler del local y el sueldo del empleado. Aunque el período de

amortización sería inmediato dado que la inversión es pequeña, los beneficios

estarán limitados por la eficiencia y capacidad de la persona que se encargara de

gestionar las ventas.

Viabilidad legal:

No existe ningún problema en este apartado, ya que es legal la venta de entradas de

espectáculos.

Alternativa 2Viabilidad técnica:

El riesgo en el desarrollo es muy bajo, dado que este tipo de sistema está muy

extendido e incluso si hubiera un fracaso en el negocio los daños económicos no

serían astronómicos, ya que la inversión inicial se limitaría aun ordenador personal y

un software de serie.

Viabilidad económica:

El costo de esta alternativa sería mayor que en la primera, pero éste también vendría

en forma de inversión inicial. Dado que no es muy grande, tendríamos una

amortización de los beneficios de aproximadamente seis meses.

25

Page 26: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Viabilidad legal:

En este aspecto no habría problema, ya que lo único que hacemos es

semiautomatizar la venta de entradas, cosa que es legal.

Alternativa 3Viabilidad técnica:

Existe cierto riesgo en el desarrollo de esta alternativa, ya que el producto final que

queremos conseguir es un sistema empotrado totalmente independiente. El

desarrollo de este sistema es complejo e implica riesgo en el desarrollo.

Por otro lado, aunque existan estos riesgos, sabemos que este sistema es

viable a nivel tecnológico. Existen muchos sistemas similares al que queremos

desarrollar, como son los puestos automáticos de películas de alquiler.

Viabilidad económica:

La inversión inicial para este proyecto es grande. Depende del número de terminales

que queramos manejar, del volumen de información y del alcance y distribución de la

red del sistema.

Esta inversión aunque en principio puede resultar grande, los beneficios son

también importantes. El uso de este sistema, hace que la función que se realice se

lleve a cabo de forma más cómoda y rápida. El periodo de amortización rondaría los

12 meses.

Viabilidad legal:

El sistema que queremos desarrollar no implica ningún problema legal, aunque si

necesitaríamos un permiso para poner los terminales en sitio público.

26

Page 27: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

ESPECIFICACIÓN DEL SISTEMAConsidérese que la tercera alternativa es la más innovadora y la que a medio plazo

puede reportar mayores beneficios.

Definición del Sistema y Asignación de FuncionesEn este sistema hay dos partes diferenciadas:

Un núcleo central, donde se encuentra la base de datos global que dará servicio a

todos los terminales, esta computadora ha de ser potente ya que debe de soportar

muchas peticiones concurrentemente sin que el tiempo de espera de los usuarios

sea mayor del esperado (características de sistema de tiempo real) y sin perder

ninguna consistencia en las diversas transacciones.

Diversas terminales, cada cual estará compuesto por un computador conectado

en red con el núcleo central, y que sus periféricos mínimos sean:

1) Pantalla de comunicación con el usuario. Aquí se mostrará toda la información

necesaria.

2) Medio de interacción con el usuario que vendrá integrado con el monitor

(pantalla táctil).

3) Impresora. Tendrá como único objetivo imprimir las entradas una vez

compradas.

4) Sistema gestor de tarjetas de crédito que deberá ser capaz de leer tarjetas de

crédito.

5) Sistema gestor de dinero en efectivo, el cual informará del dinero introducido y

será capaz de dar cambio.

6) Módem de comunicación con entidad bancaria.

RestriccionesLas restricciones generales del sistema son:

El sistema debe funcionar 24 horas al día, todos los días del año.

27

Page 28: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Si en algún momento un terminal, o el núcleo central cayera, se deberá

reanudar su correcto funcionamiento dentro de un tiempo límite marcado, que

es de 1 hora.

El sistema debe dar respuesta a cada petición dentro de un tiempo límite.

Los datos nunca pueden perder su consistencia, ya que el alcance económico

de estos sistemas es alto. Si en algún momento hay algún problema en una

transacción el sistema debe volver al estado en que se encontraba antes de

iniciar la misma. (Atomicidad en las transacciones).

Diagramas de arquitecturaDiagrama del sistema en general, indicando flujo de información y estructura del

sistema.

En la figura 2.4 se muestra un diagrama del sistema en general.

Fig. 2.4 Diagrama general.

28

USUARIO

DBA

BANCOTERMINAL

TERMINAL

USUARIO

RED TELEFONICA: AUTORIZACIONES BANCARIAS

ENVIO DE DATOS DE SESIONES…

PETICIONES

Page 29: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En el diagrama de los terminales. Se indica el nuevo flujo de información y

estructura interna.

En la figura 2.5 se muestra un diagrama de los terminales.

Fig. 2.5 Diagrama del Terminal.

29

RECEPCIÓN Y ENVIO DE DINERO

COMPUTADOR LOCAL IMPRESORAMODEM

SUB SISTEMA DE TARJETAS DE CREDITO

SUB SISTEMA GESTOR DE DINERO EN EFECTIVO

INTRODUCCIÓN DE

TARJETAS

DEV. DE DINERO

PANTALLA TACTIL

(INTERFAZ DE

USUARIO)

SALIDA DE ENTRADAS IMPRESAS

COMUNICACIÓN DE DATOS ORDENES DE

IMPRESION

GESTIÓN DE INF. BANCARIA

SALIDA DE INFORMACIÓN

ACEPTACIÓN DE TARJETAS

RECEPCIÓN Y ENVIO DE DINERO

Page 30: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

PlanificaciónPlazo:El tiempo aproximado de entrega del producto es de 10 meses, 7 meses empleados

en programación del software, adquisición y montaje de terminales; 3 meses de

integración de todas las partes y pruebas de funcionamiento.

Costo:Computador central: $ 86,653.8

Costo de cada terminal: $ 105,428.79

Costo del producto software: $ 259,961.4

Formación de personal:Es necesaria la formación de un equipo para la gestión del funcionamiento del

sistema, este equipo se encargará de todos los aspectos relacionados con la base de

datos central y de dirigir desde el computador central el funcionamiento del sistema

global. El tiempo de formación de personal es de dos meses.

Garantía:Todos los productos hardware vendrán acompañados del periodo de garantía

proporcionado por su fabricante, estipulando previamente que cada componente ha

de tener como mínimo un año de garantía. La garantía del software estará

compuesta de reparación de fallos de programación detectados a lo largo del uso; en

ningún caso entrará en la garantía modificaciones de restricciones o de propiedades

en el software que no estuvieran acordadas en el contrato. Estas modificaciones se

podrán llevar a cabo mediante otro proyecto de desarrollo.

30

Page 31: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

31

Page 32: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Se comenzará definiendo un agente inteligente, funciones básicas, características,

tipos de agentes, como debe proceder un agente para obtener un mejor desempeño,

como se estructura, procedimientos para solución de problemas, búsqueda de

soluciones, búsqueda mediante la satisfacción de restricciones y estrategias de

búsqueda.

3.1 Definición de Agente Inteligente

Un agente es todo aquello que puede considerarse que percibe su ambiente

mediante sensores y que responde a éste por medio de efectores. Los agentes

humanos tienen ojos, oídos y otros órganos que les sirven de sensores, así como

manos, piernas, boca y otras partes de su cuerpo que les sirven de efectores. En el

caso de los agentes robóticos, los sensores son sustituidos por cámaras y telémetros

infrarrojos y los efectores son reemplazados mediante motores. En el caso de un

agente de software, sus percepciones y acciones vienen a ser las cadenas de bits

codificados. En la figura 3.1 se muestra el diagrama de un agente genérico. Interesa

diseñar agentes que logren un buen desempeño en su ambiente. [10]

Fig. 3.1 Los agentes interactúan con los ambientes a través de sensores y efectores.

Características

32

Ambiente

Percepciones

Acciones

Sensores

Efectores

Agente

Page 33: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

La principal característica de los agentes inteligentes es el conocimiento que estos

poseen, ligado a la forma como lo utilizan para alcanzar las metas para la cual fueron

diseñados. [11]

Las características que posee un agente inteligente son:

Autonomía: capacidad de actuar sin intervención humana directa o de otros

agentes.

Sociabilidad: capacidad de interaccionar con otros agentes, utilizando como

medio algún lenguaje de comunicación entre agentes.

Reactividad: un agente está inmerso en un determinado entorno (hábitat), del

que percibe estímulos y ante los que debe reaccionar en un tiempo

preestablecido.

Iniciativa: un agente no sólo debe reaccionar a los cambios que se produzcan

en su entorno, sino que tiene que tener un carácter emprendedor y tomar la

iniciativa para actuar guiado por los objetivos que debe de satisfacer.

Movilidad: habilidad de trasladarse en una red de comunicación informática.

Veracidad: no comunica información falsa intencionadamente.

Benevolencia: no tiene objetivos contradictorios y siempre intenta realizar la

tarea que se le solicita.

Racionalidad: tiene unos objetivos específicos y siempre intenta llevarlos a

cabo.

En el esqueleto de un agente, cada vez que así se solicite, se actualiza la memoria

para que refleje la nueva percepción, se elige la mejor acción y también se consigna

en la memoria la acción emprendida.

Función ESQUELETO-AGENTE (percepción) responde con una acción Estática: memoria (la memoria del mundo del agente) Memoria ACTUALIZACION-MEMORIA (memoria, percepción)

Acción ELEGIR-LA-MEJOR-ACCION (memoria)Memoria ACTUALIZACION-MEMORIA (memoria, acción)Responde con una acción

33

Page 34: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Tipos de agentes

Agentes de reflejo simple: Este tipo de agente no contiene internamente

estados y sus procesos o acciones que realiza son respuestas a la entrada de

percepciones, a esta conexión entre percepciones y acciones se les denomina

reglas de condición-acción. Ejemplo: Si el carro de adelante está frenando

entonces empiece a frenar.[12]

En la figura 3.2 se muestra un agente de reflejo simple.

Fig. 3.2 Agente de reflejo simple.

Un agente de reflejo simple actúa encontrando una regla cuya condición

coincida con la situación actual (definida por la percepción) y efectuando la

acción que corresponda a tal regla.

Función AGENTE-REFLEJO-SIMPLE (percepción) responde con una acción

Estático: reglas, un conjunto de reglas de condición-acción

Estado ← INTERPRETAR-ENTRADA (percepción)

Regla ← REGLA-COINCIDENCIA (estado, reglas)

Acción ← REGLA-ACCION

34

¿

¿

¿Cómo es el mundo en este momento?

¿Qué acción debo emprender en este

momento?

Page 35: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Agentes bien informados de todo lo que pasa: Este tipo de agente guarda

estados internos que le sirven sin consideración para ejecutar una acción. Los

sensores no le pueden informar a la vez de todos los estados que maneja su

ambiente, es por este caso que el agente necesita actualizar algo de

información en el estado interno. Esto le permite discernir entre estados del

ambiente que genera la misma entrada de percepciones pero, sin embargo;

para cada uno de los estados se necesitan acciones distintas.

En la figura 3.3 se muestra un agente reflejo con estado interno.

Fig. 3.3 Agente reflejo con un estado interno.

Un agente reflejo con un estado interno opera encontrando una regla cuya

condición coincida con la situación actual (tal como esté definida mediante la

percepción y el estado interno almacenado) y luego procede a efectuar la

acción que corresponda a tal regla.

Función AGENTE-REFLEJO-CON-ESTADO (percepción) responde con una acción

Estático: estado: una descripción prevaleciente del estado del conjunto de reglas

condición-acción

Estado ← ACTUALIZAR-ESTADO (estado-percepción)

Regla ← REGLA-COINCIDENCIA (estado, reglas)

Acción ← REGLA-ACCIÓN [regla]

Estado ← ACTUALIZAR-ESTADO (estado-acción)

35

¿

¿Cómo evoluciona el mundo?

¿Qué producen mis acciones?

¿Cómo es el mundo en este momento?

¿Cómo es el mundo en este momento?

Page 36: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Responder con una acción

Agentes basados en metas: Además de los estados, los agentes necesitan

cierto tipo de información sobre sus metas. Estas metas van a detallar las

situaciones a las que se desea llegar, de este modo, el programa de agente

puede combinar las metas con la información de los resultados (acciones) que

emprenda y de esta manera poder elegir aquellas acciones que le permitan

alcanzar la meta.

En la figura 3.4 se muestra un agente con metas explicitas.

Fig. 3.4 Agente con metas explicitas.

Agentes basados en utilidad: Las metas por sí solas garantizan la obtención

de una conducta de alta calidad. En el programa de agente se podría tener un

conjunto de metas pero la obtención de éstas no garantizan que haya un

cambio de estado que puede ser de felicidad o infelicidad, mediante una

medida de desempeño se podría establecer una comparación entre los

diversos estados del mundo (ambientes) para poder encontrar el estado de

felicidad para el agente. Este estado ofrecerá una mayor utilidad al agente.

36

¿

¿Cómo evoluciona el mundo?

¿Qué producen mis acciones?

¿Cómo es el mundo en este momento?

¿Qué sucedería si emprendo la acción A?

¿Qué acción debo emprender en este

momento?

Page 37: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En la figura 3.5 se muestra un agente completo basado en la utilidad.

Fig. 3.5 Agente completo basado en la utilidad.

Elementos que caracterizan a un agente:

Percepciones posibles.

Acciones posibles.

Medida de desempeño u objetivos que debe lograr.

Tipo de entorno en el que va a operar.

3.2 Como Debe Proceder un Agente Inteligente

Un agente racional es aquel que hace lo correcto. Obviamente, se refiere a que en

un primer intento de aproximación, el agente realice lo correcto y así poder obtener el

mejor desempeño. Ahora será necesario decidir cómo y cuándo evaluar ese buen

desempeño del agente.[10]

El término medición del desempeño se aplica al cómo: es el criterio que sirve

para definir qué tan exitoso ha sido un agente. Desde luego que no existe una

medida fija que se pueda aplicar por igual a todos los agentes. Podríamos

preguntarle al agente su opinión subjetiva de cuándo le satisface a él mismo su

37

¿Cómo evoluciona el mundo?

¿Qué producen mis acciones?

¿Cómo es el mundo en este momento?

¿Qué sucedería si emprendo la acion A?

¿Qué tan a gusto me encontraré en tal estado?

¿Qué acción debo emprender ahora?

Page 38: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

desempeño, sin embargo, algunos de ellos no estarían en posibilidad de responder y

otros, simplemente eludirán responder, en particular los agentes humanos se

caracterizan por responder que “las uvas están verdes” para justificar el no haber

obtenido lo que originalmente deseaban. Por lo anterior hay que insistir en la

necesidad de contar con una medición objetiva del desempeño, medida que deberá

ser propuesta por una autoridad. En otras palabras, nosotros, en cuanto a

observadores externos, definimos la norma de lo que se considera un desempeño

satisfactorio en un ambiente y emplearlo en la medición del desempeño de los

agentes.

Un ejemplo sería el caso de un agente al que se le encomienda limpiar con una

aspiradora un piso sucio. Una posible medida de su desempeño sería la cantidad de

mugre eliminada en un turno de ocho horas. Una medida más elaborada consistiría

correlacionar la cantidad de electricidad consumida y la cantidad de ruido generado.

Una tercera, otorgaría la máxima calificación a un agente que no sólo limpie

silenciosa y eficientemente el piso, sino que también se le diera tiempo para ir a

velear el fin de semana.

El cuándo evaluar el desempeño es importante también. Si sólo se mide cuanta

mugre eliminó un agente durante la primera hora del día, aquellos agentes que

empiezan a trabajar rápidamente, (no obstante que posteriormente realicen poco o

ningún trabajo) resultarían premiados, en tanto aquellos que no laboran todo el turno

de manera consistente resultarían castigados, es decir, lo importante es medir el

desempeño a largo plazo, sea éste un turno de ocho horas o una vida.

Hay que dejar en claro que existe una diferencia entre racionalidad y

omnisciencia. Un agente omnisciente es aquel que sabe el resultado real que

producirán sus acciones y su conducta es congruente con ello, sin embargo, en la

realidad, no existe la omnisciencia. Considérese el siguiente ejemplo: Un día voy

caminando por los Campos Elíseos y veo que al otro lado de la calle está un antiguo

amigo. No hay tránsito en las cercanías y no llevo ninguna prisa, así que, actuando

racionalmente, empiezo a cruzar la calle. Al mismo tiempo, a una altura de 10.000

38

Page 39: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

metros se desprende la puerta de la sección de carga aérea de una aeronave de

pasajeros y antes de poder alcanzar la otra acera, quedo completamente aplastado.

¿Se consideraría como irracional el haber atravesado la calle? Es improbable que en

las notas necrológicas se afirme “Un idiota intenta atravesar la calle”. Del ejemplo

anterior se puede deducir que la racionalidad tiene más bien que ver con un éxito

esperado, tomando como base lo que se ha percibido. La decisión de atravesar la

calle fue racional dado que la gran mayoría de las veces el cruce habría tenido éxito

y no había forma de que yo hubiese previsto la caída de la puerta. Un agente que

hubiera tenido un radar para detectar puertas en caída o que estuviera dentro de una

caja de acero que lo protegiera, habría tenido más éxito, pero no por ello habría sido

más racional. No se puede culpar al agente por no haber tomado en cuenta algo que

no podía percibir.

El carácter racional de lo que se hace en un momento dado dependerá de cuatro

factores.

1. De la medida con que se avalúa el éxito logrado.

2. De todo lo que hasta ese momento haya percibido el agente. A esta historia

perceptual completa se le denomina la secuencia de percepciones.

3. El conocimiento que posea el agente acerca del medio.

4. De las acciones que el agente puede emprender.

Lo anterior lleva a definir lo que es un agente racional ideal: en todos los casos

de posibles secuencias de percepciones, un agente racional deberá emprender todas

aquellas acciones que favorezcan obtener el máximo de su medida de rendimiento,

basándose en las evidencias aportadas por la secuencia de percepciones y en todo

conocimiento incorporado en tal agente.

Es necesario examinar cuidadosamente la definición anterior. Aparentemente,

con esta definición se le permite a un agente emprender actividades definitivamente

carentes de inteligencia. Por ejemplo, si un agente no se fija en el tráfico de ambos

sentidos de una calle antes de proceder a cruzarla, su secuencia de percepciones no

39

Page 40: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

le podrá informar que un enorme camión carguero se aproxima a alta velocidad. En

apariencia la definición afirmaría que es correcto que el agente proceda a atravesar

la calle. Sin embargo, la interpretación anterior está equivocada por dos razones. La

primera es que no es racional atravesar la calle, el riesgo de hacerlo así es enorme.

Segundo, un agente racional ideal invariablemente elegiría la acción de “verificar el

tráfico” antes de lanzarse a la calle, ya que ésta verificación le permite obtener lo

mejor de su desempeño esperado. El emprender acciones con el fin de obtener

información útil es parte importante de la racionalidad.

El concepto de agente permite pensar en él como herramienta para el análisis

de sistemas, no como una caracterización absoluta en agentes y no agentes.

Tómese el caso de un reloj. Puede considerársele como un objeto inanimado, o bien,

como un agente sencillo. En cuanto a esto último todos los relojes hacen siempre lo

correcto, mueven las manecillas (o presentan los dígitos) de manera adecuada. Los

relojes son agentes degenerados dado que su secuencia de percepciones es vacía,

independientemente de lo que suceda en el exterior, las acciones del reloj no se ven

afectadas. En realidad lo anterior no es completamente cierto. Si el reloj y su

propietario partieran de viaje de California a Australia, lo adecuado sería que el reloj

se atrasara seis horas. Si nuestros relojes no hicieran lo anterior no estaríamos

molestos con ellos puesto que estamos conscientes que están actuando

racionalmente, considerando que no cuentan con un mecanismo de percepciones.

3.3 Estructura de Agentes Inteligentes

Hasta ahora se ha referido a los agentes mediante la descripción de su conducta,

aquellas acciones que se producen después de una determinada secuencia de

percepciones. Es tiempo de ver cómo funcionan las cosas desde el interior. El

cometido de la IA es el diseño de un programa de agente: una función que permita

implantar el mapeo del agente para pasar de percepciones a acciones. Se da como

40

Page 41: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

sentado que este programa se ejecutará en algún tipo de dispositivo de cómputo, al

que se denominará arquitectura. Desde luego, el programa elegido debe ser aquel

que la arquitectura acepte y pueda ejecutar. La arquitectura puede ser una

computadora sencilla o hardware especial para la ejecución de ciertas tareas, como

sería el procesamiento de imágenes de una cámara o el filtrado de señales de

entrada de audio. Podría incluir también un software que ofrezca cierto grado de

aislamiento entre la computadora y el programa de agente, lo que permitiría la

programación a un nivel superior. En general, la arquitectura pone al alcance del

programa las percepciones obtenidas mediante los sensores, lo ejecuta y alimenta al

efector con acciones elegidas por el programa conforme éstas se van generando. La

relación entre agentes, arquitectura y programas podría resumirse de la siguiente

manera.[10]

Agente = arquitectura + programa

Antes de proceder al diseño de un programa de agente, es necesario contar

con una idea bastante precisa de las posibles percepciones y acciones que

intervendrán, que metas o medidas de desempeño se supone lleve a cabo el agente,

así como el tipo de ambiente en el que el agente operará conocido como (PAMA).

Estos pueden ser muy variados. En la Tabla 3.1 se muestran los elementos básicos

que se consideran en la elección de los tipos de agente. El más famoso de los

ambientes artificiales es la prueba de Turing, caracterizado por que tanto agentes

reales como artificiales se encuentran en igualdad de condiciones, pero el ambiente

plantea tantos desafíos que resulta muy difícil para un agente de software

desempeñarse tan bien como su contraparte humana.

Tipo de agente Percepciones(P) Acciones(A) Metas(M) Ambiente(A)

Sistema paradiagnósticos

médicos

Síntomas,evidencias y

respuestas delpaciente

Preguntas,pruebas,

tratamientos

Pacientesaludable,

reducción almínimo de

costos

Paciente, hospital

Sistemas de Pixeles de Imprimir una Clasificación Imágenes

41

Page 42: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

análisisde imágenes

desatélite

intensidad y colores

variables

clasificación de

escenascorrecta

enviadas desde unsatélite en

órbita

Robot clasificador

de partes

Pixeles deintensidad variable

Recoger partes

y clasificarlasponiéndolas

enbotes

Poner laspartes en elbote que lescorresponda

Bandatransportadorasobre las que

seencuentran

laspartes

Controlador de una

refinería

Lecturas detemperatura y

presión

Abrir y cerrarválvulas,ajustar la

temperatura

Lograrpureza,

rendimientoy seguridad

máximos

Refinería

Asesoramiento

interactivo de inglés

Palabras escritas en

máquina

Ejerciciosimpresos,

sugerencias ycorrecciones

Que elestudianteobtenga la

máximacalificación

en unaprueba

Grupo deestudiantes

Tabla. 3.1 Ejemplos de diversos tipos de agentes y elementos básicos (PAMA).

3.4 Procedimientos para la Solución de Problemas

Sería conveniente ahora considerar un ambiente en particular con el fin de hacer

más concreta esta explicación relacionada con el procedimiento para la solución de

problemas. Principalmente por lo familiar que resulta y también por la enorme gama

de destrezas que entraña, se escogerá la tarea de diseño de un conductor de taxi

automatizado. Conviene aclarar que en la actualidad tal sistema está fuera del

alcance de la tecnología, y la mayoría de los componentes que existen en un taxi aun

no están automatizados en su totalidad. La tarea de conducir un automóvil, en su

42

Page 43: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

totalidad, es extremadamente ilimitada: no hay límites en cuanto a nuevas

combinaciones de circunstancias que puedan surgir (y por esta misma razón se eligió

esta actividad para la presente explicación).[10]

Habrá que considerar las percepciones, acciones, metas y ambiente que

corresponden a un taxi. En la tabla 3.2 se presentan los elementos propuestos para

un taxi.

Tipo de agente Percepciones Acciones Metas Ambiente

Conductor de taxi

Cámaras,velocímetro,

sistema satélite,global de

ubicación, sonar,micrófono

Manejo delvolante, acelerar,

frenar, hablarcon el

pasajero

Un viaje seguro,

rápido, sininfracciones,

cómodo, obtenciónmáxima deganancias

Caminos,tráfico,

peatones,clientes

Tabla. 3.2 El tipo de agente conductor de taxi.

El taxi necesita saber dónde se encuentra, quien más circula por esa vía y a

que velocidad corre. Esta información se obtiene de las percepciones que ofrecen

una o más cámaras de televisión controlables, el velocímetro y el contador de

kilómetros. A fin de tener un adecuado control del vehículo, especialmente en las

curvas, es necesario contar con un acelerómetro. También se necesita conocer el

estado mecánico del vehículo, para ello se debe contar con sensores para los

sistemas de maquinaria y eléctrico. Posiblemente se le dotaría de instrumentos con

los que no cuenta un conductor humano promedio: un sistema satélite global para

determina la ubicación (GPS, global positioning system), mediante el que se

generará información con un mapa electrónico, o sensores infrarrojos o de sonar

para detectar las distancias que los separan de otros automóviles y obstáculos.

43

Page 44: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Por último deberá estar provisto de un micrófono o de un teclado para que por

medio de éstos los pasajeros le puedan informar cuál es el destino deseado.

Las acciones que pueda producir este conductor de taxi son más o menos las

mismas que las de un conductor humano: control de la máquina mediante pedal para

combustible y control de volante y de los frenos. Además, necesitará una salida en

pantalla o sintetizador de voz que le permita contestar a los pasajeros y quizás, de

algún medio para comunicarse con otros vehículos. ¿Cuál sería la medida de

desempeño que el conductor automatizado desearía satisfacer? Entre las cualidades

deseables están las de llegar a destino correcto, reducir al mínimo el consumo de

combustible, desgaste del vehículo, tiempo de recorrido, su costo, violaciones al

reglamento de tránsito y las molestias ocasionadas a otros conductores, ofrecer el

máximo de seguridad y comodidad al pasajero y producir el máximo de ganancias,

desde luego que el logro de algunos de estos objetivos está en conflicto con el logro

de otros, por lo que será necesario implicar concesiones.

Por último, en caso de que el anterior fuese un proyecto real, sería necesario

definir qué tipo de ambiente de conducción enfrentará el taxi.

¿Operaría en calles comunes o en vías de alta velocidad?

¿Estaría en el sur de California, donde muy rara vez existe el problema de la

nieve, o en Alaska, en donde muy rara vez la nieve no es problema?

¿Se conducirá siempre a la derecha o se tendrá la flexibilidad de permitirle

también conducir a la izquierda, en caso de que se quiera operar taxi en Gran

Bretaña o en Japón? Obviamente, cuanto más restringido sea el ambiente, menos

complicado será el problema del diseño.

Es tiempo ahora de decidir cómo se construirá un programa real para implantar

el mapeo que permitirá pasar de percepciones a acciones. Nos damos cuenta de que

los diversos aspectos de conducir un auto dan pie a recordar los diversos tipos de

programas de agentes. Los cuales fueron:

1) Agentes de reflejos simples.

44

Page 45: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

2) Agentes bien informados de todo lo que pasa.

3) Agentes basados en metas.

4) Agentes basados en utilidades.

3.4.1 Búsqueda de Soluciones

Un agente inteligente puede resolver problemas considerando las diferentes

secuencias de acciones que puede realizar.

Cuando un agente exhibe este comportamiento orientado a alcanzar metas

particulares se dice que es un agente de resolución de problemas.

Este tipo de agente debe tener: una representación adecuada de su entorno, conocer

las acciones que tiene disponibles, poder razonar acerca del efecto de sus acciones

sobre el entorno. Esto lleva a un modelo de agenda en donde el estado del entorno

es discreto.

Métodos de búsqueda:

Primero en profundidad (Depth First)

Primero a lo ancho (Breadth First)

Búsqueda No-determinística

Profundización Iterativa

Búsqueda Bi-direccional

Búsqueda en árbol general

Los árboles de búsqueda son estructuras de datos que soportan las siguientes

operaciones de conjuntos dinámicos: Search (Búsqueda), Mínimum (Mínimo),

45

Page 46: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Maximum (Máximo), Predecessor (Predecesor), Successor (Sucesor), Insert

(Inserción), y Delete (Eliminación).[15]

Los árboles de búsqueda se pueden utilizar así como diccionarios y como

colas de prioridad.

Estas operaciones toman tiempo proporcional a la altura del árbol.

Raíz: Nodo correspondiente al estado inicial.

Hojas del árbol: Nodos que corresponden a estados que no tienen sucesores en el

Árbol: todavía no han sido expandidos, o lo fueron y no tienen sucesores.

Fringe: conjunto de nodos generados, más no expandidos. Es una cola.

En la figura 3.6 se muestra un árbol de búsqueda.

Fig. 3.6 Árbol de búsqueda.

Algoritmo de Árbol de búsquedafunction BusquedaArbol(problema, fringe)

fringe ←Insertar(EstadoInicial(problema), fringe)

loopif(Vacia(fringe)) return Fallanodo ← RemoverPrimero(fringe)

if(PruebaObjetivo(problema, nodo) == true)

return SOLUCION(nodo)

fringe ←InsertarNodos(Expandir(nodo, problema), fringe)

46

Page 47: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

function ExpandirNodo(nodo, problema)

sucesores ←{}

for each <acción, resultado> inEncuentreSucesor(nodo, problema)

s ← resultado

s.padre ← nodo

s.accion ← accion

s.costoCamino ←nodo.costoCamino + Costo (nodo, s)

s.profundidad ←nodo.profundidad + 1

Agregar(s, sucesores)

return sucesores

Búsqueda Informada Utiliza conocimientos propios del problema, además de la definición. [13]

Una función de evaluación, f(n), escoge los nodos con la menor evaluación,

pues esta función retorna el costo del camino hasta el objetivo.

Función heurística, h(n): costo del camino más corto del nodo n hasta el

objetivo.

En la figura 3.7 se ilustra un ejemplo de búsqueda informada de Upala hasta Limón.

47

Costos Estimados Upala 385Heredia 185San Ramón 200Sarapiquí 150San José 170Cartago 160Guápiles 100Siquirres 80Turrialba 90Limón 0

Page 48: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 3.7 Búsqueda informada.

Búsqueda primero en profundidad (Depth First)Expandir el árbol tan profundamente como sea posible, retornando a niveles

superiores cuando sea necesario.[14] En la figura 3.8 se muestra un ejemplo de la

búsqueda (Depth First).

Fig. 3.8 Búsqueda (Depth First).

Seguimiento cronológico hacia atrásSeleccionar un hijo →Convención: izquierda a derecha.

Repetidamente ir al hijo siguiente, tanto como sea posible.

Volver a las alternativas no visitadas (nivel más alto) solo cuando sea necesario.

Algoritmo búsqueda primero en profundidad:1. COLA ← camino que solo contiene la raíz;

2. WHILE COLA no vacía

48

Page 49: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

AND objetivo no alcanzado

DO remover el primer camino de la COLA;

Crear nuevos caminos (a todos los hijos);

Rechazar los nuevos caminos con ciclos;

Agregar al FRENTE de COLA los nuevos caminos;

3. IF objetivo alcanzado

THEN éxito;

ELSE falla;

Búsqueda primero en amplitud (Breadth-first)Expande el árbol capa por capa, avanzando en profundidad.[14]

Moverse hacia abajo, nivel por nivel, hasta que el objetivo sea alcanzado.

En la figura 3.9 se muestra la búsqueda (Breadth-first).

Algoritmo primero en amplitud1. COLA ← camino que solo contiene la raíz;

2. WHILE COLA no vacía

AND objetivo no alcanzado

DO remover el primer camino de la COLA;

Crear nuevos caminos (a todos los hijos);

Rechazar los caminos nuevos con ciclos;

Agregar los nuevos caminos al final de COLA;

3. IF objetivo alcanzado

THEN éxito;

ELSE falla;

49

Page 50: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 3.9 Búsqueda (Breadth-first).

Búsqueda No-determinística:Es un algoritmo que con la misma entrada ofrece muchos posibles resultados. No se

puede saber de antemano cuál será el resultado de la ejecución de un algoritmo no

determinístico.

Algoritmo búsqueda No-determinística:1. COLA ← Camino que solo contiene la raíz;

2. WHILE COLA no vacía

AND objetivo no alcanzado

DO remover el primer camino de la COLA;

Crear nuevos caminos (a todos los hijos);

Rechazar los nuevos caminos con ciclos;

Agregar los nuevos caminos en lugar de al azar en COLA;

3. IF objetivo alcanzado

THEN éxito;

ELSE falla;

Búsqueda por profundización iterativaRestringe una búsqueda depth-first a una profundidad fija.[14]

50

Page 51: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Si no se encontró ningún camino, incrementar la profundidad y recomenzar la

búsqueda.

Algoritmo profundización iterativa1. DEPTH ← <algún número natural>

COLA ← camino que solo contiene la raíz;

2. WHILE COLA no vacía

AND objetivo no alcanzado

DO remover el primer camino de la COLA;

IF el camino tiene longitud menor que DEPTH

Crear nuevos caminos(a todos los hijos);

Rechazar los nuevos caminos con ciclos;

Agregar los nuevos caminos al frente de la COLA;

3. IF objetivo alcanzado

THEN éxito;

ELSE falla;

Búsqueda bi-direccionalComputa el árbol tanto desde el nodo del comienzo como desde el nodo objetivo,

hasta que estos árboles se encuentran.[14]

Se puede describir explícitamente el estado objetivo, y cuenta con reglas para

razonamiento de búsqueda hacia adelante y hacia atrás. En la figura 3.10 se muestra

la búsqueda bi-direccional.

Algoritmo bi-direccional:1. COLA1 ← camino que solo contiene la raíz;

COLA2 ← camino que solo contiene el objetivo;

2. WHILE ambas COLA i no estén vacías

51

Page 52: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

AND COLA1 y COLA2 no compartan un estado

DO remover sus primeros caminos;

Crear sus nuevos caminos (a todos los hijos);

Rechazar sus nuevos caminos con ciclos;

Agregar sus nuevos caminos al final;

3. IF COLA1 y COLA2 comparten un estado

THEN éxito;

ELSE falla;

Fig. 3.10 Búsqueda bi-direccional.

3.4.2 Búsqueda mediante la Satisfacción de Restricciones

Búsqueda Primero en profundidad (Depth First)Este método examina el espacio buscando una trayectoria al mismo tiempo, las

ampliaciones de la trayectoria se colocan al principio de la cola, la cola no se

reordena ni se recorta. Generalmente este método no se utiliza para encontrar la

mejor trayectoria.

En el análisis de complejidad, no se toma en cuenta la detección de ciclos.

Los resultados solo se aplican “formalmente” a las variantes de los algoritmos

sin verificación de ciclos.

Búsqueda primero en amplitud (Breadth-first)

52

Page 53: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Examina el espacio buscando todas las trayectorias en paralelo, las ampliaciones de

la trayectoria se colocan al final de la cola, la cola puede ir aumentando rápidamente

en espacios con muchas trayectorias.

Depth-first: Si el espacio de búsqueda contiene ramas muy profundas sin solución,

entonces Depth-first puede desperdiciar mucho tiempo en ellas.

Breadth-first: Demanda mucha memoria.

Búsqueda No-determinísticaUn algoritmo de búsqueda no-deterministica debe decidir en cada paso de la

ejecución entre varias alternativas y agotarlas todas antes de encontrar la solución.

Algoritmo de búsqueda No-determinística:1. COLA ← camino que solo contiene la raíz;

2. WHILE COLA no vacía

AND objetivo no alcanzado

DO remover el primer camino de la COLA;

Crear nuevos caminos (a todos los hijos);

Rechazar los nuevos caminos con ciclos;

Agregar los nuevos cambios en lugar al azar en COLA;

3. IF objetivo alcanzado

THEN éxito;

ELSE falla;

Búsqueda por profundización iterativaEn la profundización iterativa se combinan las ventajas de la búsqueda preferente

por profundidad y preferente por amplitud, por lo general, la profundización iterativa

53

Page 54: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

es el método idóneo para aquellos casos cuando el espacio de búsqueda es grande

y se ignora la profundidad de la solución.

Búsqueda bi-direccionalBásicamente, es una búsqueda simultánea que avanza a partir del estado inicial,

retrocede a partir de la meta y que se detiene cuando ambas búsquedas se

encuentran en algún punto intermedio.

3.4.3 Estrategias de Búsqueda

Un problema interesante al implementar un algoritmo de búsqueda es poder devolver

el paso encontrado como solución.

Para hacer esto necesitamos darle a los nodos en la frontera alguna estructura

que conserve información.

El dato que necesitamos es el paso parcial desde la raíz a un nodo en la

frontera.

De esta manera al encontrar la meta también tendremos el paso hasta ella.

Una estructura posible seria la siguiente: Nodo (Nodof Paso, Costo_del_paso).Donde

Nodo es un nodo en el grafo

Paso es una lista de nodos desde la raíz A

Nodo sin incluirlo

Costo_del_paso es el costo total del paso

Hasta NodoAgregar un nodo al paso parcial implica ponerlo al frente de la lista.

54

Page 55: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

pbuscar(F0,[N\P]) ← se!eccionar(nodo(N, P, Q, F0, Ft), es_meta(N).

pbuscar(F0, Paso) ← Seleccionar (nodo(N, P, C), F0, F1),

Vecinos(N, Vecinos), agregar_pasos(Vecinos, nodo(Nodo, P, C), NF),

agregar_Frontera(NF, Ft, F2), pbuscar(F2, Paso).

agregar_pasos([ ], FE, [ ]).

agregar_pasos([M\ R ], nodo(N, P, CP), [nodo(M, [ N \ P ], NCP) \ FR])

Costo(N, M, C), NCP Is CP + C, agregar_pasos(R, node(N, P, CP), FR).

A partir del problema se define el grafo y la meta que se desea alcanzar.

Al definir el grafo queda definido cuales son los vecinos de un nodo dado.

Una estrategia de búsqueda define la forma en como se seleccionan elementos de la

frontera.

La forma de seleccionar el nodo a expandir la forma como agregar un nodo a la

frontera están indefinidas y al hacerlo aparecen diferentes estrategias de búsqueda.

Propiedades de estrategias de búsquedaCompletitud: garantiza encontrar la meta si esta existe o retorna falla si no existiera.

Optimalidad: garantiza encontrar siempre la "mejor" meta.

Complejidad Temporal: numero de operaciones aplicadas en la búsqueda.

Complejidad Espacial: numero de nodos almacenados durante la búsqueda.

Las estrategias son evaluadas de acuerdo a las siguientes dimensiones:

Tiempo y espacio son medidos en términos de:

B factor de ramificación máximo del árbol de búsqueda

D profundidad del nodo objetivo menos profundo

M profundidad máxima del espacio de estado (puede ser ∞)

55

Page 56: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

En esta última unidad se estudiarán los sistemas difusos incluyendo la lógica difusa

que ya se había visto con anterioridad, además de las redes neuronales que incluye

56

Page 57: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

la neurona biológica, sus antecedentes, la neurona artificial y su estructura, tipos de

redes neuronales para finalizar con algoritmos genéticos.

4.1 Sistemas Difusos

Sistema DifusoSu estructura está constituida por tres bloques principales: el de transformación de

los valores numéricos en valores de Lógica difusa; el motor de inferencia que emplea

las reglas; y el bloque de conversión de los valores de la Lógica difusa en valores

numéricos.[16]

En un sistema basado en lógica difusa se transforman los datos o valores

numéricos de la entrada al dominio de las reglas intuitivas y lingüísticas de la Lógica

Difusa (LD) para realizar el tratamiento de los mismos y después convertir los

resultados en valores numéricos para darles la representación tradicional.

En resumen, puede decirse que un sistema basado en lógica difusa actúa como

lo haría una persona que tuviera que reaccionar ante términos tan imprecisos como

“caluroso” o “rápido”.

Si al sistema se le incluye una regla que diga “Si la temperatura es calurosa se

ha de acelerar el ventilador”, se estará aplicando el principio de If/Then y el sistema

funcionará sin regirse por conceptos matemáticos precisos.

Etapas de la lógica difusaFusificación (Fuzzification)

La traducción de valores del mundo real al ambiente Fuzzy mediante el uso de

funciones de membrecía.[16]

Por ejemplo, si tenemos un paciente con fiebre, podemos plantearnos a partir

de qué temperatura empieza a tener fiebre.

57

Page 58: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Pero es más realista plantear un modelo en el que la situación de fiebre no se

restringe sólo a dos valores (hay fiebre o no hay fiebre), sino que tenemos todo un

rango de temperaturas posibles.

Por lo tanto, la primera etapa de tratamiento de un problema para la lógica

difusa consiste en modelar cada una de las entradas del sistema con curvas que den

los grados o niveles de pertenencia a los diferentes estados identificados

anteriormente (en nuestro caso, fiebre).

Inferencia Lógica. Después de realizar la Fusificación de las variables de entrada y de salida, tenemos

que establecer reglas que relacionen las entradas con las salidas. [16]

Para poder operar con los Conjuntos Difusos es necesario definir las

operaciones elementales entre ellos. Esto implica definir el modo de calcular las

funciones de pertenencia a estos conjuntos.

Sean FP (X) y FP (Y) las funciones de pertenencia correspondientes a los

conjuntos difusos X y Y. Zadeh propone:

Intersección o AND FP (X AND Y) = mínimo de (FP (X), FP (Y))

Unión u OR FP (X OR Y) = máximo de (FP (X), FP (Y))

Complemento o NOT FP (Complemento X) = 1 – FP (X)

En realidad, estas expresiones son bastante arbitrarias y podrían haberse

definido de muchas otras maneras. Esto obliga a considerar otras definiciones más

generales para las operaciones entre los Conjuntos Difusos. En la actualidad se

considera correcto definir el operador intersección mediante cualquier aplicación t-

norma y el operador unión mediante cualquier aplicación s-norma.

Defusificación (Defuzzification)

58

Page 59: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Después de computar las reglas fuzzy y evaluar las variables fuzzy, necesitaremos

trasladar estos valores nuevamente hacia el mundo real.[16]

El método más popular de defusificación es el cálculo del centro de gravedad ó

centroide, el cual retorna el centro del área bajo la curva. Al igual que en los pasos

anteriores existen más métodos de cálculo.

Por ejemplo supongamos que se desea representar con conjuntos difusos la

variable altura de una persona, en este caso el universo de discurso será el rango de

posibles valores de la altura que tenga un persona adulta, se elegirá un rango entre

140 cm y 200 cm, valores por fuera de este rango son posibles pero son muy

escasos. El universo de discurso U = [140, 200], para denominar los conjuntos

difusos se suelen trabajar con etiquetas lingüísticas similares a las que se usan de

manera coloquial por ejemplo, en la vida diaria decimos que una persona es Muy

Baja (MB), Baja (B), Mediana (M), Alta (Alta) y Muy Alta (MA).[18]

En la tabla 4.1 se muestra la etiqueta y el rango de la altura de una persona.

Tabla. 4.1 Etiqueta y rango de la altura de una persona.

En la figura 4.1 Se muestra la grafica de la altura de una persona.

59

Etiqueta Rango [min, max]MB [140,160]B [160,170]M [170,180]A [180,190]

MA [190,200]

Page 60: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.1 Altura de una persona.

4.2 Redes Neuronales

La NeuronaLa célula nerviosa es la neurona, que es la unidad funcional del sistema nervioso. [19]

El cerebro era algo totalmente desconocido hasta finales del siglo XIX gracias a

las aportaciones de Sherrington, Ramón y Cajal.

Ramón y Cajal en 1888 descubren el mecanismo de los procesos colectivos de

las células nerviosas. Sus trabajos en esta doctrina se conocen como “doctrina de la

neurona”, en la cual destaca la ley de polarización dinámica. Esta ley describe como

se propagan los impulsos nerviosos. Las dendritas captan el impulso nervioso, lo

transmiten al soma y de éste pasan al axón que a su vez lo transmite a la dendrita de

la otra neurona.[19] En la figura 4.2 se muestra los elementos de una neurona.

Clásicamente se consideran cuatro zonas funcionalmente distintas en una neurona:

1. Soma o pericarion: Es el cuerpo de la neurona y su centro metabólico.

Contiene los elementos o componentes necesarios para fabricar y empaquetar

proteínas que deben ser usadas en otras partes de la célula. La agrupación de

60

Page 61: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

retículo endoplasmático rugoso que se tiñe con colorantes básicos constituye

un elemento típico de las neuronas, los cuerpos de Nills. Las neuronas adultas

no poseen centriolos, motivo por el que no se multiplican para reemplazar las

neuronas adultas destruidas a causas de una lesión, enfermedad o

envejecimiento.

Fig. 4.2 Elementos de la neurona.

2. Dendritas: Prolongaciones citoplasmáticas que se extienden a partir del

cuerpo celular. Las dendritas y el soma constituyen la zona receptora

destinada a recibir la información de otras células nerviosas, del medio interno

o del medio externo.

3. Axón: También es una prolongación a modo de fibra de longitud muy variable

que hace contacto con otras células nerviosas. El segmento inicial del axón o

cono axónico integra las señales que recibe de la parte receptora y “decide”

las señales o potenciales de acción que ha de transmitir. Por ese motivo a

esta zona se la denomina zona propagadora o conductora.

4. El axón termina en muchas terminales axónicos, las cuales hacen contacto

con otras células nerviosas en uniones denominadas sinápsis,

transmitiéndoles la información que ellas portaban. A esta región de la

neurona se le denomina zona transmisora.

Tipos de Neurona

61

Page 62: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Las neuronas pueden clasificarse según su estructura o según su función.

1) Según su estructura: Neuronas multipolar, con varias dendritas cortas y un

axón largo. Neurona bipolar, de una sola dendrita y un axón en sitios opuestos

del soma. Neuronas monopolar, con dos largas prolongaciones que surgen

como un tallo único del soma.

2) Según su función: Neuronas sensitivas, Motoneuronas e Interneuronas.

Historia de las Redes NeuronalesSon varios los científicos que intentaron simular el funcionamiento del cerebro

humano y aplicarlo a labores de computación:

En 1943, Walter Pitts junto a Bertran Russell y Warren McCulloch intentaron

explicar el funcionamiento del cerebro humano. Por medio de una red de

células conectadas entre sí que podían ejecutar operaciones lógicas.

En 1949, Donald Hebb expuso que las redes neuronales podían aprender. Su

propuesta tenia que ver con la conductividad de la sinapsis, es decir, con las

conexiones entre neuronas. Hebb expuso que la repetida activación de una

neurona por otra a través de una sinapsis determinada, aumenta su

conductividad, y la hacía más propensa a ser activada sucesivamente,

induciendo a la formación de un circuito de neuronas estrechamente

conectadas entre sí.

Neurona ArtificialLa neurona artificial es una unidad elemental encargada de procesar un número de

entradas y producir una salida. Una neurona es una función, tiene como entradas la

salida de otras neuronas. Cada conexión de axón a dendrita tiene una fuerza que es

lo que hace la memoria de la red artificial. El núcleo es un sumatorio de las entradas

activadas y si se supera un umbral, su salida será 0 ó 1.[19]

Red Neuronal Artificial

62

Page 63: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Desde hace algunos años, algunos investigadores han estado creando modelos,

tanto en hardware como en software, que interpretan la actividad cerebral en un

esfuerzo por producir una forma de inteligencia artificial.[19]

Muchos modelos teóricos o paradigmas, datan desde los años 50's. Muchos de

ellos tenían aplicaciones limitadas en el mundo real, teniendo como consecuencia

que las Redes Neuronales Artificiales (RNA) permanecieran en la obscuridad por

décadas.

Las RNA están compuestas de un gran número de elementos de procesamiento

altamente interconectados (Neuronas) trabajando al mismo tiempo para la solución

de problemas específicos. Las RNA, tal como las personas, aprenden de la

experiencia.[21]

En cualquier caso, se trata de una nueva forma de computación que es capaz

de manejar las imprecisiones e incertidumbres que aparecen cuando se trata de

resolver problemas relacionados con el mundo real (reconocimiento de formas, toma

de decisiones, etc...), ofreciendo soluciones robustas y de fácil implementación.

Las RNA están compuestas de muchos elementos sencillos que operan en

paralelo, el diseño de la red está determinado mayormente por las conexiones entre

sus elementos. Al igual que las conexiones de las neuronas cerebrales.

Las RNA han sido entrenadas para la realización de funciones complejas en

variados campos de aplicación. Hoy en día pueden ser entrenadas para la solución

de problemas que son difíciles para sistemas computacionales comunes o para el ser

humano.

La idea de las redes neuronales fue concebida originalmente como un intento

de modelar la biofisiología del cerebro humano, esto es, entender y explicar como

funciona y opera el cerebro. La meta era crear un modelo capaz en emular el

63

Page 64: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

proceso humano de razonamiento. La mayor parte de los trabajos iníciales en redes

neuronales fue realizada por fisiólogos y no por ingenieros.

Las características de operación de las redes neuronales son las siguientes:

PesosLas RNA pueden tener factores de peso fijo o adaptable. Las que tienen pesos

adaptables emplean leyes de aprendizaje para ajustar el valor de la fuerza de una

interconexión con otras neuronas. Si las neuronas utilizan pesos fijos, entonces su

tarea deberá estar previamente definida. Los pesos serán determinados a partir de

una descripción completa del problema. Por otra parte, los pesos adaptables son

esenciales si no se conoce previamente cual deberá de ser su valor correcto. [21]

Redes de Hamming Cuando las entradas son binarias, entonces el uso de las redes de Hamming es muy

atractivo. La red de Hamming selecciona un ganador de entre los patrones

almacenados, que tienen la menor distancia de Hamming al vector de entrada. Para

los vectores bipolares (-1/1), se puede adoptar la misma definición de producto

interno introducida anteriormente.[21]

Donde la distancia de Hamming es el número de inconsistencias entre los bits

de los dos vectores. Esto prueba que, en este caso, tanto el valor del producto

interno como la distancia de Hamming darán el mismo efecto.

Redes de Aprendizaje Competitivo Una red básica de aprendizaje competitivo tiene una capa de neuronas de entrada y

una capa de neuronas de salida. Un patrón de entrada x es un simple punto en el

espacio real o binario de vectores n-dimensional. Los valores binarios (0 ó 1) de

representación local son más usados en los nodos de salida. Esto es, hay tantas

neuronas de salida como número de clases y cada nodo de salida representa una

categoría de patrones.[21]

64

Page 65: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Una red de aprendizaje competitivo está formada por una(s) red(es)

excitadora(s) hacia adelante y la(s) red(es) inhibidora(s) lateral(es). La red hacia

adelante normalmente implementa una regla de excitación de aprendizaje de Hebb.

Esta regla consiste en que cuando una neurona participa constantemente en activar

una neurona de salida, la influencia de la neurona de entrada es aumentada. La red

lateral es inhibidora por naturaleza. Esta red realiza la misión de seleccionar el

ganador, normalmente por medio de un método de aprendizaje competitivo, de entre

los que podemos reseñar el esquema de "winner-take-all"(el ganador lo toma todo).

En un circuito "winner-take-all", la neurona de salida que da el valor más alto se le

asigna el valor total (por ejemplo, 1), mientras que todas las demás se le da un valor

de 0. El circuito de "winner-take-all" se implementa por una red (digital o analógica)

MAXNET. Otro ejemplo de una red lateral son los mapas de Kohonen. Se deja que

las neuronas de salida interactúen por medio de la red lateral, con lo que el modelo

se puede entrenar para guardar cierto orden topológico.

Los procedimientos de clasificación no supervisados se basan a menudo en

algunas técnicas de clasificación, que forman grupos de patrones parecidos. Esta

técnica de clasificación es muy útil para la clasificación. Además, juega un papel muy

importante en las redes de aprendizaje competitivo. Para un procedimiento de

clasificación, es necesario definir una distancia o medida de similaridad, para evaluar

el grado de semejanza de los patrones. Alguna de estas distancias están en la

siguiente lista, y entre ellas la más común es la distancia euclídea.

1. Producto interno.

2. Distancia Euclídea con Pesos.

Redes de Aprendizaje Competitivo básicas Sin la supervisión de ningún maestro, las redes no supervisadas adaptan los pesos y

verifican los resultados únicamente a partir de los patrones de entrada. Un esquema

que se usa mucho para la adaptación de los pesos es la regla de aprendizaje

competitivo, que hace que las células compitan por el derecho a responder por ellas

mismas por un determinado tipo de entrada. Esto se puede ver como un sistema muy

65

Page 66: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

sofisticado de clasificación, cuyo objetivo es dividir un conjunto de patrones de

entrada en un número de clases tal que los patrones de la misma clase exhiben un

cierto grado de similaridad. Las reglas de entrenamiento suelen ser la regla de Hebb

(Esta regla puede interpretarse matemáticamente teniendo en cuenta que si dos

neuronas en cualquier lado de la sinápsis son activadas simultáneamente, la longitud

de la sinápsis se incrementará como se muestra en la figura 4.3 correspondiente a

un asociador lineal, se ve como la salida a, es determinada por el vector de entrada

p) para la red de propagación y la regla de "winner-take-all" (WTA) para la red lateral.

Fig. 4.3 Asociador lineal.

(4.1)

Puede notarse como la conexión (sinápsis) entre la entrada p j y la salida ai es el

peso wij. De esta forma el postulado de Hebb implica que si un valor positivo p j

produce un valor positivo ai, el valor de wij debe incrementarse.[20]

(4.2)

Donde:

pjq: j-ésimo elemento del q-ésimo vector de entrada pq.

66

W

Entrada Capa Lineal

R a= purelin(Wp)

Pntrada

nntrada

a

Sx1SxR

Rx1 Sx1

Page 67: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

aiq : i-ésimo elemento de salida de la red, cuando el q-ésimo vector de entrada es

presentado.

α : es la tasa de aprendizaje, la cual es un valor positivo constante.

Modelo básico de Aprendizaje Un sistema de este tipo consiste en redes laterales y de propagación hacia adelante

con un número fijo de nodos de salida, esto es, un número fijo de clases. Los nodos

de entrada y salida tienen valores binarios únicamente cuando y sólo cuando los dos,

la entrada i-ésima y la salida j están activadas.

Reglas de entrenamiento basadas en pesos normalizados Con el fin de asegurar un ambiente de competición equitativo, las suma de todos los

pesos que van a dar las neuronas de salida deben estar normalizados.

Entonces, si una unidad gana la competencia, cada una de sus líneas de

entrada cede una proporción g de su peso, y la i (entrada) distribuye entradas iguales

entre las líneas de entrada activas.

Una característica importante de esta regla de entrenamiento es que la

normalización es incorporada en el momento de la actualización, de forma que la

suma de los pesos sinápticos a cualquier salida es 1.

Reglas de aprendizaje para "Leaky Learning" (aprendizaje débil) Con el fin de prever la existencia de neuronas que no aprenden en totalidad, se usa

el aprendizaje débil. Puesto que una neurona solo aprende si gana en algún

momento, es posible que una célula nunca gane, y por lo tanto nunca aprenda. Una

forma de solucionar este problema es que todos los pesos de la red intervengan en

el entrenamiento con distintos niveles de aprendizaje.[21]

67

Page 68: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Redes Neuronales Basadas en la Decisión En una red neuronal basada en la decisión (DBNN), el maestro sólo dice si la

clasificación ha sido correcta para cada patrón de entrenamiento. El maestro es un

conjunto de símbolos, que etiqueta la clase correcta para cada patrón de entrada. El

objetivo del entrenamiento es encontrar el conjunto de pesos que nos da la

clasificación correcta. En la fase de prueba, el objetivo es determinar a qué clase

pertenece un patrón, basado en el ganador de los valores de salida. Los valores de

salida es una función de los valores de entrada y los pesos de la red, a esta función

se la llama función discriminante. [21]

Fijémonos primero en el problema de la clasificación binaria, donde el patrón de

entrada se divide en dos regiones. Cada clase ocupa su propia región, la frontera

entre las dos regiones está definida como la hipersuperficie en la que las dos

funciones discriminantes tienen los mismos resultados.

Esta es la función discriminante de la subred. De forma similar, la segunda

subred tiene una función discriminante. La clasificación se decide en función de los

valores de las funciones discriminantes. Concretamente, si el patrón de la función

discriminante es clasificado como "F", de lo contrario el otro patrón de la función

discriminante se clasifica como "M". El maestro en esta figura muestra la clase

correcta para cada patrón de entrenamiento, M o F. En la DBNN, no hay ninguna

necesidad para entrenar si se hace una decisión correcta. Si la decisión es

incorrecta, entonces los pesos tendrán que ser actualizados. Una vez que la red

completa la fase de entrenamiento, la red esta lista para su uso en la fase de prueba.

Realiza la clasificación de patrones basada en las funciones discriminantes

entrenadas.

Separabilidad lineal Dos clases de patrones son linealmente separables si pueden ser separados por un

límite de decisión que sea un hiperplano lineal.

68

Page 69: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Clases no separables Es común el hecho de que patrones de distintas clases se intercambien en el límite

de la región de decisión, y para solucionar esta situación, es conveniente usar un

límite de decisión no lineal.

PRINCIPIOS Tipos de aprendizaje El aprendizaje de una red se puede producir de tres formas:[21]

1. El primero ocurre cuando se le proporciona a la red tanto la entrada como la

salida correcta, y la red ajusta sus pesos tratando de minimizar el error de su

salida calculada. Este tipo de entrenamiento se aplica por ejemplo, en el

reconocimiento de patrones.

2. El entrenamiento no supervisado se presenta cuando a la red se le

proporcionan únicamente los estímulos, y la red ajusta sus interconexiones

basándose únicamente es sus estímulos y la salida de la propia red. Las leyes

de aprendizaje determinan como la red ajustará sus pesos utilizando una

función de error o algún otro criterio. La ley de aprendizaje adecuada se

determina en base a la naturaleza del problema que se intenta resolver.

3. Aprendizaje auto supervisado: la propia red corrige los errores en la

interpretación empleando una realimentación.

Dos fases de operación Las RNA adaptables tienen dos fases en su operación.[21]

1. Entrenamiento de la red. El usuario proporciona a la red un número

“adecuado” de estímulos de entrada, y de salida, la red entonces ajusta su

pesos de interconexión o sinapsis hasta que la salida de la red esta “lo

suficientemente cerca” de la salida correcta.

2. Recuperación de lo aprendido. A la red se le presenta un conjunto de

estímulos de entrada y esta simplemente calcula su salida. Cuando la red

emplea entrenamiento no supervisado, algunas veces será necesario que

reajuste su sinapsis durante la fase de recuperación.

69

Page 70: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

No son algorítmicas La gran diferencia del empleo de las redes neuronales en relación con otras

aplicaciones de la computación radica en que no son algorítmicas, esto significa que

no se programan haciéndoles seguir una secuencia predefinida de instrucciones. Las

RNA generan ellas mismas sus propias “reglas”, para asociar la respuesta a su

entrada; es decir, aprende por ejemplos y de sus propios errores.

El conocimiento de una RNA se encuentra en la función de activación utilizada y

en los valores de sus pesos.

Asociar y generalizar sin reglas como en el cerebro humano Las redes neuronales formadas por los perceptrones se interconectan en forma muy

similar a como las neuronas humanas se disponen en la corteza cerebral humana, y

lo más importante, son capaces de asociar y generalizar sin reglas. Han sido

utilizadas con gran éxito para reconocer retornos de sonar bajo el agua, escritura a

mano, voz, topografía de terrenos, controlar brazos de robots, evaluar datos

personales, modelar fenómenos cognoscitivos, y, predecir tendencias financieras.

Requieren de algún tipo de patrón La clase de problemas que mejor se resuelven con las redes neuronales son los

mismos que el ser humano resuelve mejor: Asociación, evaluación y reconocimiento

de patrones. Las redes neuronales son perfectas para problemas que son muy

difíciles de calcular pero que no requieren de respuestas perfectas, sólo respuestas

rápidas y buenas. Tal y como acontece con el escenario bursátil en el que se quiere

saber ¿Compro?, ¿Vendo?, ¿Mantengo?, o en el reconocimiento cuando se desea

saber ¿Se parece? ¿Es el mismo pero tienen una ligera modificación?

Por otra parte, las redes neuronales son muy malas para cálculos precisos,

procesamiento serie, y no son capaces de reconocer nada que no tenga

inherentemente algún tipo de patrón. Es por esto, que no pueden, predecir la lotería,

por definición un proceso al azar.

70

Page 71: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Existen varias formas de hacer las conexiones en una RNA, así como existen

varias formas de conectar neuronas biológicas en el cerebro. Cada tipo sirve para

diferentes procesos, el elegir la correcta topología y sus características, es

imprescindible para lograr fácilmente la solución del problema.

MODELOS El modelo de McCulloch-PittsUno de los primeros modelos matemáticos de una neurona fue el propuesto por

McCulloch y Pitts en 1943 y es en el que se basan las redes neuronales actuales.[21]

La cantidad calculada como la suma del producto de cada entrada multiplicada

por su respectivo peso se denomina activación de la neurona, x j. La salida, Sj, de la

neurona es una función de la activación de ésta. Es decir:

(4.3)

(4.4)

Donde el término Qj es un valor «umbral», y f (xj) es una función de la activación

de la neurona.

Por ejemplo, en una de las primeras arquitecturas neuronales, el «Perceptron», se

utiliza la siguiente función de salida:

(4.5)

(4.6)

Donde la constante h se denomina umbral. Esta es una función de salida de

tipo binaria, y existen otras de tipo lineal puro, lineal con umbral, y sigmoidea, entre

otras.

En este modelo tan sencillo puede verse que la activación de la neurona

depende del valor que tomen los pesos y las entradas, de forma que la variación de

éstos originan distintas salidas para la misma entrada a la neurona. En la práctica,

los pesos de las neuronas se modifican sometiendo a la red a un entrenamiento,

permitiendo que la red realice una función determinada. Esta es la característica que

71

Page 72: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

diferencia a una red neuronal de una máquina algorítmica clásica: una red neuronal

no se programa, se «educa». La red es capaz de retener y asociar el conocimiento a

través de la adaptación de los pesos de las neuronas siguiendo una regla de

aprendizaje.

Estas reglas son ecuaciones expresadas en función de las entradas y salidas

de las neuronas y describen la forma de variación de los pesos. En definitiva, son el

instrumento empleado por las neuronas para adaptarse a la información que se le

presenta.

Topologías de RNA Perceptron

Backpropagation

Hopfield

Kohonen

RED PERCEPTRON Antecedentes En 1943, Warren McCulloc y Walter Pitts originaron el primer modelo de operación

neuronal, el cual fue mejorado en sus aspectos biológicos por Donald Hebb en 1948.

En 1962 Bernard Widrow propuso la regla de aprendizaje Widrow-Hoff, y Frank

Rosenblatt desarrolló una prueba de convergencia, y definió el rango de problemas

para los que su algoritmo aseguraba una solución. El propuso los “Perceptrons”

como herramienta computacional.[21]

En la figura 4.4 se presenta la topología perceptron.

72

Page 73: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.4 Topología perceptron.

Este modelo se conoce como perceptrón de McCulloch-Pitts, y es la base de la

mayor parte de las arquitecturas de las RNA que se interconectan entre sí. Las

neuronas emplean funciones de activación diferentes según la aplicación, algunas

veces son funciones lineales, otras funciones sigmoidales y otras funciones de

umbral de disparo. La eficiencia sináptica se representa por factores de peso de

interconexión wij, desde la neurona i, hasta la neurona j.

Los pesos pueden ser positivos (excitación) o negativos (inhibición). Los pesos

junto con las funciones f (z) dictan la operación de la red neuronal. Normalmente las

funciones no se modifican de tal forma que el estado de la red neuronal depende del

valor de los factores de peso (sinápsis) que se aplica a los estímulos de la neurona.

En un perceptrón, cada entrada es multiplicada por el peso W correspondiente,

y los resultados son sumados, siendo evaluados contra el valor de umbral, si el

resultado es mayor al mismo, el perceptrón se activa.

Limitantes El perceptrón es capaz tan sólo de resolver funciones definidas por un hiperplano

(objeto de dimensión N-1 contenida en un espacio de dimensión N), que corte un

73

Page 74: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

espacio de dimensión N. Un ejemplo de una función que no puede ser resuelta es el

operador lógico XOR.

Una explicación más sencilla de un hiperplano sería, hablando en un plano de

dos dimensiones, una línea que separa a los elementos existentes en dos grupos. El

perceptrón sólo puede resolver una función si todos los posibles resultados del

problema pueden separarse de ésta forma (en dos secciones), es decir, que no se

combinen entre sí.

Tipos de perceptrón El Perceptrón básico de dos capas (entrada con neuronas lineales, analógicas, y la

de salida con función de activación de tipo escalón, digital) solo pude establecer dos

regiones separadas por una frontera lineal en el espacio de patrones de entrada,

donde se tendría un hiperplano.

Un Perceptrón con tres niveles de neuronas puede formar cualquier región

convexa en este espacio. Las regiones convexas se forman mediante la intelección

entre las regiones formadas por cada neurona de la segunda capa, cada uno de

estos elementos se comporta como un Perceptrón simple, activándose su salida para

los patrones de un lado del hiperplano.

Un Perceptrón con cuatro capas puede generar regiones de decisión

arbitrariamente complejas. El proceso de separación en clases que se lleva a cabo

consiste en la partición de la región deseada en pequeños hipercubos. Cada

hipercubo requiere 2n neuronas en la segunda capa (siendo n el número de entradas

a la red), una por cada lado del hipercubo, y otra en la tercera capa, que lleva a cabo

el AND lógico de la salida de los nodos del nivel anterior. La salida de los nodos de

este tercer nivel se activará solo para las entradas de cada hipercubo. Los

hipercubos se asignan a la región de decisión adecuada mediante la conexión de la

salida de cada nodo del tercer nivel solo con la neurona de salida (cuarta capa)

correspondiente a la región de decisión en la que esté comprendido el hipercubo

74

Page 75: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

llevándose a cabo una operación lógica Or en cada nodo de salida. Este

procedimiento se puede generalizar de manera que la forma de las regiones

convexas sea arbitraria, en lugar de hipercubos.

En teoría, el Perceptrón de 4 capas puede resolver una gran variedad de

problemas cuyas entradas sean analógicas, la salida sea digital y sea linealmente

separable. El problema práctico radica en el numero de neuronas, en el número

idóneo de capas ocultas, la extensión de la función de activación, el tiempo de

entrenamiento de la red, las implicaciones en la generación de ruido (al tener un

numero excesivo de neuronas) en contraparte con la ventaja de tener un sistema

tolerante a fallas al tener un número de neuronas redundante.

Aplicaciones del Perceptrón El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples

decisiones y reconocimiento de patrones. Por ejemplo, se puede entrenar una red

para formar el tiempo pasado de los verbos en ingles, leer texto en ingles y

manuscrito. El Perceptrón multicapa (MLP) puede ser usado para la predicción de

una serie de datos en el tiempo; ha tenido éxito en la medición de la demanda de

gas y electricidad, además de la predicción de cambios en el valor de los

instrumentos financieros, predicción de mercados financieros, diagnósticos médicos.

El Perceptrón como una red codificadora, aprende a sumar números enteros.

NETtalk es un Perceptrón que es capaz de transformar texto en inglés en

sonido individual (representaciones fonéticas) y la pronunciación con la utilización de

un sintetizador de voz; cuenta con aproximadamente 300 nodos de neuronas (siendo

80 en la capa escondida) y 20,000 conexiones individuales.

El perceptrón sólo es el ejemplo más elemental de una red neuronal, de hecho,

no puede siquiera ser considerado una "red", puesto que no intervienen otros

elementos. Si se combinan varios perceptrones en una "capa", y los estímulos de

entrada después se suman tendremos ya una red neuronal.

75

Page 76: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

RED BACKPROPAGATION Una red neuronal muy eficaz para resolver fundamentalmente problemas de

reconocimiento de patrones es la red neuronal de propagación hacia atrás, en inglés

backpropagation network.[21]

En la figura 4.5 se ilustra la topología backpropagation.

Fig. 4.5 Topología backpropagation.

En esta red, se interconectan varias unidades de procesamiento en capas, las

neuronas de cada capa no se interconectan entre sí. Sin embargo, cada neurona de

una capa proporciona una entrada a cada una de las neuronas de la siguiente capa,

esto es, cada neurona transmitirá su señal de salida a cada neurona de la capa

siguiente. La figura 4.5 muestra un ejemplo esquemático de la arquitectura de este

tipo de redes neuronales.

76

Page 77: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

RED HOPFIELD Las redes de Hopfield son redes de adaptación probabilística, recurrentes.

Funcionalmente entrarían en la categoría de las memorias auto asociativas, es decir,

que aprenden a reconstruir los patrones de entrada que memorizaron durante el

entrenamiento. Son arquitecturas de una capa con interconexión total, funciones de

activación booleana de umbral (cada unidad puede tomar dos estados, 0 o 1,

dependiendo de si la estimulación total recibida supera determinado umbral),

adaptación probabilística de la activación de las unidades, conexiones recurrentes y

simétricas, y regla de aprendizaje no supervisado. Mientras que las redes en

cascada (no recurrentes) dan soluciones estables, los modelos recurrentes dan

soluciones inestables (dinámicas), lo que no siempre es aconsejable.[21]

La principal aportación de Hopfield consistió precisamente en conseguir que

tales redes recurrentes fueran así mismo estables. Hopfield imaginó un sistema físico

capaz de operar como una memoria auto asociativa, que almacenara información y

fuera capaz de recuperarla aunque la misma se hubiera deteriorado.

La Red de Hopfield es recurrente y completamente conectada. Funciona como

una memoria asociativa no lineal que puede almacenar internamente patrones

presentados de forma incompleta o con ruido. De esta forma puede ser usada como

una herramienta de optimización. El estado de cada neurona puede ser actualizado

un número indefinido de veces, independientemente del resto de las neuronas de la

red pero en paralelo.

Boltzmann En la Máquina de Boltzmann, generalización de la red de Hopfield que incluye

unidades ocultas, la operación de actualización se basa en un concepto de

termodinámica estadística conocido como "simulated annealing". La red de Hopfield,

la máquina de Boltzmann y un derivado conocido como la máquina del teorema de

campo medio se han utilizado en aplicaciones de segmentación y restauración de

imágenes y optimización combinacional.

77

Page 78: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Características La red de Hopfield consiste en un conjunto de N elementos de procesado

interconectadas que actualizan sus valores de activación de forma asíncrona e

independiente del resto de las elementos de procesado. Todos los elementos son a

la vez de entrada y salida. Los valores de activación son binarios.

Funcionamiento A cada estado de la red se le puede atribuir una cierta cantidad de energía, el

sistema evoluciona tratando de disminuir la energía mediante un proceso de

relajación, hasta alcanzar un mínimo (valle) donde se estabiliza. Los mínimos de

energía se corresponden con los recuerdos almacenados durante el aprendizaje de

la red.

Ante la presentación de un estímulo nuevo se obtendrá una configuración inicial

más o menos parecida a alguno de los estímulos almacenados, el sistema

evolucionará hasta caer en una configuración estable que representa el recuerdo

asociado a ese estímulo. Si la configuración inicial discrepa mucho de los recuerdos

almacenados podemos alcanzar algún mínimo que no se corresponde a ningún

recuerdo almacenado, recuperando en ese caso una información espuria, o

podríamos no alcanzar ningún mínimo, quedando inestable: en ese caso diríamos

que la red está "confundida", no es capaz de reconocer el estímulo, no recuerda.

Una tercera posibilidad es que al cabo de unos pasos de evolución empiece a

repetir periódicamente una secuencia definida de estados; con esta dinámica se han

modelado ciertas excitaciones nerviosas que regulan acciones rítmicas y repetitivas;

y se ha tratado de reproducir la memoria de secuencias temporales, por ejemplo, el

recuerdo de melodías.

ValoraciónLas redes de Hopfield se han aplicado a campos como la percepción el

reconocimiento de imágenes y optimización de problemas, mostrando gran

78

Page 79: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

inmunidad al ruido y robustez. Incluso se han llegado a desarrollar chips específicos

para este tipo redes. El estudio de las representaciones de secuencias temporales es

un área de gran interés, con aplicaciones en reconocimiento automático de voces y

movimientos.

Hopfield ha mostrado como aplicar los mismos principios con funciones de

activación continuas como la función sigmoidal, con muy pocas modificaciones.

Pero en base a sus evidentes ventajas no están exentas de problemas:

o El número máximo de patrones no correlacionados que puede

almacenar es igual al 15% del número de neuronas de la red.

o Requieren mucho tiempo de procesamiento hasta converger a una

solución estable, lo que limita su aplicabilidad.

o Otro de los problemas achacados a las redes de Hopfield es su

tendencia a caer en mínimos locales, como en las redes de retro

propagación.

RED KOHONEN Existen evidencias que demuestran que en el cerebro existen neuronas que se

organizan en muchas zonas, de forma que las informaciones captadas del entorno a

través de los órganos sensoriales se representan internamente en forma de capas

bidimensionales. Por ejemplo, en el sistema visual se han detectado mapas del

espacio visual en zonas de córtex (capa externa del cerebro). También en el sistema

auditivo se detecta organización según la frecuencia a la que cada neurona alcanza

la mayor respuesta (organización tonotópica).[21]

Aunque en gran medida esta organización neuronal está predeterminada

genéticamente, es probable que de ella se origine mediante el aprendizaje. Esto

sugiere, por tanto, que el cerebro podría poseer la capacidad inherente de formar

mapas topológicos de las informaciones recibidas del exterior. De hecho, esta teoría

podría explicar su poder de operar con elementos semánticos: algunas áreas del

79

Page 80: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

cerebro simplemente podrían crear y ordenar neuronas especializadas o grupos con

características de alto nivel y sus combinaciones. Se trataría, en definitiva, de

construir mapas espaciales para atributos y características.

HistoriaA partir de estas ideas, T. Kohonen presentó en 1982 un sistema con un

comportamiento semejante. Se trataba de un modelo de red neuronal con capacidad

para formar mapas de características de manera similar a como ocurre en el cerebro.

El objetivo de Kohonen era demostrar que en un estímulo externo (información

de entrada) por si solo, suponiendo una estructura propia y una descripción funcional

del comportamiento de la red, era suficiente para forzar la formación de mapas.

Este modelo tiene dos variantes, denominadas LVQ (Learning Vector

Quantization) y TPM (Topology-Preserving Map) o SOM (Self-Organizating Map).

Ambas se basan en el principio de formación de mapas topológicos para establecer

características comunes entre las informaciones (vectores) de entrada a la red,

aunque difieren en las dimensiones de éstos, siendo de una sola dimensión en el

caso de LVQ, y bidimensional, e incluso tridimensional, en la red TPM.

CaracterísticasPertenece a la categoría de las redes competitivas o mapas de autoorganización, es

decir, aprendizaje no supervisado. Poseen una arquitectura de dos capas (entrada-

salida) (una sola capa de conexiones), funciones de activación lineales y flujo de

información unidireccional (son redes en cascada).

Las unidades de entrada reciben datos continuos normalizados, se normalizan

así mismo los pesos de las conexiones con la capa de salida. Tras el aprendizaje de

la red, cada patrón de entrada activará una única unidad de salida.

80

Page 81: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

El objetivo de este tipo de redes es clasificar los patrones de entrada en grupos

de características similares, de manera que cada grupo activará siempre la(s)

misma(s) salida(s). Cada grupo de entradas queda representado en los pesos de las

conexiones de la unidad de salida triunfante. La unidad de salida ganadora para cada

grupo de entradas no se conoce previamente, es necesario averiguarlo después de

entrenar a la red.

ArquitecturaEn la arquitectura de la versión original (LVQ) del modelo Kohonen no existen

conexiones hacia atrás. Se trata de una de las N neuronas de entrada y M de salida.

Cada una de las N neuronas de entrada se conecta a las M de salida a través de

conexiones hacia adelante (feedfoward).

Entre las neuronas de la capa de salida, puede decirse que existen conexiones

laterales de inhibición (peso negativo) implícitas, pues aunque no estén conectadas,

cada una de las neuronas va a tener cierta influencia sobre sus vecinas. El valor que

se asigne a los pesos de las conexiones hacia adelante entre las capas de entrada y

salida (Wji) durante el proceso de aprendizaje de la red va a depender precisamente

de esta interacción lateral.

La influencia que una neurona ejerce sobre las demás es función de la distancia

entre ellas, siendo muy pequeñas cuando están muy alejadas. Es frecuente que

dicha influencia tenga la forma de un sombrero mexicano.

Por otra parte, la versión del modelo denominado TPM (Topology Preserving

Map) trata de establecer una correspondencia entre los datos de entrada y un

espacio bidimensional de salida, creando mapas topológicos de dos dimensiones, de

tal forma que ante datos de entrada con características comunes se deben activar

neuronas situadas en próximas zonas de la capa de salida.

81

Page 82: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

AplicaciónUna vez entrenada, podemos usar a la red para clasificar patrones de entrada

similares en el espacio n-dimensional. Una clase o grupo de patrones similares

tiende a controlar una neurona específica, que representará el centro de una esfera

n-dimensional (de radio unitario, pues normalizamos los datos sobre la unidad). Esa

neurona resultará la más activada frente a los patrones más parecidos a su vector de

pesos.

Después del aprendizaje, la clasificación consiste en presentar una entrada y

seleccionar la unidad más activada. Además, el vector de pesos servirá para

reconstruir el patrón de entrada.

4.3 Algoritmos Genéticos

DefiniciónLos Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para

resolver problemas de búsqueda y optimización. Están basados en el proceso

genético de los organismos vivos. A lo largo de las generaciones, las poblaciones

evolucionan en la naturaleza de acuerdo con los principios de la selección natural y

la supervivencia de los más fuertes, postulados por Darwin. Por imitación de este

proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para

problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos

del problema depende en buena medida de una adecuada codificación de las

mismas.[23]

Un algoritmo genético consiste en una función matemática o una rutina de

software que toma como entradas a los ejemplares y retorna como salidas cuales de

ellos deben generar descendencia para la nueva generación.

Los Algoritmos Genéticos usan una analogía directa con el comportamiento

natural. Trabajan con una población de individuos, cada uno de los cuales representa

82

Page 83: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

una solución factible a un problema dado. A cada individuo se le asigna un valor ó

puntuación, relacionado con la bondad de dicha solución. En la naturaleza esto

equivaldría al grado de efectividad de un organismo para competir por unos

determinados recursos. Cuanto mayor sea la adaptación de un individuo al problema,

mayor será la probabilidad de que el mismo sea seleccionado para reproducirse,

cruzando su material genético con otro individuo seleccionado de igual forma. Este

cruce producirá nuevos individuos. Descendientes de los anteriores. Los cuales

comparten algunas de las características de sus padres. Cuanto menor sea la

adaptación de un individuo, menor será la probabilidad de que dicho individuo sea

seleccionado para la reproducción, y por tanto de que su material genético se

propague en sucesivas generaciones.

Ventajas No necesitan conocimientos específicos sobre el problema que intentan

resolver.

Operan de forma simultánea con varias soluciones, en vez de trabajar de

forma secuencial como las técnicas tradicionales.

Cuando se usan para problemas de optimización maximizar una función

objetivo resultan menos afectados por los máximos locales (falsas soluciones)

que las técnicas tradicionales.

Resulta sumamente fácil ejecutarlos en las modernas arquitecturas

masivamente paralelas.

Desventajas Usan operadores probabilísticos, en vez de los típicos operadores

determinísticos de las otras técnicas.

Pueden tardar mucho en converger, o no converger en absoluto, dependiendo

en cierta medida de los parámetros que se utilicen: tamaño de la población,

número de generaciones, etc.

Pueden converger prematuramente debido a una serie de problemas de

diversa índole.

83

Page 84: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

LimitacionesEl poder de los Algoritmos Genéticos proviene del hecho de que se trata de una

técnica robusta, y pueden tratar con éxito una gran variedad de problemas

provenientes de diferentes áreas, incluyendo aquellos en los que otros métodos

encuentran dificultades. Si bien no se garantiza que el Algoritmo Genético encuentre

la solución óptima, del problema, existe evidencia empírica de que se encuentran

soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos

de optimización combinatoria. En el caso de que existan técnicas especializadas

para resolver un determinado problema, lo más probable es que superen al Algoritmo

Genético, tanto en rapidez como en eficacia. El gran campo de aplicación de los

Algoritmos Genéticos se relaciona con aquellos problemas para los cuales no existen

técnicas especializadas. Incluso en el caso en que dichas técnicas existan, y

funcionen bien, pueden efectuarse mejoras de las mismas hibridándolas con los

Algoritmos Genéticos.[23]

Un ejemplo es el denominado Algoritmo Genético Simple, también conocido

como Algoritmo Genético Canónico; el objetivo principal de este algoritmo es mostrar

distintas extensiones y modificaciones del mismo, relativas a los operadores de

selección, cruce, mutación y reducción, así como a la hibridación del Algoritmo

Genético con otros algoritmos de búsqueda local, y a diversos modelos de

Algoritmos Genéticos Distribuidos.

El Algoritmo Genético Simple

BEGIN /* Algoritmo Genético Simple */

Generar una población inicial.

Computar la función de evaluación de cada individuo.

WHILE NOT Terminado DO BEGIN /* Producir nueva generación */

FOR Tamaño población/2 DO

84

Page 85: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

BEGIN /*Ciclo Reproductivo */

Seleccionar dos individuos de la anterior generación,

Para el cruce (probabilidad de selección proporciona a la función de evaluación

del individuo).

Cruzar con cierta probabilidad los dos.

Individuos obteniendo dos descendientes.

Mutar los dos descendientes con cierta probabilidad.

Computar la función de evaluación de los dos descendientes mutados.

Insertar los dos descendientes mutados en la nueva generación.

END IF la población ha convergido THEN Terminado:= TRUE

ENDEND

Codificación Se supone que los individuos (posibles soluciones del problema), pueden

representarse como un conjunto de parámetros (que denominaremos genes), los

cuales agrupados forman una ristra de valores (a menudo referida como

cromosoma). Si bien el alfabeto utilizado para representar los individuos no debe

necesariamente estar constituido por el (0, l), buena parte de la teoría en la que se

fundamentan los Algoritmos Genéticos utiliza dicho alfabeto. En términos biológicos,

el conjunto de parámetros representando un cromosoma particular se denomina

fenotipo. El fenotipo contiene la información requerida para construir un organismo, el

cual se refiere como genotipo. Los mismos términos se utilizan en el campo de los

Algoritmos Genéticos. La adaptación al problema de un individuo depende de la

evaluación del genotipo. Esta última puede inferirse a partir del fenotipo, es decir

puede ser computada a partir del cromosoma, usando la función de evaluación. La

función de adaptación debe ser diseñada para cada problema de manera específica.

Dado un cromosoma particular, la función de adaptación le asigna un número real,

85

Page 86: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

que se supone refleja el nivel de adaptación al problema del individuo representado

por el cromosoma.[23]

Durante la fase reproductiva se seleccionan los individuos de la población para

cruzarse y producir descendientes, que constituirán, una vez que han sido mutados,

la siguiente generación de individuos. La selección de padres se efectúa al azar

usando un procedimiento que favorezca a los individuos mejor adaptados, ya que a

cada individuo se le asigna una probabilidad de ser seleccionado que es proporcional

a su función de adaptación. Este procedimiento se dice que está basado en la ruleta

sesgada. Según dicho esquema, los individuos bien adaptados se seleccionaran

probablemente varias veces por generación, mientras que, los pobremente

adaptados al problema, no se escogerán más que de vez en cuando.

Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando

habitualmente los operadores de cruce y mutación. Las formas básicas de dichos

operadores se describen a continuación.

El operador de cruce, elige dos padres seleccionados y corta sus ristras de

cromosomas en una posición escogida al azar, para producir dos subristras iníciales

y dos subristras finales. Después se intercambian las subristras finales,

produciéndose dos nuevos cromosomas completos. Ambos descendientes heredan

genes de cada uno de los padres. Este operador se conoce como operador de cruce

basado en un punto. Habitualmente el operador de cruce no se aplica a todos. En la

figura 4.6 se muestra el operador de cruce basado en un punto.

86

Page 87: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.6 Operador de cruce basado en un punto.

A los pares de individuos que han sido seleccionados, se les aplica de manera

aleatoria, normalmente con una probabilidad comprendida entre 0.5 y 1.0. En el caso

en que el operador de cruce no se aplique, la descendencia se obtiene simplemente

duplicando los padres.

El operador de mutación se aplica a cada hijo de manera individual, y consiste

en la alteración aleatoria (normalmente con probabilidad pequeña) de cada gen

componente del cromosoma.

La Figura 4.7 muestra la mutación del quinto gen del cromosoma. Si bien puede

en principio pensarse.

Fig. 4.7 Mutación del quinto gen del cromosoma.

Extensiones y Modificaciones del Algoritmo Genético SimpleSe comenzará dando un pseudocódigo de un Algoritmo Genético Abstracto (AGA),

para, a continuación, introducir algunas variantes que se han ido proponiendo en

trabajos desarrollados en estos últimos años.[23]

Pseudocódigo del Algoritmo Genético Abstracto

BEGIN AGA

87

Page 88: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Obtener la población inicial al azar.

WHILE NOT stop DO BEGIN Seleccionar padres de la población.

Producir hijos a partir de los padres seleccionados.

Mutar los individuos hijos.

Extender la población añadiendo los hijos.

Reducir la población extendida.

ENDEND AGA

Tamaño de la poblaciónUna cuestión que uno puede plantearse es la relacionada con el tamaño idóneo de la

población. Parece intuitivo que las poblaciones pequeñas corren el riesgo de no

cubrir adecuadamente el espacio de búsqueda, mientras que el trabajar con

poblaciones de gran tamaño puede acarrear problemas relacionados con el excesivo

costo computacional.

Goldberg efectuó un estudio teórico, obteniendo como conclusión que el

tamaño óptimo de la población para ristras de longitud I, con codificación binaria,

crece exponencialmente con el tamaño de la ristra.

Este resultado traería como consecuencia que la aplicabilidad de los Algoritmos

Genéticos en problemas reales sería muy limitada, ya que resultarían no

competitivos con otros métodos de optimización combinatoria. Alander [22] (1992),

basándose en evidencia empírica sugiere que un tamaño de población comprendida

entre 1 y 21 es suficiente para atacar con éxito los problemas considerados por el.

Población inicialHabitualmente la población inicial se elige generando ristras al azar, pudiendo

contener cada gen uno de los posibles valores del alfabeto con probabilidad

88

Page 89: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

uniforme. Nos podríamos preguntar que es lo que sucedería si los individuos de la

población inicial se obtuviesen como resultado de alguna técnica heurística o de

optimización local. En los pocos trabajos que existen sobre este aspecto, se

comprueba que está inicialización no aleatoria de la población inicial, puede acelerar

la convergencia del Algoritmo Genético. Sin embargo en algunos casos la desventaja

resulta ser la prematura convergencia del algoritmo, queriendo indicar con esto la

convergencia hacia óptimos locales.

Función objetivoDos aspectos que resultan cruciales en el comportamiento de los Algoritmos

Genéticos son la determinación de una adecuada función de adaptación o función

objetivo, así como la codificación utilizada.

Lo que interesa es construir funciones objetivo con "ciertas regularidades", es

decir, funciones objetivo que verifiquen que para dos individuos que se encuentren

cercanos en el espacio de búsqueda, sus respectivos valores en las funciones

objetivo sean similares. Por otra parte una dificultad en el comportamiento del

Algoritmo Genético puede ser la existencia de gran cantidad de óptimos locales, así

como el hecho de que el óptimo global se encuentre muy aislado.

La regla general para construir una buena función objetivo es que ésta debe

reflejar el valor del individuo de una manera "real", pero en muchos problemas de

optimización combinatoria, donde existe gran cantidad de restricciones, buena parte

de los puntos del espacio de búsqueda representan individuos no válidos.

Para este planteamiento en el que los individuos están sometidos a

restricciones, se han propuesto varias soluciones:

Se podría denominar absolutista, en la que aquellos individuos que no

verifican las restricciones, no son considerados como tales, y se siguen

efectuando cruces y mutaciones hasta obtener individuos válidos, o bien, a

dichos individuos se les asigna una función objetivo igual a cero.

89

Page 90: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las

restricciones. Dicha reconstrucción suele llevarse a cabo por medio de un

nuevo operador que se acostumbra a denominar reparador.

Otro enfoque está basado en la penalización de la función objetivo. La idea

general consiste en dividir la función objetivo del individuo por una cantidad (la

penalización) que guarda relación con las restricciones que dicho individuo viola.

Dicha cantidad puede simplemente tener en cuenta el número de restricciones

violadas ó bien el denominado costo esperado de reconstrucción, es decir, el costo

asociado a la conversión de dicho individuo en otro que no viole ninguna restricción.

Un problema habitual en las ejecuciones de los Algoritmos Genéticos surge

debido a la velocidad con la que el algoritmo converge. En algunos casos la

convergencia es muy rápida, lo que suele denominarse convergencia prematura, en

la cual el algoritmo converge hacia óptimos locales, mientras que en otros casos el

problema es justo el contrario, es decir se produce una convergencia lenta del

algoritmo. Una posible solución a estos problemas pasa por efectuar

transformaciones en la función objetivo. El problema de la convergencia prematura,

surge a menudo cuando la selección de individuos se realiza de manera proporcional

a su función objetivo. En tal caso, pueden existir individuos con una adaptación al

problema muy superior al resto, que a medida que avanza el algoritmo "dominan" a

la población. Por medio de una transformación de la función objetivo, en este caso

una comprensión del rango de variación de la función objetivo, se pretende que

dichos "superindividuos" no lleguen a dominar a la población.

La idea de especies de organismos, ha sido imitada en el diseño de los

Algoritmos Genéticos en un método propuesto por Goldberg y Richardson, utilizando

una modificación de la función objetivo de cada individuo, de tal manera que

individuos que estén muy cercanos entre sí devalúen su función objetivo, con objeto

de que la población gane en diversidad.

Selección

90

Page 91: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

La función de selección de padres más utilizada es la denominada selección

proporcional a la función objetivo, en la cual cada individuo tiene una probabilidad de

ser seleccionado como padre que es proporcional al valor de su función objetivo.

Denotando por ( ) la probabilidad de que el individuo ( ) sea seleccionado

como padre, se tiene que esta función de selección es invariante ante un cambio de

escala, pero no ante una traslación.

(4.7)

Una de las maneras de superar el problema relacionado con la rápida convergencia

proveniente de los superindividuos, que surge al aplicar la anterior función de

selección, es el efectuar la selección proporcional al rango del individuo, con lo cual

se produce una repartición más uniforme de la probabilidad de selección, como se

ilustra en la Figura 4.8. Si denotamos por rango (g ( )) el rango de la función

objetivo del individuo ( ) cuando: Los individuos de la población han sido

ordenados de menor a mayor (es decir el peor individuo tiene rango 1, mientras que

el individuo con mejor función objetivo tiene rango lambda), y sea ( ) la

probabilidad de que el individuo ( ) sea seleccionado como padre cuando la

selección se efectúa proporcionalmente al rango del individuo, se tiene que:

(4.8)

91

Page 92: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig.4.8 Selección de padres proporcional a la función objetivo (izquierda) y proporcional al rango de la

función objetivo (derecha).

CruceEl Algoritmo Genético Canónico descrito anteriormente utiliza el cruce basado en un

punto, en el cual los dos individuos seleccionados para jugar el papel de padres, son

recombinados por medio de la selección de un punto de corte, para posteriormente

intercambiar las secciones que se encuentran a la derecha de dicho punto.

Se han investigado otros operadores de cruce, habitualmente teniendo en

cuenta más de un punto de cruce. De Jong (1975) investigó el comportamiento del

operador de cruce basado en múltiples puntos, concluyendo que el cruce basado en

dos puntos, representaba una mejora mientras que añadir más puntos de cruce no

beneficiaba el comportamiento del algoritmo. La ventaja de tener más de un punto de

cruce radica en que el espacio de búsqueda puede ser explorado más fácilmente,

siendo la principal desventaja el hecho de aumentar la probabilidad de ruptura de

buenos esquemas.

En el operador de cruce basado en dos puntos, los cromosomas (individuos)

pueden contemplarse como un circuito en el cual se efectúa la selección aleatoria de

dos puntos, tal y como se indica en la Figura 4.9.

92

Page 93: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.9 Individuo visto como un circuito.

Desde este punto de vista, el cruce basado en un punto, puede verse como un

caso particular del cruce basado en dos puntos, en el cual uno de los puntos de corte

se encuentra fijo al comienzo de la ristra que representa al individuo. Figura 4.10.

Fig. 4.10 Operador de cruce basado en dos puntos.

En el denominado operador de cruce uniforme (Syswerda) cada gen, en la

descendencia se crea copiando el correspondiente gen de uno de los dos padres,

elegido de acuerdo a una "máscara de cruce" generada aleatoriamente. Cuando

existe un 1 en la "máscara de cruce", el gen es copiado del primer padre, mientras

que cuando exista un 0 en la "máscara de cruce", el gen se copia del segundo padre,

tal y como se muestra en la Figura 4.11. En la literatura, el término operador de cruce

uniforme se relaciona con la obtención.

93

Page 94: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.11 Operador de cruce uniforme.

MutaciónLa mutación se considera un operador básico, que proporciona un pequeño elemento

de aleatoriedad en la vecindad (entorno) de los individuos de la población. Si bien se

admite que el operador de cruce es el responsable de efectuar la búsqueda a lo largo

del espacio de posibles soluciones, también parece desprenderse de los

experimentos efectuados por varios investigadores que el operador de mutación va

ganando en importancia a medida que la población de individuos va convergiendo

(Davis).[23]

Schaffer y colaboradores encuentran que el efecto del cruce en la búsqueda es

inferior al que previamente se esperaba. Utilizan la denominada evolución primitiva,

en la cual, el proceso evolutivo consta tan sólo de selección y mutación. Encuentran

que dicha evolución primitiva supera con creces a una evolución basada

exclusivamente en la selección y el cruce. Otra conclusión de su trabajo es que la

determinación del valor óptimo de la probabilidad de mutación es mucho más crucial

que el relativo a la probabilidad de cruce.

La búsqueda del valor óptimo para la probabilidad de mutación, es una cuestión

que ha sido motivo de varios trabajos. Así, De Jong recomienda la utilización de una

probabilidad de mutación del bit de (1-1), siendo l la longitud de la cadena. Schaffer y

colaboradores utilizan resultados experimentales para estimar la tasa óptima

proporcional a 1 / ( ), ( ), donde lambda denota el número de individuos en

la población.

94

Page 95: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Si bien en la mayoría de las implementaciones de Algoritmos Genéticos se

asume que tanto la probabilidad de cruce como la de mutación permanecen

constantes, algunos autores han obtenido mejores resultados experimentales

modificando la probabilidad de mutación a medida que aumenta el número de

iteraciones. Pueden consultarse los trabajos de Ackley, Bramlette, Fogarty y

Michalewicz y Janikow.

ReducciónUna vez obtenidos los individuos descendientes de una determinada población en el

tiempo t, el proceso de reducción al tamaño original, consiste en escoger lambda

individuos de entre los Lambda individuos que forman parte de la población en el

tiempo t, y los lambda individuos descendientes de los mismos. Dicho proceso se

suele hacer fundamentalmente de dos formas distintas.

O bien los lambda individuos descendientes son los que forman parte de la

población en el tiempo t + 1, es lo que se denomina reducción simple, o bien se

escogen de entre los 2 lambda individuos, los lambda individuos más adaptados al

problema, siguiendo lo que podemos denominar un criterio de reducción elitista de

grado lambda. Podemos también considerar otros procedimientos de reducción que

se colocan entre los anteriores, por ejemplo, si escogemos los ( ) mejores de entre

padres y descendientes, escogiéndose los lambda. ( ) Y restantes de entre los

descendientes no seleccionados hasta el momento.

El concepto de reducción está ligado con el de tasa de reemplazamiento

generacional, ( ) es decir en el porcentaje de hijos generados con respecto del

tamaño de la población.

Michalewicz introduce un algoritmo que denomina Algoritmo Genético

Modificado, ( ), en el cual para llevar a cabo el reemplazamiento generacional,

selecciona al azar r1 individuos para la reproducción, así como r2 individuos

(distintos de los anteriores) destinados a morir. Estas selecciones aleatorias tienen

95

Page 96: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

en consideración el valor de la función objetivo de cada individuo, de tal manera que

cuanto mayor es la función objetivo, mayor es la probabilidad de que sea

seleccionado para la reproducción, y menor es la probabilidad de que dicho individuo

fallezca. (r1 + r2) individuos son considerados como neutros y pasan directamente a

formar parte de la población en la siguiente generación.

Algoritmos Genéticos ParalelosEn este apartado se introducirán tres maneras diferentes de explotar el paralelismo

de los Algoritmos Genéticos, por medio de los denominados modelos de islas.

Modelos de islasLa idea básica consiste en dividir la población total en varias subpoblaciones en cada

una de las cuales se lleva, a cabo un Algoritmo Genético. Cada cierto número de

generaciones, se efectúa un intercambio de información entre las subpoblaciones,

proceso que se denomina migración. La introducción de la migración hace que los

modelos de islas sean capaces de explotar las diferencias entre las diversas

subpoblaciones, obteniéndose de esta manera una fuente de diversidad genética.

Cada subpoblación es una "isla", definiéndose un procedimiento por medio del cual

se mueve el material genético de una "isla" a otra. La determinación de la tasa de

migración, es un asunto de capital importancia, ya que de ella puede depender la

convergencia prematura de la búsqueda.[23]

Se pueden distinguir diferentes modelos de islas en función de la comunicación

entre las sub poblaciones. Algunas comunicaciones típicas son las siguientes:

Comunicación en estrella, en la cual existe una subpoblación que es

seleccionada como maestra (aquella que tiene mejor media en el valor de la

función objetivo), siendo las demás consideradas como esclavas. Todas las

subpoblaciones esclavas mandan sus h1 mejores individuos (h1, > 1) a la

subpoblación maestra la cual a su vez manda sus h2 mejores individuos (h2 >

1) a cada una de las subpoblaciones esclavas. Figura 4.12.

96

Page 97: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.12 Algoritmo Genético Paralelo. Modelo de Islas. Comunicación en estrella.

Comunicación en red, en la cual no existe una jerarquía entre las

subpoblaciones, mandando todas y cada una de ellas sus h3 (h3 > 1) mejores

individuos al resto de las subpoblaciones. Véase Figura 4.13.

Fig. 4.13 Algoritmo Genético Paralelo. Modelo de Islas. Comunicación en red.

Comunicación en anillo, en la cual cada subpoblación envía sus h4 mejores

individuos (h4 > 1), a una población vecina, efectuándose la migración en un

único sentido de flujo. Véase Figura 4.14.

El modelo de islas ha sido utilizado por varios autores (Whitley y Starkweather,

Gorges-Schleuter, Tanese).

97

Page 98: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Fig. 4.14 Algoritmo Genético Paralelo. Modelo de Islas. Comunicación en anillo.

Conclusión

Es cierto que los sistemas inteligentes son de mucha utilidad ya que ellos nos

permiten mejorar nuestra calidad de vida, nos facilitan el trabajo y son un gran

soporte en diferentes áreas, sin en cambio pueden surgir grandes peligros al tratar

de fabricar un sistema inteligente, los cuales debemos evitar, uno de estos peligros

es la aparición de un gran campo laboral en donde los sistemas inteligentes jugarán

un papel importante mientras que el trabajo humano tendrá poca importancia en el

cual habrá mucho tiempo libre, también puede resultar peligroso programar un robot

con su propia supervivencia y con un alto nivel de aprendizaje. Esto traería como

98

Page 99: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

consecuencia que podría pensar mucho más rápido y con más precisión que

nosotros, y utilizaría todos los recursos que tenga disponible para poder cumplir sus

metas. Para ello se puede evitar desprogramándolo y destruyéndolo en el momento

que se detecte que no esta cumpliendo con los objetivos para el que fue diseñado.

Pero en realidad el humano tiene la necesidad de desarrollar estos sistemas

inteligentes porque en la actualidad requiere de herramientas que sean muy

eficientes y que puedan cubrir todas sus necesidades. Muchos de estos sistemas

inteligentes tienen una memoria interna en donde pueden almacenar experiencias y

poseen la capacidad de aprender e interactuar en diferentes ambientes. Un sistema

para que pueda ser inteligente debe tener la capacidad de aprender, ser autónomo,

debe desarrollar su autoconciencia, además de que debe percibir y actuar, sin en

cambio no se debe descartar que un sistema depende también del los sistemas

basados en conocimiento, los sistemas difusos, el uso y aplicación de algoritmos

genéticos.

Glosario

Ad hoc: Se refiere a una solución elaborada específicamente para un problema o fin

preciso y, por tanto, no es generalizable ni utilizable para otros propósitos.

Advenimiento: Venida o llegada de un tiempo determinado o de un acontecimiento

importante.

99

Page 100: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Algoritmo genético: Consiste en una función matemática o una rutina de software

que toma como entradas a los ejemplares y retorna como salidas cuales de ellos

deben generar descendencia para la nueva generación.

Ambigüedad: En la Pragmática existe cuando una forma tiene dos o más

significados, son cosas que tienen diferentes significados.

Análogo: Un término es análogo cuando se utiliza con significados diferentes.

Sin embargo, a diferencia de los términos equívocos, estos significados además

de ser distintos mantienen entre sí una determinada conexión interna.

Autómatas: Del griego automatos que significa espontáneo o con movimiento

propio; Equipo electrónico programable en lenguaje no informático y diseñado para

controlar, en tiempo real y en ambiente industrial, procesos secuenciales.

Canónico: En matemática, indica algo que es natural, que no es arbitrario.

Cognoscitiva: Proceso en el cual un individuo es capaz de, integrar, relacionar y

modificar la información circundante.

Cognoscitivos: Que es capaz de conocer o comprender.

Converge: Hace referencia a la propiedad que poseen algunas sucesiones

numéricas de tender a un límite.

Coste: Monto económico que representa la fabricación de cualquier componente o

producto, o la prestación de cualquier servicio.

Cromosoma: Es cada uno de los pequeños cuerpos en forma de bastoncillos en que

se organiza la cromatina del núcleo celular en la mitosis y la meiosis, cada uno de los

cuales se divide longitudinalmente, dando origen a dos cadenas gemelas.

100

Page 101: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Difusos: Impreciso, borroso, poco claro.

Fenotipo: Se denomina fenotipo a la expresión del genotipo en un determinado

ambiente. Los rasgos fenotípicos incluyen rasgos tanto físicos como conductuales.

Gen: Es el conjunto de una secuencia determinada de nucleótidos de uno de los

lados de la escalera del cromosoma referenciado.

Genética: Es el campo de las ciencias biológicas que trata de comprender cómo la

herencia biológica es transmitida de una generación a la siguiente, y cómo se efectúa

el desarrollo de las características que controlan estos procesos.

Genotipo: Es el contenido genético (el genoma específico) de un individuo, en forma

de ADN. Junto con la variación ambiental que influye sobre el individuo, codifica el

fenotipo del individuo.

Heurística: Es la capacidad de un sistema para realizar de forma inmediata

innovaciones positivas para sus fines.

Holográficas: De la holografía o relativo a ella.

Inductivo: El razonamiento inductivo es una modalidad del razonamiento no

deductivo que consiste en obtener conclusiones generales a partir de premisas que

contienen datos particulares.

Lambda: (Λ λ) es la undécima letra del alfabeto griego.

Omnisciencia: Es la capacidad de saberlo todo, o de saber todo lo que se necesite

saber en un contexto determinado.

101

Page 102: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

Pseudocódigo: Es una serie de normas léxicas y gramaticales parecidas a la

mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de

estos ni a la fluidez del lenguaje coloquial.

Ristra: Es un conjunto de elementos de un mismo origen, unos a continuación de los

otros, unidos frecuentemente con una guita o cordel.

Sensor: Es un dispositivo capaz de transformar magnitudes físicas o químicas,

llamadas variables de instrumentación, en magnitudes eléctricas.

Subristras: Acordes con los patrones especificados por (Pattern y Map).

Bibliografía

[1] WIKIPEDIA la enciclopedia libre, Sistema inteligente, 15 feb 2008

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

[consulta: martes, 15 de abril 2008]

[2] Definición de Inteligencia Artificial

http://www.depi.itch.edu.mx/apacheco/ai/s_intel.htm

[Consulta: miércoles, 16 de abril 2008]

102

Page 103: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

[3] ¿Qué es Inteligencia Artificial?, Douglas Francisco Zambrano Rodríguez

http://www.monografias.com/trabajos10/intelart/intelart.shtml

[Consulta: jueves, 17 de abril 2008]

[4] iabot.tk, inteligencia artificial

http://iabot.iespana.es/ciencia/software/ia/inteligencia_artificial.htm

[Consulta: jueves, 17 de abril 2008]

[5] Instituto Tecnológico de Apizaco, Unidad II Introducción a los sistemas

inteligentes http://www.itapizaco.edu.mx/paginas/inteligentesII.htm

[Consulta: viernes, 18 de abril 2008]

[6] Inteligencia Artificial, Autor: Elaine Rich - Kevin Knight, Editorial: Juan Stumpf,

Pags: 270 – 272

http://www.dei.uc.edu.py/tai2000/logica/3.htm

[Consulta: sábado, 19 de abril 2008]

Gitaca de la Universidad de Extremadura, Conjunto difuso

http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Conjuntos_

difusos

[Consulta: sábado, 19 de abril 2008]

[7] Instituto Politécnico Nacional, Sistemas basados en Conocimiento: Una Base

para su Concepción y Desarrollo, Alejandro Peña Ayala

http://www.wolnm.org/apa/articulos/Sistemas_Basados_Conocimiento.pdf?

startMessage=1&passed_id=1495&mailbox=INBOX&ent_id=2

[Consulta: lunes 21 de abril 2008]

[8] Sistemas Basados en Conocimiento (Knowledge Based Systems) archivo .PPT,

Lic. Mario G. Oloriz, Agosto 2004 [consulta: lunes 22 de abril 2008]

103

Page 104: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

[9] Especificación de un SBC, Rocío García Ruiz, Tomás Gálvez Santaella

http://lsi.ugr.es/~ig1/docis/aluwork/INTRODUCCI%D3N.pdf

[Consulta: viernes 25 de abril 2008]

[10] Universidad Americana, Inteligencia Artificial, Prof. Rubén Báez Valiente

http://bgustavo.googlepages.com/IA-Agentes.pdf

[Consulta: lunes 28 de abril 2008]

[11] 1- Agentes Inteligentes archivo .PDF [consulta: lunes 28 de abril 2008]

[12] Tema 2 Agentes Inteligentes, Transparencias IA, M. Marcos, 1999

http://www.robot.uji.es/docencia/II28/teoria/transparencias-tema02.pdf

Estructura de Agentes Inteligentes

http://www.cruzrojaguayas.org/inteligencia/Estructura%20de%20Agentes%

20Inteligentes.htm

[Consulta: martes 29 de abril 2008]

[13] Centro de Investigaciones en Computación, Esteban Meneses, Estrategias de

búsquedas

http://www.ictcr.ac.cr/~emeneses/docencia/2007/semestreI/recursos/busquedas

IC6200.pdf [Consulta: miércoles 30 de abril 2008]

[14] Métodos Básicos de Búsqueda

http://www.unlu.edu.ar/~ogarcia/ia/doc/busqsininfo.ppt

[Consulta: jueves 1 de mayo 2008]

http://148.202.148.5/cursos/cc415/IA_3/IA_3_5.htm

http://www.cruzrojaguayas.org/inteligencia/Estrategias%20de%20b%

FAsquedas.htm

[15] Estructura de Datos y Algoritmos, Agustín J. González

http://profesores.elo.utfsm.cl/~agv/elo320/01and02/dataStructures/binary

104

Page 105: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

SearchTree.pdf

[Consulta: lunes 5 de mayo 2008]

[16] Qué es Lógica Difusa

http://medicpinos0.tripod.com/logicafussy/id19.html

[Consulta: lunes 12 de mayo 2008]

[17] Sistemas Difusos

http://ants.dif.um.es/staff/juanbot/ml/files/20022003/fuzzy.pdf

[Consulta: martes 14 de mayo 2008]

[18] Lógica Difusa, Jesús Alfonso López

http://members.tripod.com/jesus_alfonso_lopez/FuzzyIntro.html

[Consulta: lunes 19 de mayo 2008]

Conjuntos Borrosos

http://maaz.ihmc.us/servlet/SBReadResourceServlet?rid=1194893687312_

418632548_3873

[Consulta: lunes 19 de mayo 2008]

[19] Gitaca de la Universidad de Extremadura, Redes neuronales

http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Red_neuronal

[Consulta: lunes 19 de mayo 2008]

[20] Facultad de Ingeniería Eléctrica de la Universidad Tecnológica de Pereira

http://ohm.utp.edu.co/neuronales/main2.htm

[Consulta: martes 20 de mayo 2008]

[21] Que es una Neurona Artificial, Gabriela Bencomo c. 127886, Soraya Díaz r.

127837, Elsy Díaz c. 126504, Ricardo Martínez c. 116894

http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina_nueva_2.htm

[Consulta: miércoles 21 de mayo 2008]

105

Page 106: Unidad 1 Introducción a los Sistemas Inteligentes · Web viewCon lógica difusa, los subconjuntos se pueden representar con grados de la verdad y de la falsedad. Por ejemplo, la

[22] University of Michigan Press, Algoritmos genéticos "Adaptation in Natural and

Artificial Systems", Holland, J.H., 1975, 211 p.

http://eddyalfaro.galeon.com/geneticos.html

[Consulta: miércoles 21 de mayo 2008]

[23] J.T. Alander (1992). On optimal population size of genetic algorithms.

Proceedings Com- pEuro 1992, Computer Systems and Software Engineering,

6th Annual European Computer Conference, 65-70.

http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf

[Consulta: lunes 26 de mayo 2008]

106