Está en la página 1de 8

ALGORITMOS GENETICOS Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar

solucin a un problema especfico. En los aos 1970, de la mano de John Henry Holland, surgi una de las lneas ms prometedoras de la inteligencia artificial, la de los algoritmos genticos. Son llamados as porque se inspiran en la evolucin biolgica y su base gentico-molecular. Estos algoritmos hacen evolucionar una poblacin de individuos sometindola a acciones aleatorias semejantes a las que actan en la evolucin biolgica (mutaciones y recombinaciones genticas), as como tambin a una Seleccin de acuerdo con algn criterio, en funcin del cual se decide cules son los individuos ms adaptados, que sobreviven, y cules los menos aptos, que son descartados. Es incluido dentro de los algoritmos evolutivos, que incluyen tambien las estrategias evolutivas, la programacin evolutiva y la programacin gentica. Dentro de esta ltima se han logrado avances curiosos: En 1999, por primera vez en la historia, se concedi una patente a un invento no realizado directamente por un ser humano: se trata de una antena de forma extraa, pero que funciona perfectamente en las condiciones a las que estaba destinada. No hay, sin embargo, nada injusto en el hecho de que el autor del algoritmo gentico del que sali la forma de la antena se haya atribuido la autora de la patente, pues l escribi el programa e ide el criterio de seleccin que condujo al diseo patentado. Un algoritmo gentico es un mtodo de bsqueda dirigida basada en probabilidad. Bajo una condicin muy dbil (que el algoritmo mantenga elitismo, es decir, guarde siempre al mejor elemento de la poblacin sin hacerle ningn cambio) se puede demostrar que el algoritmo converge en probabilidad al ptimo. En otras palabras, al aumentar el nmero de iteraciones, la probabilidad de tener el ptimo en la poblacin tiende a 1 (uno).

Contenido
[ocultar]

1 Funcionamiento 2 Cundo usar estos algoritmos 3 Funcionamiento de un algoritmo gentico bsico 4 Aplicaciones 5 Vase tambin 6 Enlaces externos

[editar] Funcionamiento
Los algoritmos genticos establecen una analoga entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una poblacin natural, codificando la informacin de cada solucin en una cadena, generalmente binaria, llamada cromosoma. Los smbolos que forman la cadena son llamados los genes. Cuando la representacin de los cromosomas se hace con cadenas de dgitos binarios se le conoce como genotipo. Los cromosomas evolucionan a travs de iteraciones, llamadas generaciones. En cada generacin, los cromosomas son evaluados usando

alguna medida de aptitud. Las siguientes generaciones (nuevos cromosomas), llamada descendencia, se forman utilizando dos operadores genticos, de sobrecruzamiento y de mutacin.

[editar] Cundo usar estos algoritmos


Los algoritmos genticos son de probada eficacia en caso de querer calcular funciones no derivables (o de derivacin muy compleja) aunque su uso es posible con cualquier funcin. Deben tenerse en cuenta tambin las siguientes consideraciones:

Si la funcin a optimizar tiene muchos mximos/mnimos locales se requerirn ms iteraciones del algoritmo para "asegurar" el mximo/mnimo global. Si la funcin a optimizar contiene varios puntos muy cercanos en valor al ptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no necesariamente el ptimo).

[editar] Funcionamiento de un algoritmo gentico bsico


Un algoritmo gentico puede presentar diversas variaciones, dependiendo de cmo se aplican los operadores genticos (cruzamiento, mutacin), de cmo se realiza la seleccin y de cmo se decide el reemplazo de los individuos para formar la nueva poblacin. En general, el pseudocdigo consiste de los siguientes pasos:

Algoritmo gentico i: inicializacin, f(X): evaluacin, ?: condicin de trmino, Se: seleccin, Cr: cruzamiento, Mu: mutacin, Re: reemplazo, X*: mejor solucin.

Inicializacin: Se genera aleatoriamente la poblacin inicial, que est constituida por un conjunto de cromosomas los cuales representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la poblacin inicial, se tenga la diversidad estructural de estas soluciones para tener una representacin de la mayor parte de la poblacin posible o al menos evitar la convergencia prematura.

Evaluacin: A cada uno de los cromosomas de esta poblacin se aplicar la funcin de aptitud para saber qu tan "buena" es la solucin que se est codificando. Condicin de trmino El AG se deber detener cuando se alcance la solucin ptima, pero sta generalmente se desconoce, por lo que se deben utilizar otros criterios de detencin. Normalmente se usan dos criterios: correr el AG un nmero mximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la poblacin. Mientras no se cumpla la condicin de trmino se hace lo siguiente: o Seleccin Despus de saber la aptitud de cada cromosoma se procede a elegir los cromosomas que sern cruzados en la siguiente generacin. Los cromosomas con mejor aptitud tienen mayor probabilidad de ser seleccionados. o Sobrecruzamiento El cruzamiento es el principal operador gentico, representa la reproduccin sexual, opera sobre dos cromosomas a la vez para generar dos descendientes donde se combinan las caractersticas de ambos cromosomas padres. o Mutacin modifica al azar parte del cromosoma de los individuos, y permite alcanzar zonas del espacio de bsqueda que no estaban cubiertas por los individuos de la poblacin actual. o Reemplazo una vez aplicados los operadores genticos, se seleccionan los mejores individuos para conformar la poblacin de la generacin siguiente

Aplicaciones

Diseo automatizado, incluyendo investigacin en diseo de materiales y diseo multiobjetivo de componentes automovilsticos: mejor comportamiento ante choques, ahorros de peso, mejora de aerodinmica, etc. Diseo automatizado de equipamiento industrial. Diseo automatizado de sistemas de comercio en el sector financiero. Construccin de rboles filogenticos. Optimizacin de carga de contenedores. Diseo de sistemas de distribucin de aguas. Diseo de topologas de circuitos impresos. Diseo de topologas de redes computacionales. En Teora de juegos, resolucin de equilibrios. Anlisis de expresin de genes. Aprendizaje de comportamiento de robots. Aprendizaje de reglas de Lgica difusa. Anlisis lingstico, incluyendo induccin gramtica, y otros aspectos de Procesamiento de lenguajes naturales, tales como eliminacin de ambigedad de sentido. Infraestructura de redes de comunicaciones mviles. Optimizacin de estructuras moleculares. Planificacin de produccin multicriteria. Prediccin. Aplicacin de Algoritmos Genticos al Dilema del Prisionero Iterado

Optimizacin de sistemas de compresin de datos, por ejemplo, usando wavelets. Prediccin de Plegamiento de protenas. Optimizacin de Layout. Prediccin de estructura de ARN. En bioinformtica, Alineamiento mltiple de secuencias. Aplicaciones en planificacin de procesos industriales, incluyendo planificacin job-shop. Seleccin ptima de modelos matemticos para la descripcin de sistemas biolgicos. Manejo de residuos slidos. Ingeniera de software. Construccin de horarios en grandes universidades, evitando conflictos de clases. Problema del viajante. Hallazgo de errores en programas. Optimizacin de produccin y distribucin de energa elctrica. Diseo de redes geodsicas (Problemas de diseo). Calibracin y deteccin de daos en estructuras civiles.

Agente inteligente (inteligencia artificial)


Saltar a: navegacin, bsqueda

Agente Inteligente Simple.

Un agente inteligente, es una entidad capaz de percibir su entorno, procesar tales percepciones y responder o actuar en su entorno de manera racional, es decir, de manera correcta y tendiendo a maximizar un resultado esperado. En este contexto la racionalidad es la caracterstica que posee una eleccin de ser correcta, ms especficamente, de tender a maximizar un resultado esperado. Este concepto de racionalidad es ms general y por ello ms adecuado que inteligencia (la cual sugiere entendimiento) para describir el comportamiento de los agentes inteligentes. Por este motivo es mayor el consenso en llamarlos agentes racionales.

Un agente inteligente puede ser una entidad fsica o virtual. Si bien el trmino agente racional se refiere a agentes artificiales en el campo de la Inteligencia Artificial, tambin puede considerarse agentes racionales a los animales incluido el hombre. Los agentes inteligentes se describen esquemticamente como un sistema funcional abstracto. Por esta razn, los agentes inteligentes son a veces llamado Agentes Inteligentes Abstractos (AIA) para distinguirlos de sus implementaciones del mundo real como sistemas informticos, los sistemas biolgicos, o de organizaciones. Algunas definiciones de agentes inteligentes hacen nfasis en su autonoma por lo que prefieren el trmino agente inteligente autnomo. Y otros (en particular, Russell y Norvig (2003)) considera conducta dirigida a objetivos como la esencia de lo inteligente y prefieren un trmino tomado de la economa "Agente Racional". En Ciencias de la Computacin el trmino agente inteligente puede ser usado para referirse a un agente de software que tiene algo de inteligencia, independientemente de si no es un agente racional por definicin de Russell y Norvig. Por ejemplo, programas autnomos utilizados para asistencia de un operador o de minera de datos (a veces denominado robots) son tambin llamados "agentes inteligentes".

Contenido

1 Definiciones sobre Agentes Inteligentes 2 Ejemplos 3 Clasificacin 4 La racionalidad es necesaria 5 La conducta de un agente no suele ser la ptima 6 Enlaces externos 7 Vase tambin

Definiciones sobre Agentes Inteligentes


Los agentes inteligentes se han definido de diferentes maneras. [2] Segn Nikola Kasabov [3] los sistemas de IA deben exhibir las siguientes caractersticas:

Aprender nuevos problemas e incrementar normas de solucin. Capacidad de adaptacin en lnea y en tiempo real. Ser capaz de analizar condiciones en trminos de comportamiento, el error y el xito. Aprender y mejorar a travs de la interaccin con el medio ambiente (realizacin). Aprender rpidamente de grandes cantidades de datos. Deben estas basados en memoria de almacenamiento masivo y la recuperacin de dicha capacidad.

Ejemplos
Como ejemplos de entidades fsicas pueden nombrarse:

un robot de comportamiento variable autoregulado (ya sea que su comportamiento sea determinado por software o incorporado directamente en la electrnica),

una computadora que ejecuta un software de diagnstico mdico y muestra resultados en una pantalla para ayudar a decidir a un mdico, una computadora especializada que controla un helicptero en maniobras peligrosas para un hombre.

Ejemplos de entidad puramente virtual seran:


un software de descubrimiento de patrones en Internet que slo interacta con otros software. un software softbot que simula a una persona en un juego de computadora, tal como un jugador de ajedrez, un jugador de ftbol contrincante o un conductor de carreras de automviles, etc.

Clasificacin
Es posible clasificar los agentes inteligentes en 5 categoras principales:
1. 2. 3. 4. 5. 6. agentes reactivos agentes reactivos basados en modelo agentes basados en objetivos agentes basados en utilidad agentes que aprenden agentes de consultas

La racionalidad es necesaria
En muchos textos se define agente inteligente como todo agente capaz de tener conciencia de su entorno y actuar sobre l. No obstante es necesario exigir que estas decisiones sean racionales en el sentido de que persigan algn fin. Vamos a mostrarlo con un contraejemplo: cuando un fotn con la suficiente energa incide sobre un tomo, puede arrancar de l un electrn. Podramos considerar al tomo inteligente puesto que percibe su entorno (la incidencia del fotn) y acta sobre su entorno (emite un electrn). La ausencia de relacin entre la emisin del electrn y cualquier hipottico inters del tomo muestra que este no es un agente inteligente pese a verificar la definicin de Bertrand Russell. Sin ese trmino no tendra sentido la palabra racionalidad.

La conducta de un agente no suele ser la ptima


Paradjicamente, la conducta de un agente rara vez es la ptima. La razn es muy sencilla calcular el ptimo de un criterio lo suficientemente bueno para ser considerado razonable teniendo en cuenta las mltiples restricciones que concurren es muy difcil. Ejemplos de ello es lo difcil que es calcular la mejor ala para un avin, el mejor perfil para un coche o la mejor hlice para un barco. Para un estudiante es fcil calcular el mximo de un polinomio de segundo grado derivando e igualando a cero. En este caso el criterio es muy sencillo -es un polinomio de segundo grado- y no concurre ninguna restriccin.

Cuando el criterio es una funcin real de muchas variables y las restricciones tambin, los clculos son mucho ms complicados. Algunas veces se puede lograr una buena aproximacin; pero, si un agente inteligente debe tomar una decisin en muy poco tiempo, deber conformarse con la mejor aproximacin que pueda calcular en el escaso tiempo de que dispone. Por otra parte, no es tan fcil inducir el criterio que permite comparar las distintas estrategias: cmo se puede expresar con una ecuacin simple lo que ms le conviene a un lagarto que est cazando bajo el sol?

Que es un agente inteligente?


Veamos algunas de las definiciones de agente inteligente: Agente inteligente: entidad capaz de percibir el entorno y de actuar sobre l. / Es una entidad de software persistente con un propsito especfico. / Un agente autnomo es un sistema que habita en un entorno dinmico y complejo, en el que percibe y acta de manera autnoma, alcanzando el conjunto de objetivos para el que fue diseado. / Un programa autocontenido que es capaz de controlar sus acciones y decisiones para alcanzar unos objetivos, basndose en su percepcin del entorno. / Es un sistema que est situado y que forma parte de un determinado entorno, que percibe este entorno y que acta en l continuamente y con su propia planificacin, persiguiendo el objetivo de cambiar su propia percepcin Caractersticas de los agentes inteligentes: Los agentes tienen un punto de vista incompleto, pero esto no limita que se halle una solucin (aproximada). Lo que se pretende en que la solucin sea completa y consistente. Los agentes se mueven dentro de un entorno virtual operando a travs de un sistema. Los agentes inteligentes dentro del entorno de software tendrn una funcin anloga a la que realizan los robots en el mundo real, de ah el nombre de softbots (software robot). Hoy en da se ha puesto de moda el nombre agente software. Al que se le aplican las definiciones dadas anteriormente, resaltando la condicin de autonoma: Debe actuar autnomamente sin la intervencin de seres humanos u otros sistemas y debe tener control sobre su estado interno y sobre su propio comportamiento. Control del entorno En la mayor parte de los dominios el agente slo tendr control parcial del entorno. Una misma accin realizada por el agente en diferentes ocasiones puede tener efectos distintos. Un agente debe estar preparado para fallar. Un agente dispone de un repertorio de acciones con sus correspondientes precondiciones. Un agente debe estar preparado para decidir que accin realizar para alcanzar sus objetivos de diseo. Las arquitecturas de agentes son sistemas de toma de decisiones empotradas en un entorno.

Tipos de entorno: Accesible / inaccesible. Determinista / indeterminista. Episdico / no episdico. Esttico / dinmico. Discreto / continuo De acuerdo con su accionar sobre el entorno una agente inteligente se puede definir como: un sistema que est situado en un cierto entorno y que tiene capacidad de actuar autnomamente de forma flexible en ese entorno para satisfacer sus objetivos de diseo. Flexibilidad: Reactividad: capacidad de responder oportunamente a los cambios percibidos en el entorno. Pro-actividad: comportamiento dirigido por el objetivo. Habilidad social: capacidad de interaccin con otros agentes para satisfacer sus propios objetivos (negociacin y cooperacin con agentes que persiguen otros objetivos). Otras caractersticas de los agentes es la capacidad de razonamiento, la capacidad de aprendizaje, la movilidad, la honestidad, etc. Diferencias entre agentes y sistemas expertos (SE). Los SE no suelen interactuar directamente con el entorno (de ah que algunos le llamaran sistema autistas. Los SE suele disearse para tareas ms complejas donde ellos tienen todo el control de las decisiones para ese dominio. Los SE no suelen cooperar entre si. Ventajas de los agentes inteligentes: Facilitarle el trabajo a los usuarios Actuar como consultantes Servir de operadores en medios complejos Dificultades: - Cmo conocer la informacin relevante o irrelevante - Cmo agilizar la bsqueda - Cmo evitar repetir una tarea realizada. - Cmo habrselas con diferentes protocolos, formatos y sistemas de acceso a la informacin.
Formatted: Normal (Web), Left