第二周学习总结(Markdown初体验)
0 引言
本周各科逐步进入课程授课内容,有些课程开始布置课堂作业,但总体还处于起步的慢节奏阶段,给我们留有一些换课以及补漏的调整时机。
我个人本周逐步确定了大体上的选课意向,有部分课程还在纠结;同时,在时间允许的情况下我也继续去旁听了其他课程进行学习补充。
1 数字集成电路【旁听】
本周与上周的数集主要介绍了几种晶体管的基础原理与电气结构。
-
考核情况:
4次Homework,4次labs,共占30%;
期中考试,占20%;
Final exam,占10%。
Literature review以及Presentation,占20%;
Project,占20%;
-
上周,课程主要内容是进行P型与N型二极管的原子特性(硅、硼、砷)、BJT以及MOSFET晶体管的结构介绍(nMOS、pMOS、CMOS)、对FinFET工艺的简要介绍。
-
本周,课程内容是:
- 对CMOS的静态电学特性进行了更进一步的讨论,即当Gate端电压在不同范围时,CMOS的三种工作状态:截止区、放大区(线性工作区)、饱和区,着重讲解了nMOS的I-V特性以及电气公式。
- 从微观电子运动的角度去理解,当Gate端电压不同时,在nMOS中Gate端的 Polysilicon层、二氧化硅层、Inversion Region、Depletion Region之间的变化。
- 讲解了现实中晶体管的I-V曲线并不是如上述所言,因为其内存在不能忽视的场效应:水平电场与垂直电场对晶体管内电子运动的作用关系。
2 算法设计与分析
算法课程与我想的有些许区别,本以为是围绕新算法的讲解,但实际上是算法“分析”,以及学习如何证明正确算法的“正确性”,泪目。
-
考核情况:
5次Homework,占20%;
期中考试,占35%;
期末考试,占35%;
Project,占10%。
-
上周课程内容:
-
简要介绍了算法的监禁复杂度分析的符号:Tight bounds (O)、Lower bounds (Ω)、 Tight bounds (Θ),要注意紧确界即上下界相同都是它。
-
同时,老师对简单问题到NP问题引例让我印象深刻:
《最多不重叠任务问题》(贪心问题 n l o g n nlogn nlogn)是《二分图中最大独立点对问题》(网络流 n 2 n^2 n2)的一个特例——把任务看成一个点,任务之间有冲突就连一条边,转化成二分图问题;
而《二分图中最大独立点对问题》(网络流 n 2 n^2 n2)是《图论中寻找最多独立点子集问题》(NP问题)的一个特例——边点互换;
而《图论中寻找最多独立点子集问题》(NP问题)是《寻找带权最大连通分量问题》(NP问题)的一个特例——拓展成带权图;
而《寻找带权最大连通分量问题》(NP问题)又是《竞争性决策最优问题》(P-SAPCE问题)的一个特例——拓展成双玩家决策问题。
-
-
证明各种贪心算法的正确性:
-
证明《最多不重叠任务问题》的贪心算法是正确的(以任务末时间排序),证明别的选择算法是错误的。
证明错误的办法——举反例。
证明正确的方法——反证法(设当前贪心算法不是最优算法,则每次选择会有更优解,最后推出矛盾)。
-
证明《最少超时完成作业问题》的贪心算法(无起始时间,同时发布,有权值和截止时间)是正确的(依然按任务末事件排序),证明其他算法是错误的。
证明错误的办法——依然是举反例。
证明正确的方法——反证法,并基于概念完成推导(绕脑子):最少超时完成作业的算法肯定是没有偷懒的空窗期的(有时间玩干嘛不去写作业)。
-
证明“向未来看踢掉序列中最远的那个cache line”的cache置换算法(贪心算法)是最优的置换算法——太复杂,分类讨论狂魔+数学归纳法,离谱。
-
证明基于贪心的聚类算法是最优的——即没有完成的Kruscal算法,证明方法也确实和最小生成树MST结合了一点。
-
个人感受:万万没想到居然是证明课,仿佛能想到期中考试时被数学证明支配的恐惧。
-
-
本周课程内容:
-
学习了几个分治算法,当然最终还是回到它的正确性证明:
-
首先介绍分治算法的特点:问题可分;子问题可递归;子问题结果融合。然后是证明分治算法的复杂度是 O ( n l o g n ) O(nlogn) O(nlogn),分类讨论 n n n是不是2的幂指数,再加上递归树求模运算等数学推导。
-
《寻找二维平面最近点对的距离》。这个我以前有看,但是没看完,老师讲的很不错,果然填鸭是比自学方便,哈哈哈哈。
算法思路:
1. 把所有点从左至右,从上到下的顺序排序并标上id——预处理;
2. 把二维平面分成左半边和右半边,然后递归——分成子问题;
3. 对于左边右边肯定能各求得一个最短点对的距离为 δ 1 , δ 2 \delta_1,\delta_2 δ1,δ2,我们把最短的叫 δ \delta δ,即 δ = m i n ( δ 1 , δ 2 ) \delta=min(\delta_1,\delta_2) δ=min(δ1,δ2),接下来是子问题交界部分的处理过程: 对交界左右各邻域 ± δ \pm \delta ±δ位置的点对,进行各点与后8各点进行距离计算,并更新 δ \delta δ即可,证明是基于简单几何的画图分块,我就略了——子问题结果融合;
-
《二进制大数乘法》。算法思路是,通过对二进制数的乘法公式进行冗余加减,基于冗余的因式分解,凑成有相同部分的乘法项们相加的结果,这样就可以利用存在相同部分的乘法项而省略计算次数。算法复杂度也因此从 n 2 n^2 n2降低到了 n 1 . 585 n^1.585 n1.585。
-
《矩阵乘法》。算法的优化思路其实和上面是一样的,最终。算法复杂度从 n 3 n^3 n3降低到了 n 2 . 81 n^2.81 n2.81。
-
《快速傅里叶变换FFT》。首先讲DFT,然后讲FFT。利用频域和值域的计算复杂度不同来进行优化,这一块我没理解老师的讲法,还是按《算法导论》上的理解的。
-
这两个乘法和FFT,我以前闲的蛋疼时看过《算法导论》,缺点就是证明过程记不住hh。
-
-
学习了动态规划算法(DP)前半部分,以及期间的两个简单例子。
-
讲解DP与分治问题的区别:虽然都可以划分成子问题,但DP最大的特点就是子问题重叠与重复计算。
-
《带权的最大不重叠任务选择问题》。
我个人目前理解的DP是,思考问题一是习惯把“前xxx问题能得到的最优解是什么”作为子问题,二是从“状态”去思考,有多少个影响状态的参数,那就把它们加入到DP的状态转移方程中去。之后,看看有什么预处理过程可以削减这些参数,使得问题形式得到简化。
在这个问题里,“我的空闲时间”是影响任务选择的参数,而“任务之间是否相互冲突”也是影响任务选择的参数。
虽然有两个参数,但是我们可以优化这个DP问题的参数规模:对任务按照deadline时间排序,这样按顺序选择任务,并建立任务之间“上个最近但最晚结束的任务索引表”来消掉第二个冲突的参数——建立索引表 p [ i ] = j p[i]=j p[i]=j表示任务i之前最晚结束的任务是j。
因此,令 o p t [ i ] = j opt[i]=j opt[i]=j表示前i个任务进行选择,可以得到的最大权值最优解是j,如果有n个问题,我们肯定是要求解 o p t [ n ] opt[n] opt[n]。此问题的状态转移方程是: o p t [ j ] = m a x { v j + o p t ( p ( j ) ) , o p t ( j − 1 ) } opt[j]=max\{v_j+opt(p(j)),opt(j-1)\} opt[j]=max{vj+opt(p(j)),opt(j−1)},边界是0,直接0处理即可。用递推来避免DP的重复计算,实现加速。
-
《0/1背包问题》。
思路:第一还是要从“前xx个物品里得到的最优解”作为子问题;第二,背包的容量是影响问题后续状态的关键因素,那我们很自然的就是把“背包剩余容量”作为DP的状态转移方程的关键。
0/1背包我以前看过好几次,刚开始理解不能,现在被时间冲刷习惯了。状态转移方程是 o p t ( i , w ) = m a x { o p t ( i − 1 , w ) , v i + o p t ( i − 1 , w − w i ) } opt(i,w)=max\{opt(i-1,w),v_i+opt(i-1,w-w_i)\} opt(i,w)=max{opt(i−1,w),vi+opt(i−1,w−wi)},即前i个物品里用w大小的背包能装到最有价值,肯定是两种情况里的最大值,那两种情况呢?我用w大小的包,选了第i个物品和不选它的情况。
-
-
3 研究生论文写作
-
考核方式:
考勤,占15%;
Academic Paper 50%;
Paper的演讲公式海报制作,35%.
-
学习笔记:
老师上课的内容以干讲为主,比较容易犯困,记录内容不多,如下:
如何解决Chinglish问题? ——Only多多练习,当写英文占据生涯大部分时光时候,技能自然提升~
做科研最关键的是什么? ——可复现!(滑稽,我想起了前几日的饶毅事件…)
好习惯:一旦确立了课题方向,应当就开始读文献,甚至背诵其中的句子,应当半年内内阅读优质的journal paper 50篇+。
文章最重要的部分是Introduction,是反应作者水平的体现,应没有废话的阐述:我要解决什么、别人方法为什么不行、我为啥可以等问题。
等等。
4 计算机体系结构Ⅲ之HPC
-
考核方式:
课堂参与,占5%;
Homework,占15%;
10次,一周一次的Paper Reading,抽出一次作Presentation,占30%;
Project,其中1次proposal的Presentation,最终final report以及presentation,占60%。
-
内容:虽然上课两周了,但目前还是以介绍为主,从什么是HPC,到HPC对内存、OS、硬件(如Cache、Superscalar、TLB等)技术的要求与发展进行了介绍。
5 数字VLSI设计课程设计
-
考核方式:(好像有变化)
课堂,占20%;
期中考试,占40%;
期末考试,占40%;
-
课程内容:
第一节课(上周)是由企业的孙老师讲行业情况以及基本的芯片涉及到流片的过程。
第二节课(本周)是由企业的孙老师,讲IC的Design流程前的准备工作以及意义,门级电路设计过程中的时钟不同步以及各种时延问题;HDL编码过程中的命名规范;注释规范问题;编码风格问题等。
-
感受: 很多很困。
6 综合英语
-
感受:
老师比上学期更不苟言笑了点,新增每周线上英语作业打卡;本学期内容是职场自我介绍与入职交流。
7 数据科学与金融科技概论【旁听】
第一节课是课程概述,课程是以讲座以及project的形式,增强同学们对AI在量化投资上的应用技能。
第二节课,请了一位证券企业人员,讲了国内各大机构、证监会、银监会、中国人民银行等身份地位,算是一场基础金融知识讲座,作为小白学到了一些基础名词哈哈哈。、
第三节课,请了一位上证信息的老师讲述了基础的量化分析模型、风控模型与要考虑的因子,我作为肯定没时间实践的旁听鬼才,感觉第二节课收获更多点哈哈。
第四节课,张老师自己对project进行更细的各环节要求。
8 公司金融与财会原理【旁听】
第一节课【上周】是以瑞信咖啡和贾跃亭的例子,告诉我们会计很重要,搞会计的忽悠股民和股东很有一套,虽然最终都会东窗事发。
第二节课【这周】,听讲座冲突,没听。
9 其他事务
9.1 讲座
听了钱老师的《The evolution of MOSFET Device from 2D to 3D》。老师讲述了MOSFET工艺不断精进的过程中几个关键的技术突破,以及期间造成技术瓶颈的影响因素。
- 首先是摩尔定律,钱老师认为很有可能到3nm附近摩尔定律就卡住了,接下来只能探寻新材料等黑科技才行了。而这段时间也是我们国内技术快快提升的宝贵机会,(超过就先别做梦了)。老师的一个观点让我很有感觉:摩尔定律本质上是一个规律,但工业界却将它当作定律来坚持。那么到底是摩尔定律揭示了行业发展的规律,还是诸如Intel和AMD可以想保持摩尔定律而使得摩尔定律得以传承至今天呢?我也觉得是后者,摩尔定律反应的是人为因素在其中不可忽视。那么同样的,在摩尔定律即将卡在3nm的今天,我们要重新审视期间的人为因素而不是只关注这摩尔定律的“集成加倍”的特点。
- 钱老师从FINFET技术提到SOI技术。他提到,SOI技术也是高集成度的一种技术选择,只是不同路线而已,以后的发展未可知。
- 钱老师提到,是什么因素制约着我们迈向更小的工艺呢?短沟道效应、DIBL效应——纷纷导致漏电;栅介质小不下去,如果能越小能带来越强的控制力;器件的沟道参杂上不去(越高越好);二维平面不会有,但是三维中太薄的工艺导致的量子效应会产生器件特性的大转变,很难搞定;等等。
- 为什么之前有家公司(我忘了名字)开发出了7nm工艺,但是最后却破产并解散了团队?因为7nm工艺研发难,但是使用它的加钱也很高,小公司用不起,只有少数的如华为、Intel的大公司采用的起。于是最终订单不够,入不敷出,赚不到钱。
- 为什么我国要发展先进工艺?战略价值。
- 校内科研与工业界科研的区别是什么?学校内的科研,必然是走在前沿上的,所需要的知识储备更高;工业企业的科研,是以盈利为目的的,要打败周边或者是同行业其他企业而提升竞争力为导向的。
OK,这就是本周的个人感受,接下来的一周,一定要hold住狂风暴雨般的作业…( ̄▽ ̄)"