Hammaslääkärin odotushuoneen mosaiikkipalapelin yleinen ratkaisu

Mosaiikkipalapeliä kutsutaan englanniksi yleisesti n-palapeliksi (n-puzzle) ja kenties yleisintä 15-palaista erityisesti 15-palapeliksi (fifteen puzzle). #

Debian-johdannaisissa (kuten Ubuntussa) palapeli löytyy (ainakin) sgt-puzzles-paketista (Simon Tatham’s Portable Puzzle Collection), jonka voi asentaa esimerkiksi Sovelluskaupasta (Ubuntu Apps Directory: Fifteen). #

Kaikki lähtöasetelmat (esimerkiksi 2, 1, 3, 4, 5, 8, 7, 6, 9, 10, 12, 11, 15, 13, 14) eivät ole ratkaistavissa, joten turhautumisen välttämiseksi kannattaa valita sellainen sovellus, joka osaa valita ratkaistavissa olevan alkuasetelman. Alla oleva reseptikään ei ratkaisemattomiin päde. Reseptini ei myöskään ole kaikkein nopein (eli vähiten siirtoja sisältävä), vaan vain ensimmäinen, jonka havaitsin toimivaksi ja johon satuin urautumaan. #

  1. Simuloi (mielessäsi tai esim. kynän ja paperin avulla) lopputulos. Mikäli mosaiikki on esimerkiksi 4 × 4 -kokoinen numerosarja, järjestä numerot (simulaatiossa) lopullisille paikoilleen: #

    _1 _2 _3 _4 
    _5 _6 _7 _8 
    _9 10 11 12 
    13 14 15

  2. Siirrä kunkin rivin viimeinen pala (simulaatiossa) yhtä riviä alemmas: #

    _1 _2 _3  
    _5 _6 _7 _4
    _9 10 11 _8
    13 14 15 12

  3. Lähde rakentamaan jälkimmäistä kuviota pelilaudalla alimmasta rivistä alkaen rivi kerrallaan. Järjestä aina yhden rivin numerot ensin keskenään viimeisestä (oikeanlaitimmaisesta) ensimmäiseen (vasemmanlaitimmaiseen), ja liu’uta sitten tämä rivi paikalleen pelilaudan laitojen kautta, lopullisella sijaintirivillä vasemmalta oikealle. Esimerkiksi siis yllä olevan pelilaudan riveistä viimeisin tulee lopulta paikoilleen näin (kun muut laudalla olevat palat on piilotettu havainnollistuksen vuoksi näkyviltä): #

    1. 13 __ __ __
      14 __ __ __
      15 __ __ __
      12    __ __

    2. __ __ __ __
      13 __ __ __
      14 __ __ __
      15 12    __
       #

    3. __ __ __ __
      __ __ __ __
      13 __ __ __
      14 15 12    
       #

    4. __ __ __ __
      __ __ __ __ 
      __ __ __ 
      13 14 15 12
       #

  4. Etene rivi riviltä ylöspäin siten, että aina yhden rivin sijoitettuasi jätät sen ja sen alapuolella olevat rivit koskemattomiksi. #

  5. Ylin ja toiseksi ylin rivi tulee järjestää yhtä aikaa. Tässäkään vaiheessa ei saa kajota alempiin riveihin. Palat järjestetään siten, että ne kiertävät riviensä muodostaman suorakulmion reunaa pitkin vastapäivään. Palojen järjestys on (yleensä 1:stä alkava) ensimmäinen rivi alusta loppuun, jonka perässä on toinen rivi (lopullista viimeistä numeroaan lukuunottamatta) lopusta alkuun. 4 × 4 -pelissä siis 1, 2, 3, 4, 7, 6, 5. Esimerkiksi: #

    _3 _4 _7 _6
    _2 _1    _5
    __ __ __ __
    __ __ __ __

  6. Kun ylimmän ja toiseksi ylimmän rivin palat on saatu edellä kuvattuun järjestykseen, ne voidaan liu’uttaa lopullisille paikoilleen: #

    _1 _2 _3 _4
    _5 _6 _7
    __ __ __ __
    __ __ __ __

  7. Nyt alempien rivien viimeisen palat voidaan nekin liu’uttaa lopullisille paikoilleen, kukin yhden rivin ylemmäs: #

    1. _1 _2 _3 _4
      _5 _6 _7
      __ __ __ _8
      __ __ __ 12

    2. _1 _2 _3 _4
      _5 _6 _7 _8
      __ __ __ 12
      __ __ __
       #

  8. Nyt kaikki palat ovat lopullisilla paikoillaan. #

    _1 _2 _3 _4
    _5 _6 _7 _8
    _9 10 11 12
    13 14 15
Piditkö lukemastasi? Paiskaa bitcoinilla!