Spider Solitaire is NP-Compleet

Vergelijkbare documenten
TW2020 Optimalisering

DiceRun. Doel. Inhoud. Voorbereiding

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking puzzel 91-7: Je kunt het schudden

8. Complexiteit van algoritmen:

Een kaartspel van Paolo Mori. Paolo Mori

Tentamen IN3105 Complexiteitstheorie

Patience spelen AaNn Patience betekent geduld.

Spelidee en doel van het spel. Spelmateriaal. Op jacht naar waardevolle schatten, doorzoeken groepen avonturiers de legendarische Tempel van Luxor.

6 Nimmt! Geen kaartspel voor stommelingen! Uitgever : Amigo, 1995 Auteur : KRAMER Wolfgang Spelers : spelers vanaf 10 jaar Duurtijd : ± 45

Spelmateriaal. Doel van het spel. 4 Score-stenen. 4 Huizen 1 Einde spel -kaart. 62 Geveltegels (dubbelzijdig) elk 10 x blauw, geel, rood, groen

EEN RAADSELACHTIG SPEL OVER MAFFE CULINAIRE CONFLICTEN.

Het spel verloopt over drie episodes, die de bewogen geschiedenis van het oude Egypte weerspiegelen:

Fundamentele Informatica

Hoofdstuk 1. Afspraken en notaties

Bij een ideaal rooster voor n = 2k 1 teams speelt elk team afwisselend uit en thuis, en dat blijkt ook te kunnen.

32 stadskaarten 9 karakterkaarten 5 politiekaarten. 60 gangsterblokjes (42 professionals - 18 gelegenheidsgangsters)

Uitwerkingen eerste serie inleveropgaven

Modelleren C Appels. Christian Vleugels Sander Verkerk Richard Both. 2 april Inleiding 2. 3 Data 3. 4 Aanpak 3

Jijbent.nl: spelregels molenspel. Bram Schoonhoven Copyright 2009 Jijbent.nl

Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4

Löwenherz, de koning keert terug.

BOHNANZA: AL CABOHNE FORUM FEDERATIE BOHNANZA: AL CABOHNE - 1 / 6 -

Speelmateriaal. 1 speelbord, 4 x 25 edelstenen, 4 x 3 actiekaarten, 4 speelfiguren, 4 platte startschijfjes, 4 ronde waardestenen, 4 dobbelstenen.

HET KAARTSPEL. Las Vegas (het kaartspel) Alea, 2016 Rüdiger DORN 2-5 spelers vanaf 8 jaar ± 45 minuten

Doel van het spel Stapel tegels met overeenkomstige eigenschappen zo hoog mogelijk op elkaar.

Palais Royal Hans im Glück, 2008 Xavier GEORGES 2-4 spelers vanaf 12 jaar ± 120 minuten

PRIME CLIMB. Speeltijd Ongeveer 10 minuten per speler.

Tentamen combinatorische optimalisatie Tijd:

Babel. Doel van het spel. Wie de hoogste en daarmee de waardevolste tempels opricht zal het spel winnen. Spelmateriaal. Voorbereiding van het spel.

Spelmateriaal. 1 dubbelzijdig spelbord een zijde wordt gebruikt met 4 spelers, de andere met 2 of 3 spelers.

Speluitleg: Gebruik bij de speluitleg het bestand Hoe wordt het spel gespeeld op

Examen Discrete Wiskunde donderdag 12 april, 2018

Elfer raus! Het geliefde kaartspel voor de ganse familie. Ravensburger, spelers vanaf 7 jaar ± 30 minuten

Inhoud van het doosje 25 Koeienkaarten 30 Boerderijkaarten 1 Spelregelboekje

Deze vertaling wordt u aangeboden door de Forum federatie van

(On)Doenlijke problemen

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.

Carcassonne Mayflower Hans im Glück, 2008 Klaus-Jürgen WREDE 2-5 spelers vanaf 8 jaar ± 60 minuten

Raubritter Queen Games, 2005 Rüdiger DORN 2-4 spelers vanaf 8 jaar ± 60 minuten

Praktische opdracht Wiskunde A Patience

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Versunkene Stadt Clementoni, 2004 KRAMER Wolfgang & KIESLING Michael 2-4 spelers vanaf 8 jaar ± 60 minuten

Lights Out. 1 Inleiding

Iedere speler krijgt de 11 stenen van één kleur en legt ze open voor zich op tafel.

Spelmateriaal. 16 startkaarten 4 sets in de spelerskleuren (rood, blauw, geel en groen) 58 speelkaarten:

Het kaartspel "Wippen"

Tijd Winnen (een kaartspel voor vier spelers) Groep / niveau Groep 5/6

Onderzoek of de rijen rekenkundig, meetkundig of geen van beide zijn. Geef bij de rekenkundige rijen v en t 7 en bij de meetkundige rijen q en t 7.

TW2020 Optimalisering

Meer speelbord! Meer spanning! Meer Phase 10! voor 2-6 spelers vanaf 10 jaar

Set 1 Inleveropgaven Kansrekening (2WS20)

De Resolutiemethode (Logica, hoofdstuk 15) Robinson (1965) TI1300 Redeneren en Logica

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

Examen Datastructuren en Algoritmen II

Doctor Faust Blatz, 1993 Reinhold WITTIG 2 spelers vanaf 12 jaar ± 30 minuten

Inhoud 1 spelregelboekje 180 speelkaarten het spel bevat 2 verschillende soorten kaarten: 90 ingrediëntkaarten: 15 van elk:

Spelregels. Een rummy-achtig kaartspel voor jong en oud. Spannend tot de laatste ronde!

Opgave 1 - Uitwerking

Geldwisselprobleem van Frobenius

Getallensystemen, verzamelingen en relaties

Voorbereiding. Opmerking: zo wordt bereikt dat geen enkele speler geld met een waarde van meer dan 28 of minder dan 20 krijgt.

De val van Rome: Speelmateriaal: Speelbord: Voorbereiding:

Dumm gelaufen! Inhoud : Voorbereiding

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur.

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

Marsha J. Falco. Een sterk visueel spel voor 1-8 spelers.

Hoofdstuk 1. Inleiding. Het binomiaalgetal ( n

HET SCHAAKSPEL OPGELOST Cees Timmer

Marsha J. Falco.,,.,, Ee" sterk visueel spel voor 1-S spelers.

Transcriptie:

Spider Solitaire is NP-Compleet Kenneth Verstraete 21 april 2016 1 Inleiding Spider Solitaire is een populair kaartspel dat alleen gespeeld wordt. Het werd/wordt standaard bij o.a. Microsoft Windows meegeleverd. Voor dit spel worden twee kaartspellen gebruikt. Dit betekent dus dat er 104 kaarten zijn of twee kopieën van de vier kleuren. Het doel van het spel is om alle kaarten op tafel weg te spelen. 2 Het spel Om het spel te starten moeten de kaarten volgens de volgende regels op tafel gelegd worden: Er worden tien tableaustapels gemaakt, vier van deze stapels bevatten elk zes kaarten, de andere zes stapels bevatten elk vijf kaarten. 54 kaarten bevinden zich dus in deze stapels. In elk van de stapels liggen alle kaarten behalve de bovenste omgekeerd op tafel. De resterende 50 kaarten worden bijgehouden in een apart deck. Hierin is geen enkele kaart zichtbaar. 2.1 Regels Het spel wordt dan volgens de volgende regels gespeeld: Kaarten kunnen enkel in sets uit het spel verwijderd worden. Dit kan als en slechts als ze in een stapel liggen waarin het volgende geldt: De stapel bevat minstens 1 kaart van iedere waarde van een bepaald kleur. De kaarten van een set liggen op elkaar en worden dus niet onderbroken door kaarten van een ander kleur. 1

De kaarten van een set zijn gesorteerd van groot naar klein waarbij de kaart met de kleinste waarde bovenaan de stapel ligt. Wanneer hieraan voldaan is, moet de set uit het spel verwijderd worden. Alleen de bovenste kaart van een stapel is zichtbaar, er kan geen nieuwe kaart in een stapel omgedraaid worden zolang de bovenste kaart niet op een andere stapel gelegd wordt. Kaarten kunnen van een stapel genomen worden als ze: bovenaan de stapel liggen. een set van kaarten zijn die dezelfde kleur hebben en waarbij, als t de bovenste kaart is, elke kaart in die set waarde t + b heeft met b het aantal kaarten op die kaart. Er kan slechts 1 kaart of een set van kaarten op hetzelfde moment genomen worden. Kaarten en sets mogen alleen bovenaan een stapel, met bovenste kaart t, geplaatst worden als de stapel leeg is of als de genomen kaart of de laatste kaart in de genomen set waarde t 1 heeft. Als er genoeg kaarten over zijn in het deck, dan kunnen die op de tableaustapels gelegd worden, 1 op elke stapel van links naar rechts. De speler wint als alle kaarten uit het spel verdwenen zijn. 2.2 Veralgemening Omdat een vaste grootte van het deck enkel een eindig aantal startopstellingen toelaat, betekent dit dat een computer die al die startopstellingen kent een spel Spider Solitaire in constante tijd kan berekenen. Om het probleem interessanter te maken, wordt de grootte van het deck variabel gemaakt. Dit wordt gedaan door het aantal kleuren of het aantal kaarten per kleur te laten variëren. In deze paper werd gekozen om het aantal kaarten per kleur te laten variëren. Om de complexiteit te kunnen analyseren is het ook nodig dat de speler alle kaarten en hun volgorde kan zien. Andere mogelijke vaste getallen die variabel gemaakt kunnen worden zijn de tableaubreedte en de grootte van het deck. 2.3 Soorten zetten Er zijn twee soorten zetten, het nemen en het leggen van een kaart. mogelijk voor zowel een enkele kaart of een sequentie van kaarten. Dit is 2

3 Spider Solitaire is NP-compleet Stelling 1 Spider Solitaire NP Er zijn twee soorten zetten waarbij de actie niet meteen ongedaan gemaakt kan worden: 1. Het wegnemen van een kaart die niet matchte met de bovenste kaart van het verborgen gedeelte van de stapel. 2. De zetten waarbij volledige sets gemaakt worden en deze dus van tafel verdwijnen. De zetten van de eerste soort komen alleen voor bij de opstelling van het initiële tableau of wanneer kaarten uit het deck gespeeld worden (als deze er is). Dus het aantal zetten van de eerste soort is beperkt door het aantal van die kaarten in het initiële tableau en het aantal kaarten in het deck. Kaarten verdwijnen uit het spel wanneer ze een volledige set vormen, hierdoor is het aantal zetten van de tweede soort beperkt door het totaal aantal kaarten in het spel. Omdat er een polynomiale grens is op het aantal zetten dat niet ongedaan gemaakt kunnen worden, is het aantal acties in de oplossingen ook polynomiaal begrensd. De soorten zetten die het Spider Solitaire probleem tot voltooiing brengen zijn de zetten die kaarten in sets plaatsen die later vervolledigd zullen worden. Om de nodige kaarten te verkrijgen is het meestal nodig om deze uit een stapel te halen waar ze niet vanboven liggen, hierdoor is het nodig om eerst de kaarten bovenop de nodige van de stapel te halen. Er zijn 8n kaarten in het spel, aangezien de hoogste kaart van elk kleur niet verplaatst hoeft te worden (want deze liggen onderaan sets), zijn er maximaal 8n 8 kaarten die verplaatst moeten worden. In het slechtste geval zitten deze kaarten onderaan de stapel en zijn er dus maximaal 8n 1 zetten nodig om deze vrij te krijgen. Dit resulteert in een polynomiale bovengrens van 64n 2 72n + 8 zetten tussen de niet-omkeerbaare zetten door. Stelling 2 Spider Solitaire NP-hard Het bewijs verloopt via een reductie van 3SAT. Stel (V, C) een 3SAT -instantie, met V = {v 1, v 2,..., v n } een set van variabelen en C = {c 1, c 2,..., c n } een set van clausules over V die exact drie literalen bevatten en neem l i,j als de j-de literaal van de i-de clausule. Om het bewijs duidelijker te maken wordt gebruik gemaakt van het voorbeeld uit figuur 1. Voor de overzichtelijkheid worden de literalen over V geordend met v i de (2i 1)- de literaal, v i de 2i-de literaal en l k de k-de literaal. Definieer ook o k als de som van het aantal voorkomens van l k voor alle k k. Nu een aantal definities: De selectiewaarde: val s = C + 2n + 2 De waarde van l k : val k = val s + 2k + 2o k 3

Figuur 1: Voorbeeld van een Spider Solitaire Opgave. 4

De clausulewaarde: val c = val 2n + 2 De bodemwaarde: val B = val c + 6 C De fundamentwaarde: val F = val B + 4 C + 2 Zoals in figuur 1 te zien is, zijn de stapels in vier groepen verdeeld: 1. De eerste 2 V + 1 stapels worden de literaalselectiestapels genoemd. Constructie: De eerste stapel bevat alleen de kaart (,val s ). De andere stapels bevatten elk drie kaarten. Elke stapel komt overeen met een literaal. De stapel voor l k is gedefinieerd als (,val k ), (,val s k 1), (,val s k) als k oneven is en (,val k ), (,val s k), (,val s k + 1) als k even is. 2. De volgende 4 C stapels worden de clausulestapels genoemd. Deze worden onderverdeeld in groepen die elk vier stapels bevatten. Elke groep komt overeen met een clausule. Constructie: Elke groep is als volgt gestructureerd: er zijn vier stapels in elke groep. Definieer de bodemwaarde voor de groep als val B + 4(i 3) en de basiswaarde voor de groep als val c + 6(i 1). De eerste drie stapels bevatten elk vier kaarten. De eerste en tweede kaart zijn de bodemwaarde en de basiswaarde + 1, onafhankelijk van het kleur. De derde en vierde kaart zijn afhankelijk van de literalen in de clause en zijn gedefinieerd als (,val k 2m4) en (, val k 2m+1) waarin m berekend wordt zodat (i,j) het m-de voorkomen is van l k. De kaart in de vierde stapel is gedefinieerd als de basiswaarde voor de groep met als kleur. 3. De volgende acht stapels worden de fundamentstapels genoemd. Constructie: De acht stapels hebben elk 1 kaart en zien er als volgt uit: (, val F ),(, val F ),(, val F ),(, val F ),(, val F ),(, val F ),(, val F ),(, val F ). 4. De laatste stapel bevat de meeste kaarten en alle duplicaten, deze wordt de grote stapel genoemd. Constructie: De bovenste n kaarten van deze stapel zijn kaarten die geen twee keer voorkomen en enkel naar een vierde stapel in de clausulegroepen verplaatst kunnen worden. Om ervoor te zorgen dat dit niet te vroeg gebeurt, krijgen ze de waarde val B + 4 C. Claim: Een Spider Solitaire opgave kan opgelost worden als en slechts als er een vervullende toekenning bestaat voor de variabelen van de logische formule. Bewijs: Stel dat er een vervullende toekenning a : V {true, f alse} bestaat, dan lost de volgende strategie de opgave op. Voor alle i {1, 2,..., n}, verplaats de twee bovenste kaarten van de literaalselectiestapels die overeenkomen met de literalen die waar zijn volgens de vervullende toekenning naar de eerste stapel. De vrijgekomen schoppen kunnen dan gebruikt worden om kaarten van 5

de clausulestapels te halen. Deze worden de literaalkeuzekaarten genoemd. In het voorbeeld zijn dit de 15, 27 en 41 van. De eerste drie stapels van iedere clausulegroep komen overeen met de literalen van die clause. De bovenste twee kaarten van die stapels kunnen verplaatst worden als en slechts als de literaalkeuzekaarten van de overeenkomende literaal vrijgekomen zijn. Omdat de opgave een vervullende toekenning heeft, is er in iedere clause minstens 1 literaal die waar is. Daardoor is het in iedere clausulegroep mogelijk om de kaart in de vierde stapel naar een van de eerste drie stapels te verplaatsen. Als dit gebeurd is voor alle clausules, kan voor minstens 1 stapel de bovenste twee kaarten naar een lege stapel verplaatst worden waardoor kaarten met een hoge waarde vrijkomen. Het probleem lost zichzelf dan op omdat alle kaarten in volgorde op de fundamentstapels terechtkomen. Stel nu dat Spider Solitaire opgave oplosbaar is. Het is onmogelijk om de onderste kaart van een stapel te verplaatsen, behalve van de vierde stapels in de clausulegroepen, voordat een kaart van de grote stapel genomen wordt. Dit betekent dat de eerste zet van de bovenste kaart van de grote stapel enkel naar een lege vierde stapel kan gaan. Als eerste zet kan de bovenste kaart ook op geen enkele kaart gelegd worden want alle mogelijke kaarten liggen eronder. Samen betekent dit dat er dus geen andere mogelijkheid is dan de bovenste kaart van de grote stapel op een vierde stapel van de clausulegroepen te leggen. Voor iedere clausulegroep moet de kaart uit de vierde stapel verplaatst worden, dit kan alleen wanneer de twee bovenste kaarten van een van de eerste drie stapels verplaatst zijn. De enige manier waarop dit kan gebeuren is als er bodemkaarten van de literaalselectiestapels vrijgekomen zijn. Aangezien het niet mogelijk is om de literaalkeuzekaarten van zowel v i als v i vrij te spelen, eist dit het bestaan van een vervullende toekenning aan de variabelen waarmee het nodige bewezen is. Referenties [1] Complexity results for standard benchmark domains in planning., Artificial Intelligence 143 (2), pp. 219-262, 2003 [2] Jesse Stern, Spider Solitaire is NP-Complete, http://arxiv.org/abs/1110.1052 6