热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

《设计原本—计算机科学巨匠FrederickP.Brooks的反思》一一2.1模型概览

2.1模型概览工程师们对于设计过程似乎有一个清晰但通常来说也是隐含的模型。这是一个关于有序过程的有序模型,也就是工程师的构思过程。我可以举一个海滨小屋设计࿰

2.1 模型概览
工程师们对于设计过程似乎有一个清晰但通常来说也是隐含的模型。这是一个关于有序过程的有序模型,也就是工程师的构思过程。我可以举一个海滨小屋设计(在第21章给出其草图)的例子来说明这是怎么回事。 目标。首先从主要目标或目的开始:“某人想要建一个海滨小屋,以欣赏面向大海的一块海滨场地的风景。” 必要条件。和主要目标相关的是一组必要条件或者说是次要目的:“海滨小屋应该加固,以抵御飓风来袭;它应该具备至少14个人躺卧和就座的空间;它应该为宾客提供令人难忘的视野”,等等。 效用函数。人们会根据一些效用(或有用性)函数来为若干必要条件依其重要性加权,以对设计进行优化。到目前为止,我知道的情况是,在大多数设计师的想象中,所有的项是由线性相加的方式组合起来的,但在单独构思每一个效用函数时,则并非使用线性方式,而是以渐近曲线的方式趋于饱和。举个例子,必要条件之一是更大面积的窗户,这是在小屋设计中所需要考虑的问题。但是由每平方英尺窗户面积的额外增加所带来的效用是递减的。就电源插座的数量来说,这也一样成立。窗户面积以及插座数量的总效用,看起来却仅仅是每个项的简单之和。 约束。每种设计以及每种优化都是受到一些约束限制的。其中有一些约束是二元的,只有满足或不满足的结果―“这所小屋必须位于海滨场地的边界线并再向后退至少10英尺”。其他约束则更有弹性,不过在接近限额时所付出的代价会急剧增加,例如日程表就是这样一类约束―主人可能急切地要求该海滨小屋在温暖气候来临之前完工。有些约束是简单的,例如退后尺寸的限额,而另一些约束则在不经意间隐藏着令人生畏的复杂性―“该小屋必须满足所有的建筑法规”。 资源分配、预算和关键预算。许多约束的形式是固定资源在各个设计要素之间的分配。最常见的是一揽子成本的预算。但是,此类约束绝不仅仅只有这么一种,而且在特定的项目中,总预算约束也并不一定就是最大限度地决定了设计师注意力的约束。例如,在海滨小屋的楼层规划中,占支配地位的定量因素是临海建筑距离的英尺数(甚至要精确到英寸)。在计算机体系结构的设计中,关键预算可能是控制寄存器或指令格式所占用的比特数,或总内存带宽的用量。而当人们解决软件的“千年虫”问题时,日程表上的工作天数成为了可分配资源中的关键项。 设计树。这么一来,按照理性模型的思路,设计师们形成设计决策。然后,在由于该决策而缩减后的设计空间中,他又形成另一决策。1 在每一个节点处,他都可以选取一条或多条路径,因此设计的过程可以认为是一种对于以树型结构组织的设计空间的系统化探索。 在这样一个模型中,设计在概念上(至少在概念上)是个简单的过程。人们对以树型结构组织的设计空间进行搜索,以可行性约束为依据对每种方案进行检验,从而优化效用函数。搜索算法是众所周知的,并且可以清晰地描述。 这种清晰性仅仅是指对所有路径进行的穷举搜索,寻找一个真正的最优解。设计师们通常只去寻找一个“足够好”的满足解。2 许多工程师似乎采用了某种深度优先搜索策略进行近似估算,并在每个节点上选择最有前途或最有吸引力的方案,并采用探索到底的办法来达成目的。如果遇到死胡同,他们会采用回溯的办法并尝试另一条路径。预感、经验、连贯性和审美观引导着每一次的方案选择。3



推荐阅读
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 堆是一种常见的数据结构,广泛应用于计算机科学领域。它通常表示为一棵完全二叉树,并可通过数组实现。堆的主要特性是每个节点的值与其父节点的值之间存在特定的关系,这使得堆在优先队列和排序算法中非常有用。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 随着生活节奏的加快和压力的增加,越来越多的人感到不快乐。本文探讨了现代社会中导致人们幸福感下降的各种因素,并提供了一些改善建议。 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 本文详细探讨了对回溯算法的理解,分析了其在解决“子集和”问题中的应用,并分享了学习过程中遇到的挑战及合作编程的经验。文章通过具体实例和代码片段,深入解析了回溯法的核心思想及其优化策略。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
author-avatar
一个人的生活啦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有