|
| Sudoku - middel/svær Fra : Steffen |
Dato : 26-10-06 20:25 |
|
Er det antallet af de tal, der på forhånd er indsat i en sudoku, der afgør,
hvor svær den er?
Jeg bruger højst middelsvære opgaver, fordi jeg kun vil løse dem uden at
skulle skrive små tal eller prikker i felterne. Problemet er bare, at nogle
middelsvære er svære, mens andre midelsvære er, hvad jeg kalder middel,
nemlig fordi de er til at løse UDEN at skrive små hjælpetal.
Steffen
| |
Peter Weis (26-10-2006)
| Kommentar Fra : Peter Weis |
Dato : 26-10-06 20:47 |
|
Steffen wrote:
> Er det antallet af de tal, der på forhånd er indsat i en sudoku, der afgør,
> hvor svær den er?
> Jeg bruger højst middelsvære opgaver, fordi jeg kun vil løse dem uden at
> skulle skrive små tal eller prikker i felterne. Problemet er bare, at nogle
> middelsvære er svære, mens andre midelsvære er, hvad jeg kalder middel,
> nemlig fordi de er til at løse UDEN at skrive små hjælpetal.
Jeg har også undet mig over klassificeringen. Sommetider er de svære
lettere for mig at løseend de nemme.
mvh
Peter
| |
Bertel Lund Hansen (26-10-2006)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 26-10-06 20:59 |
|
Steffen skrev:
> Er det antallet af de tal, der på forhånd er indsat i en sudoku, der afgør,
> hvor svær den er?
Ud fra min begrænsede erfaring er det dels antallet af tal, dels
antallet af dem er er repræsenteret få eller ingen gange fra
starten.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
LR (01-11-2006)
| Kommentar Fra : LR |
Dato : 01-11-06 01:55 |
|
> Jeg bruger højst middelsvære opgaver, fordi jeg kun vil løse dem uden at
> skulle skrive små tal eller prikker i felterne. Problemet er bare, at
> nogle middelsvære er svære, mens andre midelsvære er, hvad jeg kalder
> middel, nemlig fordi de er til at løse UDEN at skrive små hjælpetal.
Det er især typen af regeler, man skal bruge for at løse spillet, der afgør
sværhedsgraden:
Lad os antage, at vi for hvert tomt felt nedskriver alle chifre som er
mulige løsninger ifølge den grundlæggende regel om, at et chiffer kun må
eksistere en gang i hver række, kolonne og 3*3 felt.
Regel 1 er nu, at hvis et chiffer kun eksisterer i et enkelt felt i en
række, kolonne eller 3*3-felt, så er dette chiffer løsningen for feltet. Med
denne regel kan man, med små hjælpetal, løse alle de nemme sudokospil.
Regel 2 er, at hvis to felter i en række, kolonne eller 3*3 felt indeholder
de samme to chifre (uanset om de også indeholder øvrige chifre!), så er det
ene chiffer løsningen for det ene felt og det andet chiffer er løsningen for
det andet felt. Middelsvære sudokuspil kan ikke løses uden at bruge denne
regel (hvis man kun bruger regel 1, vil man gå i stå og kan ikke komme
videre).
Der findes flere regeler til endnu sværere spil, men det er sjældent, jeg
har set spil der var så svære, at disse skulle anvendes. Fx kan alle spil i
"evil"-sværhedsgraden på http://www.websudoku.com/ løses ved brug af regel 1
og 2.
Lasse
| |
Bertel Lund Hansen (01-11-2006)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 01-11-06 08:49 |
|
LR skrev:
> Der findes flere regeler til endnu sværere spil, men det er sjældent, jeg
> har set spil der var så svære, at disse skulle anvendes.
I min terminologi har du så ikke prøvet svære spil.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Torben Ægidius Mogen~ (01-11-2006)
| Kommentar Fra : Torben Ægidius Mogen~ |
Dato : 01-11-06 10:35 |
|
"Steffen" <box399bc@yahoo.dk> writes:
> Er det antallet af de tal, der på forhånd er indsat i en sudoku, der afgør,
> hvor svær den er?
Nej. Sværhedsgraden afhænger af, hvor let det er at finde et sikkert
tal (dvs et, som man er sikker på er en del af løsningen). Det siges,
at det største problem i at lave maskingenererede Sudokuopgaver var at
finde ud af sværhedsgraderde til de genererede opgaver. De metoder,
som computere bruger, er meget forskellige fra dem, som mennesker
bruger, så man kunne ikke bruge computerens køretid e.lign. til at
afgøre det.
> Jeg bruger højst middelsvære opgaver, fordi jeg kun vil løse dem uden at
> skulle skrive små tal eller prikker i felterne. Problemet er bare, at nogle
> middelsvære er svære, mens andre midelsvære er, hvad jeg kalder middel,
> nemlig fordi de er til at løse UDEN at skrive små hjælpetal.
Jeg bruger aldrig hjælpetal og jeg bruger tushpen, så jeg indsætter
kun et tal, når jeg er sikker på at det er rigtigt. Jeg gør dette for
alle sværhedsgrader, men jeg indrømmer, at der er nogle opgaver, hvor
jeg skal tænke længe for at finde det næste sikre tal.
Torben
| |
Bertel Lund Hansen (01-11-2006)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 01-11-06 13:28 |
|
Torben Ægidius Mogensen skrev:
> Nej. Sværhedsgraden afhænger af, hvor let det er at finde et sikkert
> tal (dvs et, som man er sikker på er en del af løsningen). Det siges,
> at det største problem i at lave maskingenererede Sudokuopgaver var at
> finde ud af sværhedsgraderde til de genererede opgaver. De metoder,
> som computere bruger, er meget forskellige fra dem, som mennesker
> bruger
Det kan man da ikke sige. Jeg har et computerprogram der arbejder
på samme måde som jeg selv gør (men det kan endnu ikke løse de
svære).
Jeg har også et der med en rekursiv funktion på en brøkdel af et
sekund kan løse en vilkårlig sudoku.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Thorbjørn Ravn Ander~ (01-11-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 01-11-06 17:50 |
|
Bertel Lund Hansen <nospamfilius@lundhansen.dk> writes:
> Det kan man da ikke sige. Jeg har et computerprogram der arbejder
> på samme måde som jeg selv gør (men det kan endnu ikke løse de
> svære).
Det er jo sådan noget der er sjovt - så du koder altså dine egne
metodikker ind. Hvad fejler den på og hvor hurtig er den?
>
> Jeg har også et der med en rekursiv funktion på en brøkdel af et
> sekund kan løse en vilkårlig sudoku.
En brøkdel af et sekund? Har du skrevet det selv? I så fald, må du
lige forklare hvilke datastruktur der gør det nemt?
(som aldrig har løst en soduko)
--
Thorbjørn Ravn Andersen
| |
Martin R. Ehmsen (01-11-2006)
| Kommentar Fra : Martin R. Ehmsen |
Dato : 01-11-06 20:51 |
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Thorbjørn Ravn Andersen wrote:
> Bertel Lund Hansen <nospamfilius@lundhansen.dk> writes:
>> Jeg har også et der med en rekursiv funktion på en brøkdel af et
>> sekund kan løse en vilkårlig sudoku.
>
> En brøkdel af et sekund? Har du skrevet det selv? I så fald, må du
> lige forklare hvilke datastruktur der gør det nemt?
Simpel dynamisk programmering skulle vist gøre det
(så vidt jeg ved har det været en standard opgave på første studieår på
datalogi på SDU i år
Martin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFSPqooCiIG96jYfYRAiiQAKCHui6kL6SlbNZC0Gw9XUKrCMm1pwCePLOH
QMr2VO6N4pjv1VT7l5vQ7ik=
=gNYK
-----END PGP SIGNATURE-----
| |
Thorbjørn Ravn Ander~ (01-11-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 01-11-06 21:07 |
|
"Martin R. Ehmsen" <martin@ehmsen.org> writes:
> Simpel dynamisk programmering skulle vist gøre det
Jeg troede bare problemet var mere komplekst (har jo ikke prøvet at
løse en).
> (så vidt jeg ved har det været en standard opgave på første studieår på
> datalogi på SDU i år
Det er jo også genialt da de fleste folk kender det, og kan håndtere
problemstillingen i hovedet.
--
Thorbjørn Ravn Andersen
| |
Torben Ægidius Mogen~ (01-11-2006)
| Kommentar Fra : Torben Ægidius Mogen~ |
Dato : 01-11-06 15:08 |
|
Bertel Lund Hansen <nospamfilius@lundhansen.dk> writes:
> Torben Ægidius Mogensen skrev:
>
>> Nej. Sværhedsgraden afhænger af, hvor let det er at finde et sikkert
>> tal (dvs et, som man er sikker på er en del af løsningen). Det siges,
>> at det største problem i at lave maskingenererede Sudokuopgaver var at
>> finde ud af sværhedsgraderde til de genererede opgaver. De metoder,
>> som computere bruger, er meget forskellige fra dem, som mennesker
>> bruger
>
> Det kan man da ikke sige. Jeg har et computerprogram der arbejder
> på samme måde som jeg selv gør (men det kan endnu ikke løse de
> svære).
O.K., men den naturlige måde at lave et Sudoku-løsende program bruger
en helt anden metode.
> Jeg har også et der med en rekursiv funktion på en brøkdel af et
> sekund kan løse en vilkårlig sudoku.
Ja, det er ikke svært. Den simple løsning er:
1. Find et tomt felt. Hvis der ingen er, så stop med løsning.
2. Find et tal, der ikke findes i samme række, søjle eller "boks" som
det tomme felt og kald rekursivt med dette tal sat ind i det før
tomme felt. Hvis intet, så returner.
3. Hvis der blev returneret fra kaldet i skridt to, så prøv skridt to
igen med et nyt tal. Hvis der ikke er flere, så returner.
Den kan optimeres ved i skridt 1 at vælge det felt, hvor der er
færrest mulige tal, der ikke findes i samme række , søjle eller boks.
Man kan få den til at skrive alle mulige løsninger ud ved i skridt 1
at returnere efter at have udskrevet en løsning efter at have fundet
en. "Rigtige" Sudoku-opgaver har kun en løsning.
Men, som sagt, minder dette ikke meget om den måde, som mennesker
løser Sudokuer.
Man kan iøvrigt bruge en lignende metode til at generere
Sudoku-opgaver:
Sæt nogle få tilfældige tal ind i en tom ramme og kald løseren
herover. Hvis den ikke finder en løsning, så prøv igen. Hvis den
finder en løsning, så fjern tilfældige tal fra løsningen indtil
løseren giver mere end en løsning, og sæt derefter det sidste tal
tilbage igen.
Torben
| |
Martin Bak (01-11-2006)
| Kommentar Fra : Martin Bak |
Dato : 01-11-06 20:59 |
|
""Torben Ægidius Mogensen"" <torbenm@app-3.diku.dk> skrev i en meddelelse
news:7zhcxjh5mr.fsf@app-3.diku.dk...
> "Steffen" <box399bc@yahoo.dk> writes:
>
>> Er det antallet af de tal, der på forhånd er indsat i en sudoku, der
>> afgør,
>> hvor svær den er?
>
> Nej. Sværhedsgraden afhænger af, hvor let det er at finde et sikkert
> tal (dvs et, som man er sikker på er en del af løsningen). Det siges,
> at det største problem i at lave maskingenererede Sudokuopgaver var at
> finde ud af sværhedsgraderde til de genererede opgaver. De metoder,
> som computere bruger, er meget forskellige fra dem, som mennesker
> bruger, så man kunne ikke bruge computerens køretid e.lign. til at
> afgøre det.
>
>> Jeg bruger højst middelsvære opgaver, fordi jeg kun vil løse dem uden at
>> skulle skrive små tal eller prikker i felterne. Problemet er bare, at
>> nogle
>> middelsvære er svære, mens andre midelsvære er, hvad jeg kalder middel,
>> nemlig fordi de er til at løse UDEN at skrive små hjælpetal.
>
> Jeg bruger aldrig hjælpetal og jeg bruger tushpen, så jeg indsætter
> kun et tal, når jeg er sikker på at det er rigtigt. Jeg gør dette for
> alle sværhedsgrader, men jeg indrømmer, at der er nogle opgaver, hvor
> jeg skal tænke længe for at finde det næste sikre tal.
>
Jeg løser kun svære eller fiendish opgaver. Jeg gider ikke at udfylde de
lettere.
Jeg har nogle grundudgangspunkter:
Hvor kan tallet stå?
Hvilket tal kan stå her?
Og så udelukkelsesmetoden. Hvis et tal der står i midten af en blok ikke kan
stå i venstre side af blokken derunder, så skal tallet stå i venstre side i
blokken derover osv.
På den måde kan jeg klare langt de fleste opgaver. Det er sjældent at jeg
har brug for at skrive hjælpetal eller andet. Men jeg skal ofte, som i skak,
tænke mange skridt frem, som "hvis der står 3 der, -så skal der også stå 3
der - og der- og så skal der nødvendigvis stå 5 der og det kan der ikke, -
ergo, der kan ikke stå 3 der!
Martin
| |
Kai Birger Nielsen (03-11-2006)
| Kommentar Fra : Kai Birger Nielsen |
Dato : 03-11-06 11:07 |
|
Hvis I er til megasvære opgaver, så kig på den her:
http://www.246.dk/Psudo-10.png
I stedet for tal, er der større end/mindre end tegn
mellem nogle af pladserne. (Den er taget fra et
tidsskrift ved navn FAMØS og den var så svær at de
undskyldte for den i det følgende nummer
mvh Birger Nielsen (bnielsen@daimi.au.dk)
| |
|
|