Inteligente 2

download Inteligente 2

of 36

Transcript of Inteligente 2

  • 7/23/2019 Inteligente 2

    1/36

    UNIDAD 2. CONTROL EVOLUTIVO

    Los algoritmos genticos estn fundamentados en la evolucin de losseres vivos. La idea principal que se maneja es que la evolucin delos seres vivos es un proceso de optimizacin. La optimizacin en el

    contexto de la evolucin signica que los seres vivos adquieren encada generacin ciertas caractersticas que les permitendesenvolverse mejor en el ambiente que ocupan. A su vez losorganismos vivos tienden a desprenderse de aquellas caractersticasque no tienen muc!o uso para su sobrevivencia " prosperidad. #orejemplo una caracterstica que !a desarrollado el ser !umano es ellenguaje " algunas de las caractersticas sensoriales se !an idoperdiendo para dejar espacio al desarrollo de esta caracterstica queresulta primordial para la prosperidad del ser !umano. Las

    caractersticas que los seres vivos !an desarrollado en el proceso deevolucin son transmitidas !acia las siguientes generaciones.

    La traduccin del proceso de evolucin a un algoritmo gentico serealiza simplicando la evolucin a un proceso que se realiza sobreuna poblacin de individuos que consiste de tres operaciones bsicasque son la seleccin la recombinacin " la mutacin.

    La seleccin natural es un mecanismo que usa la evolucin paraeliminar a los individuos de la poblacin menos adaptados. La

    recombinacin permite legar las caractersticas deseables de unageneracin a su descendencia. La mutacin garantiza la diversidad delos individuos puesto que gracias a la mutacin es posible que ciertosindividuos adquieran caractersticas nuevas que no tienen los padres.A pesar de que la mutacin $piense en los seres !umanos%normalmente signica un deterioro de la adaptacin de los individuossin embargo en casos excepcionales puede signicar la aparicin deun individuo con alta valoracin en la adaptacin.

    &e acuerdo a lo mencionado los algoritmos genticos estncompuestos de cuatro procedimientos' (nicializacin de la poblacinseleccin recombinacin " mutacin. )ediante estos procedimientoslos algoritmos genticos resuelven problemas de optimizacin.*onviene tener claro que es un problema de optimizacin. Laoptimizacin es encontrar de un conjunto de posibles candidatosaquel que minimiza o maximiza una funcin objetivo.

    La inicializacin convierte al programador en un &ios de unascriaturas que son soluciones posibles al problema que se intenta

    resolver los algoritmos genticos como resultado del mtodocientco

  • 7/23/2019 Inteligente 2

    2/36

    #ag. +, -volutionar" *omputation

    raducido por' /ctor #roa0o 1.

    2 de diciembre de +344

    odos los procesos de aprendizaje son adaptativos. -l aspecto msimportante de los procesos de aprendizaje constitu"e el desarrollo detcnicas implcitas o explcitas para estimar exactamente lasprobabilidades de eventos futuros. #redecir eventos futuros es eltalento de la ciencia. #or tanto es prudente examinar el mtodocientco para encontrar pistas 5tiles en la b5squeda de lograr unaprendizaje efectivo en las mquinas.

    -l mtodo cientco es un proceso iterativo que facilita la adquisicin

    de nuevo conocimiento acerca de los procesos fundamentales de unambiente observable. Los aspectos desconocidos del ambiente sonestimados. Los datos son recogidos en la forma de observacionesprevias o resultados conocidos " combinados con medicionesadquiridas nuevamente. &espus de remover los datos errneosconocidos se generaliza una clase de modelos del ambiente que esconsistente con los datos. -ste proceso es inductivo Luego la clasede modelos es reducida por parametrizacin $proceso deductivo%. -lmodelo especco que !a sido lanzado como !iptesis es probado en

    cuanto a su capacidad de predecir aspectos futuros del ambiente. Losmodelos que !an probado ser de valor son modicados extendidos ocombinados para formar nuevas !iptesis que llevan una 6!erenciade sensatez7.

    -ste proceso es repetido !asta que se alcanza un nivel decredibilidad. 6*onforme las !iptesis correspondan ms " mscercanamente con la lgica del ambiente ellas proveen un6entendimiento7 que es demostrado en trminos de uncomportamiento mejorado en la b5squeda de objetivos en ese

    ambiente.

    #arece razonable explorar mtodos para mecanizar el mtodocientco en una formulacin algortmica tal que una mquina puedallevar a cabo el procedimiento " similarmente adquirir conocimientoacerca del ambiente " adapte su comportamiento para cumplirmetas.

    Algoritmo gentico para obtener control pd en sistema deleitaci!n magntica.

    #or /ctor #roa0o

  • 7/23/2019 Inteligente 2

    3/36

    48 de junio de +344

    9bjetivo' 9btener un controlador pd mediante algoritmos genticos.

    :e usa como funcin de adaptacin el inverso del costo. -l costo se

    obtiene integrando el error cuadrtico durante un tiempo tstop.

    0 5 10 15 20 25 30 350.015

    0.02

    0.025

    0.03

    0.035

    0.04

    0.045

    0.05

    0.055

    -volucin del algoritmo gentico para el control proporcionalderivativo del sistema de levitacin magntica. :e !a usado lossiguientes valores'

    ama0o de la poblacin' 48;5mero de genes en el cromosoma' 2 para

  • 7/23/2019 Inteligente 2

    4/36

    ?2.+,8, ?+.@?4+ 3.3?@3?2.+,8, ?+.@?4+ 3.3?@3?.B?4 ?4.,+8 3.3?8??2.+,8, ?+.@?4+ 3.3?@3?.B?4 ?4.,+8 3.3?8?

    :e observa que el mejor desempe0o se logra con

  • 7/23/2019 Inteligente 2

    5/36

    0 5 10 15 20 25 30 35

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    1.1

    1.2

    1.3

    Figura 3. Variacin de parmetros kp kd

    La evolucin muestra a!ora unos mejores desempe0os que antes. -lindividuo de mejor desempe0o resulta ser a!ora'

  • 7/23/2019 Inteligente 2

    6/36

    *omo curiosidad se evaluar " obtendr la supercie de desempe0opara valores de

  • 7/23/2019 Inteligente 2

    7/36

    La evolucin muestra a!ora unos mejores desempe0os que antes. -lindividuo de mejor desempe0o resulta que se produce en unageneracin anterior a la nal pero el programa actualmente noalmacena ese valor. -n la generacin nal el individuo ms adaptado

    es'

  • 7/23/2019 Inteligente 2

    8/36

    0 1 2 37.5

    8

    8.5

    9

    9.5x 10

    -3

    posicionenm

    0 1 2 3-0.04

    -0.02

    0

    0.02

    0.04

    0.06

    velocidadenm/s

    0 1 2 30.2

    0.4

    0.6

    0.8

    1

    corrienteenA

    Figura #. Simulacin con kp"$$!.1+3% kd"3%.!#3+

    *on longEcrom=BC tam =48 " el rango de

  • 7/23/2019 Inteligente 2

    9/36

    0 0.5 1 1.5 27.5

    8

    8.5

    9

    9.5x 10

    -3

    posicionenm

    0 0.5 1 1.5 2-0.05

    0

    0.05

    0.1

    0.15

    veloc

    idadenm/s

    0 0.5 1 1.5 20.2

    0.4

    0.6

    0.8

    1

    1.2

    corrienteenA

    Figura 1*. Simulacin con kp"(*3.1$ kd"23.#1

    -n este punto se realizar el barrido para

  • 7/23/2019 Inteligente 2

    10/36

    Los algoritmos que permiten la obtencin de los resultados semuestran a continuacin'

    % algoritmo gentico principal general

    pc=0.9;pm=0.1tstop=1inicializa % se inicializa la poblacingeneracion=1generv=[]totalf=[]promed=[]mejorg=0!ilegeneracion"#$ generacion=generacion1

    % pa&se %seleccion

    pob = seleccionfd'tam(long)crom(pob*;

    % disp'+fin de seleccion+*% pob% pa&se

    fori=1,1,tam-

    padre1=pob'i(1,/long)crom*;padre=pob'tami1(1,/long)crom*;% a&2 error en poner tami1 3act&alizar los !ijos en orden 3 no al inicio 3 final.

    [!ijo1(!ijo]=crossoverfd'long)crom(a1(b1(a(b(padre1(padre(pc*;

    pob'i(,*=[!ijo1 0];pob'tami1(,*=[!ijo 0];%tami1%i%pa&se

    end% falta eval&ar los individ&os

    fori=1,1,tam4p=pob'i(/long)crom1*;4d=pob'i(/long)crom*; % error enprograma en clasesim'+mlm+(tstop*pob'i(/long)crom#*=1-'cost/1e5*;% cost

    end

    % disp'+fin de crossover+*% pob% pa&se% m&tacion fori=1,1,tam padre=pob'i(1,/long)crom*; !ijo=m&tacionfd'long)crom(a1(b1(a(b(pm(padre*; pob'i(,*=[!ijo 0];% se crean seres m&tantes 3 clonantes end% falta eval&ar los indivi&dos fori=1,1,tam

    4p=pob'i(/long)crom1*;4d=pob'i(/long)crom*;sim'+mlm+(tstop*

    pob'i(/long)crom#*=1-'cost/1e5*;% cost

  • 7/23/2019 Inteligente 2

    11/36

    end% disp'+fin de m&taciones+*% % pob% % pa&se

    generv=[generv generacion]

    mejor=ma6'pob',(/long)crom#**promedio=s&m'pob',(/long)crom#**-tam'pob',(/long)crom#**+%pa&setotalf=[totalf mejor]promed=[promed promedio]ifmejor7mejorg mejorg=mejorendfig&re'00*plot'generv(totalf(generv(promed*% pob = seleccionf'tam(long)crom(pob*end

    % inicializacin de &na poblacin con tama8o definido tam( longit&ddel% cromosoma long)crom( e intervalo [a1(b1]( [a(b]( etc. &e defineel% rango de valores de las% variables b&scadas% pob es la poblacin inicial

    tam=1$;long)crom=;no.variables=;a1=0;b1=100;a=0;b=100pob=ro&nd'rand'tam(long)crom/no.variablesno.variables1** %el &ltimovalor ser: la adaptacin

    6a=size'pob',(1,long)crom*(*1,1,0; % se generan las ponderacionesde los bits en vector 616b=ones'tam(1*;6c1=pob',(1,long)crom*; % es la matriz con los individ&os6c=pob',(long)crom1,/long)crom*;6d='.long)crom1*;pob',(/long)crom1*='s&m''6b/.6a./6c1*+*+/'b1a1*-6da1*+;pob',(/long)crom*='s&m''6b/.6a./6c*+*+/'ba*-6da*+;

  • 7/23/2019 Inteligente 2

    12/36

    fitin=1;nein=1;!ilenein"=tam if'rns'nein*"prob'fitin** pob)n&eva'nein(,*=pob'fitin(,*; nein=nein1; else

    fitin=fitin1; end

    end

    %%%%%%%%%%%%%%%%%%%%%%%%crossoverf&nction[!ijo1(!ijo]=crossoverfd'long)crom(a1(b1(a(b(padre1(padre(pc*;% global

  • 7/23/2019 Inteligente 2

    13/36

    !ijo',(/long)crom1*=s&m'ponderacion./cromosoma1*/'b1a1*-'long)crom1*a1;!ijo',(/long)crom*=s&m'ponderacion./cromosoma*/'ba*-'long)crom1*a;

  • 7/23/2019 Inteligente 2

    14/36

    A diferencia de un control convencional #(& donde su funcionamientose puede caracterizar a travs de expresiones puramentematemticas el controlador difuso asemeja su comportamiento al deun experto !umano que realiza la accin de control. #ara un !umano

    es ms fcil reconocer las variables fsicas mediante descripcioneslingHsticas. #or ejemplo la expresin 6est fro7 es una descripcinlingHstica que !ace referencia a la variable fsica temperatura "asigna un valor 6fro7 a esta variable fsica. -l valor 6fro7 es un valorlingHstico " la temperatura se convierte en una variable lingHstica.Las descripciones lingHsticas pueden formar instrucciones del tipo6abrir bastante la vlvula de entrada del agua caliente cuando latemperatura del agua es fra7. -stas instrucciones son msentendibles para un !umano antes que instrucciones en lenguajematemtico como' 6abra la vlvula en forma directamenteproporcional a la integral del error entre el valor deseado " valormedido7.

    -l fundamento de los controladores difusos es la lgica difusa. -n lalgica difusa se denen los conjuntos difusos como aquellos quetienen elementos cu"a pertenencia al conjunto no se puedeestablecer con completa certeza. Gn ejemplo es el conjunto de6personas altas7. :urge la pregunta' IGna persona de 4. mpertenece al conjuntoJ #ara responder esta pregunta en la lgica

    difusa se denen funciones de pertenencia que permiten denir elgrado de pertenencia de un elemento al conjunto.

    #ara emular el comportamiento de un controlador !umano elcontrolador difuso descompone su labor en cuatro mecanismos'

    a% )ecanismo de fusicacinb% Kase de reglasc% )ecanismo de inferenciad% )ecanismo de defusicacin

    La base de reglas es el conocimiento del controlador respecto de loque se debe !acer para controlar el proceso. -s un conjunto deinstrucciones del tipo ( premisa D-; consecuencia. La premisa es lacondicin del proceso que se eval5a " la consecuencia es la accinque tomar el controlador. *ada premisa est formada por trminosde variables lingHsticas con su respectivo valor lingHsticoconectados mediante funciones lgicas A;& u 91.

    -l controlador difuso al igual que un controlador convencional #(&

    recibe como entradas valores numricos " debe generar comorespuesta valores numricos. -l mecanismo de fusicacin convierte

  • 7/23/2019 Inteligente 2

    15/36

    los valores numricos de las variables de entrada en valores decerteza de los valores lingHsticos asociados a las variableslingHisticas del controlador. &ebido a que las premisas de las reglasestn compuestas de varios trminos $conjuntos difusos% el

    mecanismo de fusicacin eval5a el resultado de la combinacin detrminos. -sto no es ms que una operacin lgica entre conjuntosdifusos. #ara realizar la operacin lgica A;& entre conjuntos difusosexiste dos posibilidades' obtener el mnimo o realizar el producto. :ise trata de dos trminos o conjuntos difusos el resultado es unconjunto difuso cu"a funcin de pertenencia presenta un grcotridimensional como se muestra en la gura 4,.

    -2

    -1.5

    -1

    -0.5

    0

    -2

    -1.5

    -1

    -0.5

    00

    0.2

    0.4

    0.6

    0.8

    1

    Figura 13. Funcin de pertenencia de una premisa con dos t/rminos

    -l motor de inferencia emula la labor de toma de decisin del !umanobasado en el conocimiento que est expresado en las reglas. La laborprincipal del motor de inferencia es realizar la implicacin. -staoperacin consiste en aceptar la recomendacin de cada reglaaplicando una ponderacin que depende del grado de certeza de laspremisas de cada regla. -sto signica que la accin de control seguirel consejo de aquellas reglas cu"as premisas tengan un ma"or gradode certeza. uncionalmente el motor de inferencia usa la base de

    reglas " los grados de certeza de las premisas " genera comoresultado los conjuntos difusos implicados.

    inalmente el mecanismo de defusicacin obtiene el valor numricode salida del controlador conocido como valor crisp. La obtencin deeste valor numrico se realiza com5nmente mediante la operacin deobtener el centro de gravedad de los conjuntos implicados. -l centrode gravedad se obtiene de'

  • 7/23/2019 Inteligente 2

    16/36

    =

    ==n

    i

    i

    n

    i

    iicrisp

    u

    ub

    u

    1

    1

    &onde'

    iu-s el rea debajo de la grca de los conjuntos difusos

    implicados

    ib

    son los centros de cada funcin de pertenencia de la variablelingHstica de salida

    crispues el valor numrico de salida del controlador difuso.

    A1-A' -scribir un programa que realice el proceso de G:((*A*(9;

    La fusicacin responde a la pregunta' I*on que grado de certeza secumple una proposicinJ

    -jemplo' Gn conductor viaja a x M

  • 7/23/2019 Inteligente 2

    17/36

    Figura 1!. Funcin de pertenencia 0)b

    Los valores que puede tomar la funcin de pertenencia estn

    comprendidos entre 3 " 4 " determinan el grado de certeza de laproposicin. As si la velocidad es menor que 3 M

  • 7/23/2019 Inteligente 2

    18/36

    (zquierda uL (u )={

    1

    exp(12(ucL

    L )

    2

    ) s iuc

    L

    otrocaso

    *entro u (u )=exp (12(

    uc

    L )

    1

    )&erec!a u

    R (u )={ 1

    exp(12(ucL

    L )

    2

    ) otrocaso

    siucR

    a% &ibuje las funciones de pertenencia

    -3 -2 -1 0 1 2 30

    0.5

    1 gn pn cero pp gp

    error

    -1.5 -1 -0.5 0 0.5 1 1.50

    0.5

    1 gn pn cero pp gp

    cambio de error

    -40 -30 -20 -10 0 10 20 30 40

    0

    0.5

    1fuerza aplicada

    Figura 1%. Funciones de pertenencia

    b% &ibuje la funcin de pertenencia para la premisa de una reglausando la operacin mnimo para A;&. omar en cuenta un error decero " cambio de error peque0o positivo.

    % f&ncin de pertenencia de &na premisa comp&esta

    % de dos premisas c&3a f&ncin de pertenencia es &na campana dega&ss

  • 7/23/2019 Inteligente 2

    19/36

    ejmes!10

    close all

    media)depp=pi-

    sigma)de=0.$/pi-;

    sigma)e=0.$/pi-;

    [6(3]=mes!grid'#/sigma)e,sigma)e-10,#/sigma)e(media)depp

    #/sigma)de,sigma)de-10,media)depp#/sigma)de*

    f6=e6p'1-/''6*-sigma)e*.*

    f3=e6p'1-/''3media)depp*-sigma)de*.*

    f=min'f6(f3*

    mes!'6(3(f*

    -2

    -1

    0

    1

    2

    -0.5

    0

    0.5

    10

    0.2

    0.4

    0.6

    0.8

    1

    Figura 1(. Funcin de pertenencia usando la operacin mnimo.

    c% 1epita lo mismo pero con producto en lugar de mnimo:olo cambia una instruccin f=f6./f3

  • 7/23/2019 Inteligente 2

    20/36

    -2

    -10

    1

    2

    -0.5

    0

    0.5

    10

    0.2

    0.4

    0.6

    0.8

    1

    Figura 1$. Funcin de pertenencia usando la operacin producto.

    d% #ara e=3 " deNdt=3.+@? obtener los conjuntos difusosimplicados

    e% #ara e=piN? " deNdt=piN2

    -stas dos respuestas se muestran a continuacin'

    -25 -20 -15 -10 -5 0 5 10 150

    0.2

    0.4

    0.6

    0.8

    1

    -35 -30 -25 -20 -15 -10 -50

    0.2

    0.4

    0.6

    0.8

    1

    Figura 1#. on4untos difusos implicados para los literales d e.

    f% #ara $d% use la defusicacin por centro de gravedad " calculela salida del controlador

  • 7/23/2019 Inteligente 2

    21/36

    ucrisp=7.1798

    g% repita f para el caso en $e%

    ucrisp=20

    % ?esol&cin de ejercicio .# del libro fcboo4

    % de oct&bre de 009

    clear all

    close all

    % 'a* se grafica las f&nciones de pertenencia de conj&ntos

    dif&sos

    % de entrada 3 salida

    % se grafica las f&nciones de pertenenecia de error

    sigma=0.$/pi-

    media1=pi-

    61a=media1#/sigma,sigma-0,media1

    f61a=ones'1(lengt!'61a**

    61b=media1,sigma-0,media1#/sigma

    f61b=e6p'1-/''61bmedia1*-sigma*.*

    61=[61a 61b]

    e)gn=[f61a f61b];% e)gn significa error grande negativo

    media=pi-

    6=media#/sigma,sigma-0,media#/sigma

    e)pn=e6p'1-/''6media*-sigma*.*

    media#=0

    6#=media##/sigma,sigma-0,media##/sigma

    e)cero=e6p'1-/''6#media#*-sigma*.*

    media=pi-

  • 7/23/2019 Inteligente 2

    22/36

    6=media#/sigma,sigma-0,media#/sigma

    e)pp=e6p'1-/''6media*-sigma*.*

    media$=pi-

    6$a=media$#/sigma,sigma-0,media$

    f6$a=e6p'1-/''6$amedia$*-sigma*.*

    6$b=media$,sigma-0,media$#/sigma

    f6$b=ones'1(lengt!'6$b**

    6$=[6$a 6$b]

    e)gp=[f6$a f6$b]

    s&bplot'#(1(1*

    plot'61(e)gn(6(e)pn(6#(e)cero(6(e)pp(6$(e)gp*

    te6t'pi-(1.1(+gn+*;te6t'pi-(1.1(+pn+*;te6t'0(1.1(+cero+*;

    te6t'pi-(1.1(+pp+*;te6t'pi-(1.1(+gp+*

    title'+error+*

    grid

    % se grafica f&nciones de pertenencia de cambio de error

    sigma=0.$/pi-

    media1=pi-

    d61a=media1#/sigma,sigma-0,media1

    f61a=ones'1(lengt!'d61a**

    d61b=media1,sigma-0,media1#/sigma

    f61b=e6p'1-/''d61bmedia1*-sigma*.*

    d61=[d61a d61b]

    de)gn=[f61a f61b];%de)gn significa &e el cambio de error es

    grande negativo

    media=pi-

    d6=media#/sigma,sigma-0,media#/sigma

    de)pn=e6p'1-/''d6media*-sigma*.*

    media#=0

  • 7/23/2019 Inteligente 2

    23/36

    d6#=media##/sigma,sigma-0,media##/sigma

    de)cero=e6p'1-/''d6#media#*-sigma*.*

    media=pi-

    d6=media#/sigma,sigma-0,media#/sigma

    de)pp=e6p'1-/''d6media*-sigma*.*

    media$=pi-

    d6$a=media$#/sigma,sigma-0,media$

    f6$a=e6p'1-/''d6$amedia$*-sigma*.*

    d6$b=media$,sigma-0,media$#/sigma

    f6$b=ones'1(lengt!'d6$b**

    d6$=[d6$a d6$b]

    de)gp=[f6$a f6$b]

    s&bplot'#(1(*

    plot'd61(de)gn(d6(de)pn(d6#(de)cero(d6(de)pp(d6$(de)gp*

    te6t'pi-(1.1(+gn+*;te6t'

    pi-(1.1(+pn+*;te6t'0(1.1(+cero+*;te6t'pi-(1.1(+pp+*;te6t'pi-(

    1.1(+gp+*

    title'+cambio de error+*

    grid

    % se inicia calc&lode f&nciones de pertenencia de la salida

    sigma=0.$/10

    media1=0

    &1=media1#/sigma,sigma-0,media1#/sigma

    f61=e6p'1-/''&1media1*-sigma*.*

    media=10

    &=media#/sigma,sigma-0,media#/sigma

    f6=e6p'1-/''&media*-sigma*.*

    media#=0

    =media##/sigma,sigma-0,media##/sigma

    f6#=e6p'1-/''media#*-sigma*.*

  • 7/23/2019 Inteligente 2

    24/36

    media=10

    &=media#/sigma,sigma-0,media#/sigma

    f6=e6p'1-/''&media*-sigma*.*

    media$=0

    &$=media$#/sigma,sigma-0,media$#/sigma

    f6$=e6p'1-/''&$media$*-sigma*.*

    s&bplot'#(1(#*

    plot'&1(f61(&(f6((f6#(&(f6(&$(f6$*

    title'+f&erza aplicada+*

    grid

    %'b* ver ejmes! &e tiene este ejercicio

    %'c* ver ejmes!9

    %'d* se dib&ja conj&ntos dif&sos implicados para e=0 3

    de-dt=0.9

    % primero se debe eval&ar las f&nciones de pertenencia de

    entrada

    % para de-dt se debe eval&ar las f&nciones de)cero 3 de)pp &etienen los

    % ma3ores valores

    dato=0.9;% es el valor de de-dt

    sigma=0.$/pi-; % desviacion &sada para de-dt

    de)cero)dato=e6p'1-/''dato0*-sigma*.*

    media#=0

    sigma)&=0.$/10; % el sigma de salida

    =media##/sigma)&,sigma)&-0,media##/sigma)&

    f)regla1=min'de)cero)dato(e6p'1-/''media#*-sigma)&*.**;

    % la regla 1 recomienda &e es f)cero

    % lo mismo para de)pp

    dato=0.9;% es el valor de de-dt

    sigma=0.$/pi-; % desviacion &sada para de-dt

  • 7/23/2019 Inteligente 2

    25/36

    de)pp)dato=e6p'1-/''datopi-*-sigma*.*; % de)pp)dato

    significa el

    % valor obtenido de f&ncin de pertencia de cambio de error pe.

    p@sitivo

    % para el dato de-dt=0.9

    media=10

    &=media#/sigma)&,sigma)&-0,media#/sigma)&

    f)regla=min'de)pp)dato(e6p'1-/''&media*-sigma)&*.**; %

    se obtiene el conj&nto dif&so implicado

    % la regla recomienda f pe&e8a negativa

    fig&re'*

    s&bplot'(1(1*

    plot'(f)regla1(&(f)regla*

    grid

    % 'e*

    % se dib&ja comj&nto implicado para e=pi- 3 de-dt=pi-

    % la regla &e tiene la premisa de m:s alto valor es a&ella

    %&e dice error es pp 3 de-dt es pp entonces la f&erza es grande

    negativa

    sigma=0.$/10

    media)&gn=0;% media)&gn es el centro de la f&ncion de salida

    grande negativa

    &1=media)&gn#/sigma,sigma-0,media)&gn#/sigma

    f61=e6p'1-/''&1media)&gn*-sigma*.*

    s&bplot'(1(*

    plot'&1(f61*

    %'f* para 'd* &se la def&sificacion por dcentro de graveda

    int)1=integral'(f)regla1*;

    a1=int)1'n&mel'int)1**

    int)=integral'&(f)regla*;

    a=int)'n&mel'int)**

  • 7/23/2019 Inteligente 2

    26/36

    &crisp = 0/a1'10*/a-'a1a* ;% es el valor de salida del

    controlador

    &crisp

    % !asta a&i el calc&lo !a sido solo con las dos reglas( ABn

    embargo para

    % este caso todas las reglas est:n activas

    % 'g* repita 'f* para el caso en 'e*

    % como en 'e* la regla de ma3or aplicacion es f)gn entonces al

    !acer

    % el calc&lo considerando solo esa regla se tendria &e

    % &crisp = 0/a#-a# = 0

    % '!* Cib&jo de la s&perficie de control del controlador dif&so

    % la sol&cin est: en arc!ivo s&perficie de control en Dord

    O*TENCION DE LA $U+ER#ICIE DE CONTROL +ARA EL+RO*LE,A DE +ENDULO INVERTIDO CON #UNCIONE$ DE

    +ERTENENCIA -AU$$IANA$ I,+LICACION CON ,/NI,O 0 ANDCON ,INI,O

  • 7/23/2019 Inteligente 2

    27/36

    -2

    -1

    0

    1

    2

    -1

    -0.5

    0

    0.5

    1

    -20

    -10

    0

    10

    20

    Figura 1+. Super&cie de control con implicacin de minimo.

    :upercie de control para controlador difuso

    :e obtiene con los programas ' cont surfC fuzzEcontrolC

    Cont_surf

    % Ebtencin de la s&perficie de control

    clear all

    close all

    p&ntos =#

    [e(de]=mes!grid'pi-,pi-p&ntos,pi-(pi-,pi--p&ntos,pi-*

    [a(b]=size'e*

    fori=1,1,a

    forj=1,1,b

    f'i(j*=f&zz)control'e'i(j*(de'i(j**;

    end

  • 7/23/2019 Inteligente 2

    28/36

    i

    disp'+de+*

    a

    end

    mes!'e(de(f*

    fuzz_control

    %f&zz)control

    %objetivo es dado el error 3 el cambio de error eval&ar las

    premisas de las $ reglas

    % esto esta aplicado al pend&lo invertido

    % obtener los conj&ntos dif&sos implicados

    % calc&lar el area de los conj&ntos dif&sos implicados

    % obtener la salida del controlador

    f&nction&crisp=f&zz)control'e(de*

    % calc&lo de certeza de cada trmino

    sigma=0.$/pi-;

    ife"pi-

    e)gn=1

    else

    e)gn=e6p'1-/''e'pi-**-sigma*.*;

    end

    e)pn=e6p'1-/''e'pi-**-sigma*.*;

    e)cero=e6p'1-/''e*-sigma*.*;

    e)pp=e6p'1-/''epi-*-sigma*.*;

    ife7pi-

    e)gp=1;

    else

    e)gp=e6p'1-/''epi-*-sigma*.*;

  • 7/23/2019 Inteligente 2

    29/36

    end

    sigma=0.$/pi-;

    ifde"pi-

    de)gn=1;

    else

    de)gn=e6p'1-/''de'pi-**-sigma*.*;

    end

    de)pn=e6p'1-/''de'pi-**-sigma*.*;

    de)cero=e6p'1-/'de-sigma*.*;

    de)pp=e6p'1-/''depi-*-sigma*.*;

    ifde7pi-

    de)gp=1;

    else

    de)gp=e6p'1-/''depi-*-sigma*.*;

    end

    error=[e)gn e)pn e)cero e)pp e)gp];

    derror=[de)gn de)pn de)cero de)pp de)gp];

    fori=1,$

    forj=1,$

    &)premisa'i(j*=min'error'i*(derror'j**;

    end

    end

    % reglas

    reglas=[ 1 0; 1 0 1; 1 0 1 ;1 0 1 ;0 1

    ];

    % formacin de conj&ntos dif&sos implicados

    sigma=0.$/10;

  • 7/23/2019 Inteligente 2

    30/36

    &=#0,.1,#0;

    fori=1,$

    forj=1,$

    caso= reglas'i(j*;

    sitc!caso

    case

    media=0;

    case1

    media=10;

    case0

    media = 0;

    case1

    media = 10;

    case

    media = 0;

    end

    f&=min'e6p'1-/''&media*-sigma*.*(&)premisa'i(j**;

    % plot'&(f&*

    % a6is'[#0 #0 0 1.1]*;

    area'i(j*=integral1'&(f&*;

    end

    end

    centros=10/reglas;

    &crisp = s&m's&m'centros./area**-s&m's&m'area**

    % integral

    integral1

    f&nctionint=integral1'F(G*

  • 7/23/2019 Inteligente 2

    31/36

    B0=0;

    H=n&mel'F*; B'1*=B0;

    forn=,H

    B'n*=B'n1*0.$/'G'n*G'n1**/'F'n*F'n1**;

    end

    int=B'n*;

    O*TENCION DE LA $U+ER#ICIE DE CONTROL +ARA EL+RO*LE,A DE +ENDULO INVERTIDO CON #UNCIONE$ DE

    +ERTENENCIA -AU$$IANA$ I,+LICACION 1 AND CON+RODUCTO

    -2

    -10

    1

    2

    -1

    -0.50

    0.5

    1

    -20

    -10

    0

    10

    20

    Figura 2*. Super&cie de control con implicacin de producto.

    $im%laci!n del control di(%so de %n pnd%lo inertido

    #or /ctor #roa0o 1osero

  • 7/23/2019 Inteligente 2

    32/36

    4@ de octubre de +33@

    Ob&etio

    :imular el pndulo invertido de acuerdo a ecuaciones que se indican

    en libro uzz" *ontrol de >evin #assino :teven Sur

  • 7/23/2019 Inteligente 2

    33/36

    Controlador di(%so

    Gtilizando el bloque de simulacin del pndulo invertido se !a

    desarrollado el siguiente lazo de control'

    Figura 22. ontrolador difuso para el p/ndulo in)ertido.

    Luego de implementar las reglas en el contrador difuso " de cargar elcontrolador en el lazo. $#ara esto el nombre del controlador en eldiagrama de control es sEpendulo " el controlador creado con fuzz"'sEpend.sC la carga se !ace con sEpendulo = reads $TsEpendU%.Gna vez cargado aparece el mensaje'

    fis)pend&lo =

    name, +fis)pend+

    t3pe, +mamdani+

    andIet!od, +min+

    orIet!od, +ma6+

    def&zzIet!od, +centroid+

    impIet!od, +min+

    aggIet!od, +ma6+

  • 7/23/2019 Inteligente 2

    34/36

    inp&t, [16 str&ct]

    o&tp&t, [161 str&ct]

    r&le, [16$ str&ct]

    #ara !acer que los resultados se graben en el espacio de trabajo de)ALAK se escoge el segundo cono en la pantalla :cope

    Figura 23. Scope de Matlab

    Luego se escoge la pesta0a &ataDistor" " se elige un nombre para lagrabacin de los datos.

    Figura 2!. 54ustar parmetros para el Scope.

    Luego se usa los siguientes comandos para producir el grco'

    % grafico de posicion

    3=AcopeCata.signals'1*.val&es

    31=AcopeCata.signals'*.val&es

    6=AcopeCata.time

  • 7/23/2019 Inteligente 2

    35/36

    s&bplot'(1(1*

    plot'6(3*

    s&bplot'1*

    plot'6(31*

    6label'+tiempo+*

    3label'+posicion en m+*

    0 0.5 1 1.5 2 2.5 30.085

    0.09

    0.095

    0.1

    0.105

    0.11

    0 0.5 1 1.5 2 2.5 3

    1.4

    1.6

    1.8

    2

    2.2

    tiempo

    posicionenm

    Figura 2%. Se'al de la posicin

    -stos grcos se !an generado para ganancias iguales a 4.

    M4O Advanced *ontrol -ngineering. 1oland :. Kurns.KutterVort!WDeinemannn +334

    Gso del toolbox fuzz" de )atlab

    4. :e ingresa " se a0ade el n5mero de variables de entradanecesarias con -dit Add variable.

    +. Daga clic< en input 4 " dena las funciones de pertenencianecesarias. #rimero borre las funciones de pertenencia pordefecto que son , mediante -dit remove all )Us%. Luego con-dit A&& )Us a0ada las )Us necesarias.

    ,. *ambie el rango de valores de las funciones de pertenencia a

    los valores dise0ados.

  • 7/23/2019 Inteligente 2

    36/36

    ?. 1enombre las funciones de pertenencia !aciendo clic< en lalnea gracada de funciones de pertenencia.

    8. &ena las otras entradas. #ara salir *lose.B. Daga clic< en output. -dit remove all )Us. -dit add )Us $para

    8 funciones de pertenencia de salida se debe borrar las )Us

    extremas%

    :i se denen funciones de pertenencia tipo trapecio se tiene elproblema que fuera del rango de funcionamiento la salida decontrol es cero. #or este motivo es preferible colocar lasfunciones de pertenencia de las entradas de los extremos deluniverso de discurso tipo sigmoide.