由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Parenting版 - 解Soduku有窍门吗?
相关主题
忍不住来Showoff--宝宝的第一套拼图valentine 怎么带去学校来着?
推荐玩具-- ThinkFun Chocolate Fix去全美国最危险的地区普及围棋
孩子爱做SUDOKU不推又老想着--为什么推Chess?
所谓的加减乘除5岁7个月娃是否有潜力
快疯了,18个月的孩子天天晚上大哭不睡小娃看iPad,电脑的问题 (转载)
崩溃了崩溃了,这孩子怎么带啊娃要买一个ipad,该怎么管理?
生源的种族构成是否影响你对学校的选择?Re: 小儿哮喘真的只有长期不间断吸激素喷雾一条路吗? (转载)
希望大家BLESS一下我家娃说跳级不好的家长都是嫉妒,嫉妒任何小孩的大人最坏
相关话题的讨论汇总
话题: soduku话题: np话题: 窍门话题: 一年级话题: 3x3
进入Parenting版参与讨论
1 (共1页)
w*******g
发帖数: 9932
1
http://en.wikipedia.org/wiki/Sudoku
我一年级的儿子有这么个作业, 每星期都有。 昨天我想帮帮他, 结果自己也做不出
来。 几小时, 烦了就只好用 Prolog 写了个程序硬算出了。 知道这东西是 NP-hard
的的, 可是小学一年级的作业不应该怎么难吧。
G*******n
发帖数: 2041
2
一年级的能有多难,贴出来让我老婆最多十分钟给你搞定,我差一点,二十分钟。
有suduko的app,你可以下载下来做做
各种限制条件交替使用,不能确定的写下可能的值,一个一个试。
w*******g
发帖数: 9932
3
我没有那个耐心挨个试。greedy method doesn't work. Backtrack takes a long
time.
真没有技巧吗

【在 G*******n 的大作中提到】
: 一年级的能有多难,贴出来让我老婆最多十分钟给你搞定,我差一点,二十分钟。
: 有suduko的app,你可以下载下来做做
: 各种限制条件交替使用,不能确定的写下可能的值,一个一个试。

l*****8
发帖数: 16949
4
就是各种限制条件。你总结的越多就越容易解。
我的基本做法是先做可以直接看出来的。等到这部分做完就在没解出来的空格里写上所
有可能的值。比如如果各种条件排除了123789,你就写上456.然后就能有很多新的限制
条件被发现。比如如果你发现一行里有两个45, 那么这行里其它的4,5都可以排除掉。
如果一行里有3个456,那么这行里其他的456也可以被排除掉。还有许多利用关联条件
发现更复杂的关系。反正你能发现的条件越多,做得就越快。这种你随便下个app玩玩
就能琢磨出来了。
d****g
发帖数: 7460
5
高级BSO啊

hard

【在 w*******g 的大作中提到】
: http://en.wikipedia.org/wiki/Sudoku
: 我一年级的儿子有这么个作业, 每星期都有。 昨天我想帮帮他, 结果自己也做不出
: 来。 几小时, 烦了就只好用 Prolog 写了个程序硬算出了。 知道这东西是 NP-hard
: 的的, 可是小学一年级的作业不应该怎么难吧。

w*******g
发帖数: 9932
6
make sense, Thank you

【在 l*****8 的大作中提到】
: 就是各种限制条件。你总结的越多就越容易解。
: 我的基本做法是先做可以直接看出来的。等到这部分做完就在没解出来的空格里写上所
: 有可能的值。比如如果各种条件排除了123789,你就写上456.然后就能有很多新的限制
: 条件被发现。比如如果你发现一行里有两个45, 那么这行里其它的4,5都可以排除掉。
: 如果一行里有3个456,那么这行里其他的456也可以被排除掉。还有许多利用关联条件
: 发现更复杂的关系。反正你能发现的条件越多,做得就越快。这种你随便下个app玩玩
: 就能琢磨出来了。

G********r
发帖数: 3161
7
你们一年级有你Wiki贴的那个难么?我觉得一年级不应该有那么难。其实就是排除法,
一般从数字最多的那个行或是列开始,比如说你Wiki里的那个,数字最多的那个是一列
数字:79X6X2X18,X表示空白,这列数字差345,然后你看6和2之间的那个空格的那一行
,已经有3和4了,那么就只能放5了。以此类推。
w*******g
发帖数: 9932
8
I will post it when I have the chance but it is that difficult. Greedy
method didn't work
the solution I found using program is quite different from what my initial
attempt by hand.

【在 G********r 的大作中提到】
: 你们一年级有你Wiki贴的那个难么?我觉得一年级不应该有那么难。其实就是排除法,
: 一般从数字最多的那个行或是列开始,比如说你Wiki里的那个,数字最多的那个是一列
: 数字:79X6X2X18,X表示空白,这列数字差345,然后你看6和2之间的那个空格的那一行
: ,已经有3和4了,那么就只能放5了。以此类推。

w*******g
发帖数: 9932
9
* * * | * 4 * | * 5 *
6 1 * | 7 * * | * * *
* 3 2 | 6 * * | * * *
---------------------
9 5 * | * * * | * 6 7
* * * | 1 * 7 | * * *
7 6 * | * * * | * 3 1
---------------------
* * * | * * 3 | 6 9 *
* * * | * * 1 | * 7 3
* 8 * | * 2 * | * * *
S****p
发帖数: 3928
10
这还真不难。一年级可以做,不过要有点耐心。
879342156
614785329
532619748
951238467
423167985
768594231
145873692
296451873
387926514
完全不需要二选一。窍门其实很简单,就是根据的基本规则。横竖和方框里每个数字只
能出现一次。
相关主题
崩溃了崩溃了,这孩子怎么带啊valentine 怎么带去学校来着?
生源的种族构成是否影响你对学校的选择?去全美国最危险的地区普及围棋
希望大家BLESS一下我家娃不推又老想着--为什么推Chess?
进入Parenting版参与讨论
w*******g
发帖数: 9932
11
cool, good to know it's easy to do

【在 S****p 的大作中提到】
: 这还真不难。一年级可以做,不过要有点耐心。
: 879342156
: 614785329
: 532619748
: 951238467
: 423167985
: 768594231
: 145873692
: 296451873
: 387926514

S****p
发帖数: 3928
12
例如
9-- --- ---
--- --- ---
--- --- ---
--9 --- ---
--- --- ---
--- --- ---
--- -9- ---
--- --- --9
-?- --- ---
这个问号就是9
这是一种思路
S****p
发帖数: 3928
13
其他的一些思路
例如一行只缺2 或 4, 就对应看这两个位置的列和方块。如果有4,那么这个对应位置
就是2. 大概就这意思。
复杂一点的就要做记号了。
l*****8
发帖数: 16949
14
我也试了一下,确实不难。还没到我说的需要填几个可能的值的那一步。
M******k
发帖数: 27573
15
还有一些比较怪异的pattern,什么XY,剑鱼等等,不过一般的应该用不到吧.
p**s
发帖数: 2707
16
高手啊,我只知道什么三链四链之类的

【在 M******k 的大作中提到】
: 还有一些比较怪异的pattern,什么XY,剑鱼等等,不过一般的应该用不到吧.
M******k
发帖数: 27573
17
知道名字没用啊,解的时候看不出来也是白给。

【在 p**s 的大作中提到】
: 高手啊,我只知道什么三链四链之类的
b****b
发帖数: 656
18
这个不可能是np hard问题吧? 我教小朋友编程就写了个soduku solver. 就是把一个个
手工判断方法反复用上去。到最后有些没法完全决定的, 就随便放些数, 然后接着穷举。

hard

【在 w*******g 的大作中提到】
: http://en.wikipedia.org/wiki/Sudoku
: 我一年级的儿子有这么个作业, 每星期都有。 昨天我想帮帮他, 结果自己也做不出
: 来。 几小时, 烦了就只好用 Prolog 写了个程序硬算出了。 知道这东西是 NP-hard
: 的的, 可是小学一年级的作业不应该怎么难吧。

w*****3
发帖数: 2301
19
总结经验, 熟能生桥
x***1
发帖数: 999
20
介绍一种方法:
排除法,找出所有可能的1和9,比如:
找出所有1,第一个3x3有1,不用找,横着数第二个3x3里,第二行不能为1 ,第一列不
能为1,第三列不能为1,那么只有第3行第2列为1。第三个3x3里,第2行和3行以及3列
不能为1,只有第1行第一列为1。
得到如下阵列,大概需要2分钟,
* * * | * 4 * | 1 5 *
6 1 * | 7 * * | * * *
* 3 2 | 6 1 * | * * *
---------------------
9 5 1 | * * * | * 6 7
* * * | 1 * 7 | * * *
7 6 * | * * * | * 3 1
---------------------
1 * * | * * 3 | 6 9 *
* * * | * * 1 | * 7 3
* 8 * | * 2 * | * 1 *
以此类推,找2-9,需要15分钟,得到结果。

【在 w*******g 的大作中提到】
: * * * | * 4 * | * 5 *
: 6 1 * | 7 * * | * * *
: * 3 2 | 6 * * | * * *
: ---------------------
: 9 5 * | * * * | * 6 7
: * * * | 1 * 7 | * * *
: 7 6 * | * * * | * 3 1
: ---------------------
: * * * | * * 3 | 6 9 *
: * * * | * * 1 | * 7 3

相关主题
5岁7个月娃是否有潜力Re: 小儿哮喘真的只有长期不间断吸激素喷雾一条路吗? (转载)
小娃看iPad,电脑的问题 (转载)说跳级不好的家长都是嫉妒,嫉妒任何小孩的大人最坏
娃要买一个ipad,该怎么管理?怎么把Minivan开进车库
进入Parenting版参与讨论
w*******g
发帖数: 9932
21
what you described is actually a NP method
in fact, my prolog soduku solver does exactly the same thing as well except
it can find all the solutions with backtracking.
the generalization of Soduku is NP-complete according to a Japanese paper (
see the wiki link)

举。

【在 b****b 的大作中提到】
: 这个不可能是np hard问题吧? 我教小朋友编程就写了个soduku solver. 就是把一个个
: 手工判断方法反复用上去。到最后有些没法完全决定的, 就随便放些数, 然后接着穷举。
:
: hard

w*******g
发帖数: 9932
22
thanks. This looks like a good heuristics.

【在 x***1 的大作中提到】
: 介绍一种方法:
: 排除法,找出所有可能的1和9,比如:
: 找出所有1,第一个3x3有1,不用找,横着数第二个3x3里,第二行不能为1 ,第一列不
: 能为1,第三列不能为1,那么只有第3行第2列为1。第三个3x3里,第2行和3行以及3列
: 不能为1,只有第1行第一列为1。
: 得到如下阵列,大概需要2分钟,
: * * * | * 4 * | 1 5 *
: 6 1 * | 7 * * | * * *
: * 3 2 | 6 1 * | * * *
: ---------------------

s*****j
发帖数: 6435
23
你要叫小孩编程的话, 这是一个非常好的例子.

except

【在 w*******g 的大作中提到】
: what you described is actually a NP method
: in fact, my prolog soduku solver does exactly the same thing as well except
: it can find all the solutions with backtracking.
: the generalization of Soduku is NP-complete according to a Japanese paper (
: see the wiki link)
:
: 举。

s*****c
发帖数: 753
24
Sudoku Solver algorithm
http://www.sudokuwiki.org/sudoku.htm
Click the right list to show explanations of each strategies. I believe
most people can understand the simple strategy 1-6.
Try the examples they provide or you can input your soduku. Click take step
button to see the solution step by step.

hard

【在 w*******g 的大作中提到】
: http://en.wikipedia.org/wiki/Sudoku
: 我一年级的儿子有这么个作业, 每星期都有。 昨天我想帮帮他, 结果自己也做不出
: 来。 几小时, 烦了就只好用 Prolog 写了个程序硬算出了。 知道这东西是 NP-hard
: 的的, 可是小学一年级的作业不应该怎么难吧。

1 (共1页)
进入Parenting版参与讨论
相关主题
说跳级不好的家长都是嫉妒,嫉妒任何小孩的大人最坏快疯了,18个月的孩子天天晚上大哭不睡
怎么把Minivan开进车库崩溃了崩溃了,这孩子怎么带啊
六个月的宝宝可以送回国吗?生源的种族构成是否影响你对学校的选择?
转眼之间孩子就长大了,不亲父母了希望大家BLESS一下我家娃
忍不住来Showoff--宝宝的第一套拼图valentine 怎么带去学校来着?
推荐玩具-- ThinkFun Chocolate Fix去全美国最危险的地区普及围棋
孩子爱做SUDOKU不推又老想着--为什么推Chess?
所谓的加减乘除5岁7个月娃是否有潜力
相关话题的讨论汇总
话题: soduku话题: np话题: 窍门话题: 一年级话题: 3x3