参考Russel和Norvig的第3.5节: 在网格上,每个状态有四个后继,因此包含重复状态的搜索树有4 ^ d个叶子;但是在任何给定状态的d步骤中只有大约2d ^ 2个不同的状态。
这里不同国家的含义是什么。有人可以通过考虑d的各种值来解释我,比如1,2,3,4。
答案 0 :(得分:2)
这里不同国家的含义是什么。
distinct state的含义是一个唯一的单元格,只计算一次网格中的每个单元格。
原油上限与不同州的数量相关:
首先,查看大小为2d+1 X 2d+1
的子网格,然后从中间的节点开始。很容易看出,在d
步骤内,该子网格外部没有可以到达的单元格(从中心开始)。此外,此子网格中的单元格数量为(2d+1)*(2d+1) ~= 4d^2
,因此我们发现一个简单的上限明显优于天真4^d
。
但是有很多单元格仍然无法访问(例如,您无法从d
步骤到(0,0)
从中间(这是索引(d,d)
),所以我们可以得到更严格的约束。
方法1:组合:
如果我们说我们只能向前和向右移动,那么我们可以遍历的可到达小区的数量是sum { CC(i,2) | i=0,1,...,d }
。在这里,CC
代表stars and bars解决方案,定义为:
CC(n,k) = Choose(n+k-1,k-1) = (n+k-1)!/(n!*(k-1)!)
分配公式时,我们得到:
sum{ (i+1)!/(i)!1! | i=1,...,d} = sum { (i+1) | i=1,...,d}
以上是总和为(d)(d+1)/2
然而,请注意,只允许"向上和向右"移动,我们只允许到达网格的右上角,我们也希望允许它用于其他季度。从对称性来看,每个季度可达到的细胞数量与上述相同,另外 - 添加原始细胞(我们从一个开始),所以总得到:
#reachable_cells(d) = 4* (d)(d+1)/2 = 2d(d+1) + 1 ~= 2d^2
方法2几何:
查看以下大小为7 X 7
的示例矩阵:
6 5 4 3 4 5 6
5 4 3 2 3 4 5
4 3 2 1 2 3 4
3 2 1 0 1 2 3
4 3 2 1 2 3 4
5 4 3 2 3 4 5
6 5 4 3 4 5 6
此矩阵包含距离中心最多3个距离的所有节点。
如果仔细观察,可以看到每个距离实际上围绕中心形成一个正方形,边长为d
。 (因此对于d=1
,有一个方形,大约为0,边长为1,对于d=2
,有一个边长为2的正方形,依此类推)
在正方形中,周长为4a
- 其中a
是边长。
因此,从中心到达的最多d
步的唯一单元数是任何此类矩形上的单元数。
边长为i
的矩形上的单元格数量为4i
,我们需要为i<d
的每个可能矩形求和,得到:
#reachable_cells(d) = sum { 4i | i=1,....,d } = 4 sum{ i | i=1,...,d}
这是算术级数的总和(并再次添加原点),我们得到:
#reachable_cells(d) = 4 * d(d+1)/2 + 1 = 2d(d+1) + 1 ~= 2d^2
<强>示例:强>
6 5 4 3 4 5 6
5 4 3 2 3 4 5
4 3 2 1 2 3 4
3 2 1 0 1 2 3
2 3 2 1 2 3 4
5 4 3 2 3 4 5
6 5 4 3 4 5 6
在上面,你有7X7矩阵,它包含距离中心最远3个距离的所有单元格,正如你所看到的那样 - 通过计算可达状态的数量并看到它适合论坛:
#reachable_cells(0) = 2*0*1 + 1 = 1
#reachable_cells(1) = 2*1*2 + 1 = 5
#reachable_cells(2) = 2*2*3 + 1 = 13
#reachable_cells(3) = 2*3*4 + 1 = 25