- 博客(27)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 编译原理c++基于LR分析表编写语法分析器
具体要求已知文法G[E]:E->E+T | TT->(E) | id | id[E] //其中E,T为非终结符,其余符号为终结符(1)为该文法建立LR分析表。//通过构造项目集规范族完成识别可归前缀的DFA。(2)根据测试样例及你建立的LR分析表,用c++完成语法分析器的设计。测试样例要求格式完全一致,第一行为输入,第二行为要求的输出,共四组样例。a1 ...
2019-12-12 20:39:42
4337
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 编译原理c++实现词法分析器
题目要求根据设计的DFA完成手工词法分析器的c++实现测试样例共有四组测试样例,要求格式完全一致。int main(){ int a = 10; double b = 20.9; if(a <= b) a+=b; else a = 0; return a;}line1:(type, int...
2019-12-12 20:25:36
702
原创 机器学习理论导引 (2)
1.sup上确界,inf下确界2.对偶函数,其实就是确定目标函数最优值的下界,它必定是一个凹函数,那么问题转化为求这个下界函数的凸优化问题、3.泛化误差和经验误差学习器在训练集上的误差成为“训练误差”或“经验误差”。在新样本上的误差称为“泛化误差”,评价机器学习的泛化能力...
2021-06-24 16:42:34
237
原创 机器学习理论导引(1)
1.凸集:看到这个词,不由联想到凸函数定义:集合内任意两点连线各点都在该集合内考虑凸多边形,二者定义关联2.凸函数代表在定义域中任一点的一阶泰勒展开是其下界3.一些数学变换能够保持函数的凸性如凸函数的自变量进行线性变换后 g(x)=f(Ax+b),该函数仍是凸函数…4.共轭函数一定是凸函数…5.重要不等式jensen不等式:期望的函数小于等于函数的期望Holder不等式Cauchy-Schwarz不等式…...
2021-06-23 15:34:24
471
1
原创 人工智能(7)自然语言处理
NLP1.发展阶段初期:有穷自动机,类似于编译最近:机器学习兴起2.语法类型递归可枚举语法上下文相关语法上下文无关语法正则语法3.CYK算法输入必须为乔姆斯基范式4.转换语法语音组件,语义组件5.系统语法考虑语言的功能和 目的6.格语法乔姆斯基语法的延伸7.语义语法8.Schank系统9.NLP中的统计方法为每棵解析树分配概率,来解决句子的歧义问题10.统计NLP的概率模型隐马尔可夫模型维特比算法:查找最可能状态序列的动态规划算法...
2021-06-21 13:30:00
172
原创 人工智能(6)自然启发算法
1.模拟退火(SA)模拟退火算法 伪代码s:=s0;e:=E(s)//设定目前状态为s0,其能量E(s0)k:=0//评估次数kwhile k<kmax and e>emax//若还有时间(评估次数k还不到kmax)且结果还不够好(能量e不够低)则:sn:=neighbour(s)//随机选取一临近状态snen:=Esn)//sn的能量为E(sn)if random()<P(e,en,temp(k/kmax)) then//决定是否移至临近状态sns:=sn; e:=en/
2021-06-21 13:07:44
355
原创 人工智能(5)产生式系统
产生式系统也称基于规则的系统,推理系统一种非常强大的知识表现形式1.强方法与弱方法强方法:通过领域特定知识组成的专家系统,例如国际象棋弱方法:通过谓词推理和符号操作等逻辑方法2.正向链接和反向链接正向:自然推导反向:从已知目标回溯...
2021-06-20 12:51:33
736
原创 人工智能(4)知识表示
1.图形草图非正式绘图2.人类视窗人类能够认识到的范围3.戈尼斯堡桥问题(七桥问题)描述为图,每个节点的度必须是偶数,因此路径不存在4.搜索树博弈树和决策树
2021-06-20 12:20:55
91
原创 人工智能(3)博弈中的搜索
博弈引入了对手来阻碍你达到目标。1.博弈树即全部的情况2.启发式评估给一个公式计算博弈结果的好坏3.博弈树的极小化极大评估4.α-β剪枝与分支定界法类似通过确定α和β值来剪枝评估博弈树的重要工具5.负极大值算法对3的改进6.渐进深化法根据剩余搜索时间来选择搜索的深度...
2021-06-20 11:30:34
582
原创 人工智能(2)知情搜索
1.启发法例如二维勾股定理推广到三维2.爬山法一种贪心算法山麓问题:可能困在局部最大值中,即能够看到山顶,实际却不可达高原问题:有相似的良好的局部最大值,但必须移动到另一个高原山脊问题:访问百货公司,但在错误的楼层中解决方法:回溯到上一个节点,尝试不同的方向3.最陡爬坡法有点像梯度下降4.最佳优先搜索算法维持开放列表和封闭列表封闭节点不在探索,形成解的基础开放节点是搜索边缘的节点,以后可能进一步探索解不一定是最佳5.集束搜索搜索通过搜索树逐层扩展,但只有最好的W节点得到了扩展
2021-06-20 10:56:51
702
原创 人工智能(1)盲目搜索
1.n皇后问题回溯法贪心算法(特例:迪杰斯特拉算法)2.旅行商问题(TSP)贪心算法将不能找到最优解分支限界算法,即统一代价搜索3.n拼图问题深度优先搜索广度优先搜索4.传教士和食人魔问题DFS,BFS5.DFS和BFS的比较优先DFS:树很深,分支因子不大,解出现的位置较深反之优先BFSDFS既不优选也不完备,空间需求合理BFS在约束下优选和完备,但空间需求大DFS-ID作为折中。同时具备二者的有利特性...
2021-06-19 10:10:00
792
原创 ML学习笔记(7)菜鸟仍需努力
上一篇中开始学习使用linux远程登陆服务器,并尝试了运行深度学习模型。万幸,学长已经帮忙处理好了数据集,省了很多麻烦。遇到的问题:1.CUDA error未知原因,疑似版本不适配2.out of memory后来发现用错了GPU3.第一次训练完已经生成了保存的模型文件,太粗心竟然没发现(以后需要注意避免),还是我细看代码时候发现的,说明用现成的模型需要先熟练理解,不然很容易犯错。4.由于3的原因,我第二次又进行了训练,(?后来感叹自己果然是萌新菜鸟),发现loss变成nan
2021-02-24 22:36:51
80
原创 ML学习笔记(6)命令
使用linux1.ssh远程登陆:ssh 用户名@服务器ip地址2.查看磁盘使用情况:df -h3.查看gpu使用情况:nvidia-smi4.指定使用的gpu:exportCUDA_VISIBLE_DEVICES=xpython train.py或CUDA_VISIBLE_DEVICES=x python train.py5.创建虚拟环境 :conda create -n xxx python=3.66.激活虚拟环境: source activate xxx...
2021-02-21 10:19:39
186
2
原创 ML学习笔记(5)DL准备
1.新建并激活gluon环境2.下载数据集并cd /d进入目录3.pip install mxnet,一直报错,后来用了豆瓣源,速度起飞直接装好4.过程中尝试重装numpy,更新pip版本等等操作。。。5.打开jupyter notebook测试下代码,报错,网上找不到类似信息,反复进行4,无果(未解决)6.直接在prompt里python,import测试代码,可以运行7.最终放弃了5,打开pycharm导入环境,代码可以运行ps:anaconda全家桶中,只有prompt可以
2021-01-25 17:13:05
126
1
原创 ML学习笔记(4)GPU,cuda和cudnn
1.什么是GPU?为什么这么多人做项目要用GPU呢?什么又是cuda?链接:https://blog.csdn.net/yizhen_nlp/article/details/107860505GPU这个概念是由Nvidia公司于1999年提出的。GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。那么1999年之前显卡上就没有GPU吗?当然有,只不过那时候没有人给它命名,也没有引起人们足够的重视,发展比较慢。自Nvidia提出GPU这个概念后,GPU就进入了快速发展时期。简单来说,其经过了以
2021-01-08 13:01:56
328
原创 ML学习笔记(3)pytorch血泪史
最近装pytorch差点把我送走,无数坑。具体步骤网上有很多,就说说自己遇到的这些那些问题。1.首先pytorch不能直接conda install,或者说是不方便,至于为什么,懂得都懂。尝试离线下载,全部失败。这个过程耗时一天。2.要用清华源已成基本共识,如何换源就不详细说了,注意conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch,最后的-c pytorch,要删掉的。3.报错1:http err
2021-01-08 09:22:11
1077
原创 ML学习笔记(2)给萌新的自己科普一下
2.pip install和conda install区别何在?什么是 pip ?pip 是 Python 中的标准库管理器。它允许你安装和管理不属于 Python标准库 的其它软件包。我找到了一下说明:Having been involved in the python world for so long, we are all aware of pip, easy_install, and virtualenv, but these tools did not meet all of our
2021-01-07 12:31:05
92
原创 ML学习笔记(1)初识Anaconda
本文仅从小萌新视角记录ML学习过程ML一直以来都是我心驰神往的领域,初涉其中,不免困惑,如同走进一个巨大的迷宫,找不到出口。首先记录我的各种问题及我自己尝试找到的答案1.Anaconda是啥?很多人常提起。早有耳闻。转载自https://www.jianshu.com/p/169403f7e40cconda 是开源包(packages)和虚拟环境(environment)的管理系统。 packages 管理: 可以使用 conda 来安装、更新 、卸载工具包 ,并且它更关注于数据科
2021-01-07 12:00:30
153
原创 编译原理-基于WINDOWS下FLEX与BISON的计算器实现
要求基于词法分析程序自动构造工具Flex与语法分析程序自动构造工具Bison,编制简单的计算器程序。参考示例程序, 用Flex和Bison实现一个功能更为强大的计算器,尽可能多的包含以下运算(支持浮点数):a) 加、减、乘、除运算b) 乘方power、开方sqrt运算c) 位运算 – 与、或、非...(不做)d) 三角函数运算 – sin、cos...e) 求阶...
2019-12-12 20:49:18
1422
原创 makefile的一次应用
编译原理的一次作业中,需要多次对多个文件进行编译,即调试代码bug,在这个过程中需要在cmd中输入三行冗长的代码,并且每次都要删除多个文件,比较麻烦,于是尝试了makefile。makefile类似于Linux的shell脚本,直接贴个代码了事...
2019-12-09 13:46:47
111
原创 编译原理-基于WINDOWS下FLEX与BISON的计算器实现踩坑
今天做编译原理简单计算器的作业,真是被一顿坑,搞了一个小时,终于ok了。起初用的是老师发给我们的win_flex.exe和win_bison.exe,一直编译失败,请教同学后发现,这个是没办法联合编译的。于是全部删掉重来,get到了flex和bison两个setup安装包,安装到任意位置。(这边有个巨坑,就是这个位置的绝对地址不能有空格,之前我安装到c盘的programs file,就有个空格...
2019-12-09 12:06:42
1203
5
原创 深入讨论HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程
对象的创建下面我来总结以下java虚拟机在遇到一条new指令之后的具体动作:检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化。如果没有则必须先执行相应的类加载过程。类加载检查通过后,虚拟机将为新生对象分配内存。所需内存大小在类加载完成后便可完全确定。有两种分配内存的方式:指针碰撞和空闲列表,具体用哪种方式由java堆是否规整决...
2019-12-08 17:22:17
159
原创 深入理解Java虚拟机开篇
也是久仰这本书了,今天就开始尝试阅读。不积跬步无以至千里,勉励自己,每天看几页,也是一种收获。对Java的印象仅仅停留在面对对象的语言上,接口多,丰富的类库,可移植性好。实际编程也不多,做过一个课程设计用到JDBC等技术,以后也会尝试阅读J2EE方面的书籍。c和c++的开发人员在内存管理领域拥有最高的权力,负责每一个对象从产生到终结;而Java在虚拟机自动内存管理机制下,不必为每一个new操...
2019-12-08 15:36:12
83
原创 《一个64位操作系统的设计与实现》第二章环境搭建
虚拟机及开发系统平台安装VMware虚拟机。编译环境选择CentOS6。下载并安装Bochs虚拟机。BootLoader采用Intel格式的汇编语言和NASM编译器;内核采用AT&T格式的汇编语言和GUN的GAS编译器。...
2019-12-06 15:09:57
319
原创 《一个64位操作系统的设计与实现》第一章操作系统概述
操作系统的组成结构操作系统由应用层和内核层组成,内核层控制硬件,应用层负责人机交互。以下分别介绍模块:引导启动程序。一旦内核开始执行后,引导程序再无他用,可以比作运载火箭把卫星推入轨道。引导启动程序被称为BootlLoader。比较流行的有Grub和Uboot。内存管理。内核的基础功能,主要作用是有效管理物理内存,简化其他模块开辟内存空间的过程。内存管理单元有伙伴算法,红黑树管理算法等。L...
2019-12-06 14:53:57
269
原创 微信小程序“帮取快件”项目实战总结
距离项目结束已经五个月左右了,时间久远,很多细节已经记不清了,但还是做个总结,算是对自己的总结吧。一. 前期准备1.云服务器微信小程序需要用到服务器,比较后选择了使用阿里云的ECS云服务器,因为便宜(学生优惠大概10元/月);也可以使用轻量服务器,在用户数量级不大的情况下二者区别不大。2.域名买的是top后缀的域名,因为便宜,名字的话自己起。3.对网站安全有要求的,可以申请SSL证书,...
2019-12-05 18:43:28
3049
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人