Akademický rok 07/08 Připravil: adim Farana Automatizační technika Algebra blokových chémat, vývojové diagramy Obah Algebra blokových chémat ývojové diagramy Algebra blokových chémat elikou výhodou popiu vlatnotí lineárních dynamických členů pomocí přenoů je možnot používání blokových chémat, ve kterých každý člen je vyjádřen blokem vepaným přenoem, čítání či odčítání veličin je vyjádřeno umačním uzlem, a větvení veličin informačním uzlem. a b c yjádření: a dynamického členu blokem, b čítání či odečítání veličin umačním uzlem, c větvení veličin informačním uzlem
Algebra blokových chémat 4 Pro blok platí pro umační uzel Ze umačního uzlu může vycházet pouze jeden výtup. yplněný egment vyjadřuje znaménko minu. Někdy míto vyplněného egmentu e znaménko minu napíše u přílušné veličiny Sériové zapojení 5 Pro ériové zapojení bloků platí X X X X ériového zapojení platí, že výledný přeno je dán oučinem jednotlivých přenoů na pořadí nezáleží. Paralelní zapojení 6 Pro paralelní zapojení bloků platí paralelního zapojení platí, že výledný přeno je dán oučtem jednotlivých přenoů uvažováním přílušných znamének u oučtového uzlu.
7 Zpětnovazební zapojení PŘÍMÁ ĚTE X ± X ZPĚTNOAZEBNÍ ĚTE Zpětnovazební zapojení bloků je velmi důležité celou teorii automatického řízení. Platí pro něj vztahy X X X X zpětnovazebního zapojení je výledný přeno dán přenoem v přímé větvi podělený záporným u kladné zpětné vazby, rep. kladným u záporné zpětné vazby oučinem přenoů v přímé i zpětnovazební větvi zvětšeným o jedničku. 8 Základní úpravy blokových chémat Přeunutí informačního uzlu před blok Přeunutí informačního uzlu za blok 9 Základní úpravy blokových chémat Přeunutí umačního uzlu před blok Přeunutí umačního uzlu za blok
0 Základní úpravy blokových chémat Přeunutí bloku z paralelní větve Přeunutí bloku ze zpětnovazební větve Příklad Blokové chéma je třeba zjednodušit za předpokladu, že za výtupní veličiny jou uvažovány obrazy a E. Z důvodu jednoduchoti a přehlednoti u přenoů a obrazů veličin není uváděna nezávile proměnná komplexní proměnná. P E S MČ Řešení příkladu a a Nejdříve předpokládáme, že výtupní veličina je a vtupní veličina, a proto uvažujeme = 0. Potupná úprava a zjednodušení blokového chématu je: S S MČ MČ Z poledního chématu již plyne výledný přeno S wy S MČ 4
Řešení příkladu a Nyní jako vtupní veličina je uvažována a výtupní. P P S MČ tupní veličina = 0 a umační uzel e znaménkem minu e přeune P S MČ ýledný přeno má tvar na pořadí přenoů v oučinu S MČ nezáleží SMČ P vy S MČ 4 Řešení příkladu a Pro výtupní veličinu platí rovnice wy vy které odpovídá zjednodušené blokové chéma vy wy 5 Řešení příkladu b b Nyní předpokládáme, že výtupní veličina je E. Pro vtupní veličinu za předpokladu = 0 je výchozí blokové chéma: E MČ S pro vtupní veličinu za předpokladu = 0 je výchozí blokové chéma: E P MČ MČ S 5
6 Řešení příkladu b Pro obě bloková chémata lze napat výledné přenoy přímo we S MČ Pro výtupní veličinu E platí rovnice PMČ ve S MČ E we ve ve E we 7 Příklad Pro náledující zapojení je třeba určit výledný přeno wy K S 8 Řešení příkladu a Sumační uzel mezi bloky přenoy a S e potupně přeune tak, aby pak již bylo možné jednoduše určit hledaný přeno wy. K K S S Na základě pravidel pro paralelní a zpětnovazební zapojení lze pát K S KS S wy S S 6
9 Řešení příkladu b ýledný přeno wy můžeme zíkat ještě nadněji. Blokové chéma upravíme K S Pro výtupní veličinu tj. její obraz platí S KS KS S S S S Algoritmu Algoritmu je přený předpi definující výpočtový proce vedoucí od měnitelných výchozích údajů až k žádaným vždy právným výledkům. Tento předpi e kládá z jednotlivých výpočtových kroků, které jou zapány v určitém pořadí. Počet výpočtových kroků muí být konečný. latnoti algoritmu determinovanot - hrnuje přenot, rozumitelnot a jednoznačnot. každém okamžiku řešení muí být jané, jakou operaci má algoritmu provádět. hromadnot maovot - algoritmu muí popiovat zpracování celé kupiny příbuzných hodnot. rezultativnot - algoritmu muí vždy dopět ke právnému výledku, a to pomocí konečného počtu kroků. opakovatelnot - při tejných hodnotách vtupních dat muí algoritmu vždy dopět ke tejnému výledku. 7
Algoritmu veru program program = poloupnot příkazů, dokumentuje e výpiem programu, je chráněn autorkým zákonem. algoritmu = potup práce, dokumentuje e zápiem algoritmu, je možné ho patentovat. Program realizuje algoritmu algoritmy, algoritmu je jeho nutnou oučátí. Popi algoritmu Slovní popi pracovní potup, trukturovaný text, zápi pomocí grafu, peudokód programovací. rafický zápi vývojový diagram, diagram aktivit ML, Kopenogram, NS-diagram, trukturogram. ývojový diagram Popi algoritmů pro FOTAN FOmula TANlator IBM v r. 954 Formalizován různými normativy ČSN 6 900 začátek čti čílo čílo = 0 - piš čílo konec - čílo je udé piš liché piš udé 8
Diagram aktivit ML Diagramy aktivit e podobají vývojovým diagramům, ale jou nátrojem komplexního CASE Computer-Aided Software Engineering ytému názvem nified Modeling Language, ve zkratce ML. Zpracování ouboru dat <>0 čti čílo piš čílo =0 piš "liché" piš "udé" Strukturogram Michael A. Jackon, 975 Základní truktury: ekvence poloupnot operací, elekce větvení. opakování zvláštní případ ekvence. Snadné potupné upřeňování algoritmu Michael Anthony Jackon * 96 http://mc.open.ac.uk/mj665/index.html Jednoznačný vztah mezi daty a algoritmem Strukturogram tupní oubor dat : vtup : Algoritmu zpracování výtup číla nula začátek tělo konec * čílo znázornění opakování číel : příprava čti čílo * řádek : piš čílo text vtup / napiš "udé" čílo je udé / napiš "liché" čti čílo 9
Základní truktury Peudojazyk ývojový diagram Diagram aktivit Strukturogram Programový celek rutina, podrogram, procedura a pod. - definice název parametry... end název začátek. jeden celý trukturogram programový celek - použití volání konec název parametry názevpar. název par. názevpar. Podmíněná činnot, rozhodování Peudojazyk ývojový diagram Diagram aktivit Strukturogram Provedení konkrétní činnoti popi činoti popi činnoti popi činnoti popi činnoti Podmíněná činnot provádí e pouze pokud je plněna určitá podmínka if podmínka podmíněná činnot end if - podmínka činnot myl má jen rozhodování činnot podmínka ozhodování pokud platí určená podmínka, provede e činnot, jinak činnot if podmínka činnot ele činnot end if podmínka - jinak činnot [podmínka ] činnot podmínka podmínka činnot činnot činnot činnot loučení Peudojazyk ývojový diagram Diagram aktivit Strukturogram ětvení podle hodnoty výrazu e provádí určená činnot cae výraz=hodnota činnot cae výraz=hodnota činnot... cae ele činnot při neznámé hodnotě end cae výraz = hodnota činnot - výraz = hodnota n činnot n - činnot při neznámé hodnotě jinak činnot n [podm. ] [podm. ] činnot činnot výraz = hodnota výraz = hodnota... činn. činn. činnot při nezn. hodnotě Opakování pevným počtem opakování for počítadlo=začátek to konec tep krok činnot end for počítadlo=začátek počít. > konec - je nutno etavit z otatních značek podobně jako u vývojového diagramu # počet opakování činnot činnot počítadlo=počítadlokrok 0
Opakování Peudojazyk ývojový diagram Diagram aktivit Strukturogram Opakování tetem na začátku dokud platí podmínka, činnot e opakuje - pokud na začátku opakování není podmínka plněna, činnot e vůbec neprovede while podmínka činnot - podmínka end while činnot je nutno etavit z otatních značek podobně jako u vývojového diagramu * podmínka činnot Opakování tetem na konci opakování končí, pokud je plněna podmínka - i když podmínka platí již na začátku opakování, činnot e jednou provede repeat činnot until podmínka v některých jazycích - while činnot end while podm. činnot podmínka je nutno etavit z otatních značek podobně jako u vývojového diagramu neexituje Zvláštní činnoti Peudojazyk ývojový diagram Diagram aktivit Strukturogram tupní nebo výtupní operace Jako každá jiná činnot popi činnoti jako každá jiná aktivita Jako každá jiná činnot Přípravná činnot Jako každá jiná činnot popi činnoti jako každá jiná aktivita Jako každá jiná činnot Spojka činnot končí v jedné čáti algoritmu a pokračuje v jiné čáti Neexituje čílo čílo Neexituje Neexituje Algoritmu náobení dvou Náobení číel číel Single Acc= 0 začátek tělo konec Exp = exponenta exponentb - / BitB, I= přičti náobení / # bit I = to 4 poun ShiftA Proměnné: A, B činitelé normalizované mantiy Acc akumulátor Exp exponent I celočíelné počítadlo Funkce: Shiftx bitová rotace vpravo exponentx exponent číla Acc=Acc A normalizace / BitAcc, 0= / uprav ShiftAcc ShiftA Exp = Exp
Tetování algoritmu Náobení číel začátek tělo konec Acc= 0 Exp = exponenta # I = to 4 exponentb - bit Proměnné: A : 0,000000000000. - 0,000000000000 0,000000000000 0,0000000000000 B : 0,0000000000000. - náobení poun Acc=Acc A / BitB, I= přičti normalizace / BitAcc, 0= / / ShiftA Acc : 0,0000000000000 Chyba opiu,,0000000000000 riziko ručního tetování Exp: -7-6 uprav ShiftAcc ShiftA Exp = Exp I: atd. Hodnocení ložitoti algoritmů ypočitatelnot algoritmu Turingův troj Alan M. Turing, 96 abtraktní model počítače, Alonzem Churchem vylovili domněnku, že je ekvivalentní počítačem nekonečnou pamětí, Dokázal, že nelze etavit troj, který určí, zda e libovolný troj zataví. Determinitický Turingův troj nekonečná páka čtecí hlava proceor Alan Mathion Turing *. 6. 9. London 7. 6. 954 ilmlow Další krok závií na vnitřním tavu a přečtené hodnotě Čaová ložitot algoritmu Ča na vykonání algoritmu vyjádřený v počtu elementárních operací. šechny operace trvají tejně dlouho. Složitot algoritmu je funkcí vtupu n. Kontantní rozdíly e ignorují. Nechť fn, gn jou funkce z množiny přirozených číel do množiny reálných číel, pak fn = Ogn, pokud exituje kontanta c, že pro velké n platí: fn cgn.
ýpočet ložitoti algoritmu Náobení dvou čtvercových matic rozměru n n Sub NaobeniCtvercovychMatican n,bn n,cn n For I = to n n * For J = to n n * ci, J = 0 For K = to n n * ci, J = ci, J ai, K*bK, J Next K Next J Next I End Sub fn = nnn=5n n n zjednodušení fn = n n n = n Složitot algoritmů Polynomiální ložitot: výpočet vyžaduje Ok d bitových operací čítání d =, náobení d =. Nepolynomiální ložitot: ložitot výpočtu rotoucím n rote rychleji. n! - Onlog n = O k k. a n Příklady funkcí Funkce Přibližné hodnoty Průběh funkcí v logaritmickém měřítku n 0 00 000 nlog n 664 9966 n 000 000000 000000000 n 04,7E0,07E0 n log n 099,94E 7,90E9 n! 68800 9,E57 4E567 logfn 0 8 6 4 0 8 6 n nlogn n^ ^n n^logn n! 4 0 0 5 0 5 0 n
Třídy NP a NP-úplných problémů P chůdné algoritmy běžící nejhůře v polynomiálním čae PT náobení, NP problém nondeterminitic polynomial nechůdné algoritmy, v PT lze pouze ověřit právnot řešení faktorizace, NP-úplný problém NP problémy vzájemně mapovatelné v PT obchodní cetující, exituje P tranformace jednoho na druhý. 4