《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一3.4 效用函数无法以增量方式求值

简介: 本节书摘来自华章出版社《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一 书中的第3章,第3. 4节,作者:(美) Frederick P. Brooks, Jr. 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.4 效用函数无法以增量方式求值
理性模型的假定是,设计是对于设计树的搜索,并且在每个节点人们可以对若干下一级分支的效用函数求值。 事实上,除非探索到所有分支的所有叶节点的程度,否则人们就很难做到这一点,因为大量的效用指标(如性能、成本等)严重依赖于随后的设计细节。因此,虽然对效用函数的求值在原则上是可行的,但是在实践上,人们会在这里再次遭遇组合爆炸。 那么,设计师该怎么做?估算!理所当然,正式的也好,非正式的也罢,都要做估算。在求精的步骤中,人们必须对设计树进行剪枝。 经验。很多辅助信息都有助于该过程中的直觉判断。辅助信息之一是经验,无论是直接还是间接的:“OS/360的设计师们将OS/360操作系统的系统范围内共享的控制块的格式细节暴露出来,这导致了一场维护工程师的噩梦。我们会将其封装为对象。”“宝来B5000系列在很久以前就探讨过基于叙词的计算机体系结构。由于本质性能损失较大,我们不打算继续深入设计子树了。”当然,工艺方面的权衡早已日新月异,但是上面的例子仍然很好地说明了经验教训。研习设计史的最有力的原因是去了解怎么样的设计方案是行不通的以及为什么这些设计方案行不通。 简单估算量。设计师们经常在进行设计树探索的早期就例行地采用简单估算量。建筑师们在得知目标预算以后,会粗略地估算一下平均到每平方英尺的成本,得出一个每平方英尺的目标,并使用它进行设计树的剪枝。计算机架构设计师们则会根据指令组合来对计算机性能做粗略的初步估算。 当然,这样做的危险在于,粗略的估算有可能会将本来可行但由于某个特定的估算量所采用的估算方法将看上去不可行的分支剪掉。我见过一个建筑师,他以过高的成本为理由,把一个早已指定的房顶结构之下的一堵墙壁给取消了,纯粹基于例行的平方英尺估算量就作了这样的决定。而实际情况是,因增加的空间而付出的成本主要在房顶,但该成本已经计算在内,所以这样会造成边际成本非常低。 将欲免费取之,必先无偿予之。

相关文章
|
关系型数据库 分布式数据库 PolarDB
PolarDB 开源部署体验评测
PolarDB 开源部署体验评测
422 3
|
安全 程序员 编译器
【实战经验】17个C++编程常见错误及其解决方案
想必不少程序员都有类似的经历:辛苦敲完项目代码,内心满是对作品品质的自信,然而当静态扫描工具登场时,却揭示出诸多隐藏的警告问题。为了让自己的编程之路更加顺畅,也为了持续精进技艺,我想借此机会汇总分享那些常被我们无意间忽视却又导致警告的编程小细节,以此作为对未来的自我警示和提升。
1514 100
|
消息中间件 存储 监控
云消息队列RabbitMQ版测评报告
在数字化快速发展的背景下,分布式系统的稳定性和可靠性至关重要。阿里云推出的云消息队列RabbitMQ解决方案,通过架构优化和一键部署,有效提升了系统的吞吐量和响应速度,降低了部署和维护成本。本文详细介绍了该方案的部署流程、方案验证,并提出了改进建议。
|
Java API 数据库
Java 反射机制:动态编程的 “魔法钥匙”
Java反射机制是允许程序在运行时访问类、方法和字段信息的强大工具,被誉为动态编程的“魔法钥匙”。通过反射,开发者可以创建更加灵活、可扩展的应用程序。
413 3
|
API 开发者 内存技术
鸿蒙next版开发:相机开发-会话管理(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了完整的API来管理相机会话,包括创建相机输入流、预览输出流、拍照输出流,配置和管理会话。本文详细介绍了相机会话管理的基础步骤和代码示例,涵盖会话创建、闪光灯和焦距配置及错误处理等内容,帮助开发者更好地利用ArkTS开发相机应用。
411 4
|
存储 人工智能 安全
阿里云服务器通用型g7、g8a、g8y、g8i实例区别及选择指南
目前在阿里云的活动中,属于通用型实例规格的云服务器有通用型g7、通用型g8a、通用型g8y和通用型g8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:4,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍通用型g7、g8a、g8y、g8i实例的性能、适用场景的区别以及选择参考。
WK
|
存储 移动开发 API
哪些功能是HTML5的新增功能
HTML5作为HTML的最新版本,引入了许多新的功能和特性,这些功能极大地丰富了网页的表现力和交互性。以下是HTML5的一些新增功能:
WK
423 2
|
XML 存储 JSON
开源:一款方便、实用的数据库文档管理工具 - SmartSQL
SmartSQL 是一款开源的数据库文档管理工具! 支持SqlServer、MySql、PostgreSql、SQLite、Oracle等多种数据库文档查询、生成。该工具从最初支持CHM文档格式开始,通过开源,集思广益,不断改进,又陆续支持Word、Excel、PDF、Html、XML、Json、MarkDown等文档格式的导出。同时支持对数据库表、视图、存储过程进行自定义分组管理、导出。
1256 156
开源:一款方便、实用的数据库文档管理工具 - SmartSQL
|
弹性计算 Java 应用服务中间件
【最佳实践】Logstash高效的数据索引迁移能力—如何实现从腾讯云Elasticsearch迁移至阿里云
本文为您介绍通过Logstash,将Elasticsearch(简称ES)索引从腾讯云ES迁移至阿里云ES中的方法。
3755 0
【最佳实践】Logstash高效的数据索引迁移能力—如何实现从腾讯云Elasticsearch迁移至阿里云
|
NoSQL 关系型数据库 API
内部系统开发原来可以这么爽!5款低代码平台推荐
这里码匠为您推荐 5 款海外目前流行的内部系统低代码平台并进行评测,为您在企业低代码平台的选择上助一臂之力。
1905 0
内部系统开发原来可以这么爽!5款低代码平台推荐

热门文章

最新文章