lunes, 22 de noviembre de 2010

EJERCICIO CON EL PROCESO DE POISSON

Considere un sistema con un único servidor en el cual los clientes potenciales llegan de acuerdo con un proceso Poisson con razón 4.0, un cliente potencial entrará al sistema solo si hay tres o menos clientes en el sistema al momento de su llegada. El tiempo de servicio de cada uno es exponencial con razón de 4.2; después del instante T = 8 no entran más clientes al sistema (los tiempos están dados en horas).
Realice un estudio de simulación para estimar el tiempo promedio que un cliente pasa en el sistema. Aplique el método boostrap para estimar el error cuadrático medio de su estimador.

Considere un modelo de línea de espera con un servidor, en el cual los clientes llegan de acuerdo con un proceso Poisson no homogéneo. Al llegar, entran a servicio si el servidor está desocupado o bien se forman en una fila.
Sin embargo, suponga que cada cliente solo puede permanecer formado una cantidad aleatoria de tiempo, con una distribución F, antes de salir del sistema. Sea G la distribución del servicio. Defina las variables y los eventos para analizar este modelo y dé los procedimientos de actualización. Suponga que estamos interesados en estimar el número promedio de clientes perdidos hasta el instante T; un cliente se considera perdido si se va antes de recibir servicio.




SISTEMAS BASADOS EN AGENTES

AGENTE

No existe una definición exacta para el término Agente, debido a su utilización en  diferentes áreas de las ciencias de la computación.

Un agente es un programa de software que puede realizar alguna acción definida para un usuario, con un nivel de inteligencia que le permite desarrollarla de alguna manera autónoma y que puede interactuar con su entorno.

Un agente es aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores.
Estructura de agentes inteligentes 
agente = arquitectura + programa


PROPIEDADES DE LOS AGENTES INTELIGENTES
Ø  Continuidad Temporal: El agente debe estar ejecutándose constantemente y desarrollando sus funciones, no se detiene así el usuario no este interactuando con el.
Ø  Personalidad: Tiene una personalidad creíble, bien definida, que facilita la interacción con usuarios humanos.
Ø  Autonomía: Si el agente se encuentra en un entorno cambiante es capaz de adaptarse y tomar decisiones dependiendo de su experiencia.
Ø  Sociabilidad: El agente interactúa con otros agentes e incluso con otras entidades.
Ø  Racionalidad: el agente siempre realiza “lo correcto” a partir de los datos que percibe del entorno.
Ø  Adaptatividad: Se adapta fácilmente a las indicaciones de los usuarios y a los cambios en el entorno basándose en su experiencia.
Ø  Movilidad: capacidad de un agente de trasladarse a través de una red telemática.

GENERACIONES DE LOS AGENTES INTELIGENTES


Primera generación: Estos agentes ya existen, y básicamente se basan en hacer comparaciones de precios cuando se desea realizar una compra.

Segunda Generación: Estos agentes también se pueden ver hoy en día, a diferencia de la primera generación, estos agentes aparte de comparar el precio también comparan el producto como tal.

Tercera Generación: Este tipo de agentes aun no existe, pero lo que se pretende es que hagan todo el proceso de la compra, para el usuario.


APLICACIONES DE LOS AGENTES

Dentro de las aplicaciones de agentes inteligentes se encuentran:

Ø  Banca electrónica.
Ø  Procesos de manufactura
Sistemas de Control Automático
Sistemas de planeación y administración de plantas de Producción
Ø  Sistemas de diagnósticos remotos, supervisión y control.
Ø  Comercio electrónico
Ø  Consultas a bases de datos transaccionales.
Ø  Interacción en construcción de Data Warehouses




CÓMO DEBE PROCEDER UN AGENTE 

Un agente racional es aquel que hace lo correcto. Lo correcto es aquello que le permite al agente obtener un mejor desempeño. La medición de desempeño se aplica al como: es el criterio que sirve para definir qué tan exitoso ha sido un agente. El cuándo evaluar el desempeño es importante también; el desempeño se mide a largo plazo.

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.

El carácter de racionalidad de lo que se hace en un momento dado dependerá de cuatro factores:

• De la medida con la que se evalúa el grado de éxito logrado
• De todo lo que hasta ese momento haya percibido el agente (secuencia de    percepciones)
• Del conocimiento que posea el agente acerca del medio
• De las acciones que el agente puede emprender.

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.

LAS SECUENCIAS DE PERCEPCIONES PARA ACCIONES:

Es posible caracterizar cualquier agente en particular elaborando una tabla de las acciones que éste emprende como respuesta a cualquier secuencia de percepciones posible.

El especificar que acciones deberá emprender un agente como respuesta a una determinada secuencia de percepciones constituye el diseño de un agente ideal.

No hay que crear necesariamente una tabla explícita con una entrada por cada posible secuencia de percepciones, sino que se puede definir una especificación sin tener que enumerarlo exhaustivamente.

Autonomía:

Si las acciones que emprende el agente se basan en un conocimiento integrado, con lo que hace caso omiso de sus percepciones, se dice que el agente no tiene autonomía.


Un sistema será autónomo en la medida en que su conducta está definida por su propia experiencia.


Programa de agente: es una función que permite implantar el mapeo del agente para pasar de percepciones a acciones.

Arquitectura: es algún dispositivo de cómputo, en el que se ejecutará el programa.

Los agentes pueden actuar en ambientes:

Ø  Reales
Ø  Artificiales



Es de gran interés la complejidad de la relación que existe entre:
Ø  la conducta del agente,
Ø  la secuencia de percepciones que produce el ambiente y
Ø  las metas que se espera que alcance.

PROGRAMAS DE AGENTES

El esqueleto de los agentes es siempre el mismo, es decir, la aceptación de percepciones originadas en un ambiente y la generación de acciones respectivas.

Aspectos importantes del esqueleto del programa:

Ø  El programa de agente recibe como entrada solo una percepción. Es decisión del agente construir la secuencia de percepciones en la memoria

Ø  La meta o la medición del desempeño no forma parte del programa esqueleto. La razón es que la medición del desempeño se efectúa desde afuera.

El programa del agente más sencillo, sería una tabla de consulta, en la cual se encontrarían todas las secuencias de percepciones posibles y las acciones correspondientes a dichas percepciones.

Esto estará destinado al fracaso porque:

Ø  Para elaborar algo muy sencillo, la tabla tendría dimensiones muy grandes
Ø  La elaboración de la tabla llevaría mucho tiempo al diseñador.
Ø  El agente carecería totalmente de autonomía
Ø  Aunque se dotara al agente de un mecanismo de aprendizaje, necesitaría una eternidad para actualizar la tabla.

TIPOS DE AGENTES

CLASIFICACION DE LOS AGENTES INTELIGENTES

Los agentes se clasifican según el entorno en el cual se encuentren

Ø  Agentes De Reflejo Simple: Son agentes que funcionan según un conjunto de reglas codició-acción. El agente capta el estado actual del entorno en el cual se encuentra por medio de los censores, luego busca entre las reglas cual coincide con la percepción para luego ejecutar la acción conveniente. Este agente funciona correctamente solo si se toma la decisión adecuada basándose en la percepción de ambiente en un momento dado.

Ø  Agentes Informados De Lo Que Pasa: Es un agente capas de ejecutar acciones basándose en percepciones y acciones ejecutadas anteriormente analizando el entorno no solo en el momento actual, también en momentos anteriores.

Ø  Agentes Basados En Metas: El agente debe saber las metas que se desean alcanzar, no es suficiente solo con saber el estado actual del entorno en el cual se encuentra. El agente deberá ser capaz de analizar la situación actual del entorno con las posibles acciones que se podrían ejecutar y de esta manera seleccionar la acción que más le convenga para alcanzar las metas de una manera más sencilla.

Ø  Agentes De Interfaz: Se caracteriza por su capacidad de hacer comprensible las interfaces. También denominados asistentes personales, tiene como objetivo simplificar las tareas rutinarias que realiza un usuario, por ejemplo, detectar que una noticia pueda ser importante para un usuario y comunicárselo.

Ø  Agentes Móviles: Esto quiere decir que el agente puede transitar entre varias maquinas para utilizar recursos de los cuales no dispone en su propia maquina o simplemente para evitar una sobre carga de comunicación. En este tipo es principal problema es la seguridad.

Ø  Agentes De Información: Su objetivo es recolectar información a través de la red, indexarla y ofrecérsela al usuario cuando realiza una consulta. Estos agentes han tenido gran acogida debido a las grandes cantidades de información que circulan hoy por hoy en la red.

Ø  Agentes Consejeros: Este tipo de agente da consejos al usuario referentes a una herramienta, o un sistema de diagnostico o ayuda.
Ø  Agentes De Navegación: Estos agentes son utilizados para navegar en la red, su función principal es recordar sitios y direcciones de interés para el usuario.

Ø  Agentes De Monitoreo: Estos agentes proporcionan información de manera eficaz y oportuna para el usuario, en el momento que ocurre un evento.

Ø  Agentes De Recomendación: Este agente posee una base de datos con información acerca de un tópico de interés para un grupo, al hacer las recomendaciones se basan en analogías con otros usuarios de perfil similar.



AGENTES SOFTWARE

Agentes software:   En la práctica es posible encontrar, entre otros:

Ø  Agentes móviles.
Ø  Agentes de Internet.
Ø  Agentes de interfaz y asistentes personales

Agentes móviles: Los agentes móviles son agentes con capacidad de migración.

 El agente se sitúa donde radican los datos con el fin de evitar sobrecarga de comunicación, ejecutarse en el contexto apropiado, obtener recursos de los que no se dispone.

Problemas importantes  seguridad: ¿hacen lo que dicen que hacen?, confidencialidad, autentificación, estandarización:

• MASIF: Mobile Agent System Interoperability Facility (OMG)
• FIPA ACL.

 Plataforma “Grasshopper” (Höft, Magedanz, Quantz

Agentes de Internet y mediación: Especializados en la búsqueda de información en internet, navegan por la red buscando y organizando información (robots de búsqueda), también se subscriben en estos términos los agentes de mediación (middleware),que cumplen misiones de facilitación rutadores, tablones de anuncios, Brokers, y también, de mediación para proporcionar acceso uniforme a recursos diversos, un uso posible es proporcionar acceso uniforme a bases de datos variadas.

Agentes de interfaz y asistentes personales: Son agentes flexibles que exhiben capacidades de adaptación al medio, liberan al usuario de tareas repetitivas habituales, se basan en la idea de delegación; pueden actuar por iniciativa propia en lugar del usuario; se aplican con éxito en despacho de correo electrónico, interfaces con gran cantidad de información: bolsa, salas de control, salas de emergencia, asistentes de planificación de agendas, agendas compartidas, etc.


EXPECTATIVA DE LOS AGENTES INTELIGENTES.


Hoy en día las investigaciones se centran más hacia los Agentes Inteligentes ya que cada vez las aplicaciones se hacen más avanzadas y complicadas para los usuarios.
Con los agentes lo que se busca es una ayuda que le permita al usuario desenvolverse cada vez mejor con las aplicaciones. Para analizar el futuro de los agentes se deben tener en cuenta aspectos como:

Ø  Los Computadores: Se busca que los Agentes Inteligentes cada día se han capaces de adaptarse al entorno dinámico que genera la constante evolución de los computadores y el desarrollo de Internet.

Ø  Los Usuarios: Hoy en día los Agentes solo son usados por investigadores, se espera que en un futuro no muy lejano todos los usuario de computadores utilicen agentes inteligentes ya que estos harán mas amigable y sencilla la interacción con sus PC e Internet


SISTEMAS MULTIAGENTE

El dominio del sistema multiagente o de inteligencia artificial distribuida es una ciencia y una técnica que trata con los sistemas de inteligencia artificial en red.
El bloque fundamental de construcción de un sistema multiagente, como es de esperarse, son los agentes.
En cierto modo, un sistema multiagente es un sistema distribuido en el cual los nodos o elementos son sistemas de inteligencia artificial, o bien un sistema distribuido donde la conducta combinada de dichos elementos produce un resultado en conjunto inteligente.
Características de estos agentes, vinculado con la noción de agente inteligente:

Ø  capaz de tomar la iniciativa
Ø  capaz de compartir conocimiento
Ø  capaz de cooperar y negociar
Ø  capaz de comprometerse con metas comunes
Hay que notar que los agentes no son necesariamente inteligentes. Existen como en todo el resto del dominio de la inteligencia artificial, dos enfoques para construir sistemas multiagentes:
Ø  El enfoque formal o clásico, que consiste en dotar de los agentes de la mayor inteligencia posible utilizando descripciones formales del problema a resolver y de hacer reposar el funcionamiento del sistema en tales capacidades cognitivas. Usualmente la inteligencia es definida utilizando un sistema formal (por ejemplo, sistemas de inferencia lógica) para la descripción, raciocinio, inferencia de nuevo conocimiento y planificación de acciones a realizar en el medio ambiente.
Ø  El enfoque constructivista, que persigue la idea de brindarle inteligencia al conjunto de todos los agentes, para que a través de mecanismos ingeniosamente elaborados de interacción, el sistema mismo genere comportamiento inteligente que no necesariamente estaba planeado desde un principio o definido dentro de los agentes mismos (que pueden ser realmente simples). Este tipo de conducta es habitualmente llamado comportamiento emergente.


DESARROLLO ORIENTADO A AGENTES

Como casi todo enfoque informático para la solución de problemas, los sistemas multiagentes proponen ayudas metodológicas de ingeniería del software, en este caso metodologías de ingeniería del software orientada a agentes (en inglés AOSE, Agent Oriented Software Engineering) y notaciones. Es decir, artefactos de desarrollo que son específicamente concebidos para crear sistemas basados en agentes.

ARQUITECTURA DE SISTEMAS MULTIAGENTE (MAS) En este punto lo que queremos es distribuir en muchos agentes diversas tareas para cumplir con el objetivo global de resolver un problemas, esto no es un tema simple de resolver, se tienen los mismos problemas que en la construcción de sistemas distribuidos y la complejidad que agrega la comunicación y la integración de agentes.


Para el desarrollo del software de simulación se ha definido la especificación de la arquitectura FIPA (the foundation for intelligent, physical agents), que es un estándar bastante conocido al alero de una organización sin fines de lucro, cuyo
propósito es promover el desarrollo de estándares o especificaciones genéricas para que un MAS opere en forma interna o relacionada con otro MAS, de la mejor manera y constituye un marco normativo dentro del cual los agentes pueden existir, funcionar y ser gestionados, Los principios de FIPA son:

Ø  La tecnología de Agentes proporciona un nuevo paradigma para resolver problemas.
Ø  Algunas technologies de Agentes han alcanzo un considerable grado de madurez.
Ø  Para hacer uso de la tecnología de agentes es necesario estandarizar.
Ø  La estandarización de tecnologías genéricas es posible y provee un buen resultado.
Ø  La estandarización interna de un agente no es lo principal, más bien importa la infraestructura y lenguajes abiertos para la operación entre agentes

Estas especificaciones consisten es una plataforma de agentes de software y el objetivo principal es el intercambio de mensajes con contenido semántico entre agentes, pudiendo utilizar diferentes mecanismos de transporte, lenguajes de comunicación o lenguajes de contenido, apuntando a la interoperabilidad entre agentes, e incluye mecanismos para la creación , registro, localización y transferencia de mensajes entre agentes.

El estándar define solo el comportamiento externo, esto es la interfaz y deja las decisiones de diseño interno del agente a cada equipo de desarrollo.


Dentro de las definiciones más importantes de este modelo están:

Plataforma de Agentes (AP): Proveen la infraestructura física donde los agentes de desenvuelven.

Agente: Agente será un proceso computacional.

Sistema Administrador de Agentes (AMS): Es el responsable de la gestión de la operación de un AP, realiza tareas como la creación y supresión de agentes, la supervisión de agentes, la migración hacia y desde una plataforma. Cada agente debe registrarse con en AMS con el fin de obtener un AID que luego es registrado por la AMS en un directorio con todos los agentes presentes y su estado actual

Servicio de Transporte de Mensajes (MTS): Servicio proporcionado por un AP para el transporte de mensajes entre agentes y entre AP., la comunicación entre agentes es mediante ACL (Agent Comunication Lenguaje)

Directorio de Facilidades (DF): Provee un directorio de servicios que proporcionan los agentes, se definen dos tipos de servicios:

Ø  Servicio de Directorio o Pizarra: Lugar donde los agentes registran información
Ø   Servicio de Transporte de Mensaje: Se establece un estándar de codificación, semántica y se transmiten sobre un medio de transporte.

La especificación tiene un centenar de La especificación tiene un centenar de documentos donde se incluyen especificaciones entre otras: Guía del Desarrollador, Servicio de Ontología, Gestión de Soporte de la movilidad y seguridad de agentes, interfaz hombre-agente, etc.

Otros estándares son: KQML (Knowledge Query Meta- Language).


AUTÓMATA CELULAR 

 

Se define como Autómata Celular a una herramienta computarizada de simulación de sistemas reales o imaginarios, basada en modelos biológicos, y compuesta por una estructura estática de datos y un conjunto finito de reglas que se aplican a cada elemento de la estructura. Los requisitos que deben cumplir esos sistemas para ser objeto de estudio con esta herramienta, son que posean elementos múltiples similares que interactúan unos con otros. Estos instrumentos de simulación han tenido vasta aplicación en los campos de la física, la química, la biología, estudios de dinámica de población, sistemas de transporte, entre otros.  


 ORIGEN DE  LOS AUTÓMATAS CELULARES

   
John Von Neumann, el famoso matemático húngaro-norteamericano, pionero de la computadora digital fue, en 1os años 40s, el creador del primer Autómata Celular, siguiendo sugerencias de otro famoso matemático  Stanislaw Ulam, co-inventor de la bomba de hidrógeno, y basándose en los trabajos del matemático inglés Alan Turing, creador de la Máquina de Turing.  

Se consideran tres etapas en la historia de los Autómatas Celulares:

1. Era de Von Neumann. Este matemático quien participó en el desarrollo de la primera computadora “ENIAC” quería desarrolla una máquina capaz de replicarse a sí misma (auto reproducción.  

2. Era de Martín Gardner. John Horton Conway en 1970 creó el autómata celular conocido como El Juego de la Vida, que fue publicado por Martín Gardner en la revista Scientific American. En este autómata se aplican las tres reglas de: Nacimiento, Muerte y Supervivencia

3. Era de Stephen Wolfram. Este clasificó los Autómatas Celulares unidimensionales en las siguientes clases:

    1. Clase I. Se llega a tener una configuración estable y homogénea.
    2. Clase II. Se evoluciona a un conjunto de estructuras simples estables o periódicas.
    3. Clase III. Se evoluciona a un patrón caótico.
    4. Clase IV. Se evoluciona a comportamiento complejo (ni completamente caótico ni completamente ordenado).


COMPUESTO DE UN AUTÓMATA CELULAR


Los autómatas Celulares, de acuerdo a José Daniel Muñoz Castaño, citado por Luis Fernando González Vargas , constan de los siguientes componentes: 

  • “Un plano bidimensional o un espacio n-dimensional dividido en un número de subespacios homogéneos llamados celdas. Todo esto es denominado Teselación Homogénea.
 
  • Cada celda puede estar en uno de un conjunto finito o numerable de estados.
 
  • Una Configuración C, que consiste en asignarle un estado a cada celda del autómata.
 
  • Una Vecindad definida para cada celda, la que consiste en un conjunto contiguo de celdas, indicando sus posiciones relativas respecto a la celda misma.
 
  • Una Regla de Evolución, la cual define cómo debe cada celda cambiar de estado, dependiendo del estado inmediatamente anterior de su vecindad.
 
  • Un Reloj Virtual de Cómputo conectado a cada celda del autómata, el cual generará “tics” o pulsos simultáneos a todas las celdas indicando que debe aplicarse la regla de evolución y de esta forma cada celda cambiará de estado.

Los Autómatas Celulares pueden ser lineales, en forma de planos bidimensionales o multidimensionales. 

FUNCIONAMIENTO DE UN AUTÓMATA CELULAR 
  
El funcionamiento de un Autómata celular Plano se puede resumir de la siguiente manera: 

Cada cuadrito de la rejilla, consiste en una célula del autómata, y posee cuatro células vecinas inmediatas: arriba, abajo, a la izquierda y a la derecha. El estado de cada célula depende de su estado inmediato anterior y del estado actual de sus células vecinas. El Reloj Virtual está conectado con todas las células del Autómata, que se rigen por reglas sencillas del siguiente tipo, utilizadas en “El Juego de la Vida” de Conway:
Ø  Una celda viva permanece viva sólo si en la vecindad hay 2 ó 3 celdas vivas, de lo contrario se muere.
Ø  Una celda muerta cambia a viva sólo si en la vecindad hay exactamente 3 celdas vivas, de lo contrario sigue muerta.  
 Las celdas situadas en el borde la retícula forman la frontera del Autómata. Las llamadas Condiciones de Frontera, pueden ser: 

Ø  Frontera abierta. Todas las células fuera de la rejilla (lattice), tienen un valor fijo.  

Ø  Frontera periódica. Se considera la rejilla como si sus extremos se tocaran. “En una lattice de dimensión 1, esto puede visualizarse en dos dimensiones como una circunferencia. En dimensión 2, la lattice podría visualizarse en tres dimensiones como un toroide”.

Ø  Frontera reflectora. Las células fuera de la rejilla reflejan los valores de las que están dentro de la rejilla.

Ø  Sin frontera. Aunque existe un límite a la extensión de la rejilla, debido a la memoria de la computadora, la lattice aumenta de tamaño cada vez que sus células interactúan con células fuera de la lattice.  

APLICACIONES CONOCIDAS


 En 1970, el matemático John Conway creó el Autómata Celular llamado LIFE, “El Juego de la Vida”. Este, construido en un espacio de dos dimensiones simula la existencia de diferentes formas de vida,  ha tenido una difusión notable y ha servido como punto de partida para la creación de otros Autómatas también ampliamente publicados, tales como “Evolución”: autómata simulando microbios que sobreviven comiendo bacterias; “Mayoría Alineada”, que enseña el comportamiento de la tensión superficial entre líquidos no permeables.


INTRODUCCION A LOS SISTEMAS BASADOS EN EL CONOCIMIENTO


MODULOS BASICOS DE REPRESENTACIÓN DEL CONOCIMIENTO

Dentro de esta perspectiva la representación se convierte en un componente crucial. Surgen, entonces, diversos modelos de representación del conocimiento, según sea éste del tipo declarativo o procedimental.


REPRESENTACIÓN DEL CONOCIMIENTO DECLARATIVO

El conocimiento declarativo describe los hechos y eventos que pueden ser evocados conscientemente (por ej.: un lugar o un accidente automovilístico). Este conocimiento puede ser representado por medio de listas proposicionales, de redes semánticas o de marcos ("frames").

El modelo de listas proposicionales consta de una jerarquía de proposiciones, cada una compuesta por un predicado o relación y una lista de conceptos. Este formalismo enfatiza las relaciones entre los conceptos y es especialmente útil para describir el almacenamiento de frases como "Juan quiere a María". Aprender significa, entonces, crear o suprimir proposiciones o modificar la jerarquía.

Por su parte una red semántica puede verse como un conjunto de nodos que representan los conceptos y una serie de arcos que determinan las diferentes relaciones entre los nodos (agente, objeto, etc). El aprendizaje se produce por creación de nodos o asociaciones, por modificación de la fuerza de las asociaciones o por reestructuración de la red.

Por último, el modelo de marcos o "frames" propuesto por Minsky  favorece la recuperación de la información asociada a un concepto complejo, antes que la recuperación de las relaciones entre conceptos: un marco encierra toda la información descriptiva y de comportamiento concerniente a un concepto, de manera compacta, codificada y fácilmente accesible (por ej.:la palabra: elefante nos hace evocar un marco que contiene la imagen gráfica de esta animal pero también su peso y la vegetación tropical de su habitat natural).

A partir de la idea inicial de Minsky se han desarrollado dos corrientes opuestas:

Ø  los marcos como prototipos: La primera afirma que el hombre aprende a partir de ejemplos particulares que luego generaliza; un prototipo incluye la descripción completa de un individuo particular, representativo de una categoría (por ej.: el ruiseñor es un prototipo de ave).



Ø  Los marcos como clases: En la aproximación de clases un marco es la descripción general, esquemática, de una clase; es una descripción incompleta que incluye sólo los atributos comunes a todos los individuos de esa clase. Las clases se relacionan formando una jerarquía que parte de una clase general y se va especializando (por ej: el marco ave , especialización de la clase vertebrados contiene información común a todas las aves: vuela, tiene plumas, etc.). En este esquema aprender es ubicar un nuevo conocimiento en la posición adecuada de la jerarquía.


REPRESENTACIÓN DEL CONOCIMIENTO PROCEDIMENTAL

El conocimiento procedimental se refiere a las habilidades cognitivas o motrices (por ej.: cómo conducir un carro). Por su carácter dinámico y difícilmente verbalizable, este conocimiento es más difícil de modelar. Entre las primeras tentativas de formalización se encuentra el esquema conductista de estímulo-respuesta, en el que un estímulo específico externo desencadena una acción particular observable; el aprendizaje se produce por la creación de una asociación o por la modificación de su fuerza; es un aprendizaje gradual que se logra con repeticiones sucesivas de la secuencia estímulo- respuesta.



LENGUAJES PARA LA REPRESENTACIÓN DEL CONOCIMIENTO

Existen algunos lenguajes que se han utilizado y que se siguen utilizando hoy en día en diferentes ámbitos.

LENGUAJES BASADOS EN LOGICA FORMAL

Muchos de los sistemas de representación del conocimiento de la actualidad se basan en algún tipo de lógica formal. La lógica formal aporta un buen número de ventajas para la representación del conocimiento y su manejo, partiendo de una sintaxis y semántica bien definidas que detallan perfectamente la forma de construir sentencias y razonamientos sobre ellas.

LÓGICA PROPOSICIONAL

Una proposición es una sentencia que puede decirse que es falsa o verdadera. En la lógica proposicional se asigna símbolos a cada sentencia y se utilizan operadores lógicos sobre ellos para crear proposiciones más complejas. Los símbolos utilizados son AND (), OR (), NOT (¬), IMPLIES (→ o ), y EQUIVALENCE (). Partiendo de los símbolos y utilizando los diferentes operadores se construyen proposiciones complejas, las cuales es posible obtener si son ciertas o falsas operando a partir de los valores de verdad de cada uno de los símbolos iniciales, utilizando el cálculo proposicional.
Por ejemplo la sentencia si “El libro está en casa (A) y Juan está en el trabajo (B), Juan no puede leer el libro (C)”, podría representarse como: A B → C

LÓGICA DE PRIMER ORDEN

Es una ampliación de la lógica proposicional a partir de dos operadores más, el cuantificador universal y el existencial . Utiliza también símbolos para representar conocimiento y operadores lógicos para construir sentencias más complejas, pero a diferencia de la lógica proposicional, los símbolos pueden representar constantes, variables, predicados y funciones.
Las constantes son símbolos que comienzan por minúsculas y las variables símbolos que empiezan por mayúsculas. Los predicados representan afirmaciones sobre objetos, por ejemplo, la afirmación “El libro está en casa” se representaría como un predicado de nombre in:

in(libro, casa)

Se podría reescribir el predicado de forma más general sustituyendo las constantes por variables de la forma: in(X, Y). Con él podríamos representar diferentes proposiciones como “El libro está en casa”, “El coche está en el garaje”, “Juan está en el trabajo”.
El último símbolo que queda por explicar son las funciones. Éstas permiten asociar elementos de un conjunto a un elemento de otro conjunto, por ejemplo: propietario(casa) = juan.
Con todo esto podríamos representar el mismo ejemplo que con lógica proposicional de la siguiente forma:
in(libro, casa) in(juan, trabajo) → ¬puedeLeer(juan, libro)
En cuanto a los dos nuevos operadores, y , permiten delimitar el alcance de las variables en las sentencias, de forma que “X” se leería como “para toda x” y “X” como “existe un x tal que”.
X puedeLeer(X, libro): alguien puede leer el libroX puedeLeer(X, libro): todo el mundo puede leer el libro


KIF

KIF es un lenguaje lógico basado en lógica de primer orden que fue creado con el objetivo de actuar como interlingua entre diferentes formalismos y lenguajes de representación, de forma que para pasar de un lenguaje A a B no hiciera falta crear un mapeo específico, sino que fuera suficiente con existir los mapeos A-Kif y Kif-B.
KIF dispone de su propia sintaxis y algunos añadidos semánticos sobre la lógica de primer orden.

LÓGICAS DESCRIPTIVAS

Las lógicas descriptivas están muy relacionadas con el desarrollo de las ontologías tal como se usan en la actualidad en la web semántica. La lógica descriptiva se basa en representar el conocimiento utilizando por una una terminología o vocabulario del dominio (TBOX) y por otra un conjunto de afirmaciones (ABOX).
El vocabulario consiste en conceptos y roles. Los conceptos corresponden a conjuntos de elementos y los roles a relaciones binarias entre elementos. Existen conceptos y roles atómico y complejo.
Por ejemplo, si tenemos como conceptos atómicos “Persona” y “Hembra” y como role atómico “tieneHijo”, podríamos tener como TBOX representando las relaciones familiares algo como lo siguiente:

Mujer ≡ Persona ∩ Hembra
Hombre ≡ Persona ∩ ¬Mujer
Madre ≡ Mujer ∩
tieneHijo.Persona
Padre ≡ Hombre ∩
tieneHijo.Persona
Progenitor ≡ Madre
Padre
Esposa ≡ Mujer ∩ tieneMarido.Hombre
Marido ≡ Hombre ∩ tieneEsposa.Mujer
La información recogida en la ABOX podría ser algo como:
tieneHijo(Juan, Miguel)
Padre(Juan)
Esposa(Juan, María)

Se pueden construir y existen razonadores que permiten razonar sobre las TBOX y ABOX, pudiendo determinar por ejemplo si el contenido de la TBOX es factible, o qué relaciones están incluidas en otras. Al trabajar sobre el ABOX, un razonador puede indicar que a partir de las afirmaciones existentes un determinado elemento es una instancia de un concepto y si las afirmaciones son consistentes con el modelo.

LENGUAJES BASADOS EN FRAMES O MARCOS

Estos lenguajes son similares a los lenguajes de programación orientados a objetos, en el sentido de que modelan el conocimiento utilizando clases (frames), atributos, objetos y relaciones, y utilizan relaciones de generalización y especialización para representar la organización jerárquica de los conceptos.

Uno de los posibles lenguajes basados en frames es KM. Mediante este lenguaje definimos a continuación que cada “venta” consta de un objeto que se vende y un vendedor y comprador:



Inicialmente se crearon multitud de lenguajes basados en marcos diferentes, la mayoría incompatibles entre si. En 1985 se creo KL-ONE que utilizando formalismos de lógica descriptiva aportó rigor a diferentes lenguajes que se crearon posteriormente basados en él.
Es importante mencionar que muchos de los lenguajes basados en marcos se pueden considerar como únicamente sintaxis diferentes de la lógica de primer orden y que por lo tanto no ofrecen más expresividad que ella. Esto hace también por otro lado que tengan representaciones equivalentes en el lengujaje KIF visto en un punto anterior.

LENGUAJES BASADOS EN REGLAS

Estos lenguajes han sido durante mucho tiempo posiblemente los más usados de todos, principalmente debido a su estrecha relación con los Sistemas Expertos utilizados en Inteligencia Artificial. Estos lenguajes son fáciles de entender debido a su sencillez conceptual y a su paralelismo con las estructuras de control más simples utilizadas en programación.
Existen diversos tipos de lenguajes basados en reglas, que se diferencian por el tipo de cosas permitidas en las reglas, como si permiten únicamente la definición de afirmaciones en la parte THEN o si tambíen permiten comportamiento procedural, el uso de lógica difusa en los hechos, etcétera. Una de las tendencias más recientes pasa por mezclar los conceptos de frames y reglas, como en el caso de Jess, para disponer de lenguajes que permitan reunir la información de cada concepto y asociar a alguno de sus slots conjuntos de reglas. Esto aporta orden a la información, que suele ser algo difícil de conseguir conforme la base de conocimiento crece y el número de reglas aumenta, al tener dispersa la información de cada concepto y mezclada con otros.
Este tipo de lenguajes han recibido también un fuerte impulso a partir de la aparición de la web semántica, ya que que se piensa en ellos como herramientas para definir servicios web, y como herramienta base que permita definir la forma en la que pueden interactuar las aplicaciones de comercio electrónico. Para ello se ha creado una iniciativa Rule Markup Initiative que ha diseñado el lenguaje RuleML, basado en XML y que por lo tanto está pensado desde su concepción para garantizar la interoperabilidad necesaria en el web.
Este nuevo lenguaje incluye las siguientes características:
Ø  Reglas de pruducción: reglas del tipo IF-THEN habituales en los sistemas expertos.
Ø  Reglas de integridad: afirmaciones que se deben cumplir en cualquier estado del sistema
Ø  Reglas reactivas: reglas que realizan acciones cuando se cumple un evento o se dan unas determinadas circunstancias
Ø  Reglas de derivación: reglas para definir conceptos derivados a partir de otros
Ø  Reglas de transformación: permiten crear reglas a partir de un llamador, una condición, y una transformación.
Podemos representar en RuleML la sentencia “Si a alguien le gusta la lectura, entonces a Juan le gusta esa persona” de la siguiente forma:






ARBOLES DE DESICION










MICROMUNDOS

Es un concepto desarrollado por Marvin Misnky y Seymour Papert, como un modelo para realizar representaciones de una realidad inmediata sobre un tema, que será refinado o pulido por los alumnos, iniciando con un punto de partida que les permita crear sus propias "extensiones".

Se puede considerar como un laboratorio de estudio que ayuda a comprender y crear nuevos conceptos.

Son construibles con la ayuda de una computadora debido a la posibilidad que presenta esta de simular procesos y sobre todo procesos abstractos y ficticios.

La investigación viene mostrando consistentemente que el aprendizaje en condiciones de amplia libertad es proporcional al desarrollo intelectual y a la madurez de los estudiantes.


ELEMENTOS

• Argumento e historia.
• Variables de Control.
• Variables de Resultado.
• Mundo (Escenarios).
• Retos (Implícitos / explícitos).
• Personajes y Roles.
• Objetos (Herramientas).
• Zonas de Comunicación.
• Mecanismos de Comunicación.
• Usuario (Aplicación).
• Ambientación.
• Recuperación de estados anteriores.
·         Niveles de Dificultad,
• Manejo de información del usuario.
• Mecanismos para Análisis de desempeño.
• Ampliación de las posibilidades del micromundo.
• Personalización del ambiente.
• Soporte al trabajo en grupo.
Algunos de estos elementos son necesarios y otros por ahora deseables


CARACTERISTICAS

Tienen tres características importantes:


• Se presenta ante el aprendiz en forma simple: debe propiciar la expansión de las ideas del aprendiz a medida que este esté preparado para ellas, dándole la posibilidad de modificar y explorar el micromundo sin que requiera mucho entrenamiento; el aprendiz autoregula su propio aprendizaje.

• Debe estar de acuerdo con el estado afectivo y cognitivo del estudiante, con características motivacionales que lo pongan ante situaciones de desafío que incentiven su curiosidad y su fantasía en ambientes, que de acuerdo con sus capacidades y habilidades, lo guíen, le den la oportunidad de descubrir y a la vez sea él quien lleve el control.

• Debe promover la construcción activa del conocimiento por parte de los estudiantes. Utilizar algún software de simulación para elaborar y comprobar hipótesis; Establecen mediante la práctica en los laboratorios virtuales, nuevas relaciones entre las variables del sistema que se estudia.

INTELIGENCIA DE ENJAMBRE

  
De acuerdo a los Dres. Marco Dorigo y Mauro Birattari, de la Université Libre de Bruxelles, Bélgica, se llama así a “la disciplina que trata con sistemas naturales y artificiales compuestos de muchos individuos que se coordinan utilizando control descentralizado y auto-organización. En particular, la disciplina se enfoca en las conductas colectivas que resultan de las interacciones locales de los individuos entre sí y con el ambiente. Ejemplos de los sistemas estudiados por la inteligencia de enjambres son colonias de hormigas y termitas, bancos de peces, bandadas de pájaros, manadas de animales terrestres. Algunos artefactos humanos también caen en el dominio de la inteligencia de enjambre, notablemente algunos sistemas multi-robot, y también ciertos programas de computadoras que se han escrito para abordar problemas de optimización y análisis de datos

ORIGEN  DEL TÉRMINO

 

El término Inteligencia de Enjambre fue introducido por Gerardo Beni y Jing Wang en 1989 en un trabajo sobre Sistemas Celulares Robóticos.
Los sistemas de Inteligencia de Enjambre están constituidos por agentes simples que interactúan localmente unos con otros y con el ambiente. Siguen reglas simples y sin tener un control centralizado, como resultado de sus interacciones se produce la  “emergencia” de una conducta global inteligente.  


Para encontrar el camino más corto desde el sitio donde está su colonia  hacia la fuente de alimentos, las hormigas envían varias exploradoras en diferentes direcciones. Cada hormiga va emitiendo una substancia química: feromona, que atrae a otras hormigas. Cuando encuentran alimento, las hormigas regresan a su colonia. La hormiga que encontró alimento regresa primero al hormiguero, ése será el camino más corto, y la ruta utilizada tendrá entonces el doble de feromona (viaje de ida y vuelta) que las demás rutas, ya que las demás hormigas aún no regresan a la colonia. Sus hormigas compañeras serán atraídas por el camino que tiene más feromonas, y al pasar por ese camino, lo impregnarán con más feromonas, y lo harán todavía más atractivo para las restantes hormigas.

En este caso las reglas simples que han conducido a la conducta beneficiosa para toda la colonia de hormigas son dos: emita feromonas y siga el camino con más feromonas.  

Este método ha sido adaptado y seguido por empresas tales como France Telecom., British Telecom y MCI WorldCom en sus redes de comunicaciones.  

Otro ejemplo de la inteligencia de enjambre, es la división del trabajo que tienen las abejas. Los individuos se especializan en ciertas tareas, pero cuando las circunstancias lo exigen, por ejemplo, cuando el alimento está escaso, ellos tienen flexibilidad y pueden asumir tareas diferentes.  

La regla de Utilizar Reglas Simples, es considerada también como una de las formas más poderosas e inteligentes que podemos aprovechar del comportamiento de los insectos.  


VENTAJAS DE LA INTELIGENCIA DE ENJAMBRE

Ø  Flexibilidad. El grupo se adapta con rapidez a un ambiente cambiante.
 
Ø  Robustez. Incluso cuando uno o más individuos fallan, el grupo todavía puede realizar sus tareas.
 
Ø  Auto-organización. El grupo requiere poca supervisión o control de arriba hacia abajo

ALGUNOS ALGORITMOS UTILIZADOS

Ø  Algoritmo hormiga o Algoritmo de las hormigas  es utilizado para solucionar problemas de cómputo y está basado en el comportamiento que las hormigas presentan para encontrar trayectorias desde su colonia hasta el alimento
Ø  Optimización de enjambre de partículas, es otro algoritmo para encontrar solución a un problema de optimización en la búsqueda de espacio o para modelar y predecir conductas sociales en la presencia de objetivos

Ø  Búsqueda por Difusión Estocástica, método creado por Bishop, como una técnica de reconocimiento de patrones, “independiente de sus posibles distorsiones o transformaciones en el espacio de búsqueda”. Los agentes efectúan evaluaciones parciales que luego las comparten entre sí


APLICACIONES DE LA INTELIGENCIA DE ENJAMBRE  

Estas técnicas se pueden utilizar en diversos campos. En el campo militar, en los Estados Unidos, se investigan técnicas de enjambre para controlar vehículos sin conductores humanos. La Agencia Europea del Espacio está investigando enjambres orbitales para auto ensamblaje e interferometría. La NASA investiga esta tecnología para mapeo planetario. También se ha discutido la posibilidad de inteligencia de enjambres para controlar nanorobots dentro del organismo humano para destruir tumores cancerosos. 

En la industria cinematográfica se han utilizado estas tecnologías para crear sistemas complejos interactivos o simular multitudes (Regreso de Batman, El Señor de los Anillos).


La inteligencia de enjambre ha tenido también importante aplicación en el mundo de los negocios. Ejemplos en las compañías Unilever, McGraw-Hill, y Capital One, para desarrollar maneras eficientes de programar equipo en fábrica, dividir tareas entre los trabajadores, organizar al personal, y tejer estrategias