Informatikai tehetséggondozás:
|
|
- Zoltán Csonka
- 8 évvel ezelőtt
- Látták:
Átírás
1 Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Mohó stratégia 1. TÁMOP /1/KONV
2 Többféle feladat megoldási stratégia létezik. Közülük az egyik legegyszerűbb a mohó stratégia, melynek lényege röviden megfogalmazva: minden döntési helyzetben válasszuk azt a döntést, ami pillanatnyilag a legkedvezőbbnek tűnik. Ez a stratégia persze nem mindig szerencsés, de a feladatok egy viszonylag széles körére alkalmazható. A stratégia alapján egyértelmű, hogy olyan feladatok esetén merülhet fel egyáltalán az alkalmazása, amikor több döntést kell hozni egymás után (lépésenként), és a döntés jóságát is meg kell fogalmazni valahogy (azaz minimum vagy maximum feltételt fogalmazunk meg). Filmek Egy kábelhálózat különböző csatornáin N filmet játszanak. Ismerjük mindegyik film kezdési és végidejét. Egyszerre csak 1 filmet tudunk nézni. Add meg, hogy maximum hány filmet nézhetünk végig és melyeket! Megoldás-1: A megoldás egy N elemű halmaz legnagyobb, adott tulajdonsággal rendelkező részhalmazának kiválasztása (a legtöbb film, amelyek egyike sem fedi át a másikat). Probléma: egy N elemű halmaznak 2 N részhalmaza van. Futási idő: O(2 N ) Ötlet: Rendezzük sorba a filmeket befejezési idejük szerint növekvő sorrendbe! Ekkor persze elvesznének a korábbi sorszámok, azaz nem tudnánk, melyik filmeket választottuk ki. Emiatt a rendezésben megőrizzük a filmek eredeti sorszámát is. Ha a leghamarabb befejeződőt választjuk, akkor lesz a legtöbb lehetőségünk a többi közül választani. Filmek (események) száma: N. Kezdőidők: Ki. Végidők: Vi. Eredeti (rendezés előtti) sorszám: Si. Megjegyzés: A sorszámokat tartalmazó tömbre nem lenne szükségünk, ha csak a megnézhető filmek számára lennénk kíváncsiak. 2
3 Kiválogatás(N,K,V,Db,X): Rendezés(N,K,V,S) Db:=1; X(Db):=S(1); j:=1 Ciklus i=2-től N-ig Ha K(i) V(j) akkor Db:=Db+1; X(Db):=S(i); j:=i Futási idő: O(N*log(N)) Megjegyzés: A továbbiakban feltesszük, hogy van olyan rendezésünk, ami N elemet N*log(N) idő alatt sorba rendez. A fenti algoritmusból látszik, hogy a teljes futási idő nagy részét a rendezési idő teszi ki. Megoldás-2: Filmek (események) száma: N. Kezdőidők: Ki. Végidők: Vi. Kezdj: a j-ben végződő, legkésőbb kezdődő film kezdete, Sj a sorszáma (Sj=0, ha j-ben nem végződik egyetlen film sem). 1 Ki,Vi M. Kiválogatás(N,K,V,Db,X): Db:=0; idő:=0; Kezdetek(N,K,V,Kezd,S) Ciklus i=1-től M-ig Ha S(i) 0 és idő Kezd(i) akkor Db:=Db+1; X(Db):=S(i); idő:=i Megjegyzés: az azonos időpontban végződő filmek közül elég a legkésőbb kezdődőt vizsgálni. Kezdj előállítása: Kezdetek(N,K,V,Kezd,S): Kezd:=(0,,0) Ciklus i=1-től N-ig Ha K(i)>Kezd(V(i)) akkor Kezd(V(i)):=K(i); S(V(i)):=i Futási idő: O(N+M) Más ötletek Mi lenne, ha először a leghamarabb kezdődőt választanánk? Nem jó, mert: 3
4 Mi lenne, ha először a legrövidebbet választanánk? Nem jó mert: Munkák-1 Egy vállalkozó 1 napos munkákat vállal. Ismerjük mindegyik munka határidejét. N napot dolgozik, N igényt kapott. Egy nap csak 1 munkát végezhet. Add meg, hogy maximum hány munkát vállalhat el és melyek ezek! Példa: N=6, határidők: A megoldás: Elvégezhető munkák száma: 5 Melyik munka Melyik napon A megoldás egy N elemű halmaz (a lehetséges munkák halmaza) legnagyobb, adott tulajdonsággal rendelkező részhalmazának kiválasztása (mindegyik eleme a kiválasztott munka határidőre befejezhető és nem ütközik más munkával). Probléma: egy N elemű halmaznak 2 N részhalmaza van. Futási idő: O(2 N ) Ötlet: Tegyünk minden munkát a legutolsó napra, amikor még elvégezhető! Ezzel a lehető legkevesebb másik munka elvállalását akadályozzuk meg. Megoldás-1: Vegyük sorra a munkákat és mindegyiknek keressük meg a határideje előtt utolsó szabad napot! 4
5 Kiválogatás(N,H,Db,Nap): DB:=0; Nap():=(0,,0) Ciklus i=1-től N-ig Ciklus amíg H(i)>0 és Nap(H(i))>0 H(i):=H(i)-1 Ha H(i)>0 akkor Db:=Db+1; Nap(H(i)):=i Futási idő: O(N 2 ) Megoldás-2: Rendezzük sorba a munkákat H(i) szerint! Egy munka elvégezhető a határidejére, ha kevesebbet választottunk ki előtte, mint a határideje. Tegyük a munkát az első szabad napra! Kiválogatás(N,H,Db,Nap): Rendezés(N,H,S) DB:=1; Nap(Db):=S(1) Ciklus i=2-től N-ig Ha Db<H(i) akkor Db:=Db+1; Nap(Db):=S(i) mert: Futási idő: O(N*log(N)) Más ötletek Mi lenne, ha a munkát a legelső szabad napra tennénk határidő rendezés nélkül? Nem jó, Munkák-2 Egy vállalkozó 1 napos munkákat vállal. Ismerjük mindegyik munka határidejét. Egy nap csak 1 munkát végezhet. Az egyes munkákért különböző bért kaphat. Add meg, hogy maximum mennyit kereshet, és mely munkákat kell ehhez elvégeznie! A megoldás egy N elemű halmaz legnagyobb értékű, adott tulajdonsággal rendelkező részhalmazának kiválasztása. 5
6 Megjegyzés: Mivel minden munka egy napos, ezért ez egyben a legnagyobb elemszámú részhalmaz is, de az összes ilyen elemszámú közül nem mindegy, hogy melyik. Probléma: egy N elemű halmaznak 2 N részhalmaza van. Futási idő: O(2 N ) Ötlet: Rendezzük sorba a munkákat az összeg szerint csökkenő sorrendbe! Tegyünk minden munkát a legutolsó napra, amikor még elvégezhető! Ezzel a lehető legkevesebb másik munka elvállalását akadályozzuk meg és csak nála olcsóbbakat. Vegyük sorra a munkákat és mindegyiknek keressük meg a határideje előtt utolsó szabad napot! Kiválogatás(N,H,Ár,Db,Nap): Rendezés(N,H,Ár,S) DB:=0; Nap():=(0,,0) Ciklus i=1-től N-ig Ciklus amíg H(i)>0 és Nap(H(i))>0 H(i):=H(i)-1 Ha H(i)>0 akkor Db:=Db+1; Nap(H(i)):=S(i) Futási idő: O(N 2 ) Fényképezés-1 Egy rendezvényre N vendég érkezik. Ismerjük mindegyiknek az érkezési és a távozási idejét. A résztvevőket fényképeken szeretnénk megörökíteni. Add meg, hogy minimum hányszor kell fényképet készíteni! A megoldás a lehetséges időpontok halmaza legkisebb, adott tulajdonsággal rendelkező részhalmazának kiválasztása. Probléma: egy N elemű halmaznak 2 N részhalmaza van. Futási idő: O(2 N ) 6
7 Akkor fényképezzünk, amikor feltétlenül szükséges! Ez azt jelenti, hogy amikor elmenne az első ember, aki még nem volt rajta egy fényképen sem, akkor fényképeznünk kell. Emberek (események) száma: N. Érkezési idők: Ei. Távozási idők: Ti. Eredeti (rendezés előtti) sorszám: Si. Kiválogatás(N,E,T,Db,X): Rendezés(N,E,T,S) DB:=1; X(Db):=S(1); j:=1 Ciklus i=2-től N-ig Ha E(i) T(j) akkor Db:=Db+1; X(Db):=S(i); j:=i A megoldás szó szerint azonos a filmes feladat megoldásával! Futási idő: O(N*log(N)) Más ötlet Mi lenne, ha akkor fényképeznénk, amikor a legtöbben vannak jelen? Nem jó, mert: Fényképezés-2 Egy rendezvényre N vendég érkezik. Ismerjük mindegyiknek az érkezési és a távozási idejét. A résztvevőket fényképeken szeretnénk megörökíteni. A fényképészt K perces időintervallumokra fizetjük. Add meg, hogy minimum hány intervallumra kell fizetni! A megoldás a lehetséges időpontok halmaza legkisebb, adott tulajdonsággal rendelkező részhalmazának kiválasztása. 7
8 Akkor fényképezzünk, amikor feltétlenül szükséges! Ez azt jelenti, hogy amikor elmenne az első ember, aki még nem volt rajta egy fényképen sem, akkor kezdődik egy fényképezési intervallum. Emberek (események) száma: N. Érkezési idők: Ei. Távozási idők: Ti. Eredeti (rendezés előtti) sorszám: Si. Kiválogatás(N,E,T,K,Db,X): Rendezés(N,E,T,S) DB:=1; X(Db):=S(1); j:=1 Ciklus i=2-től N-ig Ha E(i) T(j)+K akkor Db:=Db+1; X(Db):=S(i); j:=i Futási idő: O(N*log(N)) Rendezvény Egy rendezvényen N előadást szeretnének tartani. Minden előadó megadta, hogy az előadását mettől meddig tartaná. Add meg, hogy minimum hány termet kell biztosítani az előadásoknak, hogy mindegyiket megtarthassák! Rendezzük sorba az előadásokat kezdési idő szerint! Vegyük sorra az előadásokat és tegyük be az első terembe, ahova betehetők! Ha mindegyik terem foglalt, akkor új termet kell kezdenünk! Legyen N az előadások száma, Ki az i. előadás kezdete, Vi az i. előadás vége, Tj pedig a j. terembe beosztott utolsó előadás vége. 8
9 Rendezvény(N,K,V,Db): Rendezés(N,K,V) Db:=0 Ciklus i=1-től N-ig j:=1 Ciklus amíg j Db és K(i)>T(j) j:=j+1 Ha j>db akkor Db:=Db+1; T(Db):=V(i) különben T(j):=V(i) Futási idő: O(N 2 ) Ha arra is szükségünk lenne, hogy melyik előadás melyik teremben lesz, akkor a rendezésnél meg kellene őrizni az egyes előadások eredeti sorszámát (Si), majd az elágazást az alábbira módosítani: Ha j>db akkor Db:=Db+1; T(Db):=V(i); Hol(S(i)):=db különben T(j):=V(i); Hol(S(i)):=j Más ötlet Mi lenne, ha az első terembe beosztanánk a legtöbbet, amit lehet, utána a maradékot a második terembe, és így tovább? Nem jó, mert: Címletezés-1 N-féle pénzjegyünk van, P1, P2,, Pn címletű (Pi<Pi+1). Add meg, hogy minimálisan melyek felhasználásával fizethető ki az F összeg! Feltehetjük, hogy minden pénzjegyből tetszőleges számú van. Példa: N=6, P=(1,2,5,10,20,50)), F=196. A megoldás: F=3*50+2*20+5+1, azaz a lehetséges eredmény: Db=(1,0,1,0,2,3). Vegyünk a legnagyobb címletű pénzjegyből, amennyi szükséges, majd a maradék összeget fizessük ki a nála kisebb pénz-jegyekkel! 9
10 Pénzváltás(N,P,F,Db): i:=n Ciklus amíg F>0 és i>0 db(i):=f div P(i); F:=F mod P(i) i:=i-1 Futási idő: O(N) Probléma: P=(1,3,4), F=6 esetén a megoldás (2,0,1), azaz 3 pénzjeggyel fizetnénk ki a 6 forintot, pedig 6=3+3! A helyes működés feltétele: 2*P(i) P(i+1). Címletezés-2 N darab pénzjegyünk van, P1, P2,, Pn címletű (Pi Pi+1). Add meg, hogy minimálisan melyek felhasználásával fizethető ki az F összeg! Példa: N=9, P=(1,1,5,10,10,10,20,20,50)), F=86. A megoldás: F= , azaz egy lehetséges eredmény: Kell=(hamis, igaz, igaz, hamis, hamis, igaz, hamis, igaz, igaz). Vegyünk a legnagyobb címletű pénzjegyből egyet, ha szükséges, majd a maradék összeget fizessük ki a nála kisebb pénz-jegyekkel! Pénzváltás(N,P,F,Kell): i:=n; Kell():=(hamis, hamis) Ciklus amíg F>0 és i>0 Ha F P(i) akkor Kell(i):=igaz; F:=F-P(i) i:=i-1 Futási idő: O(N) Ha F>0 és i>0 feltétellel álltunk le, akkor maradt még pénz, az összeg nem fizethető ki a megadott pénzjegyekkel. Probléma: P=(1,1,3,3,4), F=6 esetén a megoldás (igaz, igaz, hamis, hamis, igaz), azaz 3 pénzjeggyel fizetnénk ki a 6 forintot, pedig 6=3+3, azaz 2 pénzjegy is elég! A helyes működés feltétele: P(i)=P(i+1) vagy 2*P(i) P(i+1). 10
11 A mohó stratégia elemei 1. Fogalmazzuk meg az optimalizációs feladatot úgy, hogy választások sorozatával építjük fel a megoldást! 2. Mohó választási tulajdonság: Mutassuk meg, hogy mindig van olyan megoldása az eredeti feladatnak, amely a mohó választással kezdődik! 3. Optimális részprobléma tulajdonság: Bizonyítsuk be, hogy a mohó választással olyan redukált problémát kapunk, amelynek optimális megoldásához hozzávéve a mohó választást, az eredeti probléma megoldását kapjuk! 4. Ha a bizonyítás nem megy, akkor keressünk ellenpéldát, ami megmutatja, hogy a mohó választás nem vezet optimumra! 11
Adatszerkezetek II. 6. előadás
Adatszerkezetek II. 6. előadás Feladat: Egy kábelhálózat különböző csatornáin N filmet játszanak. Ismerjük mindegyik film kezdési és végidejét. Egyszerre csak 1 filmet tudunk nézni. Add meg, hogy maximum
Mohó stratégia. Feladat: Megoldás:
I. Feladat: Egy kábelhálózat különböző csatornáin N filmet játszanak. Ismerjük mindegyik film kezdési és végidejét. Egyszerre csak 1 filmet tudunk nézni. Add meg, hogy maximum hány filmet nézhetünk végig!
Mohó stratégia. A mohó stratégia elemei
2015 2 A mohó stratégia elemei 1. Fogalmazzuk meg az optimalizációs feladatot úgy, hogy választások sorozatával építjük fel a megoldást! 2. Mohó választási tulajdonság: Mutassuk meg, hogy mindig van olyan
Mohó stratégia. Az előadás Horváth Gyula tananyagai felhasználásával készült. Mohó stratégia :20 2/80
Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. A mohó algoritmus mindig az adott lépésben optimálisnak
Mohó stratégia. Az előadás Horváth Gyula tananyagai felhasználásával készült. Mohó stratégia
Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. A mohó algoritmus mindig az adott lépésben optimálisnak
Algoritmizálás, adatmodellezés tanítása 8. előadás
Algoritmizálás, adatmodellezés tanítása 8. előadás Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Mohó stratégia 2. TÁMOP-4.2.3.-12/1/KONV Többféle feladat megoldási stratégia létezik. Közülük az egyik legegyszerűbb a mohó stratégia,
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: isszalépéses kiválogatás TÁMOP-4.2.3.-12/1/KON isszalépéses kiválogatás 1. Az összes lehetséges sorrend Sokszor előfordul feladatként,
A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. II. (programozás) kategória
Oktatási Hivatal A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai II. (programozás) kategória 1. feladat: Karesz a robot (40 pont) Karesz egy utcagyerek, aki egy
A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában
Oktatási Hivatal A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a
Mohó stratégia 2. előadás
Mohó stratégia 2. előadás Mohó stratégia A mohó stratégia elemei 1. Fogalmazzuk meg az optimalizációs feladatot úgy, hogy választások sorozatával építjük fel a megoldást! 2. Mohó választási tulajdonság:
Programozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses maximumkiválasztás TÁMOP-4.2.3.-12/1/KONV 1. Munkásfelvétel: N állás N jelentkező Egy vállalkozás N különböző állásra
Programozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a
angolul: greedy algorithms, románul: algoritmi greedy
Mohó algoritmusok angolul: greedy algorithms, románul: algoritmi greedy 1. feladat. Gazdaságos telefonhálózat építése Bizonyos városok között lehet direkt telefonkapcsolatot kiépíteni, pl. x és y város
Programozási tételek. Dr. Iványi Péter
Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,
PROGRAMOZÁSI TÉTELEK
PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat
Mohó algoritmusok. Példa:
Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus sokszor olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Ezt gyakran dinamikus programozás alapján
A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai 1. feladat: Repülők (20 pont) INFORMATIKA II. (programozás) kategória Ismerünk városok közötti repülőjáratokat.
Adatszerkezetek II. 10. előadás
Adatszerkezetek II. 10. előadás Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával, kiválasztásával, sorrendbe rakásával foglalkozik
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 5. Előadás Dr. Kulcsár Gyula egyetemi docens Tartalom 1. Párhuzamosan
Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával,
Kombinatorikai algoritmusok
Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával,
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses keresés korlátozással TÁMOP-4.2.3.-12/1/KONV A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rendezések TÁMOP-4.2.3.-12/1/KONV-2012-0018 Az alapfeladat egy N elemű sorozat nagyság szerinti sorba rendezése. A sorozat elemei
Multihalmaz, intervallumhalmaz
Multihalmaz, intervallumhalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}
Bánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Adatszerkezetek II. 2. előadás
Adatszerkezetek II. 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra
Visszalépéses kiválogatás
elépő a tudás közösségébe Informatika szakköri segédanyag Heizlerné akonyi iktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő: Abonyi-Tóth Andor, Zsakó László
Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17
Gráfok 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra bejárása nem
Algoritmizálás, adatmodellezés tanítása 7. előadás
Algoritmizálás, adatmodellezés tanítása 7. előadás Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: a triviális eset (amikor nincs rekurzív hívás) felosztás (megadjuk
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: isszalépéses keresés TÁMOP-4.2.3.-12/1/KON A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén alkalmazható
9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
O k t a t á si Hivatal
O k t a t á si Hivatal A 2012/201 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatlapja INFORMATIKÁBÓL II. (programozás) kategóriában Munkaidő: 300 perc Elérhető pontszám: 150
Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék
Ütemezési problémák Kis Tamás 1 1 MTA SZTAKI valamint ELTE, Operációkutatási Tanszék ELTE Problémamegoldó Szeminárium, 2012. ősz Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)
Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),
A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának megoldása. II. (programozás) kategória
Oktatási Hivatal A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának megoldása II. (programozás) kategória 1. feladat: Párok (15 pont) Egy rendezvényre sok vendéget hívtak meg.
Adatbázis rendszerek Gy: Algoritmusok C-ben
Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés
Adatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában
Oktatási Hivatal A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a
Összetett programozási tételek
Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
Hatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
Adatszerkezetek II. 7. előadás
Adatszerkezetek II. 7. előadás Mohó stratégia A mohó stratégia elemei 1. Fogalmazzuk meg az optimalizációs feladatot úgy, hogy választások sorozatával építjük fel a megoldást! 2. Mohó választási tulajdonság:
Online migrációs ütemezési modellek
Online migrációs ütemezési modellek Az online migrációs modellekben a régebben ütemezett munkák is átütemezhetőek valamilyen korlátozott mértékben az új munka ütemezése mellett. Ez csökkentheti a versenyképességi
Felvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk
1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán
Közismereti informatika I. 4. előadás
Közismereti informatika I. 4. előadás Rendezések Bemenet: N: Egész, X: Tömb(1..N: Egész) Kimenet: X: Tömb(1..N: Egész) Előfeltétel: Utófeltétel: Rendezett(X) és X=permutáció(X ) Az eredmény a bemenet egy
Egyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
Elemi matematika szakkör
Elemi matematika szakkör Kolozsvár, 2015. október 5. 1.1. Feladat. Egy pozitív egész számot K tulajdonságúnak nevezünk, ha számjegyei nullától különböznek és nincs két azonos számjegye. Határozd meg az
Szerzô: Wolfgang Kramer. Ki lesz az ökörkör elnöke?
Szerzô: Wolfgang Kramer Ki lesz az ökörkör elnöke? Játékosok száma: 2-10 fô Ajánlott: 10 éves kor felett Tartalom:104 db játékkártya, 1 db játékismertetô A JÁTÉK CÉLJA: A játékos célja az, hogy a játékos
Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny 2-3. korcsoport. Maximális növekedés
Maximális növekedés N napon keresztül naponta feljegyeztük az eladott mobiltelefonok számát. Készíts programot, amely megadja két olyan nap sorszámát, amelyek közötti napokon az első napon volt a legkevesebb,
Visszalépéses maximumkiválasztás
Belépő a tudás közösségébe Informatika szakköri segédanyag Visszalépéses maximumkiválasztás Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
Approximációs algoritmusok
Approximációs algoritmusok Nehéz (pl. NP teljes) problémák optimális megoldásának meghatározására nem tudunk (garantáltan) polinom idejű algoritmust adni. Lehetőségek: -exponenciális futási idejű algoritmus
bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott
. Minimális súlyú feszítő fa keresése Képzeljük el, hogy egy útépítő vállalat azt a megbízást kapja, hogy építsen ki egy úthálózatot néhány település között (a települések között jelenleg nincs út). feltétel
Arany Dániel Matematikai Tanulóverseny 2016/2017-es tanév Kezdők III. kategória I. forduló
Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 016/017-es tanév Kezdők I II. kategória II. forduló Kezdők III. kategória I. forduló Megoldások és javítási útmutató 1. Egy kört
A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 201/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória 1. feladat: Metró (20 pont) Egy metróállomásra
A rész (30 pont) A.1. Vajon mit csinál? (5 pont) A generál(n) algoritmus egy n természetes számot dolgoz fel (0 < n < 100).
BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - szeptember Informatika írásbeli A versenyzők figyelmébe: 1. Minden tömböt 1-től kezdődően indexelünk. 2. A rácstesztekre (A rész)
Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.
Regresszió Csorba János Nagyméretű adathalmazok kezelése 2010. március 31. A feladat X magyarázó attribútumok halmaza Y magyarázandó attribútumok) Kérdés: f : X -> Y a kapcsolat pár tanítópontban ismert
A 2009/2010 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában
Oktatási Hivatal A 2009/2010 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
ELEMI PROGRAMOZÁSI TÉTELEK
ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk
Korlátozás és szétválasztás elve. ADAGOLO adattípus
Korlátozás és szétválasztás elve ADAGOLO adattípus Értékhalmaz: E Adagolo : A E Műveletek: A : Adagolo, x : E {Igaz} Letesit(A) {A = /0} {A = A} Megszuntet(A) {Igaz} {A = A} Uresit(A) {A = /0} {A = A}
Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Diszkrét matematika 1.
Diszkrét matematika 1. 201. ősz 1. Diszkrét matematika 1. 1. előadás Mérai László diái alapján Komputeralgebra Tanszék 201. ősz Kombinatorika Diszkrét matematika 1. 201. ősz 2. Kombinatorika Kombinatorika
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.
A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása. informatika II. (programozás) kategória
Oktatási Hivatal A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása informatika II. (programozás) kategória Kérjük a tisztelt kollégákat, hogy az egységes értékelés
Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.
Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom
A 2007/2008 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. II. (programozás) kategória
Oktatási Hivatal A 2007/2008 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat az egységes
Számítógépes döntéstámogatás. Genetikus algoritmusok
BLSZM-10 p. 1/18 Számítógépes döntéstámogatás Genetikus algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu BLSZM-10 p. 2/18 Bevezetés 1950-60-as
BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) 1. (5p) Tekintsük a következő alprogramot: Alprogram f(a): Ha a!= 0, akkor visszatérít: a + f(a - 1) különben visszatérít
Haladó rendezések. PPT 2007/2008 tavasz.
Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés
A számítástudomány alapjai
A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Legszélesebb utak Katona Gyula Y. (BME SZIT) A számítástudomány
Gyakori elemhalmazok kinyerése
Gyakori elemhalmazok kinyerése Balambér Dávid Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Számítástudomány szakirány 2011 március 11. Balambér Dávid (BME) Gyakori
Diszkrét matematika 1.
Diszkrét matematika 1. 2017. ősz 1. Diszkrét matematika 1. 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra Tanszék
Általános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMTIK II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat
7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?
7. Számelmélet I. Nulladik ZH-ban láttuk: 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel? ELTE 2006. október 27. (matematika
Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Mélységi keresés Ez az algoritmus a gráf pontjait járja be, eredményképpen egy mélységi feszítőerdőt ad vissza az Apa függvény által. A pontok bejártságát színekkel kezeljük, fehér= érintetlen, szürke=meg-
Rendezések. Összehasonlító rendezések
Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk
Algoritmusok és adatszerkezetek I. 10. előadás
Algortmusok és adatszerkezetek I. 10. előadás Dnamkus programozás Feladat: Adott P 1,P 2, P n pénzjegyekkel kfzethető-e F fornt? Megoldás: Tegyük fel, hogy F P P... P... m! 1 2 m 1 Ekkor F P P P P......,
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Algoritmizálás, adatmodellezés 10. előadás
Algoritmizálás, adatmodellezés 10. előadás Belül(N,P,D): Külső pont(n,p,q) P(N+1):=P(1); Db:=0 Ciklus i=1-től N-ig Ha Metszi(P(i),P(i+1),D,Q) akkor Db:=Db+1 Ciklus vége Belül:=(Db mod 2)=1 Függvény vége.
p j p l = m ( p j ) 1
Online algoritmusok Online problémáról beszélünk azokban az esetekben, ahol nem ismert az egész input, hanem az algoritmus az inputot részenként kapja meg, és a döntéseit a megkapott részletek alapján
Számjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)
Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris
Táblázatos adatok használata
Táblázatos adatok használata Tartalomjegyzék 1. Az adatok rendezése...2 2. Keresés a táblázatban...2 3. A megjelenő oszlopok kiválasztása...3 4. Az oszlopok sorrendjének meghatározása...4 5. Az oszlopok
Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...
Egész számok természetes számok ( ) pozitív egész számok: 1; 2; 3; 4;... 0 negatív egész számok: 1; 2; 3; 4;... egész számok ( ) 1. Írd a következõ számokat a halmazábra megfelelõ helyére! 3; 7; +6 ; (
Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék
9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási
Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek
Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.
Algoritmuselmélet Legrövidebb utak, Bellmann-Ford, Dijkstra Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 3. előadás Katona Gyula Y. (BME
Ütemezési feladatok. Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd
1 Ütemezési feladatok Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd tekintettel a feladat gyakorlati fontosságára sok különböző modell tanulmányozására került sor, és a témakör
Az optimális megoldást adó algoritmusok
Az optimális megoldást adó algoritmusok shop ütemezés esetén Ebben a fejezetben olyan modellekkel foglalkozunk, amelyekben a munkák több műveletből állnak. Speciálisan shop ütemezési problémákat vizsgálunk.
INFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
Algoritmizálás és adatmodellezés tanítása 6. előadás
Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,
A 2015/2016 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal 2015/2016 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMTIK II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat