成立条件- 程序接收输入,在一系列规则下计算,并产生返回值、输出或新状态。
- 若程序还修改文件、随机数状态或设备,就应把这些外部状态也视为输入和输出的一部分。
变量与应用
变量
- y
- 在“程序与状态转换”中作为等号左侧的目标量参与关系计算,单位:不适用
- f
- 在“程序与状态转换”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- x
- 在“程序与状态转换”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把条件分支、循环控制流不变量与终止条件整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:编写小程序前,我们至少需要说明:接受什么输入、类型与单位;对非法或边界输入做什么;成功返回什么类型和值;是否修改外部状态;是否保证终止。
- 推导:C00 · 程序、类型、控制流与函数
N=232−p. 成立条件- 若聚合覆盖了未实际到达的地址,路由器仍需明确处理这些空缺,避免把错误的可达信息传播出去。
- 若网关地址也需要从终端范围分配,应把它计入各局域网的容量要求。
变量与应用
变量
- N
- 在“地址前缀与子网范围”中作为等号左侧的目标量参与关系计算,单位:不适用
- p
- 在“地址前缀与子网范围”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把路由聚合和最长前缀匹配整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:对常规带广播地址的子网,主机地址通常排除网络地址和广播地址,但点对点链路上的 等情形有专门规则;计算地址总数的公式始终适用,计算终端数量时则必须说明子网类型。
- 推导:C05 · IP 地址与路由
τ=E[Y(1)−Y(0)]. 成立条件- 因果问题要求比较同一单位在处理与未处理状态下的结果,但现实中每个单位只能经历其中一个状态。
- 对照条件必须具体到接触时间、设备、默认设置和共同干预,不能只写“常规”。
变量与应用
变量
- τ
- 在“对照与潜在结果”中作为等号左侧的目标量参与关系计算,单位:不适用
- Y
- 在“对照与潜在结果”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把随机分配、分层阻断与盲法实施整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:用 Yi(1) 与 Yi(0) 表示单位 i 的两个潜在结果,个体处理效应为 Yi(1)−Yi(0),却无法同时观测。
- 推导:C02 · 对照、随机化与功效分析
Nij=Mij−Cij. 成立条件- 设资源类型数为 m,任务数为 n。
- 若能找到一个任务顺序,使每个任务的剩余需求都由当前空闲资源满足,并在完成后归还它已经持有的资源,就得到安全序列。
变量与应用
变量
- Nij
- 用下标 ij 区分 N 的分量、样本或离散状态,单位:不适用
- Mij
- 用下标 ij 区分 M 的分量、样本或离散状态,单位:不适用
- Cij
- 用下标 ij 区分 C 的分量、样本或离散状态,单位:不适用
适用与边界
- 应用:把多实例分配与安全序列的逐步检查整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:安全检查要在试分配后的完整状态上执行,不能只检查空闲资源是否够用。
- 推导:C04 · 死锁与资源分配
dtx=RL. 成立条件- 设一个已经包含当前层首部的数据单元长为 L 比特,链路发送速率为 R 比特每秒。
- 这个模型假设速率在发送期间保持不变,并且计算中没有遗漏必须串行发送的链路开销。
变量与应用
变量
- d
- 在“发送时延与传播时延”中作为等号左侧的目标量参与关系计算,单位:不适用
- L
- 在“发送时延与传播时延”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- R
- 在“发送时延与传播时延”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把单跳时延与多跳存储转发整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:正文未把极限情形单列为独立公式;适用边界以本小节声明的定义域、假设和边界条件为限。
- 推导:C05 · 网络分层与时延
T(n)=aT(n/b)+f(n),T(1)=Θ(1). 成立条件- 相同伪代码在链表、外存或昂贵比较函数下可能有不同主导成本。
- 若某分支仍为规模 n,递推可能不终止。
变量与应用
变量
- T
- 在“分治的四个部件”中作为等号左侧的目标量参与关系计算,单位:不适用
- n
- 在“分治的四个部件”中作为等号左侧的目标量参与关系计算,单位:不适用
- a
- 在“分治的四个部件”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- b
- 在“分治的四个部件”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- f
- 在“分治的四个部件”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- Θ
- 在“分治的四个部件”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把快速排序的划分过程与最坏输入整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:递推子问题尺寸不等、子问题数随 n 改变或 f 剧烈振荡时,标准 Master 形式未必适用,应直接展开递归树、代入证明或使用更一般定理。
- 推导:C01 · 分治、贪心与排序
T≥tcq+tlogic+tsetup. 成立条件- 来自按钮、外部设备或另一时钟域的信号可能在采样边沿附近改变,从而使寄存器暂时处于亚稳态。
- 设发送寄存器延迟为 0.12ns,组合路径最长延迟为 0.68ns,接收寄存器建立时间为 0.10ns,忽略偏斜和抖动。
变量与应用
变量
- T
- 在“建立时间与时钟周期”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- tcq
- 用下标 cq 区分 t 的分量、样本或离散状态,单位:不适用
- tlogic
- 用下标 logic 区分 t 的分量、样本或离散状态,单位:不适用
- tsetup
- 用下标 setup 区分 t 的分量、样本或离散状态,单位:不适用
适用与边界
- 应用:把寄存器和有限状态机整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:保持时间约束检查最快路径,防止新数据过早到达接收端,不能只检查上式中的最长延迟。
- 推导:C03 · 数字逻辑与时序电路
G≤min(R,RTT8min(Wrecv,Wcong)), 成立条件- 接收窗口表示接收方当前愿意接收的数据范围,保护接收端缓冲区;拥塞窗口表示发送端根据网络状况控制的在途数据量,限制注入网络的流量。
- 设两者分别为 Wrecv 与 Wcong,有效窗口受其较小值约束。
变量与应用
变量
- G
- 在“接收窗口与拥塞窗口”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- R
- 在“接收窗口与拥塞窗口”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- W
- 在“接收窗口与拥塞窗口”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把序号、累计确认与连接状态整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:这个式子没有描述连接启动、具体拥塞控制算法或重传开销;它适合检查窗口大小是否足以维持目标速率,不能直接预测任意网络中的下载速度。
- 推导:C05 · UDP 与 TCP
xˉ=290+80=85. 成立条件- 这里人数指成绩表中的记录数;若同一学生允许重复修课,就需要在课程与学期范围内重新定义统计对象。
- 若查询在分组前加入 ,低于八十分的记录会先被移除,平均分就变成高分记录的平均值。
变量与应用
变量
- x
- 在“课程平均分与人数”中作为等号左侧的目标量参与关系计算,单位:不适用
适用与边界
- 应用:把分组聚合、空值与统计粒度整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:两者筛选阶段和统计总体不同,不能互换。
- 推导:C06 · SQL 查询与聚合
k=1∑n(k−1)=2n(n−1)=Θ(n2). 成立条件- 给定头节点寻找第 i 个元素需要沿链前进,成本 O(i);若已持有待插位置的前驱节点,插入可改常数个引用,成本 O(1)。
- 若用持有头引用的单向链表,每次创建节点并令其 next 指向旧头,共改常数个引用,总成本 Θ(n)。
变量与应用
变量
- k
- 在“例 1:反复在表头插入的成本”中作为等号左侧的目标量参与关系计算,单位:不适用
- n
- 在“例 1:反复在表头插入的成本”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- Θ
- 在“例 1:反复在表头插入的成本”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把栈、队列与遍历顺序整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:两者对空结构操作都要定义失败,不能随意返回一个可能与合法元素冲突的特殊值。
- 推导:C01 · 序列、栈、队列、树与堆
N0=1,Nj+1=2Nj,Nk=2k. 成立条件- 设初始只有一个进程,所有创建调用均成功,每个进程依次执行两次无条件 ,且中途没有退出。
- 描述符表项引用内核中的打开文件对象,对象保存访问模式、当前位置等状态。
变量与应用
变量
- N0
- 用下标 0 区分 N 的分量、样本或离散状态,单位:不适用
- Nj+1
- 用下标 j+1 区分 N 的分量、样本或离散状态,单位:不适用
- Nj
- 用下标 j 区分 N 的分量、样本或离散状态,单位:不适用
- Nk
- 用下标 k 区分 N 的分量、样本或离散状态,单位:不适用
- k
- 在“连续创建的进程数量”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把进程创建和文件描述符的继承关系整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:计数依赖控制流,不能只数源文件中出现几次调用名。
- 推导:C04 · 进程与系统调用
109bit/s×15381500≈975.29Mbit/s. 成立条件- 若载荷为 1500B 的 IPv4 数据报,且 IPv4 与 TCP 首部均没有选项,则应用数据为 1460B,对应约 949.28Mbit/s。
- 即便应用只发送少量字节,帧仍需满足最小长度,线路还要留出帧间间隔。
变量与应用
适用与边界
- 应用:把交换机学习、泛洪与广播域整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:全双工点对点链路分别承担两个方向的发送,课堂上讨论的共享介质碰撞机制只适用于相应的半双工模型。
- 推导:C05 · 以太网与交换
tavg=th+mp. 成立条件- 额外代价 p 不包含已经花费的命中检查时间;若资料中的缺失总时间包含检查阶段,必须先统一口径。
- 这个平均值适合描述给定请求分布,真实处理器可能并行处理多个缺失,程序总时间还取决于依赖关系与重叠程度。
变量与应用
变量
- tavg
- 用下标 avg 区分 t 的分量、样本或离散状态,单位:不适用
- th
- 用下标 h 区分 t 的分量、样本或离散状态,单位:不适用
- m
- 在“平均访问时间与写入策略”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- p
- 在“平均访问时间与写入策略”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把访问轨迹与映射冲突整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:描述写行为时应同时给出这两个维度,不能只说采用缓存写入就推断总线流量。
- 推导:C03 · 存储层次与缓存
成立条件- 平均值还要说明是行加权、设备等权还是时长加权,因为三个结果可能完全不同。
- 时,若 E 用千瓦时、t 用小时,P 才是千瓦;若持续时间为零或缺失,应产生显式无效状态而不是无穷大。
变量与应用
变量
- P
- 在“筛选、连接、聚合与派生变量”中作为等号左侧的目标量参与关系计算,单位:不适用
- E
- 在“筛选、连接、聚合与派生变量”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- t
- 在“筛选、连接、聚合与派生变量”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把数据血缘图、转换依赖与影响追踪整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:派生变量要给公式、输入列、单位和边界。
- 推导:C02 · 数据变换、血缘与版本
x+1−x 成立条件- 只在最终结果上转换类型太晚,因为溢出已在中间乘积发生。
- 在约十六位有效数字的 中,x+1 可能与 x=1016 舍入为同一浮点数,于是直接式给零。
变量与应用
变量
- x
- 在“舍入、消去与稳定改写”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把向量化归约、索引切片与临时分配整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:容差还应覆盖算法条件数和累计步数,不能固定一个对所有量纲通用的阈值。
- 推导:C00 · 数组、向量化与数值精度
η=q+hq. 成立条件- 设每次处理器在不同任务间切换需要 h 毫秒,任务通常用完整个 q 毫秒时间片。
- 这只是处理器服务时间比例,没有包含缓存恢复、设备等待和其他内核工作,也没有说明用户感知的响应质量。
变量与应用
变量
- η
- 在“时间片轮转”中作为等号左侧的目标量参与关系计算,单位:不适用
- q
- 在“时间片轮转”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- h
- 在“时间片轮转”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把非抢占策略与轮转调度的时间线整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:最后只剩一项任务时,调度器可能继续运行同一项任务,不能机械地为每个时间片边界计入一次完整切换。
- 推导:C04 · 处理器调度
Tfirst≈(20+40+40+40)ms=140ms. 成立条件- 设 DNS 查询需要二十毫秒,到服务器的往返时间为四十毫秒。
- 若连接已经建立并保持空闲可用,且没有新 DNS 查询和排队,同样的 HTTP 请求只需约四十毫秒到达首字节。
变量与应用
变量
- T
- 在“首次 HTTPS 请求的首字节时间”中作为等号左侧的目标量参与关系计算,单位:不适用
适用与边界
- 应用:把HTTP 消息、状态码与条件请求整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:因此,页面完成时间应结合实际请求序列分析,不能把单个请求的首字节时间直接当作整个页面速度。
- 推导:C05 · DNS、HTTP 与 TLS
ri=ti,baseti,new,zi=logri, 成立条件- 先在区组内汇总,再跨区组分析,避免把十四次重复运行当作十四个独立实验单位。
- 若把运行表与机器表按不唯一型号连接,行数可能倍增并改变权重;连接前应断言键唯一,连接后检查行数和未匹配比例。
变量与应用
变量
- ri
- 用下标 i 区分 r 的分量、样本或离散状态,单位:不适用
- ti
- 用下标 i 区分 t 的分量、样本或离散状态,单位:不适用
- zi
- 用下标 i 区分 z 的分量、样本或离散状态,单位:不适用
适用与边界
- 应用:把随机化、指标和停止规则的实验协议整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:若删除日志只写“清除异常值”,就无法判断选择是否依赖结果。
- 推导:C02 · 数据处理与实验设计综合复习
G=T8Bbit/s. 成立条件- 若探测超时,工具没有获得该次完整往返时间。
- 如果计时从 DNS 解析开始,得到的是包含建立连接开销的整体下载平均速率;若只统计稳定传输区间,得到的是另一种指标。
变量与应用
变量
- G
- 在“数据量与有效吞吐量”中作为等号左侧的目标量参与关系计算,单位:不适用
- B
- 在“数据量与有效吞吐量”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
- T
- 在“数据量与有效吞吐量”中作为等号右侧的输入量或系数参与关系计算,单位:不适用
适用与边界
- 应用:把有效吞吐量、重复数据与采样位置整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:两者均有用途,但比较时不能混用。
- 推导:C05 · 网络测量与故障排查
q=⌊1004096−96⌋=40 成立条件- 若页面已经缓存,访问主要消耗内存带宽与处理器时间;若页面仍在外部存储,则还需承担存储访问代价。
- 设一个数据页大小为 4096 字节,其中 96 字节用于页头与管理信息,每条定长记录占 100 字节,暂时忽略记录跨页和变长字段。
变量与应用
变量
- q
- 在“数据页与访问代价”中作为等号左侧的目标量参与关系计算,单位:不适用
适用与边界
- 应用:把选择率、访问代价和连接算法整理为可检查的关系、判据或算法步骤;涉及定量模型时写出公式,并说明符号、适用条件,以及需要时的单位或复杂度。
- 边界:索引选择应根据查询运算和数据类型确定,不能把一种索引的性质直接推广到所有索引实现。
- 推导:C06 · 索引与查询计划