Forum: Ruby Sodoku-Generator

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Meino Christian C. (Guest)
on 2006-02-19 21:10
(Received via mailing list)
Hi,

 with Google I found a Quiz about a Sodoku-solver, but I didn't find a
 Sodoku generator. Also RAA and RubyForge did not list one.

 Is there any out there ? May be one, which also generated a solution
 for the generated Sodokus?

 Kind regards,
 mcc
M. Edward (Ed) Borasky (Guest)
on 2006-02-19 21:52
(Received via mailing list)
From the R library package "sudoku":

generateSudoku            package:sudoku            R Documentation

Randomly Generate a Sudoku Puzzle Grid

Description:

     Creates a 9x9 Sudoku grid suitable for use by 'playSudoku'.

Usage:

       generateSudoku(Nblank=50, print.it=FALSE)

Arguments:

  Nblank: Number of cells to blank out

print.it: Logical.  If true, print result to screen.

Details:

     The basic algorithm is to start with a 'primordial' Sudoku grid,
     swap around some rows and columns, then blank out some cells.

Value:

     A matrix, representing a 9x9 Sudoku grid.

Author(s):

     Curt S. <removed_email_address@domain.invalid>, Henrik Bengtsson
     <removed_email_address@domain.invalid>, and David Brahm 
<removed_email_address@domain.invalid>

References:

     <URL: http://sudoku.com/>

Examples:

     generateSudoku(print.it=TRUE)

Here's the function definition for those who understand R. I might make
pseudo-code from this if I have the time:

generateSudoku <- function(Nblank=50, print.it=FALSE) {
  z <-
c(1:9,4:9,1:3,7:9,1:6,2:9,1,5:9,1:4,8:9,1:7,3:9,1:2,6:9,1:5,9,1:8)
  z <- matrix(sample(9)[z], 9,9)
  for (i in 1:5) z <- z[replicate(3, sample(3)) + 3*rep(sample(0:2),
each=3),
                        replicate(3, sample(3)) + 3*rep(sample(0:2),
each=3)]
  for (bi in seq(0,6,3)) for (bj in seq(0,6,3)) {
    idx <- data.matrix(expand.grid(bi + 1:3, bj + 1:3))
    z[idx[sample(1:9, Nblank%/%9), ]] <- 0
  }
  ## Depopulate (if we had a test for uniqueness, we'd put it here):
  while (sum(!z) < Nblank) z[matrix(sample(9,2), 1)] <- 0
  if (print.it) printSudoku(z)
  z
}



Meino Christian C. wrote:
>
>
>

--
M. Edward (Ed) Borasky

http://linuxcapacityplanning.com
Meino Christian C. (Guest)
on 2006-02-19 22:19
(Received via mailing list)
From: "M. Edward (Ed) Borasky" <removed_email_address@domain.invalid>
Subject: Re: Sodoku-Generator
Date: Mon, 20 Feb 2006 04:48:30 +0900

Hi Edward,

 Thank you for your fast reply ! :O)

 I found nothing at RAA/Rubyforge due to a typo I did:
 S_u_doku is correct...I searched for "S_o_doku"....

 Sorry for the trouble...

 (rsudoku did not start, because it doesn't find a certain preference
file
 in my $HOME. INSTALL says: Simpy start ruby rsudoku.rb.

 I will check this..

 Ruby!
 mcc
Josef 'Jupp' SCHUGT (Guest)
on 2006-02-20 00:20
(Received via mailing list)
Hi!

At Mon, 20 Feb 2006 04:08:01 +0900, Meino Christian C. wrote:

> with Google I found a Quiz about a Sodoku-solver, but I didn't find
> a Sodoku generator. Also RAA and RubyForge did not list one.
>
> Is there any out there ? May be one, which also generated a solution
> for the generated Sodokus?

http://www.puzzle.jp

I understand that you rather seek for a program but ... hand-made
Sudoku are much more fun than those created by software. Up to now at
least.

Josef 'Jupp' Schugt
Stephen W. (Guest)
on 2006-02-20 04:38
(Received via mailing list)
On Feb 19, 2006, at 2:18 PM, Josef 'Jupp' SCHUGT wrote:

> I understand that you rather seek for a program but ... hand-made
> Sudoku are much more fun than those created by software. Up to now at
> least.

This is slightly OT, so I'll only offer this one contribution..
There is no such thing as hand-made sudoku puzzles at this point.
Yes, some newspapers still make the claim, but it's simply untrue.

--Steve
Hal F. (Guest)
on 2006-02-20 04:41
(Received via mailing list)
Stephen W. wrote:
> newspapers still make the claim, but it's simply untrue.
I think I'm the last person in the world to "get" this phenomenon.
I've never tried it, but it looks as exciting as solving the same
crossword puzzle over and over.

I guess it's the Rubik's Cube of the 00's, for whatever that may
be worth.


Hal
Meino Christian C. (Guest)
on 2006-02-20 05:57
(Received via mailing list)
From: Josef 'Jupp' SCHUGT <removed_email_address@domain.invalid>
Subject: Re: Sodoku-Generator
Date: Mon, 20 Feb 2006 07:18:20 +0900

Hi Josef,

 :) Thanks for the link!

 One could see the implementation of a sudoku-generator in ruby as a
 meta-puzzle: The puzzle to implement a puzzle-generator :))

 Have a nice day!
 mcc
Christian N. (Guest)
on 2006-02-20 15:13
(Received via mailing list)
Stephen W. <removed_email_address@domain.invalid> writes:

> On Feb 19, 2006, at 2:18 PM, Josef 'Jupp' SCHUGT wrote:
>
>> I understand that you rather seek for a program but ... hand-made
>> Sudoku are much more fun than those created by software. Up to now at
>> least.
>
> This is slightly OT, so I'll only offer this one contribution..
> There is no such thing as hand-made sudoku puzzles at this point.
> Yes, some newspapers still make the claim, but it's simply untrue.

They could, but of course you can't tell if they do...

http://www.pro.or.jp/~fuji/sudoku/makesudoku/sudok...
http://www.pro.or.jp/~fuji/sudoku/makesudoku2/sudo...
Josef 'Jupp' SCHUGT (Guest)
on 2006-02-21 21:35
(Received via mailing list)
Hi!

At Mon, 20 Feb 2006 12:53:50 +0900, Meino Christian C. wrote:
>  :) Thanks for the link!

It was taken from "Sudoku - Das original japanische Zahlenr├Ątsel" by
Puzzler, published by MZV Moderner Zeitschriften Vertrieb GmbH &
Co. KG - http://www.mzv.de/

There is already quite a number of sudoku in print in Germany but
according to me this one bringst the most fun (I tried several
publications)

Josef 'Jupp' Schugt
This topic is locked and can not be replied to.