在无限一维图中寻找洞的算法

2024-02-04

一头牛站在无边无际的栅栏前。另一边是草地。牛想要到达这片草地。沿着栅栏的某个地方有一个洞,牛可以通过这个洞到达另一边。从牛到洞的距离 d 具有与之相关的概率分布 f(d),即洞距牛 k 步的概率由 f(k) 给出。请注意,我们认为所有距离都是离散的,即它们总是以奶牛所采取的步数来测量。奶牛可以采取负整数步数,也可以采取正整数步数,即分别向左 k 步和向右 k 步。另外,我们知道 Σ(k=-∞)^∞|k|⋅f(k)

问题1 算法能够以概率1找到漏洞的充分条件是什么? 问题2 描述这样一个算法。


在我看来,正如所述,你的问题有一个简单的解决方案:

  • 检查当前位置是否有孔
  • 向前走1步,检查是否有洞
  • 向后走 2 步,检查是否有洞
  • 向前走3步,检查是否有洞
  • 向后走 4 步,检查是否有洞...

这次步行将以概率 1 访问所有相对整数。当然,您真正想要的是优化奶牛必须采取的平均步数,这称为搜索游戏问题 http://en.wikipedia.org/wiki/Search_games。解是一维指数“螺旋”;您只需将上面的 1-2-3-4-5 算术数列替换为几何数列,每次乘以 2 即可。那是:

  • 检查当前位置是否有孔
  • 向前走一步,每一步检查是否有洞
  • 向后走 2 步,每一步检查是否有洞
  • 向前走 4 步,每一步检查是否有洞
  • 向后走 8 步,每一步检查是否有洞……

谷歌搜索“The Cow-Path Problem”,这是你对 N 路十字路口的概括(你只有两个,“左”和“右”)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在无限一维图中寻找洞的算法 的相关文章

  • 如何通过分解 y 轴来减小 mschart 的高度

    如何降低 mschart 的高度 如下所示 编辑 就我而言 我不想查看中断图表 this chart1 ChartAreas 0 AxisY ScaleBreakStyle Enabled false 您似乎正在寻找AxisY ScaleB
  • 将图的 BFS 代码转换为 DFS 代码

    如果这个问题听起来模棱两可 我很抱歉 但我在采访中被问到了这个问题 为图 树中的 BFS 编写一个程序 我使用队列编写了流行的代码 现在他要求我通过修改我刚刚编写的 BFS 代码的一行来将其转换为 DFS 代码 我能想到的唯一答案是使用堆栈
  • 与多名推销员一起旅行的推销员?

    我有一个问题已被有效地简化为具有多个推销员的旅行推销员问题 我有一个要从初始位置访问的城市列表 并且必须访问销售人员数量有限的所有城市 我正在尝试想出一个启发式方法 想知道是否有人可以帮忙 例如 如果我有 20 个城市 有 2 名销售员 我
  • 用于将分层平面数据(带 ParentID)转换为带缩进级别的排序平面列表的算法

    我有以下结构 MyClass guid ID guid ParentID string Name 我想创建一个数组 其中包含按层次结构中应显示的顺序排列的元素 例如 根据它们的 左 值 以及将 guid 映射到缩进级别的散列 例如 ID N
  • 如何在数据标签中将时间值格式化为 HH:MM:SS

    So i have a bar graph in crystal reports On this graph i have a data label attached to each of the graphs that displays
  • D3.js 对力导向图使用什么算法?

    我有兴趣确切地知道 D3 使用什么算法来实现库中的力导向图功能 读过科布罗夫的总结 http www cs brown edu rt gdhandbook chapters force directed pdf力导向图的历史让我有点困惑 不
  • 将 0 更改为 1 或反之亦然的最优雅的方式

    做接下来的事情最优雅的方式是什么 int i oneOrZero if i 0 i 1 else i 0 你可以假设i只能有 1 或 0 值 i 1 XOR https en wikipedia org wiki Exclusive or值
  • 在地图元素上使用 for_each

    我有一个映射 我想在其中对每个数据类型对象成员函数执行调用 我还知道如何在任何序列上执行此操作 但是是否可以在关联容器上执行此操作 我能找到的最接近的答案是 Boost Bind 访问 std for each 中的 std map 元素
  • 什么是日历队列?

    我正在致力于构建一个离散事件模拟器 维基百科提到有几种通用优先级队列非常适合在 DES 中使用 具体来说 它提到日历队列是一个很好的结构 我找到了一份 pdf 1988 年的 其中提到了日历队列 但在大多数情况下我找不到关于它们的任何其他内
  • 在Python中使用networkX包绘制图形分区

    我有一个图形对象G节点来自0 to n 1和两个列表L1 L2这是节点的一个分区G 我想画画G以这样一种方式 节点结果分为两个块 一个相对于L1另一个相对于L2 图片的目的应该是证明之间的联系L1 and L2 你能帮我完成这个任务吗 提前
  • 计算排列中“反转”的数量

    设 A 为一个大小的数组N 我们称之为几个索引 i j 一个 逆 如果i lt j and A i gt A j 我需要找到一种接收大小数组的算法N 具有唯一的数字 并返回时间的倒数数O n log n 您可以使用归并排序 http en
  • 位图中连续区域的计数是否可以比 O(r * c) 改进?

    您将获得一张由卫星拍摄的表面图像 该图像是一个位图 其中水用 标记 土地标记为 相邻组 形成一个岛屿 二 如果它们水平 垂直或对角相邻 则它们是相邻的 您的任务是打印位图中岛屿的数量 输入示例 输出 5 这是我的实现 需要O r c 空间和
  • 如何编写一个简单的版本控制系统?

    我想做一个简单的版本控制系统 但我不知道如何构建我的数据和代码 这是一个简短的例子 用户登录 User has two options when uploading a file 提交新文件 提交文件的新版本 用户应该能够看到树 版本不同
  • 转置矩阵存储在一维数组中,无需使用额外的内存[重复]

    这个问题在这里已经有答案了 可能的重复 矩阵的就地转置 https stackoverflow com questions 9227747 in place transposition of a matrix 最近参加了技术笔试 通过以下问
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 如何找到权重为 1、0、-1 且成本精确为 0 的多维路径

    我得到了一个有向图 其中有 n 个节点和边 向量的权重 每个向量的长度为 m 为数字 1 0 1 我想找到从一个节点到另一个节点 我们可以多次访问节点 的任何路径 或者说这样的路径不存在 使其权重之和等于仅由零组成的向量 我正在考虑暴力回溯
  • 带提示的二分查找

    我有一个简单的std vector包含一些已排序的数字 按升序 我想查找一个元素 到目前为止我使用 return std lower bound vec begin vec end needle Where needle是我寻找的元素 然而
  • 如何决定权重?

    对于我的工作 我需要某种具有以下输入和输出的算法 输入 一组日期 过去的日期 输出 一组权重 每个给定日期一个权重 所有权重的总和 1 基本思想是 距离今天日期最近的日期应该获得最高的权重 第二个最接近的日期将获得第二高的权重 依此类推 有
  • 排序数组最快的搜索方法是什么?

    正在回答另一个问题 https stackoverflow com questions 4752028 whats wrong with this interpolation search implementation 4752042 47
  • 优化完美平方问题,类似于Python中的硬币找零

    我这里有一个硬币兑换的解决方案 python 中的 leetcode 硬币兑换 https stackoverflow com questions 69517078 coin change leetcode in python 因为完全平方

随机推荐