0%

这是一门数学课,mly说不多学点数学就没有以后了

构建模型的步骤:

1.从问题描述中筛选出数据和参数

2.定义决策变量集合

3.基于数据和决策变量构建目标函数

4.建立等式或不等式约束条件

课程主要内容:

线性规划:图解法,单纯形法

非线性规划:无约束和有约束问题,梯度下降,牛顿法

整数规划

动态规划:多阶段决策过程最优化

叮咣太ppt做的不行

线性规划

线性规划的数学模型的三要素:

目标函数,决策变量,约束条件

线性规划模型的特征:约束条件是一组多个决策变量的不等式或等式

线性规划问题的标准形式: \[ maxZ = \sum_{j=1}^nc_jx_j\\\sum^n_{j=1}a_{ij}x_j = b_i, i =1,2,\ldots,n\\x_j \geq 0,j =1,2,\ldots,n \] 线性规划问题转换标准形式:

目标函数的转换:如果是求极小值,就Z‘=-Z

变量的转换:无约束变量

闭环比开环适应性好

第四章 结构化查询语言

因为学校的弱智安排,第一周要上机,所以从第四章开始讲

数据库里不做排序的,用的是索引提高查询速度 (因为排序会造成数据冗余)

SQL组成:

数据定义:CREATE,ALTER,DROP

查询语句:SELECT

HAVING(分组,和分组有关用这个)WHERE(选行,分组没关用这个)

基本查询(都是单表查询):

1
2
3
4
5
SELECT sno,sname FROM s; //从s表查sno sname
SELECT * FROM s; //查询s表所有信息 *表示所有
SELECT sname,2021-age 出生年份 FROM s;//查学生名字和出生年份
//表达式取名字 1.字段 AS 名称 2.字段 名称
SELECT distinct sno FROM sc; //distinct 去除重复行

查询——选择行:多个WHERE

通配符:%多个字符, _单个字符

LIKE是模糊匹配,=是精确匹配

1
2
3
4
5
6
7
8
SELECT * FROM s WHERE age<2021-1995; //查询年龄小于2021-1995
SELECT sname FROM s WHERE age>=20 AND age<=25; // 数据在两者之间可以用BETWEEN AND
SELECT sname FROM s WHERE age BETWEEN 20 AND 25;
SELECT sno,grade FROM sc WHERE cno='c1' OR cno='c4' OR cno='c6';// IN 的运算符判断前值是否在后集合
SELECT sno,grade FROM sc WHERE cno IN ('c1','c4','c6');//所有字符型数据一定要加单引号
SELECT sno FROM sc WHERE grade IS NULL;//判断成绩为空
SELECT sname FROM s WHERE sname LIKE '%敏%';
SELECT sname FROM s WHERE sname LIKE '刘__' OR sname LIKE '王__';

单表查询——聚合函数:

1.COUNT——统计行的个数,count+列名 统计该列值的个数

2.SUM——该列求和 AVG MAX MIN

1
2
3
4
5
SELECT COUNT(distinct sno) AS 人数 FROM sc;
SELECT COUNT(*) 次数 FROM sc;
SELECT MAX(age) AS 老大,MIN(age) AS 老小 FROM s;//最大最小
SELECT COUNT(sno) FROM s WHERE age>=19 AND sex='女';
SELECT AVG(grade) 平均分,SUM(grade) 总分 FROM sc WHERE sno='s1';

单表查询——分组排序:

查询结果分组:

1
2
SELECT COUNT(sno) FROM sc GROUP BY cno;//这样写只有一堆数字
SELECT cno,COUNT(sno) FROM sc GROUP BY cno;//这样写才在前面有课程号

SQL规定:GROUP BY出现的列名 一定要在SELECT里出现

SQL Server规定:SELECT里写的GROUP BY里要出现,但不一定代表按此分组

1
2
3
SELECT sno FROM sc GROUP BY sno HAVING count(cno)>1; //选课超过一个的学生学号
SELECT sex,COUNT(sno),AVG(age) FROM s GROUP BY sex;
SELECT sno FROM sc GROUP BY sno HAVING MIN(grade)>70 ;//每门课都超过七十分

查询结果排序:

1
2
SELECT cno,count(sno),SUM(grade) FROM sc GROUP BY cno ORDER BY 3 ASC,2 DESC; //SELECT后面的顺序
SELECT sno,count(cno) FROM sc GROUP BY sno HAVING COUNT(cno)>5 ORDER BY 2 DESC, 1 ASC;//默认升序

多表查询(大的要来了)

联接操作:

INNER JOIN 内联接(两张表要有相同的,张三和张三接一起)

CROSS JOIN 交叉联接(啥关系也没有连一起)

自身联接:

1
2
3
SELECT sno FROM sc GROUP BY sno HAVING COUNT(cno)>=2;
SELECT DISTINCT x.sno FROM sc x,sc y WHERE x.sno=y.sno AND x.cno<>y.cno;//自身联接 同一个人的课程号不同
SELECT DISTINCT x.sno,sname FROM s,sc x,sc y WHERE s.sno=x.sno AND s.sno=y.sno AND x.cno='c1' AND y.cno='c2';

复合条件联接:

1
2
3
SELECT sname,grade FROM s,sc,c WHERE s.sno=sc.sno AND c.cno=sc.cno AND cname='VB' AND grade>70;//查修了VB且超70
SELECT s.sno,sname FROM s,sc WHERE s.sno=sc.sno GROUP BY s.sno HAVING min(grade)>70
SELECT sno,sname,count(cno) FROM s,sc WHERE s.sno=sc.sno GROUP BY s.sno HAVING COUNT(cno)>5 ORDER BY 3 DESC,1

这个故事叫:

哭也哭了 骂也骂了 觉也睡了

该干活了

应用层 <----> 数据传输层

数据传输层提供 socket api

网络应用的体系结构:

客户端——服务器模式(C/S)

服务器:持续运行 相应资源 软件 硬件数据资源都在服务器上

客户端:可以有动态地址 请求资源

问题:可扩展性差 架构随着用户的增加 达到阈值时 性能急剧下降

​ 可靠性差 需求服务器持续运行

对等体 (P2P)

平滑扩展 几乎没有持续运行的服务器

节点提供的服务能力仅在其上线时提供

混合体(C/S & P2P)

Napster QQ

双方的通信是P2P 注册是C/S

进程通信

问题:标识自己的地址 唯一的地址 别人能定位到

​ 使用传输层的api

寻址:在哪个主机ip 是TCP/UDP 在哪个端口

telnet: 23 web: 80 ftp: 21

应用进程间的通信可以由两个端节点表示

层间接口携带的信息:谁发的 发给谁 发了什么

端口号(port) ip是主机的标识 ip上有很多的应用进程

socket:使得通信的信息量变少 便于管理

lfy:不仅是有的同学 很多教计算机的老师 张口就是乱说

​ 中国人写书都是很功利的目的 所以现在写的书都很差

​ 以后上课关起门来 我叫自己朕 你们叫我陛下

lfy说要考的:硬件做的是指令系统 用的是指令集

​ 什么是函数 什么是系统空间调用

1.3.2共享

lfy:你们一起在教室上课,就是共享了我(?)

共享会有安全性问题

1.3.3虚拟

时分复用技术——虚拟处理机技术——虚拟设备技术

操作系统本身就是虚拟机 是一个资源管理器

eg. 硬盘—文件

​ cpu—进程&&线程

1.3.4异步 (Asynchronism)

我们写的程序是顺序执行的 但是计算机内的许多程序是并发运行的

各个程序跑的有快有慢

1.4 操作系统的主要功能

1.4.1处理器管理功能/进程管理功能 (1.控制进程 2.进程同步 3.进程通信 4.调度)

​ 计算机层次:

​ APP APP APP

​ —————— (房管指令)

​ OS

​ —————— (指令集)

​ 硬件

1.4.2存储器管理功能

1.内存分配 内存操作系统给出去了也可以收回来

(1)给程序分配内存空间(2)提高存储器利用率(3)允许正在运行的程序申请附加的内存空间

2.内存保护

3.地址映射 将地址空间中逻辑地址转换为内存空间中对应的物理地址

4.内存扩充

1.4.3设备管理功能

(1)完成I/O请求 完成指定的I/O操作

主机五层:应用 运输 网络 链路 物理

路由器三层:网络 链路 物理

链路是一条无源的点到点的物理线路段,中间没有任何其他交换节点

数据链路:除了物理线路之外,必须有通信协议来控制数据的传输。把这些协议的硬件和软件加在链路上,就构成了数据链路

常用方法:数据链路层的工作由适配器(网卡)实现协议的硬件和软件

3.1封装帧

在一段数据的前后分别添加首部和尾部

数据链路层的帧长是首部+尾部+MTU

MTU:帧的数据部分的帧长

利用控制字符封装: 开始符:SOH(START OF HEAD) 结束符:EOT (END OF TEXT)

3.2透明传输

当数据中出现控制字符时 在SOH和EOT前加入转义字符“ESC”(其编码为1B)

如果转义字符也出现在数据当中,在其之前再插入一个转义字符,当连续接受两个转义字符时,删除前面的一个

3.3差错检测

传输错误的比特占总比特的比例为误码率BER(Bit Error Rate)

误码率和信噪比有很大关系

汉明距离:

如果要检测e个差错,则编码集的汉明距离至少为e+1

如果要纠正t个差错,则编码集的汉明距离至少为2t+1

如果要检测e个差错,同时纠正t个差错,则编码集的汉明距离至少为e+t+1

eg.纠错 000000 000111 111000 111111 汉明距离=3

​ 010111 恢复为 000111 错一位

3.4差错控制编码

奇偶检验码:在数据码后附加一个校验位,使构成的码组中1的个数为奇数,或偶数

0100101(0)奇校验

0100101(1)偶校验

奇偶检验码只能检测出奇数个错误,无法检测出偶数个错误,但是实践简单

使用水平/二维奇偶检验

3.5数据的可靠传输和流量控制

实用的停止等待协议:

在实际的数据传输过程中,传输差错是不可避免的

传输差错导致接收的数据帧差错,接收方要求发送方重发数据帧

(a)正常情况 A DATA0 -> B -> ACK -> A -> DATA1 ->B ->ACK

(b)数据帧错误 A DATA0 -> B ->(出错) NAK -> A -> DATA0 ->B ->ACK

(c)数据帧丢失 A DATA0 -> B ->(丢失) (重传) A -> DATA0 ->B ->ACK

(d)确认帧丢失 A DATA0 -> B -> ACK(丢失) A -> DATA0 ->B ->ACK(要是再要就从鸿福了)

所以需要解决接收方的重传问题

超时重传技术:

结点A发送完一个数据帧是,就启动一个超时计时器,此计时器又称定时器

重复帧问题:(应答帧丢失导致)

每个数据帧带上不同的发送序号,每发送一个新的数据帧就把序号加1

帧的编号问题:任何的编号系统的序号所占用的比特数都是有限的,因此在一段事件后,发送的序号就会重复

老佛爷吐槽:中国人说话一直没什么逻辑

老佛爷技能:把粉笔往地上一丢 粉笔就断了

1.在核心态下运行的软件

interface 接口 操作系统是一个硬件上的软件平台 在操作系统上进而运行application

文件是操作系统虚拟出来的概念 离开了操作系统就没有这个概念

1.2.3多道批处理系统

中断是做切换的trigger

1.3.1并发

并行是好几个事情一起发生

并发是好几个事情在同一个时间

This is just a DONUT, which generates a 'code' donut on screen.

Here authors fantastic code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            k;double sin()
,cos();main(){float A=
0,B=0,i,j,z[1760];char b[
1760];printf("\x1b[2J");for(;;
){memset(b,32,1760);memset(z,0,7040)
;for(j=0;6.28>j;j+=0.07)for(i=0;6.28
>i;i+=0.02){float c=sin(i),d=cos(j),e=
sin(A),f=sin(j),g=cos(A),h=d+2,D=1/(c*
h*e+f*g+5),l=cos (i),m=cos(B),n=s\
in(B),t=c*h*g-f* e;int x=40+30*D*
(l*h*m-t*n),y= 12+15*D*(l*h*n
+t*m),o=x+80*y, N=8*((f*e-c*d*g
)*m-c*d*e-f*g-l *d*n);if(22>y&&
y>0&&x>0&&80>x&&D>z[o]){z[o]=D;;;b[o]=
".,-~:;=!*#$@"[N>0?N:0];}}/*#****!!-*/
printf("\x1b[H");for(k=0;1761>k;k++)
putchar(k%80?b[k]:10);A+=0.04;B+=
0.02;}}/*****####*******!!=;:~
~::==!!!**********!!!==::-
.,~~;;;========;;;:~-.
..,--------,*/

origin work:https://www.a1k0n.net/2011/07/20/donut-math.html

But I guess things went downhill from there, started isolating myself from her. Used to tell her everything I was felling, but then I guess I stopped, 'cause I wanted her to love who she thought I was, not who I felt myself becoming. Ever think about how horrified the people we love would be, if they found out who we truly are?

So we just dig ourselves deeper into our lies every day, ultimately hurting the only people brave enough to love us. Wish I didn't do that. Wish I was brave enough to love them back. I didn't know, maybe you should try it. We don't have as much time as we think.

1.操作系统老佛爷真牛逼

“作为大三的计算机同学,ubuntu都装不来,可以从学院11楼跳下去了”

“以前我不能说,现在男生穿的像小鲜肉一样就滚出我的课堂”

“要是你们觉得linux不好用,那是因为你们不配”

2.被骗了 计算机图形学怎么要考试