14
02.10.2017 1 Automatizační technika Algebra blokových schémat, vývojové diagramy Akademický rok 2017/2018 Připravil: Radim Farana Obsah Algebra blokových schémat Vývojové diagramy 2 Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí přenosů je možnost používání blokových schémat, ve kterých každý člen je vyjádřen blokem s vepsaným přenosem, sčítání či odčítání veličin je vyjádřeno sumačním uzlem, a větvení veličin informačním uzlem. 3 Us () Gs () Ys () a) b) Us 1 () Us 2 () Us 3 () Ys () Ys () c) Ys () Ys () Ys () Vyjádření: a) dynamického členu blokem, b) sčítání či odečítání veličin sumačním uzlem, c) větvení veličin informačním uzlem

Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

1

Automatizační technika

Algebra blokových schémat,

vývojové diagramy

Akademický rok 2017/2018

Připravil: Radim Farana

Obsah

• Algebra blokových schémat

• Vývojové diagramy

2

Algebra blokových schémat

Velikou výhodou popisu vlastností lineárních dynamických

členů pomocí přenosů je možnost používání blokových

schémat, ve kterých každý člen je vyjádřen blokem s vepsaným

přenosem, sčítání či odčítání veličin je vyjádřeno sumačním

uzlem, a větvení veličin informačním uzlem.

3

U s( )G s( )

Y s( )

a) b)U s1( )

U s2( )

U s3( )

Y s( ) Y s( )

c) Y s( )

Y s( )

Y s( )

Vyjádření: a) dynamického členu blokem, b) sčítání či odečítání veličin

sumačním uzlem, c) větvení veličin informačním uzlem

Page 2: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

2

Algebra blokových schémat

4

Pro blok platí

)()()( sUsGsY

pro sumační uzel

)()()()( 321 sUsUsUsY

Ze sumačního uzlu může vycházet pouze jeden výstup.

Vyplněný segment vyjadřuje znaménko minus. Někdy místo

vyplněného segmentu se znaménko minus napíše u příslušné

veličiny

Sériové zapojení

5

Pro sériové zapojení bloků platí

)()()()()(

)(

)()()(

)()()(

)()()(

321

11

122

23

sGsGsGsGsU

sY

sUsGsX

sXsGsX

sXsGsY

U sériového zapojení platí, že výsledný přenos je dán součinem

jednotlivých přenosů (na pořadí nezáleží).

Paralelní zapojení

6

G s1( )Y s1( )

Y s( )G s3( )

U s( )G s( )

Y s( )Y s2( )

G s3( )Y s3( )

U s( )

U s( )

U s( )

G s2( )

Pro paralelní zapojení bloků platí

)()()()()(

)(

)()()(

)()()(

)()()(

)()()()(

321

33

22

11

321

sGsGsGsGsU

sY

sUsGsY

sUsGsY

sUsGsY

sYsYsYsY

U paralelního zapojení platí, že výsledný přenos je dán součtem

jednotlivých přenosů s uvažováním příslušných znamének u

součtového uzlu.

Page 3: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

3

Zpětnovazební zapojení

7

G s1( )U s( ) X s1( ) Y s( )

G s2( )

U s( )G s( )

Y s( )

X s2( )

±

PŘÍMÁ VĚTEV

ZPĚTNOVAZEBNÍVĚTEV

Zpětnovazební zapojení bloků je velmi důležité celou teorii

automatického řízení. Platí pro něj vztahy

)()(1

)()(

)(

)(

)()()(

)()()(

)()()(

21

1

22

21

11

sGsG

sGsG

sU

sY

sYsGsX

sXsUsX

sXsGsY

U zpětnovazebního zapojení je výsledný přenos dán přenosem v přímé

větvi podělený záporným (u kladné zpětné vazby), resp. kladným (u

záporné zpětné vazby) součinem přenosů v přímé i zpětnovazební větvi

zvětšeným o jedničku.

Základní úpravy blokových schémat

8

Přesunutí informačního uzlu před blok

GY

Y

U

G

Y

Y

UG

Přesunutí informačního uzlu za blok

YUG

U

YU

U

G

1

G

Základní úpravy blokových schémat

9

Přesunutí sumačního uzlu před blok

YG

U2

U1

Y

U2

U1G

1

G

Přesunutí sumačního uzlu za blok

YG

U2

U1

YG

U2

U1

G

Page 4: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

4

Základní úpravy blokových schémat

10

Přesunutí bloku z paralelní větve

U Y

G2

G1

U YG2

G1

1G2

Přesunutí bloku ze zpětnovazební větve

U Y

G2

G1

U YG2

G1

1G2

Příklad 1

11

Blokové schéma je třeba zjednodušit za předpokladu, že za výstupní

veličiny jsou uvažovány obrazy Y a E.

Z důvodu jednoduchosti a přehlednosti u přenosů a obrazů veličin není

uváděna nezávisle proměnná – komplexní proměnná s.

W G R

Y

V

G S

G MČ

G P

E

Řešení příkladu 1a

12

a) Nejdříve předpokládáme, že výstupní veličina je Y a vstupní veličina

W, a proto uvažujeme V = 0. Postupná úprava a zjednodušení blokového

schématu je:

YRG SG

W

MČG

SRGGW Y

MČG

Z posledního schématu již plyne výsledný přenos

MČSR

SRwy

GGG

GGG

1

Page 5: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

5

Řešení příkladu 1a

13

Nyní jako vstupní veličina je uvažována V a výstupní Y.

GSGMČ

V Y

GR

GP

GSGMČ

V Y

GR

GP

G G GR S MČ

V YGP

Vstupní veličina W = 0 a

sumační uzel se

znaménkem minus se

přesune

Výsledný přenos má tvar

(na pořadí přenosů

v součinu GRGSGMČ

nezáleží)

MČSR

Pvy

GGG

GG

1

Řešení příkladu 1a

14

Pro výstupní veličinu Y platí rovnice VGWGY vywy

které odpovídá zjednodušené blokové schéma

Gvy

Gwy

W

V

Y

Řešení příkladu 1b

15

b) Nyní předpokládáme, že výstupní veličina je E. Pro vstupní veličinu

W za předpokladu V = 0 je výchozí blokové schéma:

pro vstupní veličinu V za předpokladu W = 0 je výchozí blokové

schéma:

GMČGR

W E

GS

GMČGR

V E

GS

GMČGP

Page 6: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

6

Řešení příkladu 1b

16

Pro obě bloková schémata lze napsat výsledné přenosy přímo

MČSR

weGGG

G

1

1

MČSR

MČPve

GGG

GGG

1

Pro výstupní veličinu E platí rovnice

VGWGE vewe Gve

Gwe

W

V

E

Příklad 2

17

Pro následující zapojení je třeba určit výsledný přenos Gwy

GK

GR

WGS

Y

Řešení příkladu 2a

18

Sumační uzel mezi bloky s přenosy GR a GS se postupně přesune tak,

aby pak již bylo možné jednoduše určit hledaný přenos Gwy.

Na základě pravidel pro paralelní a zpětnovazební zapojení lze psát

GR

WGS

Y

G

GK

R

GR

WGS

Y

G

GK

R

SR

SRSK

SR

SR

R

Kwy

GG

GGGG

GG

GG

G

G

W

YG

111

Page 7: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

7

Řešení příkladu 2b

19

Výsledný přenos Gwy můžeme získat ještě snadněji. Blokové schéma

upravíme

GK

GR

WGS

Y

W

WGG

GGGGW

GG

GGW

GG

GGY

SR

SRSK

SR

SK

SR

SR

111

Pro výstupní veličinu Y (tj. její obraz) platí

Algoritmus

• Algoritmus je přesný předpis

definující výpočtový proces

vedoucí od měnitelných

výchozích údajů až k žádaným

(vždy správným) výsledkům. Tento předpis

se skládá z jednotlivých výpočtových kroků,

které jsou zapsány v určitém pořadí. Počet

výpočtových kroků musí být konečný.

Vlastnosti algoritmu

• determinovanost - shrnuje přesnost, srozumitelnost a jednoznačnost. V každém okamžiku řešení musí být jasné, jakou operaci má algoritmus provádět.

• hromadnost (masovost) - algoritmus musí popisovat zpracování celé skupiny příbuzných hodnot.

• rezultativnost - algoritmus musí vždy dospět ke správnému výsledku, a to pomocí konečnéhopočtu kroků.

• opakovatelnost - při stejných hodnotách vstupních dat musí algoritmus vždy dospět ke stejnému výsledku.

Page 8: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

8

Algoritmus versus program

• program = posloupnost příkazů,

– dokumentuje se výpisem programu,

– je chráněn autorským zákonem.

• algoritmus = postup práce,

– dokumentuje se zápisem algoritmu,

– je možné ho patentovat.

• Program realizuje algoritmus (algoritmy),

algoritmus je jeho nutnou součástí.

Popis algoritmu

• Slovní popis

– pracovní postup,

– strukturovaný text, zápis pomocí grafu,

– pseudokód (programovací).

• Grafický zápis

– vývojový diagram,

– diagram aktivit UML,

– Kopenogram, NS-diagram,

– strukturogram.

Vývojový diagram

• Popis algoritmů pro FORTRAN

(FORmula TRANslator)

• IBM v r. 1954

• Formalizován

různými normativy

(ČSN 36 9030)

začátek

čti číslo

číslo = 0 konec

piš číslo

číslo je sudé

piš „sudé“piš „liché“

+

-

+-

+

Page 9: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

9

Diagram aktivit UML

• Diagramy aktivit se podobají

vývojovým diagramům, ale

jsou nástrojem

komplexního CASE

(Computer-Aided Software

Engineering) systému

s názvem Unified Modeling

Language, ve zkratce UML.

Zpracování souboru dat

čti číslo

piš číslo

piš "liché" piš "sudé"

<>0

=0

Strukturogram

• Michael A. Jackson, 1975

• Základní struktury:

– sekvence (posloupnost operací),

– selekce (větvení).

– opakování – zvláštní případ sekvence.

• Snadné postupné upřesňování algoritmu

• Jednoznačný vztah mezi daty a algoritmem

Michael Anthony Jackson

* 1936http://mcs.open.ac.uk/mj665/index.html

Strukturogramvstup výstup

čísla nula

číslo

*

znázorněníopakování čísel

začátek tělo konec

příprava čti číslo

*řádek

piš číslo vstup

číslo je sudé/

napiš

"sudé"

/

napiš

"liché"

text

čti číslo

Vstupní soubor dat Algoritmus zpracování1 : 1

1 : 1

1 : 1

1 : 1

Page 10: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

10

Základní struktury Pseudojazyk Vývojový diagram Diagram aktivit Strukturogram

Programový celek (rutina, podrogram, procedura a pod.) - definice

název (parametry)

.

.

. end název

začátek

.

.

.

konec

jeden celý strukturogram

programový celek - použití (volání)

název (parametry) název(par.) název(par.) název (par.)

Podmíněná činnost, rozhodování Pseudojazyk Vývojový diagram Diagram aktivit Strukturogram

Provedení konkrétní činnosti

popis činosti

Podmíněná činnost (provádí se pouze pokud je splněna určitá podmínka)

if podmínka

činnost činnost

popis činnosti popis činnosti

podmíněná

činnost end if

podmínka

+

-

podmínka

Rozhodování (pokud platí určená podmínka, provede se činnost 1, jinak činnost 2)

if podmínka

činnost 1 činnost 1

činnost 1

end if

podmínka + - podmínka

else

činnost 2 činnost 2 činnost 2

popis činnosti

[podmínka

]

činnost 1 činnost 2

podmínka

sloučení

jinak

smysl má jen

rozhodování

Opakování s pevným počtem opakování

Větvení (podle hodnoty výrazu se provádí určená činnost)

case výraz=hodnota 1

činnost 1

činnost

case výraz=hodnota 2

činnost 2

case else

činnost při neznámé hodnotě

end case

výraz =

hodnota1

výraz =

hodnota činnost1

činnost při neznámé hodnotě

činnost n

-

+

-

+

výraz =

hodnota1 výraz

= hodnota2

činn.1 činn.2 činnost

hodnotě při nezn.

for počítadlo=začátek

to konec step krok

end for

počítadlo=začátek

počít. >

konec +

-

činnost

počítadlo=počítadlo+krok

# počet opakování

Pseudojazyk Vývojový diagram Diagram aktivit Strukturogram

činnost

.......

n

...

[podm. 1]

činnost 1 činnost n

jinak

[podm. 2]

činnost 2

je nutno sestavit

z ostatních značek

podobně jako

u vývojového

diagramu

Page 11: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

11

Opakování Pseudojazyk Vývojový diagram Diagram aktivit Strukturogram

Opakování s testem na začátku (dokud platí podmínka, činnost se opakuje - pokud na

začátku opakování není podmínka splněna, činnost se vůbec neprovede)

while podmínka

end while

Opakování s testem na konci (opakování končí, pokud je splněna podmínka - i když

podmínka platí již na začátku opakování, činnost se jednou provede)

neexistuje

činnost -

+ činnost

podmínka

činnost

* podmínka

(v některých jazycích -

+

činnost

podmínka

repeat

činnost

until podmínka

while činnost

end while podm.)

je nutno sestavit

z ostatních značek

podobně jako

u vývojového

diagramu

je nutno sestavit

z ostatních značek

podobně jako

u vývojového

diagramu

Zvláštní činnosti

Jako každá

jiná činnost

Přípravná činnost

Vstupní nebo výstupní operace

popis činnosti jako každá jiná aktivita Jako každá jiná činnost

Neexistuje Neexistuje Neexistuje číslo číslo

Jako každá

jiná činnost popis činnosti

Jako každá jiná činnost

Spojka (činnost končí v jedné části algoritmu a pokračuje v jiné části)

Pseudojazyk Vývojový diagram Diagram aktivit Strukturogram

jako každá jiná aktivita

Algoritmus násobení dvou

čísel Single

začátek tělo konec

Acc= 0 #

bit

násobení

Bit(B, I)=1 /

přičti

/

posun

Násobení čísel

Exp = exponent(A)

+ exponent(B) -1 I = 1 to 24

Acc=Acc + A normalizace

Shift(A)

Bit(Acc, 0)=1 /

uprav

/

Shift(Acc) Shift(A) Exp = Exp + 1

Proměnné:

A, B – činitelé

(normalizované mantisy)

Acc – akumulátor

Exp – exponent

I – celočíselné počítadlo

Funkce:

Shift(x) – bitová rotace vpravo

exponent(x) – exponent čísla

Page 12: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

12

Testování algoritmuProměnné:

A : 0,110011001100110011001100 . 2-3

B : 0,100011001100110011001100 . 2-3

Acc :

Exp:

I:

-7

0

1

1,0011001100110011001100101,001100110011001100110010

0,011001100110011001100110

-6

0,001100110011001100110011

2

začátek tělo konec

Acc= 0 #

bit

násobení

Bit(B, I)=1 /

přičti

/

posun

Násobení čísel

Exp = exponent(A)

+ exponent(B) -1 I = 1 to 24

Acc=Acc + A normalizace

Shift(A)

Bit(Acc, 0)=1 /

uprav

/

Shift(Acc) Shift(A) Exp = Exp + 1

0,000110011001100110011001

3

Chyba opisu,

riziko ručního

testování

atd.

Hodnocení složitosti

algoritmů• Vypočitatelnost algoritmu

– Turingův stroj (Alan M. Turing, 1936)

– abstraktní model počítače,

– s Alonzem Churchem vyslovili domněnku, že je

ekvivalentní s počítačem (s nekonečnou pamětí),

– Dokázal, že nelze

sestavit stroj, který

určí, zda se

libovolný stroj zastaví.

nekonečná

páskačtecí

hlava

procesor

Další krok závisí

na vnitřním stavu

a přečtené hodnotě

Deterministický Turingův stroj

Alan Mathison Turing

* 23. 6. 1912. London

+ 7. 6. 1954 Wilmslow

Časová složitost algoritmu

• Čas na vykonání algoritmu vyjádřený

v počtu elementárních operací.

• Všechny operace trvají stejně dlouho.

• Složitost algoritmu je funkcí vstupu (n).

• Konstantní rozdíly se ignorují.

• Nechť f(n), g(n) jsou funkce z množiny

přirozených čísel do množiny reálných čísel, pak

f(n) = O(g(n)), pokud existuje konstanta c, že pro

velké n platí: f(n) cg(n).

Page 13: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

13

Výpočet složitosti algoritmu

Sub NasobeniCtvercovychMatic(a(n n),b(n n),c(n n))

For I = 1 to n

For J = 1 to n

c(I, J) = 0

For K = 1 to n

c(I, J) = c(I, J) +

a(I, K)*b(K, J)

Next K

Next J

Next I

End Sub

Násobení dvou čtvercových matic rozměru (n n)

n *(2+

n *(2+1+

n *(2+

3

)

)

)

f(n) = n(2+n(2+1+n(2+3)))=5n3+3n2+2n

f(n) = n( n( n( 1 )))= n3zjednodušení

Složitost algoritmů

• Polynomiální složitost: výpočet

vyžaduje O(kd) bitových operací

– sčítání d = 1,

– násobení d = 2.

• Nepolynomiální složitost: složitost

výpočtu s rostoucím n roste rychleji.

– n! - O(nlog22(n)) = O(2kk2).

– an

Příklady funkcíFunkce Přibližné hodnoty

n 10 100 1000

nlog2(n) 33 664 9966

n3 1000 1000000 1000000000

2n 1024 1,27E+30 1,07E+301

nlog2

(n) 2099 1,94E+13 7,90E+29

n! 3628800 9,33E+157 4E+2567

Průběh funkcí (v logaritmickém měřítku)

0

2

4

6

8

10

12

14

16

18

20

0 5 10 15 20

n

log

(f(n

))

n

nlog2(n)

n^3

2^n

n^log2(n)

n!

Page 14: Prezentace aplikace PowerPoint - MENDELUqqfarana/ATE-PEF/ATE_PEF_02.pdf · Algebra blokových schémat Velikou výhodou popisu vlastností lineárních dynamických členů pomocí

02.10.2017

14

Třídy NP a NP-úplných

problémů• P – schůdné algoritmy běžící nejhůře

v polynomiálním čase (PT) – násobení,

• NP problém (nondeterministic polynomial)

– neschůdné algoritmy, v PT lze pouze

ověřit správnost řešení – faktorizace ,

• NP-úplný problém – NP problémy

vzájemně mapovatelné v PT – obchodní

cestující, (existuje P transformace jednoho

na druhý).