Lovas algoritmiska lokala lemma är ett lemma inom teoretisk datavetenskap som låter en konstruera objekt med vissa begränsningar.
Det följer av Lovas lokala lemma att sannolikheten att ingen av händelserna från någon uppsättning "dåliga" händelser kommer att inträffa är strikt positiv om dessa händelser uppfyller några ytterligare restriktioner. Samtidigt är lemmat inte konstruktivt och tillåter inte att man uttryckligen konstruerar exempel på objekt för vilka dessa händelser inte inträffar. I fallet när dessa händelser bestäms av en ändlig uppsättning slumpvariabler oberoende av varandra, låter algoritmen av Las Vegas -typen med polynom körtid utvecklad av forskarna Robin Moser och Gabor Tardos dig explicit beräkna en viss uppsättning av värden för dessa variabler, för vilka det inte finns någon av de betraktade slumpmässiga händelserna [1] .
Lovas lokala lemma är ett kraftfullt verktyg som vanligtvis används i probabilistiska metoder för att bevisa förekomsten av några komplexa matematiska objekt med en uppsättning givna egenskaper. Ett typiskt bevis handlar om att överväga ett objekts egenskaper ur sannolikhetsteorin och att använda det lokala Lovas-lemmat för att uppskatta sannolikheten för frånvaron av någon av funktionerna. Frånvaron av ett tecken anses vara en "dålig" händelse, och om det kan visas att alla sådana "dåliga" händelser kan undvikas samtidigt, så bevisas föremålets existens. Själva lemmat är formulerat så här:
Låta vara en ändlig uppsättning händelser i sannolikhetsutrymmet . För varje , bestämmer let de hörn som gränsar till vertexet i beroendegrafen (i beroendegrafen är vertexen intill händelser som den inte är oberoende av). Om det finns en sådan mappning då är sannolikheten att ingen av händelserna inträffar positiv, nämligen |
Lovas lokala lemma är icke-konstruktivt eftersom det låter en sluta sig till existensen av strukturella egenskaper eller komplexa objekt, men anger inte hur man effektivt kan hitta eller konstruera dem i praktiken. I detta fall är slumpmässigt urval från sannolikhetsutrymmet sannolikt ineffektivt, eftersom sannolikheten för händelsen av intresse är
begränsas endast av produkten av små kvantiteter
och är därför sannolikt mycket liten.Om vi antar att alla händelser från bestäms av en ändlig uppsättning av ömsesidigt oberoende slumpvariabler från , föreslog Robin Moser och Gabor Tardos en effektiv slumpmässig algoritm som hittar en uppsättning slumpvariabler så att alla händelser från inte håller.
Därför kan denna algoritm användas för att effektivt konstruera komplexa objekt med föreskrivna egenskaper för de flesta problem som det lokala Lovas-lemmat är tillämpligt på.
Mosers och Tardos arbete föregicks av andra resultat som ledde till framsteg i utvecklingen av algoritmiska versioner av Lovas lokala lemma. 1991 visade Joseph Beck för första gången att det i princip är möjligt att utveckla en algoritmisk version av lemma [2] . I hans arbete var formuleringen av lemma mer rigorös än i den ursprungliga icke-konstruktiva definitionen. Becks tillvägagångssätt krävde att för varje , antalet beroenden begränsas från ovan som . Den icke-konstruktiva versionen av det lokala lemma medger en svagare begränsning:
Denna uppskattning går inte att förbättra. Efterföljande arbete flyttade gradvis denna uppskattning tills Moser och Tardos presenterade en algoritm som uppnår den.
2020 fick Robin Moser och Gabor Tardos Gödelpriset för en algoritmisk version av Lovas lokala lemma [3] [4] .
Låt vara den nuvarande realiseringen av den slumpmässiga variabeln , och låt vara realiseringen av alla slumpvariabler från .
Den unika minsta delmängden av slumpvariabler som avgör om en händelse kommer att inträffa betecknas med .
Om händelsen är sann under utvärdering , säger vi att utvärderingen uppfyller , annars undviker den .
Algoritmen fungerar så här:
I det första steget initierar algoritmen slumpmässigt den aktuella tilldelningen för varje slumpmässig variabel . Detta innebär att värdet väljs slumpmässigt och oberoende efter fördelningen av den slumpmässiga variabeln . Därefter går algoritmen in i huvudslingan, som exekveras tills den önskade implementeringen hittas. Vid varje iteration av huvudslingan väljer algoritmen en godtycklig nöjd händelse och väljer om alla slumpvariabler som bestämmer .
Låta vara en ändlig uppsättning slumpmässiga variabler oberoende i helheten i sannolikheten utrymme , vara en ändlig uppsättning händelser som bestäms av dessa variabler. Om det finns ett set sådant
,då finns det en implementering som undviker alla händelser från . Dessutom väljer den randomiserade algoritmen som beskrivs ovan en händelse som mest
gånger innan den hittar den nödvändiga implementeringen. Således överstiger inte den förväntade exekveringstiden för algoritmen
[1] .Kraven kan verka komplexa och icke-intuitiva. Men det kan ersättas av tre enkla villkor:
En variant av det lokala Lovas-lemmat med dessa tre villkor istället för en mängd kallas det symmetriska lokala Lovas-lemmat. Det är också möjligt att formulera det symmetriska algoritmiska lokala Lovas-lemmat:
Låt vara en ändlig uppsättning av ömsesidigt oberoende slumpvariabler och vara en ändlig uppsättning händelser som bestäms av dessa variabler. Om ovanstående tre villkor är uppfyllda, så finns det en realisering av värdena från som undviker alla händelser från . Dessutom väljer den randomiserade algoritmen som beskrivs ovan en händelse inte mer än en gång innan den hittar den implementeringen. Den totala förväntade exekveringstiden för algoritmen överstiger alltså inte .
Följande exempel visar hur en algoritmisk version av Lovas lokala lemma kan appliceras på ett enkelt problem.
Låta vara en konjunktiv normal form av en formel över variabler som innehåller satser och har minst bokstaver i varje sats, och varje variabel finns i högst satser. Då genomförbart .
Detta påstående kan bevisas med hjälp av en symmetrisk version av Lovas algoritmiska lokala lemma. Låta vara en uppsättning av oberoende slumpvariabler , som väljs enhetligt och oberoende av varandra . Utan förlust av generalitet kan vi anta att det finns exakt bokstavliga ord i varje sats. Den "dåliga" händelsen i denna uppgift är den händelse som motsvarar det faktum att -th-satsen inte är uppfylld. Eftersom varje sats innehåller bokstaver (och därför variabler) och alla variabler väljs slumpmässigt, kan vi uppskatta sannolikheten för varje "dålig" händelse enligt följande:
Eftersom varje variabel kan förekomma i högst satser, och i varje sats av variabler, kan varje "dålig" händelse vara beroende av högst
andra evenemang, alltså
Om du multiplicerar båda sidor med får du
.Det följer av det symmetriska lokala Lovas-lemmat att sannolikheten för en realisering under vilken alla satser av är uppfyllda inte är noll, och därför måste en sådan realisering existera. Lovas algoritmiska lemma gör att en sådan uppgift kan hittas i rimlig tid med den algoritm som beskrivs ovan. Algoritmen fungerar så här:
Inledningsvis tas en slumpmässig implementering . Tills hela formeln blir sann, väljs en otillfredsställd sats från slumpmässigt , och sedan tilldelas alla variabler som förekommer i nya värden, som väljs enhetligt slumpmässigt. När alla satser från är uppfyllda returnerar algoritmen den aktuella implementeringen. Därför bevisar Lovas algoritmiska lokala lemma att denna algoritm som mest kommer att köras in
steg på formler som uppfyller ovanstående två villkor. En starkare version av ovanstående påstående bevisades av Moser [5] , se även Birman, Karpinski och Scott [6] .
Algoritmen som beskrivs ovan är väl lämpad för parallellisering, eftersom den parallella genereringen av nya implementeringar för händelser så att , är ekvivalent med sekventiell generering. Därför är det vid varje iteration av huvudslingan möjligt att bestämma den maximala uppsättningen av oberoende tillfredsställda händelser och regenerera alla händelser parallellt.
Om setet uppfyller lite strängare villkor:
för vissa ger den parallella algoritmen den förväntade exekveringstiden för ordern
.