昨天想的是蚂蚁爬行的绝对距离,晚上睡觉的时候突然想到,可以用蚂蚁爬行相对橡皮筋的比例来计算。
比如说,蚂蚁爬行到了距离终点x的距离,那么只需要再爬行x/l(l为橡皮筋长度)比例的橡皮筋,那么就必定可以到达终点。
按照这个比例的想法,可以比较容易的确定蚂蚁爬行橡皮筋比例的上界与下界。
假设橡皮筋初始长度为l,蚂蚁爬行速度为v1,橡皮筋膨胀速度为v2
将蚂蚁爬行与橡皮筋膨胀两个过程分开
情形1:
假设蚂蚁先爬行,蚂蚁爬行的时候橡皮筋停止膨胀,爬行完毕后橡皮筋再膨胀,膨胀过程中蚂蚁停止
则1轮后,蚂蚁爬行的总距离占整个橡皮筋比例为 v1/l
2轮后,蚂蚁爬行的总距离占整个橡皮筋比例为 v1/(l+v2)
..........
n轮后,蚂蚁爬行的总距离占整个橡皮筋比例为 v1/(l+n*v2)
也就是说n秒后,蚂蚁爬行的距离占整个橡皮筋的比例为:
情形2:
假设橡皮筋先膨胀,膨胀过程中蚂蚁停止爬行,膨胀完毕后蚂蚁开始爬行,蚂蚁爬行的时候橡皮筋停止膨胀
则1轮后,蚂蚁爬行的总距离占整个橡皮筋比例为 v1/(l+v2)
2轮后,蚂蚁爬行的总距离占整个橡皮筋比例为 v1/(l+2*v2)
..........
n轮后,蚂蚁爬行的总距离占整个橡皮筋比例为 v1/(l+(n+1)*v2)
也就是说n秒后,蚂蚁爬行的距离占整个橡皮筋的比例为:

显然。蚂蚁在橡皮筋上面爬行的比例应该介于两者之间。

蚂蚁能否爬到终点就是比较s与1的大小。其实只要比较小的那个s2与1的大小就可以了。如果s2能够超过1,那么蚂蚁就能够爬到终点。s2感觉像一个有穷级数,而且,根据前面的模拟实验,这个级数应该是发散的。
问题是,该怎么求这个级数???
有待进一步的探讨。数学太磋了。
续:直接积分,按蚂蚁爬行距离占橡皮筋比例来讨论
假设经过时间t后,蚂蚁到达位置s,此时橡皮筋长度为L=l+v2t。由时间t经过时间dt后,蚂蚁爬行的距离为v1dt,由于时间短很小,因此可假定橡皮筋还来不及拉伸,在这段极短的时间dt内,蚂蚁爬行的距离占整个橡皮长度的比例为:
因此,因此,可以计算得经过时间t后,蚂蚁爬行占橡皮筋比例为:
即:

蚂蚁在经过时间t后的速度为:

观察一下,前面部分是一个常数,后面是一个log函数。验证了昨天的猜测。
经过时间t后蚂蚁距离终点距离为:

(这个距离也可以通过对速度积分来计算)
这个函数就比较复杂了。前面半截为1减去一个log函数,后面半截为一个线性函数,两个相乘,会是什么样子的曲线呢?可以模拟一下。
还有一个很关键的问题,就是,蚂蚁经过多少时间能到达终点?
用 r=1 计算得如下结果:
(注意要向上取整)
当l=100,v1=1,v2=10时,答案为:t = 10(e^10-1)=220 255,跟昨天模拟结果的略有差距,误差10s,应该是在时间t较长时,模拟的时间片段显得较大而导致误差。当修改参数使得t减小时,误差应该会变小直至没有误差;若修改参数使得t增大,这个误差会继续扩大。
从上面的公式可以看出,蚂蚁到达终点的时间与 v2/v1 密切相关。
也可以验证 昨天模拟得到的结论: 对蚂蚁速度v1最敏感,橡皮筋速度v2次之,橡皮筋长度l最不敏感
对v1最敏感是因为 v1初始值比较小,稍微修改都可能导致很大的变化。比如v1从1cm/s变到2cm/s,那么时间t就会有10(e^10-1)变到10(e^5-1),两者差e^5倍,这个差距是巨大的;而如果将v2由10cm/s变到20cm/s,差距仅为e^2倍,相比要小很多。
分享到:
相关推荐
在这个场景中,我们关注的是"使用C++实现小蚂蚁爬行"的问题。这个问题的核心是通过编程语言模拟蚂蚁在一条线上的运动行为,包括它们的相遇和方向变化。让我们深入探讨这个主题。 首先,我们需要理解问题的基本模型...
2. 蚂蚁与橡皮筋的问题:蚂蚁以每秒1厘米的速度爬行,而橡皮筋在偶数秒时伸长。在第9秒时,蚂蚁离A点的距离取决于橡皮筋的伸缩规律。每次伸长,蚂蚁之前爬过的路径也会加倍。需要计算橡皮筋伸长的次数和总长度。 3....
10. 小蚂蚁在橡皮筋上爬行,橡皮筋每次伸长两倍,计算第9秒时小蚂蚁离A点的距离。 11. 根据三个不同的数组成的所有三位数的和求最大的三位数,可以通过平均数的性质来解决。 12. 复制和粘贴的过程是一个指数增长的...
10. **等比数列**:第十题中,蚂蚁在伸长的橡皮筋上爬行,橡皮筋每隔一段时间变为原来的2倍。这是一个等比数列问题,需要用到等比数列的通项公式。 11. **同余方程**:第十一题是同余方程的应用,通过求解同余方程...
数分1.11Tableau安装及使用教程
内容概要:本文主要围绕着计算机信息系统运行管理员考试展开讨论,详细介绍了有关信息系统在运维中的各种问题及其应对方案。具体而言,文中不仅列举出了不同类型的信息系统对其本身的要求,而且还深入探讨了运维管理中面临的挑战和技术手段。另外,文章特别提及了一些特定类型的系统(例如政府系统和财务管理等),并指明在面对它们时需要考虑的安全级别、稳定性等关键要素;同时也强调了良好的文档管理和合理的设施运维对象划分,以及软硬件的选择与维护。同时文章还讲解了多种工具的作用(比如Nagios),以及硬件如计算机机房和UPS的具体规格和要求;并且讲述了关于变更管理和发布管理等的概念与实际应用场景。此外,在最后一部分内容里也谈到了云架构及其各个构成部分。 适用人群:本文适合即将参加软考信息运行管理员认证的专业人士,也适用于希望深入了解信息系统运作、管理和维护的技术从业者和相关领域的管理人员。 使用场景及目标:本资料旨在辅助考生掌握信息系统的高效、稳健地构建与运营所需的知识和技术,帮助他们顺利通过软考的同时提升实战经验;同时也为企业信息化建设提供了宝贵的理论基础和实践指南。 其他说明:虽然本文聚焦于特定职业资格证书
大型语言模型(LLMs)的出现彻底改变了自然语言处理。然而,这些模型在从大量数据集中检索精确信息时面临挑战。检索增强生成(RAG)旨在通过结合外部信息检索系统来增强LLMs,从而提高响应的准确性和上下文性。尽管有所改进,RAG在高容量、低信息密度数据库中的全面检索仍然存在困难,并且缺乏关系意识,导致答案碎片化。 为了解决这一问题,本文介绍了伪知识图谱(PKG)框架,该框架通过集成元路径检索、图内文本和向量检索到LLMs中,旨在克服这些限制。通过保留自然语言文本并利用各种检索技术,PKG提供了更丰富的知识表示并提高了信息检索的准确性。使用Open Compass和MultiHop-RAG基准进行的广泛评估表明,该框架在管理和处理大量数据及复杂关系方面具有有效性。
python学习教程
请到网盘中自取压缩包,此包为kibana-7.10.2 镜像压缩包,是通过现有镜像导出来的,主要是为了解决有些机器无法连接外网,导致无法下载镜像 加载镜像: docker load -i kibana-7.10.2.tar 查看镜像: docker images 备注:elk此镜像配套资源,相同版本的elasticsearch和logstash,请在我的资源中搜索其他镜像
UniApp开发一个简单的记事本应用文字教程
基于Andorid的音乐播放器项目设计(QQ音乐)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
React Developer Tools在谷歌拓展的应用商城下载不了任何解决
【毕业设计-java】springboot-vue健身房管理系统源码(完整前后端+mysql+说明文档+LunW).zip
python学习资源
本文提供了一套完整的指南,帮助用户在Anaconda中配置PyTorch环境,便于深度学习开发。首先,用户需要确保安装Anaconda,并通过Anaconda Prompt创建一个新的虚拟环境,以隔离项目依赖。创建好环境后,用户可以根据所用操作系统以及CUDA版本,选择适合的安装命令。对于Windows和Linux用户,提供了安装PyTorch、TorchVision和TorchAudio的具体命令,包括CUDA Toolkit的版本选择。macOS用户则可以安装仅支持CPU的版本。安装完成后,通过简单的Python代码验证PyTorch是否成功安装以及GPU的可用性。文中还列出了常见问题及解决方法,帮助用户快速排查安装过程中可能遇到的障碍。通过遵循这些步骤,用户可以顺利搭建起一个专属的PyTorch开发环境,提升深度学习的工作效率和体验。
python学习教程
内容概要:本文汇总了学习数据结构的相关资源,旨在帮助读者系统化地理解和掌握这一计算机科学的基础概念。文中首先列举了一系列权威在线学习资源,包括知名教授的主页、在线编程平台LeetCode和技术博客,这些资源不仅理论丰富,还提供大量的实例和练习机会。接着推荐了几本经典的书籍,如《算法导论》、《大话数据结构》,适合不同程度的学习者深入理解算法和数据结构的细节。此外,还特别提及了几门高质量的网络课程,能够为初学者提供清晰的学习路径。最后强调通过动手实践,如动态数组的C语言实现以及算法题目的刷题练习,是提高编程技能的有效途径。 适合人群:对于想要系统学习并掌握数据结构的程序员及爱好者。 使用场景及目标:适用于个人自学或者课堂教学,目的是通过综合使用理论学习、实践操作来达到对数据结构和算法有全面深刻的认识。 其他说明:本文提供了丰富的链接,让读者可以直接访问各个优质教育资源进行深度探究,鼓励大家积极参与讨论,相互分享心得体验,形成良好的互动交流氛围。
QMI8658 Datasheet