Gráfok ábrázolási módja Általánosságok Algoritmusok ábrázolása:

Slides:



Advertisements
Hasonló előadás
GRIN: Gráf alapú RDF index
Advertisements

Algebrai struktúrák.
Természetes számok 0, 1, 2, 3, ..., 24, 25, ..., 1231, 1232, ..., n, ...  = {0, 1, 2, 3, ..., n,...} a természetes számok halmaza Műveletek: összeadás.
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.
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
4. Előadás: A mohó algoritmus
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.
3. előadás (2005. március 1.) Utasítások, tömbök
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Bevezetés a digitális technikába
Készítette: Pető László
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév.
Matematikai modellek a termelés tervezésében és irányításában
Differenciál számítás
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Prím algoritmus.
1 Györgyi Tamás – GYTNAAI.ELTE 2007 Április 03 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus Bellman-Ford Algoritmusa S a b d e
A RobotinoView programozása
ISZAM III.évf. részére Bunkóczi László
Halmazok Összefoglalás.
C nyelv utasításai.
Ismétlés.
Gráfelmélet: Fák.
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
Adatszerkezetek 1. előadás
Hierarchikus lista Kétféle értelemezése van:
TARTALOM: Általánosságok Algoritmusok ábrázolása:
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Tömbök és programozási tételek
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Fák.
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
1 Dijkstra Algoritmusa Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S a b c d e
Objektum orientált programozás
Lineáris algebra.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2. Előadás tartalma 1. Elemi adatok és adatszerkezetek (struktúrák)‏ 2. Az.
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Algebrai struktúrák: csoport, gyűrű, test. RSA Cryptosystem/ Titkosítási rendszer Rivest, Shamir, Adelman (1978) RSA a neten leggyakrabban használt.
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1 Floyd-Warshall-algoritmus Legrövidebb utak keresése.
Dodekaéder Hamilton köre
Informatikai Rendszerek Tervezése 5. Előadás: Genetikus algoritmusok Illyés László Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.-5.
Útkeresések.
Bináris kereső fák Itterátorok.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
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.
Algoritmusok és adatszerkezetek
(Bináris) Kupac (heap) adattípus
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Logikai programozás 6..
Mediánok és rendezett minták
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Bevezetés a programozásba Algoritmikus gondolkodás
Algoritmusok és Adatszerkezetek I.
Informatikai gyakorlatok 11. évfolyam
Csoport, félcsoport, test
Algoritmusok és Adatszerkezetek I.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Előadás másolata:

Gráfok ábrázolási módja Általánosságok Algoritmusok ábrázolása: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus TARTALOM: Fa adatstruktúra Gráfok ábrázolási módja Általánosságok Algoritmusok ábrázolása: Matematikai-logikai nyelvezet Pszeudokód Függőleges logikai sémák Vízszintes logikai sémák Fastruktúrák Döntési táblák

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus Fa adatszerkezet. Az adatelemek között hierarchikus kapcsolat van. Hurok nélküli gráf (fa adatszerkezet). alkalmazo tt Személyi szám név cí m kor fizetés Vezetékné v Keresztné v Orszá g Országon belüli cím Város Utca házszá m Ezt rekordszerkezetnek nevezzük. A relációs modell előtt használták. ÁLTALÁNOS faszerkezet.

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus Algebrai kifejezések fastruktúrája (BINÁRIS fa)‏ (2*x+y)*(a-7*b)3 * ↑ + * y 3 - 2 x a * 7 b

a) Bináris fák (mindenik csúcsnak legtöbb két ága van)‏ Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus a) Bináris fák (mindenik csúcsnak legtöbb két ága van)‏ b) Általános fák (mindenik csúcsnak legtöbb k ága van)‏ Ábrázolás Zárójelekkel A(B,C)‏ Standard gyökér 1, bal (I), jobb(I)‏ Apa apa (0,1,2,3,2,..)‏

Bináris fa ábrázolása gyökér

Gyökeres általános fák ábrázolása, bal-gyerek és jobb testvér módszerrel

Procedure Preorder (gyökér)‏ I gyökér; k 0 folytatás = “igen” Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus Átfutás: Preorder (A,B,C)‏ Inorder (B,A,C)‏ Postorder (B,C,A)‏ Átfutási algoritmus: Procedure Preorder (gyökér)‏ I gyökér; k 0 folytatás = “igen” A B C

While folytatas = “igen” if i<> 0 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus While folytatas = “igen” if i<> 0 then feldog (i); k k+1; v(k) i; i bal(I)‏ else if k = 0 then folytatas = “nem” else i v (k); k k-1; i jobb(i)‏ end if end while Return

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus 5 7 3 8 2 9 Preorder (5,3,2,9,7,8)‏ Inorder (2,3,9,5,7,8)‏ Postorder (2,9,3,8,7,5)‏

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus 2 3 7 9 8 5 Preorder Inorder Postorder

Gráfok ábrázolási módja Szomszédsági lista csúcsmátrix 1 5 4 3 2 1 2 3 5 4 5 4 3 2 1 4 2 1 1 3 4 5 4 1 1 5 6 4 3 2 6 5 4 3 2 1 5 2 6 4 1 1 2 1 2 4 5 3 6

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 2. kurzus Gráfalgoritmusok: Szélességi keresés Mélységi keresés Minimális feszítőfák (Kruskal és Prim algoritmusai)‏ Adott csúcsból induló legrövidebb utak Bellman-Ford algoritmus Dijkstra algoritmusa Hálózati folyamok Ford és Fulkerson algoritmus Edmonds-Karp algoritmus

Általánosságok 1. Algoritmizálunk a következő esetekben: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Általánosságok 1. Algoritmizálunk a következő esetekben: ·       számítás volumene nagy ·       az aktivitás sokszor ismétlődik ·  az eredmények rövid időn belül szükségesek 2. A hangsúly azon van hogy ábrázoljuk és hogy építjük fel az algoritmust egy valós és nehéz probléma megoldásának érdekében 3. A legjobb algoritmus ? 4. A komplexitás időben csökkenő?

Algoritmusok elemzése Előre megadjuk, hogy milyen erőforrásokra lesz szüksége az algoritmusnak. A RAM (Random Access Memory)-közvetlen hozzáférésű memóriát vesszük alapul. A Processzorral együtt alkotja a közvetlen hozzáférésű gépet. Az utasítások egymás után hajtódnak végre, egyidejű műveletek nélkül. Meg kell fogalmazzuk a modell műveleteit és azok költségeit. Bemenet mérete: feladatfüggő a tömb n elemszáma (rendezésnél) Bitek száma (pl. számok szorzása esetén) Gráf éleinek és csúcsainak száma Futási idő: egy bizonyos bemenetre a végrehajtott alapműveletek (lépések száma)

Beszúrásos rendezés algoritmusa 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 Költség végrehajtási szám C1 n C2 n-1 C4 n-1 C5 C6 C7 C8 n-1 1 for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4 i←j-1 5 while i>0 and A[i]>S 6 do A[i+1]←A[i] 7 i←i-1 8 A[i+1]←S tj ahányszor 5-ös végrehajtódik a j-re

T(n)=c1n+c2(n-1)+c4(n-1)+c5(n-1)+c8(n-1)=an+b lineáris függvény Legjobb eset A 6-os és 7-es utasítás NEM hajtódik végre, az 5-ös feltétel nem teljesülése miatt, viszont az 5-ös feltételt ellenőrzi minden ciklusban a program 1 2 3 4 5 6 T(n)=c1n+c2(n-1)+c4(n-1)+c5(n-1)+c8(n-1)=an+b lineáris függvény Költség végrehajtási szám C1 n C2 n-1 C4 n-1 C5 n-1 C6 C7 C8 n-1 1 for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4 i←j-1 5 while i>0 és A[i]>S 6 do A[i+1]←A[i] 7 i←i-1 8 A[i+1]←S

T(n)=an2+bn+c négyzetes függvény Legroszabb eset 1 2 3 4 5 6 T(n)=an2+bn+c négyzetes függvény Költség végrehajtási szám C1 n C2 n-1 C4 n-1 C5 n-1 C6 (n-1)*(n-1) C7 (n-1)*(n-1) C8 n-1 1 for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4 i←j-1 5 while i>0 and A[i]>S 6 do A[i+1]←A[i] 7 i←i-1 8 A[i+1]←S T(n)=c1n+(c2+c4+c5+c8)(n-1)+(c6+c7)(n2-2n+1)

c1f(n) ≤ T(n) ≤ c2f(n), ()n ≥ n0. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus 1. Definíció: Azt mondjuk, hogy T(n)=O(f(n)) az algoritmus komplexitásának a mértéke ha léteznek c1 és c2 számok valamint n0 úgy, hogy: c1f(n) ≤ T(n) ≤ c2f(n), ()n ≥ n0. 2. Definíció: Azt mondjuk, hogy T(n)=O(f(n)) egy algoritmus komplexitásának nagyságrendje, ha létezik két pozitív konstans c, n0, úgy, hogy T(n) ≤ cf(n), ()n ≥ n0.

A komplexitás nagyságrendje c2f(n) c1f(n) T(n) T(n)=Θ(f(n)) A komplexitás mértéke n0 n cf(n) T(n) T(n)=O(f(n)) A komplexitás nagyságrendje

(Numerikus, nemnumerikus, feldolgozási) Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Az algoritmusok jellemzői (általánosság, végesség, egyediség, automatizmus ) Szubalgoritmusok. (egymásratevődéses képzés, fokozatos képzés ) Algoritmusosztályok (Numerikus, nemnumerikus, feldolgozási)

f(n)=a16n16+a10n10+a5n5+a2n2+a1n+a0 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Definíció: Egy algoritmust polinomiálisnak nevezünk, ha olyan temporális komplexitással rendelkezik, amelyik O(f(n)) alakú, ahol f(n) egy polinomiális függvény n hosszúságú bemenetekre. f(n)=a1n+a0 f(n)=a2n2+a1n+a0 f(n)=a16n16+a10n10+a5n5+a2n2+a1n+a0 f(n)=a6783n6783+a532n532+a5n5+a2n2+a1n+a0

Az utak bejárásának összes esete: n! Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus 2. Definíció: Ha egy algoritmus nem polinomiális komplexitású, akkor exponenciális; minden olyan algoritmus exponenciálisként van kezelve, amely komplexitása nlog n, habár sem nem polinomiálisak sem nem exponenciálisak matematikai értelemben. Utazóügynök probléma: Egy utazóügynök n várost kell meglátogasson bizonyos időn belül. Hogyan járja be a városokat, hogy a költsége minél kisebb legyen (legyen a költség=út hossza). Az utak bejárásának összes esete: n! n!=1.2.3.4….n>=2n-1 NEM polinomiális (exponenciális)

Algoritmusok ábrázolása Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Algoritmusok ábrázolása matematikai-logikai nyelvezet, pszeudokód, függőleges logikai sémák, vízszintes logikai sémák (Chapin), fastrúktúrák (Tabourier vagy Mills), döntési táblák.

Pszeudokód típusú nyelvek Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Pszeudokód típusú nyelvek Természetes nyelv, strukturált és egyszerűsített, Egy alternatívája a logikai sémának, Nem programozási nyelv, Sok változata van, Az algoritusok egymásutáni mondatokból épülnek fel, Mondatok lehetnek: egyszerűek (pl.: nyiss meg egy állományt, olvass egy bejegyzést fájlból); Komplex mondatok, logikai operátorokkal összekötve A # szimbólum az elkövetkezőkben kiterjesztett mondatra utal A mondat egy igével kezdődik (pl. Read változó,..) Megközelítés módja "top-down" tipúsú (fentről lefele)

Függőleges logikai séma Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Függőleges logikai séma Az algoritmus grafikai ábrázolása, Három fajta egységből áll (blokkból): 1) Funkcionális egység : Y=f(X) X Y 2) Döntési egység: Y Z = c(X)   3) Kötések (összeköttetések)

Alap kontroll struktúrák-1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alap kontroll struktúrák-1 Lineáris struktúra jelölése  (s1,s2,...,sn) b) Alternatív struktúra jelölése  (c,s1,s2), c) Előfeltételes repetitív struktúra jelölése  (c,s) d) /\ Struktúra (Üres blokk) s1 s2 s3 s4 C s1 s2 C s

Alap kontroll struktúrák-2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alap kontroll struktúrák-2 Utófeltételes repetitív struktúra jelölése  '(c,s) Pszeudo-alternatív struktúra jelölése  '(c,s) Általánosított alternatív struktúra jelölése  ' '(c,s1,s2,...sn) C s C s2 s1 s2 sn

Összefüggések Π(s1,s2) = (BLOCK,s1,s2); Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Összefüggések Π(s1,s2) = (BLOCK,s1,s2); Δ (c,s1,s2) = (IF-THEN-ELSE, c,s1,s2); Ω (c,s) = (DO-WHILE,c,s) Ω ' (c,s) = (DO-UNTIL,c,s) Δ'(c,s) = (IF-THEN,c,s) Δ' '(i,s1,s2,...sn) = (CASE-OF,i,s1,s2,...,sn).

Beszúrásos rendezés algoritmusa Start 1 2 3 4 5 6 j=2 s1 1 for j←2 to hossz[A] 2 do S←A[j] 3 i←j-1 4 while i>0 and A[i]>S 5 do A[i+1]←A[i] 6 i←i-1 7 A[i+1]←S Rendez s2 j=j+1 s3 j<6 c2 П(s1,Ω’(c2,П(s2,s3))) Vége

s2=П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))) A[i+1]=S s8 j=2 s1 s2=П(s4,П(s5,X)) S=A[j] s4 s2=П(s4,П(s5,П(Y,s8))) s5 i=j-1 i=i-1 s6 i>0 and A[i]>S Y=Ω(c3,П(s7,s6)) A[i+1]=A[i] s7 c3 s2=П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))) A[i+1]=S s8 j=j+1 s3 j<hossz A c2 F= П(s1,Ω’(c2,П(П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))),s3)))

Alapstruktúrák tulajdonságai. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alapstruktúrák tulajdonságai. 1) Π struktúra általában nem kommutatív: Π (s1,s2)  Π (s2,s1). 2) Π struktúra asszociatív: Π (s1, Π (s2,s3)= Π (Π (s1,s2),s3). 3) Az üres /\ elem semleges a szekvenciális struktúra szempontjából : Π (s,/\)= Π (/\,s). 4) Π struktúra jobb oldalról disztributív az alternatív strukturára nézve: Π (Δ (c,s1,s2),s3)= Δ (c, Π (s1,s3), Π (s2,s3)).

Alapstruktúrák tulajdonságai. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alapstruktúrák tulajdonságai. 5) Π struktúra disztributív balról az alternatív struktúrára nézve : Π (s1, Δ (c,s2,s3))= Δ (c, Π (s1,s2), Π (s1,s3)). 6)  struktúra átalakítható az alternatív bennfoglalási struktúrákra:  (c,s)= (c, Π (s,  (c,s)),/\)= Δ (c, Π (s, Δ (c, Π (s,  (c,s) )),/\)),/\)=... 7) Δ ', Δ ", Ω' struktúrák átalakíthatóak a Π , Δ, Ω struktúrákra : Ω '(c,s)= Π (s, Ω (c,s));, Δ '(c,s)= Δ (c,s,/\); Δ '(c,s)= Δ (c,s, Ω (c,s)); Δ '(c,s1,s2,...sn)= Δ (c1,s1, Δ (c2,s2,...)),

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Strukturált Program Definíció: Strukturált programnak nevezünk bármely olyan programot amelynek kontroll struktúrája megvalósítása esetén kizárólag szekvenciálisan strukturált blokkokat használunk, két ágú alternatív struktúrát és előfeltételes alternatív struktúrát. Boehm és Jacopini struktúra tétele Adott három új funkcionális blokk T,F,K T F T x--->(t,x) ; x--->(f,x) ; x--->(t,(t,x)). K K (v,x)--->x ; (t,(f,(t,x)))--->(f,(t,x)). W[(v,x)]=t <=> v=t

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus A struktúra tétele A struktúra tétel (Boehm és Jacopini) Ha egy x-->x' alkalmazás logikai úton ábrázolható úgy, hogy az s1,s2,... akciókat tartalmazza és a c1,c2,... predikátumokat ugyanúgy reprezentálható egy logikai séma által amelyik felbomlik Π, Δ şi Ω -ra és amelyik tartalmazza ugyanazokat a blokkokat mint az eredeti séma, és még T, F, K és W tipúsú blokkokat. Bizonyítás: indukcióval n- blokkok száma

„Top-down„ folyomány „Top-down„ folyomány („fentről lefele"). Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus „Top-down„ folyomány „Top-down„ folyomány („fentről lefele"). Egy strukturált program ekvivalens egy olyan programmal amelyik a következő formákat veheti fel: P = Π (s1,s2), P = Δ (c,s1,s2) P = Ω (c,s), P = Ω '(c,s) ahol c állítmány, és s, s1, s2 strukturált procedúrák vagy a program funkciói.

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Fastruktúra diagramm a)      Tabourier variáns a 3.14 ábra reprezentációit használja a következő struktúrákra:          szekvenciális – Π(s1,s2)=(BLOCK, s1,s2)          alternatív – Δ (c,s1,s2) (IFTHENELSE,c,s1,s2)          előfeltételes repetitív – jelölése (WHILEDO,c,s)          pszeudoalternatív – jelölése (IFTHEN, c,s)          többszörösen alternatív – jelölése (CASEOF, c,s1,s2,...,sn) utófeltételes repetitív – jelölése (DOUNTIL,s,c),

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Tabourier variáns BLOCK S1 S2 IFTHENELSE WHILEDO IFTHEN Sn CASEOF DOUNTIL c

BLOCK j=2 DOUNTIL J>hosszA S=A[j] i=j-1 WHILEDO A[i+1]=S j=j+1 A[i+1]=A[i] i=i-1 i>0 and A[i]>S 1 for j←2 to hossz[A] 2 do S←A[j] 3 i←j-1 4 while i>0 and A[i]>S 5 do A[i+1]←A[i] 6 i←i-1 7 A[i+1]←S

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Mills variáns BLOCK C1 WHILE DO IF THEN ELSE S1 S2 S3

3.18.b. ábra Az esetek meghatározása Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Döntési táblák Az első r sorra (IGEN, NEM tipús; <, =, > tipús; 0,1,2,... tipús) Az m eset száma m=n1*n2*…nr c1 1 c2 2 s1 s2 00 01 02 s3 s4 s5 s6 3.18.b. ábra Az esetek meghatározása

Döntési táblák Hatásvonal környéke Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Döntési táblák Hatásvonal környéke * az Sj feltételek esetében az Ai akció végrehajtásra kerül tij= üres ha az Ai akció nem hajtódik végre az Sj esetben A döntési táblák három tipúsúak lehetnek : a) korlátozott bemenettel (minden feltétel az L2={0,1} halmaz elemeiből vesz értéket); b) kiterjesztett bemenettel (vagyis a feltételek értelmezési tartománya Ln, n>2 halmaz); c) vegyes bemenettel (egyes feltételek az L2 –n vannak értelmezve mások az Ln, n>2.

Döntési táblák A feladatok szekvenciája: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Döntési táblák A feladatok szekvenciája:    - döntési tábla feltételeinek megállapítása    - szabályok megállapítása     - lehetséges akciók meghatározása     - döntési tábla elkészítése     - az ellentmondások és a redundancia kiküszöbölése     - a kapott tábla egyszerűsítése

Ismétlő kérdések Milyen esetekben algoritmizáluk Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Ismétlő kérdések Milyen esetekben algoritmizáluk A komplexitás definíciója Algoritmusok tulajdonságai és osztályai Mi egy polinomiális és egy nempolinomiális algoritmus Pszeudokód tipúsú nyelvek Függőleges logikai sémák Alapstruktúrák tulajdonságai Strukturált program , Boehm-Jacopini tétele Fastruktúrák (Tabourie, Mills) Döntési táblák. Felépítés és egyszerűsítés