Térinformatikai algoritmusok Elemi algoritmusok

Hasonló dokumentumok
Térinformatikai algoritmusok Elemi algoritmusok

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

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.

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.

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

Diszkrét matematika I.

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

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

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

A relációelmélet alapjai

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

A fontosabb definíciók

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

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

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

KOVÁCS BÉLA, MATEMATIKA I.

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

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

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

Egyszerű programozási tételek

4. Fogyasztói preferenciák elmélete

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

KOVÁCS BÉLA, MATEMATIKA I.

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

SZÁMÍTÁSTUDOMÁNY ALAPJAI

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

Programozási tételek és alkalmazásaik

Matematika alapjai; Feladatok

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

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

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

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

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

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

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

Másodfokú függvények

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

Programozási módszertan. Mohó algoritmusok

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

14. Mediánok és rendezett minták

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

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

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

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

Intelligens irányítások

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

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

Mátrixok, mátrixműveletek

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

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

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

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

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

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

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

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

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

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

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

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

Multihalmaz, intervallumhalmaz

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

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

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!

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

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

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

Halmazelméleti alapfogalmak

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

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

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

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

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.

8. feladatsor. Kisérettségi feladatsorok matematikából. 8. feladatsor. I. rész

Készítette: Fegyverneki Sándor

Diszkrét Matematika - Beadandó Feladatok

2012. október 2 és 4. Dr. Vincze Szilvia

Analízis előadás és gyakorlat vázlat

Adatszerkezetek 7a. Dr. IványiPéter

Átírás:

Cserép Máté 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. Ö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) 1 Az üres intervallum jelölése: [n + 1..n] 1

Összegzés (m, n, s) s := 0 s := s + f(i) 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) 2

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 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. Algoritmusok általánosítása Az összegzés és a maximum kiválasztás algoritmusa tovább generalizálható, amennyiben egy β : [m..n] L feltétellel megszorítjuk az összeadandó, illetőleg a kiválasztandó elemek halmazát. 5.1. Feltételes összegzés 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) 3

Feltételes összegzés (m, n, s) s := 0 s := s + f(i) 5.2. Feltételes maximum keresés 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 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 4

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