slide1
Download
Skip this Video
Download Presentation
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE ) Csíkszereda IRT - 3 . kurzus

Loading in 2 Seconds...

play fullscreen
1 / 32

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


  • 102 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Sapientia - Erdélyi Magyar TudományEgyetem (EMTE ) Csíkszereda IRT - 3 . kurzus' - ezhno


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

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

slide5
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

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

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

slide8
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

slide9
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)
slide10
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
slide11
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)

slide12
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.
slide13
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)
slide14
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)
slide15
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)
slide16
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)
slide17
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).
slide18
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

slide19
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

F= П(s1,Ω’(c2,П(П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))),s3)))

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

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

slide22
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

slide23
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
slide24
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.
slide25
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),
slide26
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

slide27
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

slide28
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

slide29
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

slide30
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.
slide31
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
slide32
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
ad