Associativitetstest

Associativitetstest  - kontrollerar en binär operation för associativitet . Den naiva verifieringsproceduren, som består i uppräkning av alla möjliga tripletter av operationsargument, tar tid, där  är storleken på den uppsättning över vilken operationen definieras. Tidiga associativitetstester gav inga asymptotiska förbättringar jämfört med den naiva algoritmen, men förbättrade körtiden i vissa speciella fall. Till exempel fann Robert Tarjan 1972 att Lights test, som föreslogs 1949, gör det möjligt att kontrollera om den binära operationen som studeras är reversibel (ger en kvasigrupp). Det första probabilistiska testet som förbättrar körtiden från till föreslogs 1996 av Sridhar Rajagopalan och Leonard Shulman . 2015 föreslogs en kvantalgoritm som kontrollerar en operation för associativitet i tid , vilket är en förbättring jämfört med Grovers sökning , som körs i [1] .

Förklaring av problemet

Givet en storlekstabell som beskriver en sluten operation på en storleksuppsättning , det vill säga operationen ges av dess Cayley-tabell , och tillsammans med denna operation bildar en magma . Det är nödvändigt att kontrollera att den är uppfylld (med andra ord, operationen är associativ ). Varje deterministisk algoritm som löser detta problem kommer att kräva inte mindre tid, eftersom varje cell i Cayley-tabellen måste läsas minst en gång. Iterativ uppräkning av alla trippel , att kontrollera att likheten gäller för varje trippel, tar tid [2] .

Motivation

Att kontrollera associativitet är ett av de naturliga problem som uppstår när man arbetar med Cayley-tabeller för olika operationer [3] . I synnerhet implementeras en sådan kontroll i datoralgebrasystemen GAP [4] och Maple [5] . I det mest allmänna fallet finns det operationer för vilka alla utom en av trippelna är associativa - ett exempel på en sådan operation på element är operationen sådan att , och för alla andra element . Dess enda icke-associativa trippel är , eftersom [6] . På grund av förekomsten av sådana operationer kan man få intrycket att associativitetskontrollen kommer att kräva bearbetning av alla möjliga trippel och därför är en asymptotisk förbättring av algoritmens gångtid omöjlig [7] . Av samma anledning kommer en naiv probabilistisk algoritm som kontrollerar associativiteten hos slumpmässigt utvalda trippel att kräva kontroller för att garantera en tillräckligt låg felsannolikhet [8] . Algoritmen som Rajagopalan och Shulman föreslagit visar dock att denna uppskattning kan förbättras, och fungerar som ett tydligt exempel på hur probabilistiska algoritmer kan hantera problem som ser svåra ut för deterministiska algoritmer - från och med 2020 löser deterministiska algoritmer ett givet problem i subkubisk tid , okänd [9] .

Light's test

1961 publicerade Alfred Clifford och Gordon Preston i boken Algebraic Semigroup Theory ett associativitetstest som rapporterades till en av författarna av Dr. Light 1949. Algoritmen består i att överväga för varje operation och . Per definition är en operation associativ om och endast om (Cayleys operationstabeller är desamma) för alla [10] . Ljus märkte att om , det vill säga y har en generatoruppsättning , så är det tillräckligt att kontrollera endast för [11] [12] .

Om i definitionerna ovan och , då .

Bevis

Låt det vara för alla . Sedan .

I värsta fall (till exempel för maximal drift ) kan den minsta magmageneratoruppsättningen bestå av element, så testet måste utföras för alla element , vilket kommer att ta tid. 1972 märkte Robert Tarjan att Lights test kan vara effektivt för att testa om en given operation definierar en grupp [2] . Detta beror på det faktum att för vissa speciella typer av operationer, inklusive operationer som uppfyller gruppaxiomet för närvaron av ett inverst element , är det alltid möjligt att välja en genererande uppsättning av liten storlek [12] .

Låt vilken som helst ekvation av formen ha en unik lösning (det vill säga en kvasigrupp ). Då är det möjligt att välja ut en genereringsuppsättning av storlek som mest .

Bevis

Låta vara någon delmängd sådan att och . Sedan, på grund av det faktum att det är en kvasigrupp, , eftersom alla element i formuläret för är olika och inte ingår i . Således kan sekventiell tillägg till elementen i vyn inte göras mer än en gång.

Per definition är en kvasigrupp om och endast om dess Cayley-tablå är en latinsk kvadrat , som kan verifieras i tid . Tillämpningen av förfarandet som beskrivs ovan på en kvasigrupp tillåter i sin tur att deterministiskt kontrollera om , är en grupp , för [13] .

Rajagopalan-Schulman test

Det första subkubiska testet var Monte Carlo-algoritmen som föreslogs 1996 [14] Sridhar Rajagopalan från Princeton University och Leonard Shulman från Georgia Institute of Technology . Proceduren som föreslås av dem kräver tid, där  är den maximalt tillåtna felsannolikheten [3] [7] .

Algoritm

Algoritmen använder en groupoidalgebra  — ett linjärt utrymme ( algebra ) över ett dimensionsfält med två element , vars basvektorer motsvarar alla de olika elementen i magman . Vektorerna för ett sådant utrymme har formen

, var

De har summaoperationen

, där betecknar addition och in

samt produktdriften

, där anger produkten och in

Produkten av vektorer i en sådan algebra blir mer intuitiv om vi anser att för vilket par av basvektorer det definieras som , och produkten av alla andra vektorpar erhålls genom att "öppna parenteserna" och ordna om termerna. Till exempel, för produkten har formen

och substitution resulterar i ett uttryck som motsvarar den allmänna definitionen [8] . För algebra definierad på detta sätt gäller följande lemma [15] :

Den initiala magmaoperationen är associativ om och endast om för någon . Om operationen inte är associativ överstiger inte sannolikheten att den angivna likheten kommer att uppfyllas för en slumpmässigt enhetligt vald trippel .

För att kontrollera associativiteten väljs slumpmässiga sådana , för vilka . En sådan kontroll kan utföras i tid , och för att uppnå en felsannolikhet som inte överstiger , räcker det med kontroller, vilket ger den totala gångtiden [15] .

Godtyckliga operationer

Rajagopalans och Shulmans tillvägagångssätt kan generaliseras för att testa allmänna identiteter, förutsatt att varje variabel förekommer exakt en gång på vänster och höger sida av identiteten [16] .

Till exempel kan vi överväga en uppsättning på de element av vilka tre operationer är specificerade: "union" , "korsning" och "addition" . Det är nödvändigt att kontrollera det . För att göra detta kan vi överväga de inducerade på operationer

, och

och kontrollera att det är sant för dessa operationer . I den mest allmänna formen kan proceduren karakteriseras av följande teorem [16] :

Låta vara ändliga mängder, och vara en uppsättning operationer definierade på ändliga kartesiska produkter av dessa mängder så att operationen definieras på mängden , där är arity av operationen . Sedan kan verifieringen av sanningen av identiteten som består av dessa operationer, så att varje variabel förekommer i dess vänstra och högra delar exakt en gång, utföras i tiden , där är den största möjliga storleken på definitionsdomänen , är det totala antalet av operationer som används i identiteten, är det totala antalet variabler, är den största tillåtna felsannolikheten.

I fallet har operationen en storleksdomän , och därför tar procedurens beräkningskomplexitet formen , medan en naiv kontroll skulle kräva operationer [16] .

Detta resultat kan förbättras om vi istället betraktar algebra som ett primtal . I detta fall kan enligt Schwarz-Zippel-lemmat sannolikheten för att motbevisa en felaktig identitet i en iteration förbättras från till , vilket motsvarar en konstant sannolikhet för och gör att vi kan förbättra körtiden till [6] .

Sök efter ett icke-identitetsvittne

Algoritmen kan modifieras för att hitta en viss uppsättning variabler där identiteten misslyckas. Överväg till exempel att söka efter en icke-associativ trippel i tid . Låt det vara känt för vissa att . Dessa element kan associeras med en trippel , så att om , då är också lika med , och om , då väljs slumpmässigt mellan och (på liknande sätt för och ). För sannolikheten att , kommer uppskattningen underifrån fortfarande att vara sann , så proceduren kan upprepas tills vart och ett av elementen har en enhet i endast en av positionerna, vilket kommer att motsvara den önskade icke-associativa trippeln i [17] .

Anteckningar

  1. Lee, Magniez, Santha, 2015
  2. ↑ 12 Tarjan , 1972 , sid. 120
  3. ↑ 1 2 Lipton, Regan, 2013
  4. IsAssociative  . _ GAP-Referensmanual . GAP-gruppen. Hämtad 1 september 2021. Arkiverad från originalet 17 april 2021.
  5. IsAssociative  . _ Maple Hjälp . maplesoft. Hämtad 14 augusti 2022. Arkiverad från originalet 14 april 2021.
  6. ↑ 1 2 Rajagopalan, Schulman, 2000 , sid. 1162
  7. ↑ 12 Sinclair , 2020
  8. ↑ 1 2 Matousek, Nešetřil, 2008
  9. Schulman, 2020
  10. Premchand, 1984 , sid. 257
  11. Clifford, Preston, 1961 , s. 7-8
  12. ↑ 1 2 Rajagopalan, Schulman, 2000 , s. 1155-1156
  13. Rajagopalan, Schulman, 2000 , s. 1160-1161
  14. Rajagopalan, Schulman, 1996
  15. ↑ 1 2 Rajagopalan, Schulman, 2000 , s. 1156-1157
  16. ↑ 1 2 3 Rajagopalan, Schulman, 2000 , s. 1158-1159
  17. Rajagopalan, Schulman, 2000 , s. 1159-1160

Litteratur