Algoritmizálás, adatmodellezés tanítása 7. előadás

Slides:



Advertisements
Hasonló előadás
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Advertisements

Vigh György: Webes alkalmazások akadálymentesítése Kaposvár, oldal.
MATARKA múltja, jelene, jövője – összefoglaló helyzetkép Burmeister Erzsébet Miskolc, február 26. Országos Széchényi Könyvtár.
1. Első körös fejlesztések Törzsadat csomag, mintaadatbázis Oktatási anyagok Ajánlatok, szerződéstervezetek
Programozási alapismeretek
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
INFOÉRA Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
INFOÉRA 2006 Kombinatorika
Algoritmizálás, adatmodellezés tanítása 4. előadás
Programozási ismeretek oktatása: kód vagy algoritmus
Szlávi Péter: VISz Oktatói-díj
Programozási alapismeretek 4. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 4.2/  A szöveg A szöveg.
Programozási alapismeretek 3. előadás
Programozási alapismeretek 13. előadás. ELTE Érdekességek - kombinatorika  Az iskola bejáratánál N lépcsőfok van. Egyszerre maximum K fokot tudunk lépni,
Programozási alapismeretek
Programozási alapismeretek 10. előadás
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Programozási alapismeretek 12. előadás. ELTE  Tapasztalatok a rendezésről Tapasztalatok a rendezésről  Keresés rendezett sorozatban Keresés rendezett.
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Készítette: Pető László
Elektrotechnika 2. előadás Dr. Hodossy László 2006.
Dendrológia 1. előadás Dr. Bartha Dénes április 4.
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Keresés Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
ELTE Szlávi-Zsakó: Programozási alapismeretek Szlávi-Zsakó: Programozási alapismeretek 3. 1/
Így tanítanám a kördokumentumok készítését
A közép- és emelt szintű vizsga tanári értékelése
AZ ELŐADÁS CÍME KÉSZÍTETTE: VEZETÉKNÉV Keresztnév KONZULENS:
Tanulási és tanítási stílusok elektronikus környezetben
Az oszd meg és uralkodj (Divide et Impera) programozási módszer
1 A bannernek is van szeme. Erre ma már megvannak az eszközök! 6.
Vizsgaidőpontok – Elválasztástechnika (kv1c1lv1)
Készítette: Jon A. Palmer
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Költség-minimalizálás az ellenőrző kártyák alkalmazásánál Feladatmegoldás, kiegészítés.
A döntés, a döntés folyamata
Szoftverfejlesztés az Informatikus Szakigazgatási Agrármérnök szakon Bakó Mária Várallyai László DE, Gazdaságtudományi Kar.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Projekt eredményeinek disszeminációja – Általános projektbemutató ÁROP- 1.A „Szervezetfejlesztés a konvergencia régióban lévő önkormányzatok számára”
Szombathely és a Szombathelyi Püspökség a 19. század első felében
Algoritmizálás, adatmodellezés tanítása 2. előadás.
László király emlékhely, Somogyvár Fényképezte: Szedő Iván.
Bánki Hírmondó november. Novemberben történt velünk…
INFOÉRA 2006 Nagypontosságú aritmetika I.
Algoritmizálás és programozás tanítása Balogh Zoltán PTE-TTK IÁTT Az algoritmuskészítés.
Programozási alapismeretek * A Zh-írás módszertana.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Algoritmizálás, adatmodellezés
Anyagmozgató- berendezések I.
Tehetséggondozás 1962 óta ének-zene tagozat indításával.
INFOÉRA 2006 Véletlenszámok
INFOÉRA 2006 Nagypontosságú aritmetika II.
Algoritmizálás, adatmodellezés tanítása 6. előadás.
Közép-dunántúli Regionális Operatív Program Ajka Város Belváros 1. akcióterület rehabilitációja KDOP /2f Nagy László Városi Könyvtár és.
INFOÉRA 2006 Nagypontosságú aritmetika III.
Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16.
A szoftver mint komplex rendszer A fejlesztési módszertanok általános céljai: Összetett problémák kezelhetővé tétele A fejlesztési és megtérülési jellemzők.
Mediánok és rendezett minták
Gyorsrendezés Elemzések Változatok.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Problémamegoldási stratégiák
Programozási tételek.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
„Tanulni, tanulni, tanulni!” Vlagyimir Iljics Lenin
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Algoritmizálás, adatmodellezés tanítása 7. előadás INFOÉRA 2006 2006.11.18 Algoritmizálás, adatmodellezés tanítása 7. előadás Juhász István-Zsakó László: Informatikai képzések a ELTE-n

Feladatmegoldási stratégiák INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: felosztás uralkodás összevonás (egyesítés) 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 2

Feladatmegoldási stratégiák Oszd meg és uralkodj INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Oszd meg és uralkodj Gyorsrendezés (quicksort): felbontás: X1, ... , Xk-1 Xk Xk+1, ... , Xn szétválogatás ahol i,j (1≤i<k; k<j≤n): Xi≤Xj uralkodás: mindkét részt ugyanazzal a módszerrel felbont-juk két részre, rekurzívan összevonás: automatikusan történik a helyben szétválogatás miatt 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 3

Feladatmegoldási stratégiák Oszd meg és uralkodj INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Oszd meg és uralkodj Gyorsrendezés (quicksort): Quick(E,U): Szétválogatás(E,U,K) Ha E<K-1 akkor Quick(E,K-1) Ha k+1<U akkor Quick(K+1,U) Eljárás vége. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 4

Feladatmegoldási stratégiák Oszd meg és uralkodj INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Oszd meg és uralkodj Összefésüléses rendezés (mergesort): felbontás: a sorozat két részsorozatra bontása (középen) uralkodás: a két részsorozat rendezése (rekurzívan) összevonás: a két rendezett részsorozat összefésülése 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 5

Feladatmegoldási stratégiák Oszd meg és uralkodj INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Oszd meg és uralkodj Összefésüléses rendezés (mergesort): Rendez(E,U): Ha E<U akkor K:=(E+U)/2 Rendez(E,K); Rendez(K+1,U) Összefésül(E,K,U) Eljárás vége. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 6

Feladatmegoldási stratégiák Oszd meg és uralkodj INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Oszd meg és uralkodj További ilyen feladatok: Hanoi tornyai: N korong mozgatása visszavezetése két N-1 korong mozgatása feladatra. Logaritmikus keresés: N elemű sorozatban keresés vissza-vezetése N/2 elemű sorozatban keresésre. Egy téglalapban levő N ponthoz a legnagyobb résztéglalap keresése, amely egyetlen pontot sem tartalmaz – egy meg-vizsgálandó téglalapot minden belső pont négy megvizsgá-landó részre vág. Az i-edik legkisebb keresése - szétválogatás. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 7

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés A visszalépéses keresés olyan esetekben használha-tó, amikor a keresési tér fastruktúraként képzelhető el, amiben a gyökérből kiindulva egy csúcsot kere-sünk. Az algoritmus lényege, hogy a kezdőpontból kiin-dulva megtesz egy utat a feladatot részproblémákra bontva, és ha valahol az derül ki, hogy már nem juthat el a célig, akkor visszalép egy korábbi döntési ponthoz, és ott más utat – más rész- problémát választ. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 8

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés algoritmus: Keresés(N,Van,Y): i:=1 Ciklus amíg i1 és i≤N {lehet még és nincs még kész} Jóesetkeresés(i,Van,j) Ha Van akkor Y(i):=j; i:=i+1 {előrelépés} különben Y(i):=0; i:=i-1 {visszalépés} Ciklus vége Van:=(i>N) Eljárás vége. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 9

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés algoritmus: Jóesetkeresés(i,Van,j): j:=Y(i)+1 Ciklus amíg j≤M(i) és (rossz(i,j) vagy tilos(j)) j:=j+1 Ciklus vége Van:=(j≤M(i)) Eljárás vége. Megjegyzés: az i-edik lépésben a j-edik döntési út nem választ-ható, ha az előzőek miatt rossz, vagy ha önma- gában rossz. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 10

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés algoritmus: rossz(i,j): {1. változat} k:=1 Ciklus amíg k<i és szabad(i,j,k,Y(k)) k:=k+1 Ciklus vége rossz:=(k<i) Eljárás vége. Megjegyzés: Rossz egy választás, ha valamelyik korábbi választás miatt nem szabad – eldöntés. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 11

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés algoritmus: rossz(i,j): {2. változat} s:=F0 Ciklus k=1-től i-1-ig s:=f(s,k,Y(k)) Ciklus vége rossz:=nem szabad(s,i,j) Eljárás vége. Megjegyzés: Rossz egy választás, ha a korábbiak összessége miatt nem szabad – sorozatszámítás. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 12

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés algoritmus: rossz(i,j): {3. változat} rossz:=i>1 és nem szabad(i,j,i-1,Y(i-1)) Eljárás vége. Megjegyzés: Rossz egy választás, ha az előző választás miatt nem szabad – feltétel vizsgálat. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 13

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses kiválogatás rekurzív algoritmus: Visszalépéses kiválogatás(N,Db,Y): Db:=0; X:=(0,…,0); Backtrack(1,N,X,Db,Y) Eljárás vége. Backtrack(i,N,X,Db,Y): Ha i=N+1 akkor Db:=Db+1; Y(Db):=X különben Ciklus j=1-től N-ig Ha ft(i,j) és nem Rossz(i,j) akkor X(i):=j Backtrack(i+1,N,X,Db,Y) Ciklus vége Elágazás vége 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 14

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses maximumkeresés rekurzív algoritmus: Visszalépéses maximumkeresés(N,Van,Y): X:=(0,…,0); Y:=X; Backtrack(1,N,X,Y) Van:=Y≠(0,…,0) Eljárás vége. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 15

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses maximumkeresés rekurzív algoritmus: Backtrack(i,N,X,Y): Ha i=N+1 akkor ha nagyobb?(X,Y) akkor Y:=X különben Ciklus j=1-től N-ig Ha ft(i,j) és nem Rossz(i,j) akkor X(i):=j Backtrack(i+1,N,X,Y) Ciklus vége Elágazás vége Eljárás vége. 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 16

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés feladatok: 8 vezér a sakktáblán N munka – N munkás N közért – M pékség Labirintusban útkeresés Permutációk, kombinációk előállítása Térképszínezés Pénzfelbontás adott címletekre 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 17

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés feladatok: Úthossz-korlát: Fává egyenesítünk, végtelen fát állítunk elő. Nem engedjük, hogy az aktuális út hossza meghaladja az úthossz-korlátot. Ha túl rövidre választjuk az úthossz-korlátot (túl alacsonyan vágjuk el a gráfot) akkor nem találunk megoldást. Ha a start csúcsban áll elő a visszalépési feltétel, akkor: 1. nincs megoldás 2. túl rövidre választottuk az úthossz- korlátot 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 18

Feladatmegoldási stratégiák Visszalépéses keresés INFOÉRA 2006 2006.11.18 Feladatmegoldási stratégiák Visszalépéses keresés Visszalépéses keresés feladatok: Kör kiküszöbölése lesz egy újabb visszalépési feltétel: az aktuális csúcs szerepelt-e már az aktuális úton ha igen: rögtön visszalépés (így nem zárjuk be a kört). 2017.04.05. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 19

Programozási alapismeretek 2006.11.18 Algoritmizálás, adatmodellezés tanítása 7. előadás vége 2008/2009.