一家自动驾驶AI公司---纵目科技软件、算法笔试题---猫鼠问题.

本文主要是介绍一家自动驾驶AI公司---纵目科技软件、算法笔试题---猫鼠问题.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


[推理题 1 ]猫鼠问题.
有一只猫在半径为r的圆周上以速度为v移动,猫只能在圆周上移动, 但可以自由改变方向。 圆心位置有一只老鼠。 老鼠可以在圆内自由移动, 但速度仅为 v/4。 老鼠按照什么样的策略/路线可以逃逸圆周而不被捕获。


Ans:

先看最直接的一种情况:

首先如果老鼠背对着猫直接向半径方向冲出圆周我们计算一下它们分别使用的时间。

定义:移动的距离, 此处 θ \theta θ是弧度制 l = θ ∗ r l = \theta * r l=θr
移动的时间: t = l v t = \frac{l}{v} t=vl

t c = l c v c = π r v , t m = l m v m = r 1 / 4 v t_c = \frac{l_c}{v_c} = \frac{\pi r}{v}, t_m = \frac{l_m}{v_m} = \frac{r}{1/4v} tc=vclc=vπr,tm=vmlm=1/4vr

可以得到 t c = π r v , t m = 4 r v ; t_c = \frac{\pi r}{v}, t_m = \frac{4r}{v}; tc=vπr,tm=v4r;
那么: t c &lt; t m t_c&lt;t_m tc<tm

所以,直接冲,老鼠肯定死翘翘,猫呢,饱餐一顿, 美滋滋。
在这里插入图片描述

但老鼠逃脱了。


第二种情况,但是如果是《猫和老鼠》里面的Tom 和 Jerry, Jerry就没那么笨了。
在危险的边缘试探之后,Jerry发现跑不过Tom,所以它赶紧返回中心休息片刻;

努力思考发现: 我可以采用迂回战术,因为Tom在外圈,那么我在内圈,我得思考什么时候比它转的快? 那么我得知道什么时候我们转的一样快。

在这里插入图片描述
一样快意味着: t c = t m ⟹ l c v c = l m c m ( 1 ) t_c = t_m \Longrightarrow \frac{l_c}{v_c} = \frac{l_m}{c_m}(1) tc=tmvclc=cmlm(1)
⟹ θ r c v c = θ r m v m ; ( 2 ) \Longrightarrow \frac{\theta r_c}{v_c} = \frac{\theta r_m}{v_m}; (2) vcθrc=vmθrm;(2)
θ c = θ m , v c = 4 v m ; ( 3 ) \theta_c = \theta_m, v_c = 4 v_m; (3) θc=θm,vc=4vm;(3)
联立(1)(2)(3)可以得到:
r c = 4 r m r_c = 4r_m rc=4rm
也就是说Jerry在距离圆心 1 4 r \frac{1}{4}r 41r处,例如C点,可以和Tom转向同步;并且抱持时刻背对着Tom, 那么说明在 0 → 1 4 r 0 \rightarrow \frac{1}{4}r 041r过程中;
Jerry保持和Tom转向同步所用的时间是比Tom的少的, 也就是比Tom 转的快, 那么Jerry就可以用多出来的那点时间往 1 4 r \frac{1}{4}r 41r处C点跑;

为什么呢?
我们计算一下当Jerry跑到C点的时候,此刻Jerry就不能同时保持背对着Tom并且向前移动了,因为此时它们俩转向所用的时间是一样的;

但是Jerry距离圈外的距离只有 3 4 r \frac{3}{4}r 43r了,而Tom还有 π r \pi r πr;
我们计算一下此时谁用的时间长,就可以得出一场Jerry和Tom的生杀逃亡、斗智斗勇的结果啦。

定义:移动的距离, 此处 θ \theta θ是弧度制 l = θ ∗ r l = \theta * r l=θr
移动的时间: t = l v t = \frac{l}{v} t=vl

t c = l c v c = π r v , t m = l m v m = 3 / 4 r 1 / 4 v t_c = \frac{l_c}{v_c} = \frac{\pi r}{v}, t_m = \frac{l_m}{v_m} = \frac{3/4r}{1/4v} tc=vclc=vπr,tm=vmlm=1/4v3/4r

可以得到 t c = π r v , t m = 3 r v ; t_c = \frac{\pi r}{v}, t_m = \frac{3r}{v}; tc=vπr,tm=v3r;
那么: t c &gt; t m t_c&gt;t_m tc>tm

所以,当Jerry迂回到C点,也就是 1 4 r \frac{1}{4}r 41r处,然后飞速奔跑,就可以逃脱Tom的追赶,岂不是美滋滋;
在这里插入图片描述

欢迎收看下一集

《猫和老鼠》— Tom学编程

哈哈哈哈、就这样,Tom和Jerry 过着幸福的日子,相爱相杀。


转载和疑问声明

如果你有什么疑问或者想要转载,没有允许是不能转载的哈
赞赏一下能不能转?哈哈,联系我啊,我告诉你呢 ~~
欢迎联系我哈,我会给大家慢慢解答啦~~~怎么联系我? 笨啊~ ~~ 你留言也行

你关注微信公众号1.机器学习算法工程师:2.或者扫那个二维码,后台发送 “我要找朕”,联系我也行啦!

(爱心.gif) 么么哒 ~么么哒 ~么么哒
码字不易啊啊啊,如果你觉得本文有帮助,三毛也是爱!

我祝各位帅哥,和美女,你们永远十八岁,嗨嘿嘿~~~

这篇关于一家自动驾驶AI公司---纵目科技软件、算法笔试题---猫鼠问题.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542850

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.