ČVUT FEL, K Radek Mařík Testování konečných automatů 27. října / 52
|
|
- Hana Bartošová
- před 7 lety
- Počet zobrazení:
Transkript
1 Testování konečných automatů Radek Mařík ČVUT FEL, K října 2016 Radek Mařík Testování konečných automatů 27. října / 52
2 Obsah 1 Konečný automat - základy Definice 2 Neformální přístup testování automatů Terminologie Postup Problémy 3 Formalizace testování automatů Definice Příklad Konstrukce charakterizační množiny Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
3 Konečný automat - základy Definice Konečné automaty v praxi [Bei95] výborný model pro testování aplikací řízených pomocí menu, software řízený pomocí menu: primární ovládání se provádí pomocí výběru z položek menu. široké použití v objektově orientovaném návrhu. Konečný automat abstraktní stroj, jehož počet stavů a vstupních symbolů je konečný a neměnný. skládá se ze stavů (vrcholy), přechodů (hrany), vstupů (označení hran) a výstupů (označení hran či uzlů). Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
4 Konečný automat - základy Definice Konečný automat [HI98] Necht Input je konečná abeceda. Konečný stavový automat nad Input obsahuje následující položky: 1 konečnou množinu Q prvků nazývanou stavy. 2 podmnožinu I množiny Q obsahující počáteční stavy. 3 podmnožinu T množinu Q obsahující konečné stavy. 4 konečnou množinu přechodů, které pro každý stav a každý symbol vstupní abecedy vrací následující stav. Přechodová funkce F : Q Input PQ F(q, input) obsahuje možné stavy automatu, do kterých lze přejít ze stavu q po přijmutí symbolu input. PQ označuje množinu všech podmnožin Q (potenční množina množiny Q). Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
5 Konečný automat - základy Definice Konečný automat s výstupem [HI98] Input konečná abeceda. Konečný automat nad množinou Input obsahuje následující komponenty: 1 Konečná množina Q prvků nazývaných stavy. 2 Podmnožina I množiny Q obsahující počáteční stavy. 3 Podmnožina T množiny Q obsahující koncové stavy. 4 Množina Output možných výstupů. 5 Konečná množina přechodů, které pro každý stav a každý symbol vstupní abecedy vrací množinu možných následujících stavů. Výstupní funkce G : Q Input Output pro každý stav a pro každý vstupní symbol určuje výstupní symbol. F a G mohou být parciální funkce. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
6 Konečný automat - základy Definice Příklady konečných automatů [HI98] Množina Input akce či příkazy uživatele zadaných na klávesnici, kliky či pohyby myše, přijmutí signálu ze senzoru. Množina stavů Q hodnoty jistých důležitých proměnných systému, mód chování systému, druh formuláře, který je viditelný na monitoru, zda jsou zařízení aktivní či ne. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
7 Konečný automat - základy Definice Kódování vstupů [Bei95] Vstupy Vstupní událost: rozlišitelná opakovatelná událost jako fixní sekvence aktivy vstupů. Kódování vstupních událostí: přiřazení jména či čísla. Vstupní symboly: množina vzájemně různých symbolů použitých pro kódování vstupních událostí. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
8 Konečný automat - základy Definice Kódování stavů [Bei95] Stavy Stav: stavy se zobrazují jako uzly diagramu stavového automatu. Kód stavu: přiřazení symbolů ke stavům. Okamžitý stav: stav, ve kterém se právě systém nachází. Počáteční stav: speciální stav systému, ve kterém se systém nachází před přijmutím jakéhokoli vstupní události. Čítač stavů: hypotetické nebo aktuální místo paměti držicí kód okamžitého stavu. Počet stavů: počet vzájemně různých kódů stavu. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
9 Konečný automat - základy Definice Přechody a výstupy [Bei95] Přechody Přechod: odezva systému na vstupní událost, při které se může změnit jeho stav. State A input X / output Y State B Výstupy Vlastní přechod: při přechodu se stav nezmění; hrana vede stavu zpět do tohoto stavu. Výstupní událost: systém může produkovat na svém výstupu aktivity při změnách stavu či při přechodech. Kódování výstupu: symbol výstupní události. Nulový výstup: hypotetická výstupní údalost, při které systém na svém výstupu neprovede žádnou akvititu. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
10 Konečný automat - základy Definice Stavový diagram [Bei95] Vrcholy: zobrazují stavy (stav softwarové aplikace). Hrany: znázorňují přechody (výběr položky v menu). Atributy hran (vstupní kódy): např. akce myší, Alt+Key, funkční kĺıče, klávesy pohybu kursoru. Atributy hran (výstupní kódy): např. zobrazení jiného menu či otevření dalšího okna. Model vesmírné lodi Enterprise tři nastavení impulsního motoru: tah vpřed(d), neutrál(n), a zpětný tah(r). tři možné stavy pohybu: pohyb dopředu(f), zastavena(s), a pohyb vzad(b). kombinace vytvoří devět stavů: DF, DS, DB, NF, NS, NB, RF, RS, a RB. možné vstupy: d > d, r > r, n > n, d > n, n > d, n > r, r > n. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
11 Konečný automat - základy Definice Stavový prostor Enterprise [Bei95] BACKWARD <> STOPPED <> FORWARD r>r RB r>r RS r>r RF n>r r>n n>r r>n n>r r>n NB n>n NS n>n NF n>n d>n n>d d>n n>d d>n n>d d>d d>d DB DS DF d>d Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
12 Konečný automat - základy Definice Vlastnosti stavových diagramů [Bei95] Vlastnosti silně souvislý graf, stavové grafy rostou velmi rychle, typicky se uvažují všechny možné i nemožné vstupy v daném stavu - implementace systému nemusí být správná. pěkná symetrie je velmi řídký jev v praxi. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
13 Konečný automat - základy Definice Přechodové tabulky [Bei95] má pro každý stav jeden řádek a pro každý vstup jeden sloupec, ve skutečnosti jsou tabulky dvě s stejným tvarem: tabulka přechodů tabulka výstupů hodnotou pole v tabulce přechodů je příští stav, hodnotou pole v tabulce výstupů je výstupní kód pro daný přechod. hierarchické (vnořené) automaty jsou jedinou cestou, jak se vyhnout obrovským tabulkám (např. stavová schémata, angl. statechart, starchart, atd.) Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
14 Konečný automat - základy Definice Přechodová tabulka Enterprise [Bei95] Enterprise STATE r > r r > n n > n n > r n > d d > d d > n r > d d > r RB RB NB RS RB NS RF RS NF NB NB RB DB NS NS RS DS NF NF RF DF DB DS NB DS DF NS DF DF NF Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
15 Konečný automat - základy Definice Příklad - estimátor [HI98] edit_cust CUST OMERS help_cust close_help_cust HELP CUST cust close_cust open prices OFF close MAIN close_price PRICES edit_price close_order orders ORDERS edit_order Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
16 Neformální přístup testování automatů Terminologie Dosažitelnost stavů [Bei95] Dosažitelný stav: stav B je dosažitelný ze stavu A, jestliže existuje sekvence vstupů taková, která převede systém ze stav A do stavu B. Nedosažitelný stav: stav je nedosažitelný, pokud není dosažitelný, zvláště z počátečního stavu. Nedosažitelné stavy znamenají typicky chybu. Silně souvislý: všechny stavy konečného automatu jsou dosažitelné z počátečního stavu. Většina modelů v praxi je silně souvislá, pokud neobsahují chyby. Isolované stavy: množina stavů, které nejsou dosažitelné z počátečního stavu. Pokud existují, jedná se o velmi podezřelé, chybové stavy. Reset: speciální vstupní akce způsobující přechod z jakéhokoliv stavu do počátečního stavu. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
17 Neformální přístup testování automatů Terminologie Rozdělení stavů [Bei95] Množina počátečního stavu: Jakmile se provede přechod z této množiny, pak se do této množiny již nelze vrátit (např. boot systému). Pracovní stavy: po opuštění množiny počátečního stavu, se systém pohybuje v silně souvislé množině stavů, kde se provádí většina testování. Počáteční stav pracovní množiny: stav pracovní množiny, který je možné považovat za výchozí stav. Množina koncových stavů: dostane-li se systém do této množiny, nelze se zpět vrátit do pracovní množiny, např. ukončovací sekvence programu. Úplně specifikovaný: je systém, pokud je přechody a výstupní kódy definovány pro jakoukoliv kombinaci vstupního kódu a stavu. Okružní cesta stavu A: sekvence přechodů jdoucí ze stavu A do stavu B a zpět do A. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
18 Neformální přístup testování automatů Terminologie Ověřování modelu [Bei95] 1 úplnost a konzistence, tj. kontrola chybějících vstupů, nejednoznačnosti, rozpory, atd. 2 jednoznačné kódování vstupů, 3 minimální automaty, 4 modely, které nejsou silně souvislé, jsou typicky chybou modelu nebo chybou v návrhu. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
19 Neformální přístup testování automatů Postup Obecný návod k testování automatů [Bei95] 1 identifikuj vstupy. 2 definuj kódy vstupů. Vstupy, které netestujeme se nezahrnují. 3 identifikuj stavy. 4 definuj kódování stavů. 5 identifikuj výstupní akce. 6 definuj kódování výstupních akcí. 7 specifikuj tabulku přechodů a tabulku výstupů a zkontroluj ji - jeden z nejnamahavějších kroků návrhu, 8 navrhni testy, 9 proved testy, 10 pro každý vstup ověř jak přechod, tak i výstup. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
20 Neformální přístup testování automatů Postup Návrh testů [Bei95] Každý test začíná v počátečním stavu. Z počátečního stavu se systém přivede nejkratší cestou k vybranému stavu, provede se zadaný přechod a systém se nejkratší možnou cestou přivede opět do počátečního staru; vytváříme tzv. okružní cestu. Každý test staví na předchozích jednodušších testech. Určíme vstupní kód pro každý přechod okružní cesty. Určíme výstupní kódy asociované s přechody okružní cesty. Ověříme kódování vstupů, kódování výstupů, stavy, každý přechod. Je každý koncový stav dosažitelný? Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
21 Skryté stavy Neformální přístup testování automatů Problémy Je systém v počátečním stavu? Test nelze zahájit, pokud systém není potvrzeným způsobem v počátečním stavu. Aplikace si uchovávají persistentně své nastavení. Jestliže předchozí test selže, v jakém stavu se aplikace nachází? Má implementace skryté stavy? Při testování softwaru můžeme předpokládat věci, které nemusí obecně platit. např. že víme, ve kterém stavu se systém nachází. Typicky se nejedná o jeden či dva skryté stavy, ale stavový prostor se zdvojnásobuje či jinak násobí. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
22 Skryté stavy Neformální přístup testování automatů Problémy!!! a B3 a A2 a A b a C a c B b b A1 a a a B2 B1 c c A b c C Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
23 Neformální přístup testování automatů Problémy Testovatelnost [Bei95] 1 explicitní počítadlo stavů, 2 resetování do specifického stavu, 3 krokování, 4 trasování přechodů. 5 explicitní tabulka vstupního kódování, 6 explicitní tabulka výstupního kódování, 7 explicitní tabulka přechodové funkce. Omezení: velké stavové grafy, vnořené modely versus vnořené systémy, nedostatečná podpora. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
24 Formalizace testování automatů Definice Testování konečného automatu [HI98] založeno na izomorfismu konečných automatů, A = (Input, Q, F, q 0 ) A = (Input, Q, F, q 0 ) g : A A g : Q Q 1 g(q 0 ) = q 0 2 q Q, input Input, g(f(q, input)) = F (g(q), input) B A Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
25 Formalizace testování automatů Definice Konstrukce množiny testů [HI98, Cho78] Chowova W metoda Necht L je množina vstupních sekvencí a q, q dva stavy. L rozliší stav q od q, jestliže existuje sekvence k v L taková, že výstup získaný apliací k na automat ve stavu q je různý od výstupu získaný aplikací k na stav q. Automat je minimální, pokud neobsahuje redundantní stavy. Množina vstupních sekvencí W se nazývá charakterizační množina, jestliže může rozlišit jakékoliv dva stavy stavy automatu. Pokrytí stavu je množina vstupních sekvencí L taková, že lze nalézt prvek množiny L, kterým se lze dostat do jakéhokoliv žádaného stavu z počátečního stavu q 0. Pokrytí přechodů minimálního automatu je množina vstupních sekvencí T, která je pokrytím stavů a uzavřená z hlediska pravé kompozice s množinou vstupů Input. sequence T = L (Input 1 {<>} Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
26 Formalizace testování automatů Definice Generování množiny testů [HI98, Cho78] O kolik je v implementaci více testů než ve specifikaci? (k) Z = Input k W Input k 1 W Input 1 W W Jestliže A a B jsou množiny sekvencí stejné abecedy, pak A B značí množinu sekvencí, složených ze sekvencí množiny A následující sekvencí z B. k kroků do neznámého prostoru následovaných ověřením stavu Konečná množina testů: T Z Pokrytí přechodů zajist uje, že všechny stavy a přechody specifikace jsou implementovány, množina Z zajišt uje, že implementace je ve stejném stavu, který určuje specifikace. Parametr k jistí, že do jisté úrovně všechny skryté stavy implementace jsou testovány. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
27 Formalizace testování automatů Příklad Jednoduchý příklad [HI98] a/x q0 b/y q1 a/y b/y a/x q3 b/x q2 a/y Input = {a, b} L = {<>, b, b ::a, b ::a::b}, <>... nulový vstup T = {<>, a, b, b ::a, b ::b, b ::a::a, b ::a::b, b ::a::b ::a, b ::a::b ::b} W = {a, b} [Chy84], pp Z = Input W W = {a, b} {a, b} {a, b} = {a, b, a::a, a::b, b ::a, b ::b} Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
28 Formalizace testování automatů Příklad Testovací množina příkladu [HI98] T Z = = { <>, a, b, b ::a, b ::b, b ::a::a, b ::a::b, b ::a::b ::a, b ::a::b ::b} {a, b, a::a, a::b, b ::a, b ::b} = {a, b, a::a, a::b, b ::a, b ::b, a::a, a::b, a::a::a, a::a::b, a::b ::a, a::b ::b, b ::a, b ::b, b ::a::a, b ::a::b, b ::b ::a, b ::b ::b, b ::a::a, b ::a::b, b ::a::a::a, b ::a::a::b, b ::a::b ::a, b ::a::b ::b, b ::b ::a, b ::b ::b, b ::b ::a::a, b ::b ::a::b, b ::b ::b ::a, b ::b ::b ::b, b ::a::a::a, b ::a::a::b, b ::a::a::a::a, b ::a::a::a::b, b ::a::a::b ::a, b ::a::a::b ::b, b ::a::b ::a, b ::a::b ::b, b ::a::b ::a::a, b ::a::b ::a::b, b ::a::b ::b ::a, b ::a::b ::b ::b, b ::a::b ::a::a, b ::a::b ::a::b, b ::a::b ::a::a::a, b ::a::b ::a::a::b, b ::a::b ::a::b ::a, b ::a::b ::a::b ::b, b ::a::b ::b ::a, b ::a::b ::b ::b, b ::a::b ::b ::a::a, b ::a::b ::b ::a::b, b ::a::b ::b ::b ::a, b ::a::b ::b ::b ::b} =... simplification Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
29 Formalizace testování automatů Příklad Aplikace [Bei95] software řízený pomocí menu, objektově orientovaný software, protokoly, řadiče zařízení, starší hardware, mikropočítače průmyslových a domacích zařízení, instalace softwaru, software pro archivaci či obnovení. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
30 Mealyho automat Formalizace testování automatů [Mea55, Mat13] Konstrukce charakterizační množiny Definition 1 (Mealyho automat s konečným počtem stavů je ) 6-tice M(X, Y, Q, q 0, δ, λ): X je konečná množina vstupních symbolů (vstupní abeceda), Y je konečná množina výstupních symbolů (výstupní abeceda), Q je konečná množina stavů, q 0 Q je počáteční stav, D Q X je specifikační doména, δ : D Q je přechodová funkce, λ : D Y je výstupní funkce. Jestliže D = Q X, potom M je úplný Mealyho automat [SP10]. Řetězec α = x 1... x k, α I je definovaná vstupní sekvence pro stav q Q, jestliže existují q 1,..., q k+1, kde q 1 = q takové, že (q i, x i ) D a δ(q i, x i ) = q i+1 pro všechna 1 i k. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
31 Minimalita automatu Formalizace testování automatů [SP10, Mat13] Konstrukce charakterizační množiny Dán Mealyho automat M(X, Y, Q, q 0, δ, λ) s konečným počtem stavu. Rozšíření přechodové a výstupní funkce aplikovanou na vstupní symbol x na definované vstupní sekvence α, zahrnující prázdnou sekvenci ɛ: pro q Q, δ(q, ɛ) = q a λ(q, ɛ) = ɛ δ(q, αx) = δ(δ(q, α), x) λ(q, αx) = λ(δ(q, α), x) Ω(q) je množina všech definovaných vstupních sekvencí pro stav q Q. Dva stavy q, q Q jsou rozlišitelné, jestliže existuje γ Ω(q) Ω(q ) takové, že λ(q, γ) λ(q, γ). Pak říkáme, že γ rozlišuje stavy q a q. Dva stavy q 1, q 2 Q; q 1 q 2 jsou stavově ekvivalentní, jestliže po aplikaci jakékoliv vstupní sekvence vedou do stejných nebo ekvivalentních stavů. M je minimální, jestliže žádné jeho dva stavy nejsou ekvivalentní [Ner58, Gil60]. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
32 C-ekvivalence stavů Formalizace testování automatů [SP10, Mat13] Konstrukce charakterizační množiny Dán Mealyho automat M(X, Y, Q, q 0, δ, λ) s konečným počtem stavu. Necht je dána množina C Ω(q) Ω(q ). Stavy q 1, q 2 Q jsou C-ekvivalentní, jestliže λ(q, γ) λ(q, γ) pro všechny γ C. Dva automaty M 1 (X, Y, Q 1, q 1 0, δ 1, λ 1 ) a M 2 (X, Y, Q 2, q 2 0, δ 2, λ 2 ) jsou ekvivalentní, jestliže 1 pro každý stav q M 1 existuje q M 2 takový, že q a q jsou ekvivalentní a 2 pro každý stav q M 2 existuje q M 1 takový, že q a q jsou ekvivalentní. k-ekvivalence Necht M 1 (X, Y, Q 1, q 1 0, δ 1, λ 1 ) a M 2 (X, Y, Q 2, q 2 0, δ 2, λ 2 ) jsou dva automaty. Stavy q i Q 1 a q j Q 2 se považují za k-ekvivalentní, jestliže po aplikování jakékoliv vstupní sekvence délky k jsou produkovány identické výstupní sekvence. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
33 Formalizace testování automatů Konstrukce charakterizační množiny Charakterizační množina W [SP10, Mat13] Necht Mealyho automat M(X, Y, Q, q 0, δ, O) s konečným počtem stavu je minimální a úplný. W je konečná množina vstupních sekvencí, která rozliší jakýkoliv pár stavů q i, q j Q. Každá vstupní sekvence γ W má konečnou délku. Pro každé dva stavy q i, q j Q množina W obsahuje (alespoň jednu) vstupní sekvenci γ takovou, že λ(q i, γ) λ(q j, γ) Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
34 Formalizace testování automatů Konstrukce charakterizační množiny Příklad charakterizační množiny [HI98] Input = {a, b} W = {baaa, aa, aaa} λ(q 1, baaa) = 1101 λ(q 2, baaa) = 1100 λ(q 1, baaa) λ(q 2, baaa) = baaa rozlišuje stavy q 1 a q 2 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
35 Formalizace testování automatů Konstrukce charakterizační množiny k-ekvivalentní rozklad stavů Q [Mat13] k-ekvivalentní rozklad stavů Q označovaný jako P k je soubor n konečných množin Σ k,1, Σ k,2,..., Σ k,n takových Stavy v Σ k,i jsou k-ekvivalentní. n i=1σ k,i = Q Jestliže q l1 Σ k,j a q l2 Σ k,j pro i j, potom q l1 a q l2 jsou k-rozlišitelné. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
36 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce W množiny [Mat13] Postup 1 Vytvoření sekvenci k-ekvivalentních rozklad stavů Q označenou jako P 1, P 2,..., P m, m > 0 2 Prohledání k-ekvivalentních rozkladů v opačném pořadí se současnou kontrukcí rozlišujících sekvencí pro každou dvojici stavů. Je garantována konvergence postupu. Po skončení postupu každá třída Σ K,j konečného rozkladu P K definuje třídu ekvivalentních stavů (typicky 1). Neformálně: nejprve se zjistí, co lze rozlišit v jednom kroku po té ve dvou krocích atd. Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
37 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce W množiny [Mat13] Tabulární reprezentace M. 0-ekvivalenční rozklad P 0 = {Σ 1 = {q 1, q 2, q 3, q 4, q 5 }} Současný stav Výstup Následující stav a b a b q q 1 q 4 q q 1 q 5 q q 5 q 1 q q 3 q 4 q q 2 q 5 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
38 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce 1-ekvivalenční rozklad P 1 [Mat13] 1-ekvivalenční rozklad P 1 = {Σ 1 = {q 1, q 2, q 3 }, Σ 2 = {q 4, q 5 }}. Σ Současný stav Výstup Následující stav a b a b 1 q q 1 q 4 q q 1 q 5 q q 5 q 1 2 q q 3 q 4 q q 2 q 5 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
39 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce 2-ekvivalenční rozklad: přepis P 1 [Mat13] Přepis P 1, stav q i je nahrazen q i,j, přičemž q i Σ j. Σ Současný stav Následující stav a b 1 q 1 q 1,1 q 4,2 q 2 q 1,1 q 5,2 q 3 q 5,2 q 1,1 2 q 4 q 3,1 q 4,2 q 5 q 2,1 q 5,2 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
40 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce 2-ekvivalenční rozklad: konstrukce P 2 [Mat13] Konstrukce P 2. Rozdělení Σ 1,j podle skupin příštích stavů. Σ Současný stav Následující stav a b 1 q 1 q 1,1 q 4,3 q 2 q 1,1 q 5,3 2 q 3 q 5,3 q 1,1 3 q 4 q 3,2 q 4,3 q 5 q 2,1 q 5,3 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
41 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce 3-ekvivalenční rozklad: konstrukce P 3 [Mat13] Konstrukce P 3. Rozdělení Σ 2,j podle skupin příštích stavů. Σ Současný stav Následující stav a b 1 q 1 q 1,1 q 4,3 q 2 q 1,1 q 5,4 2 q 3 q 5,4 q 1,1 3 q 4 q 3,2 q 4,3 4 q 5 q 2,1 q 5,4 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
42 Formalizace testování automatů Konstrukce charakterizační množiny Konstrukce 4-ekvivalenční rozklad: konstrukce P 4 [Mat13] Konstrukce P 4. Rozdělení Σ 3,j podle skupin příštích stavů. Σ Současný stav Následující stav a b 1 q 1 q 1,1 q 4,4 2 q 2 q 1,1 q 5,5 3 q 3 q 5,5 q 1,1 4 q 4 q 3,3 q 4,4 5 q 5 q 2,2 q 5,5 Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
43 Formalizace testování automatů Konstrukce charakterizační množiny Nalezení rozlišujících sekvencí: příklad [Mat13] 1 Nalezněme rozlišující sekvenci stavů q 1 a q 2. 2 Inicializace rozlišující sekvence: z = ɛ. 3 Najdi tabulky P i a P i+1 takové, že (q 1, q 2 ) jsou ve stejné skupině v P i a v různých skupinách v P i+1 : dostaneme P 3 a P 4. 4 Nalezni vstupní symbol rozlišující q 1 a q 2 v tabulce P 3 Rozlišujícím symbolem je b. Prodluž rozlišující sekvenci: z := z.b = ɛ.b = b. 5 Nalezni příští stavy stavů q 1 a q 2 po aplikaci symbolu b dostaneme q 4 a q 5. 6 Najdi tabulky P i a P i+1 takové, že (q 4, q 5 ) jsou ve stejné skupině v P i a v různých skupinách v P i+1 : dostaneme P 2 a P 3. 7 (q 4, q 5 ) P 2, P 3 a z = ba 8 (q 3, q 2 ) P 1, P 2 a z = baa 9 (q 1, q 5 ) P 0, P 1 a z = baaa 10 Opakuj pro každý pár (q i, q j ): W = {a, aa, aaa, baaa} Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
44 Literatura I Formalizace testování automatů Konstrukce charakterizační množiny Boris Beizer. Black-Box Testing, Techniques for Functional Testing of Software and Systems. John Wiley & Sons, Inc., New York, T.S. Chow. Testing software design modeled by finite-state machines. IEEE Transactions on Software Engineering, SE-4(3): , May Michal Chytil. Automaty a gramatiky. SNTL Praha, A. Gill. Characterizing experiments for finite-memory binary automata. IRE Transactions on Electronic Computers, EC-9(4): , Dec Mike Holcombe and Florentin Ipate. Correct Systems: Building a Business Process Solution. Springer, Aditya P. Mathur. Foundations of software testing 2e, slides, George H. Mealy. A method for synthesizing sequential circuits. Bell System Technical Journal, The, 34(5): , Sept Radek Mařík (radek.marik@fel.cvut.cz) Testování konečných automatů 27. října / 52
45 Literatura II Formalizace testování automatů Konstrukce charakterizační množiny A. Nerode. Linear automaton transformations. Proc. Amer. Math. Soc., 9: , A. Simao and A. Petrenko. Checking completeness of tests for finite state machines. IEEE Transactions on Computers, 59(8): , Aug Radek Mařík Testování konečných automatů 27. října / 52
CA CZ, s.r.o. May 21, Radek Mařík Testování konečných automatů May 21, / 36
Testování konečných automatů Radek Mařík CA CZ, s.r.o. May 21, 2010 Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 1 / 36 Obsah 1 Konečný automat - základy 2 Neformální přístup
Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ
Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá
Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
Testování a verifikace softwaru
Testování a verifikace softwaru Radek Mařík ČVUT FEL Katedra telekomunikační techniky, K13132 4. října 2017 Radek Mařík (radek.marik@fel.cvut.cz) Testování a verifikace softwaru 4. října 2017 1 / 6 Vize
v praze fakulta elektrotechnická katedra počítačové grafiky a interakce
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v praze fakulta elektrotechnická katedra počítačové grafiky a interakce Výukový nástroj k testování stavových automatů DIPLOMOVÁ PRÁCE Obor: Softwarové inženýrství Program:
Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:
IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a
Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.
BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné
5. Sekvenční logické obvody
5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.
Minimalizace KA - Úvod
Minimalizace KA - Úvod Tyto dva KA A,A2 jsou jazykově ekvivalentní, tzn. že rozpoznávají tentýž jazyk. L(A) = L(A2) Názorně lze vidět, že automat A2 má menší počet stavů než A, tudíž našim cílem bude ukázat
Formální jazyky a gramatiky Teorie programovacích jazyků
Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní
Naproti tomu gramatika je vlastně soupis pravidel, jak
1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen
Syntaxí řízený překlad
Syntaxí řízený překlad Překladový automat Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Zobecněný překladový automat Překladový automat
Struktura a architektura počítačů (BI-SAP) 3
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 3 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Zjednodušení generativního systému redukcí rozlišení
Zjednodušení generativního systému redukcí rozlišení Ze studie zahrnující dotaz na vzdělání. Obor hodnot v i : e základní vzdělání h střední vzdělání c bakalář g magistr Možné redukce rozlišení cg vysoké
Sekvenční logické obvody
Sekvenční logické obvody Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou Sekvenční obvody - paměťové členy, klopné obvody flip-flop Asynchronní klopné obvody
Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů
BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické
3. Sekvenční logické obvody
3. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody příklad sekv.o. Příklad sledování polohy vozíku
Operační výzkum. Síťová analýza. Metoda CPM.
Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo
Základy maticového počtu Matice, determinant, definitnost
Základy maticového počtu Matice, determinant, definitnost Petr Liška Masarykova univerzita 18.9.2014 Matice a vektory Matice Matice typu m n je pravoúhlé (nebo obdélníkové) schéma, které má m řádků a n
Teoretická informatika - Úkol č.1
Teoretická informatika - Úkol č.1 Lukáš Sztefek, xsztef01 18. října 2012 Příklad 1 (a) Gramatika G 1 je čtveřice G 1 = (N, Σ, P, S) kde, N je konečná množina nonterminálních symbolů N = {A, B, C} Σ je
AUTOMATY A GRAMATIKY
AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace
MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]
MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě
doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je
28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci
Základy teoretické informatiky Formální jazyky a automaty
Základy teoretické informatiky Formální jazyky a automaty Petr Osička KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Outline Literatura Obsah J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to
TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
TURINGOVY STROJE Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 12 Evropský sociální fond Praha & EU: Investujeme do vaší
Aplikovaná numerická matematika - ANM
Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových
Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.
Matice lineárních zobrazení [1] Připomenutí Zobrazení A : L 1 L 2 je lineární, když A( x + y ) = A( x ) + A( y ), A(α x ) = α A( x ). Což je ekvivalentní s principem superpozice: A(α 1 x 1 + + α n x n
Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:
3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...
TGH02 - teorie grafů, základní pojmy
TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 28. února 2017 Metainformace materiály: jan.brezina.matfyz.cz/vyuka/tgh (./materialy/crls8.pdf - Introduction to algorithms)
TGH02 - teorie grafů, základní pojmy
TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 5. března 2013 Počátek teorie grafů Leonard Euler (1707 1783) 1735 pobyt v Královci (Prusko), dnes Kaliningrad (Rusko) Úloha:
Soustavy linea rnı ch rovnic
[1] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení a) soustavy, 10, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010, g)l.
Automaty a gramatiky
Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Co bylo minule Úvod do formálních gramatik produkční systémy generativní gramatika G=(V N,V T,,P) G =
Úvod do lineární algebry
Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u
Fakulta informačních technologií. Teoretická informatika
Vysoké učení technické v Brně Fakulta informačních technologií Teoretická informatika Třetí úkol 2 Jan Trávníček . Tato úloha je řešena Turingovým strojem, který je zobrazen na obrázku, který si můžeme
Přijímací zkouška na navazující magisterské studium 2018
Přijímací zkouška na navazující magisterské studium 2018 Řešení příkladů pečlivě odůvodněte. Příklad 1 (2 bodů) Studijní program: Studijní obory: Varianta A Matematika MMUI Navrhněte deterministický konečný
TGH02 - teorie grafů, základní pojmy
TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 31. března 2015 Počátek teorie grafů Leonard Euler (1707 1783) 1735 pobyt v Královci (Prusko), dnes Kaliningrad (Rusko)
Lineární programování
Lineární programování Petr Tichý 19. prosince 2012 1 Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 2 Lineární programování Lineární program (1) min f(x) za
Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:
1) Syntaktická analýza shora a zdola, derivační strom, kanonická derivace ezkontextová gramatika gramatika typu 2 Nechť G = je gramatika typu 1. Řekneme, že je gramatikou typu 2, platí-li: y
NAIVNÍ TEORIE MNOŽIN, okruh č. 5
NAIVNÍ TEORIE MNOŽIN, okruh č. 5 Definování množiny a jejích prvků Množina je souhrn nějakých věcí. Patří-li věc do množiny X, říkáme, že v ní leží, že je jejím prvkem nebo že množina X tuto věc obsahuje.
11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost diagramům tříd, asociaci,
Výroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a
Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému
BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)
Metody síťové analýzy
Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický
Jednoznačné a nejednoznačné gramatiky
BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.
Vztah jazyků Chomskeho hierarchie a jazyků TS
Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé
Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).
Předmět: MA 4 Dnešní látka Lineární (vektorový) prostor Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost matic Četba:
Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici
[1] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A = 0 pro singulární matici, det A 0 pro regulární matici používá se při řešení lineárních soustav... a v mnoha dalších aplikacích
4. NP-úplné (NPC) a NP-těžké (NPH) problémy
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA 4. NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).
Předmět: MA 4 Dnešní látka Vektorový (lineární) prostor (připomenutí) Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost
Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.
Kapitola 3 Počítání s maticemi Matice stejného typu můžeme sčítat a násobit reálným číslem podobně jako vektory téže dimenze. Definice 3.1 Jsou-li A (a ij ) a B (b ij ) dvě matice stejného typu m n, pak
Konečný automat. Jan Kybic.
Konečný automat Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 33 Konečný automat finite state machine Konečný automat = výpočetní model, primitivní počítač Řídící jednotka s
Lineární algebra : Skalární součin a ortogonalita
Lineární algebra : Skalární součin a ortogonalita (15. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
Turingovy stroje. Teoretická informatika Tomáš Foltýnek
Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,
Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice študenti MFF 15. augusta 2008 1 7 Diferenciální rovnice Požadavky Soustavy lineárních diferenciálních rovnic prvního řádu lineární
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 2 METODY VERIFIKACE SYSTÉMŮ NA ČIPU II doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti
Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení
Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...
Konečný automat. Syntéza kombinačních a sekvenčních logických obvodů. Sekvenční obvody asynchronní, synchronní a pulzní. Logické řízení technologických procesů, zápis algoritmů a formulace cílů řízení.
ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ
ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2/2, Lekce Evropský sociální fond Praha & EU: Investujeme
ALGEBRA. Téma 5: Vektorové prostory
SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 5: Vektorové prostory Základní pojmy Vektorový prostor nad polem P, reálný (komplexní)
Vývoj řízený testy Test Driven Development
Vývoj řízený testy Test Driven Development Richard Salač, Ondřej Lanč Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze 23. - 30. 10. 2012 Obsah 1 Testování 2 Klasický přístup
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA BAKALÁŘSKÁ PRÁCE 2002 SEDLÁK MARIAN - 1 - OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ Vizualizace principů výpočtu konečného
VLASTNOSTI GRAFŮ. Vlastnosti grafů - kap. 3 TI 5 / 1
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3 TI 5 / 1 Pokrytí a vzdálenost Každý graf je sjednocením svých hran (jak je to přesně?).?lze nalézt složitější struktury stejného typu, ze kterých lze nějaký graf
Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s
Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných
VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5
VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 5 Evropský sociální fond Praha & EU: Investujeme do vaší
Matematika B101MA1, B101MA2
Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet
Testování kombinačních obvodů Intuitivní zcitlivění cesty, D-algoritmus
Testování kombinačních obvodů Intuitivní zcitlivění cesty, D-algoritmus Testování a spolehlivost ZS 2/22, 2. přednáška Ing. Petr Fišer, Ph.D. Katedra číslicového návrhu Fakulta informačních technologií
Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické
Vlastnosti regulárních jazyků
Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
Přijímací zkouška na navazující magisterské studium 2017
Přijímací zkouška na navazující magisterské studium 207 Řešení příkladů pečlivě odůvodněte. Příklad (25 bodů) Studijní program: Studijní obory: Varianta A Matematika MMUI Navrhněte deterministický konečný
= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez
Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u,
Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43
Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu 2018 1/ 43 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným
Analýza Petriho sítí. Analýza Petriho sítí p.1/28
Analýza Petriho sítí Analýza Petriho sítí p.1/28 1. Základní pojmy Základní problémy analýzy bezpečnost (safeness) omezenost (boundness) konzervativnost (conservation) živost (liveness) Definice 1: Místo
Obsah. October 2, Polymorfizmus. Typologie testování. Problém polymorfizmu. Vady/Anomálie. Vazební sekvence ČVUT FEL, K13132
OO testování Radek Mařík ČVUT FEL, K13132 October 2, 2014 Radek Mařík (marikr@fel.cvut.cz) OO testování October 2, 2014 1 / 55 Obsah 1 Kĺıčové OO vlastnosti Dědičnost Řízení přístupu Polymorfizmus 2 Testování
transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]
[1] Afinní transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím využití například v počítačové grafice Evropský sociální fond Praha & EU. Investujeme do
Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů
Testování a spolehlivost ZS 2011/2012 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Příprava studijního programu
[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.
Polynomy Polynom je možno definovat dvěma způsoby: jako reálnou nebo komplexní funkci, jejichž hodnoty jsou dány jistým vzorcem, jako ten vzorec samotný. [1] První způsob zavedení polynomu BI-LIN, polynomy,
U Úvod do modelování a simulace systémů
U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 11 METODY VERIFIKACE SYSTÉMŮ NA ČIPU Hana Kubátov vá doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta 1 informačních
Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1
Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
Cvičení z Lineární algebry 1
Cvičení z Lineární algebry Michael Krbek podzim 2003 2392003 Hodina Jsou dána komplexní čísla z = +2 i a w = 2 i Vyjádřete c algebraickém tvaru (z + w) 3,, (zw), z w 2 Řešte v komplexním oboru rovnice
10. Techniky formální verifikace a validace
Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 10. Techniky formální verifikace a validace 1 Simulace není
Algoritmus pro hledání vlastních čísel kvaternionových matic
Úvod Algoritmus pro hledání vlastních čísel kvaternionových matic Bc. Martin Veselý Fakulta jaderná a fyzikálně inženýrská Katedra softwarového inženýrství v ekonomii Skupina aplikované matematiky a stochastiky
Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).
Předmět: MA 4 Dnešní látka Vlastní čísla a vektory Google Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost matic Četba:
SEMESTRÁLNÍ PROJEKT Y38PRO
SEMESTRÁLNÍ PROJEKT Y38PRO Závěrečná zpráva Jiří Pomije Cíl projektu Propojení regulátoru s PC a vytvoření knihovny funkcí pro práci s regulátorem TLK43. Regulátor TLK43 je mikroprocesorový regulátor s
Cvičení ke kursu Vyčíslitelnost
Cvičení ke kursu Vyčíslitelnost (23. prosince 2017) 1. Odvoďte funkci [x, y, z] x y z ze základních funkcí pomocí operace. 2. Dokažte, že relace nesoudělnosti je 0. Dokažte, že grafy funkcí Mod a Div jsou
Usuzování za neurčitosti
Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích
Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování. vypracovanou úlohu podle níže uvedených zadání. To mimo jiné znamená, že
Kapitola Zadání Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování alespoň jedné úlohy je nutnou podmínkou pro úspěšné složení zkoušky resp. získaní (klasifikovaného) zápočtu (viz.
Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory
Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový
02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
Matice. a m1 a m2... a mn
Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích