zoukankan      html  css  js  c++  java
  • 论算法的实际应用——泡妞论

    http://blog.csdn.net/sm9sun/article/details/53519226

    我们都知道,算法即解决问题的方法,我们衡量一个算法的优劣,可以用空间复杂度与时间复杂度来衡量。

    换做我们实际生活中,就是物质成本开销与时间成本开销。

    不同算法进行泡妞这一业务进行其物质成本开销与时间成本开销自然也不同。所以我们要根据自身情况,选取一个适合于自己的算法。

    当然也要适用于你的输入,也就是你的对象(强行面向对象思想)具体类型。

    一、博弈算法

    博弈的核心思想并不复杂,实际上就是对博弈树节点的估值过程和对博弈树搜索过程的结合,其基本没有太多时间与空间的开销。

    首先,我们第一要明确的就是我们的终点,即必胜态。

    假设我们的必胜态是跟妹子【啪啪啪】,那么我们就要考虑什么情况下,事态最有利于向【啪啪啪】这一事件发展,我们假设有一状态点【看电影】

    同时又有一个固定的状态转移公式(我们假设为:胡说八道)也就是说【看电影】状态可以由(胡说八道)操作转化为【啪啪啪】。那么我们就可以把

    【看电影】作为另一个必胜态,也就是当我达到了【看电影】这一步的时候,就意味着我最终肯定会达到【啪啪啪】这一状态。那么我们再往前推,

    要想达到【看电影】的状态,得先经过另一个状态点【聊热门电影】,即【聊热门电影】→(胡说八道)→【看电影】→(胡说八道)→【啪啪啪】

    以此类推,直至推到起点【搭讪】。

    sample:

    男:你好

    女:你好

    ……

    男:最近有个电影叫《你的名字》好像不错

    女:我也听说了,朋友圈刷屏了呢

    男:这周末我们一起去看吧

    女:好

    ……

    二、贪心算法

    贪心也是一个时间空间开销比较少的算法,就是你和妹子从【搭讪】直到【啪啪啪】都选用当前获取妹子最多好感度的处理方式

    不装逼不做作,简单粗暴!一鼓作气,直捣黄龙。当然,贪心算法很有可能最终并没有得到你想要最优解……

    sample:

    男:【送礼物】

    女:好感度50%

    男:【逛公园】

    女:好感度30%

    男:【唱情歌】

    女:好感度25%

    男:【请吃饭】

    女:好感度0%(厌倦)

    女2:诶...内个男的蛮不错的...人傻钱多(*^__^*) 

    三、动态规划

    已知你追的这个妹子很听她三个闺蜜的话,那么你追这个妹子这一问题,就可以分解为你搞定其三个闺蜜三个子问题。

    很明显,搞定其闺蜜让其对你有好感很简单就能实现。这就是把一个复杂的问题分解成若干子相对简单问题的思想。

    然而要想让A闺蜜对你有好感,你又要让其A1,A2,A3三个闺蜜对你有好感。于是再一次分解。显然,动态规划算法在时间成本以及

    物质成本开销都很高,因为你要认真对待每一个子问题。使每一个子问题都要有最优解。不过这样也确实能保证你最终能得到最优解

    你想啊,所有妹子都对你有好感你这是国民老公啊233333

    sample:

    讨好妹子的闺蜜A的闺蜜A1

    讨好妹子的闺蜜A的闺蜜A2

    讨好妹子的闺蜜A的闺蜜A3

    ——讨好妹子的闺蜜A

    讨好妹子的闺蜜B的闺蜜B1

    讨好妹子的闺蜜B的闺蜜B2

    讨好妹子的闺蜜B的闺蜜B3

    ——讨好妹子的闺蜜B

    讨好妹子的闺蜜C的闺蜜C1

    讨好妹子的闺蜜C的闺蜜C2

    并没有讨好妹子的闺蜜C的闺蜜C3

    ——并没有讨好妹子的闺蜜C

    ——并没有讨好妹子

    四、回溯算法

    你与妹子交往时,不知道要怎么追,就先尝试提出一个方案,我们假设是去某一个韩国料理,但是妹子并不喜欢吃。于是我们就对妹子说:

    就当我没说吧,我们去吃东北杀猪菜。这就是回溯,当然,你知道某些事情肯定后果是不好的,比如说让妹子陪你去写代码

    所以你很自然的就过滤掉这种行为了,也就是剪枝。或者当某些事后发生后妹子已经不高兴,那么做到一定程度时候就要及时收手,也就是分支限界

    回溯算法适用于不是很熟练的泡妞er,所以我们只能一步一步的尝试,不断的积累经验。其成本开销完全取决于你的经验(也就是你的剪枝水平)

    sample:

    男:我们去吃火锅好不好

    女:脸会长痘痘

    男:我们去吃烧烤好不好

    女:肚子不消化

    男:我们去吃肯德基好不好

    女:会长胖的!

    男:我们去吃冷面吧

    女:太清淡了!

    男:MDZZ

    五、匹配算法

    匈牙利匹配算法本来就是解决配对问题的~无论是解决二分图(男女)还是任意图(你懂的)都可以~

    我们假设当你追一个妹子的时候,但是其妹子虽然喜欢你,也喜欢某高富帅,高富帅喜欢妹子,但是喜♂欢隔壁老王,隔壁老王喜欢隔壁小马,隔壁小马又喜欢隔壁老宋。

    所以我们先要撮合隔壁小马和老宋。小马和老宋在一起了

    隔壁老王就只能和高富帅在一起了

    所以你就和妹子理所当然的在一起了!

    sample:

    男1:女1,我喜欢你!

    女1:我喜欢男2!

    男2:我喜欢男1!

    男1:呃,其实男2也可以,那我和男2在一起吧!女1还有只猫呢o(=•ェ•=)m

    六、网络流:

    如果你直接对妹子表白,妹子可能会不好意思的拒绝你

    那么你就想,是否让朋友替你转达表白,或者让你朋友转朋友再转妹子……这就是网络流问题。当前,你转达的越多(最大流),你的成功率就越大。

    并且人家也不能白替你干活,怎么的也得请人撸个串,当然每个朋友吃的价格不等,所以你得考虑如何节省成本,将费用降到最小~

    网络流的开销非常大,所以若非必要,请勿使用喔~~

    sample:某天,某个人对妹子说了一句话

    他说:刚才听小张说:上次跟小李见面时说过:昨天和小王打电话时小王说:小赵曾经对我说:小周说过一个事:小吴他说:小郑曾经跟我爆料:小杨跟他说,某某男喜欢你!让大家帮着转达~!

    七、生成树:

    一开始你是不认识妹子的,但是你知道妹子认识一些朋友,而内些朋友有的认识你的朋友。

    所以你现在要做的就是如何最快的认识妹子~通过你朋友的介绍,认识了妹子的朋友,再通过她朋友的介绍,认识了妹子。

    八、搜索:

    深搜就是追一个妹子就追到底,实在不行了再换一个。

    广搜就是同时多追几个,留一些备胎……

    话又说回来,再好的算法也要硬件的支持,硬件不过关,神马都是浮云,硬件牛逼自然可选择的算法就多了~

    比如说像我这样的高富帅,哪怕是枚举也是可以搞定的

  • 相关阅读:
    第二次结对编程作业——毕设导师智能匹配
    第二次作业——结对项目之需求分析与原型设计(1.0)
    调研《构建之法》指导下的全国高校的历届软工实践作品、全国互联网+竞赛、物联网竞赛等各类全国性大学生信息化相关的竞赛平台的历届作品
    软件工程的实践项目课程的自我目标
    CMake
    软件工程实践总结
    软件产品案例分析(K米 APP)
    毕设导师智能匹配
    结对项目之需求分析与原型设计(导师选择)
    调研《构建之法》指导下的软工实践作品
  • 原文地址:https://www.cnblogs.com/shiningrise/p/8408639.html
Copyright © 2011-2022 走看看