Beslutsträdmodell
I beräkningskomplexitet är beslutsträdsmodellen beräkningsmodellen där en algoritm i grunden anses vara ett beslutsträd , dvs en sekvens av frågor eller tester som görs adaptivt, så att resultatet av tidigare tester kan påverka de tester som utförs nästa .
Vanligtvis har dessa test ett litet antal utfall (som en ja–nej-fråga ) och kan utföras snabbt (säg, med enhetsberäkningskostnad), så den värsta tänkbara tidskomplexiteten för en algoritm i beslutsträdsmodellen motsvarar djupet på motsvarande beslutsträd. Denna uppfattning om beräkningskomplexitet för ett problem eller en algoritm i beslutsträdsmodellen kallas dess beslutsträdskomplexitet eller frågekomplexitet .
Beslutsträdsmodeller är avgörande för att fastställa lägre gränser för komplexitetsteori för vissa klasser av beräkningsproblem och algoritmer. Flera varianter av beslutsträdsmodeller har introducerats, beroende på vilken beräkningsmodell och vilken typ av frågealgoritmer som tillåts utföra.
Till exempel används ett beslutsträdargument för att visa att en jämförelsesort av poster måste ta jämförelser. För jämförelsesorter är en fråga en jämförelse av två objekt , med två utfall (förutsatt att inga objekt är lika): antingen eller . Jämförelsesorteringar kan uttryckas som ett beslutsträd i denna modell, eftersom sådana sorteringsalgoritmer endast utför dessa typer av frågor.
Jämförelseträd och nedre gränser för sortering
Beslutsträd används ofta för att förstå algoritmer för sortering och andra liknande problem; detta gjordes först av Ford och Johnson.
Till exempel är många sorteringsalgoritmer jämförelsesorteringar , vilket innebär att de bara får information om en inmatningssekvens via lokala jämförelser: testar om , eller . Om vi antar att alla objekt som ska sorteras är distinkta och jämförbara, kan detta omformuleras som en ja-eller-nej-fråga: är ?
Dessa algoritmer kan modelleras som binära beslutsträd, där frågorna är jämförelser: en intern nod motsvarar en fråga, och nodens barn motsvarar nästa fråga när svaret på frågan är ja eller nej. För bladnoder motsvarar utmatningen en permutation som beskriver hur inmatningssekvensen förvrängdes från den fullständigt ordnade listan med objekt. (Inversen av denna permutation, , omordnar inmatningssekvensen.)
Man kan visa att jämförelsesorter måste använda jämförelser genom ett enkelt argument: för att en algoritm ska vara korrekt måste den kunna mata ut varje möjlig permutation av element; annars skulle algoritmen misslyckas för just den permutationen som indata. Så dess motsvarande beslutsträd måste ha minst lika många löv som permutationer: lämnar. Vilket binärt träd som helst med minst blad har djup minst , så detta är en nedre gräns för körtiden för en jämförelsesorteringsalgoritm. I det här fallet visar förekomsten av många jämförelsesorteringsalgoritmer med denna tidskomplexitet, såsom mergesort och heapsort , att gränsen är snäv.
Detta argument använder inget om typen av fråga, så det bevisar faktiskt en nedre gräns för alla sorteringsalgoritmer som kan modelleras som ett binärt beslutsträd. I huvudsak är detta en omformulering av det informationsteoretiska argumentet att en korrekt sorteringsalgoritm måste lära sig åtminstone informationsbitar om inmatningssekvensen . Som ett resultat fungerar detta även för randomiserade beslutsträd.
Andra nedre gränser för beslutsträd använder att frågan är en jämförelse. Tänk till exempel på uppgiften att endast använda jämförelser för att hitta det minsta talet bland tal. Innan det minsta talet kan bestämmas måste varje nummer utom det minsta "förlora" (jämföra större) i minst en jämförelse. Så det krävs minst jämförelser för att hitta minimum. (Det informationsteoretiska argumentet här ger bara en nedre gräns för ) Ett liknande argument fungerar för allmänna nedre gränser för beräkningsordningsstatistik .
Linjära och algebraiska beslutsträd
Linjära beslutsträd generaliserar ovanstående jämförelsebeslutsträd till beräkningsfunktioner som tar reella vektorer som indata. Testerna i linjära beslutsträd är linjära funktioner: för ett särskilt val av reella tal mata ut tecknet för . (Algorithmer i den här modellen kan bara bero på utsignalens tecken.) Jämförelseträd är linjära beslutsträd, eftersom jämförelsen mellan och motsvarar den linjära funktionen . Från dess definition kan linjära beslutsträd endast specificera funktioner vars fibrer kan konstrueras genom att ta fackföreningar och skärningar av halvrum.
Algebraiska beslutsträd är en generalisering av linjära beslutsträd som tillåter testfunktionerna att vara polynom av graden . Geometriskt är utrymmet uppdelat i semi-algebraiska uppsättningar (en generalisering av hyperplan).
Dessa beslutsträdsmodeller, definierade av Rabin och Reingold, används ofta för att bevisa lägre gränser i beräkningsgeometri . Till exempel visade Ben-Or att elementets unikhet (uppgiften att beräkna där är 0 om och endast om det finns distinkta koordinater så att ) kräver ett algebraiskt beslutsträd med djup . Detta visades först för linjära beslutsmodeller av Dobkin och Lipton. De visar också en nedre gräns för linjära beslutsträd på ryggsäcksproblemet, generaliserade till algebraiska beslutsträd av Steele och Yao.
Booleska beslutsträdskomplexiteter
För booleska beslutsträd är uppgiften att beräkna värdet av en n-bitars boolesk funktion för en ingång . Frågorna motsvarar att läsa en bit av indata, , och utdata är . Varje fråga kan vara beroende av tidigare frågor. Det finns många typer av beräkningsmodeller som använder beslutsträd som kan övervägas, som tillåter flera komplexitetsuppfattningar, kallade komplexitetsmått .
Deterministiskt beslutsträd
Om utdata från ett beslutsträd är , för alla , beslutsträdet sägs "beräkna" . Djupet på ett träd är det maximala antalet frågor som kan hända innan ett löv nås och ett resultat erhålls. , det deterministiska beslutsträdets komplexitet för är det minsta djupet bland alla deterministiska beslutsträd som beräknar .
Randomiserat beslutsträd
Ett sätt att definiera ett randomiserat beslutsträd är att lägga till ytterligare noder till trädet, var och en styrd av en sannolikhet . En annan likvärdig definition är att definiera det som en fördelning över deterministiska beslutsträd. Baserat på denna andra definition definieras komplexiteten hos det randomiserade trädet som det största djupet bland alla träden till stöd för den underliggande fördelningen. definieras som komplexiteten hos det randomiserade beslutsträdet med lägsta djup vars resultat är med sannolikhet minst för alla (dvs. med begränsat 2-sidigt fel).
är känd som Monte Carlos randomiserade beslutsträdskomplexitet, eftersom resultatet tillåts vara felaktigt med avgränsat dubbelsidigt fel. Las Vegas beslutsträdskomplexitet mäter det förväntade djupet av ett beslutsträd som måste vara korrekt (dvs. har nollfel). Det finns också en enkelsidig bounded-error-version som betecknas med .
Icketerministiskt beslutsträd
Den icke-deterministiska beslutsträdskomplexiteten för en funktion är mer känd som certifikatkomplexiteten för den funktionen. Den mäter antalet inmatade bitar som en icke-deterministisk algoritm skulle behöva titta på för att utvärdera funktionen med säkerhet.
Formellt är certifikatkomplexiteten för vid storleken på den minsta delmängden av index så att, för alla , om för alla , sedan . Certifikatkomplexiteten för är den maximala certifikatkomplexiteten över alla . Den analoga föreställningen där man bara kräver att verifieraren är korrekt med 2/3 sannolikhet betecknas .
Kvantbeslutsträd
Kvantbeslutsträdets komplexitet är djupet av det kvantbeslutsträd med lägsta djup som ger resultatet med sannolikhet minst alla . En annan storhet, , definieras som djupet av kvantbeslutsträdet med lägsta djup som ger resultatet med sannolikhet 1 i alla fall (dvs. beräknar exakt). och är mer kända som kvantfrågekomplexiteter , eftersom den direkta definitionen av ett kvantbeslut träd är mer komplicerat än i det klassiska fallet. I likhet med det randomiserade fallet definierar vi och .
Dessa begrepp är vanligtvis avgränsade av begreppen grad och ungefärlig grad. Graden av , betecknad , är den minsta graden av ett polynom som uppfyller för alla . Den ungefärliga graden av , betecknad , är den minsta graden av ett polynom som uppfyller när och när .
Beals et al. fastställt att och .
Samband mellan booleska funktionskomplexitetsmått
följer omedelbart av definitionerna att för alla -bitars booleska funktioner , och . Att hitta de bästa övre gränserna i den omvända riktningen är ett viktigt mål när det gäller frågekomplexitet.
Alla dessa typer av frågekomplexitet är polynomiellt relaterade. Blum och Impagliazzo, Hartmanis och Hemachandra och Tardos upptäckte oberoende att . Noam Nisan fann att Monte Carlos randomiserade beslutsträdskomplexitet också är polynomiellt relaterad till deterministisk beslutsträdskomplexitet: . (Nisan visade också att ) Ett snävare samband är känt mellan Monte Carlo och Las Vegas modellerna: . Detta förhållande är optimalt upp till polylogaritmiska faktorer. När det gäller kvantbeslutsträdskomplexiteter, och denna gräns är snäv . Midrijanis visade att vilket förbättrade en kvartsbindning på grund av Beals et al.
Det är viktigt att notera att dessa polynomrelationer endast är giltiga för totala booleska funktioner. För partiella booleska funktioner har en domän en delmängd av , en exponentiell separation mellan och är möjlig; det första exemplet på ett sådant problem upptäcktes av Deutsch och Jozsa .
Känslighetsgissningar
För en boolesk funktion känsligheten för f definieras som den maximala känsligheten för över alla , där känsligheten för vid är antalet enbitsändringar i som ändrar värdet på . Känslighet är relaterad till begreppet total påverkan från analysen av booleska funktioner , vilket är lika med genomsnittlig känslighet över alla .
Känslighetsförmodan är gissningen att känslighet är polynomiellt relaterad till frågekomplexitet ; det vill säga det finns exponent så att för alla , och . Man kan visa genom ett enkelt argument att så gissningen är specifikt angelägen om att hitta en nedre gräns för känslighet. Eftersom alla de tidigare diskuterade komplexitetsmåtten är polynomiellt relaterade, är den exakta typen av komplexitetsmått inte relevant. Detta är dock vanligtvis formulerat som frågan om att relatera känslighet med blockkänslighet.
Blockkänsligheten för , betecknad , definieras som den maximala blockkänsligheten för över alla . Blockkänsligheten för vid är det maximala antalet av disjunkta delmängder så att, för någon av delmängderna vänder bitarna av motsvarande ändrar värdet på .
Eftersom blockkänslighet tar ett maximum över fler val av delmängder, . Vidare är blockkänslighet polynomiellt relaterad till de tidigare diskuterade komplexitetsmåtten; till exempel, Nisans papper som introducerade blockkänslighet visade att . Så man skulle kunna formulera om känslighetsförmodan som att visa att för vissa , . 1992 antog Nisan och Szegedy att räcker. Detta skulle vara snävt, eftersom Rubinstein 1995 visade en kvadratisk separation mellan känslighet och blockkänslighet.
I juli 2019, 27 år efter att gissningen ursprungligen ställdes, bevisade Hao Huang från Emory University känslighetsförmodan, vilket visade att . Detta bevis är särskilt kortfattat och bevisar detta påstående på två sidor när tidigare framsteg mot känslighetsförmodan hade varit begränsade.
Sammanfattning av kända resultat
2 | 2, 3 | 2 | 2, 3 | 2, 3 | 3, 6 | 2, 3 | 2, 3 | 4 | 4 | ||
1 | 2 | 2 | 2, 3 | 2, 3 | 3, 6 | 2, 3 | 2, 3 | 3, 4 | 4 | ||
1 | 1 | 2 | 2, 3 | 2, 3 | 3, 6 | 1,5, 3 | 2, 3 | 3, 4 | 4 | ||
1 | 1 | 1, 2 | 2 | 2 | 2,22, 5 | 1,15, 3 | 1,63, 3 | 2, 4 | 2, 4 | ||
1 | 1 | 1 | 1 | 1,5, 2 | 2, 4 | 1.15, 2 | 1,63, 2 | 2 | 2 | ||
1 | 1 | 1 | 1 | 1 | 2, 4 | 1.15, 2 | 1,63, 2 | 2 | 2 | ||
1 | 1 | 1 | 1 | 1 | 1 | 1.15, 2 | 1,63, 2 | 2 | 2 | ||
1 | 1,33, 2 | 1,33, 3 | 2 | 2, 3 | 2, 3 | 3, 6 | 2, 3 | 2, 4 | 4 | ||
1 | 1,33, 2 | 1,33, 2 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | ||
1 | 1 | 1 | 2 | 2, 3 | 2, 3 | 3, 6 | 1 | 2, 3 | 4 | ||
1 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 1 |
Den här tabellen sammanfattar resultat för separationer mellan booleska funktionskomplexitetsmått. Komplexitetsmåtten är, i ordning, deterministiska, nollfel randomiserade, dubbelsidiga fel randomiserade, certifikat, randomiserade certifikat, blockkänslighet, känslighet, exakt kvantum, grad, kvant och ungefärlig grad komplexitet.
Numret i -th rad och -th kolumn anger gränser för exponenten , vilket är infimum av alla som uppfyller för alla booleska funktioner . Till exempel är posten i D:te raden och s:te kolumnen "3, 6", så för alla , och det finns en funktion så att .
Se även
Undersökningar
- Buhrman, Harry; de Wolf, Ronald (2002), "Complexity Measures and Decision Tree Complexity: A Survey" (PDF) , Theoretical Computer Science , 288 (1): 21–43, doi : 10.1016/S0304-3975(01)00144-X