数独问题在C语言中的模拟算法
- 格式:pdf
- 大小:183.23 KB
- 文档页数:3
0 引言
数 独 的 名 字 来 源 于 日语 S u d o k u , 可 以理 解 为“ 独 立 的 数 字
Abs t r a c t: T h e u s e o f a r t i f i c i a l p r o b l e m — s o l v i n g i d e a s S u d o k u C l a n g u a g e s i m u l a t i o n , c o m p u t e r s i m ul a t i o n
me t hods . Co nd uci v e t o le a rni n g C pr og ra m mi n g l an gu ag e a nd t he ap pro p ri a te s kili s ,t r yi ng to p ut pe opl e’ S wa y
机 程序 , 便 于人工智能方面的研究。 关键词 : 数独 ; 人工解题 ; 候选数
Si mu l a t i o n b a s e d o n t he C l a ng ua g e i n t he S ud o ku p r o bl e m
Ya ng Xi a o h u a
o f t h i n k i n g i n t o t h e c o r r e s p o n d i n g c o m p u t e r p r o g r a m t o f a ci l i t a t e r e s e a r c h i n a r t i f i c i a l i n t e l l i g e n c e a r e a .
. 1 唯一法 者认为数独是锻炼脑 筋的好方法。 数独游戏 成功的原因除 了它的 2
趣味 性和挑战性 之外 , 更重要 的原因其实 是因为它 很容易上手 。
以上面 的图示为例说 明用 C语 言模拟 数独 问题 的人工解题
此 题 的 数独 游戏 的规则 是 : 在一 个 9 X9的大正 方形 中, 预 先填入 一些 思路 。
2 o1 5. 3
数独 问题在 C语 言 中的模拟算法
杨晓华
( 商丘 医学 高等专科学校 现代教育技术 中心 , 河 南商丘 ,4 7 6 1 O 0 )
摘要 : 用 c语言模拟数独 的人工解题思路, 用计 算机 模拟人脑解题 的方法 , 提 出了数独 问题人 工解法 程序 实现的可能途径 , 介 绍 了唯一法 、 排 除法 及回溯法三种解题方法 。 有利 于学习 c语言及相应的编程技巧 , 尝试 着把 人的思维方式转化 成相应 的计算
{ 8 ,1 ,0 ,9 ,2 ,3 ,0 ,0 ,0 ) ,{ 0 ,2 ,0 ,6 ,0 ,0 ,0 ,0 , 9 ) ,{ 0 ,3 ,4 ,5 ,8 ,0 t h e h u m a n b r ai n b y s o l v i n g m e t h o d i S p r o p o s e d p o s s i b l e w a y s a r ti f i ci a l S u d o k u S o l u ti o n p r o g r a m i m p l e m e n t a t i o n i s s u e s , i n t r o d u c e d a u ni q u e m e t h o d , t h r e e s o l u t i o n s o f I a w a n d b a c k t r a c k i n g e x c l u s i o n t i t l e
( M o d e r n E d u c a t i o n T e c h n o l o g y C e n t e r , S h a n g q i u M e d i c a l C o l l e g e , H e n a n S h a n g q i u , 4 7 6 1 0 0 )
{ 0 ,4 ,0 ,8 ,0 ,l ,3 ,9 ,O ) ,{ 3 ,0 ,1 ,7 ,0 ,9 ,4 ,0 ,
( 3 )每个 数字在每一列 中只能 出现一次 ; ( 4 )每个数字在每一 区内 ( 3 X 3的小九 宫 )只能出现一 次。
擘
《
0 ) ,( 7 ,9 ,0 ,3 ,0 ,0 ,6 ,0 ,5 ) ,
数字 , 要求游戏 者按照规 则填完其它 的空格, 如下图所示 , 规则
如下 :
数据结构如下 :
# d e f i n e N 9
( 1 ) 每个 空格 内所填的数字 只限于 1 —9之间 ;
( 2 )每个 数 字 在 每 一 行 中只 能 出现 一 次 ;
i n t a [ N ] [ N ] = { { 0 ,0 ,0 ,0 ,0 ,0 ,9 ,0 ,0 ) ,{ 0 ,0 ,0 , 4 ,0 ,6 ,0 ,0 ,0 ) ,{ 0 ,5 ,9 ,0 ,0 ,8 ,0 ,0 ,O ) ,
”
。
2 数独解题思路
数 独游戏上 手简单, 但是随着难度 的加大将会 充满挑战 。 数
归纳起 来主要有 三种方 法 : 唯一法 、 排 它起源 于 1 8世纪末 的瑞士 , 是一种很 有挑战性 的数学 智力拼 独 的解题方 法多种 多样 ,
图游戏 。 数 独的玩法逻辑简单 , 数字排列方式千变万化 。 不少教育 除法和 回溯法 。