Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus TARTALOM: Általánosságok Algoritmusok ábrázolása: –Matematikai-logikai nyelvezet.

Hasonló előadás


Az előadások a következő témára: "1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus TARTALOM: Általánosságok Algoritmusok ábrázolása: –Matematikai-logikai nyelvezet."— Előadás másolata:

1 1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus TARTALOM: Á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

2 2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus 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ő? Általánosságok

3 3 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)

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

5 5 Költségvégrehajtási szám C1n C2n-1 C4n-1 C5n-1 C6 C7 C8n for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4i←j-1 5while i>0 és A[i]>S 6do A[i+1]←A[i] 7 i←i-1 8A[i+1]←S 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 T(n)=c 1 n+c 2 (n-1)+c 4 (n-1)+c 5 (n-1)+c 8 (n-1)=an+b lineáris függvény

6 6 Költségvégrehajtási szám C1n C2n-1 C4n-1 C5n-1 C6(n-1)*(n-1) C7(n-1)*(n-1) C8n for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4i←j-1 5while i>0 and A[i]>S 6do A[i+1]←A[i] 7 i←i-1 8A[i+1]←S Legroszabb eset T(n)=an 2 +bn+cnégyzetes függvény T(n)=c 1 n+(c 2 +c 4 +c 5 +c 8 )(n-1)+(c 6 +c 7 )(n 2 -2n+1)

7 7 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 c 1 és c 2 számok valamint n 0 úgy, hogy: c 1 f(n) ≤ T(n) ≤ c 2 f(n), (  )n ≥ n 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, n 0, úgy, hogy T(n) ≤ cf(n), (  )n ≥ n 0.

8 8 T(n)=Θ(f(n)) A komplexitás mértéke n0n0 n c 2 f(n) c 1 f(n) T(n) n0n0 n cf(n) T(n) T(n)=O(f(n)) A komplexitás nagyságrendje

9 9 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)

10 10 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus 1.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)=a 1 n+a 0 f(n)=a 2 n 2 +a 1 n+a 0 f(n)=a 16 n 16 +a 10 n 10 +a 5 n 5 +a 2 n 2 +a 1 n+a 0 f(n)=a 6783 n a 532 n 532 +a 5 n 5 +a 2 n 2 +a 1 n+a 0

11 11 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 n log 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!= ….n>=2 n-1 NEM polinomiális (exponenciális)

12 12 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus 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. Algoritmusok ábrázolása

13 13 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus 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) Pszeudokód típusú nyelvek

14 14 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus 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) Függőleges logikai séma

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

16 16 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus 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,s 1,s 2,...s n ) Alap kontroll struktúrák-2 C s C s2 s1s2sn

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

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

19 19 j=2 j0 and A[i]>S A[i+1]=A[i] i=i-1 s1s1 s4s4 c2c2 s5s5 s6s6 s7s7 s8s8 c3c3 s 2 =П(s 4,П(s 5,X)) s 2 =П(s 4,П(s 5,П(Y,s 8 ))) Y=Ω(c 3,П(s 7,s 6 )) s 2 =П(s 4,П(s 5,П(Ω(c 3,П(s 7,s 6 )),s 8 ))) F= П(s 1,Ω’(c 2,П(П(s 4,П(s 5,П(Ω(c 3,П(s 7,s 6 )),s 8 ))),s 3 ))) j=j+1 s3s3

20 20 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)).

21 21 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,...)),

22 22 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 (v,x)--->x ; (t,(f,(t,x)))--->(f,(t,x)). W[(v,x)]=t v=t

23 23 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 s 1,s 2,... akciókat tartalmazza és a c 1,c 2,... 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

24 24 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 = Π (s 1,s 2 ), P = Δ (c,s 1,s 2 ) P = Ω (c,s), P = Ω '(c,s) ahol c állítmány, és s, s 1, s 2 strukturált procedúrák vagy a program funkciói.

25 25 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus a) Tabourier variáns a 3.14 ábra reprezentációit használja a következő struktúrákra: szekvenciális – Π(s 1,s 2 )=(BLOCK, s 1,s 2 ) alternatív – Δ (c,s 1,s 2 ) (IFTHENELSE,c,s 1,s 2 ) 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,s 1,s 2,...,s n ) utófeltételes repetitív – jelölése (DOUNTIL,s,c), Fastruktúra diagramm

26 26 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus BLOCK S1S1 S2S2 IFTHENELSE S1S1 S2S2 S1S1 S1S1 WHILEDO IFTHEN S1S1 S2S2 SnSn S1S1 CASEOFDOUNTIL c c c cc Tabourier variáns

27 27 BLOCK j=2DOUNTIL J>hosszA BLOCK S=A[j]BLOCK i=j-1BLOCK WHILEDOBLOCK A[i+1]=Sj=j+1BLOCK 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] 3i←j-1 4while i>0 and A[i]>S 5do A[i+1]←A[i] 6 i←i-1 7A[i+1]←S

28 28 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus BLOCK C1C1 C1C1 WHILE DO IF THEN ELSE S1S1 S2S2 S3S3 Mills variáns

29 29 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus Az első r sorra (IGEN, NEM tipús; tipús; 0,1,2,... tipús) Az m eset száma m=n1*n2*…nr Döntési táblák c1c1 0 1 c2c c2c s1s1 s2s s3s3 s4s4 s5s5 s6s b. ábra Az esetek meghatározása

30 30 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 t ij = ü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 L 2 ={0,1} halmaz elemeiből vesz értéket); b) kiterjesztett bemenettel (vagyis a feltételek értelmezési tartománya L n, n>2 halmaz); c) vegyes bemenettel (egyes feltételek az L 2 –n vannak értelmezve mások az L n, n>2.

31 31 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

32 32 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


Letölteni ppt "1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus TARTALOM: Általánosságok Algoritmusok ábrázolása: –Matematikai-logikai nyelvezet."

Hasonló előadás


Google Hirdetések