第4章:决策
本书全篇都基于以下这句话:
不言而喻,在着手解决识别最佳决策这一问题之前,你首先需要知道自己正在做出哪些决策。
回想一下第1章中提到的两类”问题”:以指标为中心的问题和以决策为中心的问题。二者的示例如下:
- 以指标为中心的问题:
- 供应链管理——最小化库存,最大化营业利润率。
- 电力系统——最小化能源生产成本。
- 公共卫生——最小化死亡人数。
- 卡车车队管理——最大化每位司机每周的净营业收入。
- 酒店管理——最大化营业利润。
- 总统竞选运作——赢得选举。
- 以决策为中心的问题:
- 供应链管理——订购多少数量,使用哪个供应商。
- 需求管理——如何为产品定价,使用哪些营销渠道。
- 电力系统——安排哪些发电机运行,使用哪些燃气轮机。
- 糖尿病管理——使用哪种药物控制血糖,剂量为多少。
- 共同基金现金管理——应持有多少现金以应对赎回,投资哪些股票。
如果我们从指标出发,挑战在于识别能够帮助我们改善该指标的决策。如果我们从决策出发,那么问题就变成了如何设计指标。然而,即便我们认为已经了解了相关决策,我们也必须确保没有遗漏任何决策。
关于决策优化这一主题,已有大量数学文献,但即便是这些著作也缺乏对”什么是决策”的标准定义。相反,这些书籍会引入诸如决策向量”$x$”、控制”$u$”或动作”$a$”等符号,随后给出示例,希望读者能够”领会其意”。这种做法对于简单问题或许可行,但它在数学模型与实际应用之间造成了一道障碍。
对于像供应链管理或解决公共卫生问题这类复杂应用而言,识别决策远比识别指标更具挑战性。这并非要贬低指标识别工作的重要性,而是说明指标这一概念无论是对领域专家还是建模者来说都已经十分熟悉。然而,当被问及涉及哪些决策时,商业高管、医疗专业人员、工程师和科学家往往会一脸茫然。虽然”决策”这个词人人皆知,但它似乎并非人们在日常问题解决中常用的术语,而”指标”这一概念却是每个人都以某种形式理解的。
决策与英语语言
在关于”决策”的一章开篇,给出一个定义似乎是一个不错的起点。值得注意的是,像韦氏词典那样的标准定义通常会列出该词在英语中使用时的各种常见含义。例如,赢得一场棒球比赛也被称为一个”decision”。而在本书中,我们仅用”决策”一词来指代这样的情形:我们面临一组选择,必须做出最佳选择,这当然也意味着需要先确定绩效指标。
我们首先要指出,决策始终是信息的一种形式。将所有信息大致归为三类会很有帮助:
- 我们在某一时间点已经掌握的信息。我们将这类信息称为系统的状态(更准确地说,是知识状态)。
- 我们所控制、能够改变状态的信息。
- 我们无法控制(尽管可能对其产生影响)而到来的新信息。
第(2)类和第(3)类信息会产生一个更新后的状态变量(第(1)类)。现在我们可以给出决策的定义了:
定义(正式): 决策是一种内生可控的信息类别。
因此,决策(包含于”决策变量”之中)代表着我们通过在一组选择中指定其中之一而创造出来的信息。
我们的正式定义对于一个本应十分简单的概念而言显得过于繁琐,因此我们再给出第二个定义:
定义(非正式): 决策是我们所控制的东西。
这个定义通过使用”东西”一词避免了”信息类别”这样的表达,但它同样传达出了要点。
我们的两个定义都提出了一个问题:谁在做决策?这与决策这一概念是密不可分的。经典数学模型回避了这个问题,但它对于建模大多数真实系统而言却至关重要。
鉴于决策在人类活动中的重要性,英语中存在大量捕捉”选择”这一概念的术语,这也就不足为奇了。表4.1列出了在一般情境下暗示做出选择的若干词语。”收集信息”一栏列出了在决定运行何种实验、听取谁的意见、观察什么等情境下出现的术语。”资源行动”一栏列出了在管理资源(如人员)情境下出现的各种术语。例如”晋升”一词暗示着是否晋升某人(以及晋升到什么级别)这一决策。
该表并非旨在全面列出所有暗示选择的词语,而是提示我们,”决策”在英语语言中有多种表达方式。
| 一般术语 | 收集信息 | 识别决策 | 资源行动 |
|---|---|---|---|
| 行动 | 实验(选哪个?) | 识别 | 晋升(谁,多少) |
| 选择 | 倾听(听什么?) | 分类 | 获取(哪个,多少) |
| 控制 | 观察 | 发现 | 出售(卖给谁,多少) |
| 决策 | 测试(选哪个) | 结论 | 奖励(多少) |
| 设计 | 查看/扫描 | 标注 | 批评(谁,如何) |
| 干预(医疗) | 调动(调往何处) | ||
| 选项 | 交易(哪个,与谁) | ||
| 移动(去哪里) | 治疗(选哪种) | ||
| 应对(选哪种) | 接受/拒绝 | ||
| 任务 | 推荐 | ||
| 交易(金融) |
识别决策
在识别可供做出的决策时,理解暗示(或要求)做出选择的各种不同词语十分重要。需要认识到,决策并不会带有醒目的标签标注出来。金宝汤公司(Campbell’s Soup Co.)在20世纪70年代著名的系列广告”我本可以喝V8的!“中,就意识到了让消费者意识到自己正在做决策这一挑战。他们的营销部门发现,人们常常在拿起一罐苏打水时,并没有意识到自己本可以选择V8蔬菜汁。这些广告帮助消费者意识到,喝苏打水本身就是一种决策。
几乎在任何问题情境中,人们都容易养成以某种固定方式解决问题的习惯,而没有意识到自己其实拥有选择。可以说,这正是我们度过日常生活的方式,因为评估各种选择以找出最佳方案是需要花费时间的。我们面临的挑战首先是要意识到自己何时正在做决策,然后识别出对绩效影响最大的那些决策。
被动做决策这种行为极为普遍,但这恰恰创造了一个机会。设想你处于任意一种问题情境之中(例如图4.1左侧所展示的那些情境)。现在假设你想要改善某项绩效,无论是盈利能力、生产效率、健康结果的改善、药物的改进,还是农业的提升。那么请记住我们的核心观点:
如果你想更好地运作{任何事物},你就必须做出更好的决策。
要做出更好的决策,你必须先意识到自己正在做决策。一个有益的练习是创建你自己的”决策簿”,然后在你意识到正在做决策时(也就是说,存在选择,且可以做出不同的选择),记下心得。
决策的类型
我们的框架构建方法要求能够识别所有决策,而不仅仅是能够用某种特定方法处理的决策。为指导这一过程,我们在下面列出10类决策,据我们所知,这些类别涵盖了我们所控制的所有信息形式。
- 物理与财务决策——这些决策产生于对物理和财务资源的管理之中,涉及人员、设备、设施、产品、大宗商品、水、能源,以及现金、投资、贷款……决策包括购买、出售、调动和调整资源。这一类别属于运筹学、工程控制和金融学的研究领域,并大量借助线性、整数和非线性规划等工具。
- 结果不确定的离散选择——这是一个通用术语,用于涵盖可能涉及复杂项目的活动,例如推出新产品、将药物提交临床试验,或收购一家公司。这些活动有时被称为”项目”,可能涉及一系列对绩效指标、资源、财务和系统动态的改变。特殊情形可以是更简单的问题,例如选定一个价格,或决定聘用谁担任领导职位。这类问题在决策分析文献中十分常见,通常涉及相对较小的行动集合,但评估起来却颇为困难。
- 信息获取/观察决策——这些决策包括通过在实验室、现场或计算机模拟中运行实验来获取或观察信息。区分我们获取信息的两种情境会很有帮助:
- 离线学习——这些是在测试环境中开展的活动。离线信息获取可以包括研究工作、网络搜索,或聘请领域专家。
- 在线学习——这涵盖了采用”边做边学”方法,在实际现场中运行并观察过程的决策,包括观察某一过程随时间的演变,例如市场对广告或定价的反应,或患者对治疗的反应。
两种信息获取方式都意味着专门为获取信息而做出决策。信息获取已在实验设计(静态或序贯)、随机搜索、主动(或最优)学习、多臂赌博机以及贝叶斯优化等名称下被研究。
- 信息沟通/共享决策 – 这些决策有两种形式:
- 信息内容 – 反映我们在文本、视频和/或音频中所说的内容。信息内容的一个现代示例包括提示词优化。
- 渠道与时机 – 反映渠道的选择(文本/电子邮件、出版物(印刷版或在线版)、社交媒体或广告渠道),以及时机和频率。
- 绩效指标与目标 - 这代表了量化我们试图实现目标的关键选择,例如最大化收入、最小化成本、最大化材料强度或药物疗效,或最小化空驶里程。这些可以纳入目标函数中,或表示为约束条件。
- 选择函数 – 函数常常作为决策被忽视,函数可以是做出决策的方法(策略)、优化模型的构建方式、绩效指标的选择、预测或估计的方法,或转移函数(例如疾病如何传播)。此类别涵盖函数的选择,也就是其结构。
- 设置参数 – 函数通常由一个或多个参数(通常是连续的,但并非总是如此)来表征,这些参数可以被调整以提高预测精度(拟合统计模型时),或被优化以提升性能(调整决策策略时)。参数可能与函数相关联;它们可以是绩效指标的权重,也可以是绩效指标的目标(或限制)。
- 估计或识别 – 我们可能被给定一个人的照片,并被要求识别此人,此时我们希望最大化正确识别该人的次数。大语言模型被给定一组词(实际上是词元),它试图识别最可能出现的下一个词(或词元)。
- 特征与行为 - 我们可能选择一个新软件包的特性、一款新产品的设计,或我们(作为个人、组织或政治团体)选择如何表现。
- 决定要决定什么 - 在大多数实际应用中,潜在决策的数量(即我们面临选择的任何地方)可能相当庞大。我们必须对哪些决策具有最大的经济价值进行优先排序,以此来判断是否值得进行正式分析。
决策变量的类型
决策会以不同的形式出现,但决策变量通常可归入以下一个(或多个)类别:
- 二元型 – 这里只有两个选择,可能是:
- 是否执行某个行动。
- 持有或出售某项资产。
- 网页设计的A/B测试,我们需要在现有设计和新设计或修改后的设计之间做出选择。
- 在临床试验中是否继续测试某种药物或治疗方法,还是终止试验。
- 离散选择或行动集合 – 这无疑是最常见的决策问题形式,当我们面对一组离散的选择或行动时就会出现,例如:
- 为某个零件选择供应商。
- 选择药物或医疗方案。
- 选择营销渠道。
- 选择设施的位置。
- 连续标量型 – 例如:
- 设定产品价格。
- 选择药物剂量。
- 决定在某个市场为总统竞选活动投入多少广告费用。
- 选择共同基金应保留多少现金。
- 离散向量型 – 有许多问题涉及对人员、机器和工作等离散资源的管理。当我们面对单一的离散选择集合,例如在哪里采购产品时,很容易枚举所有选择。但当我们必须决定如何调度比如100台机器来处理数百项工作时,就需要专门的算法。
- 连续向量型 – 有些问题涉及少量的连续决策,例如控制汽车、飞机或火箭。还有一些问题涉及大量的连续参数,例如在多个资产类别中分配资金,或将大量纳洛酮急救包分配到一个州的上百个县。有一些强大的搜索算法可以求解这些问题。
决策如何影响系统
将”决策”作为一个抽象概念来讨论是没有意义的。我们首先要认识到,决策会以某种方式改变系统,但具体是如何改变的呢?
决策可以通过以下三种方式影响系统:
- 物理资源 – 这是我们购买、出售或以任何方式修改任何物理事物的地方,可能是人员、设备、设施、食物、水或能源。
- 金融方面 – 这可以是现金、投资和贷款;保险合同和货币对冲;以及价格。
- 信息方面 – 这一类别可能包括在实验室、计算机仿真或现场测试中运行实验以更新估计或信念的决策;也可能涉及设定绩效目标、设计指标,或规定销售合同的条款。
这些类别之间存在一些重叠,例如货币对冲与销售合同条款之间的区别。重要的是我们能够影响系统随时间演变方式的广泛程度。
随着我们建模框架的推进,我们需要了解关于任何决策的以下几点:
- 该决策现在如何影响我们的绩效指标?
- 该决策现在会对做出下一个决策之前的系统状态产生什么影响?
- 该决策是否会影响决策做出之后到来的新信息?
在第二卷中,我们将使用数学符号来描述这些要点。
决策的时机
决策最重要但也最具挑战性的属性之一涉及时间,具体包括:
- 决策的频率 – 我们可以将决策分为两大类:
- 设计决策,在规划时域内仅做一次(初始时)。实际上,即使是设计决策也会随时间演变,但在被视为合理的规划时域内,只做一次的决策是很常见的。
- 控制决策 – 这些决策会随时间反复做出,但在复杂系统中,各种决策可能在不同的时间间隔内被做出。例如,电网运营商每天安排一次蒸汽发电机的调度;燃气轮机的规划以小时为单位;对某些发电机速度的调整每5分钟进行一次;调整电压水平的信号每2秒发送一次。
- 滞后时间 – 决策做出后,往往要经过一段滞后时间才会对系统产生影响。例如:
- 订购库存可能需要数周或数月才能到货。
- 给药可能需要数分钟、数小时或数天才能对患者产生影响。
- 电网运营商提前一天规划蒸汽发电厂的运行计划,而启动燃气轮机的决策需要提前30分钟通知。
- 定价变化可能要数天或数周后才能在销售中体现,并可能对市场产生数月的影响。
- 滞后决策的提前规划 – 除了决策何时做出以及何时对系统产生影响这两个维度之外,我们还必须考虑向未来规划时的时机。例如:
- 制造商从亚洲订货时可能面临长达八个月的交货时间,但在出现短缺时,可以选择成本更高但周转更快的小批量供应商。在考虑应保留多少库存时,如果没有选择成本较高但距离更近的供应商的选项,制造商就不得不保有更大规模的库存。然而,当这个选项可用时,制造商可以考虑在需求激增时使用距离更近的供应商这一选项。
- 航空公司通常需要提前多达10年规划飞机采购,但可以以更高成本协商更快的交付。这使航空公司能够在客运量增长快于计划时,将此作为一个选项加以考虑。或者他们也可以取消合同,代价取决于他们等待多久才行使这一选项。
谁来做决策
在许多情境下存在不止一个决策者(或智能体)。多智能体情境的例子包括:
- 两个地位平等的决策者(常被称为参与者),例如制造商与供应商或客户之间的谈判,或医生与患者之间的互动。
- 两个决策者中,其中一个占据主导地位。例如,”现场代理”可能向拥有决定满足请求多少权力的”中央代理”请求资源。
- 若干智能体,例如几家公司相互竞争的情形(例如汽车或工业化学品销售行业),或公司内部同一层级存在多个组织单元的情形。
- 多个智能体,例如供应链中不同制造商为制造发动机或整车等零部件提供组件的情形。
- 单个智能体在了解一个未知环境,这是我们建模任何涉及不确定性问题的方式。这个未知环境可以是天气、人群中疾病的存在情况,或是购买某产品的市场。
我们将在本系列后续内容中重新讨论多智能体问题,届时我们将展示如何扩展(第二卷中介绍的)符号体系以处理多个决策者的情形。目前,我们将专注于单一决策者,该决策者可能是两个或更多决策者中的一个。
我们目前有几个理由避免在此阶段明确界定决策者:
- 决策的组织方式可能各不相同,即使是在同一行业(如卡车运输或供应链管理)或问题领域(如公共卫生)内也是如此。
- 如果你的目标是开发一个计算机模型,你可能希望改变决策的组织方式。建模者可能希望将一组决策视为由单一智能体做出,这既可以是一种简化处理,也可能是因为这样做能产生更好的结果。
- 列举不同类型决策的目的并非要在单个建模项目中处理所有这些决策。相反,有必要先明确模型的目标,然后选择与项目目标相关的决策。
- 我们建议读者从单一决策者的视角来处理这些项目,这不一定要与组织内部实际做出决策的方式保持一致。第二卷中通用建模框架的初步介绍将支持这一做法。
目前,当面对多智能体情境时,我们建议分别处理每个智能体,以确定其各自的指标和决策。不确定性通常会影响更广泛的环境,尽管每个智能体可能都有与其自身决策和绩效指标相关的不确定性。
用计算机做决策
计算机有一种非常直接的决策方式。首先要知道决策的类型以及可能(可行)决策的集合。然后使用预先指定的方法来”做出”决策,这意味着从可行(或允许)决策集合中做出特定选择。
我们首先介绍如何称呼这些决策方法:
定义: 策略是一种在决策做出时利用可获得的信息来选择一个允许的决策的方法。
设计策略有两大策略类别,每一类又可细分为两小类,从而形成四类策略,涵盖了做出决策的任何方法。这些是:
策略搜索 - 这种策略创建的函数需要经过调优,才能长期表现良好。它们在做决策时不会直接对未来进行规划。这些可以分为两类:
- 策略函数逼近,即PFA。
- 成本函数逼近,即CFA。
前瞻策略 - 这种策略试图通过优化当前决策的表现,加上对当前决策对未来影响的近似估计,来做出当下最优的决策。这些同样可以分为两类:
- 基于值函数逼近的策略,即VFA。
- 直接前瞻逼近,即DLA。
下面对每种策略进行说明。
策略函数逼近(PFAs)
策略函数逼近(PFAs)代表任何解析函数,给定我们已知信息的输入,输出我们应采取的行动。以下是一些例子:
- 库存订购策略通常在库存降至水平”s”以下时下单,此时下单将库存补充到”S”。”s”和”S”是需要调优的参数。
- 医生可能在患者的A1c(反映3-5个月血糖滚动平均值)超过6.5时开具胰岛素注射处方,并在其降至6.0以下时停止。同样,这些数值需要不断调整以找到最佳效果的取值。
PFA可以是任何解析函数,例如线性或非线性函数。PFA不能包含的内容(而这将出现在其余三类策略中)是内嵌的优化问题。PFA可以是简单的规则,但也可以是非常高维的非线性函数,例如神经网络。
成本函数逼近(CFAs)
在许多问题中,做出决策的最佳方法是在某一时间点使用一个确定性近似,并通过各种参数对其进行修正,这些参数经过适当调优后,能够产生长期表现良好的决策。这种方法在实践中被广泛使用,尽管人们常常没有意识到:a) 可以引入参数来帮助改进决策,和/或 b) 未能认识到这些参数可以被调优以产生更好的结果。
这种方法最简单的例子如图4.2所示,其中我们需要选择在社交媒体上推广哪种产品(我们可以用第2章智能试错节中列出的任何具有离散选择的问题来替代)。基于以往经验,我们对每种产品的价值有一个点估计,而我们已经了解到这其中可能包含大量噪声,导致某些估计不够准确。我们也可以利用以往经验来估计标准差,它衡量的是不确定性的分散程度。通常情况下,我们有95%的把握认为真实值落在正负2个标准差范围之内。
我们接下来要做的是为每个产品$x$创建一个”指数”,其表达式为:
\[Index_x = \text{Avg.value}_x + \theta \,(\text{std.dev}_x)\]然后我们将选择推广具有最高”$Index_x$”值的产品$x$。我们通过求解以下优化问题(这是确定性的)来找到产品$x$:
\[\max_x \{\text{Avg.value}_x + \theta \,(\text{std.dev}_x)\}\]求解这个优化问题相当简单——我们只需对数值$\text{Avg.value}_x + \theta (\text{std.dev}_x)$进行排序,找出具有最高值的产品$x$(而你原以为确定性优化一定很难吧!)。
那么,挑战就在于如何选择可调参数$\theta$。如果我们使用$\theta = 0$,那就意味着我们只是在使用当前的估计值。问题在于,如果我们的估计值”$\text{Avg.value}_x$”因为一连串的坏运气而偏低,我们可能永远不会再尝试推广产品$x$。如果我们使用$\theta = 2$,那么我们就是在使用一个对产品$x$价值非常乐观的估计,这将鼓励尝试那些不确定性水平较高的产品(这未必是一个糟糕的策略)。
使用参数化确定性近似的思想极其强大。航空公司在优化航班时刻表时就会使用这种方法,因为他们必须使用每次航班天气延误的估计值。如果他们使用中位数,那么有一半的时间延误会超过时刻表所预期的程度,这将导致大量飞机晚点抵达,进而延误后续航班。然而,如果使用第90百分位数,那么可能会在时刻表中引入过多的富余时间,导致飞机利用率低下。
在模拟器中调优一组参数$\theta$是最容易想到的做法,但在实际中往往(例如航空公司排班问题)问题过于复杂,难以采用此法。因此,可能有必要进行在线学习,即在实际场景中测试不同的取值并观察实际表现。
值函数逼近(VFAs)
设想我们正在调度一支卡车车队,需要分配司机将货物从取货地点运送到送货地点。图4.3展示了这一问题必须随时间反复求解的过程。我们在周一做出的决定将改变周二和周三司机的位置。每天,托运人都会打电话预订新的一批货物,这些货物事先是未知的,因此承运人必须在周一做出分配决策,而不知道周二或周三会发生什么。
在存在不确定性的情况下对多天的规划时域进行优化,是一项极其复杂的任务。相反,我们可以对未来司机的价值进行近似估计,如图4.4所示。这可以通过对未来进行模拟运行来实现,然后计算不同地点司机的价值。当我们纳入这些价值(称为”值函数逼近”)后,我们在周一需要求解的问题就不会比完全忽略将司机派往不同地点所带来影响的情形更复杂。
对处于特定状态的价值进行近似,是研究文献中非常流行的一种策略,但其成功程度高度依赖于特定问题的结构,并且往往只对少数具有特殊结构的问题效果良好。
直接前瞻逼近(DLAs)
在许多问题中,我们必须对未来进行规划才能做出当前的决策。直接前瞻策略最为人熟知的例子之一,就是我们使用谷歌地图规划到达目的地的路径。
DLA策略可以分为两个子类:
- 确定性前瞻——在这种情况下,我们对任何不确定的量(例如交通延误)使用点估计。
- 随机前瞻——在这里,我们希望明确地对我们所面临的不确定性进行建模,例如在驾车前往目的地途中可能出现的潜在交通延误。将这一类进一步细分为两种类型会有所帮助:
- 具有离散选择的问题——这些问题通常用决策树来求解。
- 决策为向量的问题——在这种情况下,我们需要使用数学规划的工具在多维空间中进行搜索。
请注意,我们不需要对确定性前瞻进行细分,因为即使每个时间段的决策是标量,整个前瞻模型也需要对跨越规划时域各时间段的决策向量进行优化。
图4.5(左)展示了谷歌地图规划从康涅狄格州哈特福德(右上)到新泽西州普林斯顿(左下)的路径,出发时间为下午4点的一个例子。请注意,该路径正好穿过纽约市,而经过纽约市的时间大约在下午5点左右,此时预计交通最为拥堵。谷歌地图使用的是点估计,但仍然认为这是最短路径。
当然,任何有经验的旅行者都会明白,下午5点穿越纽约市的实际行程时间存在巨大的不确定性。图4.5(右)展示了谷歌提供的另一条路线,让旅行者可以在预计更短但存在大幅延长风险的路径,与预计时间接近谷歌估计值、但略长一些的路径之间进行选择。
因此,第一条路径是确定性前瞻的一个例子,但用户在评估该建议时可以自行引入不确定性因素。通过选择第二条路径,我们实际上是在以一种虽显临时但确实可行的方式,求解一个随机前瞻问题。
当我们对不确定的未来进行规划时,有多种策略可用于对这一过程进行建模,以帮助做出当下的决策。一种策略是使用点预测(即确定性前瞻),但引入可调参数,使解决方案更加稳健。
混合策略
除了上述四类策略之外,我们还可以创建各种混合策略,将两类、三类甚至全部四类策略结合起来。以下是一些以供应链为背景的例子:
- CFA与PFA结合——选择成本最低的供应商,但配合规则以排除高风险公司。
- 前瞻(DLA)与VFA结合——优化季节性生产计划,同时用函数捕捉期末库存的价值。
- 参数化确定性直接前瞻(DLA/CFA)——使用$\theta$百分位数(例如第80百分位数)的需求预测来规划季节性生产计划。
- VFA策略配合PFA——利用VFA对每个仓库的库存进行估值来进行配送规划,但使用规则(PFA)强制将货物配送至特定地点。
- VFA与CFA结合——从基于线性模型的VFA策略开始,然后使用模拟器调优该线性VFA的参数,以获得最佳结果。
尽管这些策略听起来可能很复杂,但我们完全可以描述出人类决策使用它们各自的具体场景。例如,最复杂的策略是使用随机前瞻,我们在上文用谷歌地图导航问题加以说明,其中选择了一条更长的路径,以避开纽约市拥堵的风险。
哪些策略最为广泛使用?
讨论各种策略听起来可能很复杂、令人困惑。重要的是要记住:
- 每个人都要做决策。我们每天都会面对各种情况,无论是为了度过一天,还是工作中出现的决策。
- 当我们做决策时,我们的大脑会使用某种方法,这种方法属于四大类中的一种(也可能是混合类型)。
首先,我们将第四类,即 DLAs(直接前瞻近似策略),分为两种类型:确定性前瞻和随机性前瞻。然后,我们将把最后一种类型,随机性前瞻,再分为两个子类型:决策是一组离散选择之一的问题,以及决策是向量的问题,例如资产在不同投资之间的分配,或将机器分配给任务。
这样我们就得到了六种策略类型,并将其归为四大类:
第一类 - 该类别包括三种策略类型:
- 策略函数近似(PFAs),包括所有简单的规则,例如”天冷时穿外套”或”产品打折时购买”。PFAs 既可以是基于规则的”若处于此状态,则采取此行动”,也可以是一个解析函数,这一主题我们将在第三卷中再次讨论。
- 成本函数近似(CFAs),包括任何需要求解确定性优化问题(通常是对涉及不确定性的真实问题的一种近似)的方法,例如图 4.2 中我们的离散选择问题。
- 确定性直接前瞻近似(Det-DLAs),我们据此对未来进行规划,就像谷歌地图所做的那样,使用任何不确定量的点估计。
CFAs 和 Det-DLAs 都涉及求解确定性优化问题;唯一的区别在于,CFAs 不对未来进行规划,而 DLAs 则会进行规划。
第二类 - 决策为离散选择的随机前瞻策略。在这里,我们在评估每个选择时明确地对不确定性进行建模。这类策略通常借助决策树这一工具进行广泛研究。
第三类 - 基于值函数近似的策略,其中当前决策会同时考虑即时成本或奖励,以及转移到某个状态后未来价值的估计。这是一类先进且计算上具有挑战性的策略,只有一小部分专门问题才需要用到它。
第四类 - 决策为向量的随机前瞻策略。这是一类非常复杂的问题,需要复杂的策略,因为随机前瞻本身就是另一个随机优化问题,需要引入简化措施以降低计算复杂度。
第一类策略被所有人使用,无论他们是否接受过正式训练。这些策略是最简单的,但这需要引入必须经过调优的参数,而这可能颇具难度。
人类大脑已经进化出了运用全部四大类策略的天然能力,至少在离散选择的情境下是如此。我们甚至能够在不自知的情况下在这些类别之间切换。如果我们在下棋(并且对这个游戏有一定经验),我们很可能凭记忆走出前几步棋(有经验的棋手能够凭记忆走出相当多的棋步)。这是一种纯粹的 PFA。然而,在某个时刻,我们开始思考对手可能会怎么走,这就涉及了一种直接前瞻策略,通常还会与 VFAs 结合使用,后者能够捕捉损失重要棋子所带来的价值影响。
习题
复习题
- 给出决策的正式定义、非正式定义,以及三个决策的例子。
- 解释"内生可控信息类"(endogenously controllable information class)的含义。在同一语境下所描述的另外两类信息分别是什么?
- 请为以下每个类别举出决策的例子:
- 二元决策。
- 至少包含五个选择的一组离散选择。
- 在同一时刻必须做出至少 10,000 个不同决策。
- 请列举五个连续决策的例子。
- 请为以下三种决策类型各举三个例子:
- 影响物理资源的决策。
- 影响金融资源的决策。
- 影响信息收集或分发的决策。
- 请举出三个决策必须在不同时间尺度上做出的场景。描述该场景以及决策的时间安排。
- 用你自己的话总结四大类策略,并针对某个问题场景为每一类给出一个例子。
建模题
- 请为以下每个类别举出一个决策的例子:
- 每分钟(或更快)都必须做出的决策。
- 每天都必须做出的决策。
- 每年都必须做出的决策。
- 请识别以下每个场景中隐含的决策,以及做出每个决策的决策者。
- 某个人必须按照医生的处方服药,而医生所遵循的方案是由药物研发人员制定的。
- 电网必须告知某电力公司应启动哪些蒸汽发电厂,以及何时启动。这些调度决策由前一天运行的计算机模型做出。
- 某共同基金经理必须决定手头应保留多少现金,以应对个人投资者(小额)和零售投资者(大额)的存款及赎回请求。
- 请举出三个策略函数近似的例子。描述相应场景以及该 PFA 将如何运作。
- 请为一个离散选择问题举出一个成本函数近似的例子。
- 你正在使用谷歌地图寻找路线,以便在早上 8:30 前到达单位。你还必须决定预留多长时间以便按时到达。请描述所涉及的决策,以及在做出每个决策时所使用的策略类型。
- 假设你要设计一个用于下棋的计算机程序,请尽可能多地描述你可能会使用的策略类别。并说明你所识别出的每一类策略将如何应用。