Dijkstra-féle leggyengébbelőfeltétel-kalkulus

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Deduktív adatbázisok.
Események formális leírása, műveletek
Preferenciák, rendezések, reprezentálhatóság
Programozási feladatok
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Algoritmusleíró eszközök
Osztott rendszer: (kommunikáció csatornán keresztül). Osztott rendszer informális definíciója. • Egymástól elkülönülten létező program-komponensek egy.
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Műveletek logaritmussal
Kötelező alapkérdések
A C nyelv utasításai. Kifejezés+ ; Utasítás printf("Hello")printf("Hello"); a=b+ca=b+c; fuggveny(a,b)fuggveny(a,b); Blokkok: több utasítás egymás után,
Euklidészi gyűrűk Definíció.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.
Programozás I. Horváth Ernő.
Java programozási nyelv 2. rész – Vezérlő szerkezetek
OPERÁCIÓKUTATÁS Kalmár János, 2011 Tartalom Több lineáris célfüggvényes LP Tiszta egészértékű LP.
Asszociáció.
Programozó matematikus szak 2003/2004-es tanév II. félév
A digitális számítás elmélete
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
Szoftvertechnológia előadás
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
Differenciál számítás
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
ELTE Szlávi-Zsakó: Programozási alapismeretek Szlávi-Zsakó: Programozási alapismeretek 3. 1/
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
A számfogalom bővítése
Matematika III. előadások MINB083, MILB083
Matematika III. előadások MINB083, MILB083
Matematikai Analízis elemei
Dinamikai rendszerek kaotikus viselkedése
Exponenciális egyenletek
A problémamegoldás lépései
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
A Boltzmann-egyenlet megoldása nem-egyensúlyi állapotban
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
Nemdeterminisztikus tulajdonság tesztelés László Lovász Katalin Vesztergombi.
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Java programozási nyelv Metódusok
Algoritmusok.
Határozatlan integrál
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
6. előadás.
Algoritmizálás, adatmodellezés tanítása 2. előadás.
Algoritmizálás és programozás tanítása Balogh Zoltán PTE-TTK IÁTT Az algoritmuskészítés.
előadások, konzultációk
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Programozáselmélet 2. rész Denotációs és axiomatikus szemantika.
Algoritmizálás, adatmodellezés tanítása 6. előadás.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Programozási nyelvek típusossága.
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Compiler illetve interpreter nyelvek
IV. konzultáció Analízis Differenciálszámítás II.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
ITERÁCIÓ.
Algoritmus készítés.
Előadás másolata:

Dijkstra-féle leggyengébbelőfeltétel-kalkulus

(C,s,C).n>0.n(C,s,C)(n)q [p]C[q]=sp. (C,s,C).n>0.n(C,s,C)(n)q A definícióból következik, hogy rögzített C utasítás és q utófeltétel mellett létezik leggyengébb (legbővebb) p előfeltétel, amely mellett a totális helyesség még fennáll. Ezt jelöli a következőkben wp: wp: Uts  Felt  Felt weakest precondition wp(C,q) = { s : (C,s,C).n>0.n(C,s,C)(n)q }

A wp függvény alaptulajdonságai: A csoda kizárásának elve wp(C,) =  Művelettartás wp(C,q1q2) = wp(C,q1)wp(C,q2) Monotonitás Ha q1  q2, akkor wp(C,q1)  wp(C,q2)

A wp függvény és az utasítások: A skip utasítás wp(skip,q) = q A determinisztikus értékadás wp(X:=E,q) = {s: s(X:=E(s))q} A nemdeterminisztikus értékadás wp(X:=?,q) = {s: dD.s(X:=d)q}

A wp függvény és az utasítások: A kompozíció wp((C1;C2), q) = wp(C1,wp(C2,q)) A determinisztikus szelekció wp((BC1C2), q) = (Bwp(C1,q))(Bwp(C2,q)) A nemdeterminisztikus szelekció wp((B1C1  B2C2), q) = (B1B2)(B1wp(C1,q))(B2wp(C2,q))

A wp függvény és az utasítások: Az iteráció Feltételezés: (B*C) nemdeterminizmusa véges. wp((B*C),q) = lkfp(p.((Bq)  (Bwp(C,p)))) Ez megegyezik a p-re vonatkozó alábbi egyenlet legszűkebb megoldásával: p = (Bq)  (Bwp(C,p)) Ennek megoldása: p0 = Bq, pi+1 = p0  (Bwp(C,pi)) wp((B*C),q) = i0 pi

{p}C{q} = ((pS)  C)  (Sq) A definícióból következik, hogy rögzített C utasítás és q utófeltétel mellett létezik leggyengébb (legbővebb) p előfeltétel, amely mellett a parciális (az eredménytelen végrehajtást is megengedő) helyesség még fennáll. Ezt jelöli a következőkben wlp: wlp: Uts  Felt  Felt weakest liberal precondition wlp(C,q) = { s : s'S. (s,s'C  s'q) }

A wlp függvény alaptulajdonságai: wlp(C,S) = S Művelettartás wlp(C,q1q2) = wlp(C,q1)  wlp(C,q2) Monotonitás Ha q1  q2, akkor wlp(C,q1)  wlp(C,q2)

A wlp függvény és az utasítások: A skip utasítás wlp(skip,q) = q A determinisztikus értékadás wlp(X:=E,q) = {s: s(X:=E(s))q} A nemdeterminisztikus értékadás wlp(X:=?,q) = {s: dD.s(X:=d)q}

A wlp függvény és az utasítások: A kompozíció wlp((C1;C2), q) = wlp(C1,wlp(C2,q)) A determinisztikus szelekció wlp((BC1C2), q) = (Bwlp(C1,q))(Bwlp(C2,q)) A nemdeterminisztikus szelekció wlp((B1C1  B2C2), q) = (B1wlp(C1,q))(B2wlp(C2,q))

A wlp függvény és az utasítások: Az iteráció wlp((B*C),q) = lnfp(p.((Bq)  (Bwlp(C,p)))) Ez megegyezik a p-re vonatkozó alábbi egyenlet legbővebb megoldásával: p = (Bq)  (Bwlp(C,p)) Ennek megoldása: p0 = (Bq)  B, pi+1 = (Bq)  (Bwlp(C,pi)) wlp((B*C),q) =  i0 pi

{p}C{q} = ((pS)  C)  (Sq) A definícióból következik, hogy rögzített C utasítás és p előfeltétel mellett létezik legerősebb (legszűkebb) q utófeltétel, amely mellett a parciális (az eredménytelen végrehajtást is megengedő) helyesség még fennáll. Ezt jelöli a következőkben slp: slp: Felt  Uts  Felt strongest liberal postcondition slp(p,C) = { s : s'p. s',sC }

Az slp függvény alaptulajdonságai: slp(,C) =  Művelettartás slp(p1 p2 ,C,) = slp(p1,C)  slp(p2,C) Monotonitás Ha p1  p2, akkor slp(p1,C)  slp(p2,C)

Az slp függvény és az utasítások: A skip utasítás slp(p, skip) = p A determinisztikus értékadás slp(p, X:=E) = {s(X:=E(s)): sp} A nemdeterminisztikus értékadás slp(p, X:=?) = {s: dD. s(X:=d)p} (d itt az X eredeti tartalma)

Az slp függvény és az utasítások: A kompozíció slp(p, (C1;C2)) = slp( slp(p, C1), C2) A determinisztikus szelekció slp(p, (BC1C2)) = slp(pB, C1)  slp(pB, C2) A nemdeterminisztikus szelekció slp(p, (B1C1  B2C2)) = slp(pB1, C1)  slp(pB2, C2)

Az slp függvény és az utasítások: Az iteráció slp(p,(B*C)) = lkfp(q. (pslp(qB,C)))B Ez megegyezik a q-ra vonatkozó alábbi egyenlet legszűkebb megoldásával: q = p  slp((qB), C) Ennek megoldása: q 0 = p, q i+1 = slp((q iB), C) slp(p, B*C) = ( i0 q i)  B