Holografický algoritmus - Holographic algorithm
v počítačová věda, a holografický algoritmus je algoritmus, který používá holografickou redukci. Holografická redukce je konstantní čas snížení který mapuje fragmenty řešení mnoho na mnoho tak, že součet fragmentů řešení zůstává nezměněn. Tyto koncepty představil Leslie Valiant, který je zavolal holografické protože „jejich účinek lze chápat jako produkci interferenčních vzorů mezi fragmenty řešení“.[1] Algoritmy nesouvisejí s laserem holografie, s výjimkou metaforicky. Jejich síla pochází ze vzájemného zrušení mnoha příspěvků na částku, analogickou s interferenčními vzory v hologramu.[2]
K hledání byly použity holografické algoritmy polynomiální čas řešení problémů bez dříve známých řešení pro zvláštní případy uspokojivost, vrcholový kryt, a další problémy s grafy.[3] Obdrželi pozoruhodné pokrytí kvůli spekulacím, že jsou pro EU relevantní Problém P versus NP[2] a jejich dopad na teorie výpočetní složitosti. Ačkoli některé z obecných problémů jsou # P-tvrdé problémy, vyřešené speciální případy nejsou samy o sobě # P-hard, a proto neprokazují FP = #P.
Holografické algoritmy mají určité podobnosti kvantový výpočet, ale jsou zcela klasické.[4]
Holantovy problémy
Holografické algoritmy existují v kontextu Holantových problémů, které zobecňují počítání problémy s uspokojením omezení (#CSP). Instance #CSP je hypergraf G=(PROTI,E) volal graf omezení. Každý hyperedge představuje proměnnou a každý vrchol je přiřazeno omezení Vrchol je připojen k hyperedge, pokud omezení na vrcholu zahrnuje proměnnou na hyperedge. Problémem počítání je výpočet
což je součet za všechna přiřazení proměnných, produkt každého omezení, kde vstupy do omezení jsou proměnné na dopadajících hyper-hranách .
Holantův problém je jako #CSP, kromě toho, že vstup musí být graf, nikoli hypergraf. Omezení třídy vstupních grafů tímto způsobem je skutečně zobecněním. Vzhledem k instanci #CSP nahraďte každý hyperedge E velikosti s s vrcholem proti stupně s s hranami dopadajícími na vrcholy obsažené v E. Omezení je aktivní proti je funkce rovnosti arity s. To identifikuje všechny proměnné na hranách, ke kterým došlo proti, což je stejný účinek jako jediná proměnná na hyperedge E.
V kontextu Holantových problémů se výraz v (1) nazývá Holant po souvisejícím exponenciálním součtu zavedeném Valiantem.[5]
Holografická redukce
Standardní technikou v teorii složitosti je a mnoho-jedna redukce, kde je instance jednoho problému redukována na instanci jiného (doufejme, že jednoduššího) problému. Holografické redukce mezi dvěma výpočetními problémy však zachovávají součet řešení, aniž by nutně zachovávaly korespondenci mezi řešeními.[1] Například lze zachovat celkový počet řešení v obou sadách, i když jednotlivé problémy nemají odpovídající řešení. Součet lze také zvážit, namísto pouhého spočítání počtu řešení pomocí lineární základní vektory.[3]
Obecný příklad
Je vhodné uvažovat o holografických redukcích na bipartitních grafech. Obecný graf lze vždy transformovat do bipartitního grafu při zachování hodnoty Holant. To se provádí nahrazením každé hrany v grafu cestou délky 2, která je také známá jako 2-úsek grafu. Aby byla zachována stejná Holantova hodnota, je každému novému vrcholu přiřazeno omezení binární rovnosti.
Zvažte bipartitní graf G=(U,PROTI,E) kde omezení přiřazené každému vrcholu je a omezení přiřazené každému vrcholu je . Označte tento problém počítání pomocí Pokud vrcholy v U jsou považovány za jeden velký vrchol stupně |E|, pak omezení tohoto vrcholu je tenzorový produkt z sama se sebou |U| krát, což je označeno Stejně tak, pokud vrcholy v PROTI jsou považovány za jeden velký vrchol stupně |E|, pak omezení tohoto vrcholu je Nechte omezení být vyjádřena jeho váženou hodnotou pravdivostní tabulka jako vektor řádku a omezení být reprezentován jeho váženou pravdivostní tabulkou jako vektor sloupce. Pak je Holant tohoto grafu omezení jednoduše
Nyní pro jakýkoli komplex 2: 2 invertibilní matice T (sloupce, které jsou lineárními bázovými vektory zmíněnými výše), je mezi nimi holografická redukce a Chcete-li to vidět, vložte matici identity mezi dostat
Tím pádem, a mít přesně stejnou Holantovu hodnotu pro každý graf omezení. V podstatě definují stejný problém počítání.
Konkrétní příklady
Vrcholové kryty a nezávislé sady
Nechat G být graf. Mezi. Existuje korespondence 1: 1 vrcholové kryty z G a nezávislé sady z G. Pro jakoukoli sadu S vrcholů G, S je vrcholový kryt v G jen a jen pokud doplněk z S je nezávislý soubor v G. Počet vrcholů tedy pokrývá G je přesně stejný jako počet nezávislých sad G.
Rovnocennost těchto dvou problémů s počítáním lze prokázat také pomocí holografické redukce. Pro jednoduchost, pojďme G být 3-běžný graf. 2-úsek G dává bipartitní graf H=(U,PROTI,E), kde U odpovídá hranám v G a PROTI odpovídá vrcholům v G. Holantův problém, který přirozeně odpovídá počítání počtu vrcholů v G je Pravdivostní tabulka OR2 jako vektor řádku je (0,1,1,1). Pravdivá tabulka EQUAL3 jako vektor sloupce je