思维的类比

  • Learn More, Study Less 中提出了整体学习法(Holistic learning),其基本思想是:
  • 你不可能孤立地学会一个概念,而只能将其融入已有的概念体系中,从不同角度对其进行刻画来弄懂其内涵和外延
  • 并且书中使用三个类比对整体学习法进行拆解:
    • 1-构件(Constructs):一组紧密相关的知识;如学习 Java 时,构件就是 Java 所涉及到的各种知识
    • 2-模具(Models):对构件抽象出的可以进行移植和复用的主要特点;所谓 “举一隅不以三隅反,则不复也”
    • 3-高速路(Highways):看似毫不相干的概念间的连接;如跨领域、交叉学科间的某些概念的相似性
  • 即,你在做了足够多的构件之后,就可以抽象出某些可复用的模具,以快速的造新构件
  • 而由于复杂构件的组合性,不同领域的构件可能在某些角度具有相似性,这些相似性便是不同概念团之间的高速路
  • 实践多了(构件)大家都会有一些总结(模型),但真正让你与众不同的是,这些跨领域、多维度的连接(高速路)
  • Learning How to Learn 中提出了专注模式( Focused Mode)和发散模式(Diffuse Mode)的两种思维方式
  • 前者我们常常提起,就是指我们一心一意扑在某个东西上
  • 而后者,我们可能不太熟悉,是指我们处于相对放松的状态,原本不太相干的知识团发生了连接
  • 为了进行说明,课程使用我们小时候玩的弹珠游戏来进行类比:
  • 在专注模式下,缓冲器(图中蓝色的点)很密集,已经学到的知识就像是在小范围内形成的一些固定通路(图中橙色通路)
  • 我们在对熟悉的事务相关联的注思考时,可以思路顺畅的进行推理和思考
  • 但是对于一些从未接触过的新的概念(图中绿色通路),则不知道这个模式在哪里、看起来如何
  • 对应到图中,我们不知道如何让弹珠抵达这个区域
  • 这时,要开启一种新的思维模式,我们需要一个不同的思路 —— 发散模式
  • 在发散模式下,橡胶缓冲器很稀疏,想法(弹珠)蹦出来后,由于阻碍较少,可以在大范围内跳来跳去
  • 在这种模式下,我们可以从更高的维度、全局鸟瞰的视角来在不同的概念间进行穿梭,从而建立新的连接、打开新思路的入口
  • 这两种模式是互斥的,比如你在进行全景式思考时,势必就不能让思维陷入到某个细节问题的详细解决办法中
  • 从上面两个例子,我们可以看出:虽然用来类比的意像并非百分之百贴切,但确实抓住了所阐述道理的一些核心特点
  • 这便是类比的威力所在,通过大家熟知的意像来对新概念体系进行 “速写”,然后再展开细节,对这些意像进行适当地裁剪,从而达到对真实的逼近
  • 总的来说,类比既是我们进行学习的重要倚靠,也是我们进行阐释的强力手段
  • 类比,或者隐喻(metaphor)在软件工程中也非常重要
  • 代码大全(code complete)在第二章中提到了这一点
  • 通过隐喻选取合适的概念体系对你的代码进行组织,可以大大降低代码编写和维护的成本
  • 随便举个例子,在构造分布式任务调度系统时,我们通常会涉及以下概念:
    • 1-Job:逻辑上的一个任务
    • 2-Tasks:物理上调度到不同节点上的、属于同一个任务的一组子任务
    • 3-Hint:用以任务调度的约束,如容错域、资源余量
    • 4-Scheduler:组织调度策略的任务调度方
  • 这些概念最初取材于现实的工业生产,我们将其拿来,通过合理地定义这些概念的含义和联系,可以轻松地构造复杂的任务调度系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/527085.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣2- 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

ubuntu安装

一、安装虚拟机 https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 下载后运行安装向导,一直Next即可 许可证: https://zhuanlan.zhihu.com/p/685829787#:~:textpro,17%E5%AF%86%E9%92%A5%EF%BC%9AMC60H-DWHD5-H80U9-6…

单词接龙--C++

目录 题目描述 输入格式 输出格式 输入 输出 一、AC代码 二、代码分析 三、vector加深理解 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“…

【LAMMPS学习】八、基本知识的讨论(1.3)从一个输入脚本运行多个模拟

8. 基本知识的讨论 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和…

ICLR24_OUT-OF-DISTRIBUTION DETECTION WITH NEGATIVE PROMPTS

摘要 分布外检测(OOD Detection)的研究对于开放世界(open-world)学习非常重要。受大模型(CLIP)启发,部分工作匹配图像特征和提示来实现文本-图像特征之间的相似性。 现有工作难以处理具有与已…

灵活就业人员规模已达2亿人?财会卷王们如何在“卷卷卷”中脱颖而出?

先来看几个数据: 1️⃣2022年全国大学生毕业人数突破1000万,而2023年突破1100万; 2️⃣有超过200万海外留学生,即将回国就业; 3️⃣全国灵活就业人员规模已达2亿人。 (图源:互联网&#xff0…

CSS变换

CSS变换 根据 CSS 的变换的功能特性,它可以分为位移、旋转、缩放、倾斜和透视: 也可以分成2D变换和3D变换,2D变换是二维平面上进行的,即 X 轴和 Y 轴。这些变换不涉及 Z 轴。3D 变换允许元素在三维空间中进行操作,这些…

Linux——计算机进程基础知识

计算机基础知识 1.计算机组成五大部件: (1) 运算器 :也叫算数逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运算,移位,比较等。 (2) 控制器 : 它是整个计算机系统的控制中心&…

Maven的scope详解

依赖范围介绍 maven 项目不同的阶段引入到classpath中的依赖是不同的,例如,编译时,maven 会将与编译相关的依赖引入classpath中,测试时,maven会将测试相关的的依赖引入到classpath中,运行时,mav…

三星:HBM4的16层堆叠技术验证成功

随着人工智能、大数据分析、云计算及高端图形处理等领域对高速、高带宽存储需求的激增,下一代高带宽内存(High Bandwidth Memory, HBM)——HBM4已成为全球存储芯片巨头三星、SK海力士和美光竞相追逐的技术高地。 随着AI、机器学习以及高性能…

Linux 5.10 Pstore 功能测试

目录 简介环境配置内核配置参考备注 简介 Pstore(Persistent store support)是用于系统发生oops或panic时,自动保存内核log buffer中的日志。随着功能不断完善,Duo S使用Linux 5.10已经支持保存console日志、ftrace消息和用户空间日志的收集&#xff0c…

JavaScript - 你能说出解决跨域的一些方案吗

难度级别:中高级及以上 提问概率:65% 回答解决跨域之前,首先建议求职者描述什么是跨域。跨域问题是浏览器基于同源策略引起的,同源策略是浏览器的一种安全功能。同源要保证域名相同,或是被访问服务的协议+主机+端口都相同,那么反之这些属…

信阳附大医院-市民心中的健康守护者

信阳附大医院,一所集医疗、预防、保健、科研、教学、康复于一体的现代化综合医院,坐落于信阳市工区路600号,是市卫生部门批准成立的医疗机构,更是市民心中的健康守护者. 医院环境优雅,设施先进,服务周到,汇聚了一支技术精湛、经验丰富的医疗团队.医师们以患者为中心,用心倾听,精…

Hybrid混合开发 和 Android平台JSBridge的原理

书接上篇:移动端研发技术的进化历程 纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。 针对原生开发面临的问题,业界一直都在努力寻找好的解决方案,而时至今日&#xf…

matlab学习001-简单的矩阵输入及绘制信号曲线

目录 1,熟悉简单的矩阵输入 1.1,创建矩阵 1.2,在命令行调用文件中的变量 1.3,ones函数 1.4,who和whos的使用 2,绘制信号曲线 2.1,实指数信号 2.2,频率为50Hz的周期方波信号…

【Linux】软硬链接 / 动静态库

目录 一. 软硬链接1. 硬链接2. 软链接3. unlink4. 目录的硬链接 二. 动静态库1.1 静态库制作1.2 静态库使用2.1 动态库制作2.2 动态库使用3. 动态链接原理 一. 软硬链接 1. 硬链接 硬链接(hard link) 可以将它理解为原始文件的别名, 和原始文件使用相同的 inode 编号和 data …

动态规划:背包问题合集

01背包 定义dp[i][j]&#xff1a;在前i件物品中选出若干件&#xff0c;放入容量为j的背包&#xff0c;能获得的最大价值。 考虑第i件物品拿还是不拿。讨论c[i]与背包容量的关系&#xff1a; &#xff08;1&#xff09;j < c[i] 时&#xff0c;背包容量为j&#xff0c;而第…

C++进阶编程 --- 3(上).string容器、vector容器、deque容器、stack容器

文章目录 第三章(上)&#xff1a;3.STL 常用容器3.1 string容器3.1.1 string基本概念3.1.2 string构造函数3.1.3 string赋值操作3.1.4 string字符串拼接3.1.5 string查找和替换3.1.6 string字符串比较3.1.7 string字符存取3.1.8 string插入与删除3.1.9 string子串 3.2 vector容…

14届蓝桥杯 C/C++ B组 T5 接龙排序 (最长上升子序列DP+优化)

不难发现这是一个LIS问题&#xff0c;但是如果直接套用LIS的模版&#xff0c;在数据范围到达 1 e 5 1e5 1e5 的情况下&#xff0c;就只能够得到一半的分数&#xff0c;所以我们需要对其进行优化。 首先给出暴力的代码&#xff1a; #include<iostream> using namespace…

Linux虚拟网络设备深度解析:使用场景、分类与开发者指南

Linux虚拟网络设备支撑着各种复杂的网络需求和配置&#xff0c;从基础的网络桥接到高级的网络隔离和加密&#x1f510;。以下是对主要Linux虚拟网络设备的介绍、它们的作用以及适用场景的概览&#xff0c;同时提出了一种合理的分类&#xff0c;并指出应用开发人员应该着重掌握的…