24点理论
24点是一种非常便宜的数学游戏, 特别是在计算机时代之前.
随机的取出四张扑克牌, 第一个用所有四张牌上的数值(A = 1, J = 11, Q = 12, K = 13),和基本的四则运算(+ - × , /) 算出24(或者23.999..)的玩家获胜.
几个例子
对于组合{1,2,3,4}. 我们可以找到几种 解法:
(3 + 2 + 1) × 4, 4 × 3 × 2 × 1, (4 + 2) × (3 + 1) .
有人可能会说 4 × (3 + 2 + 1) 是另外一种 独立 的解法. 可是我们 不同意.
对于组合 {4,4,10,10}. 只有一种 解法:
(10 × 10 - 4) / 4
我们都会同意 ((10 × 10) - 4) / 4 和 ((10 × 10 - 4) / 4) 都没有什么意义.
组合 {1,5,11,13} 无解. 除非允许指数, 那样的话, 我们有 5(13 - 11) - 1.
任给一个可解的组合, 我们总是想得到 全部 的解法. 有些解法是不同的, 有些则明显等价, 有些则没有那么明显.
我们在这里讨论简化冗余的解法的“理论”,也就是, 我们在所有的等价解法中, 只给出一个代表. 最后, 在所有的等价的解法中,我们给出最 简约的那个解法.
记号:
a, b, c, d 是数字 (1,2,3 等), x, y, z, w 是表达式 如: 1, 1 + 2, (1 + 2 × 6) /5, 等.
如果两个表达式 x 和 y 等价, 则写做 x ↔ y, 比如: a + b ↔ b + a, a - (b - c) ↔ a + c - b 等.
如果两个表达式 x 和 y 等价,并且我们给予 y 优先权, 因为y更简约或者更易于人机交互, 则写做 x → y . 比如: a - (b - c) ↔ a + c - b , 不过我们给予后者优先权, 所以我们有 a - (b - c) → a + c - b
± 是 + 或者 -, 同时 ×/ 是 × 或 /.
第一部分: 算数运算的等价关系
这部分都是很基本的等价关系. 1 × 2 × 3 × 4 和 (4 × 3 × ( 2 × 1)) 明显完全一样,不过多数人会喜欢第一种解法,因为解法一比较简洁.
第一部分的规则可以用一句话概括:把数字换成变量, 如果两个表达式对于任意 整数变量都有一样的值, 那么这两个表达式等价. 例如: 对于组合 {1,2,3,4} 和以下两个表达式: (3 + 2 + 1) × 4 和 4 × (1 + 2 + 3) : , 我们先把 1 换作 a, 2 换作 b, 3 换作 c 同时 4 换作 d, 现在这两个表达式变为 (c + b + a) × d 和 d × ( a + b + c). 对任何的整数组合 {a,b,c,d}, 这两个表达式都有一样的值. 所以我们知道这两个表达式等价. 在 (3 + 2 + 1) × 4 和 4 × (1 + 2 + 3) 中, 我们更喜欢前者因为对某些人机交互系统它更简洁(还记得计算器吗?), 因为输入(3 + 2 + 1) × 4 无需输入括号.也就是 4 × (1 + 2 + 3) → (3 + 2 + 1) × 4. 一个判断两个等价表达式优先权的通用规则是: 我们把比较复杂的部分放到左边.
在给出第一部分的具体规则之前, 我们需要最后一个注脚: 对表达式 x 和 y (别忘了 x 可以是 a + b), 当我们写出 x ×/ y, 如果需要的话,我们在 x 或 y 外面加上括号.
标签:
上一篇:跑得快小技巧 下一篇:如何打好桥牌