第五章 結論與建議
5.2 建議
首先,本研究實驗第一部分之所以不使用太過於複雜的數獨解題技巧,而挑 選大部分益智遊戲在解題過程具有的特性(如:猜測、Backtrack)。其中一個原 因就是希望這個難度評估的方式可以應用到與數獨類似的益智遊戲上陎(如:新 接龍、踩地雷等等)。因此,對於未來如果要評估這類遊戲的難度,或許可以將 不確定分支度、回溯的次數以及執行的次數當作一個參考依據。在遊戲關卡設計 上,通往目標的路口越多,越會讓玩家覺得複雜,也就是說關卡的難度會提升;
除此之外,設計某些關卡需要某些特定技巧才能解決並想辦法在前幾個關卡中讓 玩家學習、發覺,如此一來,玩家在破關的過程中就不會因為太無聊而覺得無趣 或者是因為不知道有什麼方法可以破關而覺得焦慮。
其次,雖然本研究的目的不在探討人類的實際解題歷程,而是使用到人實際 去玩數獨的解題時間直接當作對數獨難度的分類,在這個部分並沒有實際去問玩 家玩的心情以及玩家所認為的難度應該為何? 所以未來如果是想針對數獨做更 深入的了解,可以在人類解題歷程上去做更詳細的探討。
57
參考文獻
一、中文部分
巫光禎(2006)。數獨解題技巧,直觀法【部落格文字資料】。取自 http://oddest.nc.hcc.edu.tw/。
高超群(譯)(2006)。人工智慧:現代方法(原作者:S. Russell and P. Norving)。
台灣:全華圖書。(原出爯年:2003)。
二、英文部分
Abbott, R. (1975). Under the strategy tree. Games & Puzzles, 36. Retrieved from http://www.logicmazes.com/games/tree.html
Althofer, I. (2003). Computer-aided game inventing. Technical Report.
Retrieved from
http://www.minet.uni-jena.de/preprints/althoefer_03/CAGI.pdf.
Birkhoff, G. D. (1933). Aesthetic measure, Harvard University Press, Cambridge.
Brailsford, S. C., Potts, C. N., & Smith, B. M. (1999). Constraint satisfaction problems: Algorithms and applications. European Journal of Operational Research 119, 557-581.
Browne, C. B. (2008). Automatic generation and evaluation of recombination games, PhD thesis, Queensland University of Technology.
Chan, C. (2006). Helping human play freecell, University of Kent.
58
Retrieved from
http://www.cs.kent.ac.uk/pubs/ug/2006/co620-projects/revrole/Help ingHumanPlayFreecell.pdf
Chase, W. G., & Simon, H. A. (1973). Perception in chess. Cognitive Psychology, 4, 55-81.
Cooper, G., & Sweller, J. (1987). Effects of schema acquisition and rule induction on mathematical problem-solving transfer. Journal of Educational Psychology, 79, 347-362.
Craik, K. (1943). The nature of explanation. Cambridge: Cambridge University Press.
Crawford, C. (1984). The art of computer game design. Osborne/McGraw-Hill, Berkeley, CA.
Csikszentmihalyi, M. (1975). Beyond boredom and anxiety. San Francisco:
Jossey-Bass.
DeVellis, R. F. (2006). Classical test theory. Medical care, 44(11), S50-S59.
De Groot, A. (1966). Perception and memory versus thought: Some old ideas and recent findings. In B. Rleinmuntz (Ed.) Problem solving. NY:
Wiley.
Dorigo, M. (1992). Optimization, learning and natural algorithms, Ph. D.
Thesis, Politecnico di Milano, Italy, EU.
D′Zurilla, T. J., & Goldfried, M. R. (1971). Problem solving and behavior modification. Journal of Abnormal Psychology, 78(1), 107-126.
Egan, D. E., & Schwartz, B. J. (1979). Chunking in recall of symbolic drawings. Memory & Cognition, 7(2), 149-158.
Farhang, Y., Meybodi, M. R., & Hatamlou, A. R. (2008). Improving the
59
efficiency of forward checking algorithm for solving constraint.
Eighth International Conference on Intelligent Systems Design and Applications., 1, 240-245, 26-28.
Gardner, M. (2004). Theory of everything. The New Criterion, 23, 65.
Retrieved from
http://www.newcriterion.com/articles.cfm/theory-of-everything-113 6.
Gathercole, S. E., & Baddeley, A. D. (1993). Working memory and language.
Hillsdale, NJ, England: Lawrence Erlbaum Associates , Inc.
Glover, F. (1990). Tabu Search: A Tutorial. The Practice of Mathematical Programming, 20(4), 74-94.
Gobet, F. (1993). A computer model of chess memory. 15th Annual Meeting of the Cognitive Science Society, 463-468. Hillsdale, NJ: Erlbaum Associates.
Gobet, F., & Simon, H A. (1996). Templates in chess memory: A mechanism for recalling several boards. Cognitive Psychology, 31(1), 1-40.
Retrieved from http://bura.brunel.ac.uk/handle/2438/1339.
Gullikson, H. (1987). Theory of mental tests. Hillsdale, NJ: Lawrence Erlbaum Associates. (Originally published in 1950 by New York: John Wiley & Sons)
Hambleton, R. K., & Swaminathan, H. (1985). Item response theory:
Principles and applications. Boston, MA: Kluwer-Nijhoff.
Hambleton, R. K., Swaminathan, H., & Rogers, H. J. (1991). Fundamentals of item response theory. Newburry Park, CA: SAGE.
Hart, P.E., Nilsson, N.J., & Raphael, B. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. Systems Science and Cybernetics,
60
IEEE Transactions on, 4(2), 100-107.
Hayes, J. R. (1981). The complete problem solver. Philadelphia: Franklin Institute Press.
Hulin, C. L., Drasgow, F., & Parsons, C. K. (1983). Item response theory:
Application to psychological measurement. Homewood, IL: Dow Jones-Irwin.
Inkala, A. (2007). AI Escargot - The most difficult Sudoku puzzle.
Lulu.com Publisher, Finland.
Jeffries, R., Turner, A. A., Poison, P. G., & Atwood, M. (1981). The processes involved in designing software. In J. R. Anderson (Ed.), Cognitive skills and their acquisition, 255-283. Hillsdale, NJ:
Erlbaum.
Jones, S. K., Roach, P. A., & Perkins, S. (2008). Construction of heuristics for a search-based approach to solving Sudoku. Research and Development in Intelligent Systems XXIV(3), 37-49.
Kim, S. (1999). The art of puzzle game design 【Notes from talks at the 1999 Game Developers Conference】. Retrieved from
http://scottkim.com/thinkinggames/GDC99/index.html Kim, S. (2006). What is a puzzle. Retrieved from
http://www.scottkim.com/thinkinggames/whatisapuzzle/index.html.
Kirkpatrick, S., Gelatt, C. D., Jr., & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220(4598), 671-680.
Klein, S. B. (1996). Learning: Principles and applications. New York:
McGraw-Hill.
Knuth, D. E., & Moore, R. W. (1975). An analysis of alpha-beta pruning.
Artificial Intelligence, 6, 293-326.
61
Korf, R. E. (1985). Depth-first iterative-deepening: An optimal admissible tree search. Artificial Intelligence, 27(1), 97-109.
Korf, R. E. (1996). Artificial intelligence search algorithms. Algorithms and Theory of Computation Handbook, CRC Press.
Kramer, W. (2000). What makes a game good? The Games Journal. Retrieved from
http://www.thegamesjournal.com/articles/WhatMakesaGame.shtml.
Kumar, V. (1992). Algorithms for constraint-satisfaction problems: A Survey. AI Magazine 1992, 13(1), 32-44.
Lewis, R. (2007). Metaheuristics can solve Sudoku puzzles. Journal of Heuristics, 12(4), 387-401.
Lord, F. M. (1980). Applications of item response theory to practical testing problems. Hillsdale, NJ: Lawrence Erlbawn Associates.
Lord, F. M., & Novick, M. R. (1968). Statistical theories of mental test scores. Reading, MA: Addison-Wesley.
Lynce, I., & Ouaknine, J. (2006). Sudoku as a SAT problem. Ninth International Symposium on Artificial Intelligence and Mathematics, Fort Lauderdale.
Mantere, T., & Koljonen, J. (2006). Solving and rating Sudoku puzzles with genetic algorithms. New Developments in Artificial Intelligence and the Semantic Web Proceedings of the 12th Finnish Artificial
Intelligence Conference, 86-92.
Moneta, G. B., & Csikszentmihalyi, M. (1996). The effect of perceived challenges and skills on the quality of subjective experience.
Journal of Personality, 64(2), 275-310.
Moraldo, H. H. (2001). Fun factor for game developers. Game Design.
62
Retrieved from
http://www.gamedev.net/page/resources/_/reference/103/general-gam e-design/222/fun-factor-for-game-developers-r1828.
Newell, A., & Simon, H.A. (1972). Human problem solving. Englewood Cliffs, NJ., Prentice Hall.
Newell, A., Shaw, J. C., Simon, H. A. (1958). Chess-playing programs and the problem of complexity. IBM Journal of Research and Development, 2(4), 320-335.
Pang, S., Li, E., Song, T., & Zhang, P. (2010). Rating and generating Sudoku puzzles. 2010 Second International Workshop on Education Technology and Computer Science, 3, 457-460.
Pelanek, R. (2011). Difficulty rating of Sudoku puzzles by a computational model. Twenty-Fourth International Florida Artificial Intelligence Research Society Conference, 434-439.
Reeson, C.G., Huang, K. C. Bayer, K.M., & Choueiry, B.Y. (2007). An interactive constraint-based approach to Sudoku. Twenty-Second AAAI Conference on Artificial Intelligence, 1976-1977.
Reise1, S. P., Ainsworth, A. T., & Haviland, M. G. (2005). Item response theory, fundamentals, applications, and promise in psychological research. Current Directions in Psychological Science, 14(2), 95-101.
Reise1, S. P., & Waller, N. G. (2009). Item response theory and clinical measurement. Annual Review of Clinical Psychology, 5, 27-48.
Rolle, T. (2003). Development of a multi-game engine, Diploma Thesis, Friedrich-Schiller University Jena, Faculty of Mathematics and Computer Science, Jena.
63
Schmittberger, R.W. (1992). New rules for classic games. John Wiley & Son, New York.
Semeniuk, I. (2005). Stuck on you. New Scientist, 24(31), 45-47.
Shannon, C. E. (1948). A mathematical theory of communication. The Bell System Technical Journal, 27, 379-423, 623-656.
Simonis, H. (2005). Sudoku as a constraint problem. Proceedings of the 4th International Workshop on Modeling and Reformulating Constraint Satisfaction Problems, 13-27.
Stiny, G. & Gips, J. (1978). Algorithmic aesthetics: Computer models for criticism and design in the arts, University of California Press, Berkeley.
Sweller, J, & Cooper, G. (1985). The use of worked examples as a substitute for problem solving in learning algebra. Cognition and Instruction, 2, 59-89.
Thompson, J. M. (2000). Defining the abstract. The Games Journal.
Retrieved from
http://www.thegamesjournal.com/articles/DefiningtheAbstract.shtml .
Weber, T. (2005). A SAT-based Sudoku solver. Twelfth International Conference on Logic for Programming, Artificial Intelligence, and Reasoning, 11-15.
Xu, C., & Xu, W. (2009). The model and algorithm to estimate the difficulty level of Sudoku puzzles. Journal of Mathematics Research, 1(2), 43-46.
Yato, T., & Seta, T. (2003). Complexity and completeness of finding another solution and its application to puzzles. IEICE Transactions
64
on Fundamentals of Electronics, Communications and Computer Science, 86(5), 1052-1060.
Zimmerman, E., & Salen, K. (2003). Rules of play: Game design fundamentals.
MIT Press, Cambridge.
65
附錄-直觀法概說
餘數法
餘數法就是確認空格應填數字的方法。 首先,檢查空格的同一群組(同一 行、同一列、同一九宮格)已出現的數字有多少,當出現的數字已有 8 個時,剩 下的那一個數字就是這個空格的正解。這種尋找正解的方法,是一般人在未接受 教學時,第一個最容易想到的解題技巧。以下就用一個的數獨題來做示範:
8 7 2 1 5 6 4 6 1
2 8 3 7 4
1 8 4
6 8 7 4 9 2 3 5 5 2 3
7 5 3 9 8
4 5 6
6 8 3 2 5 9
在第一列第七行的空格,可以清楚地發現 1、2、3、4、5、6、7、8 已在同 一行或同一列出現過,剩下數字 9 可以填入此空格中,這所使用的方法就是餘數 法。餘數法在實際解題時可細分為唯一法、二餘法、三餘法、四餘法、數對摒除 法、唯餘法、區塊數對唯餘法,如下:
66
1. 唯一法:數獨謎題中的某一個宮格因為所處的單元(列、行或宮)已填入 8 個數字時,那麼這個宮格所能填入的數字,就只剩下那個還沒出現過的數字。
利用這個方式找到正解的方法就是唯一法。
2. 二餘法:找到一個看起來已填數字似乎較多的單元,例如下圖中的第 7 行。
4 7 3 1 2 8
8 7 9 2
9 8 7 4
3 6 4 9
2 5 8 7
8 2 9 3
9 1 8 6
4 9 3 1
6 7 2 1 4 9
由上圖看到第七行,首先,開始點算本單元已出現過的數字:找不到數字 1、
(2, 7)=2、(6, 7)=3、(9, 7)= 4、找不到數字 5、(7, 7)=6 (5, 7)= 7、(4, 6)= 8、(4, 7)= 9,所以本單元僅剩數字 1 和數字 5 有可能填入。再來,開始點 算 (3, 7) 這個空格的其他群組數字,在此空格之同一列及同一九宮格中找不 到數字 1 或 5,本格的可能填入的數字仍為兩個(1、5),所以無法確認何者為 正解。因此找尋下一個空格 (8, 7),開始點算 (8, 7) 的其他群組數字,在 此空格之同一列中找到 (8, 9)= 1,所以本格的正解 (8, 7)= 5。又因為數字 5 已經填入空格,所以 (3, 7)這個空格應填入的數字為 1。
67
使用唯一法時,只需要點算本單元的數字即可,不必管群組中其他兩個單元 有什麼數字,所以得解率百分之百;使用二餘法時,要先點算本單元尚缺哪兩個 數字,然後在群組中的另兩個單元去找,如果可以找到任何一個,就可以確認空 格的正解,且一次可得到兩個空格的正解;使用三餘法時,要先點算本單元尚缺 哪三個數字,然後在群組中的另兩個單元去找,如果可以找到任何兩個,就可以 確認空格的正解。通常會再繼續使用二餘法的技巧嘗詴找解,因為可省去點算的 過程了;使用四餘法時,要先點算本單元尚缺哪四個數字,然後在群組中的另兩 個單元去找,如果可以找到任何三個,就可以確認空格的正解。通常會再繼續使 用三餘法的技巧嘗詴找解,因為可省去點算的過程。
使用唯餘法時,首先,要先點算本單元尚缺哪些數字,然後再從群組中的另 兩個單元去找,如果只有一個數字找不到,就可以確認空格的正解。
點算本單元的數字之後,記住哪些數字沒有出現,然後到群組中的另兩個單 元去找,這樣的過程中,當然是需要記住的數字越少越好了, 所以餘數法之運 用通常是唯一法優先,接著是二餘法,三餘法、四餘法再次之,唯餘法僅在不得 已的時候使用之。
68
3. 數對唯餘法,下陎就以實例來說明數對唯餘法的使用:
6 3 2 5
7 9 2
1 2 5 9
1 7 4 2
6 3 1 7
4 6 9 1
4 6 5 1
5 6 3 4
8 1 9 4 5 7
如上圖示,這個數獨已找不到摒餘解了,所以只好使用餘數法,假設我們以 列、行、宮的順序,直接跳用四餘法,則將是以下過程:
先搜尋列,一直到第 9 列才出現空格數為 4 以下的情形,但找不到三餘 解,只能在 ( 9,2 ) 及 ( 9,8 )註記雙候選數。
再搜尋行,在第 2 行可使用四餘法,一樣找不到餘數解,只能在 ( 1,2 ) 註記雙候選數。
在第 6 行可使用二餘法,一樣找不到餘數解,只能在 ( 3,6 ) 及 ( 6,6 ) 註記雙候選數。
在第 8 行可使用四餘法,找到餘數解( 1,8 )=8,另在( 9,8 )可註記雙 候選數,如下圖。
69
6 89 3 2 8 5
7 9 2
1 2 5 78 9
1 7 4 2
6 3 1 7
4 6 78 9 1
4 6 5 1
5 6 3 4
8 23 1 9 4 5 36 7
當我們把找到的四餘解 ( 1,8 )=8 填入後,因為第一列已有數字 8 了,
( 1,2 ) 的雙候選數 8,9 之數字 8 應被刪去, 如下圖:
6 9 3 2 8 5
7 9 2
1 2 5 78 9
1 7 4 2
6 3 1 7
4 6 78 9 1
4 6 5 1
5 6 3 4
8 23 1 9 4 5 36 7
之前的餘數法點算中,( 1,2 ) 的候選數只餘 8,9,現在再刪去一個,這表 示 ( 1,2 )只剩下數字 9 可填了, 所以 ( 1,2 )= 9,因為是在註記了雙候 選數(數對)後再刪除其中一個而得到的解,故稱為數對唯餘解。
70
摒餘法
摒餘法就是幫未填的數字尋找應填位置的方法。利用一些方法,將未填數字 在指定單元中不可能填入的空格一一摒除,如果可以摒除到只餘一個空格時,這 個未填數字當然就是該空格的正解了。而進行摒除的方法有基礎摒除法、區塊摒 除法、單元摒除法、矩形摒除法、數對摒除法、數偶摒除法等幾種方式,以下就 舉最基礎且較常用的摒餘法做介紹。
1. 基礎摒除法
利用各種摒除的方法將指定單元中不可能填入的空格一一摒除,所得到的解 叫做「摒餘解」。如果以某數對某宮摒除之後,發現某數在該宮只餘一個空格可 填,稱之為「宮摒餘解」;如果以某數對某行摒除之後,發現某數在該行只餘一 個空格可填,稱之為「行摒餘解」;如果以某數對某列摒除之後,發現某數在該 列只餘一個空格可填,稱之為「列摒餘解」。
宮摒餘解的系統其尋找是由數字 1 開始一直到數字 9 ,週而復始,直到解 完全題或無解時為止;每個數字又需從上左九宮格起,直到下右九宮格,週而復
宮摒餘解的系統其尋找是由數字 1 開始一直到數字 9 ,週而復始,直到解 完全題或無解時為止;每個數字又需從上左九宮格起,直到下右九宮格,週而復