UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Denis Kolarič Maribor, 2010

Podobni dokumenti
EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Vika Koban Maribor, 2012

DS2.dvi

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

Brownova kovariancna razdalja

Slide 1

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Osnove matematicne analize 2018/19

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

Mere kompleksnih mrež (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Peter Škofič Maribor, 2014

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

Wienerjevemu indeksu podobni indeksi na grafih

FGG13

resitve.dvi

FGG14

Vektorji - naloge za test Naloga 1 Ali so točke A(1, 2, 3), B(0, 3, 7), C(3, 5, 11) b) A(0, 3, 5), B(1, 2, 2), C(3, 0, 4) kolinearne? Naloga 2 Ali toč

M

'Kombinatoricna optimizacija / Lokalna optimizacija'

C:/AndrejT/vestnik/76_1/Rotovnik/main.dvi

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

Vrste

Poslovilno predavanje

ANALITIČNA GEOMETRIJA V RAVNINI

glava.dvi

Namesto (x,y)R uporabljamo xRy

predstavitev fakultete za matematiko 2017 A

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

GeomInterp.dvi

Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 4.10 Izpitni režim: Kolokviji in pisni izpiti so vsi s

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter

rm.dvi

RAČUNALNIŠKA ORODJA V MATEMATIKI

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

Numeri na analiza - podiplomski ²tudij FGG doma e naloge - 1. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 10 to k

Matematika 2

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Ime in priimek

Mrežni modeli polimernih verig Boštjan Jenčič 22. maj 2013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posamezni segmenti p

OSNOVE UMETNE INTELIGENCE

Microsoft Word - UP_Lekcija04_2014.docx

Geometrija v nacionalnih preverjanjih znanja

Matematika II (UN) 2. kolokvij (7. junij 2013) RE ITVE Naloga 1 (25 to k) ƒasovna funkcija f je denirana za t [0, 2] in podana s spodnjim grafom. f t

DN5(Kor).dvi

Osnove verjetnostne metode doc. dr. R. Škrekovski Oddelek za Matematiko Fakulteta za Matematiko in Fiziko Univerza v Ljubljani

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

I Z B R A N A P O G L AV J A I Z D I S K R E T N E M AT E M AT I K E zbornik seminarskih nalog iz diskretne matematike Matjaž Krnc, Riste Škrekovski J

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo

Microsoft Word - M docx

Rešene naloge iz Linearne Algebre

Strokovni izobraževalni center Ljubljana, Srednja poklicna in strokovna šola Bežigrad PRIPRAVE NA PISNI DEL IZPITA IZ MATEMATIKE 2. letnik nižjega pok

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

2.1 Osnovni pojmi 2 Nim Ga²per Ko²mrlj, Denicija 2.1 P-poloºaj je poloºaj, ki je izgubljen za igralca na potezi. N- poloºaj je poloºaj, ki

Teorija kodiranja in kriptografija 2013/ AES

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

VST: 1. kviz

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

Osnove verjetnosti in statistika

STAVKI _5_

Sestavljanje in re\unhbox \bgroup \let \unhbox \setbox \hbox {s\global \mathchardef \spacefactor }\ac

KOMISIJA ZA LOGIKO 32. TEKMOVANJE IZ ZNANJA LOGIKE DRŽAVNO TEKMOVANJE, in 2. letnik Šifra: NALOGA MOŽNE TOČKE DOSEŽENE TOČKE

Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah

MAGIČNI KVADRATI DIMENZIJE 4n+2

Microsoft Word - avd_vaje_ars1_1.doc

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nejc Ramovš Problem izomorfnega podgrafa DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mento

Strojna oprema

BiokemInfo - Pregled funkcij

Microsoft Word - M docx

CpE & ME 519

Matematika II (UNI) Izpit (23. avgust 2011) RE ITVE Naloga 1 (20 to k) Vektorja a = (0, 1, 1) in b = (1, 0, 1) oklepata trikotnik v prostoru. Izra una

NAVODILA AVTORJEM PRISPEVKOV

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Domače vaje iz LINEARNE ALGEBRE Marjeta Kramar Fijavž Fakulteta za gradbeništvo in geodezijo Univerze v Ljubljani 2007/08 Kazalo 1 Vektorji 2 2 Analit

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode])

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese

REED-SOLOMONOVE KODE Aleksandar Jurišić Arjana Žitnik 6. junij 2004 Math. Subj. Class. (2000): 51E22, 94B05?, 11T71 Reed-Solomonove kode so izjemno us

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

Microsoft PowerPoint - IPPU-V2.ppt

resitve.dvi

MergedFile

GOALS

Microsoft PowerPoint - Mocnik.pptx

resitve.dvi

Transkripcija:

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Denis Kolarič Maribor, 2010

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo Diplomsko delo Diskriminatorne kode v dvodelnih grafih Mentor: dr. Matjaž Kovše Kandidat: Denis Kolarič Maribor, 2010

Zahvala Zahvaljujem se mentorju dr. Matjažu Kovšetu za pomoč in koristne napotke pri izdelavi diplomskega dela. Prav tako velja zahvala domačim, ki so mi bili ves čas študija v zares veliko pomoč, oporo in vzpodbudo.

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO IZJAVA Podpisani Denis Kolarič, rojen 12. novembra 1985, študent Fakultete za naravoslovje in matematiko Univerze v Mariboru, smer enopredmetna nepedagoška matematika, izjavljam, da je diplomsko delo z naslovom Diskriminatorne kode v dvodelnih grafih pri mentorju doc. dr. Matjažu Kovšetu, avtorsko delo. V diplomskem delu so uporabljeni viri in literatura korektno navedeni; teksti niso uporabljeni brez navedbe avtorjev. Denis Kolarič Maribor, 1. Oktober 2010

Diskriminatorne kode v dvodelnih grafih Diplomsko delo naj obravnava diskriminatorne kode, ki predstavljajo posplošitev identifikacijskih kod in so definirane na naslednji način. Naj bo G = (V = P A, E) enostaven dvodelni graf brez povezav znotraj množice P in znotraj množice A. Za poljubno vozlišče v V naj N(v) označuje množico vseh sosedov vozlišča v. Podmnožica C A se imenuje diskriminatorna koda, če so vse množice N(p) C, p P, neprazne in različne. Poleg osnovnih lastnosti diskriminatornih kod naj bodo posebej obravnavani dvodelni ravninski grafi. Predstavljen naj bo algoritem za iskanje minimalne diskriminatorne kode v drevesu. Pojasnjena naj bo povezava med identifikacijskimi in diskriminatornimi kodami v hiperkockah. Osnovni viri: 1. E. Charbit, I. Charon, G. Cohen, O. Hudry in A. Lobstein, Discriminating codes in bipartite graphs: Bounds, Extremal Cardinalities, Complexity, Adv. Math. Commun., 2 (2008), 403 420. 2. I. Charon, G. Cohen, O. Hudry in A. Lobstein, Links between discriminating and identifying codes in the binary Hamming space, Lect. Notes Comput. Sci., 4851 (2007), 267 270. 3. I. Charon, G. Cohen, O. Hudry in A. Lobstein, Discriminating codes in (bipartite) planar graphs, European J. Combin., 29 (2008), 1353 1364. doc. dr. Matjaž Kovše

KOLARIČ, D.: Diskriminatorne kode v dvodelnih grafih. Diplomsko delo, Univerza v Mariboru, Fakulteta za naravoslovje in matematiko, Oddelek za matematiko in računalništvo, 2010. IZVLEČEK Diplomsko delo obravnava diskriminatorne kode, ki predstavljajo posplošitev identifikacijskih kod. Naj bo G = (V = P A, E) enostaven dvodelni graf brez povezav znotraj množice P in znotraj množice A. Za poljubno vozlišče v V naj N(v) označuje množico vseh sosedov vozlišča v. Podmnožica C A se imenuje diskriminatorna koda, če so vse množice N(p) C, p P, neprazne in različne. V uvodnem poglavju predstavimo osnovne definicije iz teorije grafov, ki jih potrebujemo v nadaljevanju in povemo še nekaj o kodah v grafih. V naslednjem poglavju definiramo diskriminatorne kode, podamo nekaj primerov in dokažemo spodnjo in zgornjo mejo za moč minimalne diskriminatorne kode izražene glede na število atributov. V tretjem poglavju pokažemo povezavo med diskriminatornimi in identifikacijskimi kodami v hiperkockah. V četrtem poglavju obravnavamo diskriminatorne kode v drevesih in opišemo algoritem linearne časovne zahtevnosti glede na število vozlišč drevesa, ki za dano drevo poišče minimalno diskriminatorno kodo v drevesu in njegovo delovanje prikažemo na primeru. V zadnjem poglavju podamo za vnaprej podano število atributov konstrukcijo dvodelnih ravninskih grafov brez dvojčkov, ki imajo največje število posameznikov in pokažemo povezavo z ravninskimi triangulacijami. Ključne besede: identifikacijska koda, diskriminatorna koda, dvodelni graf, posameznik, atribut, hiperkocka, drevo, algoritem, ravninski graf Math. Subj. Class. (2010): 94B60 teorija kod, ki odpravljajo in kod, ki odkrivajo napake, druge vrste kod, 05C70 kombinatorika, teorija grafov, faktorizacija, prirejanja, pokritja in pakiranja, 68Q17 računalništvo, teorija računanja, kompleksnost problemov.

KOLARIČ, D. Discriminating codes in bipartite graph Graduation Thesis, University of Maribor, Faculty of Natural Scicences and Mathematics, Department of Mathematics and Computer Science, 2010. ABSTRACT Let G = (V = P A, E) be a bipartite graph, with no edge inside I and no edge inside A. For any vertex v V, let N(v) denote the set of neighbours of v. A subset C A is said to be discriminating if all the sets N(p) C, p P, are nonempty and distinct. Discriminating codes are generalization of identifying codes. In the preliminaries we give necessary definitions from graph theory and codes in graphs that we need later. In the next chapter we define discriminating codes, give some examples and show lower and upper bounds for the size of minimal discriminating codes, expressed in terms of the number of atributes of a given graph. In the third chapter we show the relation between discriminating and identifying codes in hypercubes. In the fourth chapter discriminating codes in trees are treated and linear time algorithm for finding a minimal discriminating code in a tree is given and ilustrated with an example. In the last chapter we describe all bipartite planar graphs without twins with a property, that for a given number of atributes they have the maximal number of individuals, and we show their relation with planar triangulations. Keywords: identifying code, discriminating code, bipartite graph, individual, atribute, hypercube, tree, algorithm, planar graph Math. Subj. Class. (2010): 94B60 theory of error-correcting and error-detecting codes, other types of codes, 05C70 combinatorics, graph theory, factorization, matching, covering and packing, 68Q17 computer science, theory of computing, computational difficulty of problems.

Kazalo 1 Uvod 11 1.1 Osnove teorije grafov............................... 11 1.2 Kode v grafih................................... 15 2 Osnovno o diskriminatornih kodah v dvodelnih grafih 19 3 Povezava med identifikacijskimi in diskriminatornimi kodami v hiperkockah 34 4 Algoritem iskanja minimalne diskriminatorne kode v drevesu 39 4.1 Poti........................................ 40 4.2 Splošni primeri dreves.............................. 42 4.3 Algoritem..................................... 46 5 Diskriminatorne kode v dvodelnih ravninskih grafih 50 9

Poglavje 1 Uvod V uvodnem poglavju podamo osnovne pojme in nekaj primerov iz teorije grafov in teorije kod v grafih, ki jih potrebujemo pri naslednjih poglavjih. Več o kodah v grafih je možno izvedeti v knjigi [6]. 1.1 Osnove teorije grafov Graf G = (V (G), E(G)) sestavljata neprazna množica vozlišč V (G) in množica povezav E(G), kjer so povezave neurejeni pari vozlišč. Povezavo med vozliščema u in v označimo z uv in pravimo, da je v sosed vozlišča u. Dve povezavi ali več povezav, ki povezujejo isti par vozlišč, imenujemo vzporedne povezave. Povezava, ki povezuje neko vozlišče s samim sabo se imenuje zanka. Graf brez zank in večkratnih povezav imenujemo enostavni graf. V diplomskem delu so vsi obravnavani grafi enostavni. Naj bo v vozlišče grafa G, v V (G). Odprta soseščina vozlišča v je množica vseh vozlišč, ki so sosedna z vozliščem v, kar s simboli zapišemo N G (v) = {u V uv E(G)}. Stopnja vozlišča v je število povezav, ki vsebujejo v, kar označimo z deg (v). Graf H je podgraf grafa G, če je V (H) V (G) in E(H) E(G). Podgraf H grafa G je porojeni podgraf, če je H maksimalni podgraf na vozliščih V (H). Podgraf H grafa G je vpeti podgraf, če je V (H) = V (G). Sprehod v grafu G je zaporedje vozlišč v 1, v 2,..., v k za katere velja v i, v i+1 E(G) za i = 1, 2,..., k 1. Sprehod, v katerem so vse povezave med seboj paroma različne, imenujemo enostavni sprehod. Če so v enostavnem sprehodu vozlišča različna, potem sprehod imenujemo pot. Pot na vozliščih v 1, v 2,..., v n označimo s P n. Sprehod v 1, v 2,..., v k, za katerega velja v 1 = v k, imenujemo obhod. Če so v obhodu vse povezave in vsa vozlišča različna, potem ga imenujemo cikel. Cikel na vozliščih v 1, v 2,..., v n označimo s C n. Gozd je graf brez ciklov. Drevo je povezan graf brez ciklov. 11

Graf G je povezan, če obstaja pot med poljubnim parom vozlišč, sicer je nepovezan. Razdaljo d (v 1, v 2 ) med dvema vozliščema v 1, v 2 V v G definiramo kot število povezav na najkrajši poti med njima. Graf G je poln, če je vsak par različnih vozlišč povezan z natanko eno povezavo. Graf G je dvodelen, če lahko V (G) razbijemo na podmnožici X in Y, tako da ima vsaka povezava grafa G eno krajišče v X in drugo v Y. Graf G je dvodelni graf natanko tedaj, ko ne vsebuje lihih ciklov. Dvodelni graf G = (X Y, E(G)) je polni dvodelni graf, če je vsako vozlišče iz X sosedno z vsakim vozliščem iz Y. Primer dvodelnih grafov so tudi drevesa, hiperkocke, cikli s sodim številom vozlišč. X X K 2,2 = C 4 K 2,4 Y Y Slika 1.1: Polna dvodelna grafa Vozlišča n-dimenzionalne hiperkocke (n-kocke) so vsa zaporedja dolžine n sestavljena iz ničel in enic, dve vozlišči sta sosedni če se razlikujeta v natanko enem mestu. Označimo z Q n = (F n, E), F = {0, 1} in E = {{x, y} d H (x, y) = 1}, kjer je d H (x, y) razdalja med vektorjema x in y, sestavljena iz števila koordinat, v katerih se x in y razlikujeta. Tej razdalji rečemo Hammingova razdalja. Hiperkocke so dvodelni grafi, kjer eno particijo predstavljajo vozlišča s sodim številom enic, drugo particijo pa vozlišča s lihim številom enic. Hiperkocke predstavljajo najbolj raziskovan razred grafov znotraj teorije kodiranja, ker njihova vozlišča lahko označimo z binarnimi vektorji, ki se pojavljajo v teoriji kodiranja. 10 11 100 110 111 101 0 1 00 01 010 011 000 001 Slika 1.2: Prikazane so hiperkocke Q 1, Q 2, Q 3 Graf G je ravninski, če ga lahko narišemo v ravnini tako, da se nobeni njegovi povezavi ne sekata. Če je graf narisan v ravnini na tak način, potem tako risbo imenujemo ravninska vložitev oz. vložitev v ravnino. 12

K 4 Kocka Oktaeder Slika 1.3: Primeri ravninskih grafov K 3,3 K 5 Slika 1.4: Neravninska grafa Znan izrek Kuratowskega, pove, da je graf ravninski natanko tedaj, ko ne vsebuje podgrafa homeomorfnega K 5 ali K 3,3. Vsaka ravninska vložitev ravninskega grafa G razdeli ravnino na območja, ki jih imenujemo lica. Eno od teh lic je neomejeno, in ga imenujemo zunanje lice. Vozlišča in povezave, ki določajo posamezno lice imenujemo rob lica. Vozlišče z enim samim sosedom imenujemo list. Tetraeder Kocka L 2 Oktaeder L 2 L 3 L 4 L 1 L 1 L 3 L 5 L 6 L 4 L 5 L 6 L 3 L 4 L 1 L 2 L 7 L 8 Slika 1.5: Ravninski grafi na katerih so označena lica. Graf Tetraeder ima 4 lica, s številom 4 je označeno zunanje lice. Graf Kocka ima 6 lic, s številom 6 je označeno zunanje lice. Graf Oktaeder ima 8 lic, s številom 8 je označeno zunanje lice 13

Dolžina lica f, kar označimo z b(f), pomeni število povezav, ki omejujejo lice f. ravninski graf, kjer so vsa njegova lica sode dolžine je dvodelni ravninski graf. Vsak G 2 3 1 f 1 4 8 5 f 2 f 3 7 6 Slika 1.6: Graf z lici f 1 = 1, 2, 3, 4, 5, 8, b(f 1 ) = 6, f 2 = 5, 6, 7, 8, b(f 2 ) = 4 in f 3 = 1, 2, 3, 4, 5, 8, b(f 3 ) = 8 G A 1 G B 1 A 3 A 4 B 3 B 4 A 2 B 2 Slika 1.7: Ravninski graf lahko dopušča nekaj različnih ravninskih vložitev, v katerih se lahko dolžine lic razlikujejo. V tem primeru velja b(a 1 ) = 8, b(a 2 ) = 4, b(a 3 ) = 4, b(a 4 ) = 8 in b(b 1 ) = 6, b(b 2 ) = 6, b(b 3 ) = 4, b(b 4 ) = 8. Ker je b(a 1 ) b(b 1 ) in b(a 2 ) b(b 2 ) je dolžina lic različna Ravninski graf G imenujemo maksimalen, če graf, ki ga dobimo iz grafa G z dodajanjem povezave med poljubnima vozliščema grafa G ni več ravninski. V tem primeru torej iz definicije sledi, da so vsa lica, tudi zunanje lice, dolžine tri. Takšne grafe zato imenujemo tudi ravninske triangulacije. Naslednja dva izreka sodita med osnovne ugotovitve o ravninskih grafih. Dokaz obeh izrekov najdemo v knjigi [7]. Izrek 1.1 (Eulerjeva formula) Naj bo G povezan ravninski graf z n vozlišči, e povezavami in f lici. Potem velja n - e + f = 2. (1.1) 14

Izrek 1.2 Ravninski graf z n 3 vozlišči ima kvečjemu 3n 6 povezav in kvečjemu 2n 4 lic. Enakost v obeh primerih velja natanko za ravninske triangulacije. Algoritem polinomske časovne zahtevnosti je algoritem pri katerem se število korakov ne veča nič hitreje kot polinomi, glede na vhodne podatke. Odločitveni problem je tak problem na katerega lahko odgovorimo bodisi pritrdilno ali ne pritrdilno. Za odločitveni problem rečemo, da spada v razred N P problemov, če lahko za poljubnega kandidata za njegovo rešitev odgovorimo pritrdilno v polinomskem času ali je kandidat rešitev problema. Odločitveni problem A je NP-poln, če velja: A je v razredu NP in vsak problem iz razreda NP se da prevesti na A v polinomskem času (učinkovito reševanje problema A ima za posledico učinkovito reševanje vseh problemov iz razreda N P ). Do danes še ni znano ali lahko NP -polne probleme rešimo v polinomskem času. Vsi do sedaj znani algoritmi so eksponentne časovne zahtevnosti, zaradi česar uvrstitev nekega problema v razred NP -polnih problemov velja kot kriterij o veliko težavnosti reševanja tega problema. 1.2 Kode v grafih Naj bo G = (V, E) graf. Neprazna množica vozlišč C iz V se imenuje koda. Vozlišče v V dominira ali pokriva vozlišče u, če je u N [v], kjer je N [v] = N (v) {v} (N [v] imenujemo tudi zaprta soseščina vozlišča v). Za množici C, C V, rečemo, da C dominira ali pokriva C, če so vsa vozlišča iz C dominirana z vozlišči iz C. Množica C V je dominacijska množica ali pokrivna koda grafa G, če C dominira množico vozlišč C. Vozlišče x separira par vozlišč u in v, če x dominira natanko eno izmed vozlišč u in v. Za množici C, C V, rečemo, da C separira C, če za vsak par vozlišč u in v iz C velja, da sta separirani z vsaj enim vozliščem iz C. Vozliščema u in v rečemo zaprta dvojčka (ali enostavno kar dvojčka 1 ), če sta njuni soseščini enaki, velja torej N [u] = N [v]. Množica C V je identifikacijska koda grafa G, če velja: (1) C je dominacijska množica od V (2) C separira V. Z drugimi besedami, za vsako vozlišče v V velja N [v] C, in za vsak par vozlišč u, v iz V je N [u] C N [v] C. 1 V naslednjem poglavju o diskriminatornih kodah bomo uporabili drugačno definicijo dvojčkov, kjer nas bo zanimala odprta soseščina. 15

Za identifikacijsko kodo C grafa G množico K C (v) = N [v] C imenujemo identifikacijska množica vozlišča v. Iz definicije identifikacijske kode sledi, da so vse identifikacijske množice K C (v) med seboj različne. To nam tudi da enostaven postopek, s katerim lahko poleg dominacije, preverimo ali je neka koda identifikacijska koda. V nadaljevanju si bomo tako pogosto pomagali s tabelami. Če je izpolnjen samo drugi pogoj iz definicije identifikacijske kode in so vsa vozlišča z izjemo enega dominirana, potem tako kodo imenujemo separirajoča koda. Zgled 1 Naj bo G graf z množico vozlišč V (G) = {v 1, v 2, v 3, v 4, v 5, v 6 }, in množico povezav E(G) = {(v 1, v 2 ), (v 1, v 4 ), (v 2, v 3 ), (v 2, v 4 ), (v 4, v 5 )}, kot na sliki 1.8. v 1 G v 3 v 2 v 4 v 5 Slika 1.8: Črno obarvana vozlišča predstavljajo identifikacijsko kodo v grafu G Naj bo C = {v 1, v 3, v 5 }. V tabeli imamo v vrsticah vsa vozlišča grafa G, v stolpcu pa vozlišča, ki so v kodi C, krožec v i-ti vrstici in j-tem stolpcu pomeni, da velja v i N [v j ]. Podobno velja tudi za preostale tabele v nadaljevanju. v 1 v 1 v 3 v 5 v 2 v 3 v 4 v 5 Iz tabele je razvidno, da je koda C, minimalna identifikacijska koda, saj je C dominacijska množica in C separira vozlišča grafa G. Zlahka se tudi prepričamo, da potrebujemo vsaj tri vozlišča v kodi, če želimo dominirati in separirati množico 5 vozlišč. Pojem identifikacijske kode lahko posplošimo tako, da v definiciji namesto soseščine izberemo krogle z večjimi radiji. Krogla N r [v], z radijem r in s središčem v vozlišču v V, je množica vozlišč v G, ki so na razdalji kvečjemu r od v, kar označimo z N r [v] = {x V d(u, v) r}. Kadarkoli velja d (u, v) r, pravimo, da u in v r-pokrivata drug drugega. Vozlišče v r-pokriva sebe in vsa ostala vozlišča v krogli s središčem v in radijem 16

r. Množica vozlišč r-pokriva dano vozlišče, če jo pokriva vsaj eno vozlišče iz množice. Za vozlišče v V, se množica N r [v] C imenuje r-identifikacijska množica, označimo jo z K C,r (v) = N r [v] C. Dve vozlišči, ki imata različni r-identifikacijski množici imenujemo r-separirani. Koda C je r-identifikacijska koda, če so identifikacijske množice K C,r (v) za vse v V neprazne in različne. Če zahtevamo le nepraznost (enoličnost izpustimo), potem dobimo r- dominantne množice. Z M r (G) označimo moč najmanjše število elementov v r-identifikacijski kodi grafa G. Dvema posameznikoma rečemo r-dvojčka, če sta njuni soseščini z radijem krogle r enaki. Primer 2-dvojčkov imamo v drevesu, kjer imata dva lista skupnega soseda. V tem primeru sta krogli z radijem 2 in s središčema v teh listih enaki. Osnovno vprašanje je kateri grafi premorejo r-identifikacijske kode. Izrek 1.3 Naj bo G = (V, E) graf in r N. Graf G premore r-identifikacijsko kodo natanko tedaj, ko ne premore r-dvojčkov. Dokaz. Predpostavimo, da je N r [u] N r [v], za u, v V (G), u v. Torej velja N r [u] V (G) N r [v] V (G) in N r [u] V (G), za u V (G), saj je u N r [u] V (G). Množica vseh vozlišč grafa V (G) je torej v tem primeru r-identifikacijska koda grafa G. Naj velja N r [u] = N r [v], za vozlišči u, v V (G), u v. Potem je N r [u] C = N r [v] C, za poljubno kodo C. Torej r-identifikacijska koda v tem primeru ne obstaja. Če strnemo zgornji ugotovitvi v grafu G r-identifikacijska koda obstaja natanko tedaj, ko graf G ne premore r-dvojčkov. Iskanje r-identifikacijske kode je enakovredno iskanju identifikacijske kode v r-ti potenci grafa G. Kjer je r-ta potenca grafa G, definirana kot graf, ki ga označimo z G r, ki ima ista vozlišča kot graf G, pri čemer sta vozlišči v grafu G r v povezavi tedaj, ko sta na razdalji manjši ali enaki r v grafu G. Zgled 2 Naj bo podan 6-cikel na sliki 1.9. Na grafu C 6 bomo poiskali 2-identifikacijsko kodo. C 6 v 6 v 5 v 1 v 4 v 2 v 3 Slika 1.9: Graf 6-cikel C 6 17

Poglejmo si drugo-potenco grafa C 6, ki jo označujemo s C6 2. Kot smo povedali zgoraj je iskanje 2-identifikacijske kode v grafu C 6 enakovredno iskanju identifikacijske kode v grafu C6 2. Na enostaven način se lahko prepričamo, da graf C2 6 na sliki 1.10 ne premore dvojčkov. Torej tudi graf C 6 ne premore 2-dvojčkov. v 6 v 5 v 1 v 4 v 2 v 3 Slika 1.10: Graf C 2 6, ki ga dobimo tako, da v grafu C 6 dodamo povezave med vozlišči, ki so na razdalji kvečjemu 2 v 6 v 5 v 1 v 4 v 2 v 3 Slika 1.11: Graf C 2 6, v katerem so črna vozlišča v identifikacijski kodi V grafu C6 2 velja, da lahko vozlišča razdelimo na tri pare, kjer sta vozlišči v posameznem paru ne-sosedni vozlišči, sicer pa so vsa ostala vozlišča med seboj sosedna. Iz tega sledi, da mora potem iz vsakega para biti vsaj eno vozlišče v identifikacijski kodi, sicer vozlišči iz istega para ne bi bili separirani. Nadalje velja, da za vsako vozlišče iz kode potrebujemo, zato, da bo separirano od preostalih vozlišč v kodi, vozlišče iz pripadajočega para. potrebujemo za vsak par, razen enega para, ki pa je edini par, v katerem je eno vozlišče v kodi drugo pa izven kode. v 1 v 2 v 3 v 4 v 5 v 1 v 2 v 3 v 4 v 5 v 6 Iz tabele se lahko prepričamo, da taka množica zadostuje obema pogojema iz definicije identifikacijske kode. Torej smo našli identifikacijsko kodo za graf C6 2, kar pa hkrati predstavlja 2-identifikacijsko kodo za graf C 6, torej velja M 2 (6) = 5. To 18

Poglavje 2 Osnovno o diskriminatornih kodah v dvodelnih grafih V tem poglavju, najprej podamo osnovne definicije povezane z diskriminatornimi kodami in nekaj primerov. Potem določimo zgornjo in spodnjo mejo za moč najmanjše diskriminatorne kode, glede na število vozlišč danega grafa. Naj bo G = (V = P A, E) povezan, enostaven in neusmerjen dvodelni graf in E {{p, a} p P, a A}, kjer s P označujemo množico posameznikov, z A pa množico atributov oz. lastnosti. 1. Koda C je neprazna podmnožica A. Za vsak element p P, označimo s K C (p) = N (p) C množico vozlišč iz A, ki so iz kode in sosede vozlišča p. Za vozlišči p in t s K C (p) K C (t) rečemo, da sta diskriminirani s kodo C. Definicija 1 Podmnožici C množice A rečemo diskriminatorna koda grafa G, če velja: (1) p P : N(p) C in (2) p t P : N(p) C N(t) C. C je torej diskriminatorna, če so vse množice K C (p), p P, neprazne in različne. drugimi besedami, vsa vozlišča v množici P so diskriminirana in pokrita s C. Motivacija za takšno definicijo izvira iz primera, ko množici P in A predstavljata množico posameznikov in množico lastnosti (atributov), kjer ima posameznik iz množice P določene lastnosti iz množice A in bi radi diskriminirali posameznike na podlagi določenih lastnosti. Diskriminatorne kode so v tesni sorodnosti z identifikacijskimi kodami, kot bomo videli v nadaljevanju. Z D 1 (G) označimo število elementov v najmanjši diskriminatorni kodi grafa G. 1 Zaradi splošne in pogoste uporabe besede lastnost, bomo v tem delu raje uporabljali tujko atribut z namenom lažje razumljivosti besedila. Medtem ko se beseda lastnost nanaša na poljubno značilnost nekega pojma, z besedo atribut vedno mislimo na element nekega dvodelnega grafa, katerega množico vozlišč delimo na množico posameznikov in množico atributov. Z 19

Zgled 3 Na osnovni šoli so naključnih deset učencev 8. razreda vprašali s katerimi športi se ukvarjajo. Igor je rekel, da trenira nogomet in košarko. Alenka hodi na ples in trenira rokomet, odbojko in tenis. Tadej trenira nogomet in smučanje. Nina trenira košarko in tenis. Robi trenira nogomet, kolesarstvo in tenis. Karmen trenira plavanje, smučanje, ples in šah. Ivan trenira ples in košarko. Mateja trenira nogomet in ples. Mitja trenira košarko in smuča. Tina trenira tenis in smučanje. V množico posameznikov spadajo vsi anketirani učenci: Igor, Alenka, Tadej, Nina, Robi, Karmen, Ivan, Mateja, Mitja in Tina. V množico atributov pa spadajo vsi športi s katerimi se ukvarjajo učenci: nogomet, rokomet, košarka, kolesarstvo, odbojka, smučanje, plavanje, tenis, ples in šah. Z dvodelnim grafom to lahko prikažemo kot na sliki 2.1, kjer dodamo povezavo med posameznikom in atributom tedaj, ko določeni posameznik premore določeni atribut. POSAMEZNIKI Igor Alenka Tadej Nina Robi Karmen Ivan Mateja Mitja Tina G ATRIBUTI NOGOMET ROKOMET KOŠARKA KOLESARSTVO ODBOJKA SMUČANJE PLAVANJE TENIS PLES ŠAH Slika 2.1: Dvodelni graf za primer iz zgleda 3 V diskriminatorno kodo vključimo atribute: nogomet, košarka, smučanje, tenis. Velja torej D 1 (G) = 4. V nadaljevanju bomo dokazali spodnjo mejo za minimalno diskriminatorno kodo glede na število posameznikov. 20

S pomočjo tabele, se lahko prepričamo, da imajo vsi posamezniki različne atribute. Nogomet Košarka Smučanje Tenis Igor Alenka Tadej Nina Robi Karmen Ivan Mateja Mitja Tina Če povemo, da se oseba ukvarja samo s tenisom, potem je to Alenka. Podobno lahko na podlagi hobijev diskriminiramo ostale osebe. Za p P definirajmo N r (p) = {a A d(p, a) r}. Koda C A je r-diskriminatorna, r je liho število, če so množice K C,r (p) = N r (p) C, neprazne in različne. Dvema posameznikoma, p, t, rečemo r-dvojčka, če velja N r (p) = N r (t). v 4 v 1 v2 v 3 Slika 2.2: Vozlišči v 1 in v 3 imata isto odprto soseščino, to je vozlišče v 2, zato sta dvojčka Izrek 2.1 Za dan dvodelni graf G = (P A, E) obstaja r-diskriminatorna koda C A natanko tedaj, ko velja: p, t P (p t), N r (p) N r (t). Dokaz. Če sta N r (p) in N r (t) različna za vse p, t P, potem je C = A diskriminatorna. Nasprotno pa, če sta N r (p) in N r (t) enaka za nekatere p, t P, potem velja za katero koli kodo C A K C,r (p) = K C,r (t). Dvodelni graf premore vsaj eno diskriminatorno kodo natanko tedaj ko nima dvojčkov. 21

Zgled 4 Na grafu G iz slike 2.3 želimo poiskati najmanjšo 3-diskriminatorno kodo. POSAMEZNIKI G ATRIBUTI a 1 a 2 p 2 a 3 p 3 a 4 a 5 Slika 2.3: Dani graf ima 3 posameznike in 5 atributov Podobno kot v primeru iskanja r-identifikacijskih kod, si lahko tudi tukaj pomagamo z r-to potenco grafa, vendar za razliko od običajne potence dodajamo samo povezave med posamezniki in atributi, ki so na razdalji kvečjemu r. G 3 ATRIBUTI POSAMEZNIKI a 1 a 2 p 2 a 3 p 3 a 4 a 5 Slika 2.4: V grafu G 3 dodamo povezavam iz grafa G še povezave med posamezniki in atributi, ki so na razdalji kvečjemu tri 22

S pomočjo tabele se zlahka prepričamo, da je množica C = {a 1, a 5 } minimalna diskriminatorna koda. a 1 a 5 p 2 p 3 Za prvoten graf G je torej C minimalna 3-diskriminatorna koda, velja torej D 3 (G) = 2. V kolikor ni drugače rečeno naj bodo v nadaljevanju vsi grafi, ki jih bomo obravnavali, dvodelni grafi brez dvojčkov. Lema 2.2 Diskriminatorna koda C A je minimalna glede na vključitev natanko tedaj, ko velja: c C, p, t P : (N(p) C) (N(t) C) = {c}, ali k P : N(k) C = {c}, kjer predstavlja simetrično razliko množic 2. Dokaz. Če je pogoj iz Leme (2.2) izpolnjen, potem odstranitev poljubnega atributa iz C vodi do kode, ki ni več diskriminatorna: dva posameznika p in t bodisi nista več separirana ali pa koda več ne pokriva množice A. Če pogoj iz leme (2.2) ni izpolnjen za nekatere c 0 C, potem je C\ {c 0 } še vedno diskriminatorna koda. Problem diskriminatorne kode lahko prikažemo z binarno matriko: A = (a ij ), kjer vrstice predstavljajo posameznike in stolpci atribute, v primeru, da ima posameznik i atribut j potem velja a ij = 1, sicer je a ij = 0. Binarna matrika predstavlja diskriminatorno kodo, če stolpci inducirajo podmatriko z ne ničelnimi vrsticami in s samimi različnimi vrsticami. Lema 2.3 Naj C predstavlja število vrstic podmatrike C matrike A, ki predstavlja kodo C in P število stolpcev, ki predstavljajo posameznike. Če je diskriminatorna koda C A minimalna koda glede na vključitev, potem so vrstice C linearno neodvisne, torej velja C = rank(c) rank(a). Iz tega sledi C P. 2 A B = ( (A \ B) (B \ A) = (A B) \ (A B) 23

Dokaz. Po lemi 2.2 obstajata za poljubno vrstico c iz C, stolpca p, t iz A, ki se razlikujeta natanko v c, ali pa obstaja stolpec k v C, katerega edini neničelni element je v vrstici c. Poljubna kombinacija vrstic, ki vključujejo c, vodi torej k ne ničelni konfiguraciji v stolpcih p, t ali v stolpcu k. Neenakost sledi, saj velja rank(c) rank(a) P. Ugotovili smo, da nikoli ne potrebujemo več atributov kot je posameznikov, da bi diskriminirali vse posameznike. Če v definiciji diskriminatorne kode spustimo pogoj o nepraznih množicah K C (p) in dovolimo za kvečjemu en element t, da je K C (t) prazna, dobimo definicijo separirajoče kode. Naslednja lema se dokaže na povsem enak način kot lema 2.2. Lema 2.4 Separirajoča koda C A je minimalna glede na vključitev natanko tedaj, ko velja: c C, p, r P : (N(p) C) (N(r) C) = {c}. Za minimalno separirajočo kodo C definiramo graf H(G, C) na sledeči način: H(G, C) ima za vozlišča množico posameznikov P in za vsak element c C bomo dodali natanko eno povezavo med p in t, kjer velja (N(p) C) (N(t) C) = {c} in to povezavo označili s c. Pri tem je potrebno omeniti, da v splošnem graf H(G, C) ni enolično določen. Zgled 5 Naj bo podan graf kocke Q 3. Posamezniki naj bodo vektorji z lihim številom enic in atributi vektorji s sodim št. enic. V kodi so trije vektorji {000, 101, 110}, po vrsti jih označimo z imeni a, b, c, kot na sliki 2.5. Vektor 111 pokrivata vektorja b in c, vektor 010 111 000 = a 010 101 = b 001 110 = c 100 011 Slika 2.5: Primer dvodelnega grafa Q 3 in kode C = {a, b, c} pokrivata vektorja a in c, vektor 001 pokrivata vektorja a in b, vektor 100 pokrivajo vektorji a, b in c. 24

Pri tem velja: K C (111) K C (100) = {a} K C (010) K C (100) = {b} K C (001) K C (100) = {c} Grafu H(G, C) smo dodali povezavo med vozliščema 111 in 100 in jo označili z a, povezavo 001 111 a 100 c b 010 Slika 2.6: Graf H(Q 3, C) med vozliščema 010 in 100 in jo označili z b, povezavo med vozliščema 001 in 100 in jo označili s c. Lema 2.5 Za separirajočo kodo C, ki je minimalna za vključitev velja C P 1. Dokaz. Želimo dokazati, da graf H(G, C) ne premore cikla. Predpostavimo nasprotno, torej, da v grafu imamo cikel. Recimo, p 2,..., p k,, kjer so povezave {p i, p i+1 }, 1 i k 1 označene s kodnimi elementi c i in povezavo {p k, } označimo s c k. Kar pomeni (N(p i ) C) (N(p i+1 ) C) = {c i } in (N(p k ) C) (N( ) C) = {c k } p k c k c 1 p 2 c 2 p 3 Slika 2.7: Prikaz cikla 25

Brez izgube za splošnost predpostavimo, da velja za povezavo c 1 med vozliščema, p 2 : c 1 (N( ) C), c 1 / (N(p 2 ) C). Ker c 1 c 2 in {c 2 } = (N(p 2 ) C) (N(p 3 ) C), c 1 tudi ne pripada N(p 3 ) C. Z istimi argumenti velja da c 1 / (N(p 4 ) C),..., c 1 / (N(p k ) C). Z istim argumentom sledi, da tudi c 1 / (N( ) C). To pa je protislovje s prvotno predpostavko. Torej graf H(G, C) nima ciklov, torej je graf H(G, C) gozd. Za vsak gozd pa velja, da je število povezav kvečjemu enako n 1, kjer je n število vozlišč. S tem je lema 2.5 dokazana. V nadaljevanju se posvetimo spodnjim mejam. Naj bo G = (V = P A, E) dvodelen graf in naj bo C diskriminatorna koda v G. Iz C kodnih elementov lahko dobimo največ 2 C 1 različnih in nepraznih kombinacij. Iz tega potem sledi: P = 2 C 1 P + 1 = 2 C log 2 (P + 1) = log 2 (2 C ) log 2 (P + 1) = C. S tem smo pokazali spodnjo mejo za moč minimalne diskriminatorne kode za dvodelni graf s P posamezniki, C log 2 ( P +1). Ta meja je lahko dosežena naprimer z grafom, kjer ima množica atributov A n elementov, množica posameznikov P pa ima 2 n 1 elementov, ki predstavljajo neprazne podmnožice množice {1, 2,..., n} in je atribut a k v povezavah s podmnožicami, ki vsebujejo k. Naj bo α max = max{deg(a) a A} in α min = min {deg(a) a A}. Če je α max = α min = α, rečemo, da je G atributno-regularen graf stopnje α. Lema 2.6 Naj bo C diskriminatorna koda v dvodelnem grafu G. Potem velja Za atributno-regularen graf G stopnje α, velja { } 2 P C max α max + 1, 2 P. (2.1) P α min + 2 { } 2 P C max α + 1, 2 P. (2.2) P α + 2 Dokaz. Ker je C diskriminatorna koda v grafu G, je lahko z natanko enim atributom iz kode pokritih največ C posameznikov, ostali posamezniki so lahko pokriti z vsaj dvema atributoma iz kode. Torej velja C α max 1 C + 2 ( P C ), iz česar sledi C 2 P α max + 1. (2.3) 26

Podoben argument za separirajočo kodo D vodi do D α max 0 1 + 1 D + 2 ( P D 1), ali: D 2 P 2 α max + 1. (2.4) Naj bo v nadaljevanju podan dvodelni graf G = (V = P A, E), kjer je P = P {p}, graf G dobimo iz grafa G tako da preprosto dodajamo posameznika p. Koda C je separirajoča koda v grafu G in zato tudi v dvodelnem komplementarnem grafu G 3 vključuje P + 1 posameznikov in ima maksimalno stopnjo P +1 α min. Z uporabo neenakosti (2.4) dobimo: C iz tega skupaj z neenakostjo (2.3) dobimo neenakost (2.1). 2 P P α min + 2, (2.5) Neenakost (2.3) je dosežena na primeru grafa iz slike (2.8) to so, grafi z 2i vozlišči, P = {p k 1 k i}, A = {a k 1 k i}, E = {{p k, a k } 1 k i}, pri tem je α max = α min = α = 1 in C = A je edina diskriminatorna koda, moči P. a 1 p 2 a 2 p 3 a 3 p k a k Slika 2.8: Primer grafa popolnega prirejanja 3 Z dvodelnim komplementarnim grafom grafa G mislimo na dvodelni graf G, ki ima enako množico vozlišč kot graf G, vozlišči pa sta v povezavi v grafu G natanko tedaj, ko nista v povezavi v grafu G. 27

Zgled 6 V tem zgledu bomo uporabili lemo 2.3. Fanovo konfiguracijo sestavlja sedem posameznikov 1,2,3,4,5,6,7 in sedem atributov a,b,c,d,e,f,g. Posameznik ima atribut natanko tedaj, ko posameznik pripada premici označeni z atributom, kot je prikazano na sliki 2.9 1 c a 3 e b 7 g f 6 4 d 5 2 Slika 2.9: Fanova konfiguracija, odebeljene povezave predstavljajo kodne elemente v minimalni 1-diskriminatorni kodi Konfiguracijo lahko predstavimo z incidenčno matriko A, v kateri so stolpci označeni kot točke konfiguracije in označeni od 1 do 7, vrstice pa označene kot premice konfiguracije označena s črkami od a do g: 1 2 3 4 5 6 7 a 1 1 0 0 0 1 0 b 0 1 1 0 0 0 1 c 1 0 1 1 0 0 0 d 0 1 0 1 1 0 0 = A e 0 0 1 0 1 1 0 f 0 0 0 1 0 1 1 g 1 0 0 0 1 0 1 Fanovi konfiguraciji priredimo še dvodelni graf, kjer množico vozlišč predstavljata particiji točk in premic konfiguracije. Povezave so med točkami in med premicami natanko tedaj, če točka leži na premici oz. premica vsebuje točko. Ta graf ima 14 vozlišč in 21 povezav in je znan tudi pod imenom Heawoodov graf. V splošnem tako prirejenemu dvodelnemu grafu konfiguracije rečemo Levijev graf. 28

g 1 a 2 1 2 a b 7 b 3 c f 3 4 d 6 c 5 e e 5 d 4 6 7 f g Slika 2.10: Heawoodov graf kot Levijev graf Fanove konfiguracije, predstavljen na dva različna načina Lema 2.7 V Fanovi konfiguraciji je poljubna minimalna 1-diskriminatorna koda velikosti 4. Dokaz. Naj bo C minimalna diskriminatorna koda v Fanovi konfiguraciji. Naj F 2 označuje polje z elementoma {0, 1}, pri tem zlahka preverimo, da je F 2 rank incidenčne matrike A Fanove konfiguracije 4. Po lemi 2.3 sledi, da velja C 4. Po drugi strani pa lahko uporabimo neenakost (2.2), kjer je z α = 3, iz česar sledi C 2 7 4 = 4. Torej je minimalna 1-diskriminatorna koda moči 4. Primer take kode je recimo množica {a, b, f, g}. V nadaljevanju si poglejmo kompleksnost reševanja problema iskanja najmanjše diskriminatorne kode. Za poljuben graf G tvorimo dvodelni graf G na sledeči način: P = V, A = {B 1 (v) v V }, E = {{p, B 1 (v)} p B 1 (v), v V }. Graf G imenujemo tudi graf pripadnosti 1-kroglam grafa G. Zgled 7 Na sliki 2.11 je podan graf G = K 1,3. V nadaljevanju bomo konstruirali dvodelni graf G glede na definicijo. G v 4 v 1 v2 v 3 Slika 2.11: Graf G, kjer so vozlišča v 1, v 3, v 4 v identifikacijski kodi 29

V grafu G imamo množico posameznikov P = {v 1, v 2, v 3, v 4 }, množico atributov A = {B 1 (v 1 ), B 1 (v 2 ), B 1 (v 3 ), B 1 (v 4 )}, s kroglami B 1 (v 1 ) = {v 1, v 2 }, B 1 (v 2 ) = {v 1, v 2, v 3, v 4 }, B 1 (v 3 ) = {v 2, v 3 }, B 1 (v 4 ) = {v 2, v 4 } in množico povezav E(G) = {{v 1, B 1 (v 1 )}, {v 1, B 1 (v 2 )}, {v 2, B 1 (v 1 )}, {v 2, B 1 (v 2 )}, {v 2, B 1 (v 3 )}, {v 2, B 1 (v 4 )}, {v 3, B 1 (v 2 )}, {v 3, B 1 (v 3 )}, {v 4, B 1 (v 2 )}, {v 4, B 1 (v 4 )}}. Graf G je prikazan na sliki 2.12. G v 1 v 2 B 1 (v 1 ) B 1 (v 2 ) v 3 B 1 (v 3 ) v 4 B 1 (v 4 ) Slika 2.12: Graf G, kjer vozlišča B 1 (v 1 ), B 1 (v 3 ), B 1 (v 4 ) tvorijo minimalno diskriminatorno kodo Pri tem opazimo, da diskriminatorna koda v G ustreza identifikacijski kodi v G in obratno, da identifikacijska koda v G ustreza diskriminatorni kodi v G. S tabelo za graf G si to predstavljamo takole: v 1 v 1 v 3 v 4 v 2 v 3 v 4 V vrsticah imamo vsa vozlišča, v stolpcu pa atribute, ki so v kodi. S tabelo za graf G si to predstavljamo takole: v 1 B 1 (v 1 ) B 1 (v 3 ) B 1 (v 4 ) v 2 v 3 v 4 V vrsticah imamo vsa vozlišča, v stolpcu pa atribute, ki so v kodi. Velja torej M 1 (G ) = 3 in D 1 (G) = 3. Pojem grafa pripadnosti 1-kroglam lahko posplošimo za poljuben r, r 2, s pojmom grafa pripadnosti r-kroglam: 30

P = V, A = {B r (v) v V }, E = {{p, B r (v)} p B r (v), v V }. V nadaljevanju bomo dokazali splošnejšo trditev za r-identifikacijske in r-diskriminatorne kode. Da bi se izognili dvoumnosti pri proučevanju grafov G = (V = P A, E) in G = (V, E ), bomo uporabili zapis d G (x 1, x 2 ) za razdaljo med vozliščema x 1, x 2 V in d G (y 1, y 2 ) za razdaljo med vozliščema y 1, y 2 V. Oznako B r (x) bomo uporabljali le za vozlišča iz množice P V. Izrek 2.8 Sledeč odločitveni problem je NP-poln problem: Ime: r-diskriminacija (r-disk). Primer: Dvodelni graf G = (V = P A, E), celo število k. Vprašanje: Ali obstaja r-diskriminatorna koda C A moči kvečjemu k? Dokaz. Najprej vidimo, da r-disk pripada kompleksnemu razredu NP, saj za dano množico C A zlahka v polinomskem času, z ozirom na število vozlišč grafa G, preverimo ali je C r-diskriminatorna koda ustrezne velikosti. Nato naslednji NP-poln problem polinomsko pretvorimo do problema r-disk: Ime: r-identifikacija (r-id). Primer: Graf G = (V, E ), celo število k. Vprašanje: Ali obstaja v grafu G r-identifikacijska koda moči kvečjemu k? Pri tem velja k = k. V članku [5] je dokazano, da problem r-id spada med NP-polne probleme. Pretvorba je polinomske časovne zahtevnosti z ozirom na velikost primera (G, k ) ne glede na parameter r. Trdimo, da obstaja v grafu G r-identifikacijska koda kvečjemu enaka k natanko tedaj, ko obstaja v G r-diskriminatorna koda kvečjemu enaka k. To bo neposredna posledica sledečega dejstva (r je lih): x, v V = P, d G (x, B 1 (v)) r d G (x, v) r. (2.6) Naj v grafu G obstaja pot x, u 1, v 1, u 2, v 2,..., u t, v t, B 1 (v) z 2t+2 r+1, u i A in v j P. Za vozlišče u i = B 1 (z i ), z i V ima obstoj poti x, z 1, v 1, z 2, v 2,..., z t, v t, v v grafu G ima za posledico, da velja d G (x, y) d G (x, B 1 (v)) r. Primer je podan na sliki 2.13, s potjo med vozliščem x in vozliščem B 1 (v) v grafu G za primer n = 3. 31

G P A x u 1 = B 1 (z 1 ) v 1 u 2 = B 1 (z 2 ) v 2 u 3 = B 1 (z 3 ) v 3 B 1 (v) G z 2 x v 1 v 2 v 3 z 1 z 3 v Slika 2.13: Pot v grafu G na 8 vozliščih in njegova ustrezna pot v G Dokažimo še v drugo stran. Predpostavimo, da v G obstaja pot x, z 1, z 2,..., z t, v, z t+2 r+1. Upoštevajmo, da je t lih, potem je t r 2, ker je r lih. Če je t sod, potem v G obstaja pot x, B 1 (z 1 ), z 2,..., z t 2, B 1 (z t 1 ), z t, B 1 (v), ki ima kvečjemu t + 2 vozlišč, t r 1. Če je t lih, potem v G obstaja pot x, B 1 (z 1 ), z 2,..., B 1 (z t 2 ), z t 1, B 1 (z t ), (z t ), B 1 (v), ki ima kvečjemu t + 3 vozlišč, z t r 2. Tako je v obeh primerih d G (x, B 1 (v)) r. To je ponazorjeno na sliki 2.14, s potema na 6 in 5 vozlišč v G za primer n = 3, 4. G G x z 1 z 2 z 3 z 4 v x z 1 z 2 z 3 v G P A G P A x B 1 (z 1 ) x B 1 (z 1 ) z 2 B 1 (z 3 ) z 2 B 1 (z 3 ) z 4 B 1 (v) z 3 B 1 (v) Slika 2.14: Pot v grafu G na 6 in 5 vozliščih in njuna ustrezna pot v G 32

Sedaj lahko dokažemo, da v G obstaja r-identifikacijska koda C kvečjemu enaka k natanko tedaj, ko v G obstaja r-diskriminatorna koda C kvečjemu enaka k. Če C obstaja, vzamemo C = {B 1 (v) v C } A. Ker je poljubno vozlišče x V oddaljeno za največ r od v C, z uporabo lastnosti 2.6 dobimo d G (x, B 1 (v)) r, za vse x P. Prav tako, za poljubni vozlišči x, y V, obstaja v C tako, da velja d G (x, v) r in d G (y, v) > r, vozlišče v r-separira elementa x in y, kar sledi iz lastnosti 2.6 in dejstva, da za vse x, y P obstaja B 1 (v) iz A, tako da velja d G (x, B 1 (v)) r in d G (y, B 1 (v)) > r. To dokazuje, da je C r-diskriminatorna koda grafa G, ki ima kvečjemu k = k elementov. Predpostavimo, da imamo r-diskriminatorno kodo C A v G. Potem obstaja C V, pri čemer velja, da je C = {B 1 (v) v C }. Trdimo, da je C r-identifikacijska koda v grafu G. Poljubno vozlišče x P je oddaljeno za največ r od B 1 (v) C. Iz lastnosti 2.6 sledi, da je za vse x V obstaja v C tako, da velja d G (x, v) r. Prav tako za poljubni vozlišči x, y P obstaja B 1 (v) C tako, da velja d G (x, B 1 (v)) r in d G (y, B 1 (v)) > r. Z uporabo lastnosti 2.6 sledi, da za vse x, y V obstaja v C, tako da velja d G (x, v) r in d G (y, v) > r. To dokazuje, da je C r-identifikacijska koda v grafu G. S tem smo pokazali, da če znamo učinkovito rešiti problem r-disk, znamo učinkovito rešiti problem r-id. Ker pa je pokazano v članku [5], da problem r-id pripada razredu NP-polnih problemov, potem tudi problem r-disk pripada razredu NP-polnih problemov. 33

Poglavje 3 Povezava med identifikacijskimi in diskriminatornimi kodami v hiperkockah Za binarni vektor x F n je Hammingova teža definirana kot razdalja do ničelnega vektorja, torej kot število njegovih neničelnih koordinat. Za vektor rečemo, da je sod (oziroma lih), če je njegova teža soda (oziroma liha). Z E n (oziroma O n ) označimo množico 2 n 1 sodih (oziroma lihih) vektorjev v F n. Za problem r-diskriminatorne kode izberemo zaradi simetričnosti, brez izgube za splošnost kot množico atributov A množico E n in kot množico posameznikov P množico O n. Vsoto dveh vektorjev definiramo po koordinatah, kjer seštevamo po modulu 2. 1110 1111 1100 1101 1010 1011 0110 0111 1000 0011 0100 0101 0010 0011 0000 0001 Slika 3.1: Kocka Q 4 34

Z 0 n (oziroma 1 n ) označimo ničelni vektor dolžine n (oz. vektor samih enic dolžine n). Definiramo funkcijo π : F n {0, 1}, kjer za x F n velja π(x) = 0, če je x sodi vektor in π(x) = 1, če je x lihi vektor. Naj predstavlja konkatenacijo oz. lepljenje vektorjev 1, glede na definicijo funkcije π(x) je x π(x) vedno sodi vektor. Za množico X F n 1 in množico Y F n 2 definirajmo direktno vsoto kot množico X Y = {x y F n 1+n 2 x X, y Y }. Zgled 8 Poglejmo si primer 1-identifikacijske kode in 1-diskriminatorne kode na kockah Q 3 in Q 4 Na kocki Q 3 poiščemo 1-identifikacijsko kodo.splošna spodnja meja da C log 2 ( P + 1) = 3, torej potrebujemo vsaj 3 vozlišča v kodi. Ne moremo pa imeti enega izoliranega vozlišča v kodi in dveh sosednih vozlišč, ker bi potem imeli dvojčka. Ne moremo pa imeti treh izoliranih vozlišč v kodi, ker potem vsaj eno ne bi bilo separirano z vozliščem iz nekode. Zato potrebujemo vsaj 4 vozlišča v kodi, kar pa tudi zadošča. Na primer koda C = {000, 001, 101, 100} je identifikacijska koda grafa Q 3. 100 101 110 111 010 011 000 001 Slika 3.2: 1-identifikacijska koda v grafu Q 3 S tabelo, si to lažje predstavljamo na sledeči način, kjer imamo v vrsticah vsa vozlišča grafa Q 3, v stolpcih pa vsa vozlišča, ki so v kodi: 000 001 101 100 000 001 101 100 010 011 111 110 1 Primer konkatenacije dveh binarnih vektorjev: 10110101. a = 101, b = 10101 a b = 101 10101 = 35

Dodamo en bit na koncu vsakega binarnega vektorja glede na vrednost funkcije π. Naredili bomo novo tabelo, v kateri bodo v vrsticah lihi vektorji grafa Q 4, v stolpcu pa vektorji iz kode C = {0000, 0011, 1010, 1001}, ki jo dobimo iz kode C tako, da vektor c C nadomestimo z vektorjem c π(c). 0000 0011 1010 1001 0001 0010 0100 1000 0111 1011 1101 1110 S pomočjo tabele se lahko prepričamo, da je to res 1-diskriminatorna koda grafa Q 4. Pri tem velja D 1 (Q 4 ) = M 1 (Q 3 ). V nadaljevanju pokažemo splošnejši izrek, ki nam pove, da je podobna konstrukcija uporabna tudi v splošnem in da smo v zgornjem primeru dobili optimalno diskriminatorno kodo. Izrek 3.1 Za n 2 in p 0, kjer je 2p + 1 < n, velja D 2p+1 (Q n+1 ) = M 2p+1 (Q n ). Dokaz izreka 3.1 bomo razdelili v dokazovanje dveh lem, kjer bomo dokazali, da za poljubno liho število r 1, lahko poljubno r-identifikacijsko kodo v F n pretvorimo v r-diskriminatorno kodo v F n+1 in poljubno r-diskriminatorno kodo v F n lahko pretvorimo v r-identifikacijsko kodo v F n 1 in pri tem ohranimo velikost kode. Lema 3.2 Naj bosta n 2, p 0 taka, da velja 2p + 1 < n. Naj bo C F n (2p+1) identifikacijska koda in naj bo C = {c π(c) c C}. Potem je C (2p+1) diskriminatorna koda v F n+1. Pri tem velja D 2p+1 (Q n+1 ) M 2p+1 (Q n ). Dokaz. Naj bo r = 2p+1. Koda C vsebuje le sode vektorje. Dokazali bomo: (a) poljuben lihi vektor x O n+1 je r-pokrit z vsaj enim vektorjem iz C in (b) za poljubna dva različna vektorja x, y O n+1 obstaja vsaj en vektor iz kode v C, ki ju r-separira. 36

(a) Naj bo x = x 1 x 2, pri čemer x 1 F n, x 2 F. Ker je C r-identifikacijska koda v F n, potem obstaja vektor c C, da velja d(x 1, c) r. Naj bo c = c π(c). Če je d(x 1, c) r 1, potem, za poljubni vrednosti x 2 in π(c), velja d(x, c ) r 1+1 = r. Nadalje predpostavimo, da je d(x 1, c) = r = 2p + 1, ker je r lih, iz tega sledi, da sta x 1 in c različnih parnosti(eden je lih, drugi pa sod). Ker smo na začetku dokaza predpostavili, da je x iz množice lihih vektorjev, c pa je vedno iz množice sodih vektorjev, imata različne parnosti tudi x 1 x 2 in c π(c). Ker pa sta x 1 in c tudi različnih parnosti, morata biti novi koordinati enaki, da oba še naprej ostaneta različnih parnosti, torej je x 2 = π(c), kar pa pomeni, da to ne vpliva na razdaljo med x in c zato sledi d(x, c ) = r. Torej c C r-pokriva vektor x. (b) Naj bodo x = x 1 x 2, y = y 1 y 2, pri čemer velja x 1, y 1 F n in x 2, y 2 F. Ker je C r-identifikacijska koda v F n, obstaja vektor c C na razdalji r do vektorja x 1 in strogo večji razdalji do vektorja y 1, torej d(x 1, c) r in d(y 1, c) > r. Naj bo c = c π(c). Vektor x je prav tako na razdalji r do vektorja c medtem, ko velja d(y, c ) d(y 1, c) > r, saj novi bit ne more zmanjšati razdalje med vektorjema. Torej vektor c r-separira vektorja x in y. Lema 3.3 Naj bosta n 3, p 0 taka, da velja 2p + 2 < n. Naj bo C E n (2p+1)- diskriminatorna koda in naj bo C F n 1 koda, dobljena z odstranitvijo poljubne fiksne koordinate vsem vektorjem iz C. Potem je C (2p+1)-identifikacijska koda v F n 1. Pri tem velja M 2p+1 (Q n 1 ) D 2p+1 (Q n ). Dokaz. Naj bo r = 2p+1. Naj bo C E n r-diskriminatorna koda in naj bo C F n 1 koda dobljena z odstranitvijo zadnje koordinate v C. Dokazali bomo (a) poljuben vektor x F n 1 je r-pokrit z vsaj enim vektorjem iz C in (b) za poljubna dva različna vektorja x, y F n 1 obstaja vsaj en atribut iz C, ki ju r-separira. (a) Vektor x (π(x) + 1) F n je lih. Kot tak je r-pokrit z vektorjem c = c u C E n, c C, u = π(c ) in d(x (π(x) + 1), c) r, saj se z brisanjem ene koordinate razdalja ne more povečati, ampak ostane kvečjemu enaka. To dokazuje, da je vektor x na razdalji r do vsaj enega vektorja iz kode C. (b) Vektorja x (π(x) + 1) in y (π(y) + 1) sta liha vektorja v F n. Obstaja vektor c = c u C E n, c C, u = π(c ), ki ju r-separira. Brez izgube za splošnost lahko predpostavimo, da velja d(x (π(x) + 1), c) r in d(y (π(y) + 1), c) > r. Ker je r liho število je torej d(y (π(y) + 1), c) r + 2. Potem je očitno d(x, c ) r, ker se s krajšanjem vektorja oz. brisanjem zadnje koordinate ne more povečati razdalja. Če se že zmanjša, se zmanjša za kvečjemu 1, iz česa pa sledi d(y, c ) r +2 1 = r +1 ali drugače povedano, obstaja atribut iz C, ki r-separira x in y. 37

Izbira zadnje koordinate pri tem ne igra nobene vloge, zato lahko enak dokaz uporabimo tudi za primere, ko odstranimo poljubno fiksno koordinato. 38

Poglavje 4 Algoritem iskanja minimalne diskriminatorne kode v drevesu Naj bo T = (V = P A, E) drevo z n vozlišči in brez dvojčkov. List l V je vozlišče z enim samim sosedom, ki ga označimo z n(l). Če je l P, potem je n(l) A in ni nobenega drugega lista katerega sosed je n(l), saj je T brez dvojčkov. Opazimo lahko tudi, da za list l A velja, da je n(l) P in vsak list s sosedom n(l) je atribut. Če obstaja nekaj listov s sosedom n(l), potem je očitno, da bo med njimi največ eden pripadal minimalni diskriminatorni kodi. Nit imenujemo katerokoli pot v grafu za katero je en konec te poti list, kar imenujemo konec niti, začetek pa je vozlišče s stopnjo najmanj tri, kar imenujemo začetek niti in imajo vsa vmesna vozlišča stopnjo dve. Vejitev imenujemo katerokoli vozlišče s stopnjo najmanj tri, ki je začetek vsaj dveh niti. V T obstajajo vejitve, saj T ni pot. Vejitev je lahko iz množice posameznikov ali iz množice atributov. Najprej pokažemo kako lahko problem bodisi rešimo ali pa ga pretvorimo v enega ali več manjših problemov, nato pokažemo da ta pristop vodi do algoritma s polinomsko časovno zahtevnostjo, glede na število vozlišč drevesa. a 3 p 4 a 4 p 5 a 9 a 1 p 2 a 2 p 3 a 5 a 10 p 6 a 7 p 7 a 11 a 6 p 8 a8 Slika 4.1: Na tem grafu so barvno poudarjene niti, vozlišča, p 3 in a 6 so vejitve 39

4.1 Poti Za pot dolžine največ štiri so na sliki 4.2 prikazane vse možnosti za minimalno diskriminatorno kodo do izomorfizmov natančno. V nadaljevanju si bomo pogledali poti dolžine L 5 glede na dve različni možnosti. a 1 a 1 a 2 P P A A a 1 a 1 a 2 P A a 1 a 1 p 2 a 2 p 2 a 2 a 1 a 2 p 2 p 2 a 3 P A a 1 a 2 a 3 a 1 P A a 2 a 2 p 2 a 3 p 2 a 3 a 1 a 1 p 2 p 2 a 2 p 3 p 3 P A a 1 a 2 Slika 4.2: Poti dolžine kvečjemu štiri, z optimalnimi diskriminatornimi kodami. Beli krogci so posamezniki in črni krogci atributi, pri tem so črni krogci z večjim premerom elementi kode Lema 4.1 Naj bo T pot, dolžine L, L 5, kjer je en konec poti atribut a 1. V tem primeru obstaja minimalna diskriminatorna koda, ki ne vsebuje atributa a 1. 40

Dokaz. Predpostavimo, da je atribut a 1 v kodi C, potem je posameznik diskriminiran bodisi z a 1 bodisi z a 1 in a 2. Če je N( ) C = {a 1 }, potem atribut a 2 ni v kodi C, p 2 pa je diskriminiran z a 3. Ker atribut a 2 ni v kodi C, lahko atributa a 1 in a 2 zamenjamo, tako da atribut a 2 dodamo v kodo, atribut a 1 odstranimo iz kode. Dobimo novo kodo C = (C \ {a 1 }) {a 2 }, ki je prav tako minimalna diskriminatorna koda enake moči kot koda C. Če je N( ) C = {a 1, a 2 }, potem atribut a 3 ni v kodi C, saj je p 2 diskriminiran z a 2. Ker atribut a 3 ni v kodi C, lahko atributa a 1 in a 3 zamenjamo in je sedaj atribut a 3 v kodi, atribut a 1 pa ni več v kodi. Dobimo novo kodo C = (C \ {a 1 }) {a 3 }, ki je prav tako minimalna diskriminatorna koda enake moči kot koda C. Iz zgornje leme prav tako sledi, da za pot dolžine L,L 5, kjer sta oba konca atributa, obstaja minimalna diskriminatorna koda, ki ne vsebuje teh dveh atributov. V nadaljevanju se tako osredotočimo na primere, ko je dolžina L 6, in predpostavimo, da sta oba konca poti posameznika in ima pot liho število vozlišč. V primeru, ko je kateri izmed koncev poti atribut, lahko predpostavimo, da ne pripada minimalni kodi, in rešujemo primer za podpot, ki se začne in konča s posameznikom. Lema 4.2 Naj bo T pot z n = 2k + 1, k 2, vozlišči, kjer sta oba konca poti posameznika. Potem velja D(P 2k+1 ) = k k 2 3. Dokaz. Na pot bomo nanašali podpot P 5, v kateri dva atributa diskriminirata tri posameznike, kot je prikazano na sliki 4.3. a 1 p 2 a 2 p 3 a 1 p 2 a 2 p 3 a 3 Slika 4.3: Pot P 5 in P 6 Ko nanašamo podpot P 5, med potmi nastopijo atributi, ki niso v kodi, saj so posamezniki diskriminirani že v podpoti, katero nanašamo. Zato zapišemo n = m + 5, m N in preverimo koliko krat je m deljiv s 6, saj vsaka dodatna podpot P 6 pomeni, da lahko izključimo dodatni atribut iz minimalne kode. Potem je minimalna diskriminatorna koda enaka številu vseh atributov, od katerih odštejemo celi del navzdol zaokrožen od vrednosti m 6. S preoblikovanjem formul pridemo do končne formule iz leme. 41

Zgled 9 Imamo pot dolžine 16. Z n = 17 vozlišči, kjer sta oba konca posameznika. Torej imamo 9 posameznikov in 8 atributov. Na pot iz slike 4.4 nanašamo podpot P 5. P 5 P 5 P 5 a 1 p 2 a 2 p 3 a 3 p 4 a 4 p 5 a 5 p 6 a 6 p 7 a 7 p 8 a 8 p 9 Slika 4.4: D 1 (P 17 ) = 6, črni krogci s večjim premerom so v kodi Med potmi P 5 obstajajo atributi, ki niso v kodi. Podpot P 5 nanesemo trikrat na pot P 17. V vsaki podpoti P 5 sta dva atributa v kodi, torej je v poti P 17 6 atributov v minimalni diskriminatorni kodi. Prav tako lahko s pomočjo leme 4.2 izračunamo D 1 (P 17 ) = 8 8 2 3 = 6. V primeru, ko je kateri izmed koncev poti, dolžine L 6, atribut, lahko uporabimo argumente iz leme 4.1. Minimalna diskriminatorna koda bodisi vsebuje ta atribut na koncu poti bodisi ga ne vsebuje. V nadaljevanju bomo ta problem reševali na nitih, ki jih bomo postopno odstranjevali. 4.2 Splošni primeri dreves Razlikujemo med tremi splošnimi primeri: (a) V T obstaja nit dolžine najmanj 5 katere konec je posameznik začetek w pa je bodisi posameznik ali atribut, kot v primeru (a) na sliki 4.5. Kot v primeru poti, atributa a 1 in a 2 pripadata poljubni diskriminatorni kodi v T medtem, ko mora biti posameznik pokrit z elementom iz kode in posameznika in p 2 morata biti separirana. Opazimo lahko, kot že prej za poti, da je problem iskanja optimalne kode za drevo T enako iskanju optimalne kode za primer, kjer dodamo atributa a 1 in a 2 v kodo in odstranimo iz drevesa T vozlišča, a 1, p 2, a 2 in p 3 in rešujemo problem na novem drevesu. 42