项目介绍:simpletex-webapi

一个借用SimpleTex解决在线Tex文档识别的方案

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

2023年10月31日星期二

概率论第3章随机向量及其分布例题指引

概率论第3章随机向量及其分布例题指引

概率论第3章随机向量及其分布例题指引

whu特供概率论第三章复习- 随机向量及其分布

brief

在本文中你将复习以下的例题
二维随机变量(X,Y) (X,Y)的分布函数
离散型随机变量(x,Y)的分布律
连续型随机变量(X,Y)的概率密度
离散型随机变量(X,Y)的边缘分布律
连续型随机变量(X,Y)的边缘概率密度
条件分布函数 条件分布律 条件概率密度
两个随机变量XY的独立性
Z=X+Y,Z=Y/XZ=XY的概率密度
M=max(X,Y},N=min(X,Y)的概率密度
本篇博文以习题为主,不包含知识点,因为笔者认为例题已经能很好的诠释知识点了。

知识点可以参考这位博主的文章
概率论与数理统计_梦里一声何处鸿的博客-CSDN博客

部分分布模型还请见笔者的上篇文章
一些解题用到的trick会在题解之前给出。
小结.png

3-1

1; 2;3;6

分布律

二维离散型随机变量

直接列表求就行了
独立
image.png
古典概型
image.png
image.png

连续型随机变量

image.png
image.png

非负连续性随机变量小结论,大概用不到,了解一下此类证明题的方法
image.png
image.png

3-2

P86: 4,9 P87:10,13 P88: 14, 15,

边缘分布

离散型随机变量

一种是通过联合分布律,计算总数然后得到分数也就是边缘分布律
另一种是利用联合分布律定义和求解过程,直接求得边缘分布律(如求X时,Y=Any,就像不考虑Y一般求X的单随机变量分布律)
image.png
image.png

image.png
image.png

连续型随机变量

确定常数就重积分,
已知联合概率密度求边缘概率密度
fX(x)=inftyf(x,y)dy f_X(x) = \sum_{-\infty}^{infty} f(x,y) dy
image.png
image.png

这里有两道和圆的面积相关的密度和概率求解
重积分的极坐标形式求解
image.png
image.png

image.png
几何推理和概率密度的定义,面积-均匀分布
image.png

image.png

联合密度函数,边缘密度函数,条件概率密度

知识点预览1

条件概率密度=联合概率密度边缘概率密度fXY(xy)=fX,Y(x,y)fY(y) 条件概率密度= \frac{联合概率密度} {边缘概率密度} \\ \\ f_{X|Y}(x|y)=\frac{f_{X,Y}(x,y)}{f_Y(y)}
独立的随机变量

  • p(x,y)=PX(x)×PY(y)p(x,y)=P_X(x) \times P_Y(y)

不独立的随机变量

  • 如果已知联合分布函数F(x,y)F(x,y)那么它的二阶偏导数就是联合密度函数p(x,y)=2F(x,y)xyp(x,y)=\frac{\partial^2F(x,y)}{\partial x\partial y}
  • 如果已知x,y各自的边际密度函数和条件密度,那么p(x,y)=pY(y)×p(xy)p(x,y)=pX(x)×p(yx)p(x,y)=p_Y(y) × p(x|y)或p(x,y)=p_{X}(x)\times{p(y|x)}
  • 如果什么都不知道,或知道很少,那就根据理由不充分原理猜一个吧,然后根据获取新信息,使用贝叶斯推断逐步得到你想要的。

例题

image.png

3-3

P88: 17,18,19,20
P89:22,24,25
P90:34,35

两个随机变量X,Y的独立性

随机变量是否相互独立,联合密度函数等于两个边缘密度函数的积
image.png

Z=X+Y,Z=Y/XZ=XY的概率密度

Z=X+Y

方法1-卷积公式
fZ(z)=fX(zy)fY(y)dyf_{Z}(z)=\int_{-\infty}^{\infty}f_{X}(z-y)f_{Y}(y)\mathrm{d}y
注意z和x,y的定义域关系。比如这道题画了图,分段列积分。
方法2
先求分布函数FZ(z)F_Z(z)
Fz(z)=P{Zz}=P{X+Yz}=x+yzf(x,y)dxdy \begin{aligned} F_{z}\left(z\right)& =P\{Z\leqslant z\}=P\{X+Y\leqslant z\} \\ &=\iint_{x+y\leqslant z}f(x,y)\mathrm{d}x\mathrm{d}y \end{aligned}
当然这个过程也要考虑到定义域也要画图辅助
然后再对z求导,得到z的概率密度函数

image.png
image.png
image.png

image.png
image.png

如果随机变量离散还有这样的结论
image.png
image.png
image.png


  1. 引用自两个不独立的随机变量,怎么求二者的联合密度函数? - 知乎 (zhihu.com)
    and 图解联合概率密度、边缘概率密度、条件概率密度之间的关系_画联合概率密度图怎么画_Uncertainty!!的博客-CSDN博客 ↩︎

2023年10月25日星期三

离散数学-量词小结

离散数学-量词小结

量词小结附例题

一些规则1

  1. 置换规则
    设Φ(A)是含A的公式, 那么, 若A⇔B, 则Φ(A)⇔Φ(B).

  2. 换名规则
    设A为一公式,将A中某量词辖域中个体变项的所有约束
    出现及相应的指导变元换成该量词辖域中未曾出现过的个
    体变项符号
    ,其余部分不变,设所得公式为A’,则A’⇔A.

  3. 代替规则
    设A为一公式,将A中某个个体变项的所有自由出现用A中
    未曾出现过的个体变项符号代替,其余部分不变,设所得
    公式为A’,则A’⇔A.

消去量词

【数理逻辑】谓词逻辑 ( 谓词逻辑基本等值式 | 消除量词等值式 | 量词否定等值式 | 量词辖域收缩扩张等值式 | 量词分配等值式 )

扩张收缩

量词辖域扩张和收缩律的8个等价式 根本理解

QQ截图20231025160714.png

前束范式

【数理逻辑】谓词逻辑 ( 前束范式 | 前束范式转换方法 | 谓词逻辑基本等值式 | 换名规则 | 谓词逻辑推理定律 )_前束范式换名规则-CSDN博客


  1. 版权声明:本文为CSDN博主「鱼包子Ray」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/baopengjian/article/details/109296440 ↩︎

计组06

计组06

计组06

补遗

浮点数小结

例如在 1 + 4 + 3中
bias = 7
浮点数{规格化浮点数非规格化浮点数exp=000...0(real exp=1bias,M=0.frac)±exp=111...1NaNfrac000.0非数字编码 浮点数 \begin{cases} 规格化浮点数 \\ 非规格化浮点数 \text{exp} = 000...0 \quad (\text{real exp} = 1-\text{bias}, M = 0.\text{frac})\\ \pm \infty \quad \text{exp} = 111...1\\ \text{NaN} \quad \text{frac} \ne 000.0 非数字编码 \end{cases}
非规格浮点数的存在可以允许表示接近0的数
26=1642^{-6} = \frac 1 {64}
用1.xxx表示? \用有效位用0.xxx
88×112818×164\frac 8 8 \times \frac 1 {128} \to \frac 1 8 \times \frac 1 {64}

浮点数加法

先以DEC进制为例
现有两个十进制数
9.999×1019.999 \times 10^{1}and1.610×1011.610 \times 10^{-1}

step detail
1. 对阶,指数归一,小指数向大指数转化1 0.0161×1010.0161 \times 10^1
2. 有效数位相加 10.015×10110.015 \times 10^1
3. 规格化结果,检查溢出(指数) $1.0015 \times 10^2 $
4. 舍入,向偶数舍入 1.002×102\to 1.002 \times 10^2

四舍入,中间值以下舍,中间值以上入,特判中间值,向偶数舍入
如DEC中的0.5 ,这里2是偶数38

ori approx
1.6 2
1.4 1
2.5 2
1.5 2

BIN中,例如取小数点后两位有效位
中间值则为.xx100

ori approx
1.00101 1.01
1.00001 1.00
1.11100 10.00舍完后重新规整化
1.10100 1.10

这里0为偶数

这里流程设计加减
_04D4C661-947C-4e08-8E5C-F11BABF81542_.png

浮点数乘法

想想手工加法。
QQ截图20231025134308.png
multiplicand * multiplier
这里优化可以将64bit的ALU节省到32bit的ALU

4bit两数相乘示例。
1000 * 1001

  • 被乘数从右往左1stbit = 1, 这一位的积=乘数,| reg + cand = 1000
  • lier 2nd bit = 0 ,积为全0 | reg先右移1位,再+0 = 0100
  • lier 3rd bit = 0, 积为全0 | reg r shift ,再+0 = 0010
  • lier 4th bit = 1, 积=cand | reg r shift, result = 1001 000
    4位数字,4次加法运算。

再优化后 p13

mips 乘法,HI和LO

Two 32-bit registers for product
◼ HI: most-significant 32 bits
◼ LO: least-significant 32-bits
不可见

用法

mult rs,rt 
multu rs,rt

64bit的结果存放在HI/LO

mfhi rd
mflo rd

load

mul rd,rs,rt

结果低32位赋值给rd

浮点数乘法

指数相加,有效数位相乘

除法

协处理器
32个单精度 reg $f0 $f1 … $f31
组合例如$f0 and $f1 可存双精度

FP instructions operate only on FP registers
◼ Programs generally don’t do integer ops on FP data,or vice versa
◼ More registers with minimal code-size impact

lwcl ldcl swcl sdcl
ldcl $f8, 32($sp) 

更多操作码
◼ Single-precision arithmetic
add.s, sub.s, mul.s, div.s
◼ e.g., add.s $f0, $f1, $f6

◼ Double-precision arithmetic
add.d, sub.d, mul.d, div.d
◼ e.g., mul.d $f4, $f4, $f6

◼ Single- and double-precision comparison
c.xx.s, c.xx.d (xx is eq, lt, le, ...)
◼ Sets or clears FP condition-code bit
◼ e.g. c.lt.s $f3, $f4

◼ Branch on FP condition code true or false
bc1t, bc1f
◼ e.g., bc1t TargetLabel

代码示例

float f2c (float fahr) {
    return ((5.0/9.0)*(fahr - 32.0));
}

◼ fahr in $f12, result in $f0, literals in global memory space

f2c: lwc1 $f16, const5($gp)
    lwc1 $f18, const9($gp)
    div.s $f16, $f16, $f18
    lwc1 $f18, const32($gp)
    sub.s $f18, $f12, $f18
    mul.s $f0, $f16, $f18
    jr $ra

MIPS single cycle processor

CPU{数据通路{ALU(主要是整数)RF and M(高速缓存)中央处理器 CPU \begin{cases} 数据通路 \begin{cases} ALU (主要是整数)\\ RF\ and\ M(高速缓存) \end{cases}\\ 中央处理器 \end{cases}

取指令,

  1. PC \to M
  2. PC := PC + 4

执行指令
译码 -> 功能部件信号

Two types of functional units:

  • elements that operate on data values (combinational)
  • elements that contain state (sequential)
    哈佛模型
    Split memory (Harvard) model - one memory for instructions and one for data
    QQ截图20231025134839.png

全加器,以及其执行的AND, OR, a + b, a + bˉ\bar b

QQ截图20231025135127.png
其他如NOR,SLT,BEQ2


  1. 如果反过来,有效数字需要右移,高有效位的数字就无了 ↩︎

  2. 请在这里下载ppt(https://scarletborder.lanzoul.com/i7E6o1ct78ra),约ppt Chapter_04_Part01 11页 ↩︎

2023年10月18日星期三

祭祖05

祭祖05

祭祖05

补遗

同步

单任务操作系统->多任务操作系统,需要处理好线程进程的同步,保证不被干扰。

例如MPU1 往一个内存单元写,MPU2恰好往一个内存单元读,这就会导致Data race if P1 and P2 don’t synchronize

Result depends of order of accesses

硬件支持原子读写操作,在这次写和读之间不允许其他进程/核访存这个内存单元位置。

ll 和 sc

Load linked: ll rt, offset(rs)

  1. 读,rt = rs + offset(就是Load)
  2. rs + offset送给一个特殊的寄存器,同时将cpu的寄存器中的一个不可见的bit位置为0.
    在后续每次访存中,地址会和这个寄存器进行比较,如果相等,不可见的bit位赋值1从而导致后续sc失败.因此可判断这个内存单元是否被其他处理器访问过。
    这样的寄存器和bit位每个处理器都有一个,会广播给其他进程。

Store conditional: sc rt, offset(rs)

  1. 如果不可见bit位仍然为0,rt赋值给内存单元rs+offset,rt:=1
  2. 否则,rt:=0表示写失败了。

如果失败了,接下来就取决于程序是要放弃这个操作还是再试一次了,不过至少它(ll&sc)不会生成一个隐性的(不被察觉的)竞争危害。

由于这样的bit位只有一位,存ll的寄存器也只有一个,因此,LL/SC无法实现嵌套,也即无法实现嵌套锁,这是程序员使用LL/SC所需要注意的。

实现互斥锁?
拓展阅读:
Linux 的 Spinlock 在 MIPS 多核处理器中的设计与实现 - Rogn - 博客园 (cnblogs.com)
深入理解Linux 内核同步:自旋锁(Spinlock) - 知乎 (zhihu.com)

数组处理

伪指令,硬件不支持仅写方便
这里所用move r, a-> add r ,a ,zero

void  sort  (int  v[],  int  n)  
{  
	int  i,  j;  
	for  (i  =  0;  i  <  n;  i  +=  1)  {  
		for  (j  =  i – 1;  j  >=  0  &&  v[j]  >  v[j  +  1];  j -=  1) 
			swap(v,j);  
	}  
}  

v in $a0, n in $a1, i in $s0, j in $s1

1.png
line1-2: 将a0,a1储存,因为swap中会用到这两个寄存器存临时变量。

Arthmetic for computer

CPU={运算器数据通路控制器 CPU = \begin{cases} 运算器\to数据通路\\ 控制器 \end{cases}
{参与运算{整数{unsignedsigned补码小数不参与运算字符 数\begin{cases} 参与运算\begin{cases} 整数\begin{cases} unsigned\\ signed \to 补码 \end{cases}\\\\ 小数\\ \end{cases}\\\\ 不参与运算\to字符 \end{cases}

整数

整数运算器{+ × ÷处理overflow 整数运算器\begin{cases} +\ -\\ \times\ \div\\ 处理overflow \end{cases}

加减法

有符号数,补码
已知
X+Y=[X+Y]XY=X+(Y)=[XY] X_补 + Y_补 = [X+Y]_补\\ X_补 - Y_补 = X_补 + (-Y)_补 = [X-Y]_补

如何处理overflow?,现有4位二进制位
2.png
3.png

add在发生溢出时会报告cpu从而进行except或者采用饱和运算,addu则不会监测

Some languages (e.g., C) ignore overflow

  • Use MIPS addu, addui, subu instructions

Other languages (e.g., Ada, Fortran) require raising an exception

  • Use MIPS add, addi, sub instructions
  • On overflow, invoke exception handler
    • Save PC in exception program counter (EPC)
      register
    • Jump to predefined handler address
    • mfc0 (move from coprocessor reg) instruction can retrieve EPC value, to return after corrective action

乘法除法

了解

小数

如何表示非整数

包括小数和大数->科学计数法
标准化例如

  • 2.34×1056-2.34 \times 10^{56}

非标准化

  • +976.02×105+976.02 \times 10^5

在二进制中则是

  • 1.xxxxx2×2yyyyyy21.xxxxx_2 \times 2^{{yyyyyy}_2}
有效数字位 指数浮动
1.xxxx21.xxxx_2 2yyyyy2^{yyyyy}
精度 大小

IEEE-754
ppt p11

  • 单精度 float 32bit
  • 双精度 double 64bit
S Exponent Fraction
single 8bits single 32bits
double 11bits double 52bits

X=(1)S×(1+Fraction)×2(ExponentBias) X = (-1)^S \times (1 + \text{Fraction})\times 2^{(\text{Exponent} - \text{Bias})}

  1. S 符号位,0表示非负,1表示负
  2. 标准化有效位: 1.0significand<2.01.0 \le |\text{significand}| < 2.0
    • 因为总有一个前置的二进制位1,所有不需要再显式的表示
  3. 指数:过度表示,实际指数+偏移
    • 确保指数是非负的
    • single Bias = 127, double Bias = 1023
    • 1261271254-126 \sim 127 \Rightarrow 1 \sim 254
    • 1022102312046-1022 \sim 1023 \Rightarrow 1 \sim 2046

单精度范围

指数 00000000 和 11111111 是保留的

  • min:Exp:00000001
    • 实际指数1-127 = -126
    • 有效位:000…00\to有效位1.0
    • ±1.0×21261.2×1038\pm 1.0 \times 2^{-126} \approx 1.2 \times 10^{-38}
  • max:Exp:1111110
    • 实际指数254 - 127 = +127
    • 有效位:111…112.0\to \approx 2.0
    • ±2.0×2+127±3.4×10+38\pm 2.0 \times 2^{+127} \approx \pm 3.4 \times 10^{+38}

表示例子

Represent –0.75

  • –0.75 = (1)1×1.12×21(–1)^1 × 1.1_2 × 2^{–1}
  • S = 1
  • Fraction = 1000…002_2
  • Exponent = –1 + Bias
    • Single: –1 + 127 = 126 = 011111102_ 2
    • Double: –1 + 1023 = 1022 = 011111111102_2
  • Single: 1011111101000…00
  • Double: 1011111111101000…00

denormal numbers

x=(1)S×(0+Fraction)×2(1Bias)x = (-1)^S \times(0+\text{Fraction})\times 2^{(1-\text{Bias})}
Smaller than normal numbers

  • allow for gradual underflow, with diminishing precision

特殊的,Denormal with fraction =000…0
x=(1)S×(0+0)×2(1Bias)=±0.0x=(-1)^S \times (0+0) \times 2^{(1-\text {Bias})} = \pm 0.0
因此有两种表示0的方法

示例,Tiny Floating Point

8-bit Floating Point Representation

  • the sign bit is in the most significant bit
  • the next four bits are the exponent, with a bias of 7
  • the last three bits are the frac

4.png