Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

UPPAAL příklady Jiří Vyskočil 2010.

Podobné prezentace


Prezentace na téma: "UPPAAL příklady Jiří Vyskočil 2010."— Transkript prezentace:

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


Stáhnout ppt "UPPAAL příklady Jiří Vyskočil 2010."

Podobné prezentace


Reklamy Google