形式语言与自动机
Induction 数学归纳法regular language 正则语言definition 定义在字母表集合Σ上的正则语言定义如下:
空集合Ø是正则语言
只包含一个空串的语言{ε}是正则语言
对所有a∈Σ,{a}是正则语言
若A, B是正则语言,则$A \cdot B$,$A \bigcup B$,$A^*$都是正则语言
除此之外都不是正则语言
regular expression 正则表达式regular expressions are a compact syntax for regular language
正则表达式是正则语言的紧凑语法
multiple regular expressions can denote the same language
多个正则表达式可以表示同一种语言,例如0+0、01+0、0都可以表示empty Ø
word over A={a,b} that have at least one a
其中${ a}\bigcup { b}$不可以写成{a, b},因为单例集是基本的构建块(singleton sets are the basic b ...
计算机图形学上机题目
计算机图形学常规上机题目零、实验环境配置
在计算机图形学课件中提供GLUT库,里面包含glut.h、glut32.dll、glut32.lib三个文件
找到MinGW文件夹,将glut.h放进include/GL路径下,将glut32.dll放进bin路径下,将glut32.lib放在lib路径下,在代码中引用include <GL\glut.h>即可
如果使用的是vscode,需要在生成的配置文件task.json文件中修改
在args参数栏中添加进”-l”, “glut32”, “-l”, “glu32”, “-l”, “opengl32”,
或者直接使用cmd编译,需要注意在后面加上-l glut32 -l glu32 -l opengl32
1gcc 1.cpp -o 1.exe -l glut32 -l glu32 -l opengl32
注意必须引入#include "windows.h",并且放在前面,否则会报错。
OpenGL入门代码分析12345678910111213141516171819202122232425262 ...
数据库实验二索引管理
数据库任务二 索引管理任务2.1 B+树的查找 && 任务2.2 B+树的插入任务要求(1)结点内的查找为了实现整个B+树的查找,首先需要实现B+树单个结点内部的查找。
1234567class IxNodeHandle { // 结点内的查找 int lower_bound(const char *target) const; int upper_bound(const char *target) const; bool LeafLookup(const char *key, Rid **value); page_id_t InternalLookup(const char *key);}
(2)B+树的查找12345class IxIndexHandle { // B+树的查找 IxNodeHandle *FindLeafPage(const char *key, Operation operation, Transaction *transaction); bool GetValue ...
python生成的exe文件反编译
今天整理电脑时发现了一个由python生成的exe文件,打开后疯狂弹窗,不禁产生想要将其反编译的想法
首先需要使用pyinstxtractor.py文件将其从exe反编译pyc文件,在cmd中输入
1python pyinstxtractor.py Game_001.exe
运行截图如下
生成了一个文件夹
内部文件如下,大多是dll和pyd文件,PYZ-00.pyz_extracted文件夹,里面为引入的依赖库。我们接下来需要的是Game_001文件和struct文件
用记事本打开可以发现大部分字符为乱码,不过也能从中获取到一部分信息,我们从中看见了B站网页和tkinter的踪迹
经过对比Game_001和struct两个文件可以发现,Game_001缺少了第一行的16个字节,这16个字节表示这python编译的版本和时间信息,我们需要在Game_001中将这16个字节补上,并且加上后缀pyc,由此得到Game_001.pyc文件。
一般python文件的魔法头如下
python 2.7 - 03 F3 0D 0A
python 3.6 - 33 0D 0D 0A
pyth ...
计算机图形学
计算机图形学概述计算机图形学(Computer Graphics,CG)是研究怎样用数字计算机生成、处理和显示图形的一门学科
图形:计算机图形学的研究对象
构成图形的要素
几何要素:刻画形状的点、线、面、体等几何要素
非几何要素:反映物体表面属性或材质的灰度颜色等非几何要素。
图形主要分为两类:
基于线条信息表示的,如工程图、等高线地图、曲面的线框图等
明暗图(Shading),也就是通常所说的真实感图形。
表示图形的方法
点阵法:枚举出图形中所有的点来表示图形,强调图形由点构成,及其点的属性(颜色),这类图形称为像素图或图像。
参数法:由图形的形状参数和属性参数来表示图形,这类图形称为参数图或简称图形。
形状参数:方程或分析表达式的系数,线段的端点坐标等。
属性参数:颜色、线型等。
图像纯指计算机内以位图(Bitmap)形式存在的灰度信息
图形含有几何属性,或者说更强调场景的几何表示,是由场景的几何模型和景物的物理属性共同组成的
计算机图形学的应用
图形用户界面(GUI)
计算机辅助设计与制造(CAD/CAM)
科学计算可视化(Scientific ...
ChatGPT对网络空间安全的影响
ChatGPT对网络空间安全的影响 ChatGPT是由OpenAI公司开发的语言AI模型,这是一项革命性的技术,以人工智能聊天机器人程序的形式与用户对话。该程序使用基于GPT-3.5架构的大型语言模型并通过来自人类反馈的强化学习(RLHF)训练该模型。ChatGPT以对话方式与用户进行交互,对话形式使 ChatGPT 能够回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。与其他多数聊天机器人不同的是,ChatGPT能够记住与用户之前的对话内容和给它的提示,并以此为基础对答案进行修正。与其前身InstructGPT相比,ChatGPT在有害或误导性回复方面添加了安全审查系统,试图过滤规避不适当的请求。用户可以在与AI对话中对其进行训练,增强机器人自行搜集资讯、回答问题的能力,这个机器人上知天文下至地理,可谓是无所不知无所不晓,用户可以与其进行日常聊天、根据要求编写代码、撰写邮件、翻译文章,甚至可以写出一段剧本、小说等文学作品。下面将从正反两个方面讨论ChatGPT对网络空间安全的影响。
ChatGPT在软件使用上的帮助 ChatGPT更像是一个辅助性的工具,他可以根据用户的 ...
操作系统课程设计大作业
一、Pintos和我想象中的操作系统有何不同?为什么还称它为操作系统?
Pintos是一个基于80x86架构的简单操作系统框架,它支持内核线程、加载和运行用户程序以及文件系统。一般常见的操作系统使用windows架构,更注重的是用户的使用体验,具有图形化的操作界面。并且在内核模式之上,提供了支持运行服务和系统进程、应用程序、子系统进程的用户模式,包含了一系列必要的库函数与系统DLL。而Pintos与我想象中的操作系统不同,其代码十分简洁凝练,只保留了操作系统运行所必要的结构。Pintos注重操作系统最基本结构的设计,并且给学生留有很大的设计空间,便于学生在调整改进的实施过程中学习,帮助学生了解操作系统的底层原理。Pintos通常搭建在如Bochs、QEMU等可以仿真80x86 CPU及其外设的系统仿真器上运行,即使模拟出的Pintos操作系统崩溃,也不会对主机操作系统产生影响。有利于学生进行调试仿真等操作。
操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件和用户的中介,其具有并发、共享、虚拟和异步四种特征。Pintos操作系统可以根据命令行的操作,对用户的命令进 ...
自适应遗传算法
对遗传算法的改进 在上面的文章中,我们介绍了遗传算法的具体实现内容,但是不可忽视的是,简单遗传算法由于遗传参数固定的特点,导致收敛速度慢,收敛精度差。所以我们不妨采用自适应遗传算法(Adaptive Genetic Algorithm, AGA)对遗传算法进行优化,通过遗传参数的自适应调整,可以让我们模拟出的生物种群在前期能够保持物种多样性,扩大搜索范围寻找潜在的全局最优解。而在后期生物种群接近最优解时,采用精英保留策略,保证其全局收敛[1,2],防止破坏最优解,并且加快收敛速度。下面将介绍针对遗传算法自适应性的改进点。
阶段适应选择策略[1,2] 针对遗传算法的环境选择策略进行改进,使得遗传算法可以根据种群迭代时期的变化而选择不同的策略。假设最大进化代数为G,将整个进化过程划分成三个阶段。
第一阶段为[0, 0.382G),这一阶段属于进化的初始阶段,模拟的是物种自由繁衍时期,不用考虑环境对生物种群的影响。为了能够使得生物种群更加多样,我们采用随机选择策略,让每个个体都有相同的机会被选中,在一定程度上减少遗漏,尽可能使得初始种群能够覆盖整个可行域,避免陷入局部最优解。
第 ...
数据库实验一存储管理
数据库任务一 存储管理任务1.1 缓冲池管理器任务1.1.1 磁盘存储管理器任务要求本任务要求补全DiskManager类,其负责读写指定页面、分配页面编号,以及对文件进行操作。
DiskManager类的接口如下:
12345678910111213141516class DiskManager { public: explicit DiskManager(); // Constructor ~DiskManager() = default; // Destructor // 读写页面 void write_page(int fd, page_id_t page_no, const char *offset, int num_bytes); void read_page(int fd, page_id_t page_no, char *offset, int num_bytes); // 对指定文件分配页面编号 page_id_t AllocatePage(int fd); // 文件操作 boo ...
计组课设
一、实验目的、实验设备名称(或实验环境)1.基本要求了解计算机的硬件组织体系与结构,熟悉计算机各大功能部件的功能特性、时间特性,数据通路等知识。
掌握微程序设计型计算机CPU的基本结构和工作原理,建立计算机整机概念。
熟练掌握计算机核心部件控制器的工作原理及设计方法,培养工程设计能力。
2.实验任务与目标在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。
定义多条(5-8条)机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。
通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
3.实验目的深入理解基本模型计算机的功能、组成知识;
深入学习计算机各类典型指令的执行流程;
学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。
4.实验平台QuartusⅡ9.0开发集成环境与FPGA硬件平台
5.设计流程设计输入–原理图或VHDL等输入;
功能仿–前仿真,不考虑延时和硬件,验证设计输入在逻辑上是否正确;
布局布线–布局是将已分割的逻辑小块放到器件内部逻辑资源的 ...