May 26

    大家都知道,幻方是这样一种数字游戏,将 1 到 n^2 这 n^2 个数填入 n×n 的方阵中之后,每行、每列及两条对角线上的数字之和都相同。作为一个古老的数学游戏,幻方的生命力极强,直到现在数学家们还在寻找满足各种奇怪性质的幻方。更有意思的是,这神奇的数字方阵后来竟也发展成了文字游戏。人们发现,在 4×4 的方阵中填入以下字母,每行每列都是一个单词:

C A R D
A R E A
R E A R
D A R T

    这样的字母方阵就被称为“文字幻方” (word square) 。

    最近本人对文字游戏尤其感兴趣,心头开始思考起这么一个问题:是否有可能在方阵中填入汉字,让每行每列都是一个词语呢?看着电脑桌面上放着上次寻找 中文 piphilology 的词库,我就又手痒了,于是花了一下午的时间,利用 Mathematica 对汉字幻方作了一些搜索。下面和大家分享一下我得到的结果。

查看更多 »

Jan 25

    Benjamin Franklin是一个与Leonardo da Vinci同样神秘的人,他是一个伟大的物理学家、发明家、文学家、实业家、政治家、思想家、社会活动家。他一生中留下了许多的迷,电影National Treasure里提到的绝大多数关于Benjamin Franklin的事情都是真的。刚出版的一本名为Benjamin Franklin's Numbers: An Unsung Mathematical Odyssey的书中提到,人们还长期忽视了Benjamin Franklin的一些数学成就。Franklin曾计算过战争的经济开销,曾做过人口数预计,这都是没有先例的。其中,最有趣的数学创造还是要数Franklin的“另类幻方”。
    一个3x3的幻方是这样的一个九宫格,格子里写有1到9这9个数字,每一行、每一列和两条对角线上的三个数加起来都是一个相同的数。当然,更大一些的幻方也是存在的,例如你可以用前16个正整数排列成4x4的幻方。Franklin发明了一些另类的幻方,它的要求更加严格,但看上去似乎更有意思一些。Franklin在一封信中写道:“我不满足于这些普通的幻方,这都是很普遍、很简单的东西了。我给我自己强加了一些任务,然后成功地创造出了一些具有其它各种性质的幻方,它们看上去更加神奇。”Franklin创造了下面这个8x8的幻方,每种颜色的数字加起来都等于260,不同寻常的是,你有至少六种方法去解读它。
  

    更牛B的是Franklin的16x16幻方,他称它为“史上最神奇的幻方”。在这个幻方中,每一行、每一列和每一个“/\”形区域内的数字和都是2056。更不可思议的是,每一个4x4的子正方形内的数字之和也是2056 !
  

    Franklin仍不感到满足。Franklin想,既然有“幻方”,为什么没有“幻圆”?于是Franklin构造出了下面这个图形。这个图形里,每一条半径、每一个同心圆和图中画出的每一个偏心圆内的数字加起来都是360。
  

    你可以从下面这个图中看出上图的偏心圆是怎么画出来的。
  

阅读更多:http://blog.sciencenews.org/mathtrek/2008/01/benjamin_franklin_plays_sudoku.html

Aug 15

Crossword
    Crossword我就不用多废话了,这应该是最流行的英文文字游戏。和大多数人想象的不同,构造一个Crossword谜题非常难。真正的Crossword谜题里的空格比你想象的更多,整个填字区域要做到中心对称,而且通常每个Crossword需要有一个特定的主题。去年有一个记录片叫Wordplay,很不错(我给它打了8分)。记录片里介绍了很多和Crossword有关的文化,包括出谜人、解谜人、俱乐部、比赛等很多内容。
    下面是一个以数学为主题的Crossword,大家没事可以做做。答案在本文最后面。


  
Across

1. Cut corners
5. The __ plane, or S(7)
9. Hydrogen
14. Large reptile
16. Column
17. Gives the slope of a tangent to a curve
19. Book by Zienkiewicz and Taylor, abbr.
20. Divide
21. Sin reciprocal
22. The playing field, in nim
25. "I saw Blanusa's paper __ after it appeared." -- Tutte
26. pronoun
27. Hydroxyl group bonded to a doubly-bonded carbon atom
28. (e^z - e^(-z))/2
29. Bar
30. The sphinx is a __-tile
31. __-digit
32. Fit
35. A type of map projection
38. The ___ hypothesis is independent of Zermelo-Fraenkel-Choice
39. Floor coverings, frequently symmetrical
40. Graph theorist Hai Peng
41. Angle
42. Branch or Dedekind
43. Math __ (where to find a prof)
44. 2, 4, 6, 30, 32, 34, 36, 40, 42 ...
46. Art __
47. Computer Algebra: Systems and Algorithms for Algebraic Computation editor
48. MAA president Graham
49. Rule
50. As opposed to LHS
51. The gamma function has these at negative integers
57. Puzzle creator van Deventer
58. Tries
59. Paris river
60. Philosopher Descartes
61. Charts

Down

1. Saturnine
2. Director of Ulugh Beg's observatory
3. 3-30 KHz, as heard by "whistler" receivers
4. An OOPL or tower.
5. Plow
6. Supped
7. Proof of existance, without a specific example
8. Hermite orthogonal polynomial
9. Stat
10. GTE rival
11. Quasi-conformal enemy of Edmund Landau
12. (23/9)^5 and 109, for example
13. Ergo
15. Pilot stunt: "pulling ___"
18. Faraday theory, later proven by Arrhenius
22. Peace prize winner Shimon
23. J of ___ and Appl
24. The Inverse Variational Problem in Classical Mechanics author
25. The "sampling" function
26. A searching method for Ramsey numbers
28. "What I give form to in daylight is only one per cent of what I have __ in darkness." -- Escher
29. boxers
31. High school math
32. Add-with-carry, inverse congruential, rule 30, dice, etc.
33. Chaos and Fractals author Dietmar
34. Graphica author Michael
36. ICOSAHOM editor Andrew
37. Focus, for example
42. Triangle part studied by Kimberling
43. In anatomy, away from the origin
44. More than 1500 math papers have his name
45. Where Set theory: On the structure of the real line was written
46. Actor Knotts
47. Number theorist Peter
49. Sported
50. Theorem
52. Cylinder
53. O'__ group (order 460815505920)
54. Skater Midori
55. Mind plotter
56. It's better than angle-angle-side



Anagram
    Anagram是指调整一个单词或短语的字母顺序后组成另外一个单词或短语,通常前后两者的关系有点讽刺意味。比如,《达芬奇密码》上就有一个:
    O, Draconian devil! Oh, lame saint! = Leonardo da Vinci, The Mona Lisa

    经典的Anagram非常有意思。看下面几个Anagram:
    Listen = Silent
    Dormitory = Dirty Room
    Desperation = A Rope Ends It
    Mother-in-law = Woman Hitler
    A telephone girl = Repeating "Hello"
    The country side = No City Dust Here

    一些Anagram有可能很长。比如这一个:
    To be or not to be: that is the question, whether tis nobler in the mind to suffer the slings and arrows of outrageous fortune.
    = In one of the Bard's best-thought-of tragedies, our insistent hero, Hamlet, queries on two fronts about how life turns rotten.

    另一个有趣的Anagram是这样:
    Eleven plus two = Twelve plus one

Pangram
    Pangram是指这样一种句子,它虽然不长,但包含了所有26个英文字母。Pangram常用于打字机测试和字体演示。大家最熟悉不过的是Windows字体演示时所用的Pangram:
    The quick brown fox jumps over the lazy dog.

    而Macintosh的字体演示则是使用的这个Pangram:
    Cozy lummox gives smart squid who asks for job pen.

    另一个比较常见的Pangram如下:
    Pack my box with five dozen liquor jugs.

    当然,有人肯定想问,有没有最短的Pangram?当然有。有的Pangram只有26个字母(每个字母恰好用一次),这样的Pangram叫做Perfect pangram。比如下面这一个:
    New job: fix Mr. Gluck's hazy TV, PDQ!

Autogram
    Autogram又叫做Self-enumerating Sentence,是指一句话的内容描述的正是这句话本身。下面是一些常见的Autogram:
    This sentence contains five words.
    This sentence contains thirty-six letters.
    There are fourteen vowels in this sentence.

    1982年,Scientific American月刊上刊登出一个Autogram杰作:

Only the fool would take trouble to verify that his sentence was composed of ten a's, three b's, four c's, four d's, forty-six e's, sixteen f's, four g's, thirteen h's, fifteen i's, two k's, nine l's, four m's, twenty-five n's, twenty-four o's, five p's, sixteen r's, forty-one s's, thirty-seven t's, ten u's, eight v's, eight w's, four x's, eleven y's, twenty-seven commas, twenty-three apostrophes, seven hyphens and, last but not least, a single !



    另一个类似的Autogram如下:

This autogram contains five a's, one b, two c's, two d's, thirty-one e's, five f's, five g's, eight h's, twelve i's, one j, one k, two l's, two m's, eighteen n's, sixteen o's, one p, one q, six r's, twenty-seven s's, twenty-one t's, three u's, seven v's, eight w's, three x's, four y's, and one z.



Palindrome
    Palindrome是指这样一种单词或句子,从左往右和从右往左读都是一样的。例如,单词eye, noon, level, racecar, redivider都是Palindrome。一些比较长的句子也可能是Palindrome,比如USACO上曾出现过这样一个Palindrome:
    Madam, I'm Adam.

    另一些有趣的Palindrome如下:
    Never odd or even.
    Was it a cat I saw?
    Step on no pets!
    Dammit, I'm mad!
    Rise to vote, sir.
    God lived as a devil dog.
    A man, a plan, a canal -- Panama!

    1814年,当拿破仑被流放到Elba岛时,拿破仑曾说过:
    Able was I ere I saw Elba.

    这里有一份号称世上最长的Palindrome。

Alphamagic Square
    1986年,一个叫Lee Sallows的电子工程师发现了这样一个3阶幻方:
5       22      18
28      15      2
12      8       25


    初看之下这个幻方似乎没有什么特别之处。然而,把它转换成文字后:
five            twenty-two      eighteen
twenty-eight    fifteen         two
twelve          eight           twenty-five


    再数一下每个单词的字母个数,我们可以得到一个新的幻方,它恰好由3到11这9个数字组成:
4       9       8
11      7       3
6       5       10


Matrix67收集整理
转贴请注明出处

      

Mar 11

Problem: game 取数游戏
题目来源:Matrix67根据经典问题改编



问题描述
    选数游戏是一个两人游戏。两人将轮流从1到9这九个数字中取数,取过的数不能再取。我们规定,谁取到的数里能找到三个数,使得这三个数的和为15,谁就获得了这次游戏的胜利。如果A取了1、6、7三个数,B取了2、3、5,若这时该A继续取数,则A取8可以获得胜利,因为当A获得了数字8后,出现了1+6+8=15。
    在游戏的每一着中,你可以得到此时游戏的状态。请你编程选择一种赢得游戏的最佳策略。

输入格式
    第一行输入若干个用空格隔开的数,表示你已经取了的数。这些数递增排列。
    第二行输入若干个用空格隔开的数,表示对手已经取了的数。这些数递增排列。
    当某一行没有数字(某个游戏者还没有选数)时,该行仍然会留出位置。

输出格式
    输出你认为此时你的最佳选择。

样例输入
1 6 7
2 3 5

样例代码
    下面的代码演示了游戏的这样一个策略:每一次总是选择最大的没有被取过的数。

program game;
var
   hash:array[1..9]of boolean;
   i:integer;
begin
   assign(input,'game.in');
   reset(input);
   repeat
      read(i);
      hash[i]:=true;
   until eof;
   close(input);

   for i:=9 downto 1 do
      if not hash[i] then break;
   assign(output,'game.out');
   rewrite(output);
   writeln(i);
   close(output);
end.

评分方法
    该题目将通过选手之间的循环赛进行评分。
    在某两个选手对抗时,测试程序将导入这两个选手的源程序并进行编译,然后轮流为选手编写输入文件实时描述对战情况。选手的输出文件将作为此次选手的决策提交上来。当游戏已经出现获胜方或无法继续进行时,测试程序自动结束。每两个选手比赛时将分两场进行,一场对抗后先行者将进行交换。任一次对抗中,选手胜一场得2分,负一场得-2分,平一场得0分(这个分数不是选手该题的最后得分)。对比赛得分进行排名后,若总选手数为n,你的排名为i,那么你的得分为(n-i+1)*100/n。得分为小数则取下整。排名相同则平分该段得分。
    选手程序出现以下情况将作为该次对抗的负者处理:
        选手程序单着运行时间超过1秒;
        选手内存占用超过64M;
        选手程序未输出决策或输出错误;
        选手程序非正常退出;
        选手程序发生错误导致评测程序非法退出。



    大家有没有看出来,这个游戏就是一个井字棋游戏。3个数加起来等于15一共有8种情况,而这8种情况恰好对应一个3阶幻方中的三个横行、三个纵列和两个对角线。也就是说,如果把这个游戏想成在下面的棋盘中进行,那就和井字棋游戏没什么两样了。

   +---+---+---+
   | 8 | 1 | 6 |
   +---+---+---+
   | 3 | 5 | 7 |
   +---+---+---+
   | 4 | 9 | 2 |
   +---+---+---+


    关于井字棋游戏,之前我曾有过研究。
    原来学博弈论之类的东西时,我曾写过一个程序,计算井字棋游戏的最佳策略。但不管我怎么搞,这个程序总是先走最角落的位置,这是十分可笑的。我一直在想,我的程序哪点儿有问题。后来我想到了。我的程序没有任何问题,而是人的习惯性思考出的错。我的程序计算出来的结果是对的,在井字棋游戏中开局占领一个角的胜算最大。

    比如说,现在我占了最左下角的那一个位置。那么下一步如果你走的是画了“X”的位置,你就输了。

   +---+---+---+
   | X | X | X |
   +---+---+---+
   | X |   | X |
   +---+---+---+
   | O | X | X |
   +---+---+---+


    下面的图1到图4这四个棋谱,它包含了除第二步走中间以外所有的分支情况。可以看出,如果你第二步不占领中间的话,你是必败的。
    图5告诉我们,即使对手占住了中间,第四步棋也有2/6个陷阱可以置他于死地。而另外4/6将导致棋局最终打平。假设每一步对方都是随机走的话,打到图6的情况概率为(1/8) * (4/6),约为8.33%。反过来,我的胜算超过了90%。这在理论上可能是最大的了。
    当然,对手没有那么傻。面对这种情况,理智的人第二步总会想要占领中间的格子。考虑到这一点的话,胜算或许不到50%。


    仔细思考,你会发现,如果你第一步占领了中间的话,胜算是可以达到50%的。图7表明了这样一种情况,如果你第一步走中间,而对手不小心走到了边上,那么他就完了。比起前面的那些来,这里的陷阱可能更隐蔽一些。
    剩下的三个图表明,对手走了4个角中的一个后,最终结果必然是平局。

    至于以上这么多棋谱到底该选用哪一个,这个决策是属于自己的。

    我们考虑自己先行的所有情况的同时,也看清了自己作为后行者可能遇到的陷阱。对照以上棋谱,我们可以轻易获得平局的结果。

    由于井字棋游戏的总的情况数也只有那么多,变数不大,因此这个东西是一个非常入门级的东西。实际写程序的时候,分类讨论的效果比博弈树更好。

Matrix67原创
转贴请注明出处