37%规则,最优停止问题(麦穗理论)

2024-01-07 18:44

本文主要是介绍37%规则,最优停止问题(麦穗理论),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期又看到37%规则,又叫麦穗理论,有很多惊人的发现。

感觉像黄金分割,但又欠那么一点点1-0.618=0.382=38.2%。

有意思的是,有一个数学奖,叫菲尔兹奖,只将给不超过40岁的人。如果人能活100岁,那么40岁很接近上面两个概念。

在数学思维的妙处(6)中,讲了37%规则,并给出了证明,原始问题是这样说的,麦田中,挑选最大的一支麦子穗,不能走回头路,过程中只能摘一支。演变后,如下:

从出生开始,在什么年龄,遇到最好的那个人,就结婚,不能再等了?

这两个问题的结果都是37%,也就是说,100次,拒绝了37次后,遇到就要拿住,不能再等了,否则,这辈子就没戏了,也不能这么说,起码后半生是后悔中度过。

当时只是看一看,觉得有意思,聊做笑谈资本罢了。

然而,事情没这么简单,与别人说的相合就罢了,这一次,竟然和自己做的事重合了,反复想,感觉鬼使神差,就是这样一个结果。

实现机器视觉基于形状匹配这一年多来,反复修改,优化。但条件就一个,你匹配到的结果得分在0-100分。这个很想活100岁的概念。

以自己关于形状匹配的无数经验,得到的经验是:

20分以下,不用考虑,这是个门槛,我也不知道为什么定这个杠杠(门槛),你就当是经验,因为这个分数以下,出错的概率非常大,你可以比拟20岁之前定一个人结婚(旧世婚姻)

20-25分,渐变可信,可以迭代一次,匹配结果会高于25分,也就是说,这个年龄段20-25岁,遇到合适的人,可以等一等,会出现更好的结果

如果是25-35分,可以下手,不必等,可信度非常好,遇到可欣的人,不要再向后张望了,也就是说,你这辈子最好的就在此了。

如果大于35,有机会,直接不考虑其他,再等就黄了!

我在机器视觉形状匹配中,也反复试了,35-40的得分,一定就是你要找到的那个结果,如果你要通过亚像素来优化,使其得分更高,但仍然在这个位置,几乎没有变动余地,或者用其他方法,我看到这个现象很奇怪,但我证明不了他。

看到37%规则及证明,我恍然大悟,所以你不要相信visionpro及halcon那么高的得分率,可能有你想不到的优化,但事实在37%已经定下。

至于说一幅图中有几个一样的事物,我只找第一个达到这个规则的那一个。这也就是为什么我的形状匹配速度毫不吝啬halcon和visionpro的原因。

37%之后的优化,花得力气大,时间长,效果未必好。不信你可以试试!

有人说,你成功的秘诀是什么?他说,一件事情有40%的把握,就可以下手去做,就是这个道理!

审视我基于形状匹配程序中的设定,最后就稳定在此结果,即匹配的分水岭在25-40分之间,见好就收,40分以上的结果,报以随缘态度,你如果得分更高,最好,剩下的根据经验值,笃定,不再徘徊,看到这个规则,我就释然了,改进肯定还会去做,这是自然的事!

40分以上,就很难找了,为什么?还是这个规则,从人生角度看,这里边隐藏了什么道理?也就是说40岁以后,你想有突出成绩,就很难了,而慢慢变成垃圾甚至死亡正是你意识不愿看到的但必然的事实!

但人生的好处是,即就是这样,现实很残酷,我们的意识仍然不可而为之(从人性说,叫乐观吧!或者说是意识欺骗自己,也不能这样说,自然的生物,都有生生之能力),好在这两年,还出现了一个张益唐,伟大的数学家!

以前,foxconn,老郭说过一句话,做到99%很容易,可能用十年时间,但从99%做到1可能需要30年,我不知道这句话,有没有数学支撑,但老实话,99%没有这个37%规则分可靠。

从机器视觉从业角度来看,如果你要从37%达到90%,你必须通过很多条件保证,可喜的是,工业机器视觉硬件很详细的选型(条件)非常好,构成了极大的成功条件,可以说,比起ai,机器视觉世界的实现度更高!而且软件上,把速度放慢一点,学习次数增加,再加入亚像素以及其他方法,40%以上的上升空间很大!

也就是说,我们的人生,一定要在40岁之前很努力,比如说,40岁之前,你已经踏入了人生职业规划,或者说取得了不少小成绩,对于世界来说,可能不起眼!

而40岁之后的路,必须有像机器视觉一样非常优厚的条件保证,你才可能再上一层楼,而40岁之后花费的时间比你之前取得的成绩花费的时间更漫长!其实能不能再进一步,不重要,重要的是释然,也就是孔子他们说的,四十不惑!

如果你只想不要命的得到人生的辉煌,其实你已经很厉害了!而对古(故)人(那些中外优秀的人,他们提出的像37%规则,都不是吃素的)的好言相劝置之不理,那么,生命变垃圾的速度会惊人的快!

举几个例子,微软mvp获得者,雷霄骅,26岁,挂了,浅墨,90年出生的,也挂了。

近一年的旷世的孙剑(45),商汤的唐晓鸥(55),大家都是搞这个行当的,真是可惜。

都说,自古英雄出少年,可能就是37%规则吧,虽然他们去了,但他们仍然是英雄!

古(故)人(他们的言行,理论)不欺我,也不欺你!

以下附上数学思维妙处(6),37%规则的证明:

假设总选择是有限的,记作“n”,第一阶段我们称之为“对照选择组”,这个选择样本数我们记作“K”(k的概率记作P(K)),假设在第二阶段第一次出现最优选择的位置为“i”,如何得到这个最理想的“K”呢?

建立如下方程:

文章图片2
换成微积分方程为:

文章图片3
对 -x · ln x 求导后令这个导数等于0,解得 x=1/e≈0.37(e为常数,≈2.718)。即:

k≈37%。

这篇关于37%规则,最优停止问题(麦穗理论)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C