数学

线性代数挂过三次的原因是:那时候不敢去教室上课,对未来呈悲观态度。过去的教训总得吸取一点经验。

有意思的概念

归纳法和演绎法:前者是从特殊到一般,后者是从一般到特殊

奥卡姆剃刀:若有多个假设与观察一致,选择最简单的那个。但是我们对简单的定义是不同的

没有免费的午餐定理:

  • 如果所有问题是同等重要的,那么所有学习算法的期望性能相同
  • 如果现实中所有问题不是同等重要的,那么必定某些算法适合解决某些特定的问题而不适合解决另一些特定的问题
  • 从某个数据集里通过某种算法学出来的模型,不一定比从另一个特定的数据集里学出来的另一个模型 “好”

约定

我们用 \(m\) 表示样本数量,与维度 \(n\) 区分开。用 \(d\) 表示属性的个数。

粗斜体小写字母为列向量,如 \(\boldsymbol{x}=(1;2;3)\),使用分号分隔。其转置为行向量,使用逗号分隔。

粗斜体大写字母为矩阵。在上下文明确的情况下可不用粗体。

在上下文明确的情况下可省略求和符号的起止。

概率论与数理统计知识

  • \(\sum x_i = m\bar{x}\)

离散型随机变量函数的期望 \(E(f(X))\)

参考

\(f\) 是连续函数且级数绝对收敛,\(E(f(X)) = \sum P(x_i)f(x_i)\)

离散型随机变量的信息熵 \(H(X)\)

信息量 \(I(x_i) = - \log_2{P(x_i)}\):投一次正八面体骰子(0-7 点),有概率均等的八种结果。把每种结果都用 3 bit 的二进制数表示,熵为 3 bit。

  • 信息 “结果是 1 点” 的信息量是 3 bit,得到这个信息之后,熵剩余 0 bit
  • 信息 “结果是 1 点或 2 点的其中之一” 的信息量是 2 bit,得到这个信息之后,熵剩余 1 bit
  • 信息 “结果是 1、2、3、4 点的其中之一” 的信息量是 1 bit,得到这个信息之后,熵剩余 2 bit

信息熵 \(H(X) = E(I(X)) = - \sum p_i \log_2 p_i\)

  • 投一次正八面体骰子,点数结果的信息熵是 3 bit
  • 投一次 1% 概率为正面,99% 概率为反面的不均匀硬币,面结果的信息熵约 0.08 bit
  • 投一次 25% 概率为正面,75% 概率为反面的不均匀硬币,面结果的信息熵约 0.811 bit

多重集合的信息熵

可能的最小值(全同)为 0,最大值(全异)为 log2 唯一值数量。

\(A = \{ 1,2,2,2 \}\)

\(H(A) \approx 0.811\)

多重集合划分后的信息熵

如把多重集合 \(\{ 1,2,2,2 \}\) 划分成两个子集 \(\{1\}\)\(\{2,2,2\}\) 后,信息熵变为 $0 $

其划分后的信息熵定义为各个子集熵的加权和,权为子集容量占原集合的比例。

划分后减少的信息熵称为划分后的信息增益。

基尼指数

可能的最小值(全同)为 0,最大值(全异)为 1 - 唯一值数量的倒数。

\(A = \{ 1,2,2,2 \}\)

\(G(A) = 1- \sum p_i^2 = \frac{3}{8}\)

类似地,划分后的基尼指数定义为各个子集基尼指数的加权和,权为子集容量占原集合的比例。

线性代数知识

  • \(\boldsymbol{a}^T \boldsymbol{b} = \boldsymbol{b}^T \boldsymbol{a}\)
  • \((\boldsymbol{A} + \boldsymbol{B})^T = \boldsymbol{A}^T + \boldsymbol{B}^T\)
  • \((\boldsymbol{AB})^T = \boldsymbol{B}^T\boldsymbol{A}^T\)
  • 矩阵和向量乘法分配律注意保证顺序不变,因为没有乘法交换律
  • 积的求和可以改写成两向量相乘 \(\sum_{i=1}^m x_iy_i = \boldsymbol{x}^T\boldsymbol{y}\)
  • 遇到 “行向量乘列向量加标量” 的形式,可以把标量拆分成 1 和它本身,再分别补到前面那两个向量的尾巴上
  • \(\boldsymbol{A}\boldsymbol{b} = \boldsymbol{c}\)
  • \(\boldsymbol{a}^T \boldsymbol{B} = \boldsymbol{c}^T\)
  • 行列式为零、非满秩、不可逆的方阵称为奇异矩阵
  • 矩阵的秩:变换为行阶梯型矩阵后的非零行数

矩阵和行列式的几何意义

  • 矩阵可表示多个向量:

    • 二阶行列式的绝对值是矩阵的两个列向量所张成的平行四边形的面积;
    • 三阶行列式的绝对值是矩阵的三个列向量所张成的平行六面体的体积;
    • 矩阵的秩是各向量张成空间的维数
  • 矩阵可表示对一个空间基(单位格子)的线性变换:

    • 用变换矩阵左乘一个向量,就是把该向量所在的空间做了变换。新坐标在旧空间里的位置与旧坐标在新空间里的位置一致。变换矩阵的行列式为新空间的单位格子相对于旧空间单位格子的面积 / 体积改变的倍数。
    • 行列式为零说明是降维打击,损失了信息,变换不可逆。
    • 行列式为负说明空间的手性改变了

方阵的余子式 \(M_{ij}\) 和代数余子式 \(A_{ij}\)

余子式为划掉原方阵第 \(i\)\(j\) 列后剩余的方阵的行列式。

代数余子式为余子式加一个正 / 负号,看 \(i+j\) 是偶数还是奇数。

它们都是行列式,可以求值。

方阵的顺序主子式

一个正方形框从左上角开始拉。

它们都是行列式,可以求值。

方阵的伴随矩阵 \(A^*\)

它是这样一个矩阵:新矩阵上每个位置的元素是原矩阵的一个代数余子式,代数余子式的下标和新矩阵位置的下标行列互换。

对于二阶矩阵,它的伴随矩阵是主交换、副取反。

方阵的逆矩阵 \(A^{-1}\)

逆矩阵等于伴随矩阵乘上行列式的倒数。

高斯 - 若尔当方法:把增广矩阵 \(A|I\) 初等行变换为 \(I|A^{-1}\)

方阵的特征值 \(\lambda\) 和特征向量

方阵左乘它的特征向量,等于把这个特征向量在它的方向上伸缩 / 反转 \(\lambda\) 倍。

如何求特征值:令特征多项式 \(|\lambda \boldsymbol{E} - \boldsymbol{A}| = 0\)

如何求特征向量:求 \((\lambda \boldsymbol{E} - \boldsymbol{A})\boldsymbol{x} = \boldsymbol{0}\) 的基础解系

如何求基础解系:初等行变换成行最简型

\[ \begin{pmatrix} \boldsymbol{E}_r & \boldsymbol{F} \\ 0 & 0 \end{pmatrix} \]

解矩阵为

\[ \begin{pmatrix} - \boldsymbol{F} \\ \boldsymbol{E}_{n-r} \end{pmatrix} \]

正定矩阵

充要条件:其所有特征值都为正。或者所有顺序主子式为正。

正交矩阵

\(AA^T = E\)

正交矩阵的各行是单位向量且两两正交,各列是单位向量且两两正交。

矩阵的奇异值分解

奇异值分解是把一个矩阵分解成三个矩阵相乘:

\[ A = U \Sigma V^T \]

\(A\) 是实矩阵的情况下,\(U\)\(V^T\) 都是正交矩阵,\(\Sigma\) 是与 \(A\) 形状相同的对角矩阵,其对角线上的元素叫奇异值,呈非负且按降序排列。

如何分解:\(U\) 的每一列是 \(AA^T\) 的特征向量,\(V\) 的每一列是 \(A^TA\) 的特征向量,\(\Sigma\) 对角线上每一个元素是 \(A^TA\)\(AA^T\) 的特征值开根号,注意保证各奇异值和特征向量对应。

高数知识

  • 复合函数求导法则:把内层的中介写一遍,连乘

Sigmoid 函数(对数几率函数)

\(S(x) = \dfrac{1}{1+e^{-x}}\),该函数图像长得和 \(\dfrac{1}{\pi} \arctan x + \dfrac{1}{2}\) 差不多

\[ \dfrac{1}{1+a^{-x}} + \dfrac{1}{1+a^{x}} = 1 \]

\(n\) 元函数 \(f(\boldsymbol{x})\)

自变量有 \(n\) 个,记作一个 \(n\) 维列向量 \(\boldsymbol{x}\)

梯度(一阶导数) \(\nabla f(\boldsymbol{x}) = \dfrac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}}\)

梯度是一个 \(n\) 维向量,各个分量是原函数在其各个自变量分量上的偏导函数 \(\dfrac{\partial f(\boldsymbol{x})}{\partial {x_i}}\),前提是各个偏导数都存在。

如:

\[ \nabla (5x_1+4x_1x_2+x_3) = (5+4x_2,4x_1,1) \]

海森矩阵(二阶导数) \(\nabla^2 f(\boldsymbol{x}) = \dfrac{\partial^2 f(\boldsymbol{x})}{\partial \boldsymbol{x}{\partial \boldsymbol{x}}^T}\)

海森方阵的每一个元素是原函数的二阶偏导数,前提是各个二阶偏导数都存在。

如:

\[ \nabla^2(2x_1 + x_1x_2) = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \]

凸函数

这里的凸函数指下凸函数。

凸函数任意两点的连线一定在函数图像上面,或与函数图像重合。如果一定在上面,我们称它为严格的凸函数。

一元严格凸函数的例子:\(y = x^2\)

一元非严格凸函数的例子: \(y = x + 1\)

如何判定一元函数是凸函数 / 严格凸函数:其二阶导数在区间上恒大于等于 / 大于零

如何判定多元函数是凸函数 / 严格凸函数:其海森矩阵在区间上是半正定 / 正定

矩阵微分公式

  • \(\frac{\partial \boldsymbol{a}^T \boldsymbol{x}}{\partial \boldsymbol{x}} = \frac{\partial \boldsymbol{x}^T \boldsymbol{a}}{\partial \boldsymbol{x}} = \boldsymbol{a}\) (南瓜书)

  • \(\frac{\partial \boldsymbol{A} \boldsymbol{x}}{\partial \boldsymbol{x}^T} = \boldsymbol{A}\) (南瓜书)

  • \(\frac{\partial \boldsymbol{A} \boldsymbol{x}}{\partial \boldsymbol{x}} = \boldsymbol{A}^T\) (https://en.wikipedia.org/wiki/Matrix_calculus 的分母布局

  • \(\frac{\partial \boldsymbol{x}^T \boldsymbol{A} \boldsymbol{x}}{\partial \boldsymbol{x}} = (\boldsymbol{A} + \boldsymbol{A}^T) \boldsymbol{x}\)(南瓜书)

一元线性回归

目的

找出与平面直角坐标系上的 \(m\) 个散点 \((x_i,y_i)\) 最接近的直线 \(\hat{y} = wx+b\)

找出使残差平方和最小的直线的斜率、截距,即求:

\[ (w^*,b^*) = \underset{(w,b)}{\mathrm{arg\ min}} \sum_{i=1}^{m} (y_i-wx_i-b)^2 \]

基本概念

观测值(已知的,用于训练模型的样本 \(y\) 值):\(y_i\)

估计值(给定一个 \(x_i\) 用模型 \(\hat{y} = wx+b\) 算出来的值):\(\hat{y_i}\)

残差:\(y_i-\hat{y_i} = y_i-wx_i-b\)

公式

这个公式是高中数学的内容,可以写成向量形式:

\[ \begin{aligned} w &= \frac{\boldsymbol{x}^T\boldsymbol{y} - m\bar{x}\bar{y}} {\boldsymbol{x}^T\boldsymbol{x}-m\bar{x}^2} = \frac{\boldsymbol{x}_d^T \boldsymbol{y}_d}{\boldsymbol{x}_d^T \boldsymbol{x}_d} \\ b &= \bar{y} - w\bar{x} \end{aligned} \]

\(\boldsymbol{x}_d\) 的各个分量是 \(x_i - \bar{x}\)

公式是怎么来的

  1. 残差平方和是关于 \(w\)\(b\) 的二元函数,其海森矩阵为:

\[ \begin{pmatrix} 2 \sum_{i=1}^m x_i^2 & 2 \sum_{i=1}^m x_i \\ 2 \sum_{i=1}^m x_i & 2m \end{pmatrix} \]

只要有一个非零的 \(x\) 值,它的一阶主子式就为正;由柯西不等式的一般形式,只要有不相等的 \(x\),它的二阶主子式就为正。做一元线性回归至少需要三个不同的点,如果所有 \(x\) 值相同,或者都为零,就不用这个公式算了。只要用这个公式算,它的海森矩阵就是正定的,它是严格凸函数。

  1. 令梯度等于零向量,改写成用矩阵求解线性方程组的形式
  2. 两边左乘系数矩阵的逆矩阵,得到 \((w;b)\)
  3. \(w\) 的分子分母同时除以 \(m\)
  4. 目标直线必定过均值点

多元线性回归

目的

找出 \(n+1\) 维欧式空间里与 \(m\) 个散点最接近的超平面:

\(f(\boldsymbol{x}) = \boldsymbol{w}^T \boldsymbol{x} + b\) 的各项参数

注意:这里的所有自变量(元)是一个 \(n\) 维向量 \(\boldsymbol{x}\)\(\boldsymbol{w}\) 是各个一次项的系数。函数的解析式是个一次多项式

“最接近” 也可表示为 \(f(\boldsymbol{x}_i) \simeq y_i\),即用模型算出来的值几乎等于观测值。

“行向量乘列向量加标量” 的形式,把标量 \(b\) 拆分成 \(b\)\(1\),写到前面那两个向量的尾巴上。记 \(\hat{\boldsymbol{w}} = (\boldsymbol{w};b)\)\(\hat{\boldsymbol{x}} = (\boldsymbol{x};1)\),则:

\[ f(\boldsymbol{x}) = \hat{\boldsymbol{w}}^T \hat{\boldsymbol{x}} = \hat{\boldsymbol{x}}^T \hat{\boldsymbol{w}} \]

公式

\(\boldsymbol{X}^T\boldsymbol{X}\) 为正定矩阵时,\(\hat{\boldsymbol{w}}\) 的全局最优解为:

\[ (\boldsymbol{X}^T\boldsymbol{X})^{-1} \boldsymbol{X}^T\boldsymbol{y} \]

此时的模型为:

\[ f(\hat{\boldsymbol{x_i}}) = \hat{\boldsymbol{x}}_i^T (\boldsymbol{X}^T\boldsymbol{X})^{-1} \boldsymbol{X}^T\boldsymbol{y} \]

公式是怎么来的

找出使残差平方和 \(E_{\hat{\boldsymbol{w}}}\) 最小的各项的系数与常数项向量 \(\hat{\boldsymbol{w}}^*\),即求:

\[ \underset{\hat{\boldsymbol{w}}}{\mathrm{arg\ min}} \sum_{i=1}^{m} (y_i - \hat{\boldsymbol{x}}_i^T \hat{\boldsymbol{w}})^2 \]

平方求和可改写成向量相乘,把括号里的向下影分身:

\[ E_{\hat{\boldsymbol{w}}} = \sum_{i=1}^{m} (y_i - \hat{\boldsymbol{x}}_i^T \hat{\boldsymbol{w}})^2 = (\boldsymbol{y} - \boldsymbol{X} \hat{\boldsymbol{w}})^T (\boldsymbol{y} - \boldsymbol{X} \hat{\boldsymbol{w}}) \]

这里影分身后的 \(\boldsymbol{y}\)\(\boldsymbol{X}\) 都有 \(m\) 行,\(\boldsymbol{X}\) 的每一行为 \(\hat{\boldsymbol{x}}_i^T\)

\(E_{\hat{\boldsymbol{w}}}\) 展开,再对 \(\hat{\boldsymbol{w}}\) 求导得:

\[ \nabla E_{\hat{\boldsymbol{w}}} = 2 \boldsymbol{X}^T (\boldsymbol{X} \hat{\boldsymbol{w}} - \boldsymbol{y}) \]

\(E_{\hat{\boldsymbol{w}}}\) 的海森矩阵是一阶导数再对 \(\hat{\boldsymbol{w}}^T\) 求一次导:

\[ \nabla^2 E_{\hat{\boldsymbol{w}}} = 2 \boldsymbol{X}^T \boldsymbol{X} \]

当海森矩阵为正定矩阵时,\(E_{\hat{\boldsymbol{w}}}\) 为严格凸函数。令梯度等于零向量,求得的全局最优解为当 \(E_{\hat{\boldsymbol{w}}}\) 取最小值时的 \(\hat{\boldsymbol{w}}\)

梯度下降法

梯度下降法是用来逼近函数取极小值时的点的。

以一元下凸函数 f (x) 为例,在右侧任意取一个 x 值,函数图像在该点处下降最快的方向是该点的导数方向,且导数为正,此时需要向左逼近,把 x 值变小;如果一开始在左侧取,则导数为负,需要向右逼近,把 x 值变大。

我们可以规定新取的 x 值等于上一步的 x 值减去一个与它的导数符号相同的数,这样就可以保证新的取值是一定沿着上一步相对于极小值的下降方向。

方向确定了,但是可能会移动过头。由于越平缓的地方导数绝对值是越小的,为了使移动的幅度与平缓程度相称,于是我们可以规定减去的那个数等于导数乘上另一个固定的正实数。

用梯度下降法求方程的解,即求一个 x 使得函数 f (x) = 0 。我们为了判断何时问题已经解决地足够好了,可以定义一个损失函数,它是用来量化离解决一个问题还有多长距离的量。

最终目的是让求的 x 值使得 f (x) 的值更接近 0,为了量化更接近零的程度,我们可以用原函数的平方作为损失函数。于是问题转化成了用梯度下降法求损失函数的极小值点。

在编写程序的时候,计算一个点的导数,我们可以采用计算与它相邻极近两点的割线斜率。

十进制与 K 进制小数互转

K 转 10:每一位分别乘上 K 的次方,再相加。

2 转 10

有限小数

\(11.1011\mathrm{B} = 3.6875\)

\(1\times2^{1}\) \(2\)
\(1\times2^{0}\) \(1\)
\(1\times2^{-1}\) \(0.5\)
\(0\times2^{-2}\) \(0\)
\(1\times2^{-3}\) \(0.125\)
\(1\times2^{-4}\) \(0.0625\)
总和 \(3.6875\)

无限循环小数

\(1.1 \dot{0} 11 \dot{0} ... \mathrm{B} = 1.7\)

可以转换成分数计算:

\[ \begin {aligned} 1.1 \dot {0} 11 \dot {0} ... \mathrm {B} & = x \\ 11.\dot {0} 11 \dot {0} ... \mathrm {B} & = 2x \\ 110110. \dot {0} 11 \dot {0} ... \mathrm {B} & = 32x \\ 两式相减,110011\mathrm {B} & = 30x \\ x & = \frac {110011\mathrm {B}}{30} = \frac {51}{30} = 1.7 \end {aligned} \]

10 转 K:

整数部分仍然除 K 取余,小数部分乘 K 取整,然后相加。

10 转 2

\(0.7 = 0.1 \dot{0} 11 \dot{0} ... \mathrm{B}\)

小数部分乘 2 取整数部分
\(0.7 \times 2 = 1.4\) \(1\)
\(0.4 \times 2 = 0.8\) \(0\)
\(0.8 \times 2 = 1.6\) \(1\)
\(0.6 \times 2 = 1.2\) \(1\)
\(0.2 \times 2 = 0.4\) \(0\)
... ...

10 转 16

\(0.7 = 0.\mathrm{B} \dot{3} ... _{16}\)

小数部分乘 16 取整数部分
\(0.7 \times 16 = 11.2\) \(\mathrm{B}\)
\(0.2 \times 16 = 3.2\) \(3\)
... ...

离散数学

基础不牢。虽然之前及格了,但是什么都没学会。

关系

集合:所有 \((10,60)\) 岁的人是一个集合 \(A\),所有 \((30,80)\) 岁的人是一个集合 \(B\)。当然有人同时属于这两个群体,也有同时不属于的。

笛卡尔积:把 \(A\) 放到左边,\(B\) 放到右边。把左边的所有人和右边的所有人多对多配对,用一根根线连起来。这些所有线的集合叫笛卡尔积 \(A \times B\)。当然也有自己连自己的,以及连了两次、左右互换的。注意,这些线是有方向的,是从左往右连,即 \(A \times B \not\equiv B \times A\)

关系:从这些线里任意取几根,或者全取,或者一根都不取。取出来的这几根线叫关系,记作 \(\rho\)。即关系是笛卡尔积的子集。\(\rho \subseteq A \times B\)\(\rho\) 是从 \(A\)\(B\) 的一个关系,也是有顺序的。如果取出来的这几根线左边全是老师,线右边全是对应老师的学生,则 \(\rho\) 是从 \(A\)\(B\) 的师生关系。张三在左边的 \(A\) 里面,代号是 \(a\),李四在右边的 \(B\) 里面,代号是 \(b\),连接它们的线记作 \((a,b)\)。如果这条线 \(\rho\) 里面,则记作 \(a \rho b\)。即张三对李四师生关系 \(\rho\),张三是李四的老师。不止他们两个人在师生关系 \(\rho\) 里面。张三对李四的这根线,在取出来的线集 \(\rho\) 里面。这些线的集合才叫关系,而 \((a,b)\) 不叫关系,再起码也得 \(\{(a,b)\}\)。即 \(a \rho b\) 的意思是 \((a,b) \in \rho\)\((a,b)\) 这根线在 \(\rho\) 这个线集里面。

定义域和值域:现在有一个从 \(A\)\(B\) 的师生关系 \(\rho\),就是从 \(A\)\(B\) 有一些线。被师生关系牵住的左边的所有人(老师),称为这个师生关系的定义域。右边的所有人(学生),称为这个师生关系的值域。这个师生关系是建立在 \(A\) -> \(B\) 这两个群体之上的。

逆关系:从 \(B\)\(A\) 的生师关系。记作 \(\tilde{\rho}\)

集合 \(A\) 上的关系:这两边可以放同一个集合,即从 \(A\)\(A\) 的关系 \(\rho\),直接叫集合 \(A\) 上的关系。即单个群体内部之间的线,包括自己连自己

前面说了,关系 \(\subseteq\) 笛卡尔积。对于 \(A\)\(A\) 的笛卡尔积,两边交换位置是相等的,可以记作 \(A^2\)。集合 \(A\) 上的关系 \(\rho \subseteq A^2\)。注意在此时,不一定有 \(\rho = \tilde{\rho}\)。如果 \((你,她)\in \rho\)\(\rho\) 是暗恋 ,不能保证 \((你,她)\in \tilde {\rho}\)你对别人有暗恋关系,不能保证你对别人有暗恋关系的逆

普遍关系 \(U_A\):所有人都连上线了,包括和自己。即这个关系等于笛卡尔积 \(A^2\)。大家

恒等关系 \(I_A\):所有人都和自己连上线了,但是互相之间没有线。我

性质:

  • 自反的:所有人都和自己连上线了,不一定和对方连不连。这叫正常
  • 非自反的:有和自己连线的,也有不和自己连线的,不一定和对方连不连。这叫混沌
  • 反自反的:所有人都不和自己连线,不一定和对方连不连。这叫忘我
  • 对称的:所有连线都是双向的,或者自指。这叫朋友
  • 非对称的:
  • 反对称的:

命题逻辑(二值逻辑)

命题:参考洪帆主编的《离散数学基础(第三版)》,并加上了自己的狭隘理解,同时满足以下三条:

  1. 它是一个陈述句
  2. 它有一个自带的属性,叫真值,取 \(0\)\(1\)
  3. 它的真值可以被判断(没有说被谁判断、在什么时间被判断)

2x - 3 = 0
这句话是假的

我们永远没法判断它们的真值是 \(0\) 还是 \(1\)(如果前者是一个陈述句而不是方程,我们不知道 x 是什么东西的。后者……)。所以它们不是命题

2024 年 1 月 16 号体彩排列三的开奖号码是 703

它是一个命题。它的真值可以被判断,因为这件事已经发生了,但需要我们查询资料

2024 年 1 月 17 号体彩排列三的开奖号码是 555
太阳系外有宇宙人

它们都是命题。它们的真值可以被判断,但不是现在。

命题连结词,一元的只有:否定 \(\neg\),非……。下面都是二元的。

1
def logic(P: bool, Q: bool) -> bool:

现在有一份鱼和一份熊掌。作为前件和后件。如果我们吃了,件的真值记为 \(1\),否则记为 \(0\);如果我们满足了(吃好了),复合命题的真值记为 \(1\),否则记为 \(0\)

合取 \(\wedge\) …… 且……:全吃了,我才满足

1
return P and Q

析取 \(\vee\) …… 或……(可兼的或):只要有吃的,我就满足

1
return P or Q

不可兼的叫异或。区别是:异或的鱼和熊掌只能吃一个,同时吃会生病。

1
return P ^ Q

等值 \(\leftrightarrow\) …… 当且仅当……:是异或的对立面:同或、完美主义:要么都吃,要么都不吃,只吃一个我就难受。

1
return P == Q

蕴含 \(\rightarrow\) …… 若则……:

现在有【生】和【义】,作为前件和后件。如果我们保留了,件的真值记为 \(1\),否则记为 \(0\);如果我们满足了(垂名了),复合命题的真值记为 \(1\),否则记为 \(0\)

注意:

  • 在蕴含的前件为假的情况下,复合命题为真。
  • 在蕴含的前件为真的情况下,复合命题的真值为后件的真值。

如果我们把【生】舍了,那还管它义不义,名字直接刻碑上了。或者这样记:如果一个人的前提都搞错了,那就没有必要和他讨论了,你说得都对。

1
2
3
return True if not P else Q
return (not P) or Q
return not (P and (not Q))

一个文字游戏:除非 P,否则不 Q

1
2
3
4
if P:
return Q
else:
return not Q

就是当且仅当

1
return P == Q

  1. 图至少得有一个节点。
  2. 图的节点不能与它自身连线。

(a,b) 图有 a 个节点,b 条边

没有边的图叫零图。单独一个无边节点叫平凡图。所有节点都互相连起来了叫完全图。

  1. 单独一个无边节点叫平凡图
  2. 人是一切社会关系的总和
  3. 所有人都是不平凡的