Správnost počítačových programů - očekávání a realita.
|
|
- Jarmila Sedláková
- před 8 lety
- Počet zobrazení:
Transkript
1 Správnost počítačových programů - očekávání a realita. Luboš Brim a Ivana Černá Fakulta informatiky, Masarykova univerzita, Brno Správnost a spolehlivost jsou fundamentální požadavky, které na moderní počítačové programy klademe. Notoricky známý příklad zavčas neodhalené chyby v procesoru Intel Pentium stál společnost Intel více než půl milionu dolarů. Vedle těchto slavných a mediálně zajímavých případů existuje nespočitatelné množství více či méně závažných chyb v programech, které jsou dnes již nepostradatelnou součástí mnoha produktů počínaje pračkou, přes mobilní telefon a konče třeba automobilem. Mnohé z těchto chyb jsou časem odhaleny a opraveny, mnohé jsou v produktu přítomny nadále a my se s nimi naučíme žít. I když náklady na opravu těchto chyb nebyly nikdy spočítány, jsou vždy významné, nemluvě o nepřímých nákladech v podobě ztráty důvěry v produkt apod. Není proto překvapující, že problematika správnosti a spolehlivosti počítačových programů, tj. výzkum a vývoj metod a technik, které by eliminovaly či alespoň významně snížili počet závažných chyb v programech, je jedním z centrálních témat současné informatiky. Jedním z nejčastěji používaných a také nejjednodušších způsobů, jak odhalit chyby v programech, je jejich testování. Testování spočívá v prostém vyzkoušení programu pro několik typických situací (vstupních dat). Problém je však v tom, že programy jsou natolik komplexní objekty, že množství situací, které by bylo žádoucí vyzkoušet, je tak obrovské, že jejich zpracování by trvalo roky, a to i v tom jednodušším případě. Není tedy možné provést dostatečně kompletní otestování programu, vždy je nutné některé situace vynechat a tím vynechat i případná problematická místa v chování programu. Testování tedy může odhalit chyby, ale nemůže garantovat jejich neexistenci. Je zajímavé, že i přes evidentní problémy s testováním, je tato technika stále tou hlavní, a bohužel často i jedinou, metodou, která má zaručit bezchybné chování programu. Naznačené potíže s testováním programů vedly k hledání takových metod, které by umožnily s velmi vysokou mírou jistoty zaručit bezchybné chování programů. Tou první byl pokus dokázat správnost programu, stejně tak, jako v matematice dokazujeme pravdivost matematických tvrzení. V ideálním případě bylo dokonce požadováno, aby takovýto důkaz bylo možné svěřit počítači, tj. aby byl vyvinut algoritmus, který by automaticky analyzoval zadaný program a buď konstatoval, že program je bez chyb či, v opačném případě, chyby odhalil. To vše navíc v rozumném čase. Je známo, že jenom pro triviální, a tedy prakticky zcela nezajímavé, programy, je možné takovýto automatizovaný postup skutečně realizovat. I přesto bylo mnoho lidí, kteří se dokazováním programů zabývalo, přesvědčeno, že je to právě tato technika, která jako jediná (i když možná ne plně automatizovaná) může odstranit problémy spojené s testováním. Již kolem roku 1960 začaly být vytvářeny první tzv. systémy pro dokazování vět, které však původní myšlenku dokazování programů naplňovaly pouze z poloviny. Tyto systémy byly totiž schopny potvrdit, že správný program je skutečně správný, ale pokud v programu byla chyba, pak systém neskončil výpočet, čili nebyl schopen
2 rozhodnout, ale pouze semi-rozhodnout. Zásadním nedostatkem systémů na dokazování vět tedy byla jejich neschopnost odhalovat chyby, byly to nástroje pro potvrzování správnosti. Z tohoto pohledu tedy nenahrazovaly testování, které právě naopak dokáže odhalovat chyby, ale neumí garantovat absenci chyb. Navíc se i ukázalo, že efektivní práce s těmito systémy vyžaduje vysoce kvalifikované a matematicky erudované specialisty. Je známou skutečností, že počet chyb na počátku vývoje programu je podstatně větší než ve fázi jeho finálního testování. Proto metody, které mohou potvrdit bezchybnost programu, ale mají velké problémy při odhalování chyb, jsou vhodnější pro závěrečné fáze výroby programu a méně vhodné pro počáteční fáze. Tyto metody jsou ale zpravidla i časově velmi náročné a oddalují den, kdy je možné program uvést na trh. V dnešním rychlém a konkurenčním světě, může byť jen malé zpoždění znamenat ztrátu trhu a to manažeři neradi vidí. Bylo proto nutné hledat takové metody, které by byly někde mezi testováním a dokazováním. Tyto metody by měly být automatizovatelné (není třeba zaměstnávat drahé experty a vše je mnohokrát rychlejší), měly by, podobně jako testování, odhalovat snadno chyby a (podobně jako dokazování) by měly být schopny podat evidenci, že v programu chyby nejsou. Takovéto metody je však marné hledat, pokud se neomezíme na nějaké speciální situace. Pozornost se proto zaměřila na programy, které jsou tzv. konečně-stavové. Na každý program lze nahlížet jako na zařízení, které má své vnitřní stavy (určené např. obsahem proměnných, které program používá) a tyto stavy mění během výpočtu. Z matematického hlediska se jistě jedná o zásadní omezení, na druhé straně však všechny programy, které jsou realizovány na digitálním zařízení, mají tuto vlastnost. Počet stavů ovšem může být enormní a to má nemalý vliv na efektivitu verifikačního procesu. K této otázce se vrátíme za chvíli. Nicméně, pro programy s konečným počtem stavů se podařilo očekávání skutečně naplnit (alespoň z velké části). V dnešní době, již existují průmyslově používané verifikační nástroje, které staví na právě uvedeném principu. Podstatným posunem je ovšem důraz na plnou automatizovatelnost procesu verifikace, čímž je jednak výrazně zvýšena produktivita tohoto procesu a také do značné míry odstraněna potřeba vysoce kvalifikovaných expertů pro tuto činnost. Již kolem roku 1975 se objevily první návrhy deduktivních systémů pro verifikaci konečně-stavových programů, přesněji řečeno konečných modelů programů. Tyto systémy byly založeny na použití tzv. temporálních logik. Temporální logiky jsou přirozeným rozšířením klasické výrokové logiky, kterou většina z nás dobře zná nejen ze školních lavic, ale v jistém slova smyslu ji máme zakódovanou přímo v genech. Použití temporálních logik pro formulaci tvrzení o programech byl zásadním zvratem na cestě k automatizované verifikaci. Umožňuje totiž jednoduše vyjadřovat tvrzení o chování výpočetních systémů, jako např. jestliže uživatel zadá příkaz pro tisk, pak je tisk někdy určitě proveden. I když původně byly temporální logiky navrženy jako vhodný nástroj pro analýzu chování diskrétních událostí v programech, brzy se ukázalo, že je daleko důležitější konečně-stavový charakter těchto logik. Důvodem bylo, že všechna tvrzení v těchto logikách bylo možné rozhodnout pomocí jediného algoritmu
3 (rozhodovací procedury), který je založen na prostém prohledání odpovídajícího konečného modelu programu. Verifikaci lze plně automatizovat! Ještě však nebylo zcela vyhráno. V principu sice je možné vždy prohledat stavový prostor, ale to se nám nemusí v praxi vždy podařit proto, že nemáme dost výpočetních prostředků. Ukazuje se, že výpočetní složitost algoritmu, měřená v počtu kroků, které algoritmus pro svoji činnost vyžaduje, roste exponenciálně v závislosti na velikosti analyzovaného programu. Navíc ani nebylo realistické předpokládat, že tvůrci programů budou schopni a ochotni zapisovat svoje programy jako formule temporální logiky, což je při dokazování správnosti nutné učinit. I když tedy bylo možné, alespoň teoreticky, dokazovat formálně správnost programů, byl i nadále tento přístup spíše akademickou zajímavostí než praktickým nástrojem. Zásadní zvrat přišel v roce Nově objevený přístup nevyžadoval popsat jak program tak i jeho vlastnosti jako formule temporální logiky. Stačilo vytvořit konečně-stavový program modelující uvažovaný systém a v temporální logice popsat pouze vlastnost, jejíž pravdivost v tomto modelu bylo třeba ověřit. Zrodil se model-checking (přeloženo do češtiny jako technika ověřování modelu). Výpočetně se jednalo o jednodušší problém, protože za určitých omezení vyžadoval algoritmus pouze lineární zdroje (na rozdíl od exponenciálních, jako v případě dokazování) vzhledem k velikosti modelu. Stejně důležitá byla i skutečnost, že při ověřování modelu jsme schopni v případě negativní odpovědi produkovat i odpovídající protipříklad zcela nepostradatelnou informaci pro opravu chyby v programu. Zavládlo velké nadšení, které se však ukázalo předčasné. Klíčovým místem byla velikost modelu. Počet stavů modelu závisí exponenciálně na počtu proměnných, které se v programu objevují. Tento jev se označuje jako stavová exploze. Výzkum se v dalších letech plně zaměřil na boj se stavovou explozí, tj. na hledání nejrůznějších metod a technik, které by umožnily tento problém zvládnout. V plné obecnosti se sice jedná o problém, který je neřešitelný, ale naštěstí je celá řada speciálních situací, ve kterých je možné za použití nejrůznějších heuristik uspět. Abychom lépe pochopili dále naznačená řešení, je vhodné podrobněji popsat, jak procedura pro ověřování modelu vlastně pracuje. Předpokládejme, že máme program a máme formuli temporální logiky, která vyjadřuje požadovanou vlastnost programu. Formule může například vyjadřovat vlastnost, že kdykoli program uloží do proměnné V hodnotu 1, pak ji určitě v průběhu dalšího výpočtu zase změní zpět na hodnotu 0. Smyslem verifikace nebo ověření modelu je v tomto případě určit, zda tato formule je pravdivá pro daný program, neboli řečeno jazykem matematické logiky zda-li výpočty programu jsou modelem formule. Pokud program používá jenom konečné množství paměti, lze na něj nahlížet jako na zařízení s konečným počtem stavů. Při tomto pohledu je model množina všech posloupností tvaru vstup/stav/výstup.
4 Model je vytvářen pomocí prohledávání, které začíná v počátečním stavu programu. K tomuto stavu jsou vygenerovány všechny stavy, do kterých se může program dostat po provedení jedné instrukce po provedení jednoho přechodu. Pro každý stav může existovat velké množství přechodů, protože následný stav závisí na externím vstupu programu. Je-li program navíc paralelní, tj. počítá souběžně s jiným programem a přitom s ním komunikuje, je nutné za následnický stav brát i každý stav vyvolaný změnou stavu paralelně běžícího programu. Všechny tyto stavy mohou mít vliv na správnost programu a je tedy nutné je prozkoumat a zahrnout do modelu. Pro každý stav jsou takto vyhledány všechny jeho bezprostředně následnické stavy a ty, které nebyly již dříve vygenerovány, jsou uloženy do množiny stavů, které je nutné v dalším expandovat stejným způsobem. Tento postup je opakován tak dlouho, dokud jsou objevovány nové stavy. Prohledávání musí určitě skončit, neboť předpokládáme, že počet různých stavů je konečný a generování modelu skončí, jakmile je množina stavů, které mají být expandovány prázdná. Každý množný výpočet programu je tak reprezentován v modelu pomocí posloupnosti následných stavů. Ověření modelu pak spočívá v tom, že určíme, zda každá takováto posloupnost splňuje zadanou vlastnost a jestliže tomu tak není, pak vypíšeme na výstup (alespoň jednu) posloupnost, která vlastnost nesplňuje, tzv. protipříklad. I vygenerování protipříkladu je provedeno pomocí prohledávání. Vraťme se k příkladu znovu-nastavení proměnné V na hodnotu 0. Abychom vlastnost ověřili, označíme nejprve všechny stavy, ve kterých je hodnota proměnné V rovna nule. Pak se díváme zpět ( proti směru výpočtu proti času ) a označíme všechny stavy, které bezprostředně předcházely označený stav. Po jejich označení, opakujeme postup tak dlouho, dokud nedosáhneme pevného bodu, tj. situace, kdy není označen žádný nový stav. Tím jsme označili úplně všechny stavy, pro které každý následující výpočet určitě nastaví V na 0. Jestliže po označkování bude existovat stav, ve kterém je hodnota proměnné V rovna 1 a tento stav nebyl označen, pak formule neplatí. Takovýmto způsobem tedy algoritmus pro ověřování modelu ověřuje, zda program má požadovanou vlastnost a buď tuto skutečnost potvrdí, nebo ji vyvrátí podáním protipříkladu (viz Obr.1). Mohlo by se zdát, že za touto jednoduchou procedurou nemohou již být skryta žádná další úskalí. Bohužel ale jsou! Program, který je schopen uložit zanedbatelných 250 bitů dat, má ve skutečnosti (alespoň) stavů, tedy více stavů než je částic ve vesmíru. Jakmile začne být vytvářený model natolik velký, že jej není možné umísti do operační paměti počítače, není možné popsaný postup přímo použít. Je nutné uplatnit výše zmíněné heuristiky ke zmenšení modelu. Nejjednodušší heuristiky, které se objevily, přímočaře formalizovaly techniky, které byly již dříve využívány v simulaci a testování: abstrakci nepodstatných částí modelu a využití hierarchické struktury a symetrií v programu. Jestliže např. víme, že jistá část programu nemá vliv na vlastnost, kterou ověřujeme (např. nemá vliv na hodnotu proměnné V z předchozího příkladu, a to ani nepřímý přes jiné proměnné), pak ji lze jistě eliminovat (provedená abstrakce tuto část programu zanedbá). Speciálním případem abstrakce je abstrakce dat. V tomto případě je namísto všech možných hodnot, kterých může nějaká proměnna nabývat, uvažováno jenom omezené (a malé) množství hodnot. Např. místo všech celých čísel, uvažujeme jenom dvě hodnoty: kladná a záporná. To lze samozřejmě udělat pouze
5 tehdy, jestliže takovéto zjednodušení nemá vliv na verifikovanou vlastnost. Metody, které jsou založeny na náhradě daného verifikačního problému jiným, výpočetně jednodušším, problémem při zachování správnosti řešení někdy označujeme jako redukční. Alternativním způsobem, jak přistoupit k zvládnutí velikosti stavového prostoru, je použít metodu pro symbolickou reprezentaci stavového prostoru. Trik spočívá v tom, že algoritmus nepracuje přímo s jednotlivými stavy, ale s množinami stavů. Výhoda spočívá v tom, že často je možné množinu stavů reprezentovat mnohem úsporněji než jednotlivé stavy. Symbolický ověřování modelu je založeno na tom, že množiny (stavů) lze ekvivalentně zadat pomocí výrokových formulí. Je-li například V proměnná v programu, pak formule V=0 vlastně definuje množinu všech stavů, ve kterých je hodnota proměnné V rovna 0. Tedy obrovská množina stavů, může být reprezentována velmi malou formulí. Verifikační algoritmus pak namísto se stavy pracuje s formulemi a reprezentuje tak příslušný stavový prostor nepřímo. Počáteční stav je také množina stavů a je proto reprezentován formulí. Rovněž množiny označených stavů jsou formule a zkoumání stavového prostoru je prováděno tak, že jsou manipulovány formule, nikoli stavy. Úspěšnost verifikačního algoritmu tak nezáleží na skutečné velikosti stavového prostoru, ale výlučně na kompaktnosti symbolické reprezentace. Symbolické ani redukční techniky nedávají garanci úspěchu. Není např. pravda, že symbolická reprezentace je vždy menší než explicitní. Často tomu tak však může být, zejména v situacích, kdy program vykazuje velkou míru pravidelnosti. To je zvláště typické pro HW systémy, kde je program realizován jako technická součástka na čipu. Právě u HW systémů nacházíme na čipu tisíce tranzistorů, které jsou umístěny s určitou pravidelnou strukturou. Není proto překvapující, že symbolické techniky se zejména uplatňují při verifikaci hardwaru. Naproti tomu u softwaru jsou častěji úspěšné redukční techniky, zejména nejrůznější formy abstrakce. Přesto, že naznačené možnosti posunuly výrazným a doposud nebývalým způsobem možnosti automatizované verifikace blíže k reálným programům, existuje stále ještě mnoho situací, kdy problém stavové exploze brání verifikaci. Jsou to právě zcela praktické motivace, které nabízejí jiné taktiky, jak rozšířit použití verifikačních přístupů. Z praktického hlediska se zdá, že na verifikaci je často cennější odhalení chyb než důkaz o jejich neexistenci. Důvodů pro selhání programu může být mnoho a některé z nich jsou zcela mimo dosah verifikace. Jedním z nich je například fakt, že předpokladem pro verifikaci programu je správnost souvisejících programů. Jestliže tomu tak není, pak se nám celkem snadno může podařit dokázat správnost chybného programu. Navíc, pokud není zaručeně bezchybný způsob, jakým jsou návrhy programů implementovány, tj. jak je z předběžného logického návrhu systému pomocí implementační skriptu automatizovaně vytvořen výsledný program, lze ze správného návrhu vytvořit chybnou implementaci. Tento automatizovaný přechod od návrhu programu k implementaci je používán u hardwarových obvodů. V případě chyby procesoru u Intelu, použili návrháři špatný skript pro implementaci dělicí tabulky v Pentiu. Zatímco (logický) návrh tabulky byl určitě správný, její implementace do hardwaru pomocí uvedeného skriptu vedla k vynechání některých zásadních údajů v tabulce.
6 Jiným zajímavým efektem, který může automatizovaná formální verifikace přinést, je zvýšení produktivity práce a zkrácení doby nutné k uvedení produktu na trh (mimochodem i uspěchaný vývoj je jedním z důvodů tak časté chybovosti některých programů). Automatizovaná verifikace umožňuje rychlé a levné odhalování nejrůznějších chyb v programech, tyto chyby mohou být dokonce odhaleny velmi brzy již při prvotním návrhu programu a jejich odstranění je výrazně levnější, než nákladná náhrada produktu, který již bylo dodán zákazníkovi. Chyby v programech byly, jsou a budou. Programy jsou produkty lidského ducha a nelze je vyrábět automatizovaně, bez lidského zásahu. Po celou dobu moderní počítačové éry jsme svědky neustálého hledání takových postupů, které by chybovost programů eliminovaly či alespoň výrazně snížily. Kdykoli je objevena nějaká nová technika, jsou naše očekávání velká, zpravidla přehnaně velká. S narůstající složitostí programů se vždy ukázalo, že nový přístup má své hranice, že se nejedná o všelék. Realita je taková, že s dnešními možnostmi bychom mohli zaručit bezchybnost programů vytvořených před třiceti léty. K bezchybnosti dnešních programů potřebujeme metody, které teprve čekají na svoje objevení. Na druhé straně je však třeba říci, že bez dnešních metod by dnešní programy nebyly použitelné. Dnešní metody, a ověřování modelu je jednou z nich, výrazně snižují počet chyb v programech a zásadním způsobem eliminují podstatné chyby v programech to vše za předpokladu, že výrobci tyto metody a postupy formální verifikace skutečně používají. Velké a rozumné firmy tak již činí.
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
Více10. 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í
VíceFormální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy
Formální Metody a Specifikace (LS 2011) Přednáška 7: Formální metody pro kyber-fyzikální systémy Stefan Ratschan, Tomáš Dzetkulič Katedra číslicového návrhu Fakulta informačních technologíı České vysoké
VíceEvropský 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íceTří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í
VícePříklad z učebnice matematiky pro základní školu:
Příklad z učebnice matematiky pro základní školu: Součet trojnásobku neznámého čísla zvětšeného o dva a dvojnásobku neznámého čísla zmenšeného o pět se rovná čtyřnásobku neznámého čísla zvětšeného o jedna.
Více9. Praktická verifikace
Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt 9. Praktická verifikace EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI Pravidla, postupy Testovací prostředí
VíceA7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko
Obsah Kvalita SW, jak zajistit kvalitu SW a jak ji ověřit Zabezpečení kvality, techniky řízení kvality SW. Potřeba kultivovat kvalitu, Cena za jakost Procesy pro řízení kvality, harmonogram řízení kvality
VíceMatematické důkazy Struktura matematiky a typy důkazů
Matematické důkazy Struktura matematiky a typy důkazů Petr Liška Masarykova univerzita 18.9.2014 Motto: Matematika je tvořena z 50 procent formulemi, z 50 procent důkazy a z 50 procent představivostí.
VíceÚvod do matematiky. Mgr. Radek Horenský, Ph.D. Důkazy
Úvod do matematiky Mgr. Radek Horenský, Ph.D. Důkazy Matematika a matematické chápání jako takové je založeno na logické výstavbě. Základními stavebními prvky jsou definice, věty a důkazy. Definice zavádějí
Více5.3.1. Informatika pro 2. stupeň
5.3.1. Informatika pro 2. stupeň Charakteristika vzdělávací oblasti Vzdělávací oblast Informační a komunikační technologie umožňuje všem žákům dosáhnout základní úrovně informační gramotnosti - získat
VíceAlgoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
VíceAlgoritmus. 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
VíceNegativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1
Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit
VíceVýroková logika dokazatelnost
Výroková logika dokazatelnost Ke zjištění, zda formule sémanticky plyne z dané teorie (množiny formulí), máme k dispozici tabulkovou metodu. Velikost tabulky však roste exponenciálně vzhledem k počtu výrokových
VíceVý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ý
VíceUnární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek
Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.
Více1. Matematická logika
MATEMATICKÝ JAZYK Jazyk slouží člověku k vyjádření soudů a myšlenek. Jeho psaná forma má tvar vět. Každá vědní disciplína si vytváří svůj specifický jazyk v úzké návaznosti na jazyk živý. I matematika
VíceMatematická logika. Miroslav Kolařík
Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
VíceÚvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu
Jiří Raclavský (214): Úvod do logiky: klasická výroková logika Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.7/2.2./28.216, OPVK) Úvod
VíceAD4M33AU Automatické uvažování
AD4M33AU Automatické uvažování Úvod, historie Petr Pudlák Organizační informace Tyto slidy jsou pomocný studijní materiál. Na přednášce budou uváděny další informace a příklady, které ve slidech nejsou.
Vícečasovém horizontu na rozdíl od experimentu lépe odhalit chybné poznání reality.
Modelování dynamických systémů Matematické modelování dynamických systémů se využívá v různých oborech přírodních, technických, ekonomických a sociálních věd. Použití matematického modelu umožňuje popsat
VíceArnoldiho a Lanczosova metoda
Arnoldiho a Lanczosova metoda 1 Částečný problém vlastních čísel Ne vždy je potřeba (a někdy to není ani technicky možné) nalézt celé spektrum dané matice (velké řídké matice). Úloze, ve které chceme aproximovat
VíceZákladní pojmy matematické logiky
KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je
VíceC2142 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íceVyhněte se katastrofám pomocí výpočetní matematiky
Vyhněte se katastrofám pomocí výpočetní matematiky Stefan Ratschan Ústav informatiky Akademie věd ČR Stefan Ratschan Vyhněte se katastrofám 1 / 29 x. x 2 = 2 Kvíz x. x 2 = 2 x. x 2 7 p q x. x 2 + px +
VíceParalelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =
VíceMatematická analýza pro informatiky I. Limita funkce
Matematická analýza pro informatiky I. 5. přednáška Limita funkce Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 18. března 2011 Jan Tomeček, tomecek@inf.upol.cz
VíceV tomto článku popíšeme zajímavou úlohu (inspirovanou reálnou situací),
L i t e r a t u r a [1] Calábek, P. Švrček, J.: Úvod do řešení funkcionálních rovnic. MFI, roč. 10 (2000/01), č. 3. [2] Engel, A.: Problem-Solving Strategies. Springer-Verlag, New York, Inc., 1998. [3]
VíceNP-úplnost problému SAT
Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x
VíceDatové 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
VíceŘešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou
Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou 1 SPECIFIKACE ÚLOHY Cílem této úlohy bylo použít vybranou pokročilou iterativní metodou pro řešení problému vážené
VíceDijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky
VícePROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE
PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE Vývoj prvních programů byl prováděn nadšenci, programy byly šité na míru. Žádná metodika vývoje SW v té době neexistuje. Vývoj SW byl vnímán jako výzkum. Cíl, co bude
VícePenetrační test & bezpečnostní audit: Co mají společného? V čem se liší?
Penetrační test & bezpečnostní audit: Co mají společného? V čem se liší? Karel Miko, CISA (miko@dcit.cz) DCIT, s.r.o (www.dcit.cz) Nadpis Penetrační test i bezpečnostní audit hodnotí bezpečnost předmětu
VíceInformatika pro záchranu života
Informatika pro záchranu života Stefan Ratschan Ústav Informatiky Akademie Věd tefan Ratschan (Ústav Informatiky Akademie Věd) 1 / 15 Katastrofický začátek. Stefan Ratschan (Ústav Informatiky Akademie
VíceMísto pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu
VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod
VíceÚvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou
Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot
VíceVý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
VíceUnbounded 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
VíceAplikace: Znalostní báze
Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),
VíceGymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana Kubcová Název
VíceSložitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Složitost algoritmů doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 27. prosince 2015 Jiří Dvorský (VŠB TUO) Složitost algoritmů
VíceZáklady umělé inteligence
Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v
VíceAlgoritmizace 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
VíceKMA/MDS Matematické důkazy a jejich struktura
Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 KMA/MDS Matematické důkazy a jejich struktura Seminář 3 Predikátový počet Uvažujme následující úsudek.
Více12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
VíceINFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_13_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077
VícePaměťový podsystém počítače
Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...
VíceÚloha - rozpoznávání číslic
Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání
VíceHYPOTÉZY. Kvantitativní výzkum není nic jiného než testování hypotéz. (Disman 2002, s. 76) DEDUKCE (kvantitativní přístup)
HYPOTÉZY Hypotéza není ničím jiným než podmíněným výrokem o vztazích mezi dvěma nebo více proměnnými. Na rozdíl od problému, který je formulován v podobě otázky explicitně, nebo implicitně vyjádřené, hypotéza
VíceVeriFIT Automatizovaná analýza a verifikace
VeriFIT Automatizovaná analýza a verifikace M. Češka K. Dudka J. Fiedor L. Holík V. Hrubá L. Charvát B. Křena O. Lengál Z. Letko P. Müller P. Peringer A. Rogalewicz A. Smrčka T. Vojnar Ústav inteligentních
VíceTGH12 - 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
VíceV 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íceLogika a logické programování
Logika a logické programování témata ke zkoušce Poslední aktualizace: 16. prosince 2009 Zkouška je písemná, skládá se obvykle ze sedmi otázek (může být více nebo méně, podle náročnosti otázek), z toho
VícePojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Pojem algoritmus doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Pojem algoritmus 54 / 344
VíceArchitektury počítačů a procesorů
Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní
VíceKaždé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α
1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny
VíceZá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
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceSIMULACE SPOLEHLIVOSTI SYSTÉMŮ HROMADNÉ OBSLUHY. Michal Dorda. VŠB - TU Ostrava, Fakulta strojní, Institut dopravy
SIMULACE SPOLEHLIVOSTI SYSTÉMŮ HROMADNÉ OBSLUHY Michal Dorda VŠB - TU Ostrava Fakulta strojní Institut dopravy 1 Úvod V běžné technické praxi se velice často setkáváme s tzv. systémy hromadné obsluhy aniž
VíceNP-Ú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
VícePravděpodobnost, náhoda, kostky
Pravděpodobnost, náhoda, kostky Radek Pelánek IV122 Výhled pravděpodobnost náhodná čísla lineární regrese detekce shluků Dnes lehce nesourodá směs úloh souvisejících s pravděpodobností připomenutí, souvislosti
VícePravděpodobnost, náhoda, kostky
Pravděpodobnost, náhoda, kostky Radek Pelánek IV122, jaro 2015 Výhled pravděpodobnost náhodná čísla lineární regrese detekce shluků Dnes lehce nesourodá směs úloh souvisejících s pravděpodobností krátké
VíceFormálnílogickésystémy pro aplikaci v informatice Martin Žáček
ZVYŠOVÁNÍODBORNÝCH KOMPETENCÍAKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉUNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ Formálnílogickésystémy pro aplikaci v informatice Martin Žáček PŘEDMĚTY NA OU Logické základy
VíceÚvod do problematiky
Úvod do problematiky Karel Richta a kol. Přednášky byly připraveny i s pomocí materiálů, které vyrobili Marko Berezovský, Petr Felkel, Josef Kolář, Michal Píše a Pavel Tvrdík Katedra počítačů Fakulta elektrotechnická
VíceVyhledá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
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou
VíceAgent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.
Umělá inteligence II Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Dnešní program Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu
VíceParametrické programování
Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou
VíceModelování a simulace Lukáš Otte
Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast
VíceČeské vysoké učení technické v Praze Fakulta biomedicínského inženýrství
České vysoké učení technické v Praze Fakulta biomedicínského inženýrství Úloha KA03/č. 5: Měření kinematiky a dynamiky pohybu osoby v prostoru pomocí ultrazvukového radaru Ing. Patrik Kutílek, Ph.., Ing.
VíceEKONOMETRIE 7. přednáška Fáze ekonometrické analýzy
EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy Ekonometrická analýza proces, skládající se z následujících fází: a) specifikace b) kvantifikace c) verifikace d) aplikace Postupné zpřesňování jednotlivých
Více9 Kolmost vektorových podprostorů
9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.
VíceMatematická indukce, sumy a produkty, matematická logika
Matematická indukce, sumy a produkty, matematická logika 8.9. -.0.009 Matematická indukce Jde o následující vlastnost přirozených čísel: Předpokládejme:. Nějaké tvrzení platí pro.. Platí-li tvrzení pro
Více2. ú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íce12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ
56 12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ Těžiště I. impulsová věta - věta o pohybu těžiště II. impulsová věta Zákony zachování v izolované soustavě hmotných bodů Náhrada pohybu skutečných objektů pohybem
VíceSystém přirozené dedukce výrokové logiky
Systém přirozené dedukce výrokové logiky Korektnost, úplnost a bezespornost Šárka Vavrečková Ústav informatiky, FPF SU Opava Poslední aktualizace: 6. října 2008 Věta o korektnosti Věta (O korektnosti Systému
VíceA05 Stanovení způsobů ověření Praktické předvedení praktická neznamená jen manuální nebo ruční
A05 Stanovení způsobů ověření Způsob ověření se stanovuje pro každé jednotlivé kritérium. Určuje, jakým postupem je kritérium ověřováno. Základní způsoby ověření jsou: - praktické předvedení - písemné
VícePohled zvenčí je metoda řešení problémů společností a firem
Pohled zvenčí je metoda řešení problémů společností a firem Pohled zvenčí je metoda, která je založena na nestranné a nezávislé analýze, která má za cíl odhalení příčin a zdrojů problémů a potíží a nabízí
VíceVlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost
Programování Algoritmus návod na vykonání činnosti, který nás od (měnitelných) vstupních dat přivede v konečném čase k výsledku přesně definovaná konečná posloupnost činností vedoucích k výsledku (postup,
Více1. Matematická logika
Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1. Matematická logika Základem každé vědy (tedy i matematiky i fyziky) je soubor jistých znalostí. To, co z těchto izolovaných poznatků
VíceMatematická analýza pro informatiky I. Limita posloupnosti (I)
Matematická analýza pro informatiky I. 3. přednáška Limita posloupnosti (I) Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 25. února 2011 tomecek@inf.upol.cz
VíceStatic Load Balancing Applied to Time Dependent Mechanical Problems
Static Load Balancing Applied to Time Dependent Mechanical Problems O. Medek 1, J. Kruis 2, Z. Bittnar 2, P. Tvrdík 1 1 Katedra počítačů České vysoké učení technické, Praha 2 Katedra stavební mechaniky
VíceOperační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit
Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti
VíceZáklady algoritmizace
Algoritmus Toto je sice na první pohled pravdivá, ale při bližším prozkoumání nepřesná definice. Například některé matematické postupy by této definici vyhovovaly, ale nejsou algoritmy. Přesné znění definice
VíceGRAFY A GRAFOVÉ ALGORITMY
KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ
VícePřednáška 6, 7. listopadu 2014
Přednáška 6, 7. listopadu 204 Část 3: nekonečné řady Základní definice. Nekonečná řada, krátce řada, je posloupnost reálných čísel (a n ) R uvedená v zápisu a n = a + a 2 + a 3 +..., spolu s metodou přiřazující
VíceStatistická teorie učení
Statistická teorie učení Petr Havel Marek Myslivec přednáška z 9. týdne 1 Úvod Představme si situaci výrobce a zákazníka, který si u výrobce objednal algoritmus rozpoznávání. Zákazník dodal experimentální
VíceAlgoritmy a algoritmizace
Otázka 21 Algoritmy a algoritmizace Počítačové programy (neboli software) umožňují počítačům, aby přestaly být pouhou stavebnicí elektronických a jiných součástek a staly se pomocníkem v mnoha lidských
VíceVý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ícepopel, glum & nepil 16/28
Lineární rezoluce další způsob zjemnění rezoluce; místo stromu směřujeme k lineární struktuře důkazu Lineární rezoluční odvození (důkaz) z Ë je posloupnost dvojic ¼ ¼ Ò Ò taková, že Ò ½ a 1. ¼ a všechna
Více4. Úvod do paralelismu, metody paralelizace
4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.
VíceVYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Více7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt
Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 7. Pracovní postupy Posloupnosti analytických a syntetických
VíceKognitivní restrukturalizace. MUDr. Petr Možný
Kognitivní restrukturalizace MUDr. Petr Možný Edukace klienta Co jsou to emoce Pojmenování emocí Vztah mezi emocemi a myšlenkami Myšlenky automatické a volní Myšlenky primární a sekundární Myšlenky chladné
VícePřidělování CPU Mgr. Josef Horálek
Přidělování CPU Mgr. Josef Horálek Přidělování CPU = Přidělování CPU je základ multiprogramového OS = pomocí přidělování CPU různým procesům OS zvyšuje výkon výpočetního systému; = Základní myšlenka multiprogramování
VíceSnížení skrytých nákladů spojených se zvýšením kapacity napájení datových středisek
Snížení skrytých nákladů spojených se zvýšením kapacity napájení datových středisek Richard Sawyer White Paper #73 Resumé Zvýšení kapacity napájení tradičních systémů UPS vede ke skrytým nákladům, které
Více