AIGC时代里每种算法都各有特色,各有优缺点,如何应用到业务层面还是要看实际的场景,但这些算法的思路也可以被应用到个人的生活中。今天我们聊一聊在个人的生活可中,可以从“强化学习”的思路里借鉴到什么。 更新价值函数或策略:智能体会使用如Q-learning等算法,根据最新的状态-行动-奖励序列更新其评价函数或直接更新策略参数,力求在未来选择更高奖励的动作。 虽然强化学习并不是完全忽视历史信息或未来预测,它也会通过优化算法和模型设计,确保智能体能够有效地利用历史信息并在当前决策中考虑到未来可能的后果,它也会在平衡即时决策和历史信息利用之间寻求最优策略。 因为人生“无常”,所以人到底有多少个“呼吸间”的数量是未知的,所以本质上当下就是“呼吸间”的长度吧。2. 何为“活”?关于怎么活,佛陀也说过“未来之心不可得,过去之心不可得,现在之心不可得”。
人生最幸福的事情莫过于每天都能做自己喜欢做的事情,如果还能顺带把钱赚了,那就完美了。 内核一般具有两个特征 第一,简单,这样才可以大规模复制。 按照寿命增加的趋势,我们这一代人基本都能拥有百岁人生。如果70岁退休,你都还有30年的不赚钱的时间,那么这些养老的钱哪里来? 八段:愿景,设计人生导航系统 大家可能听过使命、愿景、价值观。这是企业文化的重要组成部分。在《人生算法》这本书的第八段就是讲的人生愿景。 愿景由两大要素组成,核心理念和未来蓝图。 9段:涌现,在自己身上发挥群体智慧 人生算法的目的是让我们能更好地面对未来的不确定性。既然未来是不确定的,那么人生算法可能就会失效。而涌现就是一种不确定的方法,用不确定性对抗人生的不确定性。 这个例子其实很好地诠释了人生算法的九段心法。 初段:闭环,就是“按下快门”的这个简单动作。 二段:切换,在主动拍摄和被动拍摄切换。
2段:掌控大脑的两种模式 在初段——闭环的基础上,我们可以进入“九段修炼”的下一个段位——切换。你需要理解大脑运行的两种模式:“自动驾驶模式”和“主动控制模式”,还要学习在两种模式之间自如切换。 如果你能同时掌握两个系统,并且在中间自由切换,那你就可以成为“人生算法”的二段高手。 PS: 自动驾驶模式和主动控制模式就是《思考快与慢》系统一和系统二。两者只是叫法不同。 三段:内控控制点 人生算法二段介绍了大脑的两套思维系统,并要求我们在二者之间自如切换,三段的学习则会更进一步地拆解大脑的认知,帮助我们在思考过程中建立内部控制点。 4段:重新启动的精神装置 人生算法第三段讲的是做好认知飞轮的交接点控制,而重启,是重新启动“精神装置”。
那么37法则是如何得出来的,在生活中,这一算法是如何起作用的?它会对你的人生产生怎么样的影响,又有何缺陷? 尽管相比人生的复杂,这些算法大多是too simple too naive的,但它们何尝不是为我们提供了一种新的角度来认识我们所处的世界和我们自己。 这些算法和观点将主要来自一本算法书籍Algorithm to Live by(生活中的算法),这本书被称为“the computer science of human decisions(人生抉择中的计算机科学 在这个新的栏目里,我们将从这本书出发,探讨算法和人生的关系。当然,其中所涉及的并不只是计算机科学,它与数学、工程学、认知科学、心理学、经济学都通通相关。 最后,希望这本书的旅程能让你我都能有所收获,并带着一种新的视角来审视取舍与抉择,这个人生中永恒的主题。
有的说只做后端不做前端,有的说,只做算法研究,不做工程,等等,等等。因为他们觉得人生有限,术业有专攻。 所以,在选择中纠结的人有必要参考一下排序算法。 首先,你最需要参考的就是“冒泡排序”——这种算法的思路就是每次冒泡出一个最大的数。 这个算法告诉我们,我们的选择标准越清晰,我们就越容易做出选择。 这是排序算法中最经典的两个算法了,面试必考。相信你已烂熟于心中了。所以,我觉得你把这个算法应用于你的人生选择也应该不是什么问题。 贪婪算法 所谓贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择(注意:是当前状态下),从而希望导致结果是最好或最优的算法。贪婪算法最经典的一个例子就是哈夫曼编码。 贪婪算法基本上是一种急功近利的算法,但是并不代表这种算法不好,如果贪婪的是一种长远和持续,又未尝不可呢?。
func calc(x, y int) (sum, sub int) { sum = x + y sub = x - y return } 可变参数 传进来是一个切片 func intSum2( 最后defer的语句 最先执行 fmt.Println("a的类型是%T,getsum的类型是%T\n",a) defer fmt.Println("1") defer fmt.Println("2" \defer.go a的类型是%T,getsum的类型是%T 0 3 2 1 函数变量作用域 跟java的如出一辙,全局变量与局部变量遵守就近原则 外部函数不能访问内部函数即局部变量,for循环, calc(x, y int, op func(int, int) int) int { return op(x, y) } //入参 x,y 返回值是func func main() { ret2 := calc(10, 20, add) fmt.Println(ret2) //30 } 定义函数类型 type type calculation func(int, int) int 匿名函数
贪心算法简介贪心算法是一种在解决问题时采用的一种“局部最优”的策略,它是基于“假设每一次决策都是最优的,那么所有的局部最优解能够叠加组合成全局最优解” 的思想。 在上述步骤中,贪心算法的思想中还有两个特点值得我们关注:设定合理目标: 在使用贪心算法时,它会定义一个明确且可度量的目标函数,并确保这个目标函数能够在每一步骤中通过局部最优决策来逼近全局最优。 贪心算法在设定目标时有着明确性、合理性、量化性的特点。追求良好而非全局最优: 贪心算法并不保证一定能找到全局最优解,尤其当问题不满足贪心选择性质或者最优子结构条件时。 产生的拖延启发完美主义者对于结果有着高标准要求和对于细节的极度关注,虽然完美主义在某些情况下能够带来卓越的成就,但在很多时候,这种追求完美的心态也会成为前进道路上的绊脚石,是造成我们拖延的重要原因,它对个人生活的影响主要表现在 同时,明确的目标也是进入心流的关键,就像贪心算法中会设定一个明确且可量化的目标函数一样。
春节前,大数据文摘启动了最新音频栏目——Data Reading Club,我们为大家推荐的书籍是Algorithm to Live by(生活中的算法),上一期我们跟大家探讨了算法与人生伴侣的选择—— 面对这变幻不息的世界,我们能从这些算法中学到的,或许并不只是某一种策略,而更是一种新的看待选择与变化的方式: 人生的旅程中,刚刚启程的孩子正该尽情探索属于他们的无限可能,而年纪渐长的父母老人在我们眼里的固执己见 ,又何尝不是一种看过更多人生风景后的积累与沉淀。 这些算法和观点将主要来自一本算法书籍Algorithm to Live by(生活中的算法),这本书被称为“the computer science of human decisions(人生抉择中的计算机科学 在这个新的栏目里,我们将从这本书出发,探讨算法和人生的关系。当然,其中所涉及的并不只是计算机科学,它与数学、工程学、认知科学、心理学、经济学都通通相关。
直接拿走100万美元,落袋为安呢,还是赌一下,按绿色,万一拿到一个亿,人生的小目标不就实现了吗?可是,万一什么都没拿到怎么办?还不如按红色,虽然比一亿少很多,但最差也有100万美元吧。 “确定效应”就是他们的“人生算法”。 但是,其实这道选择题,是有唯一正确答案的。绿色按钮的“期望值”更大(期望值为5000万),是最理性的选择。“决策树”,就是你的“人生算法”。 这就是基于“概率思维”的另一种“人生算法”。 不同的“人生算法”,带来不同的选择,从而获得完全不同的人生。 而“概率思维”就是很多成功人士最基础的“人生算法”, 在不完全信息决策的情况下,不是靠你的聪明才智或者努力,就一定能有正确决策的。 千分位上,通过踏上时代的脉搏提高12%;百分位上,通过选对战略,再提高5%;十分位上,通过设计好组织结构又提高2%;最后在个位上做好管理,提高1%。
人生就像是一场游戏,我们刚出生开始学习走路 吃饭 穿衣服这就像是游戏里面的一个基本操作,等到我们基本操作都学会了后,好了关卡来了。 第一个大的关卡:幼儿园,又细分为小班 中班 大班,基本没难度的。
我说,人与人生如模型,思考与思维如模型,认知与成长,工作与生活亦如此。为什么这么说? 总结模型关键技术至少有三点:1、预训练;2、transformer、MLM、NSP等技术;3、强大数据和算力。 从训练bert模型中启发我们训练人生,像优化bert模型一样优化我们自己。 个人完成10篇高质量文章,2-3次外部技术会议分享。 训练任务二:2022开辟第二曲线 第二曲线理论最初是由一个美国人提出的,讲的是企业成长发展的规律。 优化人生 起初我仅把机器学习当作一种技术去解决安全问题,现在我还用它来训练自己、优化人生。无论人工智能技术潮涨潮落,但其背后蕴含的道理却是始终如一,人生需要这种确定性的第一性原理。
有两个算法 A 和 B ,假设两个算法的输入规模都是 n,算法 A 要做 2n+3 次操作,算法 B 要做 3n+1 次操作。觉得谁快?看下图: ? 而当 n = 2 时,两者效率相同;当 n > 2时,算法 A 就开始优于算法 B 了,随着 n 的增加, 算法 A 比算法 B 越来越好了,得出结论,算法 A 好过 算法 B 判断一个算法的效率时,函数中的常数和其他次要项常常可以忽略 2、在修改后的运行次数函数中,只保留最高阶项。 3、如果最高阶项存在且不是1,则去除与这个项相乘的常数,得到的结果就是大O阶 3、常数阶 高斯算法,时间复杂度不是O(3),而是O(1)。 //第二种算法 int sum = 0, n = 100; /*执行1次*/ sum = (1 + n) * n/2; /*执行1次*/ printf( 也就是说,有多少个2相乘后大于n,则会退出循环。由2× = n ,得到 x = ㏒2n (2缩小)。所以这个循环的时间复杂度为O(㏒n)。
因为是我告诉了她读者文摘上那个关于怎样规划自己的人生成为画家的故事,还举一反三了怎样成为百万富婆的故事来加深印象。现在我又告诉她,我说了那么多,骗她相信规划人生的妙用,其实自己是不承认的了! 于是我又花费了很多口舌来向她描述APR用到的一种算法:“贪婪算法”,以实例来说明自己的观点。大概的意思就是,5年规划的目的看起来很明确,但是需要做无数存在变数的事情才能抵达最终的目的。 朋友告诉他,要在5年后成为画家,并且能够谋生,第4年的时候应该已经卖出了第一幅画,并且有很多作品在画廊里办画展了;第3年的时候应该已经有很多完成的画作了,并且有一些画廊的朋友;那么第2年的时候应该已经掌握了绘画艺术 为了让苯螃蟹能够深入理解,俺还特意举一反三的给苯螃蟹假设了怎样在5年以内成为百万富婆的人生规划。 如果5年后要成为百万富婆,最简捷的方式就是嫁给百万富翁。 ##########我是分隔线########## 参考文献三2: 算法非我所长。
“注意力算法”简介注意力算法是一种在深度学习中广泛应用的技术,用于处理序列数据时,模型可以动态地将注意力集中在最相关的部分。 这种算法通过计算每个输入元素对当前输出的重要程度,根据权重对输入进行加权求和,以生成上下文信息,从而改善模型的性能和泛化能力。 注意力算法大概的步骤:建立输入与输出之间的关联: 首先,注意力算法需要建立输入序列和输出序列之间的关联。例如,在机器翻译任务中,输入可能是源语言的句子,输出是目标语言的句子。 注意力算法通过学习输入和输出之间的关系来实现翻译任务。计算注意力权重:通过计算注意力权重来确定输入序列中每个元素对于当前输出的重要程度。 由上我们可以看出,注意力算法使得模型在处理复杂任务时,能够灵活关注输入序列的不同部分,提升了模型理解和处理信息的能力。
做出科学决策或设计出高效算法的前提之一是理性。理性的一个性质就是你的选择必须有一致性。比如你认为芒果比苹果好吃,苹果比橘子好吃,那么我可以推导出,你认为芒果比橘子好吃。 做出科学决策或设计高效算法的前提之二是具备完善的信息。例如美团要计算餐馆到你家的最优路径,那么它一定掌握了从餐馆到你家的所有线路,以及掌握当时的交通状况,但人生决策却时常无法做到信息的完备性。 所以哲学家赛亚.柏林才哀叹说:人生就是悲剧!王尔德也说:人生有两种悲剧,一是得不到,二是得到了!在多愁善感的哲学家看来,人生无论怎么选,都是错的! 然而不论人生本质是否是悲剧,只要人活着就得做选择,做选择就总得有些依据吧。好在还真有一个试用于人生不确定性的决策依据,那就是把”人生“的后悔最小化。 人生哪有不遗憾的,但无悔人生却是所有遗憾人生中最优化的结果。当你读到这里时,极有可能你还有时间,所以何不把塞在心底的理想拿出来,谋划一下呢,且将新火试新茶,诗酒乘年华!
“算法人生”主旨这个系列旨在关联各种“算法”的思路介绍各种成长“方法”,让算法思路不止可以用在程序上,也可以用在“人生成长”上! 2、强正拖负,及时反馈(类似强化学习中的奖惩机制)对于造成我们拖延的刺激物(思想)要警醒, 比如最近某个流行的剧更新了,很久没买能能让自己开心的手办了,这些思想在某些场景下能让我们及时获得应有的“放松” 这时候,我们应该警惕这类型的刺激物(思想),如果发现它们会加重自身的拖延,可以采用以下方法来面对负面刺激物(思想): 延迟满足: 也就是延迟做刺激事情,当看到刺激物(思想),告诉自己等2个小时就可以满足自己 尽管强化学习中的算法通过短期奖励来学习,但其最终目标是优化长期的累积奖励。而在治疗拖延症的过程中,虽然采用了分解任务和及时的奖惩策略,但最终目的是帮助个体克服拖延,提高长期的工作效率和生活质量。 生活中的思想很多是相通的,无论是程序还是人生,都可以互为启发,互为扶持,互为激励!如果你也有更好的想法,欢迎分享交流!
两年前我开始实行个人时间管理, 现在看来, 的确受益匪浅 虽然自己在实行过程中慢慢地"简化"这种自我管理, 但是仅剩的一点记事与思考的习惯保留了下来, 对我的工作和生活都产生了很不错的促进作用 最近又感觉自己到了一定的瓶颈期, 或者说迷茫期, 回过头来想想自己之前突破瓶颈的状态, 也找不出类似的解决方法 上周引擎技术中心组织了一次团建, 可以说汇集了自己所处的这个领域的精英, 从这些大神级别的人物身上, 的确能够发现自身的一些不足 通过他们的分享和与他们的闲聊, 无一例外, 他们的自我管理都做的非常好 可见
start++] =arr[p]; } } void mergesort(ll *A,ll start,ll end) { if(start<end) { ll mid = (start+end)/2; = a[i]; a[i] = a[j]; a[j] = t; } void heapify(ll *tree,ll n,ll i) { if(i>=n) return ; ll c1 = 2* i+1; ll c2 = 2*i+2; ll max = i; if(c1<n&&tree[c1]>tree[max]) { max = c1; } if(c2<n&&tree[c2]> tree[max]) { max = c2; } if(max ! = i) { swap(tree,max,i); heapify(tree,n,max); } } void heapsort(ll *a,ll n) { for(ll i =n/2-1;
NC296 最小花费爬楼梯 牛客网题目链接(点击即可跳转):NC296 最小花费爬楼梯 题目详情: 本题详情如下图: 题目思路: 本题解题思路如下: 基础动态规划,1.写出动态转换方程2. vector<int>& cost) { vector<int> dp; dp.resize(cost.size()+1); for(int i=2; i<=cost.size();i++) dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]); return dp[cost.size ()]; } }; 结语 说点啥好呢...不断修补细节然后提高效率,不断学习算法并应用出肌肉记忆.
冒泡排序 平均时间复杂度 O(n2) 空间复杂度 O(1) function bubbleSort(arr) { var i = arr.length; var position =