Associativitetstest

Associativitetstest  - kontrol af en binær operation for associativitet . Den naive verifikationsprocedure, som består i opregning af alle mulige tripletter af operationsargumenter, tager tid, hvor  er størrelsen af ​​det sæt, som operationen er defineret over. Tidlige associativitetstests gav ikke asymptotiske forbedringer i forhold til den naive algoritme, men forbedrede køretiden i nogle specielle tilfælde. For eksempel fandt Robert Tarjan i 1972, at Lights test, foreslået i 1949, gør det muligt at kontrollere, om den undersøgte binære operation er reversibel (giver en kvasigruppe). Den første probabilistiske test, der forbedrer køretiden fra til , blev foreslået i 1996 af Sridhar Rajagopalan og Leonard Shulman . I 2015 blev der foreslået en kvantealgoritme , der kontrollerer en operation for associativitet i tide , hvilket er en forbedring i forhold til Grovers søgning , som kører i [1] .

Udtalelse af problemet

Givet en tabel af størrelse , der beskriver en lukket operation på et sæt af størrelse , dvs. operationen er givet af dens Cayley-tabel , og sammen med denne operation danner en magma . Det er nødvendigt at kontrollere, at for enhver den er opfyldt (med andre ord, operationen er associativ ). Enhver deterministisk algoritme, der løser dette problem, kræver ikke mindre tid, da hver celle i Cayley-tabellen skal læses mindst én gang. Iterativ opregning af alle tripler , kontrol af, at lighed gælder for hver tripel, tager tid [2] .

Motivation

Kontrol af associativitet er et af de naturlige problemer, der opstår, når man arbejder med Cayley-tabeller over forskellige operationer [3] . En sådan kontrol er især implementeret i GAP [4] og Maple [5] computeralgebrasystemerne . I det mest generelle tilfælde er der operationer, hvor alle på nær én af triplerne er associative - et eksempel på en sådan operation på elementer er operationen sådan, at , og for alle andre elementer . Dens eneste ikke-associative tripel er , fordi [6] . På grund af eksistensen af ​​sådanne operationer kan man få det indtryk, at associativitetskontrollen vil kræve behandling af alle mulige tripler, og derfor er en asymptotisk forbedring af algoritmens køretid umulig [7] . Af samme grund vil en naiv probabilistisk algoritme, der kontrollerer associativiteten af ​​tilfældigt udvalgte tripler, kræve kontroller for at garantere en tilstrækkelig lav fejlsandsynlighed [8] . Algoritmen foreslået af Rajagopalan og Shulman viser dog, at dette estimat kan forbedres, og fungerer som et tydeligt eksempel på, hvordan probabilistiske algoritmer kan klare problemer, der ser vanskelige ud for deterministiske algoritmer - fra 2020 løser deterministiske algoritmer et givet problem i subkubisk tid , ukendt [9] .

Lysets test

I 1961 udgav Alfred Clifford og Gordon Preston i bogen Algebraic Semigroup Theory en associativitetstest rapporteret til en af ​​forfatterne af Dr. Light i 1949. Algoritmen består i at overveje for hver operation og . Per definition er en operation associativ hvis og kun hvis (Cayley-tabellerne over operationer er de samme) for alle [10] . Lys bemærkede, at hvis , dvs. y har et generatorsæt , så er det tilstrækkeligt kun at kontrollere for [11] [12] .

Hvis i definitionerne ovenfor og , så .

Bevis

Lad det være for alle . Så .

I værste fald (for eksempel for maksimal drift ) kan det mindste magmageneratorsæt bestå af elementer, så testen skal udføres for alle elementer , hvilket vil tage tid. I 1972 bemærkede Robert Tarjan , at Lights test kan være effektiv til at teste, om en given operation definerer en gruppe [2] . Dette skyldes det faktum, at for nogle specielle typer operationer, herunder operationer, der opfylder gruppeaksiomet for tilstedeværelsen af ​​et omvendt element , er det altid muligt at vælge et genereringssæt af lille størrelse [12] .

Lad enhver ligning af formen have en unik løsning (det vil sige en kvasigruppe ). Så er det muligt at udskille et generatorsæt af størrelse højst .

Bevis

Lade være nogle delmængde sådan, at og . Så, på grund af det faktum, at der er en kvasigruppe, , da alle elementer i formen for er forskellige og ikke er indeholdt i . Således kan sekventiel tilføjelse til elementerne i visningen ikke foretages mere end én gang.

Per definition er en kvasigruppe, hvis og kun hvis dens Cayley-tableau er en latinsk firkant , som kan verificeres i tide . Anvendelsen af ​​den ovenfor beskrevne procedure på en kvasigruppe giver til gengæld mulighed for deterministisk at kontrollere, om , er en gruppe , for [13] .

Rajagopalan-Schulman test

Den første subkubiske test var Monte Carlo-algoritmen foreslået i 1996 [14] Sridhar Rajagopalan fra Princeton University og Leonard Shulman fra Georgia Institute of Technology . Proceduren foreslået af dem kræver tid, hvor  er den maksimalt tilladte fejlsandsynlighed [3] [7] .

Algoritme

Algoritmen bruger en groupoid algebra  — et lineært rum ( algebra ) over et to-element dimensionsfelt , hvis basisvektorer svarer til alle de forskellige elementer i magmaen . Vektorerne af et sådant rum har formen

, hvor

De har sumoperationen

, hvor angiver tilføjelse og ind

samt produktdriften

, hvor angiver produktet og i

Produktet af vektorer i en sådan algebra bliver mere intuitivt, hvis vi tænker på, at det for et hvilket som helst par af basisvektorer er defineret som , og produktet af ethvert andet par af vektorer opnås ved at "åbne parenteserne" og omarrangere vilkårene. For eksempel, for produktet har formen

og substitution resulterer i et udtryk svarende til den generelle definition [8] . For algebraen defineret på denne måde gælder følgende lemma [15] :

Den indledende magmaoperation er associativ, hvis og kun hvis for nogen . Hvis operationen ikke er associativ, så overstiger sandsynligheden for, at den angivne lighed vil være opfyldt for en tilfældig ensartet valgt tripel, ikke .

For at kontrollere associativiteten vælges tilfældige , for hvilke . Et sådant tjek kan udføres i tide , og for at opnå en fejlsandsynlighed på højst , er det nok at lave tjek, som giver den samlede køretid [15] .

Vilkårlige operationer

Rajagopalans og Shulmans tilgang kan generaliseres til at teste generelle identiteter, forudsat at hver variabel forekommer nøjagtigt én gang på venstre og højre side af identiteten [16] .

For eksempel kan vi overveje et sæt på de elementer, hvoraf tre operationer er specificeret: "union" , "skæringspunkt" og "addition" . Det er nødvendigt at kontrollere det . For at gøre dette, kan vi overveje induceret på operationer

, og

og kontroller, at for disse operationer er det sandt . I den mest generelle form kan proceduren karakteriseres ved følgende teorem [16] :

Lade være endelige mængder, og være et sæt af operationer defineret på endelige kartesiske produkter af disse sæt sådan, at operationen er defineret på sættet , hvor er arity af operationen . Derefter kan verificeringen af ​​sandheden af ​​identiteten sammensat af disse operationer, således at hver variabel forekommer i dens venstre og højre del nøjagtigt én gang, udføres i tid , hvor er den størst mulige størrelse af definitionsdomænet , er det samlede antal af operationer brugt i identiteten, er det samlede antal variabler, er den største tilladte fejlsandsynlighed.

I tilfælde af, at operationen har et størrelsesdomæne , og derfor tager den beregningsmæssige kompleksitet af proceduren formen , mens en naiv kontrol ville kræve operationer [16] .

Dette resultat kan forbedres, hvis vi i stedet betragter algebraen som et primtal . I dette tilfælde, ifølge Schwarz-Zippel-lemmaet , kan sandsynligheden for at tilbagevise en forkert identitet i én iteration forbedres fra til , hvilket svarer til en konstant sandsynlighed for og giver os mulighed for at forbedre køretiden til [6] .

Søg efter et ikke-identitetsvidne

Algoritmen kan modificeres til at finde et bestemt sæt af variabler, hvor identiteten fejler. Overvej f.eks. at søge efter en ikke-associativ trippel i tid . Lad det være kendt for nogle at . Disse elementer kan associeres med en tredobbelt , sådan at hvis , Så er også lig med , og hvis , så vælges tilfældigt mellem og (på samme måde for og ). For sandsynligheden for, at , vil estimatet nedefra stadig være sandt , så proceduren kan gentages, indtil hvert af elementerne kun har en enhed i en af ​​positionerne, som vil svare til den ønskede ikke-associative tripel i [17] .

Noter

  1. Lee, Magniez, Santha, 2015
  2. ↑ 12 Tarjan , 1972 , s. 120
  3. ↑ 1 2 Lipton, Regan, 2013
  4. IsAssociative  . _ GAP-referencemanual . GAP-gruppen. Hentet 1. september 2021. Arkiveret fra originalen 17. april 2021.
  5. IsAssociative  . _ Maple Hjælp . maplesoft. Hentet 14. august 2022. Arkiveret fra originalen 14. april 2021.
  6. ↑ 1 2 Rajagopalan, Schulman, 2000 , s. 1162
  7. ↑ 12 Sinclair , 2020
  8. ↑ 1 2 Matousek, Nešetřil, 2008
  9. Schulman, 2020
  10. Premchand, 1984 , s. 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 , pp. 1158-1159
  17. Rajagopalan, Schulman, 2000 , s. 1159-1160

Litteratur