猫和老鼠:博弈论——记忆化搜索

news/2024/11/24 0:03:57/

leetcode: cat and mouse

状态表示

考虑状态state[step][mouse][cat]={0, 1, 2},表示第step步后,老鼠在mouse位置,猫在cat位置,此时猫和老鼠在最佳状态下的游戏结局。

初始化

根据游戏规则,我们可以直接推理出

  1. 老鼠必胜: state[step][0][cat] = 1
  2. 猫必胜:state[step][i][i] = 2
  3. 根据抽屉原理,当只能走t个点时,第t+1步必然与前面的某一步重复,根据题意猫只能走n-1个点,老鼠可以走n个点,那么当猫走了n-1步,老鼠走了n步后,猫的下一步必然会落在猫之前走过的点上,可以得到state[2*n][i][j] = 0

状态转移

  1. 轮到老鼠走时,target表示老鼠可以走到的下个节点
    1. 当存在state[step+1][target][cat]=1时,当前状态下老鼠必胜
    2. 否则,当存在state[step+1][target][cat]=0时,老鼠必然选择和棋策略
    3. 否则,老鼠必输
  2. 轮到猫走时,和老鼠的状态是一样的,但需要注意对于猫target!=0

时间复杂度计算

step, mouse, cat取值都是O(n),在记忆化搜索的情况下,总体搜索的复杂度为O(n^3)


http://www.ppmy.cn/news/684122.html

相关文章

开源全文搜索引擎MeiliSearch

单独安装 MeiliSearch 似乎并没有什么实际的用途,本文只是记录了老苏一次失败的探索。想法应该是没问题的,奈何实力不够啊。 前言 老苏博客上的搜索变得越来越慢,慢的原因应该主要是 2 个:一个是 search.json 的加载速度&#xf…

用 OpenCV 检测猫脸

Python中的OpenCV猫脸检测代码 使用 OpenCV 的预训练级联分类器可以轻松检测照片或视频中的猫脸。完成所有工作的代码: import cv2cascade cv2.CascadeClassifier(haarcascade_frontalcatface.xml) cap cv2.VideoCapture(0) while True: ret, img cap.read() img…

矿难猫盘救砖刷回OneSpace系统的记录

背景 去年年末看着矿难来了,买了个2.5寸的小猫盘,想着在B站录点小视频的,后来录完开箱,想再录个刷机视频的,第一次刷成功了,但是没录像,第二次录像了,但是没刷成功,一气…

坏坏猫搜索怎么显示服务器异常,坏坏猫APP怎么了?搜索为什么不能用了? - 爱游戏...

坏坏猫APP是一款非常实用的小说阅读器,这款软件最大的优势就是小说多且免费,现在这样的软件不多了。坏坏猫里面有非常多的小说,几乎全网资源都能够搜到,所以要是你想看小说,使用这款软件非常合适。现在已经有非常多的用…

Navicat-导航猫

开发公司 Premiumsoft(优质的软件,卓软) 关于 PremiumSoft PremiumSoft 成立于 1999 年,开发了适用于 Windows、macOS、Linux 和 iOS 的各种应用程序。 Navicat 是全球超过 500 万数据库用户的选择。来自 7 大洲和 138 个国家/地…

mysql数据库精确匹配搜索_mysql 模糊搜索方法

很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT 查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。…

自适应变异麻雀搜索优化算法

文章目录 一、理论基础1、麻雀搜索算法2、改进麻雀搜索算法2.1 猫映射混沌初始化种群2.2 Tent混沌和柯西变异扰动策略2.2.1 Tent混沌扰动2.2.2 柯西变异 2.3 改进探索者位置更新公式2.4 探索者-跟随者自适应调整策略2.5 改进后麻雀搜索算法 二、仿真实验与分析三、参考文献 一、…

【acwing】165. 小猫爬山(DFS之剪枝)

穿越隧道 搜索: 1.优化搜索顺序 大部分情况下,应优选搜索分支较少的节点 2.排除等效冗余 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索(DP) 在这题中 1.优化搜索顺序:√(有) 猫越重,分支可能越少。 …