Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
UPPAAL příklady Jiří Vyskočil 2010
2
Hra NIM Někdy se také označuje jako odebírání zápalek (existuje velké množství variant této hry). Hra dvou hráčů Na začátku si oba hráči stanoví počet zápalek, se kterými se bude hrát a dohodnou se kdo bude začínat. Potom se hráči střídají v odebírání zápalek. V každém tahu musí hráč odebrat vždy alespoň 1 zápalku (maximálně však smí odebrat až MAX (2) zápalky). Ten kdo odebral poslední zápalku prohrál.
3
Hra NIM Vytvoření modelu hry Vytvoření modelu hráče
namodelování základní průběhu hry ošetření podmínky výhry jednoho z hráčů ošetření porušování pravidel hráči Vytvoření modelu hráče Spojení všech částečných modelů do jednoho celku Testování kvality modelu musí být dodržována pravidla hry Hráč smí odebírat zápalky pouze v rozsahu pravidel Hra končí výhrou právě jednoho hráče … v průběhu hry nesmí dojít k deadlocku
4
Hra NIM – model hry
5
Hra NIM – model hráče i <= pocet_zapalek
6
Hra NIM – celý model Hráč 2: Hráč 1: hraje_hrac1? hraje_hrac2?
i: int[1,MAX] i <= pocet_zapalek vezmi=i i: int[1,MAX] i <= pocet_zapalek vezmi=i hraje_hrac2! hraje_hrac1!
7
Hra NIM
8
Hra NIM - testování kvality modelu
v průběhu hry nesmí dojít k deadlocku: A[] not deadlock musí být dodržována pravidla hry Hráč smí odebírat zápalky pouze v rozsahu pravidel: A[] not hra.NEKOREKTNI_TAH_hrace1 and not hra.NEKOREKTNI_TAH_hrace2 Hra končí výhrou právě jednoho hráče? …
9
Hra NIM - testování strategie hráče
Chceme najít model hráče s vítěznou strategií Předpokládejme, že hráč s naší vítěznou strategii vždy začíná Lze snadno odvodit, že takový hráč nemůže vyhrát (v případě ideálního soupeře) při určitých počtech zápalek: pocet_zapalek % (MAX + 1) = 1 Náš model budeme tedy testovat pouze pro opačný případ. Nyní zbývá odvodit strategii: If (pocet_zapalek % (MAX+1) != 1) vezmi = (pocet_zapalek % (MAX+1) + MAX) % (MAX+1) else vezmi = 1 // případ pro obecný počet zápalek
10
Hra NIM – model hráče
11
Hra NIM - testování kvality strategie
Nejprve si musíme vytvořit vhodný celkový model Původního nedeterministického hráče 1 nahradíme novým hráčem s naší vítěznou strategii. Počáteční počet zápalek musí splňovat podmínku pro aplikaci vítězné strategie. Zbytek ponecháme beze změny (díky tomu může hráč 2 volit libovolnou strategii). Testování kvality strategie hráče Nikdy nesmí nastat možnost, aby vyhrál hráč 2 s libovolnou strategii: A[] not hra.ZVITEZIL_hrac2 v průběhu hry nesmí dojít k deadlocku: A[] not deadlock Hráč smí odebírat zápalky pouze v rozsahu pravidel: A[] not hra.NEKOREKTNI_TAH_hrace1 and not hra.NEKOREKTNI_TAH_hrace2
12
Hra NIM
13
Biphase Mark Protocol Kóduje datové bity a hodinový signál do jediného digitálního signálu. použití: Intel Serial Communications Controller Ethernet Optical communications Satellite telemetry applications a další…
14
Biphase Mark Protocol
15
Biphase Mark Protocol
16
Biphase Mark Protocol Jaké předpoklady chceme zahrnout do modelu:
Vysílač i přijímač mají vlastní hodiny. Obě hodiny nejsou zcela přesné ani stejné. Při změně napětí může signálu trvat nějaký čas než se stabilizuje. Vzorkování v době nestabilního signálu může produkovat libovolnou hodnotu. Přijímač smí vzorkovat časově nedeterministicky v intervalu ohraničeném hodinovým cyklem.
17
BMP – schéma modelu hodiny encoder drát tik tak vstup výstup pošli
sampler decoder drát tik tak vstup výstup pošli přijmi sdílená proměnná synchron. kanál hrana napětí
18
BMP – schéma modelu hodiny encoder drát tik tak vstup výstup pošli
sampler decoder drát tik tak vstup výstup pošli přijmi sdílená proměnná synchron. kanál hrana napětí
19
BMP – konstanty modelu Konstanty modelu, které vychází z počátečních předpokladů: CELL = délka buňky v hodinových cyklech MARK = délka podbuňky v hodinových cyklech DELKA_VZORKU = délka jednoho vzorkování v hodinových cyklech MIN = minimální délka hodinového cyklu hodin MAX = maximální délka hodinového cyklu hodin DELKA_HRANY < max. delka nabehu (nestabilni) hrany
20
BMP – digitální hodiny Hodinové signály jsou vysílány broadcastovým kanálem tik. Přesnost hodin je dána nastavením nedeterministického rozmezí min a max.
21
BMP – encoder
22
BMP – drát Vstupní událost je hrana? (po této události dojde ke změně napětí). Napětí se stabilizuje až po uplynutí DELKA_HRANY (jinak se nedefinovaně mění).
23
BMP – sampler (vzorkovač)
Vstupní proměnná je napeti. Synchronizace přes tik?.
24
BMP – decoder
25
BMP – tester
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.