Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Hasonló dokumentumok
Függvények növekedési korlátainak jellemzése

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

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

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

Ordó, omega, theta, rekurzió :15 11:45. Megoldás. A nagyságrendi sorra tekintve nyilvánvalóan igaz pl., hogy: 1

Nagyordó, Omega, Theta, Kisordó

Programozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

Algoritmuselmélet 1. előadás

Dr. Schuster György február / 32

Algoritmuselmélet 1. előadás

Egészrészes feladatok

Algoritmuselmélet 2. előadás

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Gyakorló feladatok ZH-ra

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

2. Logika gyakorlat Függvények és a teljes indukció

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

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

2. Reprezentáció-függvények, Erdős-Fuchs tétel

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Kalkulus I. gyakorlat Fizika BSc I/1.

14. Mediánok és rendezett minták

Algoritmuselmélet 18. előadás

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

9. Trigonometria. I. Nulladik ZH-ban láttuk: 1. Tegye nagyság szerint növekvő sorrendbe az alábbi értékeket! Megoldás:

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

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

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

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

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

GPK M1 (BME) Interpoláció / 16

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Algoritmuselmélet 12. előadás

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Diszkrét Irányítások tervezése. Heurisztika Dr. Bécsi Tamás

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

Számítógép hálózatok, osztott rendszerek 2009

Fehérzajhoz a konstans érték kell - megoldás a digitális szűrő Összegezési súlyok sin x/x szerint (ez akár analóg is lehet!!!)

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Számelméleti alapfogalmak

Explicit hibabecslés Maxwell-egyenletek numerikus megoldásához

4. Laplace transzformáció és alkalmazása

Shift regiszter + XOR kapu: 2 n állapot

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Fourier transzformáció

Elmaradó óra. Az F = (V,T) gráf minimális feszitőfája G-nek, ha. F feszitőfája G-nek, és. C(T) minimális

1. Homogén lineáris egyenletrendszer megoldástere

Hatékonyság 1. előadás

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

SHk rövidítéssel fogunk hivatkozni.

Bevezetés a matematikába (2009. ősz) 1. röpdolgozat

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

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

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

Numerikus módszerek 1.

A 2014/2015. tanévi Országos Középiskolai Tanulmányi Verseny első forduló MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató

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

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

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

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

Approximációs algoritmusok

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Dr. Tóth László Hány osztója van egy adott számnak? április

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

SzA XIII. gyakorlat, december. 3/5.

17. előadás: Vektorok a térben

Komplex számok. A komplex számok algebrai alakja

Gyakorló feladatok az II. konzultáció anyagához

Magasabbfokú egyenletek

Osztott algoritmusok

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

FÜGGVÉNYTANI ALAPOK A) ÉRTELMEZÉSI TARTOMÁNY

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

1.1. Alapfogalmak. Vektor: R 2 beli elemek vektorok. Pl.: (2, 3) egy olyan vektor aminek a kezdo pontja a (0, 0) pont és a végpontja a

Az informatika elméleti alapjai 2 elővizsga december 19.

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 12.

Függvény határérték összefoglalás

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

konvergensek-e. Amennyiben igen, számítsa ki határértéküket!

7. előadás. Gyorsrendezés, rendezés lineáris lépésszámmal. Adatszerkezetek és algoritmusok előadás március 6.

A valós számok halmaza

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

KOVÁCS BÉLA, MATEMATIKA I.

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

Átírás:

Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok elemzése során a lépésszámot a bemenet hosszának függvényében szokás meghatározni. Ebbe a lépésszámba általában csak a,,fontos lépéseket számoljuk bele, például hogy egy rendezési feladat során hány összehasonlítást végzünk, a,,nem fontos lépéseket, pl. egy ciklusváltozó növelését nem. A lépésszám pontos meghatározása helyett általában elegendő a lépésszám nagyságrendjének meghatározása, ebből már (kis óvatossággal) lehet következtetni arra, hogy az algoritmus mennyire hatékony. Egy másik szempont, ami miatt a nagyságrendek hasznosak, hogy ezek alapján elég jól meg tudjuk jósolni, hogy ha nagyobb bemenetre akarjuk az algoritmusunkat használni, akkor mennyivel fog tovább dolgozni. Például tegyük fel, hogy egy program az n 0 = 0 méretű teszteseteken 6 másodpercig fut. Meddig fog futni, egy n 1 = 400 = 0n 0 méretű bemeneten? Jelölje f(n) az algoritmus maximális lépésszámát az n hosszú bemeneteken. Nézzünk néhány esetet: Lineáris függvény: f(n) = cn A futási idő 0-szorosára nő, azaz percig is eltart. Másodfokú függvény: f(n) = cn A futási idő 0 -szeresére nő, azaz 40 percig is eltarthat. Logaritmikus függvény: f(n) = c log n Mivel n 1 = n 0, a futási idő -szeresére nő, azaz csak 1 másodperc lesz. Exponenciális függvény: f(n) = c n A futási idő erre 6 380 másodperc lesz, ami felhasználva, hogy 10 > 10 3, több mint 6 10 114 másodperc. Mennyi is ez az idő? Mivel egy év kb. 3 10 7 másodperc, ez kb. 10 107 év lenne, ami még akkor is nagyon sok, ha 1

párhuzamos számítógépünk van: a világegyetem állítólag nem több, mint 10 80 részecskéből áll, tehát abban az esetben is eltartana a számítás 10 7 évig, ha minden részecske nekünk dolgozna. Ezt azzal érdemes összevetni, hogy jelenleg a Föld korát 10 10 évnél kevesebbre becsülik. Látszik, hogy jelentősen gyorsabb processzorokkal is reménytelen a program ekkora bemenetre való lefuttatása. Ha kicsit összetettebb a függvény akkor is hasonló becslés adható, pl. cn +1 alakú függvénynél is ha n α-szorosára nő, a függvény értéke kb. α -szeresére. Ennek pontosabb megfogalmazását segítik a következő fogalmak. Legyen f és g két, a természetes számokon értelmezett valós függvény. 1. Definíció. Az f O(g) jelölés azt jelenti, hogy van olyan c > 0 valós konstans és n 0 pozitív egész küszöbszám, hogy minden n n 0 esetén f(n) c g(n) teljesül. 1. Megjegyzés. Szóban ez úgy hangzik, hogy az f függvény nagy ordó g, vagy röviden: ordó g. Egy rögzített g függvényre az O(g) tekinthető a függvények azon halmazának, melyekre f O(g), ez indokolja az jelölést.. Definíció. Az f Ω(g) jelölés azt jelenti, hogy van olyan c > 0 valós konstans és n 0 pozitív egész küszöbszám, hogy minden n n 0 esetén f(n) c g(n) teljesül.. Megjegyzés. Szóban ez úgy hangzik, hogy az f függvény nagy omega g, vagy röviden: omega g. Néhány egyszerű következmény: Ha g(n) h(n) teljesül minden n-re, akkor O(g) O(h), és Ω(g) Ω(h), hiszen ha f O(g), akkor f O(h) is (Miért?) és ha t Ω(h), akkor t Ω(g) (Miért?). Ha f O(g), akkor O(f) O(g), hiszen ha h(n) c 1 f(n) teljesül minden n n 1 esetén és f(n) c g(n) teljesül minden n n esetén, akkor h(n) c 1 c g(n), ha n max(n 1, n ). Ha f O(g), akkor g Ω(f), hiszen ha f(n) c g(n), akkor 1 c f(n) g(n). 3. Definíció. Az f Θ(g) jelölés azt jelenti, hogy f O(g) és f Ω(g) egyaránt teljesül. 3. Megjegyzés. Szóban ez úgy hangzik, hogy az f függvény nagy teta g, vagy röviden: teta g.

A definíciókból látszik, hogy f Θ(g) pontosan akkor teljesül, ha van olyan c 1, c > 0 valós konstans és n 0 pozitív egész küszöbszám, hogy minden n n 0 esetén c 1 g(n) f(n) c g(n) teljesül. Általában úgy használjuk ezeket, hogy a definíciókban levő g valami egyszerű függvény (pl. n, n, log n, n ). Az O egy felső becslést, az Ω egy alsó becslést ír le a függvény nagyságrendjére, a Θ a pontos nagyságrend megadására alkalmas. 4. Megjegyzés. Szokásos az f = O(g), f = Ω(g), illetve f = Θ(g) jelölés is. Példák 1. Legyen f(n) = 3n + 1000 és g(n) = n. (a) Ekkor f O(g), mert például c = 4, n 0 = 1000 választással f(n) = f(n) = 3n + 1000 4n = cn ha n n 0 = 1000. (Más jó választás is van, minden c > 3 értékhez találhatunk megfelelő n 0 értéket, de az állítás igazolásához elegendő egyetlen megfelelő c, n 0 párt megadni.) (b) f Ω(g) is teljesül, pl. a c = 3, n 0 = 1 választással f(n) = f(n) = 3n + 1000 3n = cn ha n n 0. (Más jó választás is van, minden c 3 érték megfelelő.) (c) f Θ(g) igaz, mert az előbb láttuk, f O(g) és f Ω(g).. Legyen f(n) = 3n + 1000 és g(n) = n. (a) Ekkor f O(g), mert f(n) = f(n) = 3n + 1000 4n n igaz, ha n 1000 (azaz c = 1, n 0 = 1000 jó). Vagy mondhatjuk azt is, hogy az előző példában láttuk, hogy f O(n) O(n ), tehát valóban f O(g). (b) f Ω(g) mert f(n) = f(n) = 3n + 1000 4n, és ezért ha f(n) cn teljesül, akkor 4n cn is igaz kell legyen. Ez pedig, akárhogy is választjuk a c > 0 konstanst, nagy n-ekre (n > 4/c) nem teljesül. (c) f Θ(g), mert az előző pont szerint f Ω(g). 3. Legyen f(n) = 3n 100n + 6. (a) f(n) O(n ). Vegyük észre, ha n elég nagy, akkor f(n) > 0, így feltehetjük, hogy f(n) = f(n). Például ez biztos igaz, ha 3n 100n, tehát n 34. (A megoldóképlettel is ki lehet számolni, honnantól nem negatív f(n) értéke, de most nekünk elég egy érvényes becslést adni.) Tehát nézzük csak az n 34 helyeket. Ekkor f(n) = f(n) = 3n 100n + 6 3n, mivel 100n 6. Azaz a c = 3, n 0 = 34 jó választás. (b) f(n) O(n 3 ), mert az előzőhöz hasonlóan foglalkozhatunk csak az n 34 esettel, amikor f(n) = f(n) 3n n 3, tehát a c = 1, n 0 = 34 jó választás. 3

Vagy: mivel láttuk már, hogy f O(n ) O(n 3 ), ezért f(n) O(n 3 ). (c) f(n) O(n), mert, ismét csak az n 34 esetet tekintve láthatjuk, hogy f(n) = f(n) = 3n 100n + 6 n, feltéve, hogy n 100n, azaz n 100 is teljesül. Mivel n > cn minden c-re, ha n > c/, azt kapjuk, hogy f(n) cn, ha n elég nagy (pontosabban, ha n > max{100, c/}). (d) f(n) Ω(n ), hiszen az előbb láttuk, hogy f(n) n, ha n 100. (e) f(n) Θ(n ), mert f(n) O(n ) és f(n) Ω(n ) is teljesül. 4. log a n Θ(log n), hiszen log a n = (log n)/(log a), így tehát c 1 = c = 1/(log a) választással minden n > max{a, } számra teljesül, hogy c 1 log n = log a n = c log n. 5. n O( n ), hiszen n = n n, tehát nagy n-ekre semmilyen c esetén sem teljesül, hogy n c n (csak ha n c, azaz n log c). 6. Megmutatható, hogy ha f(n) = a k n k +a k 1 n k 1 + +a 1 n+a 0 és a k 0, akkor f(n) Θ(n k ). 7. max(f(n), g(n)) Θ(f(n) + g(n)), feltéve, hogy f(n), g(n) > 0 minden n-re. Ez azért igaz, mert ha mindkét érték pozitív, akkor egyrészt f(n) és g(n) is kisebb mint f(n) + g(n), tehát max(f(n), g(n)) < f(n) + g(n), másrészt max(f(n), g(n)) f(n)+g(n). A leggyakrabban előforduló nagyságrendekre érvényesek a következő tartalmazások (Miért?) O(log n) O(n) O(n ) O(n 3 ) O( n ) O(3 n ) O(n!) O(n n ) O( n ) Ω(log n) Ω(n) Ω(n ) Ω(n 3 ) Ω( n ) Ω(3 n ) Ω(n!) Ω(n n ) Ω( n ) Feladatok 1. Az alábbi függvényeket rendezze olyan sorozatba, hogy ha f i -t f j követi a sorban, akkor f i (n) O(f j (n)) teljesüljön! f 1 (n) = 11n,5, f (n) = 5 n + 1000n, f 3 (n) = log n, f 4 (n) = 007n log n. Megoldás: f (n) = 5 n + 1000n 1005n, ha n 1 és ha n >, akkor 1005n 007n log n, ezért f O(f 4 ). Mivel log n n, ezért 007n log n 007n n = 007 11 (11n,5 ), tehát f 4 O(f 1 ). Írjuk át f 3 -at: log n = log n log n = ( log n ) log n = n log n. Ha n > 6, akkor log n >, 5, és ezért ilyenkor f 1 (n) = 11n.5 11n log n = 11f 3 (n). Tehát az f, f 4, f 1, f 3 sorrend jó. (Meggondolható, hogy ez az egyetlen helyes sorrend.) 4

. Az A algoritmusról tudjuk, hogy n hosszú bemeneteken a lépésszáma O(n ). (a) Lehetséges-e, hogy minden n hosszú bemeneten O(n) lépést használ? (b) Következik-e a feltételből, hogy minden n hosszú bemeneten O(n) lépést használ? (c) Lehetséges-e, hogy van olyan x, hogy az x bemeneten az algoritmus lépésszáma 10 x log x 800 (ahol x az x bemenet hosszát jelöli)? Megoldás: Jelölje f(n) az algoritmus maximális lépésszámát az n hosszú bemeneteken. A feltétel szerint f(n) O(n ), azaz elég nagy n értékekre f(n) cn teljesül valamilyen pozitív c-re. Az (a)-ra a válasz igen, hiszen a feltétel csak egy felső becslés, lehet pl. hogy minden n-re f(n) = n. (b) Nem, hiszen pl. f(n) = n kielégíti a feltételt, de f O(n). (c) Mivel az O(n ) feltétel szerint a felső becslésnek egy megfelelő c-re és valamely n 0 -nál nagyobb n-ekre kell igaznak lennie de az n 0 -nál rövidebb bementekre semmilyen feltételt nem ad, tehát lehetséges. (Elég nagy c választásával is lehet garantálni, hogy egy adott x -re 10 x log x 800 c x teljesüljön.) 3. Egy A algoritmusról tudjuk, hogy az n hosszú bemeneteken a lépésszáma O(n log n). Lehetséges-e, hogy (a) van olyan x bemenet, amin a lépésszáma x 3? (b) minden x bemeneten legfeljebb 007 x lépést használ? (Itt x az x szó hosszát jelöli.) Megoldás: Jelölje f(n) az algoritmus maximális lépésszámát az n hosszú bemeneteken. A feltétel szerint f(n) O(n log n), azaz elég nagy n értékekre f(n) cn log n teljesül valamilyen pozitív c-re. (a) Lehetséges, pl. x n 0 esetén, vagy ha c olyan, hogy erre az x-re x / log x c. (b) Igen, hiszen pl. f(n) = n is eleget tesz a feltételnek. 4. Jelölje egy algoritmus maximális lépésszámát az n hosszú bemeneteken L(n). Tudjuk, hogy minden n > 3 egész számra L(n) L(n 1) + n, és hogy L(3) = 3. Következik-e ebből, hogy az algoritmus lépésszáma O(n )? 1. Megoldás: A megadott rekurziós képletet használva L(n)-re, L(n 1)- re, stb. kapjuk, hogy L(n) L(n 1) + n n 1 L(n ) + + n... L(3) + 4 + 5 + + n = 3 + n(n+1) 4 1++3 = 1 4 n + 1 4 n Θ(n ), tehát az állítás igaz.. Megoldás: Bizonyítsuk teljes indukcióval: n = 3-ra L(3) = 3 cn teljesül, minden c 1/3 esetén. Ha már tudjuk, hogy egy adott c-re L(n 1) c(n 1), akkor n > 3 5

esetén L(n) L(n 1) + n c(n 1) + n = cn n(c 1/) + c cn (c 1/) cn, ha c 1/. Tehát pl. c = 1/, n 0 = 3 jó választás. 5. Jelölje egy algoritmus maximális lépésszámát az n hosszú bemeneteken L(n). Azt tudjuk, hogy minden n = k > 4 páros számra L(k) L(k ) + 1 teljesül, és hogy L(4) = 10. Következik-e ebből, hogy az algoritmus lépésszáma O(n)? Megoldás: Nem következik, hiszen a feltétel semmit nem mond a páratlan hosszú bemenetekről, tehát pl. lehet, hogy minden k pozitív egészre L(k) = 10 és L(k + 1) = k+1. 6. Igaz-e, hogy (a) ha f O(g) és g O(h), akkor f O(h)? (b) ha f Ω(g) és g Ω(h), akkor f Ω(h)? Megoldás: (a) A feltételek szerint léteznek olyan c 1, c > 0, n 0, n 1 számok, hogy f(n) c 1 g(n) ha n n 0 és g(n) c h(n) ha n n 1. Ezeket összerakva kapjuk, hogy f(n) c 1 g(n) c 1 c h(n) ha n max(n 1, n ), tehát az állítás igaz. (c = c 1 c, n 0 = max(n 1, n )). (b) Az előzőhöz hasonlóan ellenőrizhető, hogy ez is igaz. 6