Bevezetés a Számításelméletbe II. 6. előadás Sali Attila Budapest Műszaki és Gazdaságtudományi Egyetem Számítástudományi és Információelméleti Tsz. I. B. 7/b sali@cs.bme.hu 004 március 6.
A kritikus út módszere (PERT-módszer)
A kritikus út módszere (PERT-módszer) Az,,emeletekre bontás fontos alkalmazása az úgynevezett PERT módszer.
A kritikus út módszere (PERT-módszer) Az,,emeletekre bontás fontos alkalmazása az úgynevezett PERT módszer. Az elnevezés az angol,,program Evaluation and Review Technique rövidítéséből származik.
A kritikus út módszere (PERT-módszer) Az,,emeletekre bontás fontos alkalmazása az úgynevezett PERT módszer. Az elnevezés az angol,,program Evaluation and Review Technique rövidítéséből származik. Tegyük fel, hogy egy összetett feladatot több alvállalkozóval kell elvégeztetni. Az egyes részfeladatok nem végezhetőek el egymástól függetlenül: pl. egy házépítés során a kőművesmunkák nyilván megelőzik a festési munkákat.
Modell: G gráf élsúlyokkal. V (G) ={részfeladatok}, (x, y) E(G) l súllyal: y részfeladat nem kezdhető el korábban, mint az x kezdése után l idővel.
Modell: G gráf élsúlyokkal. V (G) ={részfeladatok}, (x, y) E(G) l súllyal: y részfeladat nem kezdhető el korábban, mint az x kezdése után l idővel. l = 0 is lehetséges. J H G E K D F I C B A L 4 8 4 9 6 9 0 7 8 9 6 7 8 6 5
Mikor tud elindulni Kis Béla?
felébredés gatya nadrág reggeli 0 nyakkendõ fogmosás zokni cipõ trikó ing 4 5 zakó elindulás
felébredés gatya nadrág reggeli 0 nyakkendõ fogmosás zokni cipõ trikó ing 4 5 zakó elindulás elindulás
felébredés gatya nadrág reggeli 0 nyakkendõ fogmosás zokni cipõ trikó ing 4 5 zakó elindulás fogmosás zakó elindulás cipõ 4
felébredés gatya nadrág reggeli 0 nyakkendõ fogmosás zokni cipõ trikó ing 4 5 zakó elindulás reggeli 0 fogmosás nyakkendõ 5 zakó elindulás zokni cipõ 4 nadrág
felébredés gatya nadrág reggeli 0 nyakkendõ fogmosás zokni cipõ trikó ing 4 5 zakó elindulás reggeli 0 fogmosás ing nyakkendõ 5 zakó elindulás gatya zokni cipõ 4 nadrág
felébredés gatya nadrág reggeli 0 nyakkendõ fogmosás zokni cipõ trikó ing 4 5 zakó elindulás trikó ing reggeli fogmosás 0 5 nyakkendõ zakó elindulás gatya zokni cipõ 4 nadrág
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés 5
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés 5 6 0
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés 5 6 0 4
felébredés gatya nadrág reggeli zokni cipõ trikó ing fogmosás elindulás zakó 4 0 5 nyakkendõ elindulás fogmosás zakó cipõ 4 reggeli zokni nadrág 5 0 nyakkendõ gatya ing trikó felébredés 5 6 0 4
G-ben nincs irányított kör.
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen.
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk.
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:először a nyelő(k) jobbszélső halmazba, Nyelő: olyan csúcs melyből nem megy ki él 4
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:először a nyelő(k) jobbszélső halmazba, ennek elhagyása után keletkező nyelő(ke)t a jobbról második halmazba és így tovább. (jobbról balra!) Nyelő: olyan csúcs melyből nem megy ki él 4
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:először a nyelő(k) jobbszélső halmazba, ennek elhagyása után keletkező nyelő(ke)t a jobbról második halmazba és így tovább. (jobbról balra!) Ezek után balról jobbra, szintenként, meghatározhatjuk minden tevékenység elkezdésének lehetséges legkorábbi időpontját. Nyelő: olyan csúcs melyből nem megy ki él 4
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:először a nyelő(k) jobbszélső halmazba, ennek elhagyása után keletkező nyelő(ke)t a jobbról második halmazba és így tovább. (jobbról balra!) Ezek után balról jobbra, szintenként, meghatározhatjuk minden tevékenység elkezdésének lehetséges legkorábbi időpontját. A bal szélső tevékenység(ek) azonnal (0. időpontban) megkezdhető(ek), Nyelő: olyan csúcs melyből nem megy ki él 4
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:először a nyelő(k) jobbszélső halmazba, ennek elhagyása után keletkező nyelő(ke)t a jobbról második halmazba és így tovább. (jobbról balra!) Ezek után balról jobbra, szintenként, meghatározhatjuk minden tevékenység elkezdésének lehetséges legkorábbi időpontját. A bal szélső tevékenység(ek) azonnal (0. időpontban) megkezdhető(ek), egy y-hoz x,x,... tevékenységek, melyekre (x i,y) E(G), legkorábban a t,t,... időpontban kezdhetőek el, akkor y legkorábban Nyelő: olyan csúcs melyből nem megy ki él 4
G-ben nincs irányított kör.ha egy összehasonlítási gráfot irányítottan tekintünk (azaz x y (x, y) E), az ilyen. Megfordítva, ha egy irányított körmentes gráfba behúzzuk a tranzitivtásból adódó éleket (képezzük a tranzitív lezártját), akkor összehasonlítási gráfot kapunk. A gráf emeletekre bontható:először a nyelő(k) jobbszélső halmazba, ennek elhagyása után keletkező nyelő(ke)t a jobbról második halmazba és így tovább. (jobbról balra!) Ezek után balról jobbra, szintenként, meghatározhatjuk minden tevékenység elkezdésének lehetséges legkorábbi időpontját. A bal szélső tevékenység(ek) azonnal (0. időpontban) megkezdhető(ek), egy y-hoz x,x,... tevékenységek, melyekre (x i,y) E(G), legkorábban a t,t,... időpontban kezdhetőek el, akkor y legkorábban max(t + l(x,y), t + l(x,y),...) időpontban kezdhető. Nyelő: olyan csúcs melyből nem megy ki él 4
Kritikus út
Kritikus út Megjelöljük (nyelő(k)ből visszafelé) azokat az (x i,y) éleket, melyeken a maximumok felvétetnek.
Kritikus út Megjelöljük (nyelő(k)ből visszafelé) azokat az (x i,y) éleket, melyeken a maximumok felvétetnek. A G gráf kritikus élei, van legalább egy irányított út a forrásból a nyelőbe csupa kritikus élen.
Kritikus út Megjelöljük (nyelő(k)ből visszafelé) azokat az (x i,y) éleket, melyeken a maximumok felvétetnek. A G gráf kritikus élei, van legalább egy irányított út a forrásból a nyelőbe csupa kritikus élen. Ezek a kritikus útak: a leghosszabb utak a forrásból a nyelőbe.
Kritikus út Megjelöljük (nyelő(k)ből visszafelé) azokat az (x i,y) éleket, melyeken a maximumok felvétetnek. A G gráf kritikus élei, van legalább egy irányított út a forrásból a nyelőbe csupa kritikus élen. Ezek a kritikus útak: a leghosszabb utak a forrásból a nyelőbe. Az ilyen kritikus utakon lévő pontoknak megfelelő részfeladatok bármelyikének késedelmes elvégzése az egész összetett feladat befejezését késleltetné (innét a kritikus út elnevezés).
Kritikus út Megjelöljük (nyelő(k)ből visszafelé) azokat az (x i,y) éleket, melyeken a maximumok felvétetnek. A G gráf kritikus élei, van legalább egy irányított út a forrásból a nyelőbe csupa kritikus élen. Ezek a kritikus útak: a leghosszabb utak a forrásból a nyelőbe. Az ilyen kritikus utakon lévő pontoknak megfelelő részfeladatok bármelyikének késedelmes elvégzése az egész összetett feladat befejezését késleltetné (innét a kritikus út elnevezés). Ha viszont egy pont nincs kritikus úton, akkor a megfelelő feladat késedelmes elvégzése bizonyos határon belül még elfogadható. 5
Bonyolultság
Bonyolultság A szükséges lépések száma a G pontjainak fokszámösszegével (vagyis e-vel) arányos.
Bonyolultság A szükséges lépések száma a G pontjainak fokszámösszegével (vagyis e-vel) arányos. Ugyanis minden él hosszát pontosan egyszer vesszük figyelembe a maximumok számításakor.
Bonyolultság A szükséges lépések száma a G pontjainak fokszámösszegével (vagyis e-vel) arányos. Ugyanis minden él hosszát pontosan egyszer vesszük figyelembe a maximumok számításakor. A szintekre bontás is (alkalmas gráf tárolás esetén) fokszám összeggel arányos (minden élet figyelembe kell venni, amikor töröljük az egyik végpontját.)
Bonyolultság A szükséges lépések száma a G pontjainak fokszámösszegével (vagyis e-vel) arányos. Ugyanis minden él hosszát pontosan egyszer vesszük figyelembe a maximumok számításakor. A szintekre bontás is (alkalmas gráf tárolás esetén) fokszám összeggel arányos (minden élet figyelembe kell venni, amikor töröljük az egyik végpontját.) A leghosszabb út meghatározása ellentétben a legrövidebb útéval (lásd Algoritmuselmélet) általában nem végezhető el polinom időben. Ebben a speciális esetben azért tudtunk gyors algoritmust adni, mert G- ben nincsenek irányított körök. 6
Hogyan tároljunk gráfokat?
Hogyan tároljunk gráfokat? Egy v pontú és e élű G gráf szomszédossági mátrixa v, illeszkedési mátrixa ve helyet foglal el.
Hogyan tároljunk gráfokat? Egy v pontú és e élű G gráf szomszédossági mátrixa v, illeszkedési mátrixa ve helyet foglal el. Egyszerű gráfokra e v(v )/ irányítatlan gráfok esetén és e v(v ) irányított gráfok esetén.
Hogyan tároljunk gráfokat? Egy v pontú és e élű G gráf szomszédossági mátrixa v, illeszkedési mátrixa ve helyet foglal el. Egyszerű gráfokra e v(v )/ irányítatlan gráfok esetén és e v(v ) irányított gráfok esetén. Illeszkedési mátrix: (v )e zérus!!
Hogyan tároljunk gráfokat? Egy v pontú és e élű G gráf szomszédossági mátrixa v, illeszkedési mátrixa ve helyet foglal el. Egyszerű gráfokra e v(v )/ irányítatlan gráfok esetén és e v(v ) irányított gráfok esetén. Illeszkedési mátrix: (v )e zérus!! Ha egy gráf ritka (vagyis e cv ), akkor a szomszédossági mátrixban is rengeteg a zérus.
Hogyan tároljunk gráfokat? Egy v pontú és e élű G gráf szomszédossági mátrixa v, illeszkedési mátrixa ve helyet foglal el. Egyszerű gráfokra e v(v )/ irányítatlan gráfok esetén és e v(v ) irányított gráfok esetén. Illeszkedési mátrix: (v )e zérus!! Ha egy gráf ritka (vagyis e cv ), akkor a szomszédossági mátrixban is rengeteg a zérus. Nagy tárigény + időigény!!
Hogyan tároljunk gráfokat? Egy v pontú és e élű G gráf szomszédossági mátrixa v, illeszkedési mátrixa ve helyet foglal el. Egyszerű gráfokra e v(v )/ irányítatlan gráfok esetén és e v(v ) irányított gráfok esetén. Illeszkedési mátrix: (v )e zérus!! Ha egy gráf ritka (vagyis e cv ), akkor a szomszédossági mátrixban is rengeteg a zérus. Nagy tárigény + időigény!! Például egy csúcsról eldönteni hogy nyelő, szomszédossági mátrix esetén annak egy teljes oszlopát ( v ) adatot kell kiolvasni. 7
Szomszédossági tömbök és listák
Szomszédossági tömbök és listák 4 4 4 5 4 4 5 Sokszor jó a gráfot úgy tárolni, hogy minden pontjához felsoroljuk a szomszédjait.
Szomszédossági tömbök és listák 4 4 4 5 4 4 5 Sokszor jó a gráfot úgy tárolni, hogy minden pontjához felsoroljuk a szomszédjait. A szomszédossági listák általában különböző hosszúságúak,
Szomszédossági tömbök és listák 4 4 4 5 4 4 5 Sokszor jó a gráfot úgy tárolni, hogy minden pontjához felsoroljuk a szomszédjait. A szomszédossági listák általában különböző hosszúságúak,= egy közös tömbben tároljuk, és egy külön tömbben a,,mutatókat (pointer), hogy hol kezdőnek kell egy adott pont szomszédai.
Szomszédossági tömbök és listák 4 4 4 5 4 4 5 Sokszor jó a gráfot úgy tárolni, hogy minden pontjához felsoroljuk a szomszédjait. A szomszédossági listák általában különböző hosszúságúak,= egy közös tömbben tároljuk, és egy külön tömbben a,,mutatókat (pointer), hogy hol kezdőnek kell egy adott pont szomszédai. 4 4 4 5 4 és 4 6 8
Szomszédossági tömbök és listák 4 4 4 5 4 4 5 Sokszor jó a gráfot úgy tárolni, hogy minden pontjához felsoroljuk a szomszédjait. A szomszédossági listák általában különböző hosszúságúak,= egy közös tömbben tároljuk, és egy külön tömbben a,,mutatókat (pointer), hogy hol kezdőnek kell egy adott pont szomszédai. 4 4 4 5 4 és 4 6 8 szomszédossági tömb 8
Néha jó, ha az egyes listák rendezettek.
Néha jó, ha az egyes listák rendezettek. Az első tömb hossza a fokszámok összege, vagyis e, a második tömbé pedig v. Így a teljes tárigény e + v.
Néha jó, ha az egyes listák rendezettek. Az első tömb hossza a fokszámok összege, vagyis e, a második tömbé pedig v. Így a teljes tárigény e + v. Ez az elképzelhető minimális tárigénynek közel kétszerese (az {i, j} élt i szomszédainál is, j szomszédainál is felsoroljuk). (megtérül!)
Néha jó, ha az egyes listák rendezettek. Az első tömb hossza a fokszámok összege, vagyis e, a második tömbé pedig v. Így a teljes tárigény e + v. Ez az elképzelhető minimális tárigénynek közel kétszerese (az {i, j} élt i szomszédainál is, j szomszédainál is felsoroljuk). (megtérül!) Irányított gráfok esetén minden i ponthoz felsoroljuk azokat a j pontokat, melyekbe (i, j) irányított él vezet i-ből;
Néha jó, ha az egyes listák rendezettek. Az első tömb hossza a fokszámok összege, vagyis e, a második tömbé pedig v. Így a teljes tárigény e + v. Ez az elképzelhető minimális tárigénynek közel kétszerese (az {i, j} élt i szomszédainál is, j szomszédainál is felsoroljuk). (megtérül!) Irányított gráfok esetén minden i ponthoz felsoroljuk azokat a j pontokat, melyekbe (i, j) irányított él vezet i-ből; vagy azokat a k pontokat, melyekből (k, i) irányított él vezet i-be.
Néha jó, ha az egyes listák rendezettek. Az első tömb hossza a fokszámok összege, vagyis e, a második tömbé pedig v. Így a teljes tárigény e + v. Ez az elképzelhető minimális tárigénynek közel kétszerese (az {i, j} élt i szomszédainál is, j szomszédainál is felsoroljuk). (megtérül!) Irányított gráfok esetén minden i ponthoz felsoroljuk azokat a j pontokat, melyekbe (i, j) irányított él vezet i-ből; vagy azokat a k pontokat, melyekből (k, i) irányított él vezet i-be.ha mindkét listát megadjuk: a kétszeres tárigény számos algoritmusnál nagyságrenddel csökkenti a lépésszám-igényt.
Néha jó, ha az egyes listák rendezettek. Az első tömb hossza a fokszámok összege, vagyis e, a második tömbé pedig v. Így a teljes tárigény e + v. Ez az elképzelhető minimális tárigénynek közel kétszerese (az {i, j} élt i szomszédainál is, j szomszédainál is felsoroljuk). (megtérül!) Irányított gráfok esetén minden i ponthoz felsoroljuk azokat a j pontokat, melyekbe (i, j) irányított él vezet i-ből; vagy azokat a k pontokat, melyekből (k, i) irányított él vezet i-be.ha mindkét listát megadjuk: a kétszeres tárigény számos algoritmusnál nagyságrenddel csökkenti a lépésszám-igényt. Rendezett szomszédossági tömb:az egyes pontok szomszédai növekvő sorrendben. Rendezések: további idő igény, de ez később megtérülhet. 9
Láncolt szomszédossági listák
Láncolt szomszédossági listák Ha gyakran kell a gráfból egy élt (vagy akár pontot) elhagyni, akkor a szomszédsági tömb nem megfelelő:
Láncolt szomszédossági listák Ha gyakran kell a gráfból egy élt (vagy akár pontot) elhagyni, akkor a szomszédsági tömb nem megfelelő: a beszúrandó vagy elhagyandó elem után következők eggyel eltolása akár n darab további lépést is igényelhet.
Láncolt szomszédossági listák Ha gyakran kell a gráfból egy élt (vagy akár pontot) elhagyni, akkor a szomszédsági tömb nem megfelelő: a beszúrandó vagy elhagyandó elem után következők eggyel eltolása akár n darab további lépést is igényelhet.= Olyan listát adunk, aminek első tömbje a szomszédossági lista elemeit tetszőleges sorrendben tartalmazhatja.
Láncolt szomszédossági listák Ha gyakran kell a gráfból egy élt (vagy akár pontot) elhagyni, akkor a szomszédsági tömb nem megfelelő: a beszúrandó vagy elhagyandó elem után következők eggyel eltolása akár n darab további lépést is igényelhet.= Olyan listát adunk, aminek első tömbje a szomszédossági lista elemeit tetszőleges sorrendben tartalmazhatja. 0
4 4 4 5 4 4 5 4 4 5 4 4 6 4 5 7 0 8 9
4 4 4 5 4 4 5 4 4 5 4 4 6 4 5 7 0 8 9 A v hosszú tömb i-ik eleme mutatja meg, hogy hol kezdjük el az i-ik pont szomszédainak kiolvasását az első e hosszú tömbből. Az alatta lévő szám (egy második e hosszú tömb megfelelő eleme) mutatja meg, hogy hol folytatódik, illetve egy speciális szimbólum jelzi, hogy vége.
4 4 5 4 4 5 {, 4} él elhagyása után:
4 4 5 4 4 5 {, 4} él elhagyása után: 4 4 5 4 4 6 5 4 0 8 9
4 5 4 5 4 4 5 {, 5} él bevétele után:
4 5 4 5 4 4 5 {, 5} él bevétele után: 4 4 5 4 4 5 6 4 5 7 0 8 9 4
A B C D Tárigény v e + v e + v 4e + v Két pont szomszédosságának eldöntése Pont szomszédainak megjelölése d log d d v d d d Minden él megjelölése v e e e Új él hozzávétele e e Régi él elvétele e e d Régi pont elvétele v e e min(e,d ) Jelölések: v pontszám, e élszám, d maximális fokszám, A: szomszédsági mátrix, B: szomszédsági tömb, C: rendezett szomszédsági tömb, D: láncolt szomszédsági lista. 4
Mantel tétele Legfeljebb hány éle lehet egy n-csúcsú egyszerű gráfnak, ha nem tartalmaz háromszöget?
Mantel tétele Legfeljebb hány éle lehet egy n-csúcsú egyszerű gráfnak, ha nem tartalmaz háromszöget?. Tétel. Ha egy n-csúcsú egyszerű gráf nem tartalmaz háromszöget, akkor éleinek száma legfeljebb n n. 5
BIZONYÍTÁS Ha G nem tartalmaz háromszöget, akkor α(g) (G). 6
BIZONYÍTÁS Ha G nem tartalmaz háromszöget, akkor α(g) (G). Ugyanakkor E(G) τ(g) (G) mindig igaz.(!) 6
BIZONYÍTÁS Ha G nem tartalmaz háromszöget, akkor α(g) (G). Ugyanakkor E(G) τ(g) (G) mindig igaz.(!) Gallai tétele szerint α(g) + τ(g) = V (G) = n. 6
BIZONYÍTÁS Ha G nem tartalmaz háromszöget, akkor α(g) (G). Ugyanakkor E(G) τ(g) (G) mindig igaz.(!) Gallai tétele szerint α(g) + τ(g) = V (G) = n. Összerakva: E(G) τ(g) (G) τ(g) α(g) = (n α(g)) α(g) n n. 6
BIZONYÍTÁS Ha G nem tartalmaz háromszöget, akkor α(g) (G). Ugyanakkor E(G) τ(g) (G) mindig igaz.(!) Gallai tétele szerint α(g) + τ(g) = V (G) = n. Összerakva: E(G) τ(g) (G) τ(g) α(g) = (n α(g)) α(g) n n. A K n, n teljes páros gráf mutatja, hogy a tétel állítása éles. 6
BIZONYÍTÁS Ha G nem tartalmaz háromszöget, akkor α(g) (G). Ugyanakkor E(G) τ(g) (G) mindig igaz.(!) Gallai tétele szerint α(g) + τ(g) = V (G) = n. Összerakva: E(G) τ(g) (G) τ(g) α(g) = (n α(g)) α(g) n n. A K n, n teljes páros gráf mutatja, hogy a tétel állítása éles. Azt, hogy ez az egyetlen ilyen gráf, általánosabban bizonyítjuk. 6
Turán gráfok. Definíció. Definiáljuk a T n,m -t: Legyen n = qm + r, ahol 0 r < m. A gráf n pontját osszuk m osztályra, r darab q + pontú, m r q pontú. Két pont közt él különböző osztályban vannak. m-osztályú gráfnak nevezünk egy gráfot, ha a pontjai m osztályba oszthatók úgy, hogy az egy osztályban levő pontok között nem fut él. T n,m egy m-osztályú teljes gráf.
Turán gráfok. Definíció. Definiáljuk a T n,m -t: Legyen n = qm + r, ahol 0 r < m. A gráf n pontját osszuk m osztályra, r darab q + pontú, m r q pontú. Két pont közt él különböző osztályban vannak. m-osztályú gráfnak nevezünk egy gráfot, ha a pontjai m osztályba oszthatók úgy, hogy az egy osztályban levő pontok között nem fut él. T n,m egy m-osztályú teljes gráf.. Tétel (Turán). Ha egy n pontú G gráf nem tartalmaz K m+ -et, akkor e(g) e(t n,m ). Ha pedig e(g) = e(t n,m ), akkor G = T n,m. 7
Turán tétel bizonyítása
Turán tétel bizonyítása. Az m-osztályú gráfok közül T n,m -nek van a legtöbb éle.
Turán tétel bizonyítása. Az m-osztályú gráfok közül T n,m -nek van a legtöbb éle. Tegyük fel, hogy az a G gráf, amelyiknek a legtöbb éle van, nem a T n,m gráf. G-ben van két olyan osztály, hogy az egyikben x pont van, a másikban legalább x +.
Turán tétel bizonyítása. Az m-osztályú gráfok közül T n,m -nek van a legtöbb éle. Tegyük fel, hogy az a G gráf, amelyiknek a legtöbb éle van, nem a T n,m gráf. G-ben van két olyan osztály, hogy az egyikben x pont van, a másikban legalább Ha a nagyobból a kisebbe átteszünk egy pontot, akkor legfel- x +. jebb x él szűnik meg, viszont legalább x + új élet húzunk be.
Turán tétel bizonyítása. Az m-osztályú gráfok közül T n,m -nek van a legtöbb éle. Tegyük fel, hogy az a G gráf, amelyiknek a legtöbb éle van, nem a T n,m gráf. G-ben van két olyan osztály, hogy az egyikben x pont van, a másikban legalább Ha a nagyobból a kisebbe átteszünk egy pontot, akkor legfel- x +. jebb x él szűnik meg, viszont legalább x + új élet húzunk be.. Ha G egy K m+ -et nem tartalmazó n-pontú gráf, akkor ugyanazon a ponthalmazon konstruálható egy olyan m osztályú teljes H gráf, melyben minden pont fokszáma legalább akkora mint G-ben, vagyis minden v V (G) = V (H)-ra d G (v) d H (v).
Turán tétel bizonyítása. Az m-osztályú gráfok közül T n,m -nek van a legtöbb éle. Tegyük fel, hogy az a G gráf, amelyiknek a legtöbb éle van, nem a T n,m gráf. G-ben van két olyan osztály, hogy az egyikben x pont van, a másikban legalább Ha a nagyobból a kisebbe átteszünk egy pontot, akkor legfel- x +. jebb x él szűnik meg, viszont legalább x + új élet húzunk be.. Ha G egy K m+ -et nem tartalmazó n-pontú gráf, akkor ugyanazon a ponthalmazon konstruálható egy olyan m osztályú teljes H gráf, melyben minden pont fokszáma legalább akkora mint G-ben, vagyis minden v V (G) = V (H)-ra d G (v) d H (v). (a) m-re való teljes indukció. m = -re az állítás triviális. 8
(b) Legyen x olyan pont, hogy d G (x) = G. Legyen V = {u {u,x} E(G)}, V = V (G) V azaz, x V. G legyen G-nek a V által feszített részgráfja.
(b) Legyen x olyan pont, hogy d G (x) = G. Legyen V = {u {u,x} E(G)}, V = V (G) V azaz, x V. G legyen G-nek a V által feszített részgráfja. G -ben nincs K m, hiszen ez x-szel együtt G-ben K m+ -et alkotna. Indukciós feltevés G -re: Van olyan teljes m - osztályú H gráf, hogy minden v V (G )-re d G (v) d H (v).
(b) Legyen x olyan pont, hogy d G (x) = G. Legyen V = {u {u,x} E(G)}, V = V (G) V azaz, x V. G legyen G-nek a V által feszített részgráfja. G -ben nincs K m, hiszen ez x-szel együtt G-ben K m+ -et alkotna. Indukciós feltevés G -re: Van olyan teljes m - osztályú H gráf, hogy minden v V (G )-re d G (v) d H (v). (c) H gráf: V ponthalmazon a H gráf, majd V minden pontját kössük össze V minden pontjával, viszont hagyjunk el minden két V -beli pontot összekötő élet. A H gráf m osztályú.
(b) Legyen x olyan pont, hogy d G (x) = G. Legyen V = {u {u,x} E(G)}, V = V (G) V azaz, x V. G legyen G-nek a V által feszített részgráfja. G -ben nincs K m, hiszen ez x-szel együtt G-ben K m+ -et alkotna. Indukciós feltevés G -re: Van olyan teljes m - osztályú H gráf, hogy minden v V (G )-re d G (v) d H (v). (c) H gráf: V ponthalmazon a H gráf, majd V minden pontját kössük össze V minden pontjával, viszont hagyjunk el minden két V -beli pontot összekötő élet. A H gráf m osztályú. Ha v V, akkor d H (v) = V = G. Ha v V, akkor d H (v) = d H (v) + V d G (v) + V d G (v).
(b) Legyen x olyan pont, hogy d G (x) = G. Legyen V = {u {u,x} E(G)}, V = V (G) V azaz, x V. G legyen G-nek a V által feszített részgráfja. G -ben nincs K m, hiszen ez x-szel együtt G-ben K m+ -et alkotna. Indukciós feltevés G -re: Van olyan teljes m - osztályú H gráf, hogy minden v V (G )-re d G (v) d H (v). (c) H gráf: V ponthalmazon a H gráf, majd V minden pontját kössük össze V minden pontjával, viszont hagyjunk el minden két V -beli pontot összekötő élet. A H gráf m osztályú. Ha v V, akkor d H (v) = V = G. Ha v V, akkor d H (v) = d H (v) + V d G (v) + V d G (v).. Ha egy G-ben nincs K m+, de nem izomorf T n,m -mel, akkor van egy nála nagyobb élszámú m-osztályú teljes gráf, ennek az élszáma pedig nem nagyobb e(t n,m )-nél. Így beláttuk az állítás második részét is. 9
Két érdekes tétel
Két érdekes tétel 4. Tétel (Erdős Stone). Ha e(g) e(t n,m ) + εn, akkor G-ben nemcsak hogy van legalább egy K m+, hanem létezik olyan c(ε,m) konstans is, hogy G-ben van olyan teljes m+-osztályú részgráf, amelyben az osztályok pontszáma legalább c log n.
Két érdekes tétel 4. Tétel (Erdős Stone). Ha e(g) e(t n,m ) + εn, akkor G-ben nemcsak hogy van legalább egy K m+, hanem létezik olyan c(ε,m) konstans is, hogy G-ben van olyan teljes m+-osztályú részgráf, amelyben az osztályok pontszáma legalább c log n. Azaz, ha csak kicsit nagyobb az élsűrűség, mint a Turán gráfé, akkor már rengeteg K m+ van a gráfban. 0
5. Tétel (Erdős Simonovits). Ha G,G,...,G k adott gráfok, akkor létezik olyan ex(n;g,g,...,g k ) függvény, amelyre teljesül, hogy minden olyan G gráfnak, amelyre v(g) = n és e(g) ex(n;g,g,...,g k ), van valamelyik G i gráffal izomorf részgráfja. Az ex függvényre teljesül, hogy ex(n;g,g,...,g k ) lim ( n n = ) min i=,...,k χ(g i ). ()
5. Tétel (Erdős Simonovits). Ha G,G,...,G k adott gráfok, akkor létezik olyan ex(n;g,g,...,g k ) függvény, amelyre teljesül, hogy minden olyan G gráfnak, amelyre v(g) = n és e(g) ex(n;g,g,...,g k ), van valamelyik G i gráffal izomorf részgráfja. Az ex függvényre teljesül, hogy ex(n;g,g,...,g k ) lim ( n n = ) min i=,...,k χ(g i ). () Azaz a maximális G i -t nem tartalmazó gráf élsűrűségének nagyságrendje G i kromatikus számától függ, ha az legalább.
Ha valamelyik kizárandó gráf páros, akkor a fenti tétel nem határozza meg az élsűrűség nagyságrendjét.
Ha valamelyik kizárandó gráf páros, akkor a fenti tétel nem határozza meg az élsűrűség nagyságrendjét. T n,m élszáma ( ) ( ) ( ) n q + q e(t n,m ) = r (m r) ( )( n ). () m
Ha valamelyik kizárandó gráf páros, akkor a fenti tétel nem határozza meg az élsűrűség nagyságrendjét. T n,m élszáma ( ) ( ) ( ) n q + q e(t n,m ) = r (m r) ( )( n ). () m k = és G = K m+ esetén χ(k m+ ) = m +, azaz ebben az esetben az Erdős-Simonovits következik a Turánból.