1 / 32

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE ) Csíkszereda IRT - 3 . kurzus

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

ezhno
Download Presentation

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE ) Csíkszereda IRT - 3 . kurzus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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ízszinteslogikaisémák • Fastruktúrák • Döntési táblák

  2. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3.kurzus Általánosságok 1. Algoritmizálunk akövetkezőesetekben: ·számítás volumenenagy ·az aktivitássokszor ismétlődik ·az eredmények rövid időn belül szükségesek 2. Ahangsúlyazon vanhogy ábrázoljukéshogyépítjük felaz algoritmustegy valós és nehéz probléma megoldásának érdekében 3. A legjobb algoritmus ? 4. A komplexitásidőben csökkenő?

  3. Algoritmusokelemzé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. Beszúrásos rendezés algoritmusa 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

  5. 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)=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

  6. Legroszabb eset 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)

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

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

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

  10. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3.kurzus • Definíció: Egy algoritmustpolinomiálisnaknevezünk, haolyan 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

  11. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3.kurzus 2. Definíció: Ha egy algoritmus nem polinomiális komplexitású, akkorexponenciális;mindenolyan algoritmus exponenciálisként van kezelve, amelykomplexitásanlog 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-1NEM polinomiális (exponenciális)

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

  13. 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, • Egyalternatívája a logikai sémának, • Nemprogramozási nyelv, • Sokváltozata van, • Az algoritusokegymásutánimondatokbó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ésmódja "top-down" tipúsú (fentről lefele)

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

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

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

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

  18. Beszúrásos rendezés algoritmusa Start 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

  19. 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 c2 j<hossz A F= П(s1,Ω’(c2,П(П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))),s3)))

  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óldisztributív az alternatív strukturára nézve: Π (Δ (c,s1,s2),s3)= Δ (c, Π (s1,s3), Π (s2,s3)).

  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árané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. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3.kurzus Strukturált Program Definíció: Strukturáltprogramnak nevezünk bármely olyan programot amelynekkontroll struktúrájamegvaló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 ésJacopinistruktú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

  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)Haegy x-->x' alkalmazás logikai úton ábrázolható úgy, hogy az s1,s2,... akciókat tartalmazzaésa c1,c2,... predikátumokat ugyanúgy reprezentálható egy logikai séma általamelyik felbomlikΠ, Δ şi Ω -raés amelyik tartalmazzaugyanazokat a blokkokatmint 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. 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 ekvivalensegy olyan programmalamelyik 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,s2strukturált procedúrákvagy a program funkciói.

  25. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-3. kurzus Fastruktúradiagramm • a)Tabourier variánsa 3.14 ábra reprezentációithaszná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),

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

  27. BLOCK j=2 DOUNTIL J>hosszA BLOCK S=A[j] BLOCK i=j-1 BLOCK WHILEDO BLOCK i>0 and A[i]>S BLOCK A[i+1]=S j=j+1 A[i+1]=A[i] i=i-1 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

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

  29. s1 0 00 s2 c2 1 01 0 c1 2 02 s3 s4 0 00 s5 c2 1 01 1 3.18.b. ábraAz esetek meghatározása s6 2 02 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

  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 • tij= • üresha az Ai akció nem hajtódik végreaz Sj esetben • A döntési táblák három tipúsúak lehetnek : • a) korlátozott bemenettel (mindenfeltételaz L2={0,1} halmaz elemeiből vesz értéket); • b) kiterjesztettbemenettel (vagyis a feltételek értelmezési tartománya Ln, n>2 halmaz); • c) vegyes bemenettel (egyes feltételek az L2–n vannak értelmezvemások az Ln, n>2.

  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ályokmegá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. 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 ésosztályai • Miegy polinomiálisésegy 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

More Related