sudoku

Så skapas våra sudokupussel

Det är lika bra att säga det direkt: Våra SudoKu pussel är svåra! På många andra sajter finns det pussel som har en rak lösning. Pussel som kan lösas steg för steg genom att man hela tiden fyller i den rutan som bara har en tillåten siffra. Vår (dumma men tidsbesparande) sudoku assistent skulle faktiskt lösa dessa pussel på ett ögonblick! Våra pussel kräver å andra sidan att användaren tänker flera drag i förväg! Det är ju precis detta som gör sudoku så skoj!

Mycket roliga sudoku!

Våra pussel kan skapas med följande svårighetsgrader:
  • 1, Enkel
  • 2, Nybörjare
  • 3, Trevligt roligt sudoku
  • 4, Roligt för den som inte är nybörjare
  • 5, Svårt men intressant sudoku
  • 6, Mycket svårt. Endast för experter!
  • 6+, ej rekommenderat
Man skulle kunna tro att ett pussel som bara avslöjar några få siffror alltid är svårare än pussel som avslöjar många, men så behöver det inte vara.

Låt oss förklara hur vårt program bedömer ett pussels svårighetsgrad: Det finns ett antal välkända tips och trix som de flesta sudokuspelare använder då de försöker lösa ett sudoku. För att bestämma ett pussels svårighetsgrad undersöker vårt sudokuprogram hur pass avancerade trix som krävs för att lösa detsamma. Vårt sudokuprogram bedömer inte bara svårighetsgraden hos ett pussel utan också hur pass roligt det är. Ju fler olika trix man måste ta till desto roligare anses pusslet vara. Då du ber assistenten skapa ett nytt pussel kommer den att undersöka flera hundra slumpmässigt genererade pussel för att sedan låta dig lösa det roligaste pusslet den hittat (vars svårighetsgrad ej överstiger den önskade). Denna unika algoritm leder till osedvanligt roliga sudokupussel. Vi tror att vi har skapat världens mest beroendeframkallande sudoku-pussel!

sudokualgoritmen

Här beskriver vi den tre-stegs algoritm som skapar våra pussel. De resulterande spelen blir nästan beroendeframkallande, som crack! Här är algoritmen:

  • Först fylls spelplanen med 81 siffror som är så slumpvisa som möjligt utan att bryta mot någon av SudoKu-reglerna (dvs att varje rad, varje kolumn, och varje 3x3 region innehåller exakt en siffra av varje sort). Det visar sig att man kan göra detta på 6670903752021072936960 olika sätt (enl. denna källa), och vi slumpar alltså fram ett av dessa (Detta görs av en så kallas back-tracking algoritm, men det är mindre viktigt). Den resulterande spelplanen är lösningen på ett pussel, men vi behöver fortfarande hitta detta pussel!
  • Därefter kommer en helt annan typ av algoritm att bestämma vilka spelrutor som skall döljas och vilka som skall avslöjas för spelaren. Resultatet skall bli ett pussel med exakt en lösning, varken mer eller mindre. Om vi avslöjar för många rutor kommer pusslet att bli trivialt. Om vi avslöjar för få rutor så får pusslet multipla lösningar. Vi letar efter ett pussel som har en unik lösning, den givna, men det finns flera pussel som har just den lösningen. Eftersom det finns många möjliga pussel som har den angivna lösningen kommer algoritmen att producera en mängd förslag på olika pussel.
  • Bland alla förslag från steg 2 vill vi välja det mest intressanta! Det här görs av en tredje algoritm som kan simulera den mänskliga problemlösningsprocessen och betygsätta (men en heuristisk formel) den svårighet och det nöje som en potentiell spelare finner i att lösa pusslet. Varning: Resultatet kan vara beroendeframkallande!

    Låt oss summera: I steg ett bestäms en giltig lösning. I steg två produceras flera olika pussel som har den givna lösningen. I steg tre, slutligen, pekas det mest fascinerande pusslet ut av en heuristisk algoritm. Och det är detta optimalt fascinerande sudoku pussel som du skall lösa! Lycka till, och ha skoj, det är huvudsaken.

  • US/ENG english sudoku





    our mail address