Assosiaatiotesti

Assosiaatiotesti  - binäärioperaation assosiatiivisuuden tarkistaminen . Naivi varmennusmenettely, joka koostuu kaikkien mahdollisten operaatioargumenttien kolmosten luettelemisesta , vie aikaa, missä  on sen joukon koko, jonka yli operaatio määritellään. Varhaiset assosiaatiotestit eivät tuottaneet asymptoottisia parannuksia naiiviin algoritmeihin verrattuna, mutta ne paransivat suoritusaikaa joissakin erikoistapauksissa. Esimerkiksi Robert Tarjan havaitsi vuonna 1972, että Lightin testi, jota ehdotettiin vuonna 1949, mahdollistaa sen tarkistamisen, onko tutkittava binäärioperaatio palautuva (määrittää kvasiryhmän ). Sridhar Rajagopalan ja Leonard Shulman ehdottivat vuonna 1996 ensimmäistä todennäköisyystestiä, joka parantaa ajoaikaa . Vuonna 2015 ehdotettiin kvanttialgoritmia , joka tarkistaa toiminnon assosiatiivisuuden ajassa , mikä on parannus Groverin hakuun , joka suoritetaan vuonna [1] .

Ongelman selvitys

Annettu kokotaulukko , joka kuvaa suljettua operaatiota kokojoukolle , eli operaatio on annettu sen Cayley-taulukosta ja muodostaa yhdessä tämän operaation kanssa magman . On tarpeen tarkistaa, että se täyttyy mille tahansa (toisin sanoen operaatio on assosiatiivinen ). Mikä tahansa deterministinen algoritmi, joka ratkaisee tämän ongelman, ei vaadi vähemmän aikaa, koska jokainen Cayley-taulukon solu on luettava vähintään kerran. Kaikkien kolmioiden iteratiivinen laskeminen , joka tarkistaa, että tasa-arvo pätee jokaiselle kolmiolle, vie aikaa [2] .

Motivaatio

Assosiatiivisuuden tarkistaminen on yksi luonnollisista ongelmista, joita syntyy käytettäessä eri operaatioiden Cayley-taulukoita [3] . Erityisesti tällainen tarkistus on toteutettu GAP [4] ja Maple [5] tietokonealgebrajärjestelmissä . Yleisimmissä tapauksissa on operaatioita, joissa kaikki kolmiot yhtä lukuun ottamatta ovat assosiatiivisia - esimerkki tällaisesta elementtien operaatiosta on operaatio sellainen, että , ja kaikille muille elementeille . Sen ainoa ei-assosiatiivinen kolmoisosa on , koska [6] . Tällaisten operaatioiden olemassaolon vuoksi voi saada vaikutelman, että assosiatiivisuustarkistus vaatii kaikkien mahdollisten kolmoiskappaleiden prosessointia ja siksi algoritmin ajoajan asymptoottinen parantaminen on mahdotonta [7] . Samasta syystä naiivi todennäköisyysalgoritmi, joka tarkistaa satunnaisesti valittujen kolmioiden assosiatiivisuuden, vaatii tarkistuksia riittävän alhaisen virhetodennäköisyyden takaamiseksi [8] . Rajagopalanin ja Shulmanin ehdottama algoritmi kuitenkin osoittaa, että tätä arviota voidaan parantaa, ja se toimii selkeänä esimerkkinä siitä, kuinka todennäköisyyspohjaiset algoritmit voivat selviytyä ongelmista, jotka näyttävät vaikeilta deterministisille algoritmeille - vuodesta 2020 lähtien deterministiset algoritmit ratkaisevat tietyn ongelman alikutiossa. aika , tuntematon [9] .

Valon testi

Vuonna 1961 Alfred Clifford ja Gordon Preston julkaisivat kirjassa Algebraic Semigroup Theory assosiaatiotestin, jonka tohtori Light raportoi yhdelle kirjoittajista vuonna 1949. Algoritmi koostuu kunkin toiminnon ja . Määritelmän mukaan operaatio on assosiatiivinen silloin ja vain jos (Cayley-operaatiotaulukot ovat samat) kaikille [10] . Light huomasi, että jos y :llä on generaattorijoukko , niin riittää, että tarkistat vain [11] [12] .

Jos yllä olevissa määritelmissä ja , niin .

Todiste

Olkoon se kaikille . Sitten .

Pahimmassa tapauksessa (esimerkiksi maksimitoimintaa varten ) pienin magmageneraattorisarja voi koostua elementeistä, joten testi on suoritettava kaikille elementeille , mikä vie aikaa. Vuonna 1972 Robert Tarjan huomasi, että Lightin testi voi olla tehokas testattaessa, määrittääkö tietty operaatio ryhmän [2] . Tämä johtuu siitä, että joillekin erikoistyyppisille operaatioille, mukaan lukien operaatiot, jotka täyttävät käänteisen elementin olemassaolon ryhmäaksiooman , on aina mahdollista valita pienikokoinen generointijoukko [12] .

Olkoon millä tahansa muodon yhtälöllä ainutlaatuinen ratkaisu ( eli kvasiryhmä ). Silloin on mahdollista erottaa korkeintaan koon generoiva joukko .

Todiste

Antaa olla osajoukko sellainen, että ja . Sitten, koska se on kvasiryhmä, , koska kaikki lomakkeen elementit ovat erilaisia ​​eivätkä sisälly . Näin ollen peräkkäistä lisäystä näkymän elementteihin voidaan tehdä vain kerran.

Määritelmän mukaan se on kvasiryhmä, jos ja vain jos sen Cayley-taulukko on latinalainen neliö , joka voidaan varmistaa ajoissa . Edellä kuvatun proseduurin soveltaminen kvasiryhmään mahdollistaa puolestaan ​​deterministisen tarkistamisen, onko , ryhmä , [13] .

Rajagopalan-Schulman testi

Ensimmäinen subkubinen testi oli Monte Carlo -tyyppinen algoritmi , ehdottivat vuonna 1996 Sridhar Rajagopalan Princetonin yliopistosta ja Leonard Shulman Georgia Institute of Technologysta . Niiden ehdottama menettely vaatii aikaa, missä  on suurin sallittu virhetodennäköisyys [3] [7] .

Algoritmi

Algoritmi käyttää ryhmäoidialgebraa  — lineaarista avaruutta ( algebraa ) kaksielementtisen ulottuvuuskentän päällä , jonka kantavektorit vastaavat kaikkia magman eri elementtejä . Tällaisen avaruuden vektoreilla on muoto

, missä

Heillä on summaoperaatio

, jossa tarkoittaa lisäystä ja sisään

sekä tuotteen toiminta

, jossa tarkoittaa tuotetta ja sisään

Tällaisen algebran vektorien tulosta tulee intuitiivisempi, jos otamme huomioon, että mille tahansa kantavektoriparille se määritellään muodossa , ja minkä tahansa muun vektoriparin tulo saadaan "avaamalla sulut" ja järjestämällä termit uudelleen. Esimerkiksi tuotteella on muoto

ja substituutio johtaa yleistä määritelmää vastaavaan lausekkeeseen [8] . Tällä tavalla määritellylle algebralle pätee seuraava lemma [15] :

Alkuperäinen magmaoperaatio on assosiatiivinen jos ja vain jos jollekin . Jos operaatio ei ole assosiatiivinen, todennäköisyys, että määritetty yhtäläisyys täyttyy satunnaisesti tasaisesti valitulle kolmikolle , ei ylitä .

Assosiatiivisuuden tarkistamiseksi valitaan satunnaiset , joille . Tällainen tarkistus voidaan suorittaa ajoissa , ja virhetodennäköisyyden saavuttamiseksi, joka ei ylitä , riittää tarkastukset, jolloin saadaan kokonaisajoaika [15] .

Arbitrary Operations

Rajagopalanin ja Shulmanin lähestymistapaa voidaan yleistää testaamaan yleisiä identiteettejä edellyttäen, että jokainen muuttuja esiintyy täsmälleen kerran identiteetin vasemmalla ja oikealla puolella [16] .

Voimme esimerkiksi harkita joukkoa , jonka elementeille on määritetty kolme operaatiota: "liitto" , "risteys" ja "lisäys" . Se on tarpeen tarkistaa . Tätä varten voimme harkita indusoituja operaatioita

, ja

ja tarkista, että nämä toiminnot pitävät paikkansa . Yleisimmässä muodossa menettelyä voidaan luonnehtia seuraavalla lauseella [16] :

Antaa olla äärellisiä joukkoja, ja olla joukko operaatioita, jotka on määritelty näiden joukkojen äärellisille karteesisille tuloille siten, että operaatio on määritelty joukossa , jossa on operaation ariteetti . Tällöin näistä operaatioista koostuvan identiteetin totuuden varmistus siten, että jokainen muuttuja esiintyy vasemmassa ja oikealla osassa täsmälleen kerran, voidaan suorittaa ajassa , missä on määritelmäalueen suurin mahdollinen koko on kokonaisluku identiteetissä käytetyistä operaatioista, on muuttujien kokonaismäärä, on suurin sallittu virhetodennäköisyys.

Tapauksessa , operaatiolla on kokoalue ja siksi toimenpiteen laskennallinen monimutkaisuus saa muodon , kun taas naiivi tarkistus vaatisi operaatioita [16] .

Tätä tulosta voidaan parantaa, jos sen sijaan tarkastellaan alkuluvun algebraa . Tässä tapauksessa Schwarz-Zippel-lemman mukaan todennäköisyyttä virheellisen identiteetin kumoamiseen yhdessä iteraatiossa voidaan parantaa arvosta arvoon , mikä vastaa jatkuvaa todennäköisyyttä ja mahdollistaa ajoajan parantamisen arvoon [6] .

Etsi ei-identiteettiä todistaja

Algoritmia voidaan muokata etsimään tietty joukko muuttujia, joissa identiteetti epäonnistuu. Harkitse esimerkiksi ei-assosiatiivisen triplin etsimistä ajassa . Olkoon se joidenkin tiedossa . Nämä elementit voidaan liittää kolmioon siten, että jos , niin on myös yhtä suuri kuin , ja jos , niin valitaan satunnaisesti väliltä ja (samalla tavalla ja ). Todennäköisyydellä, että , alta tuleva estimaatti on edelleen tosi , joten menettelyä voidaan toistaa, kunnes jokaisella elementillä on yksikkö vain yhdessä paikassa, joka vastaa haluttua ei-assosiatiivista kolmoisosaa kohdassa [17] .

Muistiinpanot

  1. Lee, Magniez, Santha, 2015
  2. ↑ 12 Tarjan , 1972 , s. 120
  3. ↑ 1 2 Lipton, Regan, 2013
  4. Isassosiatiivinen  . _ GAP-viiteopas . GAP-ryhmä. Haettu 1. syyskuuta 2021. Arkistoitu alkuperäisestä 17. huhtikuuta 2021.
  5. Isassosiatiivinen  . _ Maple Apua . vaahterasofta. Haettu 14. elokuuta 2022. Arkistoitu alkuperäisestä 14. huhtikuuta 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 , s. 1158-1159
  17. Rajagopalan, Schulman, 2000 , s. 1159-1160

Kirjallisuus