3-DIMENSIONAL MATCHING Vaccar Lorenzo 14 gennao 2004 Corso d Laurea specalstca n nformatca, Unverstà d Trento va Sommarve 14, 38050 Povo, Italy 40qc@krk.scence.untn.t Sommaro In questo documento dmostreremo che l problema del 3-DM appartene all nseme de problem NP-complet. La rduzone [2] è da 3-SAT ed è basata sulla tecnca del Component desgn. Keywords: 3-SATISFIABILITY, 3-SAT, 3-DIMENSIONAL MATCHING, 3-DM, problem NP, problem NP-complet. 1 Introduzone Consderamo l seguente problema de matrmon : dat n uomn celb e n donne nubl ed una lsta d coppe mascho-femmna che vorrebbero vcendevolmente sposars, è possble combnare n matrmon n modo da accoppare ogn ndvduo evtando però la polgama? E stato dmostrato che tale problema può essere rsolto n tempo polnomale ed attualmente l algortmo che detene l record sul runnng tme asntotco è stato proposto n [1]. Estendamo ora la domanda al caso n cu s abbano tre dfferent sess, e ogn trpla corrsponda ad un matrmono a tre desderable da tutt e tre partecpant. In questo caso evtare la polgama sgnfca evtare che due trple dfferent condvdano una persona d uno de tre sess. Nel problema del 3-DM gl nsem W, X, Y corrspondono a tre dfferent sess, e ogn trpla n M W X Y corrsponde ad un matrmono a tre desderable da tutt e tre partecpant. Tradzonalst e bacchetton saranno felc d sapere che n questo caso, contraramente a quanto detto per matrmon a due, l problema del 3-DM è NP-completo e molto probablmente non può essere rsolto n tempo polnomale. Prma d dare la defnzone formale del problema 3-DM ntroducamo l sgnfcato d alcun termn che useremo frequentemente nel proseguo del documento. Defnzone 1.1 (Matchng). Dato un grafo G = (V, E), un matchng è un sottonseme d arch E E, tale che non esstono due arch d E ncdent nel medesmo nodo d V. 1
Defnzone 1.2 (Nodo coperto). Con rfermento ad un grafo G = (V, E) e ad un matchng M, dremo che un nodo d V è coperto (da M) se appartene ad un arco n M, altrment dremo che l nodo è esposto. Defnzone 1.3 (Perfect matchng). Un matchng d G = (V, E), che copra tutt nod d V, è detto perfect matchng. 1 7 2 6 3 5 4 Fgura 1: Un esempo d matchng (arch pù evdent) e d nodo esposto (nodo 3). In Fgura 1 damo un esempo degl oggett defnt n 1.1 e n 1.2. Il matchng (arch pù evdent) copre tutt nod del grafo tranne l nodo 3, che è esposto. Le nozon d matchng, nodo coperto ed esposto, e perfect matchng s estendono n modo naturale agl pergraf. Un pergrafo è una coppa (V, H), dove V è un nseme fnto d nod e H è una famgla d sottonsem d V dett perarch. Nel caso n cu ogn perarco d H abba cardnaltà due, l pergrafo è un grafo. Fgura 2: L pergrafo delle rghe e delle colonne d una matrce ha due perfect matchng dstnt. La Fgura 2 mostra un esempo d pergrafo n cu ogn rga e ogn colonna rappresenta un perarco. In tale pergrafo possamo ndvduare due perfect matchng dstnt: l prmo relatvo alle rghe, l secondo relatvo alle colonne. Possamo ora dare la defnzone d 3-DM. Defnzone 1.4 (3-DM). ISTANZA: 2
Un nseme M W X Y, dove W, X, Y sono nsem dsgunt avent lo stesso numero q d element. DOMANDA: M contene un perfect matchng, coè un sottonseme M M tale che M = q e nessun elemento d W X Y appartene a due dverse trple n M? 2 3-DM è NP-completo In termn formal, dmostreremo l seguente: Teorema 2.1. 3-DM è NP-completo. Dmostrazone. Lo schema tpo per una dmostrazone d NP-completezza, come prevsto n [2], prevede quattro pass prncpal: 1. s dmostra che Π appartene a NP; 2. s selezona un problema Π che è noto essere NP-completo; 3. s costrusce una trasformazone f da Π a Π; 4. s prova che f è una trasformazone polnomale. 1. Per dmostrare che 3-DM appartene a NP possamo utlzzare un algortmo non determnstco che genera un sottonseme d q = W = X = Y trple da M e che controlla n tempo lneare se un elemento non sa condvso da due o pù trple. 2. Per la seconda fase della dmostrazone selezonamo l problema NP-completo 3-SAT [2]. Il problema è una versone rstretta d SAT nel quale le stanze hanno esattamente tre letteral n ogn clausola. La sua semplce struttura lo rende uno de problem pù utlzzat per dmostrare altr rsultat d NP-completezza. Defnzone 2.1 (3-SAT). ISTANZA: Una collezone C = {c 1, c 2,..., c m } d clausole su un nseme fnto U d varabl tale che c = 3 per 1 m. DOMANDA: Esste un assegnamento d vertà per U che soddsfa tutte le clausole n C? 3. e 4. Costruamo ora una trasformazone f da 3-SAT a 3-DM. Sano U = {u 1, u 2,..., u n } l nseme d varabl e C = {c 1, c 2,..., c m } l nseme d clausole d un arbtrara stanza d 3-SAT. Partendo da U, C costruremo un stanza d 3-DM composta da tre nsem dsgunt W, X, Y con dentca cardnaltà e da un nseme M W X Y, e dmostreremo che M contene un perfect matchng M se e solo se U, C è soddsfacble. Antcpamo subto che, nell stanza d 3-DM a cu perverremo, avremo che W = {u [j], u [j] : 1 n, 1 j m}, da cu possamo calcolare mmedatamente l valore d q = W = 2mn. Secondo la tecnca denomnata Component Desgn, descrveremo nel seguto tre tpologe d component: Truth settng and fan-out, Satsfacton testng e Garbage collecton. 3
Per cascuna varable u U ntroducamo una componente T d tpo Truth settng and fan-out. La struttura d T dpende dal numero totale m d clausole n C. Le Fgure 3 e 4 mostrano la componente per m = 4. b [1] a [2] a [1] b [4] T b [2] a [3] a [4] b [3] Fgura 3: La componente Truth settng and fan-out T nel caso d m = 4. Ogn componente Truth settng and fan-out è composta da element ntern a [j] X e b [j] Y, 1 j m, che non appartengono ad altre trple, e da element estern u [j], u [j] W, 1 j m, che possono appartenere anche ad altre trple. Suddvdamo le trple d questa componente n due nsem: T t T f = {(u [j], a [j], b [j]) : 1 j m} = {(u [j], a [j + 1], b [j]) : 1 j m} {(u [m], a [1], b [m]) : 1 j m}. Consderato che nessuno degl element ntern {(a [j], b [j]) : 1 j m} può apparre nelle trple al d fuor d T = T t T f, ogn perfect matchng M dovrà ncludere esattamente m trple da T : o tutte le trple n T t f o tutte le trple n T. Dunque, nelle nostre ntenzon, un perfect matchng M M specfca un assegnamento d vertà per U, con la varable u vera se e solo se M T = T t. Per ogn clausola c j C, ntroducamo ora una componente Satsfacton testng C j. Ogn componente d questo tpo contene solo due element ntern, s x [j] X e s y [j] Y, e tre element estern, pres dal sottonseme W j = {u [j], u [j] : 1 n} d W, determnat da qual tre letteral sono present nella clausola c j. La componente è data dal seguente nseme d tre trple: {(u [j], s x [j], s y [j]) : l letterale u appare n c j } {(u [j], s x [j], s y [j]) : u appare n c j }. Per costruzone, per ogn C j, un qualsas perfect matchng M M deve contenere esattamente una trpla d C j che s occup d coprre gl element ntern s x [j] ed s y [j] d C j. Questo è possble solo se almeno un letterale d c j non appartene alle trple n T M selezonate dalle component Truth settng and fan out d cu s è detto prma. In questo modo, le component Truth settng and fan out forzano l valore d vertà d una varable u, e la componente Satsfacton testng selezona un occorrenza d una varable che fa sì 4
u =true u =false b [1] a [1] b [1] a [2] a [1] b [4] a [2] T t b [4] a [4] T f b [2] a [3] b [3] b [2] a [3] a [4] b [3] Fgura 4: La selezone d tutt gl nsem d T t (gl nsem ombreggat), oppure d tutt gl nsem d T f (gl nsem trasparent), lasca rspettvamente scoperte tutte le u [j] o tutte le u [j]. che la rspettva clausola sa soddsfatta. Prma d ntrodurre la terza componente eseguamo alcun contegg (v. Tabella 2): abbamo gà detto che q = W = 2mn. Le due component vste fno ad ora permettono d comporre solo una parte del perfect matchng M che, rcordamo, deve essere composto precsamente da q trple; n partcolare, la componente Truth settng and fan out selezona da M esattamente mn trple, e la componente Satsfacton testng ne selezona m. Ne consegue che l numero delle trple mancant per completare l perfect matchng è: 2mn mn m = m(2n n 1) = m(n 1). Per consentre le trple mancant ntroducamo una componente G detta Garbage collecton. La componente Garbage collecton convolge element ntern g x [k] X e g y [k] Y, 1 k m(n 1), e tutt gl element d W n qualtà d element estern. Defnamo G come l seguente nseme d trple: G = {(u [j], g x [k], g y [k]), (u [j], g x [k], g y [k]) : 1 k m(n 1), 1 n, 1 j m}. Ogn coppa g x [k], g y [k] consente ora d coprre un nodo u [j] o u [j] d W che non appare nelle trple n M G. Dunque la struttura d G asscura che possano essere sempre copert restant m(n 1) element d W selezonando appropratamente M G. La componente G gode nfatt della seguente propretà: Propretà 1. Ogn matchng n G copre al pù m(n 1) nod d W. Sa W un qualsas sottonseme d W con W = m(n 1). Allora esste un matchng n G che copre W. L nseme G garantsce pertanto che, se un matchng n M G soddsfa vncol mpost dalle component Truth settng and fan-out e Satsfacton testng, allora tale sottonseme può essere esteso ad un perfect matchng M M. Rassumendo abbamo: W = {(u [j], u [j] : 1 n, 1 j m} 5
X = A S X G X dove A = {a [j] : 1 n, 1 j m} S X = {s x [j] : 1 j m} G X = {g x [j] : 1 j m(n 1)} Y = B S Y G Y dove B = {b [j] : 1 n, 1 j m} S Y = {s y [j] : 1 j m} G Y = {g y [j] : 1 j m(n 1)}. Abbamo noltre defnto l nseme M come: ( n ) m M = T =1 j=1 C j G. Nella Tabella 1 possamo notare la composzone degl nsem W, X, Y nel caso d m = 2 e n = 4. W X Y u 1 [1] a 1 [1] b 1 [1] u 1 [1] a 1 [2] b 1 [2] u 1 [2] a 2 [1] b 2 [1] u 1 [2] a 2 [2] b 2 [2] u 2 [1] a 3 [1] b 3 [1] u 2 [1] a 3 [2] b 3 [2] u 2 [2] a 4 [1] b 4 [1] u 2 [2] a 4 [2] b 4 [2] u 3 [1] s x [1] s y [1] u 3 [1] s x [2] s y [2] u 3 [2] g x [1] g y [1] u 3 [2] g x [2] g y [2] u 4 [1] g x [3] g y [3] u 4 [1] g x [4] g y [4] u 4 [2] g x [5] g y [5] u 4 [2] g x [6] g y [6] Tabella 1: Gl nsem W, X, Y nel caso d m = 2 e n = 4. S not come ogn trpla n M sa effettvamente un elemento d W X Y e pertanto M sa da consderars come un stanza d 3-DM. Inoltre, M contene solo 2mn+3m+2m 2 n(n 1) trple la cu defnzone n termn dell stanza d 3-SAT che s ntende rappresentare è dretta. Se ne deduce che M può essere costruto n tempo polnomale partendo da U, C. Per completare la nostra dmostrazone d NP-completezza resta solo da dmostrare che M ammette un perfect matchng M se e solo se U, C è soddsfacble. A questo scopo predsponamo seguent due lemm. 6
Lemma 2.2. Se l stanza U, C d 3-SAT è soddsfacble, allora M ammette un perfect matchng. Dmostrazone. Sa t : U {T, F } un assegnamento d vertà che soddsfa C. Costruamo l perfect matchng M M nel modo seguente: per ogn clausola c j C, sa z j {u, u : 1 n} c j un letterale posto a vero da t (ne esste almeno uno, vsto che t soddsfa c j ). Ora ponamo: M = T t t(u )=T t(u )=F T f m {(z j [j], s x [j], s y [j])} G. dove G è un matchng d m(n 1) trple d G che nclude tutte le g x [k], g y [k], ed nod u [j], u [j] non ancora copert n W. L esstenza d un tale G è garantta dalla Propretà 1. Ne consegue che M è un perfect matchng. Lemma 2.3. Sa M un perfect matchng d M, allora U, C è soddsfacble. Dmostrazone. Abbamo vsto che, per ogn u U, M nclude esattamente m trple da T : o tutte le trple n T t o tutte le trple n T f. Possamo pertanto defnre l truth assgnment t : U {T, F } n cu t(u ) = T se e solo se M T = T t. Mostreremo ora che t è un truth assgnment che soddsfa C. Consderamo pertanto la generca clausola c j C. S not che, per coprre gl element prvat della componente d tpo Satsfacton testng C j, almeno una trpla d C j deve essere contenuta n M. Tale trpla coprrà un letterale d c j che non appartene a nessuna trpla n M T. Dato che t(u ) = T se e solo se M T = T t, l truth assgnment t soddsfa la clausola c j. Ne consegue che tutte le clausole c j C, 1 j m, sono soddsfatte dal truth assgnment t. Qund U, C è soddsfacble. j=1 Sgnfcato Enumerazone Numero d varabl n U, C n Numero d clausole U, C m Componente Truth settng and fan out : trple n M 2mn Componente Truth settng and fan out : trple n M mn Componente Satsfacton testng : trple n M 3m Componente Satsfacton testng : trple n M m Componente Garbage collecton : trple n M 2m 2 n(n 1) Componente Garbage collecton : trple n M m(n 1) Dmensone del perfect matchng: M = q = W = X = Y 2mn Dmensone M 2mn + 3m + 2m 2 n(n 1) Tabella 2: Tabella rassuntva d rfermento. Rferment bblografc [1] HOPCROFT, J. E., AND R. M. KARP, An n 5 /2 algorthm for maxmum matchngs n bpartte graphs, SIAM J. Comput., 2, 225-231. (1973). [2] MICHAEL R. GARY / DAVID S. JOHNSON, Computers and Intractablty, W. H. Freeman And Company, San Francsco. (1979). 7