Sapientia -
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

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


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

    • Pszeudokód

    • Függőleges logikai sémák

    • Vízszinteslogikaisémák

    • Fastruktúrák

    • Döntési táblák


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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ő?


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

Beszúrásos rendezés algoritmusa

Költségvégrehajtási szám

C1n

C2n-1

C4n-1

C5

C6

C7

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

4i←j-1

5while i>0 and A[i]>S

6do A[i+1]←A[i]

7 i←i-1

8A[i+1]←S

tj ahányszor 5-ös végrehajtódik a j-re


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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égvégrehajtási szám

C1n

C2n-1

C4n-1

C5n-1

C6

C7

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

4i←j-1

5while i>0 és A[i]>S

6do A[i+1]←A[i]

7 i←i-1

8A[i+1]←S


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

Legroszabb eset

T(n)=an2+bn+cnégyzetes függvény

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

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(n)=c1n+(c2+c4+c5+c8)(n-1)+(c6+c7)(n2-2n+1)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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.


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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.


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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)


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

Beszúrásos rendezés algoritmusa

Start

j=2

s1

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

Rendez

s2

j=j+1

s3

j<6

c2

П(s1,Ω’(c2,П(s2,s3)))

Vége


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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.


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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]

3i←j-1

4while i>0 and A[i]>S

5do A[i+1]←A[i]

6 i←i-1

7A[i+1]←S


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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


Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

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.


  • Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

    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


    Sapientia erd lyi magyar tudom nyegyetem emte cs kszereda irt 3 kurzus

    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


  • Login