inteligencia artificial, robotica, neurocomputación, program

Upload: carlos-mario-jimenez-ramirez

Post on 03-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    1/76

    Inteligencia Artificial, Robtica,Neurocomputacin,

    Programacin Neuronal y otrashierbas

    Por David Daz (editor)

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    2/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Qu es la IA?

    2

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    3/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Existen numerosas definiciones de Inteligencia Artificial, dependiendo del autoro el campo de especializacin. Para hacernos una idea, aqu hay cuatromodelos bastante re resentativos de esta ciencia.

    IA es la atribuida a las mquinas capaces de hacer operaciones propias

    de seres inteli entes DRAE .

    La IA es el estudio de las computaciones que permiten percibir, razonaractuar Winston .

    La IA es el estudio de tcnicas de resolucin de problemasde complejidad exponencial mediante el uso de conocimiento sobreel cam o de a licacin del roblema Rich

    La IA estudia cmo lograr que las mquinas realicen tareas que, por elmomento, son realizadas mejor por los seres humanos. (Rich)

    3

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    4/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    La Inteligencia Artificial tiene dos aspectos, uno como ciencia cognitiva y otro

    como tecnolo a informtica, sus caractersticas esenciales son:

    Informacin simblica preferente a la numrica. Mtodos heursticos preferente a los algortmicos. Uso de conocimiento especfico-declarativo. Informaciones incompletas o con incertidumbre. Multidisciplinaridad.

    4

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    5/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Nacimiento de la IA

    5

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    6/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Si bien a principios de la dcada de los aos 50 aparecieron ya los primerosprogramas de clculo formal (que permitan a los ordenadores, utilizados hastaentonces nicamente como mquinas de calcular, manipular smbolos), lo quems tarde recibira el nombre de inteligencia artificial nacin en realidad, en elcampo de la informtica, con la aparicin del primer programa capaz dedemostrar teoremas de la lgica de las proposiciones (el Logic Theoristcreado porNewell, Shaw y Simon). Dicho programa fue presentado durante la

    conferencia de investigadores que se celebr en el colegio de Darmouth(1956). En aquella ocasin se acuo, tambin, el trmino de inteligenciaartificial. Este avance era consecuencia de la carencia de algoritmos quefuesen capaces de describir una cierta serie de actividades cognitivas como elreconocimiento visual de un objeto, la comprensin de los lenguajes naturales(hablados o escritos), el diagnstico de enfermedades en el ser humano o deaveras en las mquinas, etc. La inteligencia artificial naci, pues, comoresultado de la confluencia de dos corrientes diversas: por un lado, la cientfica,que tena como objetivo intentar comprender los mecanismos de la inteligenciahumana empleando para ello, como modelo de simulacin, los ordenadores y,

    6

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    7/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    por otro lado, la tcnica, que pretenda equipar a los ordenadoresde capacidades de pensamiento lo ms similares posible a las humanas pero

    sin la pretensin de imitar con toda exactitud los pasos que sigue el serhumano para llevar a cabo dichas actividades intelectuales. Este proceso se vioadems reforzado por la aparicin de lenguajes de programacin bienada tados a la inteli encia artificial, el LISP creado orMcCarth a artir de

    El periodo que abarca 1956 a 1968 se caracteriz, en este campo, porlos intentos dirigidos a la bsqueda y modelizacin de determinados

    principios generales de la inteligencia (aplicaciones como la traduccinautomtica, la percepcin visual, etc.). A finales de la dcada de los aos 60,los trabajos se encaminaron hacia el desarrollo de sistemas inteligentes deaplicacin en la robtica (visin artificial, manipulacin de objetos,navegacin automtica, etc.) en los que era necesario incorporar una grancantidad de conocimientos especficos referidos a los problemas que sepretenda resolver con dichas tcnicas. Este proceso marc el inicio delestudio de los llamados sistemas ex ertos.

    7

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    8/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Para qu sirve?

    8

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    9/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Clas ificac in de campos de la IA se g n la A C M:

    Programacin automtica: Verificacin y sntesis. Razonamiento automtico. Representacin del conocimiento. Metodologa de la programacin en IA. Aprendizaje. Procesamiento del lenguaje natural. Resolucin de problemas, mtodos de control y bsqueda.

    Robtica. Interpretacin de imgenes y visin artificial. Inteligencia artificial distribuida.

    Ap licac iones de la IA:

    Tareas de la vida diaria:o Percepcin: visin y habla.o Lenguaje natural: comprensin, generacin y traduccin.o Sentido comn.o Control de robot.

    9

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    10/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Tareas formales:o Juegos: damas, ajedrez, go, ...o Matemticas: clculo simblico, demostracin de teoremas.o Computacin: verificacin de programas, aprendizaje automtico.

    Tareas de expertos:o Ingeniera: diseo, deteccin de fallos, planificacin de

    manufacturacin.o Anlisis cientfico.o Diagnstico y tratamiento mdico.o Anlisis financiero.

    10

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    11/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Robtica

    11

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    12/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    El nombre de robot procede del trmino checo robota (trabajador, siervo) conel que el escritor Karel Capek design, primero en su novela y tres aos mstarde en su obra teatral RUR (Los robots universales de Rossum, 1920) a losandroides, producidos en grandes cantidades y vendidos como mano de obrade bajo costo, que el sabio Rossum crea para liberar a la humanidad deltrabajo. En la actualidad, el trmino se aplica a todos los ingenios mecnicos,accionados y controlados electrnicamente, capaces de llevar a cabosecuencias simples que permiten realizar operaciones tales como cargadescarga, accionamiento de mquinas herramienta, operaciones deensamblaje y soldadura, etc. Hoy en da el desarrollo en este campo se dirigehacia la consecucin de mquinas que sepan interactuar con el medio en elcual desarrollan su actividad (reconocimientos de formas, toma de decisiones,etc. .

    La disciplina que se encarga del estudio y desarrollo de los robots es la

    robtica, una sntesis de la automtica y la informtica. La robtica se centr,en primer lugar, en el estudio y desarrollo de los robots de la llamada primerageneracin; es decir, incapaces de detectar los estmulos procedentes del

    12

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    13/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    entorno y limitados a las funciones con una secuencia predeterminada y fija.Estos robots han dado paso a los que constituyen la segunda generacin,

    capaces de desarrollar algn tipo de actividad sensorial. Los prototiposmultisensoriales que interactan en un grado muy elevado con el entornose agrupan en la tercera generacin. Para ello, la robtica se sirve dedisciplinas como la mecnica, la microelectrnica y la informtica, adems deincorporar a los ingenios tcnicas como el reconocimiento y anlisis digital delas im enes, el desarrollo de sistemas sensoriales, etc.

    El creciente desarrollo de los robots y su contante perfeccionamiento ha hechoque cada da se apliquen en mayor medida a los procesos industrialesen sustitucin de la mano de obra humana. Dicho proceso, que se inicihacia1970, recibe el nombre de robotizacin y ha dado lugar a la construccin deplantas de montaje parcial o completamente robotizadas. Este procesoconlleva, segn sus detractores, la destruccin masiva de puestos de trabajo,mientras que para sus defensores supone la satisfaccin de necesidades

    socioeconmicas de la poblacin y lleva aparejado un aumento mu

    13

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    14/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    La IA en la r obtica:

    A finales de los aos 70, se produjo un nuevo giro en el campo de lainvestigacin relacionada con la inteligencia artificial: la aparicin derobots. Los robots experimentales creados para estos efectos eranautomatismos capaces de recibir informacin procedente del mundo exterior (p.ej.., sensores, cmaras de televisin, etc.), as como rdenes de unmanipulador humano(expresadas en lenguaje natural). De este modo, el robo determinaba un plan

    y, de acuerdo con l, ejecutaba las rdenes recibidas mediante el empleo de unmodelo del universo en el que se encontraba. Era incluso capaz de prever lasconsecuencias de sus acciones y evitar, as, aqullas que ms tarde pudieranresultarle intiles o, en algn momento, perjudiciales. Estos primerosrobots experimentales eran bastante ms inteligentes que los robotsindustriales, y lo eran porque disponan de un grado mucho mayor depercepcin del entorno que los robots empleados en las cadenas deproduccin.

    El principal problema con el que se enfrenta la inteligencia artificial aplicada alos robots es el de la visin. Mientras que la informacin recibida a travs desensores se puede interpretar con relativa facilidad y entra a formar parte de ladescripcin del modelo de universo que emplea el robot para tomar decisiones,la percepcin de las imgenes captadas y su interpretacin correcta esuna

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    15/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    labor muy compleja. En cuanto a la interpretacin de las imgenes captadasmediante cualquier sistema, se ha logrado ya el reconocimiento de formas

    preprogramadas o conocidas, lo que permite que ciertos robots lleven a cabooperaciones de reubicacin de piezas o colocacin en su posicin correcta aartir de una osicin arbitraria.

    Sin embargo, no se ha logrado an que el sistema perciba la imagen tomadamediante una cmara de ambiente y adapte su actuacin al nuevo cmulo decircunstancias que esto implica. As, por ejemplo, la imagen ofrecida por unacmara de vdeo de las que se emplea en vigilancia y sistemas de seguridadno uede ser inter retada directamente or el ordenador.

    15

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    16/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Sistemas Expertos

    16

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    17/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Los sistemas expertos se basan en la simulacin del razonamiento humano. Elrazonamiento humano tiene para ellos, un doble inters: por una parte, el delanlisis del razonamiento que seguira un experto humano en la materia a finde poder codificarlo mediante el empleo de un determinado lenguajeinformtico; por otra, la sntesis artificial, de tipo mecnico, de losrazonamientos de manera que stos sean semejantes a los empleados por elexperto humano en la resolucin de la cuestin planteada. Estos dos campos

    de inters han conducido a los investigadores que trabajan en el campo de lainteligencia artificial (de la cual los sistemas expertos son un campo preferente)a intentar establecer una metodologa que permita verificar el intercambio conlos expertos humanos y aislar los diversos tipos de razonamientoexistentesinductivo, deductivo, formal, etc. , as como construir los elementos necesarios

    Los sistemas expertos son, por lo tanto, intermediarios entre el expertohumano, que transmite sus conocimientos al sistema, y el usuario dedicho sistema, ue lo em lea ara resolver los roblemas ue se le lantean

    17

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    18/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    competencia de un especialista en la materia y que, adems, puede adquiriruna destreza semejante a la del experto gracias a la observacin del modo de

    actuar de la mquina. Los sistemas expertos son, pues, simultneamente, unsistema de ejecucin y un sistema de transmisin del conocimiento. Asimismo,los sistemas expertos se definen mediante su arquitectura; obtienen, porlo tanto, una realidad palpable. Mientras que en las operaciones deprogramacin clsicas se diferencia nicamente entre el propio programa ylos datos, en el caso de los sistemas expertos se diferencian trescom onentes rinci ales. Son los si uientes:

    Base de conocimientos Base de hechos Motor de inferencia

    La base de conocimientos aloja la totalidad de las informacionesespecficas relativas al campo del saber deseado Est escrita en un lenguajeespecfico de representacin de los conocimientos que contiene y en el cual el

    experto puede definir su propio vocabulario tcnico. A la inversa de lo quesucede en los programas clsicos, en la base de conocimientos lasinformaciones entran tal como llegan, ya que el orden no influye en losresultados obtenidos. Sucede as

    18

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    19/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    porque cada elemento de conocimiento es comprensible por s mismo tomadode forma aislada y, por lo tanto, no es necesario referirse al contexto en el cual

    est inserto. La informacin se representa, por regla general, mediante reglasde produccin o redes semnticas. Las reglas de produccin constituyenel mtodo ms utilizado para construir bases de conocimientos en lossistemas expertos. Llamadas tambin implicaciones lgicas, su

    estructura es lasiguiente: para unas ciertas causas, unos efectos; o, para determinadascondiciones, ciertas consecuencias. Junto a cada regla, se almacena tambin

    su porcentaje en forma de probabilidad. ste indica, mediante un tanto pociento, el grado de certeza de las consecuencias que se obtienen comoresultado de la aplicacin de la regla de produccin. En cuanto a lasredes semnticas, se trata de un mtodo de construccin de bases deconocimientos en el cual los conocimientos se muestran mediante un grafoen el ue los vrtices re resentan los conce tos u ob etos las aristas

    Adems el sistema dispone de la llamada base de hechos, que alberga

    los datos propios correspondientes a los problemas que se desea tratarcon la ayuda del sistema. Asimismo, a pesar de ser la memoria de trabajo, labase de hechos puede desempear el papel de memoria auxiliar. Lamemoria de

    19

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    20/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    trabajo memoriza todos los resultados intermedios, permitiendo conservael rastro de los razonamientos llevados a cabo. Puede, por eso, emplearse

    para explicar el origen de las informaciones deducidas por el sistemaen el transcurso de una sesin de trabajo o para llevar a cabo ladescripcin del comportamiento del propio sistema experto. Al principio delperodo de trabajo, la base de hechos dispone nicamente de los datos quele ha introducido el usuario del sistema, pero, a medida que va actuando elmotor de inferencias, contiene las cadenas de inducciones y deduccionesue el sistema forma al a licar las re las ara obtener las conclusiones

    El ltimo elemento, el motor de inferencias, es un programa que, mediante elempleo de los conocimientos puede resolver el problema que estespecificado. Lo resuelve gracias a los datos que contiene la base de hechosdel sistema experto. Por regla general, el tipo de reglas que forman la base deconocimientos es tal que, si A es vlido, puede deducirse B como conclusin.En este caso, la tarea que lleva a cabo el motor de inferencias es la deseleccionar, validar y activar algunas reglas que permiten obtener finalmente la

    solucin corres ondiente al roblema lanteado.

    El sistema experto establecido se compone, por lo tanto, de dos tiposbien

    20

    www .cib erpunk.com

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    21/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    diferenciados de elementos, los propios del campo de los expertosrelacionados con el problema concreto (es decir, la base de conocimientos y la

    base de hechos) y el que se puede aplicar de forma general a una granvariedad de problemas de diversos campos (como el caso del motor deinferencias). Sin embargo, el motor de inferencias no es un mecanismouniversal de deduccin, ya que hay dos tipos diverso: los que empleanel razonamiento aproximativo (para el cual el resultado puede ser errneo)y aquellos que emplean un tipo de razonamiento capaz de obtener unresultado

    Fases de l p r oceso

    Sin embargo, a pesar de no existir una metodologa generalmente aceptada encuanto a la concepcin de los sistemas expertos, se admite por regla generalun esquema que consta de tres fases. En la primera fase, la discusin con elexperto o los expertos humanos en la cual se intenta, por un lado, delimitar el

    problema a resolver y, por el otro, los modos de razonamiento que seemplearn para su solucin. La segunda fase comprende el desglose delformalismo de expresin del conocimiento y la determinacin del motor de

    21

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    22/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    inferencias adecuado a dicho formalismo. Por ltimo, la tercera etapa,corresponde a la creacin de la base de conocimientos (en colaboracin con

    los expertos humanos), as como a la comprobacin y ajuste delfuncionamiento del sistema ex erto mediante el em leo de e em los.

    Niv e les de conoc im iento

    A pesar de no disponerse de un modelo general comnmente aceptado, existeunanimidad en cuanto a la aprobacin de tres niveles distintos deconocimientos, a los que corresponde tres fases diferentes de estudio y sobrelos que se basa, en general, la concepcin de un sistema experto. Esos nivelesson el de estructuracin, el conceptual y el cognoscitivo. El primero es el quedefine el mecanismo que genera la certeza. Este mecanismo vara segnel campo al que se aplique el sistema experto, ya que las evidenciasasociadas a cada campo no son idnticas. La determinacin del nivel deestructuracin permite definir un formalismo de representacin delconocimiento as como un mecanismo adecuado de deduccin. El nivel

    conceptual es el que determina el conjunto de los conceptos que emplea elexperto humano en la materia; cada uno de ellos corresponde a un nudo delrazonamiento del experto. Se le asocia un descriptor que se experimenta con elformalismo correspondiente al nivel de

    22

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    23/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    estructuracin. Finalmente, el nivel cognoscitivo corresponde al conjunto de losconocimientos que el experto humano pone en prctica para la resolucin del

    problema planteado. Este conjunto de conocimientos debe poder traducirse allenguaje definido mediante el formalismo de representacin del conocimientoadoptado. En cuanto al desarrollo actual de la investigacin en el campo de lossistemas expertos, la primera fase corresponde al desarrollo de sistemasy programas que traten directamente el lenguaje natural, si bien persistentodava dos escollos importantes. Por un lado, el problema de cmoemplear de un modo eficaz una gran cantidad de informacin sin necesidad deechar mano de la combinatoria; es decir, cmo conseguir un sistema dotadode conocimientos(metaconocimientos) que le permitan utilizar los conocimientos del sistemay que, a su vez, le permitan deducir automticamente nuevos conocimientos,ya que no cabe pensar en la reunin de todos los conocimientos necesariosen casos de campos tan sumamente vastos como el del diagnstico en

    23

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    24/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Neurocomputacin

    24

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    25/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    La neurocomputacin trata de alcanzar algunas de las ventajas queproporcionan las redes neuronales biolgicas, imitndolas tanto desde el punto

    de vista morfolgico como desde el punto de vista funcional, para lo que sebasa en la realizacin de Redes Neuronales Artificiales o ANN (del ingls

    Artificial Neural Networks). El motivo por el que se sigue esta vade investigacin es la observacin de que el cerebro humano (y no sloel humano) presenta ciertas notables y deseables caractersticas que nose encuentran ni en los ordenadores, que siguen la clsica arquitecturapropuesta por Von Neumann, ni en los ordenadores paralelos modernos.Entre estas caractersticas cabe destacar el paralelismo masivo, lo que lesdota de una gran robustez y tolerancia a fallos, la capacidad de aprender, lacapacidad de generalizar, la capacidad de adaptacin, la capacidadinherente de procesar informacin contextual, y aunque parezca lo msanecdtico, un bajo consumo. Es comn el asombro que el ciudadano mediosiente ante la enorme capacidad de proceso numrico y simblico asociadoque presentan los ordenadores, capacidad que supera con mucho, y desdehace tiempo, a la de cualquier ser humano. Sin embargo, cualquier persona

    que haya tenido cierto contacto con un ordenador sabr que es una"mquina tonta", incapaz de realizar ninguna de las funciones citadas en elprrafo anterior. Y, de hecho, en otro tipo de problemas, es el hombre (ycualquier animal) el que deja en ridculo al

    25

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    26/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    superordenador ms potente. Uno de los ejemplos ms claros consiste en laresolucin de complejos problemas de percepcin, como el reconocer a una

    persona entre una multitud, problema que un ser humano puede resolver en unsim le ol e de vista.

    Por todos estos motivos, las redes neuronales artificiales tratan de imitarlos principios de organizacin, que se cree rigen el cerebro humano. Launidad funcional de estas redes es, por tanto, la neurona artificial. Unaneurona artificial no es otra cosa que un procesador muy simple capazde realizar instrucciones muy primitivas, pero a gran velocidad, y

    que guarda lainformacin aprendida en las conexiones con otras neuronas..Pero antes de profundizar en el estudio de la neurona artificial, es convenienteechar una mirada a la neurona biolgica y lo que se puede aprender de ella.

    La neurona biolgicaNuestro sistema nervioso y, en especial, nuestro cerebro, est compuesto porun con unto de clulas nerviosas, tambin llamadas neuronas.

    Una neurona es una clula altamente especializada en el proceso de la

    26

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    27/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    informacin, cuya estructura bsica puede observarse en la Figura 1. En ella sepuede observar como la morfologa de una neurona comprende tres elementos

    principales: el soma, o cuerpo principal; las dendritas, o terminaciones dela neurona que actan como contactos funcionales de entrada con

    otrasneuronas; y el axn o eje, una rama ms larga que ser la encargada deconducir el impulso nervioso y que finaliza tambin en diversas ramificaciones.La comunicacin entre neuronas se realiza a travs de las llamadas sinapsis,que son los puntos de conexin entre las fibras terminales del axn deuna neurona y una dendrita de otra. Las sinapsis tambin reciben elnombre de saltos sinpticos, ya que en la mayora de los casos, fibrasterminales y dendritas no estn en contacto, sino separadas por una pequeadistancia. Por ello, al contrario de lo ue mucha ente iensa, el im ulso

    27

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    28/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Figura 1. Anatoma de una neurona biolgica.

    El impulso nervioso producido por una neurona se propaga por el axn y alllegar al extremo, las fibras terminales presinpticas liberan unos compuestosqumicos llamados neurotransmisores. Los neurotransmisores se liberar en lamembrana celular re-sin tica alteran el estado elctrico de la membrana

    28

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    29/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    post-sinptica. En funcin del neurotransmisor liberado, el mecanismo puederesultarexcitadoro inhibidor ara la neurona "rece tora".

    En el soma de una neurona se integran todos los estmulos recibidos a travsde toda ss dendritas (Figura 2 (A)). Si como resultado se supera un potencialde activacin, la neurona se "dispara" generando un impulso que se transmitira travs del axn. Como puede observarse en la Figura 2(A), este impulso noes, ni mucho menos, constante, y la capacidad de reaccionar de laneurona vara con el tiempo hasta volver al estado de reposo. Lacomunicacin tiene lugar a travs de trenes de pulsos, por lo que losmensa es se encuentran modulados en frecuencia.

    29

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    30/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Figura 2. A) Respuesta de una neurona biolgica. B) Distintas funciones de respuesta de una neurona artificial.

    Tanto el salto electroqumico como la aparicin de perodos refractarios, limitanmucho la velocidad de la neurona biol ica el ran o de frecuencia de los

    30

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    31/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    mensajes, que oscila entre unos pocos y algunos cientos de hertzios. Por ello,el tiempo de respuesta se ve limitado al orden de milisegundos, mucho ms

    lenta que un circuito electrnico.

    Los or enes: La neurona de McCulloch Pitts

    En 1943 McCulloch y Pitts publicaron un trabajo en el que se hablaba, poprimera vez, de las neuronas artificiales y de cmo stas podran realizarclculos lgicos en redes neuronales. El modelo de neurona artificial propuesto

    consista en una unidad binaria de umbral similar a la que se observa enla Fi ura 3 en la ue se ueden distin uir los

    31

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    32/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Conjunto de conexiones de entrada.

    Valor de salida (binario).

    Funcin de proceso.

    Umbral de activacin.

    Figura 3. Neurona de McCulloch-Pitts

    En definitiva, se trata de una unidad de proceso con n entradas,x1,...,xn y unanica salida (y), con dos nicos valores de salida posibles y constantes.La unidad realiza una funcin de proceso sobre los valores de las entradas, ysi el valor obtenido supera un umbral de activacin, se activa produciendocomo respuesta el valor de activacin. Por el contrario, si el resultado deaplicar la funcin de proceso a los valores de entrada no superara esteumbral, la neurona ermanecera inactiva su salida sera nula.

    32

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    33/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    La funcin de proceso de las entradas es, tpicamente, una suma ponderada de

    los valores de las mismas, lo que significa que no todos los valores de entradatienen igual aportacin para la suma, sino que cada uno de ellos se modificamultiplicndolo por un valor de ponderacin o peso, wi, antes de procedera sumar. Expresado de manera formal, el comportamiento de la neuronase corres ondera con una funcin de la forma:

    [1]

    donde representa a la funcin escaln; wi son los pesos sinpticos y u elumbral de activacin. Obsrvese que en funcin del signo de los pesossinpticos, estos pueden actuar tanto como activadores (signo positivo) comoinhibidores si no ne ativo .

    Como se puede observar, este modelo de neurona artificial presenta

    33

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    34/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    numerosas analogas con las neuronas biolgicas: los cables o conexiones sonanlogos a dendritas y axones, los pesos de ponderacin de las conexiones

    equivalen a las sinapsis y el umbral de activacin representa la actividad delsoma.

    En la practica, y por simplificar la notacin y la programacin, se suele empleael "truco" de incluir el umbral de activacin dentro del sumatorio. Para ello, se lemodela como una entrada "fantasma" x0de valor siempre idntico a la unidad,a la ue se asi na un eso de w0=u. De esta forma, la ex resin ueda como:

    [2]

    similar a la anterior, con la salvedad de que, en esta ocasin , ha desaparecidoel umbral, pero se consideran las entradas a partir del subndice 1 y no delsubndice 0. Ahora bien, si se observa la expresin, no cuesta reconocer en

    34

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    35/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    ella la del producto escalar de dos vectores. Por tanto, basta considerarel conjunto de n entradas de una neurona como un vector X de dimensin

    n+1(recurdese que se arrastra la entrada x0=1), y el conjunto de pesos dela neurona como otro vector W de la misma dimensin, ara ue la ex resin

    [3]

    donde el operador "asterisco" (*) representa el producto escalar de dosvectores.

    Desde la publicacin del trabajo de McCulloch y Pitts ha habidonumerosas generalizaciones a su modelo de neurona, pero la ms empleadaconsiste en la sustitucin de la funcin de salida que, en lugar de realizarse atravs de una funcin escaln, se suele sustituir por una funcin rampa,

    aussiana o si moide Fi ura 2 B , ca itulo anterior .

    35

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    36/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    La ms empleada de todas es esta ltima, quecorresponde a la expresin: g(x)=1/[1+exp(-bx)], donde bes el parmetro que define la pendiente de la curva.El Listado 1 define en C++ todo elcdigonecesarioparauna neurona artificial como la expuesta. Obsrvese quelas expresiones son tan simples porque tanto los pesoscomo las entradas se expresan en formadevector.Enelejemplo, con fines didcticos, no se ha empleado el"truco"de laentrada nmero 0 y se indica explcitamente

    el valor de umbral. Como ilustracinde lasimplicidaddelconcepto, el Listado 1 es adecuado. Sin embargo, laneurona artificial del mismo es "tonta", ya que no escapaz de aprender. Su comportamiento depender de laforma en que se inicialice el vector de pesos. Portanto, para que sea de utilidad, ser necesario dotarlade la ca acidad de a render eneralizar

    Listado 1. Neurona Artificial "tonta"class neurona_t {private:

    vector_t __pesos;float __umbral_activacion;

    public:neurona_t(void):

    __pesos(NUM_ENTRADAS) {__umbral_activacion=0:

    }int salida(vector_t entrada {return(__pesos * entrada >

    __umbral_activacion) ? 1 : 0;}

    }; //class neurona

    36

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    37/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Aprendiendo y generalizando

    Cmo se ensea a un nio a reconocer lo que es un osito? Se le enseanejemplos de osito y se le dice "esto es un osito". Cuando el nio ve un "patito"dice "osito", se le corrige y se le dice "esto es un osito". Durante esta etapa delaprendizaje del nio, se puede esperar que si se vuelven a presentar algunosde los ejemplos que ya han aparecido y se le pregunta "es esto un osito?", elnio responder correctamente. Pero no slo eso. A partir de cierto momento,si se le ensea al nio nuevos objetos, que no haya visto jams antes, se podr

    esperar que sea tambin capaz de identificar cules de ellos son ositos ycules no. Por supuesto, para que el aprendizaje sea efectivo, ser necesarioque el nio haya tenido un nmero suficiente de ejemplos y que estos hayansido suficientemente representativos. No basta con ensearle slo un osito, niun conjunto de ositos "picassianos". Por otra parte siempre habr casos en losque no estar muy claro si determinado peluche es un osito o cualquier otroanimal y es que, como dira Platn, intuimos la idea (el eidos) de "el osito" apartir de realizaciones concretas de osito, que no son sino la sombra de ste enla caverna.

    37

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    38/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    La capacidad de generalizacin de los ejemplos concretos conocidos a la clasegeneral, es uno de los ingredientes de la inteligencia. Pero, cmo puede

    aprender una neurona artificial? El primero en responder a esta cuestinfue Donald O. Hebb, que de las observaciones de experimentosneurobiolgicos dedujo que si las neuronas de ambos lados de unasinapsis se activan simultneamente repetidas veces, el valor de la sinapsisse incrementa. Este principio es lo que se conoce como postulado deaprendizaje de Hebb. As pues, el aprendizaje de una neurona y de una redneuronal se traduce en la adaptacin de los pesos de sus conexionessin ticas, ara disminuir el error entre la salida roducida ante una entrada

    En el Listado 2, se puede observar una neurona ya provista de capacidad deaprendizaje gracias al mtodo entrenamiento_supervisado, que acepta comoargumentos un vector de entrada y una salida correcta, y devuelve 0 en casode acierto 1 en caso de fallo.

    38

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    39/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Listado 2. Neurona Artificial capaz de aprender

    class neurona_t {

    private:vector_t __pesos;float __umbral_activacion;float __tasa_aprendizaje;

    public:neurona_t(void): __pesos(NUM_ENTRADAS)

    {__umbral_activacion=0;__tasa_aprendizaje=0.1;

    }int salida(vector_t entrada) {

    return (__pesos * entrada >__umbral_activacion) ? 1: 0;

    }int entrenamiento_supervisado(vector_t

    entrada, int salidaOK) {int resultado=salida(entrada);if (resultado != salidaOK) {

    if (resultado > salidaOK) {__pesos=__pesos -

    39

    (__tasa_aprendizaje * entrada);__umbral_activacion +=

    __tasa_aprendizaje;}else{

    __pesos=__pesos +(__tasa_aprendizaje * entrada);

    __umbral_activacion -=__tasa_aprendizaje;}

    return 1;}else{return 0;

    }}float getUmbralActivacion (void) const {

    return __umbral_activacion; }float getTasaAprendizaje (void) const {

    return __tasa_aprendizaje; }

    vector_t getPesos (void) const {return __pesos; }}; //class neurona_t

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    40/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    El perceptrn de Rossenblatt

    El primero al que se le ocurri una aplicacin prctica para la neuronade McCulloch y Pitts, y aplicando las ideas de aprendizaje de Hebb, fueFrank Rossenblat que a finales de los aos 50 le iba dando vueltas a laidea de construir una mquina capaz de reconocer objetos de forma visual.

    De esta forma, en 1958 naci el Perceptrn, la primera red neuronal de lahistoria, compuesta por la astronmica cantidad de 1 neurona! El diseo delperceptrn consista en una capa de elementos sensores, cuyas salidas seconectaban a las entradas de una neurona de McCulloch-Pitts (como se puedeobservar en la Figura 4) a travs de detectores de umbral. El nmero dedetectores de umbral era inferior al de elementos sensores, por lo que undetector oda conectarse a ms de un sensor. La distribucin de estas

    40

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    41/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Figura 4. El perceptrn de Rossenblatt

    El perceptrn gener gran inters no slo por su capacidad de generalizara partir de sus vectores de entrenamiento, sino tambin por el hechode

    41

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    42/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    comportarse correctamente, an cuando sus entradas se conectaban de formaaleatoria. En primer lugar se procede a entrenar a la red neuronal de una nica

    neurona. Si el entrenamiento finaliza con xito (como se ver msadelante, Minsky y Papert demostraron que esto no es siempre posible), seaprovechar la capacidad de generalizacin del perceptrn para "pedirle"ue clasifi ue nuevas entradas en funcin de lo a rendido.

    Si se presenta a la red un vector de entrada que no se encuentra en el conjuntode entrenamiento, el perceptrn mostrar una capacidad degeneralizacin, clasificndolo correctamente (si ha aprendido correctamente,

    claro est).Aprendizaje del perceptrn.

    El proceso de aprendizaje del perceptrn consiste en la presentacin al mismode un conjunto de vectores de aprendizaje. El perceptrn no aprende cuandosu salida es correcta. Sin embargo, si es incorrecta se reajustan los pesossin ticos de acuerdo a una re la de a rendiza e.

    42

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    43/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Se considera que el aprendizaje se ha completado cuando el perceptrnsupera una pasada completa de todos los vectores de entrenamiento, sin

    cometer nin n error.

    Rossenblatt desarroll una regla de aprendizaje para el perceptrn, queconsiste en actualizar los esos de la si uiente forma:

    wi = wi + n*(d-y)*xi

    donde wi, es el peso asignado a la entrada i-sima, xi; n es un valordenominado tasa de aprendizaje que se suele ajustar entre 0 y 1; d es el valotericamente correcto de la salida; e yes el valor de salida que ha producido elperceptrn. La actualizacin del valor umbral, queda implcita en laecuacin anterior si se consideran las entradas y pesos de ndice 0. De formaex lcita:

    Siendo u, nuevamente, el umbral de activacin.

    De la tasa de aprendizaje depender la velocidad y la correccin con que elperceptrn aprender. A tasa mayores, mayor velocidad en principio, aunque

    43

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    44/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    tambin mayor riesgo de producirse oscilaciones en el ajuste. La neurona delListado 2 (captulo III), aprende segn la regla de aprendizaje de Rossenblatt.

    Rossenblatt tambin demostr, con su regla de aprendizaje, que si los patronesde entrenamiento se tomaban de dos clases linealmente separables (conceptoque se explica en el prximo captulo), el procedimiento de aprendizaje delperceptrn converga en un nmero finito de pasos. A esto se le llama teoremade convergencia del perceptrn. En lenguaje simple y llano significa que "si elerce trn uede a render, con esta re la a rende".

    Sin embargo, los patrones de entrenamiento no son siempre linealmenteseparables y , por tanto, existen categoras que un perceptrn no es capaz deaprender a clasificar. Esto es lo que Minsky y Papert demostraron, como seex lica en el si uiente a artado.

    La importancia de tener un buen profesor

    Obsrvese que el conocimiento adquirido por una red neuronal es subsimblico, ya que seencuentra en los pesos. Esto es un problema debido a que, si bien con redes simples esposible saber qu ha aprendido la red, con redes complejas apenas se puede obtener msque una compleja expresin matemtica de su funcin de transferencia. Esto ha conducido a

    44

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    45/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    situaciones problemticas como la de hace algunos aos en la que el ejrcito americanoemple una red neuronal para analizar las fotografas tomadas desde satlites espa. Elobjetivo era reconocer la presencia de tanques en las fotografas, pero cometieron la torpezade emplear un conjunto inapropiado de fotografas de entrenamiento. As la red aprendi adistinguir sin ningn error entre todas las fotografas utilizadas para el entrenamiento, aquellasque presentaban tanques de las que no los presentaban. Pero durante la fase posterior deoperacin comenz a cometer muchos errores. Al final se descubri que la red habaaprendido a reconocer nubes, no tanques, y todas las fotografas de entrenamiento quepresentaban tanques, tambin presentaban nubes! Por tanto, la eleccin de los vectores deentrenamiento es un aspecto fundamental en el entrenamiento de una red neuronal.

    Minsk Pa ert: comienza la eta a oscuraCuando la investigacin sobre redes neuronales se ofreca tan prometedora,Minsky y Papert publicaron un trabajo que sumira esta lnea de investigacinpoco menos que en el conjunto de las proscritas durante un perodo de veinteaos, ya que demostraron muchas de las limitaciones del perceptrn.Entre estas limitaciones se encontraba la de no ser capaz de aprender una

    operacin lgica tan bsica como el Or-exclusivo oXOR, que da la casualidadde que es el operador de comparacin. As pues, un perceptrn no era capazde indicar si sus entradas eran i uales o distintas.

    45

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    46/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Como se ha indicado, un perceptrn es una red neuronal de una nica

    neurona. Por tanto, su funcin de salida se corresponder con la de la frmula1 del captulo II. Ahora bien, dado que la salida del perceptrn es binaria,o devuelve el valor de activacin o devuelve el valor nulo. Por tanto, estclaro que divide el espacio muestral de vectores de entrada en dos regiones.si el perceptrn tiene dos entradas, el vector de entrada tendr dimensindos, por tanto, todas las entradas se pueden representar como puntos enun plano, considerando la primera entrada como coordenada x y lasegunda como coordenada y. La funcin de salida del perceptrn ser:

    1 si w1*y1 + w2*y2 - u > 00 si w1*y1 + w2*y2 -u

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    47/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    la ecuacin de una recta en el plano. Si el perceptrn tiene tres entradas, por elmismo razonamiento los vectores de entrada pueden considerarse

    coordenadas en el es acio la divisin entre las dos re iones

    correspondientes a cada posible salida, ser un plano. En general, paracualquier nmero de entradas, el lmite entre estas dos regionesviene determinado or la zona de transicin de la funcin escaln, es decir:

    que se corresponde con un hiperplano de dimensin n-1 en un espaciovectorial de dimensin n. Esto es lo que se conoce como condicin dese arabilidad linealdel es acio de entrada Fi ura 5 A .

    Esta condicin nos dice que, para que un perceptrn pueda distinguir entre doscategoras, stas deben ser separables linealmente o de lo contrario el

    47

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    48/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    perceptrn ser incapaz de aprender. Ahora bien, supngase que se trata deentrenar un perceptrn para que clasifique entradas segn dos categoras que

    se corresponden con una operacin lgica tan simple como un XOR. Es decir,las entradas pertenecen a una categora si ambas son iguales y a otra siambas son distintas. Bien, fjese el lector en el problema del XOR,representado en la Figura 5(B). Trate de separar las 2 categoras definidas pola tabla de verdad del XOR, mediante una nica linea recta: imposible. Elproblema surge cuando se desea emplear un perceptrn para reconoceratrones no se sabe, a riori, si estos son linealmente se arables.

    48

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    49/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Figura 5. A) Condicin de separabilidad lineal. B) El problema del XOR.

    49

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    50/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    El problema del perceptrn no era difcil de encontrar. Es fcil demostrar que sise generaliza la idea del perceptrn a un perceptrn multicapa (con una

    segunda capa de neuronas, procesando la salida de la primera capa), esposible realizar cualquier operacin lgica. El problema es que, al trabajar conredes multicapa, no se sabe sobre los pesos de qu neurona ni de qu caparecae la responsabilidad de los errores de la red. As pues, no existaposibilidad de entrenar este tipo de redes neuronales.En este punto se qued la investigacin en temas de redes neuronales afinales de los aos 60. Durante un perodo de 20 aos, las instituciones apenasse atrevan a financiar ningn trabajo que girara alrededor de las mismas, ya

    ue areca un camino sin salida.

    Sin embargo, a principios de los 80, esta disciplina resurgi de suscenizas. Apareci el algoritmo de retropropagacin, capaz de entrenaperceptrones multicapa, y con l una plyade de nuevas arquitecturas yalgoritmos de entrenamiento basadas en diversas ideas, desde la original

    de Rossenblatt, hasta la mecnica estadstica. Y en este nuevo perodo dees lendor de la neurocom utacin, se ha encontrado en otra disci lina de

    50

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    51/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    de las mejores formas de entrenar una red neuronal de cualquier grado decom le idad: el uso de al oritmos enticos.

    Fernando J. Echevarrieta (Programacin Actual N 30)

    51

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    52/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Algoritmos genticos

    52

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    53/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Los algoritmos genticos (AG) proporcionan un mtodo de aprendizaje basadoen la analoga con la evolucin de las especies. Los AG generan un conjunto

    de hiptesis mediante la mutacin y recombinacin de parte del conjuntode hiptesis conocido. En cada paso el conjunto de hiptesis conocidocomopoblacin actual se renueva remplazando una proporcin de esta poblacinor los sucesores de las hi tesis ms adecuadas mediante el uso de una

    La popularidad de los AG se debe en parte a que la evolucin es un mtodorobusto y bien probado dentro de los sistemas biolgicos naturales.

    Adems son fcilmente paralelizables, lo que supone una ventajagracias al

    abaratamiento actual de los costes en hardware. Por otra parte, los AG puedenrealizar bsquedas en espacios de hiptesis que contienen complejasinteracciones entre las distintas artes, donde el im acto de cada arte sobre la

    Aunque no se garantice encontrar la solucin ptima, los AG generalmente

    encuentran soluciones con un alto rado de acierto.

    53

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    54/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    El objetivo de los AG es buscar dentro de un espacio de hiptesis candidatas lamejor de ellas. En los AG la mejor hiptesis es aquella que optimiza a una

    mtrica predefinida para el problema dado, es decir, la que ms se aproxima adicho valor numrico una vez evaluada or la funcin de evaluacin.

    El comportamiento bsico de un algoritmo gentico es el siguiente: de formaiterativa va actualizando la poblacin de hiptesis. En cada iteracin, todos losmiembros de la poblacin son procesados por la funcin de evaluacin, tras locual una nueva poblacin es generada. La nueva generacin estar compuestaor:

    - Las mejores hiptesis de la poblacin actual(seleccionadas probabilsticamente)

    - Y el resto de hiptesis necesarias para mantenerel nmero, que se consiguen mediante el cruce deindividuos. A partir de dos hiptesis padre

    (seleccionadas probabilisticamentea partir de la poblacin actual) se generan doshiptesis hijas recombinando sus partes siguiendo

    54

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    55/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Una vez llegados a este punto (con una nueva poblacin con el mismo nmerode individuos), a un determinado porcentaje de la poblacin se le aplica un

    o erador de mutacin.R ep r esentac in de H iptes is

    Las hiptesis en los AG se suelen representar mediante cadenas de bits, deforma que puedan ser fcilmente manipulables por los operadores genticos demutacin cruce.

    Primero veamos como usar una cadena de bits para representar los posiblesvalores de un atributo. Si un atributo puede tomar tres valores posibles (A,BC , una manera de re resentarlo es mediante tres bits de forma ue:

    Atributo (100) = puede tomar el valor AAtributo (010) = puede tomar el valor BAtributo (001) = puede tomar el valor C

    Atributo (110) = puede tomar el valor A B (A or B)Atributo (111) = puede tomar el valor A, B C (A or B or C). No importa el valordel atributo.

    55

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    56/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    De esta forma podemos representar fcilmente conjunciones de variosatributos para expresar restricciones (precondiciones) mediante la

    concatenacin de dichas cadenas de bits. E em lo:Tiempo puede ser Despejado, Nublado o Lluvioso.Viento puede ser Fuerte o Moderado.

    (Tiempo = Nublado Lluvioso) y (Viento = Fuerte) se representara con lasi uiente cadena: 011 10.

    Las postcondiciones de las reglas se pueden representar de la misma forma.Por ello una regla se puede describir como la concatenacin de la precondicin

    la ostcondicin. E em lo:

    JugaralTenis puede ser Cierto o Falso.

    Si Viento = Fuerte entonces JugaralTenis = Cierto se

    representara mediante la cadena 111 10 10. Donde los tres primeros bits auno indican ue el atributo Tiem o no afecta a nuestra re la.

    56

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    57/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Cabe destacar que una regla del tipo 111 10 11 no tiene demasiado sentido,puesto que no impone restricciones en la postcondicin. Para solucionar esto,

    una alternativa es codificar la postcondicin con un nico bit (1 = Cierto y 0 =Falso). Otra opcin es condicionar los operadores genticos para que noproduzcan este tipo de cadenas o conseguir que estas hiptesis tenganuna adecuacin muy baja (segn la funcin de evaluacin) para que nolo ren asar a la rxima eneracin de hi tesis.

    Ope r ado r es Genticos

    Los dos operadores ms comunes son la mutacin y el cruce.El operador de cruce genera dos nuevos hijos a partir de dos cadenas padrerecombinando sus bits. Para elegir con que bits contribuye cada padrehacemos uso de una mscara de cruce. Veamos un par de ejemplos:Cruce Simple:

    Cadenas padre Mascara de Cruce Hijos

    11101001000 11101010101

    57

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    58/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    11111000000

    00001010101 00001001000

    Cruce Doble:

    Cadenas padre Mascara de Cruce Hijos

    11101001000 11001011000

    0011111000000001010101 00101000101

    El operador mutacin produce un nuevo hijo de un solo padre cambiando elvalor de uno de sus bits elegido al azar. Generalmente se aplica despus dehacer uso del o erador cruce.

    Otros operadores genticos son AddAlternative y DropCondition. El primerode ellos cambia un bit de un atributo de 0 a 1, es decir, ermite ue el atributo

    58

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    59/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    pueda tomar el valor representado por dicho bit. El segundo pone todos los bitsde un atributo a 1, con lo ue elimina la restriccin im uesta or el atributo.

    Una posibilidad interesante que surge con la aplicacin de estos operadores,es la de incluir nuevos bits en las cadenas que representan las hiptesis y queindiquen que operadores pueden ser aplicados a dicha hiptesis (aadiendo unbit por operador). Como estos bits van a sufrir modificaciones a causa de losoperadores aplicados a la cadena, estaremos alterando dinmicamente losmtodos de bs ueda del al oritmo entico.

    Func in de e v a luac in y se lecc in

    La funcin de evaluacin define el criterio para ordenar las hiptesis quepotencialmente pueden pasar a formar parte de la siguiente generacin.La seleccin de las hiptesis que formarn parte de la siguiente generacin oque sern usadas para aplicarles los operadores genticos, puede realizarsede varias formas. Las ms usuales son:

    59

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    60/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    - Seleccin proporcional al ajuste dado por la funcin deevaluacin. En este mtodo la probabilidad de que una hiptesis

    sea seleccionada viene determinada or:

    Figura 1 - Probabilidad de que la hiptesis hi sea elegida.

    - Seleccin mediante torneo. Se eligen dos hiptesis al azar. Lams adecuada (segn la funcin de evaluacin) tiene unaprobabilidad p (prefijada de antemano) de ser elegida, mientrasue la otra tiene una robabilidad 1 .

    - Seleccin por rango. Las hiptesis de la poblacin actualse ordenan de acuerdo a su adecuacin. La probabilidadde que una hiptesis sea seleccionada ser proporcional a

    60

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    61/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    su posicin en dicha lista ordenada, en lugar de usar elvalor devuelto or la funcin de evaluacin.

    Bsqueda en el espacio de Hiptesis

    Una de las dificultades que nos encontramos en algunos algoritmos genticoses el problema del crowding (muchedumbre). Se trata de un fenmeno por elcual las mejores hiptesis se reproducen rpidamente de manera que lasnuevas generaciones una gran proporcin se debe a stas hiptesis y a otrasmuy similares (descendientes), reduciendo as la diversidad de la poblacin, y

    por lo tanto, las posibilidades de la evolucin. Para reducir los efectos delcrowding se usan varias estrategias. Una solucin consiste en cambiarel mtodo de seleccin habitual (seleccin proporcional al ajuste) por algunode los otros vistos con anterioridad (seleccin mediante torneo o seleccinpor rango). Otra opcin consiste en usar otra funcin de evaluacin,ajuste compartido, de manera que el valor devuelto por esta funcin sedevala ante la presencia de otras hiptesis similares en la poblacin. Yuna tercera alternativa es restringir el tipo de hiptesis a los que seles permite la recombinacin.

    61

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    62/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Programacin Gentica

    La programacin gentica (PG) es una forma de computacin evolutiva en laue los individuos de la oblacin son ro ramas, en lu ar de cadenas de bits.

    R ep r esentac in de P r o g r amas

    Los programas usados en la programacin gentica suelen representarsemediante sus rboles sintcticos. En esta notacin, cada llamada a una funcinse representa por un nodo en el rbol, y los argumentos de la funcin

    corresponden con los nodos hijos de ste. Para aplicar programacin genticaa un dominio particular, es necesario que el usuario defina de antemanolas primitivas que se van a emplear as como el tipo de los nodos hoja.Por lo tanto, la programacin gentica realiza una bsqueda evolutiva en unes acio de ro ramas descritos mediante sus arboles sintcticos.

    De igual forma que los algoritmos genticos, la programacin gentica

    itera sobre una poblacin de individuos produciendo una nuevaeneracin mediante el em leo de la seleccin, el cruce la mutacin. La

    62

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    63/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    un programa viene determinada por los resultados de su ejecucin sobre unosdatos de entrenamiento funcin de evaluacin .

    As, por ejemplo, el operador de cruce se implementa mediante el intercambiode subrboles entre ro ramas adres.

    En la mayora de los casos, el rendimiento de la programacin genticadepende bsicamente de la representacin elegida y de la eleccin de lafuncin de evaluacin.

    63

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    64/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Figura 2 - Representacin de un programa mediante su rbol.

    Modelos de evolucin y aprendizaje

    En muchos sistemas naturales, los individuos aprenden a adaptarsedurante sus vidas. Al mismo tiempo distintos procesos biolgicos y socialespermiten a la especie adaptarse a lo largo de las distintas generaciones, po

    lo que surge una interesante pregunta: Cul es la relacin entre el aprendizajeindividual de un or anismo durante su vida el a rendiza e colectivo de

    64

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    65/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    A esta cuestin intentan responder la teora de la evolucin Lamarckiana y lateora del efecto Baldwin.

    E v o luc in Lama r ck iana

    Lamarck (cientfico de finales del siglo XIX) propuso que la experiencia de unindividuo afecta directamente a su descendencia, por lo que el conocimientosera hereditario y las siguientes generaciones no necesitaran adquirirlo. Setrata de una conjetura que mejora la eficiencia de los algoritmos genticos y laprogramacin gentica, en las cuales se ignoraba la experiencia adquirida por

    el individuo durante su vida.

    Aunque biolgicamente esta teora no es correcta como modelo de evolucin,sin embargo si es perfectamente aplicable al caso de la computacin gentica,donde recientes estudios han demostrado su capacidad para mejorar laefectividad.

    65

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    66/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    E l efecto Ba ld w in

    Se trata de otro mecanismo que sugiere como el aprendizaje de un individuopuede alterar el curso de la evolucin de la especie. Se basa en las siguientesafirmaciones:

    - Si una especie evoluciona en un entorno cambiante, entonceslos individuos capaces de aprender durante su vida se vernfavorecidos. De hecho, la habilidad para aprender permite a losindividuos maximizar su capacidad de adaptacin en el entorno.- Los individuos con capacidad de aprendizaje dependern en

    menor medida de su cdigo gentico. Como consecuencia de loanterior las nuevas generaciones poseern una diversidadgentica mayor, lo que permitir una evolucin ms rpida. Enresumen, la capacidad de aprendizaje de algunos individuosprovoca indirectamente una aceleracin en la evolucin de toda lapoblacin.

    66

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    67/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Paralelismo en Algoritmos Genticos

    Los algoritmos genticos son fcilmente paralelizables. A continuacin semuestran las osibilidades de aralelismo con AGs:

    - G r ano G r uesoSe subdivide la poblacin en una serie de grupos distintos(siguiendo algn criterio), llamados demes. Cada uno de estosgrupos se asigna a un nodo de computacin distinto, ya continuacin se aplica un AG en cada nodo. Los operadores

    de cruce se aplicaran generalmente entre individuos delmismo grupo, y en menor porcentaje, entre individuos dedistintos grupos. En este entorno surge un nuevo concepto,denominado migracin, que se produce cuando un individuode un grupo se copia o se traslada a otro/s. Un beneficio delmodelo de grano grueso es que se reduce el efecto crowdingque apareca en los AG no paralelizados.

    - G r ano F ino

    Se asigna un procesador a cada individuo de la poblacin.La recombinacin se efecta entre individuos vecinos en la redde

    67

    www .cib erpunk.com

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    68/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    computacin. Algunos ejemplos de redes de procesadores(especifican las reglas de vecindad) son la malla, el toroide, etc.

    Ejercicio

    Disear un algoritmo gentico que aprenda a clasificar conjunciones de reglasara el problema Jugar al Tenis descrito en el captulo 3 [nota]. Describedetalladamente la codificacin de la cadena de bits para las hiptesis y elcon unto de o eradores de cruce.

    La expresin que soluciona el problema es la siguiente:(Tiempo=Soleado y Humedad=Normal) o(Tiempo=Nublado) o(Tiempo=Lluvioso y Viento=Debil)Los posibles valores de los atributos son:Tiempo=(Soleado,Nublado,Lluvioso)Humedad=(Alta,Normal)Viento=(Fuerte,Debil)JugarTenis=(Si,No)

    68

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    69/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Por lo tanto, para la cadena de bits de las hiptesis usaremos tres bits paraTiempo, dos para Humedad, dos para Viento y uno para JugarTenis. As,por ejemplo:

    Si (Tiempo=Soleado y Humedad=Normal y Viento=Fuerte) -> JugarTenis=Sise ex resara como: 100 01 10 1

    Como la solucin buscada es la disyuncin de tres de estas reglas, las cadenasde bits de nuestras hiptesis estarn formadas por la concatenacin de trescadenas. E em lo:

    100 01 10 1 + 010 10 10 1 + 100 10 01 1

    En cuanto al operador de cruce, elegiremos uno de tipo uniforme con lasi uiente mscara:

    Mscara de cruce = 11000011 11000011 11000011

    Para elegir las hiptesis que pasarn a la siguiente generacin, o que sernelegidas para sufrir las operaciones de cruce, usaremos una seleccinrobabilstica tal ue: ver F i u r a 1

    69

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    70/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    A la hora de implementar el algoritmo, haremos uso de los siguientes

    armetros:r= % poblacin que sufrir la operacin de crucep= nmero de hiptesis de la poblacinm= % de individuos hi tesis ue mutan

    Durante las iteraciones del algoritmo:a) (1-r)p pasarn a la siguiente generacin (Ps) intactos

    b) (r*p)/2 parejas de hiptesis realizarn la operacin de crucec) Y el m porciento de la nueva poblacin sufrirn mutaciones. Este mporciento se elige con una probabilidad uniforme.

    Func in F itness ( func in de e v a luac in)

    Dispondremos de una base de datos de entrenamiento, compuesta por

    cadenas de 7 bits tal que nos indique que condiciones habrn de darse parau ar o no al tenis. Por e em lo:

    70

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    71/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    100 01 10 1 = (Tiempo=Soleado y Humedad=Normal) -> Si

    En nuestro ejemplo, el nmero de combinaciones posible es 3x2x2=12 (lo cualno es mucho y nos permite tener una muestra de entrenamiento completa).El objetivo de la funcin es el de comprobar el porcentaje de reglas deentrenamiento que nuestra hiptesis es capaz de clasificar correctamente para,de esta forma, dotar a cada individuo de un valor numrico indicativo desu recisin a uste al modelo buscado .

    Nuestra hiptesis (individuo) se puede representar en tres partes (A,B y C)

    donde Z es el bit que indica si se juega o no al tenis en cada caso.

    A B C

    x x x x x x x x x x x x x x x x x x x x x x xx

    Nuestra funcin de evaluacin tomar una hiptesis y la procesar con todo elconjunto de entrenamiento. Una cadena de entrenamiento se representa de lasiguiente forma (donde R es el bit que indica si se juega o no al tenis):

    71

    www .cib erpunk.comPublicado ori inalmente en htt ://cinefantastico.com/nexus7/

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    72/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Entrenamiento

    x x x x x x x x

    Data (7 bits) R

    Esta cadena de entrenamiento se compara con cada una de las partes de lahiptesis para ver si alguna de las tres la clasifica correctamente. Para saber siuna parte clasifica bien una regla de entrenamiento procederemos de lasi uiente forma:

    Si R=1 entoncesSi ( (Entrenamiento AND A) = Entrenamiento)devolver SISino devolver NO

    Si R=0 entoncesSi ( (Data AND A) = Data)

    Si R=Z devolver SISino devolver NO

    Sino devolver NO

    72

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

    I li i A ifi i l i l hi b D id D ( di )

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    73/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    Si se ha devuelto SI, procedemos con el siguiente dato de entrenamiento. Si seha devuelto NO, evaluamos la siguiente parte del individuo (B y despus C).

    Para cada individuo, la funcin de evaluacin realiza esta tarea con todos losdatos de entrenamiento, devolviendo un nmero entre 0 y 1 que indiqueel porcentaje de clasificaciones correctas de la hiptesis actual (0% a 100%).

    As pues, cada individuo estar asociado a un valor numrico queusar

    Funcin AG (Fitness,Umbral,p,r,m)

    {Inicializar poblacin P.Para cada hiptesis en P, calcular Fitness.Mientras que max(Fitness) < Umbral hacer

    Seleccionar (1-r)p individuos de P quepasan a Ps.Elegir (r*p)/2 parejas de P y aplicarlesoperadores de cruce. Aadir los hijos aPs.Elegir m porciento sobre Ps y aplicar

    73

    www .cib erpunk.comPublicado originalmente en http://cinefantastico.com/nexus7/

    I t li i A tifi i l i l t hi b D id D ( dit )

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    74/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    }

    mutacin.P

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    75/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    adecuado podemos mejorar la aptitud promedio de la poblacin,obteniendo nuevos me ores individuos , or lo tanto, me ores soluciones.

    Se consigue un equilibrio entre la eficacia y la eficiencia. Este equilibrio esconfigurable mediante los parmetros y operaciones usados en el algoritmo.

    As, por ejemplo, bajando el valor del umbral conseguiremos una rpidasolucin a cambio de perder en calidad. Si aumentamos dichovalor, tendremos una mejor solucin a cambio de un mayor tiempo consumidoen la bsqueda. Es decir, obtenemos una buena relacin entre la calidadde la solucin el costo.

    Quizs el punto ms delicado de todo se encuentra en la definicin de lafuncin de evaluacin. Al igual que en el caso de la heurstica, de su eficaciadepende el obtener buenos resultados. El resto del proceso es siempre elmismo ara todos los casos.

    La programacin mediante algoritmos genticos suponen un nuevoenfoque que permite abarcar todas aquellas reas de aplicacin donde nosepamos como resolver un problema, pero si seamos conscientes de quesoluciones son buenas y cuales son malas. Desde aplicaciones evidentes,como la biologa o

    75

    I t li i A tifi i l i l t hi b D id D ( dit )

  • 7/29/2019 inteligencia artificial, robotica, neurocomputacin, program

    76/76

    Inteligencia Artificial, programacin neuronal y otras hierbas por David Daz (editor)

    la medicina, hasta otros campos como la industria (clasificacin de piezas encadenas de montaje). Los algoritmos genticos poseen un importante papel en

    aplicaciones de bsqueda y optimizacin, pero desde nuestro punto de vista,es en el aprendizaje automtico donde encuentra un estupendo marco detrabajo. La capacidad que poseen para favorecer a los individuos que explicanbien los ejemplos, a costa de los que no lo hacen, consigue una nuevageneracin con mejores reglas y, por lo tanto el sistema ser capaz de ia rendiendo a conse uir me ores resultados.

    Gastn Crevilln y David Daz, 2001

    Bibliografa: "Machine Learning" (Tom M. Mitchell)

    76

    www .cib erpunk.com