Topswops

Uit Wikipedia, de vrije encyclopedie

Topswops (en de varianten Topdrops, Bottomswops en Bottomdrops) zijn wiskundige problemen die zijn bedacht door de Britse wiskundige John Conway in 1973. In tegenstelling tot veel andere werken van Conway zijn deze problemen nog niet grondig geanalyseerd door de wetenschappelijke gemeenschap. Enkele bekende wiskundigen die een bijdrage hebben geleverd zijn Martin Gardner en Donald Knuth.

Een voorbeeld van Topswops met getallen. Na 7 iteraties eindigt het algoritme.

Formulering[bewerken | brontekst bewerken]

In alle vier varianten gaat Conway uit van een pak speelkaarten. Omdat slechts de getalwaarden relevant zijn, wordt vaak een van de kleuren van een kaartspel gebruikt. Wiskundig gezien is dit equivalent met een rij gehele getallen van t/m . De gepermuteerde rij wordt genoteerd als .

Topswops[bewerken | brontekst bewerken]

Voor het topswops probleem wordt het volgende algoritme toegepast:

  1. Bekijk het eerste getal in de rij (dit is ).
  2. Pak de eerste kaarten van de stapel.
  3. Verwissel deze kaarten van volgorde en plaats ze boven op de stapel terug.
  4. Herhaal stap 1, 2 en 3 totdat het eerste getal een is.

De uiteindelijke configuratie van de rij getallen begint altijd met een . Andere namen voor dit probleem zijn het deterministic pancake problem, topswops, topswaps, reverse card shuffle en fannkuch.[1][2][3]

De probleemformulering van Conway is nu als volgt:

Welke initiële configuratie leidt tot het maximale aantal 'swaps' voordat het algoritme termineert?

In de literatuur zijn verscheidene pogingen gedaan om een bovengrens te vinden voor het aantal iteraties .

Stelling: is begrensd door .

Bewijs (Herbert S. Wilf[2]): Gegeven een rij getallen t/m in een gegeven volgorde. Als voorbeeld beschouwen we . We zijn met name geïnteresseerd in getallen die 'op de juiste plaats in de rij staan', dat zijn hier: . We definiëren het Wilf-getal dan als .

Claim: na iedere iteratie van het algoritme stijgt het Wilf-getal.

Bewijs: Voor ieder getal dat op de juiste plaats stond, en groter was dan het getal , blijft de invloed op het Wilf-getal onveranderd. De overige getallen die wel op de juiste plaats stonden, zullen in het algemeen niet meer op de juiste plaats staan. Echter, het getal zal altijd op de juiste plaats staan. En omdat de som van de Wilf-getallen van de eerste getallen altijd strikt kleiner is dan die van zal het Wilf-getal altijd stijgen (met ten minste 1 per iteratiestap).

Het maximale Wilf-getal is ook eenvoudig te krijgen, en dat is . Door het bovenstaande bewijs iets te verfijnen kan worden aangetoond dat de genoemde bovengrens ook echt een bovengrens is voor het aantal iteraties.

Topswops: de relatie tussen en op logaritmisch papier. De bovengrens is erg ruim, terwijl de ondergrens vrij strak is.
Topswops: dubbellogaritmische weergave van de verwachte relatie tussen en . De datapunten zijn slechts gevonden oplossingen, en zijn dus eigenlijk ondergrenzen van de echte waarde. De bovengrens is wederom erg ruim, terwijl de ondergrens vrij strak is.

Stelling: is begrensd door het e Fibonaccigetal.

Bewijs (Murray S. Klamkin[4]): Stel dat gedurende het algoritme het eerste getal in het algoritme in totaal verschillende waarden aanneemt.

Claim: .

Bewijs: Dit wordt bewezen via wiskundige inductie. Stel , dit betekent dat het algoritme direct stopt (dus ). Zodoende geldt en aangezien is de claim bewezen.

Stel nu dat . De verschillende getallen die aanneemt, worden als volgt geordend: . We zeggen dat het grootste getal voor het eerst vooraan staat in de rij in iteratie van het algoritme. Noem . Dan geldt er in de e iteratie dat en tevens dat . De resterende iteraties van het algoritme zullen altijd behouden. Dus kan nu ten hoogste waarden aannemen. Uit inductie volgt nu dat en dat .

Stel nu dat we de getallen en zouden verwisselen in iteratie . Dan en is het algoritme afgelopen; . Tevens hebben zowel als nooit op positie gestaan tenzij .

Stel . Dan geldt er dan omdat ten hoogste verschillende waarden aanneemt. Dus volgt dat .

Stel . Dan geldt er dan omdat ten hoogste verschillende waarden aanneemt. Zodoende volgt uit de claim dat . Dit bewijst de stelling.

Daarnaast is recentelijk bewezen door Morales en Sudborough dat de ondergrens voor een kwadratische functie in is.[1] Zodoende zijn de echte waarden van tot op heden onbekend. Wel zijn er verscheidene pogingen gedaan om ondergrenzen te vinden, zoals door A. Pepperdine.[5] Voor rijtjes met 17 of minder getallen is de exacte oplossing bekend. Grotere getallen hebben slechts ondergrenzen, zoals weergegeven in de figuren aan de rechterkant.

aantal getallen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
maximale aantal iteraties 0 1 2 4 7 10 16 22 30 38 51 65 80 101 113 139 159

Het is nog steeds een open vraagstuk of dit probleem NP-moeilijk is.

Topdrops[bewerken | brontekst bewerken]

Een vergelijkbaar probleem is topdrops, waarin dezelfde speelkaarten worden gebruikt. Ook in dit probleem wordt de eerste kaart bekeken (noem deze ). Pak vervolgens de eerste kaarten van de stapel, wissel deze van volgorde en plaats ze vervolgens onder op de stapel (in plaats van bovenop bij topswops). In dit probleem is het mogelijk om in een oneindige lus terecht te komen. Als voorbeeld nemen we 2,1,3,4. Dan gebeurt er het volgende:

  • 2 1 3 4
  • 3 4 1 2
  • 2 1 4 3
  • 4 3 1 2
  • 2 1 3 4

waarna het algoritme terug is bij de eerste stap.

Botswops[bewerken | brontekst bewerken]

In deze variant wordt de onderste kaart van de stapel bekeken (wederom ). Vervolgens worden de eerste kaarten van de stapel gewisseld. Zodoende gebeurt er vrijwel nooit iets, tenzij de laatste kaart van de rij het hoogste getal is. Deze variant van het probleem is oninteressant omdat de dynamica zo gelimiteerd is.[2]

Botdrops[bewerken | brontekst bewerken]

De laatste variant is botdrops waarin de onderste kaart van de stapel wordt bekeken (weer ). Nu worden de onderste kaarten van de stapel omgewisseld.

Referenties[bewerken | brontekst bewerken]

  1. a b (en) Morales, Linda en Sudborough, Hal (2010). A quadratic lower bound for Topswops. Theoretical Computer Science 411 (44-46): 3965-3970. DOI: 10.1016/j.tcs.2010.08.011.
  2. a b c (en) Gardner, Martin (1987), Time Travel and Other Mathematical Bewilderments. W. H. Freeman & Co, New York, "6", pp. 76-82. ISBN 978-0716719250.
  3. (en) Knuth, Donald E. (2002), The Art of computer programming: Volume 4, Fascicle 2A: Generating all n-tuples. Addison-Wesley, 74, 119-120. ISBN 978-0201853933.
  4. (en) Klamkin, Murray S. (1990), Problems in Applied Mathematics: Selections from SIAM review. SIAM, 74, 115-117. ISBN 978-0898712599.
  5. (en) Pepperdine, Andy (1989). 73.23 Topswops. The Mathematical Association 73 (464): 131-133. DOI: 10.2307/3619674. “Een vernieuwde versie van het artikel is te vinden via https://www.pepsplace.org.uk/Trivia/Topswops/Topswops.pdf.”.

Externe links[bewerken | brontekst bewerken]