Permalänk
Avstängd

Matematisk programmeringsuppgift

Jag var på besök hemma hos föräldrarna nu i helgen. Eftersom blixten hade slagit ner och förstört i princip alla elektroniska apparater i huset, fick jag roa mig med att spela ett gammalt hederligt brädspel jag hittade längst in i bokhyllan.

Det är här mitt problem kommer in. Jag har tillbringade två dagar i sträck med att försöka lösa detta brädspel som heter Eremit. Men även om jag har varit jäkligt nära att klara spelet ett par hundra gånger har jag aldrig lyckats fullt ut. Jag vänder mig därför till Er, genier och fuskare på Swec, och efterlyser ett program som kan bruteforca ut en smart lösning.

Jag gjorde en snabb uppskattning och kom fram till att en vanlig bruteforce måste ta väldigt många dagar eftersom kombinationerna är otroligt många. Så det krävs en smart algoritm antagligen. Något jag inte har lyckats klura ut.

Brädspelet fungerar så här:

Man har en plan beståendes av 37 små hål. I var och ett av 36 av hålen ligger en kula. Endast mitthålet är tomt från början. Detta är alltså startläget.

Nu går spelet ut på att man skall göra sig av med så många kulor som möjligt. Det bästa man kan få är en kula kvar. Kanske 40 ggr har jag lyckats få två kulor kvar, men aldrig bara en.

Man får bort en kula genom att välja en valfri kula och hoppa över en annan. Den kulan man hoppar över plockas då bort. Man får inte hoppa diagonalt. Enbart vågrätt eller lodrätt. Och självklart måste kulan man 'hoppar' med landa i ett tomt hål.

Man får bara hoppa över en kula åt gången.

Det är alla regler i spelet.

Härmed utlyser jag detta till en programmeringstävling (eller i alla fall hoppas på att någon ser utmaningen i att skriva ett program som bruteforcar fram en bra lösning). Jag lovar en ljummen folkis till försten som kan presentera en lösning. Och skriv gärna hur ni gick till väga.

Edit:

Hittade en bild som kanske beskriver spelet lite bättre:

Permalänk
Medlem

Hur startar man då? Man har ju ingen kula att hoppa över från början? Ocj sedan landa i ett hål.

Visa signatur

Är inte linux en billig kopia av ms-dos?

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av akn3
Hur startar man då? Man har ju ingen kula att hoppa över från början? Ocj sedan landa i ett hål.

Man tar en kula som ligger två steg från mitten och hoppar så man landar i mitten.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sim
Man tar en kula som ligger två steg från mitten och hoppar så man landar i mitten.

hahah fan va dum jag är.

Visa signatur

Är inte linux en billig kopia av ms-dos?

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av akn3
hahah fan va dum jag är.

Du får gottgöra ditt misstag genom att komma fram en en snygg lösning innan midnatt.

Permalänk

Efter en barndom delvis förstörd av det där spelet kan jag garantera att det finns en lösning, men det var ett tag sedan man spelade det...

Visa signatur

Ubuntu/Fedora-troll, Mono-kodare,
Ogg Vorbis/Theora-fetischist samt FSF-förespråkare.

Permalänk
Glömsk

http://homepage.sunrise.ch/homepage/pglaus/Solitaire/solitair...

Unfortunately, the problem starting with a pattern with 36 pegs and the central hole empty and stopping with one peg in the middle is unsolvable. In the original game with this board, diagonal moves are probably allowed which makes the puzzle solvable. In 1998, this was discussed in the newsgroup rec.puzzles; two different proofs for the non-existence of a solution where posted, which can now be found on www.deja.com (make a power-search for the key-word "hi-q" limited to the forum "rec.puzzles"). The simpler of both proofs is copied out of the rec.puzzles archive and commented in the next chapter.

Edit: Whoops.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Citat:

Ursprungligen inskrivet av Psionicist
http://homepage.sunrise.ch/homepage/pglaus/Solitaire/solitair...

Unfortunately, the problem starting with a pattern with 36 pegs and the central hole empty and stopping with one peg in the middle is unsolvable. In the original game with this board, diagonal moves are probably allowed which makes the puzzle solvable. In 1998, this was discussed in the newsgroup rec.puzzles; two different proofs for the non-existence of a solution where posted, which can now be found on www.deja.com (make a power-search for the key-word "hi-q" limited to the forum "rec.puzzles"). The simpler of both proofs is copied out of the rec.puzzles archive and commented in the next chapter.

Vafan, jag _vet_ att jag har löst det.

Hm kanske fuskade lite nu när jag tänker efter

Visa signatur

Ubuntu/Fedora-troll, Mono-kodare,
Ogg Vorbis/Theora-fetischist samt FSF-förespråkare.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Psionicist
http://homepage.sunrise.ch/homepage/pglaus/Solitaire/solitair...

Unfortunately, the problem starting with a pattern with 36 pegs and the central hole empty and stopping with one peg in the middle is unsolvable. In the original game with this board, diagonal moves are probably allowed which makes the puzzle solvable. In 1998, this was discussed in the newsgroup rec.puzzles; two different proofs for the non-existence of a solution where posted, which can now be found on www.deja.com (make a power-search for the key-word "hi-q" limited to the forum "rec.puzzles"). The simpler of both proofs is copied out of the rec.puzzles archive and commented in the next chapter.

Vänta lite. Jag ska ut skjuta mig själv nu.

Två jävla dagar har jag suttit med det ¤%#&¤"¤#&¤# spelet. Och när jag kom hem sökte jag som en &%¤% dåre efter en lösning. Inte konstigt att man hittade någon.. Nåja, när bitterheten lägger sig kommer man nog garva åt skiten.

Tack för länken.

Edit: Jag kan härmed lova mer än en ljummen folkis. Jag höjer belöningen med en 50-lapp. Hehe.

Permalänk
Glömsk

Hittade en generell lösning på den där newsgruppen: http://groups-beta.google.com/groups?q=peg+solitaire+algorith...

Here's a general strategy to get you going. Consider the following piece of the board. ---- | | ---- | | ---- X | | X ---- Suppose there is a peg in all three squares. The Xs are adjacent places one of which contains a peg and the other doesn't. It is a simple matter to see that the 3 pegs can be removed from the board by a sequence of jumps that leaves the rest of the board the same. Come up with a similar thing on other sub-boards of various dimensions; e.g. 2x3, L-shape, etc. After you have a few of these, it is simple matter to solve almost any puzzle of this type. First, mark off your final jump. Then divide up the remainder of the board into a sequence of those little sub-boards that you know how to eliminate. Now you eliminate your sub-boards in sequence, make your final jump, and you are done. When you are blocking off the board into sub-boards, you need to make sure that the necessary blanks/pegs exist in the remainder of the board. E.g. In the the 3x1 block above, the Xs have to be as described in order to be able to eliminate the block by a sequence of jumps. -- Glenn C. Rhoads http://eden.rutgers.edu/~rhoad s/ Rutgers University Phone: (908) 445-4634 ext.23 Dept. of Computer Science email: rho...@paul.rutgers.edu Piscataway, NJ

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk

Det finns väll ett spel som heter solitär också som är samma sak fast brädet är:

XXX XXX XXX XXXXXXXXX XXXX XXXX XXXXXXXXX XXX XXX XXX

Det är iallafall lösbart (för jag har löst det nån gång).

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av LazyDroog
Det finns väll ett spel som heter solitär också som är samma sak fast brädet är:

XXX XXX XXX XXXXXXXXX XXXX XXXX XXXXXXXXX XXX XXX XXX

Det är iallafall lösbart (för jag har löst det nån gång).

Jorå. Det versionen är fullt lösbart. Finns flera olika lösningar til den på nätet.

Förstår bara inte hur man kan släppa ett spel och skriva i reglerna att det går ut på att bara ha en kula kvar när det inte ens är möjligt. Säkert satan själv som är chef för Brio.

Annars var ju problemet i sig en trevlig utmaning. Det är nog inte så lätt att låta datorn hitta olika lösningar.

Permalänk
Medlem

Det är lösbart om man låter något annat hål än mitten vara tomt från början.

Wikipedia: http://en.wikipedia.org/wiki/Peg_solitaire

Citat:

Brute force attack on standard English peg solitaire
[...]
Since the maximum number of board positions at any jump is 3,626,632, and there can only be 31 jumps, modern computers can easily examine all game positions in a reasonable time.

Visa signatur

:€

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sim
Jorå. Det versionen är fullt lösbart. Finns flera olika lösningar til den på nätet.

Förstår bara inte hur man kan släppa ett spel och skriva i reglerna att det går ut på att bara ha en kula kvar när det inte ens är omöjligt. Säkert satan själv som är chef för Brio.

Annars var ju problemet i sig en trevlig utmaning. Det är nog inte så lätt att låta datorn hitta olika lösningar.

Blev lite fel där va?

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av CC01
Blev lite fel där va?

Det blev väldigt fel.

eighty> Där ser man. Men i den europeiska versionen borde det bli betydligt fler kombinationer. Men oavsett så behövdes det tydligen mycket mindre datorkraft än jag hade räknat med.

Ska sätta mig och försöka klura ut ett bra program.