Você está na página 1de 38

RELATRIO PRTICO DA DISCIPLINA DE SISTEMAS DE CONTROLO AVANADO

Pedro Madaleno Ricardo Pimenta

Departamento de Engenharia Electrotcnica


Instituto Superior de Engenharia do Porto 2011

Este relatrio satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas de Controlo Avanado, do 2 ano, do Mestrado em Engenharia Electrotcnica e de Computadores

Departamento de Engenharia Electrotcnica


Instituto Superior de Engenharia do Porto 10 de Dezembro de 2011

ndice
NDICE ............................................................................................................................................................V NDICE DE FIGURAS ............................................................................................................................... VII NDICE DE TABELAS ................................................................................................................................ IX ACRNIMOS................................................................................................................................................ XI 1. INTRODUO ...................................................................................................................................... 1 1.1. 1.2. 2. CONTEXTUALIZAO ....................................................................................................................... 1 OBJECTIVOS ...................................................................................................................................... 1

CONTROLO PID DA VELOCIDADE DE UM SISTEMA SERVO ................................................. 3 2.1. 2.2. INTRODUO .................................................................................................................................... 3 EXPLICAO DO TRABALHO ............................................................................................................. 5

3.

CONTROLO DE VELOCIDADE DE UM SISTEMA SERVO USANDO LGICA FUZZY ...... 11 3.1. 3.2. INTRODUO .................................................................................................................................. 11 EXPLICAO DO TRABALHO ........................................................................................................... 13

4.

CONCLUSES ..................................................................................................................................... 17

REFERNCIAS DOCUMENTAIS ............................................................................................................. 18 ANEXO A. CDIGO ZIEGLER-NICHOLS MALHA ABERTA ............................................................ 19 ANEXO B. CDIGO ZIEGLER-NICHOLS MALHA FECHADA ......................................................... 21 ANEXO C. CDIGO ZHUANG E ATHERTON ...................................................................................... 24 ANEXO D. CDIGO FUZZY ...................................................................................................................... 25

ndice de Figuras
Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8 Figura 9 Sistema Simulink do servo ............................................................................................. 5 Sistema com controlo Ziegler-Nichols em malha aberta ............................................... 6 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha aberta................... 7 Sistema com controlo Ziegler-Nichols em malha fechada ............................................. 8 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha fechada ................ 9 Possvel representao fuzzy da temperatura ................................................................ 13 Sistema com controlo fuzzy .......................................................................................... 13 Toolbox de fuzzy no Matlab .......................................................................................... 14 Grfico da velocidade referente a experiencia com o sistema real............................... 15

vii

ndice de Tabelas
Tabela 1 Tabela 2 Tabela 3 Tabela 4 Tabela 5 Valores obtidos experimentalmente com Ziegler-Nichols em malha aberta .................. 6 Tabela de frmulas para Ziegler-Nichols em malha aberta............................................ 6 Valores obtidos experimentalmente com Ziegler-Nichols em malha fechada ............... 8 Tabela de frmulas para Ziegler-Nichols em malha fechada ......................................... 9 Tabela utilizada para definio das regras do controlador fuzzy .................................. 14

ix

Acrnimos
PID Proportional Integrative Derivative Controller ZN Ziegler-Nichols

xi

1. INTRODUO
Este trabalho foi realizado no mbito da disciplina de Sistemas de Controlo Avanado e tem o intuito e introduzir aos alunos a temtica do projecto de controladores Proportional Integrative Derivative (PID) utilizando algumas das diversas tcnicas existentes.

1.1.

CONTEXTUALIZAO

Sendo este trabalho realizado no mbito de uma disciplina do Mestrado em Engenharia Electrotcnica e de Computadores especializao de Automao e Sistemas de referir que o projecto de controladores um dos pontos essenciais deste mestrado. No seguimento deste desenvolvimento os alunos foram capazes de aprender e obter uma melhor compreenso da problemtica inerente a este tipo de projectos.

1.2.

OBJECTIVOS

O objectivo deste trabalho consistia no desenvolvimento de dois controladores utilizando duas das tcnicas existentes para o projecto de controladores PID e o desenvolvimento de um controlador fuzzy. Os dois mtodos a serem utilizados no projecto do controlador PID so Ziegler-Nichols (ZN) malha aberta e ZN malha fechada, sendo que, se efectuou mais um desenvolvimento de um controlador PID para se identificar quais as falhas existentes

nos mtodos ZN e para verificar a capacidade de obteno de um controlador quase ideal utilizando PID.

2. CONTROLO PID DA VELOCIDADE DE UM SISTEMA SERVO


Neste captulo ser explicado o desenvolvimento do controlador PID para o servo motor.

2.1.

INTRODUO

Os sistemas de controlo podem ser classificados de duas formas diferentes, sendo estas linear e no linear. No caso dos sistemas lineares existem diferentes tcnicas de controlo passiveis de serem utilizadas, sendo relativamente fcil a obteno de um bom controlador com as tcnicas tradicionais. No caso dos sistemas no lineares face a impossibilidade de utilizao dos mtodos de projecto clssico necessrio optar por outras formas de projecto para os controladores. Para resolver este problema relativamente aos sistemas no lineares pode-se utilizar controladores PID, sendo que, existem diversos tipos de controlo PID no mercado e a sua utilizao tem vindo a tornar cada vez mais usual.

A problemtica de um controlador PID baseia-se na correcta sintonizao dos seus parmetros em malha, pois so estes os responsveis pelo bom funcionamento do sistema a ser controlado. Um controlo PID tal como se pode depreender do seu nome baseia-se em trs aspectos, sendo estes: Proporcionalidade responsvel pela reduo do erro e do aumento da velocidade de reposta, mas esta relao provoca uma reduo na estabilidade do sistema; Integrabilidade a parte do controlador onde se pode eliminar o erro para um degrau de entrada, mas no entanto a variao deste parmetro provoca uma deteriorao na dinmica do sistema; Derivabilidade Pode controlar-se a estabilidade/amortecimento da resposta de um sistema com a alterao deste parmetro. Para se efectuar o controlo de cada um destes parmetros, aquando da utilizao de controladores PID pode utilizar-se varias formas de representao desses parmetros, por exemplo, uma das representaes passveis de ser utilizada a seguinte:

No entanto pode-se definir um controlador PID recorrendo a sua representao por blocos obtendo-se a seguinte frmula:

Existe ainda uma outra forma de representao, tendo sido esta a utilizada ao longo da realizao deste projecto, que pode ser efectuada da seguinte forma:

Chegados a este ponto pode passar ento a modulao do sistema recorrendo a sua funo de transferncia, ou seja, tenta-se descrever o funcionamento do sistema real numa funo de transferncia para posterior anlise e testes. Neste caso especifico a funo de transferncia facultada pelo fabricante do sistema servo, sendo assim mais fcil o seu estudo e implementao em Simulink. Sendo a funo de transferncia fornecida e representada por:

Pde ento passar ao desenvolvimento do projecto em si, ou seja, a obteno dos valores necessrios, como por exemplo, Ts e Ks e o respectivo desenvolvimento de controlador PID indicado e adequado ao sistema em causa.

2.2.

EXPLICAO DO TRABALHO

Aps o estudo dos sistemas PID e do sistema servo a ser utilizado na realizao deste trabalho, passou-se ento ao estudo e implementao do controlador. Numa primeira fase o sistema foi testado em ambiente Simulink e posteriormente efectuaram-se testes com o sistema real. Na definio do sistema para utilizao do Simulink foi necessrio a utilizao da funo de transferncia referida anteriormente. Para isso criou-se um bloco com essa funo de transferncia como ilustrado na Figura 1. Aps a sua implementao passou-se ento primeira fase de implementao com o estudo de ZN em malha aberta.

Figura 1 Sistema Simulink do servo

2.2.1.

ZIEGLER-NICHOLS EM MALHA ABERTA

Para a implementao de ZN em malha aberta foi utilizado o sistema representado na Figura 2. Tal como se pode visualizar pela figura, a representao do circuito aberto apenas necessita que a entrada seja alterada para uma funo degrau, retirando-lhe assim a realimentao existente no sistema real.

Figura 2 Sistema com controlo Ziegler-Nichols em malha aberta

Foi realizada a simulao recorrendo ao modelo Simulink representado na Figura 2, sendo que, com esta simulao foi possvel a obteno dos seguintes dados experimentais:
Tabela 1 Valores obtidos experimentalmente com Ziegler-Nichols em malha aberta

Controlador P PI PID

kp 0,0136 0,0122 0,0163

ki 0 0,0196 0,0436

kd 0 0 0,0015

Estes dados foram obtidos recorrendo ao uso das frmulas predefinidas da utilizao de ZN em malha aberta, ou seja, para o clculo de kp, ki e kd utilizaram-se as seguintes frmulas:
Tabela 2 Tabela de frmulas para Ziegler-Nichols em malha aberta

Todos estes valores tal como referido anteriormente so essenciais para os controladores PID, pois so estes os valores que regulam os factores relevantes deste tipo de controlo, como por exemplo, regulam o tempo de resposta, o overshoot entre outros. Aps a obteno de todos os valores efectuaram-se os testes no sistema real onde se obtiveram os grficos representados na Figura 3.

Figura 3 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha aberta

Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Erro! A origem da referncia no foi encontrada.. 2.2.2. ZIEGLER-NICHOLS EM MALHA FECHADA

Para a implementao de ZN em malha fechada foi utilizado o sistema representado na Figura 4.

Figura 4 Sistema com controlo Ziegler-Nichols em malha fechada

De notar que neste sistema foram retirados todos os blocos considerados no necessrios para a realizao dos testes, como tal o sistema ficou reduzido e tornou-se mais fcil de compreender e analisar. Foi seguidamente realizada a simulao recorrendo ao sistema real, na qual se obtiveram os valores representados na Tabela 3.
Tabela 3 Valores obtidos experimentalmente com Ziegler-Nichols em malha fechada

Controlador P Controlador normal Controlador multiplicado por 2 Controlador dividido por 2 PI PID P PI PID P PI PID

kp 0,0425 0,0383 0,0510 0,0213 0,0191 0,0255 0,0850 0,0765 0,1020

ki 0 0,0620 0,1378 0 0,0310 0,0689 0 0,1241 0,2757

kd 0 0 0, 0047 0 0 0,0024 0 0 0,0094

Estes dados foram obtidos recorrendo ao uso das frmulas predefinidas da utilizao de ZN malha fechada, ou seja, para o clculo de kp, ki e kd utilizaram-se as seguintes frmulas:

Tabela 4 Tabela de frmulas para Ziegler-Nichols em malha fechada

Como se pode ver na Figura 5 os grficos obtidos atravs do teste realizado com o sistema real retornaram valores satisfatrios para cada um dos controladores. Mas deve ter-se em conta que nos testes apenas se utilizaram alguns dos valores para optimizar a execuo dos testes.

Figura 5 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha fechada

Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Anexo B.

Aps os estudos de controladores PID recorrendo ao mtodo de Ziegler-Nichols foi tambm efectuado um breve estudo utilizando um dos mtodos ptimos de sintonia, sendo que neste caso especfico, utilizou-se o mtodo de Zhuang e Atherton. Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Anexo C.

10

3. CONTROLO DE VELOCIDADE DE UM SISTEMA SERVO USANDO LGICA FUZZY


Neste captulo ser explicado o desenvolvimento do controlador fuzzy implementado.

3.1.

INTRODUO

A lgica fuzzy, trabalha com o conceito de graus de pertena. Enquanto na lgica clssica supe-se verdadeira uma afirmao do tipo "se algo quente, no frio", na lgica fuzzy poder-se-ia dizer: "algo 30% quente, 25% morno e 45% frio", ou seja, "algo pode no ser quente nem frio. Esta lgica tem grande aplicao em diversas reas sendo cada vez mais utilizada nos mais comuns equipamentos. A lgica difusa permite clarificar que no que respeita realidade, as leis da matemtica no so exactas. Quando o so, no se referem realidade, como afirma Albert Einstein [1].

11

De facto, as transies entre conceitos reais no so abruptas. Os conceitos so, muitas vezes, subjectivos e existem zonas de transio entre conceitos diferentes bem definidos e bem conhecidos. Como exemplo, considere-se a pergunta: A temperatura de 28C ser agradvel? No se trata de saber qual a probabilidade de 28C ser agradvel mas sim do facto de, para algumas pessoas ser agradvel e para outras no. A resposta das pessoas no aleatria, apenas existem opinies diferentes. Muito provavelmente, 100% dos inquiridos estariam de acordo que -12C no uma temperatura agradvel. Mas poderiam estar em desacordo parcial se seria uma temperatura fria ou se seria muito fria. O autor do artigo que originou a lgica difusa, Lotfi Zedeh refere que medida que a complexidade de um certo sistema aumenta, a capacidade para fazer afirmaes significativas do seu comportamento diminui at se atingir um ponto de transio, a partir do qual preciso e significado (relevncia) se tornam mutuamente exclusivas [2]. A lgica difusa permite representar conhecimentos imprecisos, at contraditrios, e suporta raciocnios e concluses baseados nesse tipo de conhecimentos incompletos ou vagos. Cox refere ainda que a utilizao de modelos imprecisos para o sistema permite ainda: Tempo mdio entre avarias e Tempo mdio de reparao melhorados; Capacidade para modelizar simplificando sistemas complexos; Permitem uma melhorada representao cognitiva dos conhecimentos dos peritos; Permitem a modelizao de sistemas envolvendo vrios peritos que podem ter opinies diferentes; Permite o tratamento de incertezas e possibilidades. De facto, a utilizao de lgica difusa permite representar de forma agradvel o conhecimento do dia-a-dia atravs da utilizao de variveis lingusticas: a varivel difusa temperatura pode ser descrita pelas regies difusas da Figura 6 [2].

12

Figura 6 Possvel representao fuzzy da temperatura

3.2.

EXPLICAO DO TRABALHO

Tal como se pode ver na Figura 7, a implementao do controlador fuzzy no Simulink para mais uma vez ser possvel efectuar teste sem utilizar o sistema real e como forma de testar se os valores das funes de pertena respeitantes a cada uma das entradas, sendo que neste caso as entradas so o erro e a sua variao.

Figura 7 Sistema com controlo fuzzy

A Figura 8 ilustra a implementao de um controlador fuzzy recorrendo a toolbox do Matlab extremamente simples.

13

Figura 8 Toolbox de fuzzy no Matlab

Para a implementao das regras necessrias ao funcionamento do sistema foi utilizada a Tabela 5.
Tabela 5 Tabela utilizada para definio das regras do controlador fuzzy

Regras na nb e z pb pa

de na na na na na z nb na na nb z pb z na nb z pb pa pb na z pb pb pa pa z z pa pa pa

14

Tal como se pode ver pela Figura 9, no grfico obtido aquando da experincia com o sistema real, a resposta satisfatria apesar de existir alguma oscilao durante algum tempo.

Figura 9 Grfico da velocidade referente a experiencia com o sistema real

De notar que analisando correctamente os dados do grfico anterior obter-se- uma resposta que no cumpre os requisitos quanto ao tempo de estabelecimento, pois como a funo existente no Matlab que efectua esse clculo automaticamente tem alguns problemas devido a oscilao do sistema. Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Anexo D.

15

4. CONCLUSES
Ao longo deste texto foram sendo apresentadas concluses que permitiram sustentar as opes de desenvolvimento efectuadas ao longo do projecto. Assim, nesta ltima seco realizada uma sntese das principais concluses, consequncias e relevncia do trabalho realizado e perspectivados futuros desenvolvimentos. Durante a realizao deste trabalho foi notria a utilidade da utilizao das funcionalidades fornecidas pela Matlab para o desenvolvimento de projectos nesta rea. A utilizao dos modelos em Simulink para simulaes, a possibilidade de testar todos os valores obtidos antes de realizar um teste real demonstrou a enorme viabilidade dessas funcionalidades. Posto isto pode concluir-se que os objectivos foram compridos e apesar das dificuldades encontradas no desenvolvimento do controlador fuzzy, devido a falta de conhecimentos prvios, todo o desenvolvimento foi conseguido com sucesso.

17

Referncias Documentais
[1] [2] Kosko, Bart; Neural networks and fuzzy systems: a dynamical systems approach to machine intelligence, Prentice-Hall International, 1992 Cox, Earl; The Fuzzy Systems Handbook : a Practitioner's Guide to Building, Using and Maintaining Fuzzy Systems, Professional, 1994

18

Anexo A. Cdigo Ziegler-Nichols malha aberta


clc, clear; load dados_zn t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); ref=VelCtrl.signals(1).values(:,2); n=length(t); for i=2:n d(i)=(vel(i)-vel(i-1))/(t(i)-t(i-1)); end [de,I]=max(d) VEL=vel(I) T=t(I) %y=mx+b y=VEL; x=T; m=de; b=y-m*x %x=(y-b)/m com a mudana de lado o b tem de ser negativo k=182.0395; x1=-b/m x2=(k-b)/m L=x1 Tf=x2-x1 R=(k/T) %Controlador P Kp1=1/(R*L) Ti1=inf Td1=0 %Controlador PI Kp2=0.9/(R*L) Ti2=L/0.3 Td2=0 %Controlador PID Kp3=1.2/(R*L) Ti3=2*L Td3=0.5*L %para o controlador precisa ir em ganhos kp=[Kp1 Kp2 Kp3] ki=[Kp1/Ti1 Kp2/Ti2 Kp3/Ti3] kd=[Kp1*Td1 Kp2*Td2 Kp3*Td3] load dados_zn_p t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,1,1) plot(t,vel)

19

xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P'); load dados_zn_pi t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,1,2) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI'); load dados_zn_pid t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,1,3) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID');

20

Anexo B. Cdigo Ziegler-Nichols malha fechada


clc, clear; load dados_zn_mf t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); ref=VelCtrl.signals(1).values(:,2); n=length(t); j=1; k=0; plot (t,vel) %calculo do maximo para saber o periodo for i=2:n d(i)=(vel(i)-vel(i-1))/(t(i)-t(i-1)); if vel(i)<vel(i-1) if k==0 m(j)=t(i); j=j+1; k=1; end else k=0; end end Pu=m(19)-m(18) [de,I]=max(d); VEL=vel(I); T=t(I); Ku=0.085; %Controlador P Kp1=0.5*Ku; Ti1=inf; Td1=0; %Controlador PI Kp2=0.45*Ku; Ti2=(1/1.2)*Pu; Td2=0; %Controlador PID Kp3=0.6*Ku; Ti3=(1/2)*Pu; Td3=(1/8)*Pu; %para o controlador precisa ir em ganhos kp=[Kp1 Kp2 Kp3] ki=[Kp1/Ti1 Kp2/Ti2 Kp3/Ti3] kd=[Kp1*Td1 Kp2*Td2 Kp3*Td3] %Para os controladores x2 kp2=kp*2

21

ki2=ki*2 kd2=kd*2 %Para os controladores x(1/2) kp05=kp/2 ki05=ki/2 kd05=kd/2 figure; load ZN_mf_P t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,1) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P'); load ZN_mf_PI t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,2) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI'); load ZN_mf_PID t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,3) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID');

load ZN_mf2_P t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,4) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P*2'); load ZN_mf2_PI t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,5) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI*2'); load ZN_mf2_PID t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,6) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID*2'); load ZN_mf05_P

22

t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,7) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P*(1/2)'); load ZN_mf05_PI t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,8) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI*(1/2)'); load ZN_mf05_PID t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,9) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID*(1/2)');

23

Anexo C. Cdigo Zhuang e Atherton


clc, clear; K=182.0395; L=0.1864; T=0.4600; IS=L/T if IS<1 A1=[0.980 0.712 0.569]; B1=[-0.892 -.921 -0.951]; A2=[0.690 0.968 1.023]; B2=[-0.155 -0.247 -0.179]; else A1=[1.072 0.786 05.628]; B1=[-0.560 -.559 -0.583]; A2=[0.648 0.883 1.007]; B2=[-0.114 -0.158 -0.167]; end switch op case '1' a1=A1(1) b1=B1(1) a2=A2(1) b2=B2(1) case '2' a1=A1(2) b1=B1(2) a2=A2(2) b2=B2(2) case '3' a1=A1(3) b1=B1(3) a2=A2(3) b2=B2(3) end %Controlador PI Kp=(a1/K)*(L/T)^b1; Ti=T/(a2+b2*(L/T)); %Controlador PID Kp=(a1/K)*(L/T)^b1; Ti=T/(a2+b2*(L/T));

24

Anexo D. Cdigo Fuzzy


[System] Name='PID' Type='mamdani' Version=2.0 NumInputs=2 NumOutputs=1 NumRules=25 AndMethod='min' OrMethod='max' ImpMethod='min' AggMethod='max' DefuzzMethod='centroid' [Input1] Name='e' Range=[-50 50] NumMFs=5 MF1='e_n_a':'trapmf',[-50 -50 -30 -10] MF2='e_n_b':'trimf',[-20 -10 0] MF3='e_z':'trimf',[-10 0 10] MF4='e_p_a':'trapmf',[10 30 50 50] MF5='e_p_b':'trimf',[0 10 20] [Input2] Name='de' Range=[-35 35] NumMFs=5 MF1='de_n_a':'trapmf',[-35 -35 -20 -10] MF2='de_n_b':'trimf',[-20 -10 0] MF3='de_z':'trimf',[-10 0 10] MF4='de_p_b':'trimf',[0 10 20] MF5='de_p_a':'trapmf',[10 20 35 35] [Output1] Name='output1' Range=[-1 1] NumMFs=5 MF1='c_n_a':'trapmf',[-1 -1 -0.4 -0.2] MF2='c_n_b':'trimf',[-0.4 -0.2 0] MF3='c_z':'trimf',[-0.2 0 0.2] MF4='c_p_b':'trimf',[0 0.2 0.4] MF5='c_p_a':'trapmf',[0.2 0.4 1 1] [Rules] 1 1, 1 (1) 1 2, 1 (1) 1 3, 1 (1) 1 4, 1 (1)

: : : :

1 1 1 1

25

1 2 2 2 2 2 3 3 3 3 3 5 5 5 5 5 4 4 4 4 4

5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5,

3 1 1 2 3 3 1 2 3 4 5 2 3 4 4 5 3 4 5 5 5

(1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)

: : : : : : : : : : : : : : : : : : : : :

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

26

Você também pode gostar