IV113 Validace a verifikace. Detekce akceptujícího cyklu. Jiří Barnat
|
|
- Karel Rohla
- před 7 lety
- Počet zobrazení:
Transkript
1 IV113 Validace a verifikace Detekce akceptujícího cyklu Jiří Barnat
2 Připomenutí V113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 2/37 Problém Kripkeho struktura M LTL formule ϕ M = ϕ? Řešení pomocí Büchiho automatů A sys automat akceptující běhy modelu A ϕ automat akceptující běhy porušující vlastnost ϕ L(A sys ) L(A ϕ ) = L(A sys A ϕ ) L(A sys A ϕ ) model má běh porušující ϕ L(A sys A ϕ ) = M = ϕ
3 Algoritmus pro detekci akceptujících cyklů IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 3/37 Vstup algoritmu Produktový automat ve formě tří následujících funkcí F _init() Vrací iniciální stav automatu. F _succs(s) Pro daný stav vrací jeho přímé následníky. Accepting (s) O stavu řekne, zda je či není akceptující. Výstup algoritmu Přítomen / Nepřítomen Protipříklad. Algoritmus Využívá vnořené prohledávání do hloubky Nested DFS. Vnější procedura detekuje akceptující stavy, vnitřní procedura testuje, zda akceptující stav je dosažitelný ze sebe sama (leží na cyklu).
4 Sekce IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 4/37 Detekce akceptujících cyklů
5 Detekce akceptujících cyklů IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 5/37 Problém Je dán Büchiho automat A = (S, Σ, δ, s 0, F ). Je jazyk akceptovaný automatem A neprázdný? Redukce na detekci akceptujícího cyklu v grafu Nechť G = (S, E), kde E = {(u, v) S S a Σ takové, že v δ(u, a)} je graf Büchiho automatu. L(A) je neprázdný právě když graf automatu A obsahuje dosažitelný akceptující cyklus, tj. cyklus jehož alespoň jeden vrchol v je akceptující (v F ) a zároveň dosažitelný z iniciálního stavu ((s 0, v) E ).
6 Detekce akceptujících cyklů V113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 6/37 Algoritmické řešení 1) V grafu Büchiho automatu identifikuj všechny dosažitelné akceptující vrcholy. (Vnější procedura.) 2) Pro každý takto identifikovaný vrchol ověř, že není dosažitelný ze sebe sama. (Vnitřní procedura.) Dosažitelnost v grafu Standardní grafový algoritmus. Výpočet množiny dosažitelných, případně akceptujících dosažitelných vrcholů lze provést v čase O( V + E ). S obecným algoritmem detekce dosažitelnosti je detekce přítomnosti akceptujícího cyklu proveditelná v čase O( V + E + F ( V + E )). Pokud ale použijeme strategii prohledávání do hloubky, lze dosáhnout času O( V + E ).
7 Prohledávání grafu do hloubky V113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 7/37 proc Reachable(V,E,v 0) Visited = DFS(v 0) return (Visited) end proc DFS(vertex) if vertex Visited then / Visits vertex / Visited := Visited {vertex} foreach { v (vertex,v) E } do DFS(v) od / Backtracks from vertex / fi
8 Barevné značení vrcholů při DFS IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 8/37 Pozorování Při prohledávání grafu procedurou DFS se každý vrchol grafu nachází v jednom ze tří možných stavů. Barevné značení vrcholů Bílý vrchol - dosud nebyl navštíven. Šedý vrchol - navštívený, ale dosud nebyl backtrackován. Černý vrchol - navštívený i backtrackovaný. Zásobník rekurze Šedé vrcholy tvoří cestu od počátečního vrcholu k vrcholu, který je v daný okamžik algoritmem zpracováván.
9 Vlastnosti DFS, G = (V, E) a v 0 V IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 9/37 Pozorování Pokud pro dva různé vrcholy v 1, v 2 platí, že (v 0, v 1 ) E, (v 1, v 1 ) E +, (v 1, v 2 ) E +. Pak procedura DFS(v 0 ) backtrackuje z vrcholu v 2 dříve než backtrackuje z vrcholu v 1. DFS post-order Pokud (v, v) E + a (v 0, v) E, pak po skončení procedury DFS(v), volané v rámci výpočtu DFS(v 0 ), jsou všechny vrcholy u takové, že (v, u) E + navštívené a backtrackované.
10 Detekce akceptujících cyklů v čase O( V + E ) IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 10/37 Předpoklady Volání vnitřní procedury pro akceptující vrchol v ohlásí cyklus a ukončí algoritmus, pokud akceptující vrchol v leží na akceptujícím cyklu. Klíčová myšlenka Vnořené procedury jsou volány v pořadí, ve kterém vnější procedura z akceptujících vrcholů backtrackuje, tj. dle DFS post-orderu.
11 Detekce akceptujících cyklů v čase O( V + E ) IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 11/37 proc Detekce akceptujících cyklů Visited := DFS(v 0) end proc DFS(vertex) if (vertex) Visited then Visited := Visited {vertex} foreach {s (vertex,s) E} do DFS(s) od if IsAccepting(vertex) then DetectCycle(vertex) fi fi end
12 Detekce akceptujících cyklů v čase O( V + E ) IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 12/37 Pozorování Pokud podgraf dosažitelný z vrcholu s neobsahuje akceptující cyklus, pak žádný akceptující cyklus přes vrchol r ležící mimo podgraf dosažitelný z s neprochází stavem dosažitelným z s. Tvrzení Pokud vnitřní procedura pro vrchol v skončí aniž by ohlásila cyklus, tak podgraf dosažitelný z vrcholu v neobsahuje akceptující cyklus.
13 Detekce akceptujících cyklů v čase O( V + E ) V113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 13/37 Důsledek vedoucí k lineárnímu algoritmu Každou vnitřní proceduru lze omezit na vrcholy dosud nenavštívené v žádné předchozí vnitřní proceduře. O( V + E ) algoritmus 1) Vnitřní procedury budou spouštěny pro akceptující vrcholy v pořadí, ve kterém vnější procedura z těchto vrcholů backtrackuje. 2) Vnitřní procedury nenavštěvují vrcholy navštívené v předchozích vnitřních procedurách.
14 Detekce cyklu ve vnitřních procedurách IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 14/37 Tvrzení Pokud je následníkem právě zpracovávaného vrcholu šedý vrchol (tj. vrchol na zásobníku rekurzivních volání procedury DFS), pak graf obsahuje cyklus. Využití Ve vnořené proceduře není nutné dosáhnout přesně vrcholu, pro který je detekce cyklu volána, ale stačí dosáhnout vrcholu na zásobníku vnější procedury.
15 O( V + E ) Algoritmus IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 15/37 proc Detekce akceptujících cyklů Visited := Nested := in_stack := DFS(v 0) Exit("Nepřítomen") end proc DFS(vertex) if (vertex) Visited then Visited := Visited {vertex} in_stack := in_stack {vertex} foreach {s (vertex,s) E} do DFS(s) od if IsAccepting(vertex) then DetectCycle(vertex) fi in_stack := in_stack \ {vertex} fi end proc DetectCycle (vertex) if vertex Nested then Nested := Nested {vertex} foreach {s (vertex,s) E} do if s in_stack then WriteOut(in_stack) Exit("Přítomen") else DetectCycle(s) fi of fi end
16 Složitost IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 16/37 Vnější procedura Časová složitost: O( V + E ) Prostorová složitost: O( V ) Vnitřní procedury Celková časová složitost: O( V + E ) Prostorová složitost: O( V ) Složitost Časová složitost: O( V + E + V + E ) = O( V + E ) Prostorová složitost: O( V + V ) = O( V )
17 DFS příklad IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 17/37
18 Sekce IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 18/37 Typy Büchi automatů a jejich využití při verifikaci
19 Podtřídy Büchi automatů IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 19/37 Terminální Büchi automaty Všechny akceptující cykly v automatu jsou právě ve formě smyčky nad akceptujícím stavem strážené výrazem true. Slabé Büchi automaty (weak) Každá silně souvislá komponenta automatu je striktně tvořena buď pouze akceptujícími stavy, nebo pouze neakceptujícími.
20 Dopad na verifikační proceduru IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 20/37 Automat A ϕ Pro řadu LTL formulí ϕ je A ϕ terminální nebo slabý. A ϕ je typicky velmi malý (max desítky stavů). Typ A ϕ lze zjistit před procesem verifikace. Typy komponent A ϕ Neakceptující bez akceptujícího cyklu. Striktně akceptující každý cyklus je akceptující. Smíšené obsahuje akceptující i neakceptující cykly. Produktový automat Prohledávaný graf je synchronní produkt A S a A ϕ. Typ komponent A S A ϕ určen odpovídajícími komponentami A ϕ.
21 Dopad na verifikační proceduru Terminální BA IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 21/37 A ϕ je terminální Büchi automat Pro důkaz existence akceptujícího cyklu stačí prokázat dosažitelnost stavu akceptujícího ve složce A ϕ. Proces verifikace se redukuje na analýzu dosažitelnosti. Safety vlastnosti Vlastnost ϕ, pro které je A ϕ terminální BA. Typická slovní formulace: Nenastane špatná událost. Pro verifikaci stačí analýza dosažitelnosti.
22 Dopad na verifikační proceduru Slabé BA IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 22/37 A ϕ je slabý Büchi automat Neobsahuje smíšené komponenty. Pro důkaz existence akceptujícího cyklu stačí prokázat dosažitelnost cyklu v akceptující komponentě. Lze detekovat pomocí jednoduchého DFS. Znám optimální algoritmus, který nevyžaduje DFS. Slabé LTL vlastnosti Vlastnost ϕ, pro které je A ϕ slabý BA. Typická vlastnost je response : G (a = F (b))
23 Klasifikace LTL formulí IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 23/37 Klasifikace Každá LTL formule patří do jedné z následujících tříd: Reactivity, Recurrence, Persistance, Obligation, Safety, Guarantee Zajímavá fakta Je-li vlastnost ze třídy Guarantee, je popsatelná terminálním Büchi automatem. Je-li vlastnost ze tříd Persistance, Obligation nebo Safety je popsatelná slabým Büchi automatem. Při verifikaci se formule neguje (ϕ A ϕ ) ϕ Safety ϕ Guarantee. ϕ Recurrence ϕ Persistance.
24 Klasifikace LTL formulí IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 24/37 Reactivity General BA Recurrence Persistence Weak BA Obligation Safety Guarantee Terminal BA
25 Sekce IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 25/37 Boj se stavovou explozí
26 Stavová exploze IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 26/37 Co je to stavová exploze Systém bývá popsán jako paralelní kompozice procesů. Vzájemným proložením možných chování jednotlivých procesů vznikají různé možné stavy systému jako celku. Počet dosažitelných stavů systému může být až exponenciálně větší než součet počtu stavů procesů. Důsledek Do operační paměti počítače nezle uložit všechny stavy produktového automatu. Je obtížně detekovat přítomnost akceptujícího cyklu.
27 Vybrané metody boje se stavovou explozí IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 27/37 Komprese stavových vektorů Neztrátové komprese Ztrátové heuristiky On-The-Fly verifikace Symbolická reprezentace stavového prostoru Redukce počtu stavů produktového automatu Redukce zaváděním atomických bloků Redukce částečným uspořádáním akcí Redukce symetrií Paralelní/Distribuovaná verifikace
28 On-The-Fly verifikace IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 28/37 Pozorování Graf lze zadat pomocí funkcí (tzv. implicitní definice) F _init() Vrací iniciální vrchol grafu. F _succs(s) Pro daný vrchol vrací jeho přímé následníky. Accepting (s) O stavu řekne, zda je či není akceptující. On-the-fly verifikace Pokud graf obsahuje akceptující cyklus, algoritmus je schopen v některých případech detekovat přítomnost akceptujícího cyklu, aniž by přitom navštívil (a tedy uložil) všechny vrcholy grafu. Problém M = ϕ je někdy možné rozhodnout bez nutnosti úplné enumerace vrcholů a hran automatu A sys A ϕ. Metoda verifikace s výše popsanou vlastností se označuje jako on-the-fly metoda verifikace.
29 Redukce uspořádáním akcí V113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 29/37 Příklad Uvažme systém tvořený dvěma procesy A a B. A je tvořen jednou akcí α, B sekvencí akcí β 1,..., β m. Neredukovaný stavový prostor: s β1 β2 βm α α α β1 β2 βm α r Vlastnost: Je dosažitelný stav r?
30 Redukce uspořádáním akcí IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 30/37 Pozorování Běhy (αβ 1 β 2... β m ), (β 1 αβ 2... β m ),..., (β 1 β 2... β m α) jsou vzhledem k dané vlastnosti ekvivalentní. Je dostačující zvážit pouze jednoho reprezentanta z třídy ekvivalence, například (β 1 β 2... β m α). s β1 β2 βm α α α β1 β2 βm α r Reprezentanta lze získat odkládáním akce α.
31 Redukce uspořádáním akcí Princip redukce Při generování grafů se místo funkce všech přímých následníků, uvažují pouze někteří přímí následníci vrcholu. V důsledku toho je počet vygenerovaných stavů produktového automatu menší. Technická realizace Optimální způsob výběru následníků je obtížný. Nástroje implementují různé heuristiky. Redukovaný stavový prostor musí zachovávat přítomnost akceptujícího cyklu. Formule nesmí obsahovat operátor X (podtřída LTL). Anglický název Partial Order Reduction IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 31/37
32 Distribuovaná/Paralelní verifikace IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 32/37 Princip Nesnaží se zmenšit paměťové nároky výpočtu. Snaží se efektivně využít větší množství výpočetních zdrojů. Problémy algoritmu Nested DFS Algoritmus přistupuje operační paměť velmi náhodně. Prosté swapování na disk nefunguje (výprask OS). Simulace Nested DFS algoritmu v prostředí s distribuovanou pamětí je pomalá (předávání peška). Není znám způsob jak DFS post-order napočítat efektivně paralelním algoritmem. (Otevřený problém.)
33 Paralelní algoritmy pro detekci cyklu IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 33/37 Pozorování Místo Nested DFS algoritmu se používají jiné (časově neoptimální) algoritmy, jejichž výpočet ale lze dobře paralelizovat. Složitost Optimalita On-The-Fly Nested DFS O(V+E) Ano Ano OWCTY obecné Büchi automaty O(V.(V+E)) Ne Ne slabé Büchi automaty O(V+E) Ano Ne MAP O(V.V.(V+E)) Ne Částečně OWCTY+MAP obecné Büchi automaty O(V.(V+E)) Ne Částečně slabé Büchi automaty O(V+E) Ano Částečně
34 Sekce IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 34/37 Ověřování modelu shrnutí
35 Princip rozhodovací procedury a stavová exploze IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 35/37 Platnost formule Požadovaná vlastnost může být porušena při jednom jediném konkrétním proložení akcí. Rozhodnutí je podloženo analýzou grafu stavového prostoru verifikovaného programu. Stavová exploze Není-li řečeno jinak, je třeba uvážit všechna možná proložení akcí. Počet stavů, do kterých se může dostat paralelní program, je exponenciálně větší než velikost zápisu paralelního programu.
36 Výhody metody ověřování modelu IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 36/37 Obecná technika aplikovatelná na různé typy systémů Hardware, software, zabudované systémy,... Garance výsledku (matematicky podložen) Rozhodovací procedura tvrdí, že M = ϕ, tehdy a jen tehdy, pokud to skutečně platí. Existence podpůrných nástrojů model checkerů Verifikace tzv. na kliknutí myši / zmačknutí tlačítka. Minimální účast uživatele v rozhodovacím procesu. Automatická identifikace a generování protipříkladů.
37 Nevýhody metody ověřování modelu Vhodná pouze k verifikaci konkrétních transformací Nelze použít na obecný důkaz toho, že program například pro zadané n spočítá hodnotu n!. Lze však ověřit, že pro hodnotu 5 program vrátí 120. Verifikuje pouze model systému Platnost formule, neznamená splnění specifikace systémem. Nutnost vytváření modelu. Velikost stavového prostoru Aplikovatelné (pouze) na konečně stavové systémy. Vzhledem k stavové explozi je praktická aplikovatelnost techniky omezena na relativně malé modely. Verifikuje jen to, co je specifikováno Co není vyjádřeno formulemi, to se neverifikuje. IV113 Úvod do validace a verifikace: Detekce akceptujícího cyklu str. 37/37
IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat
IV113 Validace a verifikace Převod LTL formule na Büchi automat Jiří Barnat Připomenutí IV113 úvod do validace a verifikace: LTL BA str. 2/26 Problém Kripkeho struktura M LTL formule ϕ M = ϕ? Řešení pomocí
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í
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
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
5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
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
ALGORITMY A DATOVÉ STRUKTURY
Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu
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
Implementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
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
Unbounded Model Checking
Unbounded Model Checking Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 25. října 2011 Evropský sociální fond Praha & EU: Investujeme do
Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31
Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,
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ý
Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39
Algoritmy Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna 2018 1/ 39 Algoritmy Příklad: Popis algoritmu pomocí pseudokódu: Algoritmus 1: Algoritmus pro nalezení největšího prvku v poli 1 Find-Max(A,n):
Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava
Implementace LL(1) překladů Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 6. ledna 2012 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
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í
Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27
Bezkontextové jazyky 2/3 Bezkontextové jazyky 2 p.1/27 Transformace bezkontextových gramatik Bezkontextové jazyky 2 p.2/27 Ekvivalentní gramatiky Definice 6.1 Necht G 1 a G 2 jsou gramatiky libovolného
Základy algoritmizace, návrh algoritmu
Základy algoritmizace, návrh algoritmu Algoritmus Předpoklady automatického výpočtu: předem stanovit (rozmyslet) přesný postup během opakovaného provádění postupu již nepřemýšlet a postupovat mechanicky
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 28. března 2017 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
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
Výroková a predikátová logika - IV
Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)
Hledáme efektivní řešení úloh na grafu
Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
Numerická stabilita algoritmů
Numerická stabilita algoritmů Petr Tichý 9. října 2013 1 Numerická stabilita algoritmů Pravidla v konečné aritmetice Pro počítání v konečné aritmetice počítače platí určitá pravidla, která jsou důležitá
Datové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
Úvod do teorie grafů
Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí
Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů
Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému
IV113 Validace a verifikace
IV113 Validace a verifikace Lehký úvod do analýzy programů Jiří Barnat Analýza programů IV113 Úvod do validace a verifikace: Analýza programů str. 2/29 Cíle programové analýzy Odvodit vlastnosti programů
Rekurzivní algoritmy
Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS
ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)
ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) Strom / tree uzel, vrchol / node, vertex hrana / edge vnitřní uzel
Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C
Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 05 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly
Plánování proektu 3. dubna 2018 1 Úvod 2 Reprezentace proektu 3 Neomezené zdroe 4 Variabilní doba trvání 5 Přidání pracovní síly Problémy plánování proektu Zprostředkování, instalace a testování rozsáhlého
PQ-stromy a rozpoznávání intervalových grafů v lineárním čase
-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S
Vzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?
Kapitola 9 Matice a počet koster Graf (orientovaný i neorientovaný) lze popsat maticí, a to hned několika různými způsoby. Tématem této kapitoly jsou incidenční matice orientovaných grafů a souvislosti
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 =
Třída PTIME a třída NPTIME. NP-úplnost.
VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní
autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy
9 Krátké povídání o průnikových grafech Od této lekce teorie grafů se zaměříme lehce na několik vybraných partíı teorie grafů bĺızkých autorovu srdci... Naším prvním výběrem jsou průnikové grafy, což jsou
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
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
Časová a prostorová složitost algoritmů
.. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová
Třídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
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
Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.
Stromy Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol., 2018, B6B36DSA 01/2018, Lekce 9 https://cw.fel.cvut.cz/wiki/courses/b6b36dsa/start
TGH09 - Barvení grafů
TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)
- 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje
IB109 Návrh a implementace paralelních systémů. Analytický model paralelních programů. RNDr. Jiří Barnat, Ph.D.
IB109 Návrh a implementace paralelních systémů Analytický model paralelních programů RNDr. Jiří Barnat, Ph.D. Analytický model paralelních programů B109 Návrh a implementace paralelních systémů: Analytický
Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy
Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
Základní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní
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,
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
Výroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou
Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]
Hanojská věž zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah je lepší? (co je lepší tah?) P. Berka, 2012 1/21 Stavový prostor 1. množina stavů S = {s} 2. množina přechodů
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.
Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w
Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr
Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
Rekurze. Pavel Töpfer, 2017 Programování 1-8 1
Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo
2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013
2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky
Výroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty
Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace
ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)
ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) Strom / tree uzel, vrchol / node, vertex hrana / edge vnitřní uzel
Univerzální Turingův stroj a Nedeterministický Turingův stroj
27 Kapitola 4 Univerzální Turingův stroj a Nedeterministický Turingův stroj 4.1 Nedeterministický TS Obdobně jako u konečných automatů zavedeme nedeterminismus. Definice 14. Nedeterministický Turingův
Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.
1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste
IV113 Validace a verifikace. Formální verifikace algoritmů. Jiří Barnat
IV113 Validace a verifikace Formální verifikace algoritmů Jiří Barnat Verifikace algoritmů IV113 Úvod do validace a verifikace: Formální verifikace str. 2/29 Validace a Verifikace Jeden z obecných cílů
C2142 Návrh algoritmů pro přírodovědce
C2142 Návrh algoritmů pro přírodovědce 1. Od problému k algoritmu Tomáš Raček Jaro 2014 Organizace předmětu Rozsah: 1/2/0 Přednáška: Po 16:00-16:50 Cvičení: nepovinná, 3 seminární skupiny Ukončení: písemná
Výpočet globálního stavu
PDV 09 2017/2018 Výpočet globálního stavu Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Globální Stav Globální stav: množina lokální stavů procesů v DS a stavů
State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node
State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem
Aproximativní algoritmy UIN009 Efektivní algoritmy 1
Aproximativní algoritmy. 14.4.2005 UIN009 Efektivní algoritmy 1 Jak nakládat s NP-těžkými úlohami? Speciální případy Aproximativní algoritmy Pravděpodobnostní algoritmy Exponenciální algoritmy pro data
NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do
Genetické programování
Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace
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.
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é
4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.
4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a
Optimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
Automatizované řešení úloh s omezeními
Automatizované řešení úloh s omezeními Martin Kot Katedra informatiky, FEI, Vysoká škola báňská Technická universita Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Česká republika 25. října 2012 M. Kot
bfs, dfs, fronta, zásobník
bfs, dfs, fronta, zásobník Petr Ryšavý 25. září 2018 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší cesty, plánování cest. Prohledávání
Výroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková
Výroková a predikátová logika - XII
Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2015/2016 1 / 15 Algebraické teorie Základní algebraické teorie
VzorTest-1. Prohlídka náhledu
1 z 11 14.11.2017 11:30 Přijímací zkouška magisterského studia Moodle Test MSP Testy VzorTest-1 Prohlídka náhledu Jste přihlášeni jako Josef Kolář (Odhlásit se) Info Výsledky Náhled Upravit VzorTest-1
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
Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019
Grafy 16. dubna 2019 Tvrzení. Je dán graf G, pak následující je ekvivalentní. 1 G je strom. 2 Graf G nemá kružnice a přidáme-li ke grafu libovolnou hranu, uzavřeme přesně jednu kružnici. 3 Graf G je souvislý
ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky
LG 04 Zásobník Fronta Operace nqueue, equeue, Front, mpty... yklická implementace fronty Průchod stromem do šířky Grafy průchod grafem do šířky průchod grafem do hloubky Ořezávání a heuristiky 1 Zásobník
Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39
Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma
Verifikace Modelů a UPPAAL
Verifikace Modelů a UPPAAL Radek Mařík ČVUT FEL, K13132 October 2, 2014 Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 1 / 51 Obsah 1 Úvod Motivace Úvod do verifikace modelů
Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace
Metody návrhu algoritmů, příklady IB111 Programování a algoritmizace 2011 Návrhu algoritmů vybrané metody: hladové algoritmy dynamické programování rekurze hrubá síla tato přednáška: především ilustrativní
Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.
Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,
Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,
Stromové rozklady Zdeněk Dvořák 25. října 2017 Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom, β je funkce přiřazující každému vrcholu T podmnožinu vrcholů v G, pro každé
TGH12 - Problém za milion dolarů
TGH12 - Problém za milion dolarů Jan Březina Technical University of Liberec 7. května 2013 Složitost problému Co je to problém? Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu
Modelování procesů (2) 23.3.2009 Procesní řízení 1
Modelování procesů (2) 23.3.2009 Procesní řízení 1 Seznam notací Síťové diagramy Notace WfMC Notace Workflow Together Editor Aktivity diagram (UML) FirsStep Designer Procesní mapa Select Prespective (procesní
Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.
Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní