Térinformatikai algoritmusok Elemi algoritmusok

Hasonló dokumentumok
Térinformatikai algoritmusok Elemi algoritmusok

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika I.

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.

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

HALMAZELMÉLET feladatsor 1.

Programozási Módszertan definíciók, stb.

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

ELEMI PROGRAMOZÁSI TÉTELEK

A valós számok halmaza

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

E-tananyag Matematika 9. évfolyam Függvények

1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

A relációelmélet alapjai

FÜGGVÉNYEK. A derékszögű koordináta-rendszer

Sorozatok. 5. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Sorozatok p. 1/2

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Diszkrét matematika 2. estis képzés

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

A félév során előkerülő témakörök

A fontosabb definíciók

KOVÁCS BÉLA, MATEMATIKA I.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

4. Fogyasztói preferenciák elmélete

Egyszerű programozási tételek

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

Programozási tételek. Dr. Iványi Péter

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Descartes-féle, derékszögű koordináta-rendszer

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

KOVÁCS BÉLA, MATEMATIKA I.

1. előadás: Halmazelmélet, számfogalom, teljes

SZÁMÍTÁSTUDOMÁNY ALAPJAI

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Programozási tételek és alkalmazásaik

Matematika alapjai; Feladatok

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

A Matematika I. előadás részletes tematikája

Sarokba a bástyát! = nim

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Matematika szigorlat, Mérnök informatikus szak I máj. 29.

Diszkrét matematika I. gyakorlat

DISZKRÉT MATEMATIKA RENDEZETT HALMAZOKKAL KAPCSOLATOS PÉLDÁK. Rendezett halmaz. (a, b) R a R b 1. Reflexív 2. Antiszimmetrikus 3.

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Klasszikus algebra előadás. Waldhauser Tamás április 28.

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

SHk rövidítéssel fogunk hivatkozni.

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 3. Előadás

Analízis I. beugró vizsgakérdések

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

Másodfokú függvények

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Egyváltozós függvények 1.

Multihalmaz, intervallumhalmaz

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

14. Mediánok és rendezett minták

Relációk. 1. Descartes-szorzat. 2. Relációk

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Microsoft Excel Gyakoriság

Függvények 1. oldal Készítette: Ernyei Kitti. Függvények

Intelligens irányítások

Mátrixok, mátrixműveletek

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

Programozási módszertan. Mohó algoritmusok

? szimmetrikus antiszimmetrikus reflexív tranzitív egyik sem?

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Leképezések. Leképezések tulajdonságai. Számosságok.

Metrikus terek, többváltozós függvények

Halmazelmélet. 1. Jelenítsük meg Venn-diagrammon az alábbi halmazokat: a) b) c) 2. Milyen halmazokat határoznak meg az alábbi Venn-diagrammok?

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

3. Venn-diagrammok használata nélkül bizonyítsuk be az alábbi összefüggéseket!

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

Hozzárendelés, lineáris függvény

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Bevezetés az algebrába az egész számok 2

Halmazelméleti alapfogalmak

Bevezetés a programozásba I.

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Abszolútértékes és gyökös kifejezések Megoldások

2012. október 9 és 11. Dr. Vincze Szilvia

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

Diszkrét matematika I.

Átírás:

Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban, hanem egy hasonlót, azonban a két feladat fontosabb részeit meg tudjuk feleltetni egymásnak. Az analóg programozási módszerek célja a feladatok hasonló részei közötti megfeleltetések alkalmazása a megoldó programokra. Fontos észrevenni, hogy ha csak a megoldó programot másoljuk le az új feladatra alkalmazott formában, a két feladat közötti különbséget nehéz átvezetni a programokra, könnyen tévedhetünk. Ezért gyakran nem konkrét feladatok megoldásait használjuk fel, hanem sémákat, vagyis olyan általános feladat-megoldás párokat, ahol bizonyos elemek paraméterként vannak megadva, és az egyes konkrét esetek határozzák meg, hogy mit kell behelyettesíteni. Ilyen sémák lehetnek a nevezetes algoritmusok, típusok és adatszerkezetek, valamint magasabb absztrakciós szinten a tervminták, elemzési minták és keretrendszerek. Ebben a fejezetben olyan nevezetes elemi algoritmusok kerülnek bemutatásra, amelyeknek közös vonása lesz, hogy elemek egy megszámlálható, egész [m..n] intervalluma felett kerül értelmezésre. 1 Az elemek értékkészlete a H halmaz. 1 Az üres intervallum jelölése: [n + 1..n] 1

1. Összegzés Adott f : [m..n] H függvény. A H halmaz elemein értelmezett egy asszociatív, baloldali nulla elemmel rendelkező művelet, amelyet nevezzünk összeadásnak és jelölje a + operátor szimbólum. Feladatunk, hogy az intervallumon összegezzük az f függvény felvett értékeit. Formálisan: s = f(i) Összegzés (m, n, s) s := 0 s := s + f(i) 1.1. Feltételes összegzés Az összegzés algoritmusa tovább generalizálható, amennyiben egy β : [m..n] L feltétellel megszorítjuk az összeadandó elemek halmazát. Adott f : [m..n] H függvény és β : [m..n] L feltétel. A H halmaz elemein értelmezett egy asszociatív, baloldali nulla elemmel rendelkező művelet, amelyet nevezzünk összeadásnak és jelölje a + operátor szimbólum. Feladatunk, hogy az intervallum azon helyein, ahol a β feltétel teljesül, összegezzük az f függvény felvett értékeit. Formálisan: s = f(i) Feltételes összegzés (m, n, s) s := 0 s := s + f(i) 2

2. Számlálás Adott β : [m..n] L feltétel. Határozzuk meg, hogy hány helyen teljesül az intervallumon a feltétel, azaz hányszor veszi fel az igaz értéket! Formálisan: s = 1 Számlálás (m, n, c) c := 0 c := c + 1 3. Maximum kiválasztás Adott f : [m..n] H függvény, m n. A H halmaz elemein értelmezett egy teljes rendezési reláció (reflexív, antiszimmetrikus, tranzitív és bármely két elem összehasonlítható), amelynek jele, erős változatának <. Feladatunk a függvény legnagyobb értékének meghatározása és adjuk meg az egyik olyan intervallumbeli elemet is, ahol a függvény ezt az értéket felveszi! Formálisan: max = f(ind) i [m..n] : f(i) f(ind) Maximum kiválasztás (m, n, max, ind) max, ind := f(m), m i = m + 1..n max < f(i) max, ind := f(i), i 3

4. Lineáris keresés Adott β : [m..n] L feltétel. Határozzuk meg az intervallum első olyan elemét, amelyre teljesül a feltétel, ha van egyáltalán ilyen. Formálisan: l = ( i [m..n] : ) l (ind [m..n] β(ind) i [m..ind 1] : ) Lineáris keresés (m, n, l, ind) l, i :=, m l i n l, ind :=, i i := i + 1 5. Feltételes maximum keresés A maximum kiválasztás algoritmusa is tovább általánosítható a lineáris keresés során használt β : [m..n] L feltétel, mint megszorítás átemelésével. Ügyeljünk, hogy így már nem garantált a maximális elem létezése. Adott f : [m..n] H függvény és β : [m..n] L feltétel. A H halmaz elemein értelmezett egy teljes rendezési reláció (reflexív, antiszimmetrikus, tranzitív és bármely két elem összehasonlítható), amelynek jele, erős változatának <. Határozzuk meg a függvény legnagyobb olyan értékét, amely teljesíti a β feltétel! Adjuk meg az egyik olyan intervallumbeli elemet is, ahol a függvény ezt az értéket felveszi, ha van egyáltalán ilyen. Formálisan: l = ( i [m..n] : ) l (β(ind) max = f(ind) i [m..n] : f(i) f(ind)) Feltételes maximum keresés (m, n, l, max, ind) l := l max < f(i) l, max, ind :=, f(i), i 4

6. Bináris / logaritmikus keresés Adott f : [m..n] H monoton növekvő függvény. A H halmaz elemein értelmezett egy teljes rendezési reláció (reflexív, antiszimmetrikus, tranzitív és bármely két elem összehasonlítható), amelynek jele, erős változatának <. Döntsük el, hogy az f függvény felvesz-e egy megadott h H értéket, és ha igen, adjuk meg az egyik olyan intervallumbeli elemet is, ahol a függvény ezt az értéket felveszi. Formálisan: l = ( i [m..n] : f(i) = h) l f(ind) = h Logaritmikus keresés (m, n, h, l, ind) u, v, l := m, n, l u v i := (u + v)/2 f(i) = h l, ind :=, i f(i) < h u := i + 1 v := i 1 5