1700495592
你可能已经使用最早到期日原则来统筹你的工作,在这种情况下,不需要计算机科学来证明这是个明智的策略。但你可能不知道,这就是最优策略。更确切地说,它假设你对一种衡量标准尤其感兴趣,即要减少你的最大延迟。但是,如果这不是你的目标,另一种策略可能就会更适合。
1700495593
1700495594
以冰箱为例。如果你是社区支持农业组织的成员,那么每一周或两周就会有很多新鲜农产品被送到你家。每一件产品生产于不同日期,所以你要根据它们的最早到期日期吃这些食物,根据保质期这个顺序吃它们似乎是一个合理的出发点。然而,事实不完全是这样。最早到期日是为了更好地减少最大延迟,这就意味着,它将最大限度地减少你吃到过期食物的概率,但这也许不是从最可口这个标准来衡量的。
1700495595
1700495596
也许我们要尽量减少腐烂食物的数量,穆尔的BM算法可以帮我们做出最好的计划。穆尔算法认为,我们第一步应该先按照最早过期日,也就是食物的腐烂日期将食物进行排序,最早过期的先吃,一次吃一个。然而,一旦我们意识到,也许不能在过期日之前吃完下一个食物时,我们就会暂停该计划,转过头考虑之前已有的计划,并拿出最大的项目(即一个将吃最长时间的食物)。例如,这可能意味着放弃要吃6顿的西瓜,甚至没有考虑尝试此食物之后很快能吃完的所有食物。然后,我们重复这种模式,按照食物的过期日排序,又在计划好的最大项目上停滞。只要我们能按照过期日的先后顺序将剩下的所有食物在过期之前吃完,那我们就完成了计划。
1700495597
1700495598
穆尔的算法最大限度地减少需要扔掉的项目数量。当然,你也可以用食物堆肥,或捐到当地的食品站,或者送给你的邻居。在工业或官僚资本的背景下,你不能简单地抛弃一个项目,但过期项目的数量而不是重要性仍然是你最大的关注点。穆尔的算法并没有关注如何处理那些过期的任务。任何从你的主体安排中分离出来的任务都可以按照任何顺序完成,这都不要紧,因为它们都已经超过时限了。
1700495599
1700495600
1700495601
1700495602
1700495604
算法之美:指导工作与生活的算法 把事情做好
1700495605
1700495606
老子
1700495607
1700495608
千里之行,始于足下。
1700495609
1700495610
有时,最后期限并不是我们主要的考虑因素,我们只是想要把事情都做好:在尽可能少的时间里完成尽可能多的事情。这就使这一看似简单的要求很难转化成具体的统筹指标。
1700495611
1700495612
其中一种方法就是站在旁观者的角度。我们注意到,在单机调度中,我们所做的任何事情都不能改变我们完成所有任务所需要的时间。但如果每个任务都代表一个等待中的客户,那么就有一种方法能尽量少地占用他们的共同时间。想象一下,从星期一早上开始,你的日程表上有一个为期4天的项目和一个为期1天的项目。如果你在星期四下午完成那个大项目(经过4天),然后在星期五下午完成小项目(经过5天),两位客户会等共9(4+5)天。然而,如果将顺序颠倒,你可以先在星期一下午完成小项目,在星期五完成大项目,那两位客户总共等待的时间只有6(1+5)天。你5天的工作日时长不变,但是这样你就可以为你的客户共节约3天时间。调度理论家称这个标准为“完成时间的总和”。
1700495613
1700495614
将完成时间总和最小化可以引申出一个非常简单的优化算法——最短加工时间:总是先做能最快完成的任务。
1700495615
1700495616
即使不是每项工作都有暴躁客户的催促,但用最短加工时间法也可以帮助你把事情做好。(因此,最短加工时间法推荐你先做任何耗时不到两分钟的任务。)当然,这没有办法改变你的工作总量,但最短加工时间法可以尽快减少未完成的任务数,从而抚慰你的心灵。它的完成时间总和这一标准可以用另一种方式来表达:它就像是把重点放在减少待办事项列表的长度。如果每一件未完成的工作就像你身边的一根刺,那么尽快完成简单的任务可能会给你的心情带来一些舒缓。
1700495617
1700495618
当然,所有未完成的项目并不都是平等的。扑灭厨房里的火肯定比用邮件熄灭顾客的怒火更重要,虽然前者可能耗费的时间更长。在时间调度中,这种重要性的区别通常用权值这一变量表示。当你在完成你的待办事项时,这个权值可能就是很明显的负担——每完成一项任务都会让你觉得在减轻这种负担。一个任务的完成时间就是你背负这个负担的时间,所以最小化加权完成时间总和(也就是每个任务的持续时间乘以它的权值)就意味着是去最小化完成整个日程表所承受的全部压力。
1700495619
1700495620
针对这一目标的最优策略是对最短加工时间法的一种完善:将每个任务的权值通过其需要的完成时间进行划分,然后将单位时间重要性(如果你喜欢的话可以称之为“密度”,延续权值的隐喻)结果从高到低排序。虽然可能很难将日常工作的每一个任务都赋予一定的重要性,但这一策略仍然提供了很好的经验法则:只需优先完成那些可能需要双倍完成时间且具有双倍重要性的任务。
1700495621
1700495622
在商业环境中,“权值”很容易被理解为完成每个任务所带来的利益数额。按完成时间的长短划分奖励这一想法,因此可以被理解为每项任务的小时率。(如果你是一名顾问或自由职业者,这个小时率可能就已经为你计算好了:只要简单地按照每个项目的大小来划分其费用多少,并根据你的工作方式,将时薪从高到低排序。)有趣的是,这种加权策略也体现在动物觅食研究中,坚果和浆果就相当于美元和美分。动物为了最大限度地提高从食物中积累能量的速率,应该按照获得和食用该食物所需的时间和其热能比值高低来摄取食物——它们似乎也的确是这么做的。
1700495623
1700495624
当该原理应用于债务而不是收入时,就产生一个处于黑暗中、后来被称为“债务雪崩”的策略。减债战略是指忽略债务整体的数量和大小,只是把钱注入利息最高的那一笔债务。这就相当于按照单位时间重要性的顺序安排工作。这一策略能尽可能快地减轻债务的总负担。
1700495625
1700495626
另一方面,你可能更关心的是减少债务的数量而不是数额,例如,如果无数账单和不停接听催款电话所带来的麻烦对你来说可能比利息更令你烦心,那你就不用考虑权值了,你“只是想把事情解决好”而不是用最短处理时间原则,因此你应该先偿还最小的债务,让这些小债务先被处理掉。在削减债务圈,这种方法被称为“债务雪球”,实际上,无论是在大众媒体还是经济学研究中,人们到底应该优先降低债务的数额还是数量仍然是一个具有争议性的话题。
1700495627
1700495628
1700495629
1700495630
1700495632
算法之美:指导工作与生活的算法 找出问题所在
1700495633
1700495634
这将涉及我们之前所讨论的单机调度问题。有人说:“戴一只手表的人知道时间,而戴两只手表的人就不能确定时间了。”计算机科学能给我们提供用单机调度执行的运用不同度量标准的最优算法,但选择哪种度量标准就取决于你自己了。在很多事情中,我们都得决定到底想解决什么问题。
1700495635
1700495636
这为我们提供了一种激进的方法来重新思考“拖延”这一时间管理的经典问题。我们通常认为拖延是一个错误的算法。但如果它正好相反呢?如果它是一个错误问题的最佳解决方案呢?
1700495637
1700495638
连续剧《X档案》的一集中,主角马尔德正被吸血鬼攻击,无力反抗,看上去命不久矣,为了自卫,他将一袋葵花籽倒在地板上。吸血鬼无力对抗自己的冲动,俯身拾起一个接一个的葵花籽,在他最终品尝到“马尔德大餐”之前,太阳出来了。计算机科学家称之为“PING攻击”或“拒绝服务”攻击:给系统无数琐碎的事情做,重要的东西就会迷失在混乱中。
1700495639
1700495640
我们通常把拖延、懒惰或逃避行为联系在一起,但拖延也会出现于在充满热情且想努力完成任务的人(或电脑,或吸血鬼)的身上。在2014年的一项由宾夕法尼亚州立大学戴维·罗森邦进行的研究中,研究者要求受试者将两个沉重的水桶中的一个拿到走廊的另一端。一个水桶在参与者的旁边,另一个则在大厅中间。让实验人员吃惊的是,人们立即拿起身边的水桶,一路将它拎到另一边,径直路过可以让他们少走一段路的另一个水桶。正如研究者所写:“这个看似理性的选择反映了一种趋势——超前主义,这是我们新提出的一个术语,是指完成任务时为了加速子目标的完成,甚至牺牲额外的体力。”推迟主要项目的工作,去完成各种琐碎的小任务也与此类似,这可以被视为“加速子目标的完成”。这是在换一种方式说,拖延症者也在努力行动,以尽快地减少他们头脑中悬而未决的任务数量。这并不是说他们在完成任务时使用了糟糕的策略,而是他们用一个伟大的策略选择了错误的指标。
1700495641
[
上一页 ]
[ :1.700495592e+09 ]
[
下一页 ]