Statistiken för slumpmässiga permutationer , såsom cykelstrukturen för en slumpmässig permutation, är av grundläggande betydelse i analysen av algoritmer, särskilt för sorteringsalgoritmer, som fungerar på slumpmässiga permutationer. Anta till exempel att vi använder quickselect (en kusin till quicksort ) för att välja ett slumpmässigt element i en slumpmässig permutation. Quickselect kommer att utföra en partiell sortering på arrayen, eftersom den partitionerar arrayen enligt pivoten. Därför kommer en permutation att vara mindre oordnad efter att snabbval har utförts. Mängden störning som finns kvar kan analyseras med genererande funktioner. Dessa genereringsfunktioner beror på ett fundamentalt sätt på genereringsfunktionerna för slumpmässig permutationsstatistik. Därför är det av avgörande betydelse att beräkna dessa genererande funktioner.
Permutationer är uppsättningar av märkta cykler. Använda det märkta fallet för Flajolet–Sedgewicks fundamentalsats och skriva för uppsättningen av permutationer och för singeltonen set, vi har
där vi har använt det faktum att EGF för de kombinatoriska arterna av permutationer (det finns n ! permutationer av n element) är
Denna ena ekvation tillåter en att härleda ett stort antal permutationsstatistik. För det första, genom att ta bort termer från dvs exp, kan vi begränsa antalet cykler som en permutation innehåller, t.ex. genom att begränsa EGF till får vi permutationer som innehåller två cykler. För det andra, notera att EGF för märkta cykler, dvs för är
för det finns k ! / k märkta cykler. Detta betyder att genom att ta bort termer från denna genererande funktion kan vi begränsa storleken på de cykler som förekommer i en permutation och erhålla en EGF av permutationerna som endast innehåller cykler av en given storlek.
Istället för att ta bort och välja cykler kan man också lägga olika vikter på cykler av olika storlek. Om är en viktfunktion som endast beror på storleken k på cykeln och för korthets skull skriver vi
definierar värdet av b för en permutation att vara summan av dess värden på cyklerna, då kan vi markera cykler med längden k med u b ( k ) och få en genererande funktion med två variabler
Detta är en "blandad" genererande funktion: det är en exponentiell genererande funktion i z och en vanlig genererande funktion i den sekundära parametern u. Att differentiera och utvärdera vid u = 1 har vi
Detta är den sannolikhetsgenererande funktionen av förväntan på b . Med andra ord, koefficienten för i denna potensserie är det förväntade värdet av b på permutationer i givet att varje permutation väljs med samma sannolikhet .
Den här artikeln använder koefficientextraktionsoperatorn [ z n ], dokumenterad på sidan för formella effektserier .
En involution är en permutation σ så att σ 2 = 1 under permutationssammansättning. Av detta följer att σ endast kan innehålla cykler med längden ett eller två, dvs. den exponentiella genererande funktionen g ( z ) för dessa permutationer är
Detta ger den explicita formeln för det totala antalet av involutioner bland permutationerna σ ∈ S n :
Dela med n ! ger sannolikheten att en slumpmässig permutation är en involution. Dessa nummer kallas telefonnummer .
Antal permutationer som är m: te rötter till enhet
Detta generaliserar begreppet involution. En m: te roten av enhet är en permutation σ så att σ m = 1 under permutationssammansättning. Varje gång vi applicerar σ går vi nu ett steg parallellt längs alla dess cykler. En cykel med längden d applicerad d gånger producerar identitetspermutationen på d element ( d fixpunkter) och d är det minsta värdet för att göra det. Därför m vara en multipel av alla cykelstorlekar d , dvs de enda möjliga cyklerna är de vars längd d är en divisor av m . Det följer att EGF g ( x ) för dessa permutationer är
När m = p , där p är primtal, förenklas detta till
Antal permutationer av ordning exakt k
Detta kan göras genom Möbius inversion . Genom att arbeta med samma koncept som i föregående post noterar vi att den kombinatoriska arten av permutationer vars ordning delar k ges av
Översättning till exponentiella genererande funktioner får vi EGF för permutationer vars ordning delar k , vilket är
Nu kan vi använda denna genereringsfunktion för att räkna permutationer av ordningen exakt k . Låt vara antalet permutationer på n vars ordning är exakt d och antalet permutationer på n permutationen räkna vars ordning delar k . Då har vi
Anta att det är n personer på en fest, som var och en tog med sig ett paraply. I slutet av festen plockar alla ett paraply ur bunten med paraplyer och löv. Vad är sannolikheten att ingen lämnade med sitt eget paraply? Det här problemet är likvärdigt med att räkna permutationer utan fasta punkter (kallade derangements ), och därför EGF, där vi subtraherar ut fixpunkter (cykler med längd 1) genom att ta bort termen z från den grundläggande relationen är
Multiplikation med summerar koefficienterna för , så , det totala antalet avvikelser, ges av:
Därför finns det ca avvikelser och sannolikheten att en slumpmässig permutation är en avvikelse är
Detta resultat kan också bevisas genom inkludering–uteslutning . Använda uppsättningarna där för att beteckna uppsättningen av permutationer som fixar p , vi har
Denna formel räknar antalet permutationer som har minst en fast punkt. Kardinaliteterna är följande:
Därför är antalet permutationer utan fixpunkt
eller
och vi har kravet.
Det finns en generalisering av dessa tal, vilket är känt som rencontres numbers , dvs antalet av permutationer av som innehåller m fasta poäng. Motsvarande EGF erhålls genom att markera cykler av storlek ett med variabeln u , dvs. välja b ( k ) lika med ett för och noll annars, vilket ger genereringsfunktionen av uppsättningen permutationer med antalet fasta punkter:
Det följer att
och följaktligen
Detta innebär omedelbart det
för n stor, m fast.
Ordning av en slumpmässig permutation
Om P är en permutation är ordningen för P det minsta positiva heltal n för vilket är identitetspermutationen. Detta är den minsta gemensamma multipeln av längderna av cyklerna för P .
Ett teorem av Goh och Schmutz säger att om är den förväntade ordningen för en slumpmässig permutation av storlek n , då
där konstanten c är
Störningar som innehåller ett jämnt och ett udda antal cykler
Vi kan använda samma konstruktion som i föregående avsnitt för att beräkna antalet avvikelser som innehåller ett jämnt antal cykler och talet som innehåller ett udda antal cykler. För att göra detta måste vi markera alla cykler och subtrahera fixpunkter, ge
Nu visar några mycket grundläggande resonemang att EGF för ges av
En kriminalvårdare vill göra plats i sitt fängelse och överväger att befria hundra fångar och därmed befria hundra celler. Han samlar därför ihop hundra fångar och ber dem att spela följande spel: han radar upp hundra urnor i rad, som var och en innehåller namnet på en fånge, där varje fånges namn förekommer exakt en gång. Spelet spelas enligt följande: varje fånge får titta in i femtio urnor. Om han eller hon inte hittar sitt namn i någon av de femtio urnorna kommer alla fångar omedelbart att avrättas, annars fortsätter spelet. Fångarna har några ögonblick på sig att bestämma sig för en strategi, i vetskap om att när spelet väl har börjat kommer de inte att kunna kommunicera med varandra, markera urnorna på något sätt eller flytta urnorna eller namnen inuti dem. Om du väljer urnor slumpmässigt är deras chanser att överleva nästan noll, men det finns en strategi som ger dem 30 % chans att överleva, förutsatt att namnen tilldelas urnor slumpmässigt – vad är det?
Först och främst är sannolikheten för överlevnad med slumpmässiga val
så detta är definitivt inte en praktisk strategi.
Strategin för 30 % överlevnad är att betrakta innehållet i urnorna som en permutation av fångarna och genomlöpa cykler. För att hålla notationen enkel, tilldela ett nummer till varje fånge, till exempel genom att sortera deras namn i alfabetisk ordning. Urnorna kan därefter anses innehålla nummer snarare än namn. Nu definierar innehållet i urnorna tydligt en permutation. Den första fången öppnar den första urnan. Om han hittar sitt namn har han gjort klart och överlever. Annars öppnar han urnan med numret han hittade i den första urnan. Processen upprepas: fången öppnar en urna och överlever om han hittar sitt namn, annars öppnar han urnan med numret som just hämtats, upp till en gräns på femtio urnor. Den andra fången börjar med urna nummer två, den tredje med urna nummer tre och så vidare. Denna strategi är exakt ekvivalent med en genomgång av cyklerna för permutationen som representeras av urnorna. Varje fånge börjar med urnan som bär hans nummer och fortsätter att korsa sin cykel upp till en gräns på femtio urnor. Numret på urnan som innehåller hans nummer är förbilden av det numret under permutationen. Därför överlever fångarna om alla cykler av permutationen innehåller högst femtio element. Vi måste visa att denna sannolikhet är minst 30%.
Observera att detta förutsätter att vaktmästaren väljer permutationen slumpmässigt; om vaktmästaren förutser denna strategi kan han helt enkelt välja en permutation med en cykel av längd 51. För att övervinna detta kan fångarna i förväg komma överens om en slumpmässig permutation av deras namn.
Vi betraktar det allmänna fallet med fångar och urnor öppnas. Vi beräknar först den komplementära sannolikheten, dvs att det finns en cykel med fler än element. Med detta i åtanke introducerar vi
eller
så att den önskade sannolikheten är
eftersom cykeln för fler än element nödvändigtvis kommer att vara unik. Genom att använda det faktum att finner vi att
Ett relaterat resultat är att asymptotiskt är den förväntade längden av den längsta cykeln λn, där λ är Golomb–Dickman-konstanten , ungefär 0,62.
Detta exempel beror på Anna Gál och Peter Bro Miltersen; konsultera tidningen av Peter Winkler för mer information, och se diskussionen på Les-Mathematiques.net . Se referenserna om 100 fångar för länkar till dessa referenser.
Ovanstående beräkning kan utföras på ett enklare och mer direkt sätt, enligt följande: observera först att en permutation av element innehåller högst en cykel med längd som är strikt större än . Alltså, om vi betecknar
sedan
För är antalet permutationer som innehåller en cykel med längden exakt
Förklaring: är antalet sätt att välja -elementen som utgör cykeln; är antalet sätt att ordna objekt i en cykel; och är antalet sätt att permutera de återstående elementen. Det finns ingen dubbelräkning här eftersom det finns högst en cykel med längden när . Således,
Det drar vi slutsatsen
En variant av problemet med 100 fångar (nycklar och lådor)
Det finns ett närbesläktat problem som passar den metod som presenteras här ganska bra. Säg att du inte har några beställda lådor. Varje låda innehåller en nyckel till någon annan låda eller eventuellt sig själv som ger en permutation av nycklarna. Du får välja k av dessa n rutor på en gång och bryta upp dem samtidigt, och få tillgång till k nycklar. Vad är sannolikheten för att du med dessa nycklar kan öppna alla n rutor, där du använder en hittad nyckel för att öppna lådan den tillhör och upprepa.
Det matematiska uttalandet av detta problem är som följer: välj en slumpmässig permutation på n element och k- värden från intervallet 1 till n , också slumpmässigt, kalla dessa märken. Vad är sannolikheten att det finns minst ett märke på varje cykel av permutationen? Påståendet är att denna sannolikhet är k/n .
Arten av permutationer av cykler med någon icke-tom delmängd av varje cykel som markeras har specifikationen
Indexet i den inre summan börjar på ett eftersom vi måste ha minst ett märke på varje cykel.
Genom att översätta specifikationen till genererande funktioner får vi den bivariata genererande funktionen
Detta förenklar till
eller
För att extrahera koefficienter från detta, skriv om så
Det följer nu att
och följaktligen
Dividera med för att få
Vi behöver inte dividera med n! eftersom är exponentiell i z .
Vi kan beräkna OGF för de signerade Stirlingtalen för n fast, dvs
Börja med
Vilket ger
Sammanfattningsvis får vi
Med hjälp av formeln som involverar logaritmen för till vänster, definitionen av till höger, och binomialsatsen får vi
Genom att jämföra koefficienterna för och använda definitionen av binomialkoefficienten har vi slutligen
en fallande faktorial . Beräkningen av OGF för de osignerade Stirlingtalen av det första slaget fungerar på liknande sätt.
Förväntat antal cykler av en given storlek m
I detta problem använder vi en bivariat genererande funktion g ( z , u ) som beskrivs i inledningen. Värdet på b för en cykel som inte har storlek m är noll och ett för en cykel av storlek m . Vi har
eller
Detta betyder att det förväntade antalet cykler av storleken m i en permutation med längden n mindre än m är noll (uppenbarligen). En slumpmässig permutation med längd minst m innehåller i genomsnitt 1/ m cykler med längd m . I synnerhet innehåller en slumpmässig permutation ungefär en fast punkt.
OGF för det förväntade antalet cykler med längd mindre än eller lika med m är därför
där H m är det m :te övertonstalet . Det förväntade antalet cykler av längd som mest m i en slumpmässig permutation är därför ungefär ln m .
Moment av fixpunkter
Den blandade GF av uppsättningen permutationer med antalet fasta punkter är
Låt slumpvariabeln X vara antalet fixpunkter i en slumpmässig permutation. Med hjälp av Stirlingtal av det andra slaget har vi följande formel för det m :te momentet av X :
vilket är noll när , och en annars. Därför bidrar bara termer med till summan. Detta ger
Förväntat antal fasta punkter i slumpmässig permutation höjt till någon potens k
Anta att du väljer en slumpmässig permutation och höjer den till någon potens , med ett positivt heltal och frågar om det förväntade antalet fixpunkter i resultatet. Beteckna detta värde med .
För varje divisor av en cykel med längden upp i fasta punkter när den höjs till potensen Därför måste vi markera dessa cykler med För att illustrera detta, överväg
Vi får
vilket är
Än en gång att fortsätta som beskrivits i inledningen, finner vi
vilket är
Slutsatsen är att för och det finns fyra fasta punkter i genomsnitt.
Det allmänna förfarandet är
Än en gång fortsätter som tidigare, finner vi
Vi har visat att värdet på är lika med (antalet divisorer för ) så snart som Det börjar på för och ökar med ett varje gång träffar en divisor av upp till och inklusive själv.
Förväntat antal cykler av valfri längd av en slumpmässig permutation
Vi konstruerar den bivariatgenererande funktionen med hjälp av , där är en för alla cykler (varje cykel bidrar med en till det totala antalet cykler).
Det förväntade antalet cykler är därför det övertonstalet , eller ungefär .
Antal permutationer med en cykel av längd större än n /2
(Observera att Avsnitt Hundra fångar innehåller exakt samma problem med en mycket liknande beräkning, plus även ett enklare elementärt bevis.)
Börja ännu en gång med den exponentiellt genererande funktionen , denna gång av klassen av permutationer enligt storlek där cykler med längd mer än är markerade med variabeln :
Det kan bara finnas en cykel som är längre än därför ges svaret på frågan av
eller
vilket är
Exponenten för i termen som höjs till potensen är större än och därmed inget värde för kan möjligen bidra till
Därav följer att svaret är
Summan har en alternativ representation som man möter t.ex. i OEIS OEIS : A024167 .
äntligen ger
Förväntat antal transponeringar av en slumpmässig permutation
Vi kan använda den disjunkta cykelnedbrytningen av en permutation för att faktorisera den som en produkt av transpositioner genom att ersätta en cykel med längden k med k − 1 transpositioner. T.ex. cykeln faktorer som . Funktionen för cykler är lika med och vi får
och
är det förväntade antalet transpositioner
där är övertonstalet . Vi kunde också ha erhållit denna formel genom att notera att antalet transpositioner erhålls genom att addera längden av alla cykler (vilket ger n ) och subtrahera en för varje cykel (vilket ger med föregående sektion).
För att se detta, notera att ovanstående motsvarar
och det
som vi såg vara EGF för de osignerade Stirlingtalen av det första slaget i avsnittet om permutationer som består av just m cykler.
Förväntad cykelstorlek för ett slumpmässigt element
Vi väljer ett slumpmässigt element q av en slumpmässig permutation och frågar om den förväntade storleken på cykeln som innehåller q . Här är funktionen lika med , eftersom en cykel med längden k bidrar med k element som är på cykler med längden k . Observera att till skillnad från de tidigare beräkningarna måste vi medelvärde ut denna parameter efter att vi extraherat den från genereringsfunktionen (dividera med n ). Vi har
är den förväntade längden på cykeln som innehåller q
Sannolikheten att ett slumpmässigt element ligger på en cykel av storleken m
Denna medelparameter representerar sannolikheten att om vi återigen väljer ett slumpmässigt element av av en slumpmässig permutation, så ligger elementet på en cykel av storleken m . Funktionen är lika med för och noll annars, eftersom endast cykler med längden m bidrar, nämligen m element som ligga på en cykel av längd m . Vi har
Det följer att sannolikheten för att ett slumpmässigt element ligger på en cykel med längden m är
Sannolikhet att en slumpmässig delmängd av [ n ] ligger på samma cykel
Välj en slumpmässig delmängd Q av [ n ] som innehåller m element och en slumpmässig permutation, och fråga om sannolikheten att alla element i Q ligger i samma cykel. Detta är en annan genomsnittlig parameter. Funktionen b ( k ) är lika med eftersom en cykel med längden k bidrar med delmängder av storlek m , där för k < m . Detta ger
Med ett medelvärde erhåller vi att sannolikheten för att elementen i Q är i samma cykel är
eller
I synnerhet är sannolikheten att två element p < q befinner sig i samma cykel 1/2.
Antal permutationer som innehåller ett jämnt antal jämna cykler
Vi kan använda Flajolet–Sedgewicks fundamentalsats direkt och beräkna mer avancerad permutationsstatistik. (Kontrollera den sidan för en förklaring av hur de operatorer vi kommer att använda beräknas.) Till exempel, uppsättningen permutationer som innehåller ett jämnt antal jämna cykler ges av
Detta säger att det finns en permutation av storlek noll som innehåller ett jämnt antal jämna cykler (den tomma permutationen, som innehåller noll cykler med jämn längd), en sådan permutation av storlek ett (den fasta punkten, som också innehåller nollcykler med jämn längd ), och att för finns det sådana permutationer.
Permutationer som är kvadrater
Tänk på vad som händer när vi kvadrerar en permutation. Fasta punkter mappas till fasta punkter. Udda cykler mappas till udda cykler i en en-till-en-korrespondens, t.ex. förvandlas till . Även cykler delas i två och ger ett par cykler som är hälften så stora som den ursprungliga cykeln, t.ex. förvandlas till . Därför kan permutationer som är kvadrater innehålla valfritt antal udda cykler, och ett jämnt antal cykler av storlek två, ett jämnt antal cykler av storlek fyra etc., och ges av
vilket ger EGF
Udda cykelinvarianter
De typer av permutationer som presenteras i de två föregående avsnitten, dvs permutationer som innehåller ett jämnt antal jämna cykler och permutationer som är kvadrater, är exempel på så kallade udda cykelinvarianter , studerade av Sung och Zhang (se externa länkar ). Termen udda cykel invariant betyder helt enkelt att medlemskap i respektive kombinatorisk klass är oberoende av storleken och antalet udda cykler som förekommer i permutationen. Faktum är att vi kan bevisa att alla udda cykelinvarianter lyder ett enkelt återkommande, som vi kommer att härleda. Först, här är några fler exempel på udda cykelinvarianter.
Permutationer där summan av längderna av de jämna cyklerna är sex
Denna klass har specifikationen
och genereringsfunktionen
De första värdena är
Permutationer där alla jämna cykler har samma längd
Denna klass har specifikationen
och genereringsfunktionen
Det finns en semantisk nyans här. Vi skulle kunna betrakta permutationer som inte innehåller några jämna cykler som tillhörande denna klass, eftersom noll är jämn . De första värdena är
Permutationer där den maximala längden på en jämn cykel är fyra
Denna klass har specifikationen
och genereringsfunktionen
De första värdena är
Upprepningen
Observera noga hur specifikationerna för den jämna cykelkomponenten är konstruerade. Det är bäst att tänka på dem i termer av att analysera träd. Dessa träd har tre nivåer. Noderna på den lägsta nivån representerar summor av produkter av cykler med jämn längd för singeltonen . Noderna på mellannivån representerar restriktioner för setoperatören. Slutligen summerar noden på översta nivån produkter av bidrag från mellannivån. Observera att begränsningar för setoperatorn, när de tillämpas på en genererande funktion som är jämn, kommer att bevara denna funktion, dvs producera en annan jämn genererande funktion. Men alla ingångar till setoperatörerna är jämna eftersom de härrör från cykler med jämn längd. Resultatet är att alla inblandade genererande funktioner har formen
där är en jämn funktion. Detta innebär att
är också jämnt, och därmed
Genom att låta och extrahera koefficienter, finner vi att
där markerar ett minus längden på en bidragande cykel, och markerar fixpunkter. Att översätta till att generera funktioner får vi
eller
Nu har vi
och följaktligen ges den önskade kvantiteten av
När vi gör beräkningen får vi
eller
Om man extraherar koefficienter finner vi att koefficienten är noll. Konstanten är ett, vilket inte stämmer överens med formeln (bör vara noll). För positiv får vi dock
eller
vilket är det önskade resultatet.
Som en intressant sida observerar vi att kan användas för att utvärdera följande determinant av en matris :
där . Kom ihåg formeln för determinanten:
är värdet på produkten till höger för en permutation där f är antalet fixpunkter av . Därav
Vilket ger
och slutligen
Skillnaden mellan antalet cykler i jämna och udda permutationer
Här försöker vi visa att denna skillnad ges av
Kom ihåg att tecknet för en permutation ges av
där produkten sträcker sig över cyklerna c från den disjunkta cykelsammansättningen av .
Det följer att den kombinatoriska arten som reflekterar tecknen och cykelräkningen för uppsättningen av permutationer ges av
där vi har använt för att markera tecken och för cykelräkningen.
Att översätta till att generera funktioner vi har
Detta förenklar till
vilket är
Nu de två genererande funktionerna och av jämn och udda permutationer av cykelräkning ges av
och
Vi kräver mängden
vilket är
Slutligen, extrahera koefficienter från denna genererande funktion, får vi