- 博客(77)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 《区块链 基础知识25讲》笔记
第一讲软件系统可以通过如下划分来进一步分析:应用层与实现层;功能性特征与非功能性特征。 应用层关注用户的需求,实现层则关注如何满足这些需求。 功能性特征关注实现了什么,非功能性特征关注这些东西怎么实现。 大多数用户关注软件系统应用层的功能性特征,而很少关注其中的非功能性特征,特别是实现层的非功能性特征。 对于任何软件系统而言,完备性都是一个很重要的非功能性特征,它包括三个方面:数据完备性;行为完备性;安全性。 大多数软件错误,比如数据丢失,或被陌生人访问了用户数据,都是系统缺乏完备性导致的。
2021-04-10 18:33:24
6524
12
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 《中国区块链技术和应用发展白皮书》主要内容梳理
摘要:背景:1.联合国、国际货币基金组织和多个发达国家发布了有关区块链的系列报告,探索区块链技术及其应用。2.国内区块链发展势头迅猛。目的:为了推动我国区块链技术的应用发展。主要内容:1.国内外区块链发展现状的研究分析。2.区块链典型应用场景及典型应用分析。3.提出我国区块链技术发展lu'x路线图的建议。4.首次提出我国区块链标准化路线图。正文:概述...
2018-08-07 20:31:31
7640
1
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)总结
翻转开关:状态压缩:用二进制表示状态埃及分数:将搜索深度也作为状态的一部分八数码:从初始状态和目标状态同时进行广度优先搜索数字三角形:注意状态转移,记忆化搜索爬楼梯、斐波那契数列、传球游戏:矩阵快速幂优化最长上升子序列:注意状态定义和状态转移每一次求f(i)都要查询i之前的所有f(j),答案也要查询一遍所有的f(i)最长回文子序列:注意状态转移回文子序列的个数:注意状态转移最优矩阵链乘法:状态转移f(i,j)需要查询一遍i,j之间的所有的f(i,k)和f(k+1,j)
2021-12-28 11:57:17
721
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)非确定算法:随机与近似
非确定算法:随机与近似确定性算法Deterministic algorithms对于给定的输入,算法的输出和运行时间不变非确定性算法Non-deterministic algorithms对于给定的输入,算法的输出或运行时间是不确定的启发式算法Heuristic algorithms 利用输入数据的特征和信息对问题进行求解 尽全力逼近最优解,但是无法得知和最优解的差距 近似算法Approximation algorithms 对问题给出一个近似最优解(数据无关) 可以
2021-12-25 14:32:43
789
原创 南开大学软件学院2021年秋季学期研究生计算机网络课程(复习)
一、ARPANET核心解决的问题是什么?ARPANET研究的核心:通信网络方案的设计两个基本问题:网络拓扑结构:分布式网络结构 数据传输方式:分组交换二、不同的拓扑结构的特点?集中式网络结构(唯一中央交换节点):所有节点都与中央交换节点相连,所有数据都要发给中央节点,再通过它发送到目的节点。如果中央节点受到损坏或工作不正常,所有通信就会完全中断。 非集中式网络结构(多个中央交换节点):使用了若干个中央节点,相当于许多集中式网络连接起来,固有的缺点仍然无法避免。 分布式网络结构(无中央交换
2021-12-22 15:53:24
2779
1
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)贪心分治之贪心
贪心二分查找二分答案二分不一定要在有序序列上进行,亦可是单调函数砍木头将n根长度不同木头砍成至少m段,要求砍完后每段木头的长度相等。问砍完后每段木头最长有多长?暴力搜索解优化问题?貌似没什么突破口 优化转为判定问题?判断一个长度是否组成至少m段,很好判断,并且长度最小为1,最大为木头最大长度 暴力枚举长度吗?不必,随着每段长度增加,段数减少,变成找满足条件的最大值,故二分每段长度,二分答案将一个复杂的优化问题转化成一个可行性判定问题,本质是枚举答案判定可行,不过可行性.
2021-12-21 19:46:16
203
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)贪心分治之分治(包含快速傅里叶变换)
状态空间中的算法状态空间:状态(点)+状态转移(边)+价值函数(点权)求解过程的抽象模型 暴力搜索和动态规划都是一类算法框架(或算法思想),本质都是在状态空间中寻找解 二者都需要准确地用最少的状态变量建模 而对于动态规划,还需要定义正确的价值函数和转移更新分治:子问题互不重叠,但最优子结构需考虑全部子问题贪心:子问题互不重叠,但最优子结构仅考虑极少子问题若认为动态规划算法的状态空间是有向无环图的话,对于分治和贪心,其状态空间通常可以建模成树,分治需要评估整个树,贪心则是树上的几条链
2021-12-20 19:47:44
472
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)动态规划
动态规划数字三角形如上图所示,请找出一条自顶向下路径,使得该路径上所有数字的和最大。如何定义状态?第i行第j个数 如何进行搜索?DFS枚举所有路径即可(回溯法) 时间复杂度?若共有n层,时间复杂度O(2^n)是否可以减少不必要的搜索(规避不必要的状态转移)了呢?注意第3行第2个数 若价值函数定义恰当,则只需搜过一次即可:记忆化搜索动态规划Dynamic programming,DP在搜索过程中,对于已经搜索过、且价值函数不会再度更新(或变优)的状态,则可以通过记忆化的方式,
2021-12-19 20:46:49
376
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)算法设计思想和状态空间
可计算性与可计算问题判定问题Decision problem:判断一个问题的解是否存在 优化问题Optimization problem:找到问题的最优解 组合优化问题 连续优化问题 一个重要的转化:任何优化问题都可以表示为一个判定问题算法求解问题的一系列数学或计算机操作(输入➡算法➡输出)状态与状态空间状态State:对可计算问题的一种建模状态转移State transition:问题中不同状态的转化关系状态空间State space:状态(点)和状态转移(边)构造
2021-12-19 19:47:19
590
原创 南开大学软件学院2021年秋季学期研究生算法课程(复习)
为什么要学习算法?在有限时间和内存下,编写程序正确地或有效地解决问题。计算Fibonacci数列的第n项算法一:递归函数int F(int n){ if(n<=2) return 1; return F(n-1)+F(n-2);}算法二:递推循环int F(int n){ if(n<=2) return 1; int f1=1, f2=1; for(int i=3;i<=n;i++){ int temp
2021-12-19 18:55:30
357
原创 L-BFGS-B
算法概述在每次迭代开始时,给出当前迭代,函数值,梯度和一个正定的有限内存近似。这使得我们可以形成在处的二次模型,(2.1)该算法在边界下近似最小化。首先使用梯度投影方法(gradient projection)来找到一组活动边界,然后将这些边界作为等式约束最小化。为了实现这个目标,我们首先考虑分段线性路径(piecewise linear path)上式通过将最陡的下降方向投影到可行区域得到,其中(2.2)然后计算广义柯西点(generalized Cauchy poi.
2021-10-19 13:11:13
4420
1
转载 Cholesky分解(matlab )
通过Cholesky分解,可以将线性方程组Ax = b替换成R'Rx = b由于反斜杠运算符能识别三角形方程组,因此这可以在MATLAB环境中通过以下表达式快速进行求解x = R\(R'\b)如果A为n×n,则chol(A)的计算复杂度为O(n^3),但后续的反斜杠解的复杂度仅为O(n^2)。...
2021-10-14 14:57:12
2208
原创 读《Learning with Local and Global Consistency》
摘要我们考虑从标记和未标记数据中学习的一般问题,这通常被称位半监督学习或转导推理。半监督学习的一种原则方法是设计一个分类函数,该函数对于已知的标记点和未标记点所揭示的内在结构具有足够的平滑性。我们提出了一个简单的算法来获得这样一个平滑的解。我们的方法在一些分类问题上产生了令人鼓舞的实验结果,并证明了对未标记数据的有效使用。1 介绍我们考虑常规的从标记和未标记数据中学习的问题。给定一个点集...
2021-10-12 21:34:41
893
原创 读《A survey on semi-supervised learning》(三)
5 无监督预处理现在我们转向第二类归纳方法,称为无监督预处理,它不同于包装方法和本质上的半监督方法,将未标记数据和标记数据分为两个独立的阶段使用。通常,无监督阶段包括从未标记数据中自动提取或转换样本特征(特征提取),对数据进行无监督聚类(聚类即标记),或初始化学习过程的参数(预训练)。5.1 特征提取自早期机器学习以来,特征提取在分类器的构建中起着重要的作用。特征提取方法试图找到输入数据转换,以提高分类器的性能或使其构造在计算上变得更加高效。特征提取是一个广泛的研究主题,已经被几本书和调查涵盖。
2021-10-09 15:40:57
462
原创 读《A survey on semi-supervised learning》(二)
4 包装方法包装方法是半监督学习中最古老和最广为人知的算法之一(Zhu,2008)。他们利用一个或多个有监督的基础学习器,用原始标记数据和先前未标记的数据迭代训练这些数据,这些数据是用来自学习器早期迭代的预测增强的。后者通常被称为伪标签数据。该程序通常包括训练和伪标记两个交替的步骤。在训练步骤中,一个或多个有监督的分类器在标记的数据上训练,也可能是以前迭代的伪标记数据。在伪标签步骤中,生成的分类器用于为先前未标记的对象推断标签;学习器对其预测最有信心的数据点进行伪标记,以便在下一次迭代中使用。包装方
2021-10-08 21:45:43
641
原创 读《A survey on semi-supervised learning》(一)
摘要半监督学习是机器学习的一个分支,涉及使用有标记和无标记的数据来执行某些学习任务。它在概念上介于监督学习和非监督学习之间,允许在许多用例中利用大量未标记的数据,并通常结合较小的标记数据集。近年来,该领域的研究遵循了机器学习的一般趋势,重点关注基于神经网络的模型和生成学习。关于这一主题的文献在数量和范围上也有所扩大,现在包括了广泛的理论、算法和应用。然而,最近没有收集和组织这些知识的调查,阻碍了研究人员和工程师利用这些知识的能力。为了填补这一空白,我们提出了半监督学习方法的最新概述,包括早期工作以及最新
2021-10-07 21:15:11
846
原创 拉普拉斯矩阵和拉普拉斯二次型
1 当深度学习遇上图:图神经网络的兴起1.1 什么是图在计算机领域,通常用图指代一种广义的抽象结构,用来表示一堆实体和它们之间的关系。用于生物研究的蛋白质网络,能够表示蛋白质之间的相互作用。1.2 深度学习与图大部分传统深度学习模型,如卷积神经网络,循环神经网络等,处理的数据都限定在欧几里得空间,如二维的网格数据——图像和一维的序列数据——文本,因为它们的模型设计正得益于欧几里得空间中这些数据的一些性质:例如,平移不变性和局部可连通性。图数据不像图像和文本一样具有规则的欧几里得空间结
2021-10-07 11:13:30
2510
原创 读《Prioritizing disease genes with animproved dual label propagation framework》
摘要背景:疾病基因优先排序是试图找出某一特定表型的潜在致病基因,从而揭示人类疾病的遗传基础,促进药物的开发。本文的动机是受到标签传播算法和假阳性蛋白质-蛋白质相互作用的启发。假阳性蛋白质-蛋白质相互作用此前没有在疾病基因优先排序中被考虑过。在以往的基于网络的方法中,标记传播已经成功地应用于对致病基因进行优先排序。这些基于网络地方法使用基本的标签传播,比如随机游走,在网络上以不同的方式优先考虑疾病基因。然而,这些方法不能处理数据集中存在大量假阳性蛋白相互作用的情况,因为在以往的方法中,PPI网
2021-10-04 15:23:28
511
原创 tlDLP算法
读《Transfer learning across ontologies forphenome–genome association prediction》其中LBFGSB是限制内存的箱形约束优化的BFGS函数,属于最优化的内容。第十一行可以写成如下:第十六行可以写成如下:其中和只对已知关联做计算,其它的计为0。输入该算法的输入为::第一个是已知的用于训练的基因-功能关联; 第二个是已知的用于训练的基因-表型关联; 第三个是标准化后的PPI权重网络的矩阵;..
2021-10-03 14:45:30
190
原创 DLP算法
读《Transfer learning across ontologies forphenome–genome association prediction》其中LBFGSB是限制内存的箱形约束优化的BFGS函数,属于最优化的内容。第七行可以写出如下:其中只对已知关联做计算,其它的计为0。输入该算法的输入为,,:第一个是已知的用于训练的基因-表型关联; 第二个是标准化后的PPI权重网络的矩阵; 第三个是标准化后表型本体的二进制图的矩阵;输出该算法的输出为Y,即经过.
2021-10-03 13:55:06
617
原创 读《Transfer learning across ontologies forphenome–genome association prediction》
摘要一、动机为了更好地预测和分析基因与表型本体(phenotype ontology)中组织的表型集合的基因关联,有效地对本体中表型之间的分层结构进行建模并利用稀疏的已知关联是至关重要的。首先,本文引入了双标签传播(DLP),在预测人类表型本体论(HPO)中的表型-基因(phenotype-gene)关联时,对整个表型路径施加一致关联。然后,将DLP作为迁移学习框架中(tlDLP)的基础模型,来整合基因本体论(GO)中的功能注释。通过同时重建蛋白质-蛋白质相互作用网络(PPI Networ.
2021-10-01 20:56:16
303
原创 TensorFlow进阶
合并与分割合并合并是指将多个张量再某个维度上合并为一个张量。张量的合并可以使用拼接Concatenate和堆叠Stack操作实现,拼接操作不会产生新的维度,仅在现有的维度上合并,而堆叠会创建新的维度。拼接堆叠分割合并操作的逆过程就是分割,将一个张量分拆为多个张量。注意,切割后的result是一个list,所以可以使用索引查询分割后的每条数据。特别的,如果希望在某个维度上全部按照长度为1的方式切割,还可以使用tf.unstack(x,axis)函数。
2021-06-07 11:00:17
232
1
原创 TensorFlow基础
数据类型数值类型标量如果要使用TF提供的功能函数,必须通过TF规定的方式去创建张量,而不能使用PY语言的标准创建方式。向量与标量不同,向量的定义必须通过List容器传给tf.constant函数。矩阵多维张量字符串类型深度学习算法主要是以数值类型张量为主,字符串类型的数据使用频率较低。布尔类型数值精度读取精度对于某些只能处理指定精度类型的运算操作,需要提前检验输入张量的精度类型,并将不符合要求的张量进行类型转换。类型转换
2021-06-04 17:24:15
351
3
原创 三层架构 业务逻辑层 workflow
三层架构:用户界面层 user interface layer业务逻辑层 business logic layer数据访问层 data access layer系统的主要功能和业务逻辑都在业务逻辑层进行处理。这里所说的三层结构,不是物理上的三层,而是逻辑上的三层。业务逻辑层主要负责对数据层的操作,把一些数据层的操作进行组合。业务逻辑层又可以细分为业务实体、业务组件和业务...
2019-04-17 14:59:23
3676
1
原创 itchat接触使用
itchat是一个开源的微信公众号接口,允许python调用微信。安装pip install itchat自动登陆import itchatitchat.auto_login()输出自动弹出二维码,手机扫描之后自动登陆。手机端显示网页微信已登录,手机通知已关闭。看来itchat登陆微信并不算是PC端,而是网页端。发送messageimpo...
2019-01-24 17:30:41
1073
原创 现代操作系统 虚拟内存
一、覆盖把程序分割成许多片段,称为覆盖。二、虚拟内存虚拟内存的基本思想是:每个程序拥有自己的地址空间,这个空间被分割成多个块,每一块乘坐一页。 每一页有连续的地址范围。 这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。 当程序运行到一部分在物理内存中的地址空间时,由硬件立即执行必要的映射; 当程序运行到的一部分不再物理内存中的地址空间时,由操作系统负责将...
2019-01-16 23:41:30
1185
1
原创 现代操作系统 基本内存管理
一、存储分层寄存器cache主存磁盘磁带二、基于分区的存储管理固定分区和动态分区 重定向和保护 动态分区分配算法 空闲分区管理:链表三、存储碎片管理四、内存紧缩交换在内存中产生了多个空闲区,通过把所有的进程尽可能的向下移动,有可能将这些小的空闲区合成一大块,该技术称为内存紧缩。五、交换和覆盖处理内存超载的一种通用方法:最简单的是策略是交换,即把一个...
2019-01-16 22:56:52
1436
原创 现代操作系统 死锁
一、死锁的定义假若在一个进程集合中的每个进程都在等待,只能由该集合中的其它一个进程才能引发的事件,那么这种状态被看成死锁。一旦产生死锁,若无外力作用,这些进程都将永远不能再向前推进。二、产生死锁的主要原因竞争资源三、资源死锁的条件四个必要条件:互斥条件:每个资源要么分配给了一个进程,要么就是可用的; 占有和等待条件:已经得到了某个资源的进程可以再请求新的资源; 不可...
2019-01-16 20:22:36
1029
原创 现代操作系统 调度
一、调度短期调度CPU 中期调度内存 长期作业作业二、线程和进程调度受计算限制的 受输入/输出限制的三、什么时候开始调度进程被创建 进程存在 进程在IO被阻塞,因为信号量或其他原因 一个IO中断发生了四、调度模式preemptive抢占式 nonpreemptive非抢占式五、调度算法的分类批处理batch 交互式interactive 实时realt...
2019-01-16 00:22:02
653
原创 现代操作系统 经典IPC问题
一、生产者-消费者问题the producer-consumer problem1.也称有界缓冲区问题the bounded-buffer problem2.问题的基本描述:两个进程共享一个公共的固定大小的缓冲区 若干个进程是生产者,将信息放入缓冲区 若干个进程是消费者,从缓冲区中取出信息3.主要考虑的问题:缓冲区满或缓冲区空 race condition二、信号量sem...
2019-01-14 23:47:25
1130
1
原创 现代操作系统 IPC
一、进程间可能存在的关系资源共享关系相互合作关系二、竞争条件race condition三、mutual exclusion互斥四、解决方案任何两个进程不能同时处于临界区; 不应对CPU的速度和数目做任何假设; 临界区外的进程不得阻塞其它过程; 不得使进程在临界区外无休止地等待;五、忙等待的互斥1.屏蔽中断:最简单的方法是使每个进程在刚刚进入临界区后立即屏蔽所有...
2019-01-14 23:30:50
724
原创 现代操作系统 线程
一、线程是什么?线程是进程的一个实体,是被系统独立调度和分派的基本单位。二、线程的组成线程控制块TCB:线程标识符TID、线程寄存器组、线程栈等。每一个线程都有他自己的栈。三、线程的分类(线程的状态)创建线程、挂起线程、恢复线程、休眠线程。四、线程与进程的比较线程:具有许多传统进程所具有的特征;又被称为轻量级线程;调度:引入线程的os中,把线程作为调度分派的基本...
2019-01-14 20:54:23
641
原创 现代操作系统 进程
操作系统中最核心的概念是进程一、进程模型1.在进程模型中,计算机上所有可运行的软件,通常也包括操作系统,被组织成若干个顺序进程,简称进程。2.一个进程就是一个正在执行程序的实例。二、程序的顺序执行和并发执行1.程序顺序执行时的特征:顺序性 封闭性 可再现性2.并发执行的特征:间断性 失去封闭性 不可再现性3.并发执行是增加计算机系统的处理能力和提高资源利用率...
2019-01-13 00:18:37
667
原创 现代操作系统 学习预习和复习 引论
1.基于文本的叫shell;基于图标的叫GUI。2.软件中最基础的部分是操作系统,它运行在内核态。内核态下,操作系统具有所有硬件的完全访问权。3.操作系统是什么作为扩展机器 作为资源管理者4.os的历史真空管和穿孔卡片 晶体管和批处理系统 集成电路和多道程序设计 PC 移动计算机5.计算机硬件简介处理器 存储器 磁盘 IO设备 bus 启动计算机BIOS...
2019-01-12 21:48:06
637
原创 计算机网络 自顶向下方法 forthday(运输层)
一、TCP连接1.TCP被称为是面向连接的,这是因为在一个应用进程开始向另一个进程发送数据之前,这两个进程必须“握手”。2.TCP的连接状态完全保留在两个端系统中。3.TCP协议只在端系统中运行,而不在中间的网络元素中运行。事实上,中间路由器对TCP连接完全视而不见,他们看到的是数据报,而不是连接。第三条再次强调了运输层协议是端到端的逻辑通信,不涉及中间的物理元素,比如路由器和链...
2018-12-25 11:34:11
1112
1
原创 计算机网络 自顶向下方法 thirdday(运输层)
一、可靠数据传输原理1.实现可靠传输服务是可靠数据传输协议的责任。2.可靠数据传输协议的下层协议也许是不可靠的,例如TCP是在不可靠的(IP)端到端网络层上实现的可靠数据传输协议。二、构造可靠数据传输协议1.经完全可靠信道的可靠数据传输:rdt1.02.经具有比特差错信道的可靠数据传输:rdt2.0:自动重传请求协议(Automatic Repeat reQuest,ARQ)...
2018-12-24 18:49:46
1286
1
原创 计算机网路 自顶向下方法 secondday(运输层)
一、概述和运输层服务1.运输层协议为运行在不同主机上的应用进程直接之间提供了逻辑通信功能。2.运输层协议是在端系统中而不是在路由器中实现的。3.在发送端,运输层将从发送应用程序进程接收到的报文转换成运输层分组,该分组称为运输层报文段(segment)。二、运输层协议和应用层协议的对比应用 应用层协议 支撑的运输协议 电子邮件 SMTP TCP 远...
2018-12-24 00:32:56
1974
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人