A helyességbizonyítás klasszikus módszerei

Save this PDF as:
 WORD  PNG  TXT  JPG

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "A helyességbizonyítás klasszikus módszerei"

Átírás

1 A helyességbizonyítás klasszikus módszerei Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Motiváció Kritikus algoritmusok helyességének bizonyítása a részletes tervek alapján Korlátozott feladatok: biztonságkritikus funkciók, hozzáférésvédelem, protokoll mag, Részletes terv: Pszeudo-nyelven leírt algoritmus A továbbiakban mint program (Valós programnyelvek részleges támogatása) Tételbizonyító rendszerek használata Bizonyítandó tulajdonság mint bizonyítandó tétel adott Klasszikus elő- és utófeltételek a tipikusak (contract) Kihívások: (Pszeudo) programból hogyan lesz bizonyítandó tétel? Milyen stratégiák használhatók a bizonyításhoz?

2 Felépítés: Tételbizonyító rendszerek Leíró nyelv, ennek primitívjei Axiómák (leíró nyelvhez kötve), pl. Elsőrendű logika Típusokkal kiegészített logikák Magasabbrendű logika, Következtetési szabályok Indukció, dedukció, unifikáció, Komponensek: Algoritmikus: Egy-egy következtetési szabály alkalmazása Kereső: Stratégia/taktika a szabályok kiválasztására Cél-vezérelt (visszafelé történő) keresés Mélységi vagy szélességi keresés Interaktív (felhasználói segítséggel) Tételbizonyító rendszerek alkalmazása A tételbizonyítás komplex feladat n operátort tartalmazó tétel, O(2 n ) hosszú bizonyítási szekvencia, O(2 2n ) időigény a bizonyítás megtalálásához (worst case) Használati esetek Kézi bizonyítás automatikus ellenőrzése (proof checking) Kézi bizonyítás segítése (interaktív szabályalkalmazás) Tételbizonyítás szerepe Adat-intenzív alkalmazások tulajdonságainak bizonyítása Paraméter-függőségek kezelése (pl. protokoll résztvevők száma) Indukció használható Együttes használat a modell ellenőrzéssel Kis paraméter értékre (kiindulási eset): modell ellenőrzés Tulajdonság megtartásának bizonyítása indukcióval Népszerű eszközök HOL, PVS, ACL2,

3 Tulajdonságok D dedukciós rendszer, c levezetendő kritérium (tétel) Szemantikus helyesség (soundness): Ami levezethető D-ben az igaz Szükséges a használhatósághoz Formálisan: c: ha - D c (levezethető) akkor =c (teljesül, igaz) Szemantikus teljesség (completeness): Ami igaz, az levezethető D-ben Hasznos tulajdonság, de nem szükséges Formálisan: c: ha =c akkor - D c Totális helyesség és teljesség: Minden interpretációra Dedukciós rendszer konzisztens: Nem lehet egy tételt és az ellenkezőjét is bizonyítani Program és specifikáció kapcsolata Egy P program és egy Φ specifikáció (követelmény) esetén: Szintézis feladat: Φ alapján P konstruálása Analízis feladat: P alapján Φ levezetése Verifikáció (program helyességbizonyítás): P = Φ eldöntése Optimalizáció: P = Φ alapján olyan P konstruálása, hogy P = Φ, ugyanakkor P jobb adott szempontok szerint (kisebb, gyorsabb ) Javítás: P Φalapján olyan P konstruálása, hogy P = Φ legyen

4 Bizonyításhoz leginkább használt módszer: Indukció Számítási indukció: Műveleti szemantika esetén Állapotokra: Ha s 0 (kiindulási állapot) esetén igaz a tulajdonság, és az átmenetek megőrzik, akkor végig fennáll s0 s1 s2 s3 s4 s5 s6 Strukturális indukció: Axiomatikus szemantikához Szintaktikai konstrukciókra: Ha elemekre igaz, és a konstrukciók megőrzik, akkor a teljes programra igaz c0 c1 e1 c2 e2 e3 e4 Célkitűzéseink Bizonyítási vázak rögzítése program helyesség bizonyításhoz Bizonyítási stratégia megadása Nincs teljesen automatikus, garantált módszer Nem konkrét programozási nyelvhez kötve Pszeudo-nyelv (algoritmus leírás) Továbbiakban mint programozási nyelv szerepel Pl. saját, domén-specifikus nyelvhez is alkalmazható Megkötések a bizonyíthatósághoz Programozási nyelv: Formális szemantikával rendelkezik (műveleti vagy axiomatikus szemantika) Specifikációs nyelv: Elsőrendű kijelentéslogika

5 Programozási nyelv műveleti szemantikával Konfiguráció (állapot): C Látható állapot σ (a program vizsgált kimenetében szerepel) σ[x] egy x változó értéke egy σ látható állapotban σ[x] az x változó-vektor értéke egy σ látható állapotban Rejtett állapot (helyesség szempontjából érdektelen) Szintaktikus folytatás: A további számításokat definiálja Programszámláló helyett A továbbiakban végrehajtandó forrásszövegként képzelhető el Átmenet reláció a konfigurációk között: π(p, σ 0 ) egy P program számítása σ 0 kezdőállapotból C 0 C 1 C 2 maximális szekvencia (végállapotig/végtelen) σ 0 σ 1 σ 2 látható állapot szekvencia val(π(p, σ)) = σ n véges esetben a végállapot jelölése I domén: A számítások itt értelmezettek Specifikációs nyelv Korlátozások: Determinisztikus program Nem folytonos működésű Érték- vagy állapot-transzformációt valósít meg Tulajdonság megadása: Predikátumok Előfeltétel: p(x) - a megengedhető kezdeti állapotokra x a látható állapot változói σ 0 = p(x) jelentése: kezdőállapotban igaz p(x) Utófeltétel: q(x) - az elfogadható végállapotokra true minden befejeződő számítás kielégíti false egy szabályos végállapot sem elégíti ki val(π(p,σ 0 )) = q(x) jelentése: π számítás végállapotában igaz q(x) Specifikáció példák Segédváltozók használata Specifikációs változók használata

6 Példák specifikációkra x és y nagyság szerinti sorba rendezése: előfeltétel p(x,y) = true, utófeltétel q(x,y) = x>y tömörebben felírva (true, x>y) x legyen páros a kimeneten: (true, even(x)) (true, y: x=2y) Bemeneti x-et kétszerezze meg: (x=x, x=2x) ha a doménen értelmezett even(x) itt y kötött segédváltozó q(x)-ben itt X egy specifikációs változó x/y poz. bennfoglalás eredménye q és maradéka r: (x=x>0 y=y>0, X=qY+r 0<=r<Y) ha meg kell őrizni x és y értékét: (x=x>0 y=y>0, X=qY+r 0<=r<Y x=x y=y) Program helyességi kritériumok (1) Részleges helyesség: Jelölése {p(x)} P {q(x)} Egy program részlegesen helyes p(x), q(x) szerint, ha teljesül: π(p,σ 0 ) és σ 0 = p(x) esetén ha π befejeződik, akkor val(π(p,σ 0 )) = q(x) Megjegyzések: Az előfeltételt kielégítő állapotból induló számításokra: ha befejeződik, akkor az utófeltétel igaz a végállapotban Nem mond semmit azokról a számításokról, amelyekre σ 0 p(x) {true}p{true} minden programra igaz {true}p{false} ha igaz, akkor nincs befejeződő számítás

7 Program helyességi kritériumok (2) Helyesség: Jelölése <p(x)> P <q(x)> Egy program helyes p(x), q(x) szerint, ha π(p,σ 0 ) és σ 0 = p(x) esetén π befejeződik és val(π(p,σ 0 ) = q(x) Megjegyzések: Az előfeltételt kielégítő állapotból induló számításokra: befejeződik és az utófeltétel igaz lesz a végállapotban <p(x)>p<true> csak befejeződést ír elő Felírható: <p(x)>p<q(x)> a.cs.a. {p(x)}p{q(x)} és <p(x)>p<true> azaz a program helyes, ha részlegesen helyes és befejeződik Egyszerű determinisztikus programok PLF flow language : start, x:=e, B(x), halt utasítások egyedi l címkékkel (l 0, l *, l i, ) assembly szinthez közeli pszeudo-nyelv Program szintaxis: PLF mint véges irányított gráf succ(l), succ + (l), succ - (l) használható a következő csomóponthoz Minden utasítás egy start halt útvonalon Szemantika: C=(σ,λ) konfiguráció és megadása: C(σ,λ) C (σ,λ ) a.cs.a. λ egy start: λ =succ(λ), σ =σ λ egy x:=e utasítás: λ =succ(λ), σ =σ[e/x] itt [e/x] jelöli, hogy x helyébe e helyettesítése történik λ egy B(x) elágazás: σ =B(x) esetén: λ =succ + (λ), σ =σ σ B(x) esetén: λ =succ - (λ), σ =σ

8 Példa: Maradékos osztás egész számokra x/y számítása, q hányados, r maradék Részleges helyesség ciklusmentes esetben (1) Ötlet: Számítási indukció {p}p{q} esetén Egy véges számításhoz tartozó útvonal jellemzői: u i = l i0 l i1 l i2 l ik Elérhetőségi (bejárási) feltétel: R u (x) predikátum Ha fennáll l i0 esetén, akkor éppen az u útvonalat járja be a program Állapot transzformáció: T u (x) egy állapotvektort ad Jelölések: x állapotból indulva az u útvonal bejárása utáni állapot x := T u (x) a végállapotot eredményező állapot transzformáció l im l ik szuffixe az útvonalnak az m indextől R um (x) és T um (x) erre a szuffixre vonatkoznak Ismert a végállapotra (utolsó szuffixre): R uk (x)=true T uk (x)=x - már a végállapotban vagyunk - nincs további transzformáció

9 Részleges helyesség ciklusmentes esetben (2) Visszalépéses indukció: Feltéve: Ismert R m+1 u (x) és T m+1 u (x) egy szuffixre Lépés: Az l im utasítása alapján R um (x) és T um (x) számítás x:=e hozzárendelés: R um (x) = R m+1 u (x)[e/x], B(x) feltétel pozitív ága: R um (x) = R m+1 u (x) B(x), B(x) feltétel negatív ága: R um (x) = R m+1 u (x) B(x), start: R u (x) = R u0 (x), T um (x) = T u m+1 (x)[e/x] T um (x) = T u m+1 (x) T um (x) = T u m+1 (x) T u (x) = T u0 (x) Így a végállapotban ismert R uk (x)=true és T uk (x)=x alapján a kezdőállapotra R u (x) és T u (x) levezethető Részleges helyesség ciklusmentes esetben (példa) R(x)=true T(x)=x x:=x+1 x>y R(x)=x>y T(x)=x R(x)=true T(x)=x x:=x+1 x>y R(x)=x+1>y T(x)=x+1 R(x)=x>y T(x)=x R(x)=true T(x)=x x:=x+1 x>y

10 Részleges helyesség ciklusmentes esetben (3) Részleges helyesség megmutatása: {p(x)} P {q(x)} a.cs.a. ha minden teljes u útra: x: p(x) R u (x) q(t u (x)) Doménen értelmezett elsőrendű logikai kifejezés; tételbizonyítónak beadható: x: p(x) R u (x) q(t u (x)) p és q a specifikáció alapján R és T a program forrás alapján, visszalépéses számítási indukció alapján megadható Részleges helyesség ciklusos programokra (1) Ötlet: Ciklusok felvágása Minden ciklusban egy l i utasítás kijelölése, ami azt (ciklusmentes) szegmensekre osztja I li (x) predikátum, ún. induktív állítás hozzárendelése a vágási ponthoz Első belépés után l i -nél igaz Ciklus futása során igaz marad (ciklus invariáns) Kilépés után a további szegmensekkel majd az utófeltételt igazzá teszi A szegmensek mint ciklusmentes utak az előző módszer alapján vizsgálhatók Elérhetőségi feltétel és állapot-transzformáció számítható l 0 l 1 l 2 l *

11 Részleges helyesség ciklusos programokra (2) Bizonyítási váz: Vágási pontok kijelölése a ciklusokban (legalább egy-egy) Induktív állítások felírása: I li (x) I l0 (x) = p(x) -kezdőállapotra I l* (x) = q(x) - végállapotra Ciklusokban: ld. előbb (ciklus invariáns) Verifikációs feltételek: A szomszédos vágási pontokra, azaz minden l, l vágási pontok által kijelölt u szegmensre: x: I l (x) R u (x) I l (T u (x)) bizonyítandó R u (x) és T u (x) a szegmensekre kiszámíthatók Helyes és teljes módszer Mindig találhatók megfelelő vágási pontok és induktív állítások (de ennek bizonyítása nem konstruktív ) Heurisztikus az induktív állítások felvétele Részleges helyesség ciklusos programokra (példa) I l4 (x,y,q,r) = (x 0 y>0 x=q y+r r 0)

12 Részleges helyesség ciklusos programokra: példa Befejeződés bizonyítása ciklusok esetén (1) Ötlet: Az induktív állítások paraméterezése Paraméter egy (W,>) ún. jól megalapozott halmazból Nem létezik végtelen w 0 > w 1 > csökkenő szekvencia Példák: Természetes számok, és az ezeken értelmezett > reláció Véges halmaz valódi részhalmazai, és a tartalmazás reláció Véges lista, és a prefix reláció A ciklus befejeződik, ha a paraméterről kimutatható, hogy csökken a ciklus végrehajtása során A paraméter sok esetben lehet maga a ciklusváltozó, de segédváltozót is használhatunk Megválasztása heurisztikus

13 Befejeződés bizonyítása ciklusok esetén (2) Bizonyítási váz: Jól megalapozott halmaz(ok) választása: (W,<) Vágási pontok kijelölése a ciklusokban: l 0, l i, l * Paraméterezett induktív állítások: I l (x,w) ahol w W Verifikációs feltételek (bizonyítandók): Inicializálás: x: p(x) w: I l0 (x,w) (előfeltétel bővítés) Terminálás: x: I l* (x,w) q(x) Csökkenés: Szomszédos l, l pontok által kijelölt u szegmensre: x: I l (x,w) R u (x) w <w: I l (T u (x),w ) Itt R u (x) és T u (x) a szegmensekre kiszámíthatók Helyes módszer <p(x)>p<true> bizonyítására A paraméterezett induktív állítások felvétele heurisztikus Befejeződés bizonyítása ciklusok esetén (példa) I l4 (x,y,n) = (y>0 n=r 0)

14 Rész-összefoglaló Alacsony szintű pszeudo-nyelvek (blokk diagram): Részleges helyesség ciklusmentes programokra: Visszalépéses számítási indukció Részleges helyesség ciklust tartalmazó programokra: Induktív állítások Helyesség ciklust tartalmazó programokra: Paraméterezett induktív állítások Következő lépés: Strukturált programnyelvek Helyességbizonyítás strukturált programokra Cél a komponálhatóság : Ha egy P program P 1 és P 2 szintaktikai egységekből áll, akkor P tulajdonságai P 1 és P 2 tulajdonságai alapján bizonyíthatók Strukturális indukció elve Strukturált programok: PLW nyelv P::= x:=e skip P 1 ; P 2 if B then P 1 else P 2 fi while B do P od Példa: P div : r:=x; q:=0; while r y do r:=r-y; q:=q+1 od

15 PLW szemantikája Konfiguráció: C=(P, σ) ahol P a szintaktikus folytatás (E az üres folytatás jelölése) σ a látható állapot (állapotváltozók) Átmenet reláció: C C (x:=e, σ) (E, σ[e/x]) (skip, σ) (E, σ) (P 1 ; P 2, σ) (P 1 ; P 2, σ ) ha (P 1, σ) (P 1, σ ) Itt az E;P P azonosság alkalmazható a végén (if B then P 1 else P 2 fi, σ) (P 1, σ) ha σ[b]=true (P 2, σ) ha σ[b]=false (while B do P od, σ) (P; while B do P od, σ) ha σ[b]=true (E, σ) ha σ[b]=false H dedukciós rendszer részleges helyesség bizonyításához (1) Axiómák: ASS: SKIP: {p[e/x]} x:=e {p} {p} skip {p} Szabályok a szintaktikai struktúrákhoz: SEQ: {p} P 1 {r} és {r} P 2 {q} {p} P 1 ; P 2 {q} Utófeltételként p teljesül, ha előfeltételként p[e/x] teljesül Ha (feltétel) akkor (köv.) COND: REP: {p B} P 1 {q} és {p B} P 2 {q} {p} if B then P 1 else P 2 fi {q} {p B} P {p} {p} while B do P od {p B} p ciklus invariáns

16 H dedukciós rendszer részleges helyesség bizonyításához (2) Általános szabályok: CONS: p p 1 és {p 1 } P 1 {q 1 } és q 1 q {p} P {q} AND: {p} P {q 1 } és {p} P {q 2 } {p} P {q 1 q 2 } OR: {p 1 } P {q} és {p 2 } P {q} {p 1 p 2 } P {q} Domén axiómái és szabályai: Kérdés, hogy rekurzívan megszámlálhatók-e? {true}skip{p} alakú állítások is Előfeltétel bővítés és utófeltétel szűkítés Utófeltétel részekre bontása Előfeltétel szétválasztása esetekre Részleges helyességbizonyítás példa {x 0 y 0} r:=x; q:=0; while r y do r:=r-y; q:=q+1 od {x=q y+r 0 r<y}

17 Dedukciós rendszer részleges helyesség bizonyításához (3) Egy C állítás bizonyítása: Tr I - H C ahol I a domén, Tr I a domén axiómái és szabályai H a dedukciós rendszer Példa az állításra: {x 0 y 0} P div {x=q y+r 0 r<y} Gyakorlati problémák: Domén szabályait a tételbizonyítónak ismernie kell Szabályok alkalmazásának stratégiája (keresés) Jellemzők: Az előbb felvázolt H helyessége bizonyítható Tr I - H {p}p{q} következménye = I {p}p{q} H teljessége: Ha a domén axióma- és szabályrendszere kellően bonyolult (elegendően erős): Gödel első nemteljességi tétele érvényes, azaz lehet olyan igaz állítás, ami nem bizonyítható Specifikációs nyelv kifejezőképessége elegendő-e? Definíció: Specifikációs nyelv kifejezőképessége SL specifikációs nyelv kifejező egy PL programnyelv és I domén esetén, ha p SL, P PL esetén post I (p,p) kifejezhető SL-ben P futása után elért állapotok predikátuma Kiindulási állapot predikátuma P program Egy D dedukciós rendszer relatív teljes a részleges helyesség bizonyításához, ha SL, PL, I esetén, ahol SL kifejező PL-re és I-re, fennáll: = I {p}p{q} következménye Tr I - D {p}p{q}

18 H* dedukciós rendszer helyesség bizonyításhoz Cél: PLW programok helyességének bizonyítása while B do P od ciklusok befejeződése kérdéses Ötlet (itt is): Paraméterezett állítások Jól megalapozott halmaz (pl. n természetes szám) pi(x,n) ciklus invariáns választása kell Módosuló REP szabály ebben az esetben: REP*: pi(x,n) B és <pi(x,n)>p<pi(x,n-1)> és pi(x,0) B < n:pi(x,n)> while B do P od <pi(x,0)> Többi szabály: { } helyett egyszerűen < > kell Aritmetikai kiterjesztés A módosult REP* szabály miatt: SL-nek támogatnia kell a jól megalapozott halmaz (itt: természetes számok) használatát Tipikus eset: Peano aritmetika támogatása Természetes számok és +, *, < műveletek Tételbizonyító erre felkészítve Definíciók: SL aritmetikai kiterjesztése SL +, ha minimális bővítésként a Peano aritmetikát tartalmazza I domén aritmetikai kiterjesztése I +, ha minimális bővítésként a Peano aritmetika doménjét tartalmazza

19 Aritmetikai helyesség és teljesség Aritmetikai helyesség p,q SL + mellett: Tr I+ - D <p>p<q> következménye = I+ <p>p<q> Aritmetikai teljesség p,q SL + mellett: = I+ <p>p<q> következménye Tr I+ - D <p>p<q> Itt: H* aritmetikai helyessége bizonyítható Összefoglalás Alacsony szintű pszeudo-nyelvek (blokk diagram): Részleges helyesség ciklusmentes programokra: Visszalépéses számítási indukció Részleges helyesség ciklust tartalmazó programokra: Induktív állítások Helyesség ciklust tartalmazó programokra: Paraméterezett induktív állítások Strukturált programnyelvek (while programok): Részleges helyesség: Dedukciós rendszer (strukturális indukció) Helyesség: Dedukciós rendszer, kifejezőképesség Aritmetikai kiterjesztés, aritmetikai helyesség és teljesség

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

Részletesebben

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere Szekvenciális programok kategóriái strukturálatlan strukturált NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE Hoare-Dijkstra-Gries módszere determinisztikus valódi korai nem-determinisztikus általános fejlett

Részletesebben

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Algoritmusok helyességének bizonyítása. A Floyd-módszer Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk

Részletesebben

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

Algoritmizálás, adatmodellezés tanítása 6. előadás

Algoritmizálás, adatmodellezés tanítása 6. előadás Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:

Részletesebben

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus. 8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus. Ágens rendszer definíciója. Példák. Fairness. (Fair tulajdonság). Gyenge fair követelmény. A fair nem determinisztikus szemantika definíciója

Részletesebben

Részletes szoftver tervek ellenőrzése

Részletes szoftver tervek ellenőrzése Részletes szoftver tervek ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Tartalomjegyzék A részletes

Részletesebben

Osztott rendszer. Osztott rendszer informális definíciója

Osztott rendszer. Osztott rendszer informális definíciója Osztott rendszer Osztott rendszer informális definíciója Egymástól elkülönülten létező program-komponensek egy halmaza. A komponensek egymástól függetlenül dolgoznak saját erőforrásukkal. A komponensek

Részletesebben

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6. Programkonstrukciók Definíció Legyen π feltétel és S program A-n. A DO A A relációt az S-ből a π feltétellel képezett ciklusnak nevezzük, és (π, S)-sel jelöljük, ha 1. a / [π] : DO (a) = { a }, 2. a [π]

Részletesebben

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig

Részletesebben

Temporális logikák és modell ellenırzés

Temporális logikák és modell ellenırzés Temporális logikák és modell ellenırzés Temporális logikák Modális logika: kijelentések különböző módjainak tanulmányozására vezették be (eredetileg filozófusok). Ilyen módok: esetleg, mindig, szükségszerűen,

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Szoftver karbantartási lépések ellenőrzése

Szoftver karbantartási lépések ellenőrzése Szoftverellenőrzési technikák (vimim148) Szoftver karbantartási lépések ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/

Részletesebben

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)

Részletesebben

Modell alapú tesztelés mobil környezetben

Modell alapú tesztelés mobil környezetben Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed

Részletesebben

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai Elérhetőségi analízis Petri hálók dinamikus tulajdonságai dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Petri hálók vizsgálata Az elemzés mélysége szerint: Vizsgálati

Részletesebben

Kaposi Ambrus. University of Nottingham Functional Programming Lab. Hackerspace Budapest 2015. január 6.

Kaposi Ambrus. University of Nottingham Functional Programming Lab. Hackerspace Budapest 2015. január 6. Bizonyítás és programozás Kaposi Ambrus University of Nottingham Functional Programming Lab Hackerspace Budapest 2015. január 6. Bizonyítás, érvelés Példa: sáros a csizmám ha vizes a föld, esett az eső

Részletesebben

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

Fordítás Kódoptimalizálás

Fordítás Kódoptimalizálás Fordítás Kódoptimalizálás Kód visszafejtés. Izsó Tamás 2016. október 20. Izsó Tamás Fordítás Kódoptimalizálás / 1 Aktív változók Angol irodalomban a Live Variables kifejezést használják, míg az azt felhasználó

Részletesebben

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2. TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyűrűk támogatás nélkül Második nekifutás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2015. október 2. TARTALOMJEGYZÉK Polinomok

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 2. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Matematikai logika Diszkrét matematika I. középszint

Részletesebben

Automatikus tesztgenerálás modell ellenőrző segítségével

Automatikus tesztgenerálás modell ellenőrző segítségével Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István Tesztelés Célja: a rendszerben

Részletesebben

2. Logika gyakorlat Függvények és a teljes indukció

2. Logika gyakorlat Függvények és a teljes indukció 2. Logika gyakorlat Függvények és a teljes indukció Folláth János Debreceni Egyetem - Informatika Kar 2012/13. I. félév Áttekintés 1 Függvények Relációk Halmazok 2 Természetes számok Formulák Definíció

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Ismeretalapú modellezés XI. Leíró logikák

Ismeretalapú modellezés XI. Leíró logikák XI. Leíró logikák 1 eddig volt nyílt internetes rendszerekben miért van szükség ismeretalapú re ontológia készítés kérdései ontológiák jellemzői milyen ontológiák vannak most jön mai internetes ontológiák

Részletesebben

Programfejlesztési Modellek

Programfejlesztési Modellek Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció

Részletesebben

Programozási Módszertan definíciók, stb.

Programozási Módszertan definíciók, stb. Programozási Módszertan definíciók, stb. 1. Bevezetés Egy adat típusát az adat által felvehető lehetséges értékek halmaza (típusérték halmaz, TÉH), és az ezen értelmezett műveletek (típusműveletek) együttesen

Részletesebben

2. Visszalépéses stratégia

2. Visszalépéses stratégia 2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI

I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI 1 A digitális áramkörökre is érvényesek a villamosságtanból ismert Ohm törvény és a Kirchhoff törvények, de az elemzés és a tervezés rendszerint nem ezekre épül.

Részletesebben

Programozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer

Programozási módszertan. Függvények rekurzív megadása Oszd meg és uralkodj elv, helyettesítő módszer, rekurziós fa módszer, mester módszer PM-03 p. 1/13 Programozási módszertan Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer Werner Ágnes Villamosmérnöki és Információs Rendszerek

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

A valós számok halmaza

A valós számok halmaza VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben

Részletesebben

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 007/008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció i stratégiák Szemantikus hálók / Keretrendszerek

Részletesebben

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)

Részletesebben

Programozási módszertan. Mohó algoritmusok

Programozási módszertan. Mohó algoritmusok PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

6. Közös változóval rendelkező párhuzamos program, Közös változó,

6. Közös változóval rendelkező párhuzamos program, Közös változó, 6. Közös változóval rendelkező párhuzamos program, Közös változó, Reynold kritérium. Atomi művelet, atomi utasítás. szintaxis, szemantika, tulajdonságok. Szinkronizációs párhuzamos program, szintaxis,

Részletesebben

2016, Diszkrét matematika

2016, Diszkrét matematika Diszkrét matematika 2. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? Követelmények,

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán

Részletesebben

Diszkrét matematika 1.

Diszkrét matematika 1. Diszkrét matematika 1. Nagy Gábor nagy@compalg.inf.elte.hu nagygabr@gmail.com ELTE IK Komputeralgebra Tanszék 014. ősz 014-15 őszi félév Gyakorlat: 1. ZH tervezett időpontja: október 1.,. ZH tervezett

Részletesebben

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea

Részletesebben

Analízis előadás és gyakorlat vázlat

Analízis előadás és gyakorlat vázlat Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 2010-11. I. Félév 2 1. fejezet Számhalmazok és tulajdonságaik 1.1. Nevezetes számhalmazok ➀ a) jelölése: N b)

Részletesebben

Programozás alapjai (ANSI C)

Programozás alapjai (ANSI C) Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu

Részletesebben

7.4. A programkonstrukciók és a kiszámíthatóság

7.4. A programkonstrukciók és a kiszámíthatóság H @ tj 68 7 PROGRAMKONSTRUKCIÓK 74 A programkonstrukciók és a kiszámíthatóság Ebben az alfejezetben kis kitérőt teszünk a kiszámíthatóság-elmélet felé, és megmutatjuk, hog az imént bevezetett három programkonstrukció

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 5. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Számfogalom bővítése Diszkrét matematika I. középszint

Részletesebben

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 4. Fuzzy relációk Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Klasszikus relációk Halmazok Descartes-szorzata Relációk 2 Fuzzy relációk Fuzzy relációk véges alaphalmazok

Részletesebben

Automaták mint elfogadók (akceptorok)

Automaták mint elfogadók (akceptorok) Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e

Részletesebben

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin 1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy

Részletesebben

Programozási alapismeretek 3. előadás

Programozási alapismeretek 3. előadás Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre

4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre 4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre Az értékelő függvény létezése (folytatás) p. 1/8 4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre

Részletesebben

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai 1.a. A B B A 2.a. (A B) C A (B C) 3.a. A (A B) A 4.a. I A I 5.a. A (B C) (A B) (A C) 6.a. A A I 1.b. A B B A 2.b. (A B) C A (B C) 3.b. A

Részletesebben

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E 5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

Időzített átmeneti rendszerek

Időzített átmeneti rendszerek Időzített átmeneti rendszerek Legyen A egy ábécé, A = A { (d) d R 0 }. A feletti (valós idejű) időzített átmeneti rendszer olyan A = (S, T,,, ) címkézett átmeneti rendszert ( : T A ), melyre teljesülnek

Részletesebben

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések 1. Az informatikai rendszereknél mit ellenőriznek validációnál és mit verifikációnál? 2. A szoftver verifikációs technikák

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés

II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés Nagyon könnyen megfigyelhetjük, hogy akármilyen két számmal elindítunk egy Fibonacci sorozatot, a sorozat egymást követő tagjainak

Részletesebben

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus GRÁFELMÉLET 7. előadás Javító utak, javító utak keresése, Edmonds-algoritmus Definíció: egy P utat javító útnak nevezünk egy M párosításra nézve, ha az út páratlan hosszú, kezdő- és végpontjai nem párosítottak,

Részletesebben

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al: Bevezető matematika kémikusoknak., 04. ősz. feladatlap. Ábrázoljuk számegyenesen a következő egyenlőtlenségek megoldáshalmazát! (a) x 5 < 3 5 x < 3 x 5 < (d) 5 x

Részletesebben

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz A vizsga menete: a vizsga írásbeli és szóbeli részből áll. Az írásbeli beugrón az alábbi kérdések közül szerepel összesen 12 darab, mindegyik egy pontot

Részletesebben

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz Diszkrét matematika 1. estis képzés 2015. ősz 1. Diszkrét matematika 1. estis képzés 6. előadás Mérai László diái alapján Komputeralgebra Tanszék 2015. ősz Elemi számelmélet Diszkrét matematika 1. estis

Részletesebben

Cselekvési tervek generálása. Máté Annamária

Cselekvési tervek generálása. Máté Annamária Cselekvési tervek generálása Máté Annamária Tartalom Általánosan a cselekvés tervezésről Értelmezés, megközelítés Klasszikus modellek Mint keresés Mint logikai következtetés Alapvető feltevések és fogalmak

Részletesebben

Dr. Schuster György február / 32

Dr. Schuster György február / 32 Algoritmusok és magvalósítások Dr. Schuster György OE-KVK-MAI schuster.gyorgy@kvk.uni-obuda.hu 2015. február 10. 2015. február 10. 1 / 32 Algoritmus Alapfogalmak Algoritmus Definíció Algoritmuson olyan

Részletesebben

Bevezetés a programozáshoz I. Feladatok

Bevezetés a programozáshoz I. Feladatok Bevezetés a programozáshoz I. Feladatok 2006. szeptember 15. 1. Alapfogalmak 1.1. példa: Írjuk fel az A B, A C, (A B) C, és A B C halmazok elemeit, ha A = {0, 1}, B = {1, 2, 3}, C = {p, q}! 1.2. példa:

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

Számítógép és programozás 2

Számítógép és programozás 2 Számítógép és programozás 2 6. Előadás Problémaosztályok http://digitus.itk.ppke.hu/~flugi/ Emlékeztető A specifikáció egy előfeltételből és utófeltételből álló leírása a feladatnak Léteznek olyan feladatok,

Részletesebben

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az

Részletesebben

Szoftver értékelés és karbantartás

Szoftver értékelés és karbantartás Szoftver értékelés és karbantartás Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Emlékeztető: Biztonsági követelmények

Részletesebben

Informatika tanítási módszerek

Informatika tanítási módszerek Informatika tanítási módszerek Programozás tanítási módszerek módszeres, algoritmusorientált; adatorientált; specifikációorientált; feladattípus-orientált; nyelvorientált; utasításorientált; matematikaorientált;

Részletesebben

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)} Példa Adott egy n n-es sakktábla. Az (1,1) mezőn áll egy huszár. Határozzuk meg eljuthat -e az (u,v) mezőre, ha igen adjunk meg egy legkevesebb lépésből álló utat! Adjunk algoritmust, ami megoldja a feladatot.

Részletesebben

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

Számelméleti alapfogalmak

Számelméleti alapfogalmak 1 Számelméleti alapfogalmak 1 Definíció Az a IN szám osztója a b IN számnak ha létezik c IN melyre a c = b Jelölése: a b 2 Példa a 0 bármely a számra teljesül, mivel c = 0 univerzálisan megfelel: a 0 =

Részletesebben

A logikai következmény

A logikai következmény Logika 3 A logikai következmény A logika egyik feladata: helyes következtetési sémák kialakítása. Példa következtetésekre : Minden veréb madár. Minden madár gerinces. Minden veréb gerinces 1.Feltétel 2.Feltétel

Részletesebben

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Elérhetőségi probléma

Részletesebben

25. tétel: Bizonyítási módszerek és bemutatásuk tételek bizonyításában, tétel és megfordítása, szükséges és elégséges feltétel

25. tétel: Bizonyítási módszerek és bemutatásuk tételek bizonyításában, tétel és megfordítása, szükséges és elégséges feltétel 5. tétel: Bizonyítási módszerek és bemutatásuk tételek bizonyításában, tétel és megfordítása, szükséges és elégséges feltétel Axióma: Bizonyítás: olyan állítás, amelynek igazságát bizonyítás nélkül elfogadjuk.

Részletesebben

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra) 6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban

Részletesebben

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Problémamegoldás kereséssel. Mesterséges intelligencia március 7. Problémamegoldás kereséssel Mesterséges intelligencia 2014. március 7. Bevezetés Problémamegoldó ágens Kívánt állapotba vezető cselekvéseket keres Probléma megfogalmazása Megoldás megfogalmazása Keresési

Részletesebben

Alapvető polinomalgoritmusok

Alapvető polinomalgoritmusok Alapvető polinomalgoritmusok Maradékos osztás Euklideszi algoritmus Bővített euklideszi algoritmus Alkalmazás: Véges testek konstrukciója Irodalom: Iványi Antal: Informatikai algoritmusok II, 18. fejezet.

Részletesebben

Sztochasztikus temporális logikák

Sztochasztikus temporális logikák Sztochasztikus temporális logikák Teljesítmény és szolgáltatásbiztonság jellemzők formalizálása és ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs

Részletesebben

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek Szoftverellenőrzési technikák Specifikáció alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Klasszikus tesztelési feladat A tesztelendő program beolvas 3 egész

Részletesebben

Szoftver karbantartás

Szoftver karbantartás Szoftver karbantartás Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Áttekintés Követelményspecifikálás Architektúra

Részletesebben

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek Szoftverellenőrzési technikák Specifikáció alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Klasszikus tesztelési feladat A tesztelendő program beolvas 3 egész

Részletesebben

5. A kiterjesztési elv, nyelvi változók

5. A kiterjesztési elv, nyelvi változók 5. A kiterjesztési elv, nyelvi változók Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 A kiterjesztési elv 2 Nyelvi változók A kiterjesztési elv 237 A KITERJESZTÉSI ELV A

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Intelligens Rendszerek Elmélete IRE 4/32/1

Intelligens Rendszerek Elmélete IRE 4/32/1 Intelligens Rendszerek Elmélete 4 IRE 4/32/1 Problémamegoldás kereséssel http://nik.uni-obuda.hu/mobil IRE 4/32/2 Egyszerű lények intelligenciája? http://www.youtube.com/watch?v=tlo2n3ymcxw&nr=1 IRE 4/32/3

Részletesebben

Neumann János Tehetséggondozó Program Gráfalgoritmusok II.

Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Horváth Gyula horvath@inf.elte.hu 1. A szélességi bejárás alkalmazásai. Nyilvánvaló, hogy S(0) = {r}. Jelölés: D(p) = δ(r, p) Nyilvánvaló, hogy

Részletesebben

Ésik Zoltán (SZTE Informatikai Tanszékcsoport) Logika a számtastudományban Logika és informatikai alkalmazásai Varterész Magdolna, Uni-Deb

Ésik Zoltán (SZTE Informatikai Tanszékcsoport) Logika a számtastudományban Logika és informatikai alkalmazásai Varterész Magdolna, Uni-Deb Logika, 5. Az előadásfóliák ÉsikZoltén (SZTE InformatikaiTanszékcsoport) Logikaa szamtastudomanyban Logikaes informatikaialkalmazasai Előadásai alapján készültek Ésik Zoltán (SZTE Informatikai Tanszékcsoport)

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 8. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Elemi számelmélet Diszkrét matematika I. középszint

Részletesebben

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla Kvadratikus alakok és euklideszi terek (előadásvázlat, 0. október 5.) Maróti Miklós, Kátai-Urbán Kamilla Az előadáshoz ajánlott jegyzet: Szabó László: Bevezetés a lineáris algebrába, Polygon Kiadó, Szeged,

Részletesebben