22、量子算法:从秘密异或掩码到暴力搜索

量子算法:从秘密异或掩码到暴力搜索

在当今科技飞速发展的时代,量子算法作为一种新兴的计算方式,正逐渐展现出其强大的潜力。本文将深入探讨量子算法在解决秘密异或掩码问题和暴力搜索问题中的应用,分析经典解法和量子解法的差异,并详细介绍相关算法的原理和操作步骤。

1. 秘密异或掩码问题
1.1 问题描述

对于给定的函数 (f),存在一个秘密异或掩码 (s),满足 (y \oplus s = x) 时,(f(x) = f(y))。例如,当 (n = 3) 时,有如下可能的真值表:
| (x) | (f(x)) |
| — | — |
| 000 | 011 |
| 001 | 101 |
| 010 | 001 |
| 011 | 000 |
| 100 | 001 |
| 101 | 000 |
| 110 | 011 |
| 111 | 101 |

同时,满足条件的真值表共有 1680 种不同的可能。这是因为需要为四对输入分配输出,而每对输入有 8 种不同的输出选择,根据排列组合原理,总共有 (8\times7\times6\times5 = 1680) 种可能的排列。

1.2 经典解法

经典方法通过寻找碰撞(即找到一对 (x) 和 (y),使得 (f(x) = f(y)))来确定秘密异或掩码 (s)。因为 (f(x) = f(y)) 意味着 (x = y \oplus s) 和 (y = x \oplus s),所以可以通过计算 (x \oplus y) 得到 (s):
[x \oplus y = x \oplus (x \oplus s) = (x \oplus x) \oplus s = s]

一种方法是逐个尝试输入,直到找到碰撞。在最坏情况下,可能需要尝试一半的输入才能找到碰撞,但再尝试一个输入就一定能找到碰撞,因此查询复杂度为 (O(2^{n - 1} + 1))。

为了提高效率,可以随机查询输入。假设已经查询了 (k) 次 (f),得到 (k) 个 (f) 的值,这些值中存在碰撞的概率由值对的数量决定,即组合数 (kC_2 = \frac{k(k - 1)}{2} = O(k^2))。由于该概率随查询次数的平方增长,因此预计大约需要查询 (2^{n/2}) 次才能找到碰撞。虽然这是一种改进,但复杂度仍然是指数级的。

以下是一个具体的练习:已知 (n = 4),查询 oracle 得到 (f(1011) = 0010) 和 (f(0111) = 0010),则 (s = 1011 \oplus 0111 = 1100)。

此外,寻找碰撞的任务与著名的生日问题密切相关。生日问题是计算在一个有 (n) 个人的房间里,至少有两个人生日相同的概率。假设一年有 365 天,且人们的生日是随机分布的。为了解决这个问题,先计算 (n) 个人生日都不同的概率,然后用 1 减去这个概率。具体计算过程如下:
第一个人在房间里,没有人与他生日相同,概率为 1;第二个人生日与第一个人不同的概率为 (\frac{364}{365});第三个人生日与前两个人不同的概率为 (\frac{363}{365});以此类推,(n) 个人生日都不同的概率为:
[\frac{364}{365} \times \frac{363}{365} \times \frac{362}{365} \times \cdots \times \frac{365 - (n - 1)}{365}]

将其乘以 (\frac{365}{365}),得到:
[\frac{365 \times 364 \times 363 \times 362 \times \cdots \times (365 - (n - 1))}{365^n}]

因此,至少有两个人生日相同的概率为:
[1 - \frac{365 \times 364 \times 363 \times 362 \times \cdots \times (365 - (n - 1))}{365^n}]

可以使用计算机代数系统进行计算,例如当 (n = 23) 时:
- 使用 Mathematica:

n = 23;
1 - Product[i / 365., {i, 365 - (n - 1), 365}]

输出结果为 0.507297。
- 使用 SageMath:

n = 23
1 - prod(i / 365. for i in range(365 - (n - 1), 366))

输出结果为 0.507297234323986。

这表明在一个有 23 人的房间里,至少有两个人生日相同的概率超过 50%,这可能比人们预期的要高,因此生日问题也被称为生日悖论。

1.3 量子解法:西蒙算法

西蒙算法遵循常见的模式:应用哈达玛门(Hadamards)、查询 oracle、再次应用哈达玛门。该算法使用 (n) 个输入量子比特和 (n) 个答案量子比特,并且每个答案量子比特初始化为 (|0\rangle) 状态。

量子电路如下:

|0⟩  Uf  |0⟩
...  ...  ...
|0⟩  Uf  |0⟩
|0⟩  H   |0⟩
...  ...  ...
|0⟩  H   |0⟩

具体步骤如下:
1. 初始状态为两个 (n) 量子比特寄存器,分别用于输入量子比特和答案量子比特:
[|0\cdots00\rangle|0\cdots00\rangle]
2. 对每个输入量子比特应用哈达玛门,得到:
[|+\cdots++\rangle|0\cdots00\rangle]
将 (|+\rangle) 状态展开,得到 (n) 位字符串的均匀叠加:
[\frac{1}{\sqrt{2^n}} \sum_{x \in {0, 1}^n} |x\rangle|0\cdots00\rangle]
3. 查询 oracle,得到:
[\frac{1}{\sqrt{2^n}} \sum_{x \in {0, 1}^n} |x\rangle|f(x)\rangle]
4. 再次对每个输入量子比特应用哈达玛门,根据公式 (H^{\otimes n}|x\rangle) 是比特字符串 (|z\rangle) 的均匀叠加乘以相位 ((-1)^{x \cdot z}),得到:
[\frac{1}{\sqrt{2^n}} \sum_{x \in {0, 1}^n} \frac{1}{\sqrt{2^n}} \sum_{z \in {0, 1}^n} (-1)^{x \cdot z}|z\rangle|f(x)\rangle]
5. 测量答案量子比特,得到一个特定的 (f(x)) 值,记为 (f’)。存在两个 (x) 值(记为 (x’) 和 (x’‘))使得 (f(x’) = f(x’‘) = f’),此时状态将坍缩到这两个 (x) 值:
[\frac{1}{\sqrt{2}} \frac{1}{\sqrt{2^n}} \sum_{z \in {0, 1}^n} [(-1)^{x’ \cdot z} + (-1)^{x’’ \cdot z}]|z\rangle|f’\rangle]
6. 测量输入量子比特。由于 ((-1)^{x’ \cdot z} = \pm1) 和 ((-1)^{x’’ \cdot z} = \pm1),它们的和要么是 (\pm2),要么是 0:
[(-1)^{x’ \cdot z} + (-1)^{x’’ \cdot z} =
\begin{cases}
\pm2, & x’ \cdot z = x’’ \cdot z \mod 2 \
0, & x’ \cdot z \neq x’’ \cdot z \mod 2
\end{cases}]
因此,测量输入量子比特时,只能得到满足 (x’ \cdot z = x’’ \cdot z \mod 2) 的 (|z\rangle) 值。将 (x’’ \cdot z) 加到等式两边,得到:
[x’ \cdot z + x’’ \cdot z = x’’ \cdot z + x’’ \cdot z \mod 2]
由于任何比特与自身模 2 相加为 0,所以等式右边为 0,即:
[x’ \cdot z + x’’ \cdot z = 0 \mod 2]
因式分解得到:
[(x’ + x’‘) \cdot z = 0 \mod 2]
因为 (x’) 和 (x’‘) 是产生碰撞的一对输入,所以 (x’ \oplus x’’ = s),则有:
[s \cdot z = 0 \mod 2]
写成点积形式为:
[s_{n - 1}z_{n - 1} + \cdots + s_1z_1 + s_0z_0 = 0 \mod 2]

重复这个过程 (O(n)) 次,可以得到 (n) 个不同的 (|z\rangle) 值,每个值都满足上述方程。这些方程构成了一个包含 (n) 个未知数((s_i))的 (n) 元方程组,可以求解得到 (s)。因此,西蒙算法通过 (O(n)) 次查询 oracle 就可以找到 (s),这是经典计算机和量子计算机之间的第一个指数级 oracle 分离。

以下是一个练习:使用西蒙算法寻找 (n = 3) 位字符串 (s = s_2s_1s_0),运行量子电路三次,得到 (|z\rangle) 的值为 (|011\rangle)、(|110\rangle)、(|010\rangle),满足 (s \cdot z = 0 \mod 2)。可以列出以下方程组:
[\begin{cases}
s_1 + s_2 = 0 \mod 2 \
s_1 + s_0 = 0 \mod 2 \
s_1 = 0 \mod 2
\end{cases}]
解得 (s = 000)。

1.4 总结
问题 经典查询复杂度 量子算法 量子查询复杂度 渐近量子加速
(n) 位奇偶性 (n) Deutsch (n/2) 无
常数 vs 平衡 精确:(2^{n - 1} + 1)
有界:(O(1))
Deutsch - Jozsa 1 指数级
点积字符串 (n) Bernstein - Vazirani 1 多项式级
递归点积字符串 (\Omega(n \log_2 n)) 递归 (n) 超多项式级
异或掩码 (O(2^{n/2})) 西蒙算法 (O(n)) 指数级

从上述表格可以看出,对于不同的问题,量子算法在查询复杂度上有不同程度的提升。虽然在某些问题上,量子算法的渐近复杂度与经典算法相同,但在其他问题上,如寻找秘密异或掩码,量子算法可以实现指数级的加速。

2. 暴力搜索问题
2.1 问题描述

暴力搜索问题是指给定一个函数 (f: {0, 1}^n \to {0, 1}),该函数仅对一个输入输出 1,对其他所有输入输出 0,目标是找到这个特殊的输入,记为 (w)(获胜者)。

一个常见的例子是在电话簿中搜索。给定一个按字母顺序排列的人名列表和对应的电话号码,根据人名查找电话号码很容易,可以使用二分搜索,最多需要 (\log_2 N) 步((N) 是条目数量)。但根据电话号码查找人名则比较困难,因为电话号码是无序的,可能需要遍历每个电话号码才能找到匹配项。这种逆问题就是暴力搜索问题,经典计算机解决该问题需要 (O(N)) 次查询。

暴力搜索问题也可以看作是搜索无序数据库或反转函数的问题,并且它还包括尝试通过检查每个输入来解决 NP 类问题,因为这类问题的可能解很容易验证。

2.2 经典解法

经典方法在最坏情况下需要查询所有 (N = 2^n) 个可能的比特字符串,平均情况下需要查询一半的比特字符串,即 (N/2),因此经典运行时间为 (O(N))。

2.3 量子解法:格罗弗算法

格罗弗算法可以使用 (O(\sqrt{N})) 次查询解决暴力搜索问题。忽略答案量子比特,算法从所有量子比特处于 (|+\rangle) 状态开始,记为初始状态 (|s\rangle):
[|s\rangle = |+\rangle^{\otimes n} = \frac{1}{\sqrt{N}} \sum_{x \in {0, 1}^n} |x\rangle]
其中 (N = 2^n)。可以通过对全零状态应用哈达玛门来创建这个初始状态,即 (|+\rangle^{\otimes n} = H^{\otimes n}|0\rangle^{\otimes n})。

初始状态是所有 (n) 位字符串的均匀叠加,包括要寻找的二进制字符串 (|w\rangle) 和其他所有字符串:
[|s\rangle = \frac{1}{\sqrt{N}} (|w\rangle + \sum_{i \neq w} |i\rangle) = \frac{1}{\sqrt{N}} |w\rangle + \frac{1}{\sqrt{N}} \sum_{i \neq w} |i\rangle = \frac{1}{\sqrt{N}} |w\rangle + \sqrt{\frac{N - 1}{N}} \frac{1}{\sqrt{N - 1}} \sum_{i \neq w} |i\rangle = \sin\theta|w\rangle + \cos\theta|r\rangle]
其中 (|r\rangle) 是所有不等于 (|w\rangle) 的 (n) 位字符串的均匀叠加,(\theta) 满足 (\sin\theta = \frac{1}{\sqrt{N}}) 和 (\cos\theta = \sqrt{\frac{N - 1}{N}})。

在坐标平面上,以 (|r\rangle) 和 (|w\rangle) 为 (x) 轴和 (y) 轴绘制初始状态:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([|r⟩]):::startend --> B([|w⟩]):::startend
    B --> C(|s⟩):::process
    C --> D(θ):::decision

接下来,查询相位 oracle (U_f)。由于只有当 (x = w) 时 (f(x) = 1),状态变为:
[U_f|s\rangle = (-1)^1 \sin\theta|w\rangle + (-1)^0 \cos\theta|r\rangle = -\sin\theta|w\rangle + \cos\theta|r\rangle]
这意味着 (|w\rangle) 的振幅被反转。在坐标平面上,这相当于通过 (|w\rangle) 进行反射:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([|r⟩]):::startend --> B([|w⟩]):::startend
    B --> C(|s⟩):::process
    C --> D(θ):::decision
    C --> E(Uf|s⟩):::process
    E --> F(θ):::decision

然后,应用一个关于 (|s\rangle) 反射的量子门 (R_s)。在 (rw) 平面上,两次反射的净效果是旋转 (2\theta):

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([|r⟩]):::startend --> B([|w⟩]):::startend
    B --> C(|s⟩):::process
    C --> D(θ):::decision
    C --> E(Uf|s⟩):::process
    E --> F(θ):::decision
    E --> G(RsUf|s⟩):::process
    G --> H(2θ):::decision

重复应用 (U_f) 和 (R_s),每次旋转 (2\theta),直到最终状态接近 (|w\rangle)。假设总共需要 (t) 次旋转,由于 (|r\rangle) 和 (|w\rangle) 之间的夹角为 (90^{\circ})(即 (\frac{\pi}{2}) 弧度),则有:
[\theta + t(2\theta) = \frac{\pi}{2}]
[t(2\theta) = \frac{\pi}{2} - \theta]
[t = \frac{\pi}{4\theta} - \frac{1}{2}]

当 (N) 很大时,(\theta = \sin^{-1}(\frac{1}{\sqrt{N}}) \approx \frac{1}{\sqrt{N}}),所以 (t \approx \frac{\pi}{4} \sqrt{N} - \frac{1}{2} \approx \frac{\pi}{4} \sqrt{N})。因此,查询次数为 (O(\sqrt{N})),这相对于经典计算机的 (O(N)) 复杂度实现了二次加速。

最终状态的角度可能不完全是 (\frac{\pi}{2}),因此成功概率可能不完全是 1。但对于大 (N),角度 (\theta) 很小,最终状态可能只与 (|w\rangle) 相差很小的角度。此外,有方法可以调整算法,使最后一步旋转不同的角度,使最终状态与 (|w\rangle) 完全对齐。

包含答案量子比特的格罗弗算法量子电路如下:

|−⟩  Uf  Uf  Uf
|+⟩  Rs  Rs  Rs
|+⟩  ...  ...
|+⟩  ...  ...
|+⟩  ...  ...

以下是一些相关练习:
- 证明当 (N = 4)((n = 2))时,格罗弗算法的最终状态恰好是 (|w\rangle)。
- 当 (n) 个量子比特处于初始状态(所有 (|+\rangle) 状态)时,测量量子比特得到 (|w\rangle) 的概率为 (\frac{1}{N})。
- 应用一步格罗弗算法(一次查询 (U_f) 和一次反射 (R_s))后测量量子比特,得到 (|w\rangle) 的概率可以通过计算状态在 (|w\rangle) 方向上的振幅的平方得到。在 (rw) 平面上,状态在 (|w\rangle) 方向上的振幅是状态与 (|r\rangle) 之间夹角的正弦值。

通过上述内容可以看出,量子算法在解决秘密异或掩码问题和暴力搜索问题上展现出了显著的优势。西蒙算法和格罗弗算法分别在不同类型的问题中实现了指数级和二次级的加速,为量子计算在实际应用中的发展提供了有力的支持。随着量子技术的不断进步,相信量子算法将在更多领域发挥重要作用。

量子算法:从秘密异或掩码到暴力搜索(下半部分)

2. 暴力搜索问题(续)
2.4 练习解答与操作示例
  • 练习 7.22:证明当 (N = 4)((n = 2))时,格罗弗算法的最终状态恰好是 (|w\rangle)
    • 当 (N = 4) 时,(\theta=\sin^{-1}(\frac{1}{\sqrt{4}})=\frac{\pi}{6})。
    • 因为最终要使状态接近 (|w\rangle),根据 (\theta + t(2\theta)=\frac{\pi}{2}),将 (\theta=\frac{\pi}{6}) 代入可得:(\frac{\pi}{6}+t\times\frac{\pi}{3}=\frac{\pi}{2})。
    • 解方程:
      • 首先对等式进行化简,(\frac{\pi}{6}+\frac{t\pi}{3}=\frac{\pi}{2}),两边同时乘以 6 去分母得:(\pi + 2t\pi = 3\pi)。
      • 移项可得:(2t\pi=3\pi - \pi = 2\pi),解得 (t = 1)。
    • 这意味着经过 1 次 (U_f) 和 (R_s) 的操作,状态就会旋转到 (|w\rangle),所以最终状态恰好是 (|w\rangle)。
  • 练习 7.23
    • (a) 当 (n) 个量子比特处于初始状态(所有 (|+\rangle) 状态)时,测量量子比特得到 (|w\rangle) 的概率
      • 初始状态 (|s\rangle=\frac{1}{\sqrt{N}}\sum_{x\in{0,1}^n}|x\rangle),其中 (N = 2^n)。
      • 测量得到 (|w\rangle) 的概率为 (P(|w\rangle)=|\frac{1}{\sqrt{N}}|^2=\frac{1}{N})。
    • (b) 应用一步格罗弗算法(一次查询 (U_f) 和一次反射 (R_s))后测量量子比特,得到 (|w\rangle) 的概率
      • 初始状态 (|s\rangle=\sin\theta|w\rangle+\cos\theta|r\rangle),经过 (U_f) 后变为 (U_f|s\rangle=-\sin\theta|w\rangle+\cos\theta|r\rangle)。
      • 设 (R_s) 作用后状态为 (|s’\rangle),在 (rw) 平面上,经过一次旋转 (2\theta) 后,状态与 (|r\rangle) 的夹角为 (3\theta)。
      • 所以测量得到 (|w\rangle) 的概率 (P = \sin^2(3\theta)),又因为 (\sin\theta=\frac{1}{\sqrt{N}}),则 (P=\sin^2(3\sin^{-1}(\frac{1}{\sqrt{N}})))。
  • 练习 7.24
    • (a) 确定 (n) 的值
      • 从 (U_f) 作用于 (x_0,x_1,x_2,x_3) 共 4 个输入量子比特,可知 (n = 4)。
    • (b) 计算 (N) 的值
      • 根据 (N = 2^n),当 (n = 4) 时,(N = 2^4=16)。
    • (c) 计算格罗弗算法的查询次数
      • 由 (t\approx\frac{\pi}{4}\sqrt{N}),将 (N = 16) 代入可得 (t\approx\frac{\pi}{4}\times4=\pi\approx 3)(这里取整),所以查询次数约为 3 次。
    • (d) 使用 Quirk 实现格罗弗算法并找到 (|w\rangle)
      • 操作步骤如下:
        1. 打开 Quirk 平台(https://bit.ly/3qoOErN),获取自定义门 (U_f) 和 (R_s)。
        2. 初始化 (n) 个量子比特为 (|+\rangle) 状态,可通过对 (|0\rangle) 状态应用哈达玛门实现。
        3. 依次应用 (U_f) 和 (R_s) 约 3 次。
        4. 测量量子比特,得到的结果即为 (|w\rangle)。
    • (e) 使用 Quirk 查询 (U_f) 并填写表格
      • 操作步骤如下:
        1. 在 Quirk 中,对 (U_f) 输入不同的 (x) 值(如 (0000,0001,\cdots,1111))。
        2. 记录每次输入对应的输出 (y\oplus f(x)) 的值。
        3. 将输入和输出值填入表格。
3. 量子算法的优势与挑战
3.1 优势总结
  • 指数级和二次级加速 :西蒙算法在解决秘密异或掩码问题上,通过 (O(n)) 次查询 oracle 找到 (s),相较于经典算法的 (O(2^{n/2})) 复杂度,实现了指数级加速。格罗弗算法在暴力搜索问题中,以 (O(\sqrt{N})) 的查询复杂度解决问题,相对于经典算法的 (O(N)) 复杂度,实现了二次级加速。
  • 解决复杂问题的潜力 :对于一些在经典计算中难以解决的问题,如搜索无序数据库、反转函数等,量子算法提供了新的解决方案。此外,暴力搜索问题涵盖了尝试解决 NP 类问题的场景,量子算法为解决这类复杂问题带来了希望。
3.2 面临的挑战
  • 硬件实现困难 :量子比特非常脆弱,容易受到外界环境的干扰,导致量子态的退相干。要实现大规模、稳定的量子计算硬件是目前面临的一大挑战。例如,要实现西蒙算法和格罗弗算法所需的多量子比特系统,需要精确控制和保护量子比特,以维持其量子特性。
  • 算法优化与调整 :虽然格罗弗算法在理论上实现了二次加速,但最终状态的角度可能不完全是 (\frac{\pi}{2}),成功概率可能不完全是 1。需要进一步研究和优化算法,以确保在实际应用中能够达到更高的准确性和效率。
4. 未来展望
4.1 应用领域拓展
  • 密码学 :量子算法可能会对现有的密码系统产生重大影响。例如,格罗弗算法可以加速对密码的暴力破解,这促使研究人员开发更安全的量子密码系统,以应对量子计算带来的威胁。
  • 机器学习 :量子算法在处理大规模数据和复杂计算时具有潜在优势。可以将量子算法应用于机器学习中的优化问题、聚类分析等,提高机器学习算法的效率和性能。
  • 药物研发 :在药物研发过程中,需要对大量的分子结构进行模拟和分析。量子算法可以更高效地处理这些复杂的计算任务,加速药物研发的进程。
4.2 技术发展趋势
  • 量子硬件的改进 :随着技术的不断进步,量子比特的稳定性和可控性将不断提高。未来可能会出现更多实用的量子计算机,能够支持更复杂的量子算法运行。
  • 量子算法的创新 :研究人员将继续探索新的量子算法,以解决更多类型的问题。同时,对现有算法的优化和改进也将是未来的研究重点。

总之,量子算法在解决秘密异或掩码问题和暴力搜索问题上已经展现出了巨大的潜力。虽然目前还面临着一些挑战,但随着技术的不断发展和研究的深入,量子算法有望在更多领域发挥重要作用,为推动科技进步和社会发展做出贡献。我们期待着量子计算时代的全面到来,见证量子算法带给我们的更多惊喜。

相关推荐

【信息科学与工程学】计算机科学与自动化——第三篇 计算理论基础05 计算数论01

车联网(IoV)算法是支撑智能交通系统高效、安全运行的核心技术,涵盖通信调度、路径规划、数据处理、决策控制等多个维度。

weixin_49199313的博客 1296

【信息科学与工程学】计算机科学与技术——第七十七篇 系统架构设计02

编号类型模型配方企业资本运作的方法/规则/条件/依据及所有的步骤(​风险处理/异常处理/危机应对关联知识法律法规和裁决依据​​由发起人(通常是知名投资人、投行或产业资本)先设立一个只有现金、无实际业务的特殊目的收购公司(SPAC),通过IPO募集资金并在交易所上市。然后在规定时间内(通常24个月)寻找一家非上市公司进行合并(De-SPAC),使目标公司迅速实现上市,规避传统IPO的复杂流程和不确定性。1.:在开曼或特拉华注册空壳公司,注入少量种子资金。2.

weixin_49199313的博客 303

利用MATLAB 4f光学系统,在Python中进行弗劳恩霍夫衍射和傅里叶面滤波——用镜头模拟光学图像处理。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

利用MATLAB和Excel对逆流双管热交换器的热性能进行分析。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

利用MATLAB对5G NR波束成形技术的性能分析.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

上市公司赫芬达尔指数、企业勒纳指数(1999-2025年)

上市公司赫芬达尔指数(HHI)和勒纳指数(LI)是衡量市场结构和市场势力(垄断力量)的两个重要指标 赫芬达尔指数(HHI)可衡量一个公司在市场中的相对份额或集中度,通过计算公司在市场中份额的平方和得出。数值越小,说明市场份额分布越分散,竞争程度越高;数值越大,说明市场集中度越高,少数企业占据较大份额,垄断程度越高 勒纳指数(LI)用于衡量企业的市场势力,即企业偏离完全竞争价格、制定高于边际成本的价格的能力,数值越接近1,表示企业市场势力越强,垄断程度越高 本文借鉴刘贯春等(2021)、孙茹峰和李楠博(2024)的思路和方法,分别测算上市公司赫芬达尔指数、勒纳指数: 赫芬达尔指数 = (公司营业收入/同行业同年营业收入合计)的平方和 企业勒纳指数 =(营业收入-营业成本-销售费用-管理费用)/营业收入 一、数据介绍 数据名称:上市公司赫芬达尔指数、企业勒纳指数 数据范围:上市公司 时间范围:1999-2025年 样本数量:85810条 数据来源:上市公司年报 更新时间:2026年11月 数据说明:内含原始数据、测算结果 二、数据指标 股票代码 股票简称 年份 省份 城市 区县 省份代码 城市代码 区县代码 行业代码 行业名称 赫芬达尔指数 勒纳指数 营业收入 营业成本 销售费用 管理费用 三、参考文献 [1]刘贯春,叶永卫,张军.社会保险缴费、企业流动性约束与稳就业——基于《社会保险法》实施的准自然实验[J].中国工业经济,2021,(05):152-169. [2]孙茹峰,李楠博.金融化对企业绿色转型意向的影响研究[J].管理学报,2024,21(11):1612-1620+1677. [3]张倩肖,段义学.数字赋能、产业链整合与全要素生产率[J].经济管理,2023,45(04):5-21. [4]伍兆祥,代吉林,

海康威视后台摄像头视频管理系统

海康威视后台摄像头视频管理系统,vue+py框架

esp-labs-web- 把 ESP32-S3 实验台搬进浏览器:交互式学习指南

esp-labs-web项目把 ESP32-S3 的实验台教程做成了一个网页应用,叫 ESP32 Labs,里面有 32 个动手实验,带实时模拟器、3D 板子、引脚图,还有一个能逐行讲固件的代码阅读器。 每个实验就是一张单子,写着目标、用到的引脚在实时引脚图上的位置、接线、烧录命令和要打勾的步骤,旁边还有个模拟器,能先在浏览器里看到应该出现的效果。 模拟串口也挺像回事,在里面敲个命令,板子会像真固件一样回你,不用先把硬件接好就能先练一遍。 代码阅读器读的是实验真正烧进去的固件,Tour 模式一次只走几行,还先让你猜,Story 模式跟着程序从 setup() 一路往下走,Explore 是点哪行讲哪行,生词一次只给三个,词典还会记住你见过的词。 语言做了 8 种,英法西意德中日阿都有,阿拉伯语还是从右往左排版,手机 390 像素宽也能用,浅色深色、减动效都照顾到了。 里面还有个 3D 的 DevKitC-1 板子,六个标注点一点就亮,还会列出用它的实验,实验台日志就是 public/data 里的一份普通 JSON,改了不用重新编译,学习进度只存在你自己浏览器里,不用注册账号。 实验主题分得挺全,入门、显示和按键、Wi-Fi、RFID、蓝牙、声音都有,传感器那块还是计划中,每个实验的固件都是 esp-labs 里独立的 PlatformIO 工程。

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

通信行业CentOS 7内核网络栈优化:高并发连接下UDP/TCP性能调优与系统资源管理

内容概要:本文聚焦于CentOS 7系统在通信行业高并发场景下的性能调优实践,重点围绕内核网络栈优化展开,涵盖UDP/TCP缓冲区调整、文件句柄与连接跟踪表扩容、TIME_WAIT状态复用、软中断分布优化及tuned工具的自动化调优。通过具体配置参数和实际案例(如VoIP软交换系统)深入解析各项调优措施的设计原理与实施效果,有效解决高CPS下丢包、连接失败等问题,并展望了向云化、eBPF等动态智能调优方向的发展趋势。; 适合人群:从事通信系统运维、网络开发或Linux系统性能优化的技术人员,具备一定操作系统和网络基础知识,工作经验1年以上的中初级工程师。; 使用场景及目标:①应用于软交换、媒体网关、信令网关等高并发通信设备的系统调优;②解决UDP丢包、conntrack表满、TCP连接队列溢出等典型性能瓶颈;③提升系统在小包高频、低时延要求场景下的稳定性和吞吐能力。; 阅读建议:建议结合实际生产环境或测试平台同步验证文中配置,重点关注参数背后的物理意义(如BDP、softirq、conntrack机制),并配合ss、conntrack、dmesg等命令进行调优前后对比分析,确保安全可控地实施变更。

从Elasticsearch的jvm.options读懂JVM参数的生效核验、内存分账与诊断兜底代码包

拿到一台机器和一个 Java 服务,怎样确认 JVM 实际吃进去了哪些参数,怎样给堆和堆外分配内存,怎样把 GC 日志、堆转储、异常栈这些“事后取证”的参数配齐,以及怎样在 JDK 8 与 JDK 9+ 之间安全迁移。 讲解的抓手是 Elasticsearch(下文简称 ES)的 jvm.options。这份文件经过 ES 团队多年打磨,又被无数生产集群验证过,几乎每一行都对应一个踩过的坑,是学习 JVM 参数最好的“样板间”。

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

【选址和定容】模拟退火改进多目标粒子群算法在分布式电源选址和定容中的应用【IEEE69节点】(Matlab代码实现)

内容概要:本文研究了模拟退火改进多目标粒子群算法在分布式电源选址和定容中的应用,以IEEE69节点配电系统为算例进行仿真分析。通过融合模拟退火算法的强全局搜索能力与粒子群算法的高效局部收敛特性,构建了一种改进的多目标优化算法,用于解决分布式电源在配电网中的最优位置选择与容量配置问题。研究旨在实现多重优化目标,包括最小化网络有功损耗、提升节点电压质量、增强系统运行的经济性与稳定性。文中详细阐述了多目标优化模型的数学构建、算法的改进机制与实现流程,并基于Matlab平台完成了算法编程与仿真验证,结果表明所提方法在求解质量和收敛性能上均优于传统算法。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力,从事配电网规划、分布式能源系统优化、智能优化算法应用等相关领域的科研人员、工程师以及高校研究生。; 使用场景及目标:①解决高比例分布式电源接入背景下配电网的科学规划问题;②为新型电力系统中源网协调设计提供有效的优化工具;③为相关领域的科研工作提供可复现、可拓展的算法模型与仿真代码实例,支持进一步的算法对比与功能升级。; 阅读建议:建议读者结合提供的Matlab代码与IEEE69节点标准数据,动手复现实验结果,深入理解算法的参数设置、迭代过程与多目标折衷分析方法,并可根据实际研究需求修改目标函数或引入新的约束条件以适应不同的应用场景。

无刷直流电机BLDC无感+滑模观测器+转速电流双闭环PI控制(总共三个仿真模型)(Simulink仿真实现)

内容概要:本文档系统性地提供了无刷直流电机(BLDC)的高级控制策略仿真资源,聚焦于无位置传感器控制技术,重点实现了基于滑模观测器(SMO)的转子位置估算方法,并结合转速与电流双闭环PI控制结构,构建了完整的Simulink仿真模型体系。资源包含三个核心仿真模型:无感控制下的滑模观测器设计、双闭环PI控制器的参数整定与动态调节,以及系统整体的运行性能仿真分析。文档深入剖析了滑模观测器在反电动势提取与相位补偿中的关键技术,展示了其在不同工况下对电机启动、调速及负载扰动响应的鲁棒性表现,旨在帮助研究人员掌握BLDC在无传感器条件下的高精度控制实现路径,并为进一步引入模糊PID等先进控制策略提供对比基准与技术支撑。; 适合人群:具备电机控制理论基础、自动控制原理知识及Simulink建模经验,从事电气工程、自动化、电力电子或新能源驱动系统研究的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①深入理解无刷直流电机无位置传感器控制的基本原理与实现流程;②掌握滑模观测器在转子位置与速度估算中的设计方法及其抗干扰特性;③学习并优化转速电流双闭环PI控制结构,提升系统动态响应性能与运行稳定性。; 阅读建议:建议结合Simulink模型进行同步仿真操作,重点关注滑模观测器的抖振抑制效果、系统启动过程的稳定性以及PI参数调节对动态性能的影响,同时可参照文档中提及的模糊PID等对比方案,拓展对先进控制算法的研究与实践应用。

模糊PID与传统PID控制无刷直流电机对比仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了模糊PID与传统PID控制无刷直流电机对比仿真模型的Simulink实现方法,旨在通过仿真手段系统性地对比两种控制策略在无刷直流电机调速系统中的动态性能差异。文章首先阐述了无刷直流电机的数学建模过程,继而深入解析传统PID控制的基本原理,并重点论述模糊PID控制器的设计流程,涵盖模糊规则的构建、隶属度函数的选取以及模糊推理机制的实现。通过构建完整的Simulink仿真模型,对两种控制器在启动响应速度、抗外部干扰能力及稳态控制精度等关键性能指标上进行了全面的对比分析。仿真结果表明,相较于传统PID,模糊PID控制在应对非线性、时变系统时表现出更强的鲁棒性和更高的控制精度,有效提升了系统的整体性能。; 适合人群:具备一定自动控制理论基础和Simulink仿真软件操作经验的高等院校自动化、电气工程等相关专业的学生、科研人员,以及从事电机驱动与控制技术研发的工程师。; 使用场景及目标:①作为教学案例,帮助学生直观理解PID控制与模糊PID控制的核心原理及其在工程实践中的差异;②为科研项目提供一个可靠的控制算法对比与验证的仿真平台;③为工业界在电机控制策略的选型、优化及先进控制算法的工程化应用提供理论依据和技术参考。; 阅读建议:建议读者结合提供的仿真模型文件,亲自动手搭建并调试仿真系统,重点关注控制器参数(如PID增益、模糊规则表、隶属度函数形状)的设置对系统动态响应和稳态性能的影响规律,并可尝试修改模糊控制规则或引入其他智能控制算法(如神经网络控制)进行扩展性研究,以深化对现代控制理论的理解与应用。

边缘计算环境中基于启发式算法的深度神经网络卸载策略(Matlab代码实现)

内容概要:本文系统探讨了在边缘计算环境中,如何利用启发式算法解决深度神经网络(DNN)的任务卸载问题,并提供了完整的Matlab代码实现方案。文章首先分析了边缘计算环境下DNN推理所面临的关键挑战,如计算资源受限、通信延迟敏感以及能效约束等;在此基础上,构建了以最小化任务延迟、系统能耗与经济成本为核心的多目标优化模型,并详细阐述了基于贪心算法、遗传算法、粒子群优化(PSO)等典型启发式算法的卸载决策机制。通过对多种应用场景的仿真实验,对比评估了不同算法在任务完成时间、资源利用率和能量消耗等方面的性能表现,验证了所提策略在提升系统整体效率方面的有效性与优越性。文档还包含了Matlab仿真环境搭建、参数配置说明及结果可视化方法,为相关研究提供了可复现、可扩展的技术框架。; 适合人群:具备一定计算机网络、边缘计算、人工智能或优化理论基础的研究生、科研人员及工程技术开发者,特别适用于从事DNN模型部署、边缘智能、任务调度与资源管理等相关领域研究的专业人士。; 使用场景及目标:① 研究边缘计算中深度学习模型的高效执行与部署策略;② 学习并实现基于启发式算法的计算任务卸载与资源协同优化方法;③ 利用Matlab平台进行智能算法仿真、性能评估与科研原型开发,支撑学术研究或工程实践。; 阅读建议:建议读者结合提供的Matlab代码逐章节深入阅读,重点关注问题建模、算法设计与仿真实验部分,动手运行并调试代码以加深对卸载机制与优化过程的理解,同时可根据实际应用场景对算法参数、目标函数或网络拓扑进行定制化改进与拓展研究。

边缘计算【智能+安全检测】系列教程--使用OpenCV+GStreamer实现真正的硬解码,完全消除马赛克

通过现有博客的GStreamer的解码方式解码,大多情况应该存在上图马赛克的问题,请勿紧张,其实上述url并没有调用硬件解码,后面有调用硬件解码的ULR,我们来在接下来的介绍中释获。通过RTSP协议连接海康威视摄像头将图片送入AI推理,发现OpenCV的VideoCapture使用的是软解码大量消耗了cpu的资源,并无法做到实时数据处理存在5秒钟的延时。只能把解码这部分送到硬件解码器去处理分摊掉cpu的压力,

Starry-SkyJing的博客 2426

有限元法(Finite Element Method,FEM)原理详解

有限元法( FEM )是一种流行的方法,用于数值求解工程和数学建模中出现的微分方程。

车手只需要车和手,压力来自轮胎 7万+

图像去模糊(二)——Richardson–Lucy算法

Richardson Lucy Algorithm(Richardson-Lucy算法详解及效果实例)

xueruhongchen的博客 3万+

散户逆袭神器:用通达信DIY指数发现下一个光伏储能(附龙头股筛选模板)

本文详细介绍了如何利用通达信软件的自定义指数功能,构建个人专属的行业监控工具,以发现类似光伏储能这样的潜力赛道。文章提供了从零开始的指数编制步骤、核心的龙头股筛选模板,以及五个关键的数据校验技巧,帮助散户投资者实现机构级的行业分析与机会挖掘,有效提升投资决策能力。

w3x4y的博客 482

YOLOv11改进 | 注意力篇 | YOLOv11引入24年ECCV的自调制特征聚合注意力模块(SMFA),并构建C2PSA_SMFA

1.SMFA介绍1.1 摘要:基于Transformer的图像复原方法由于Transformer的自注意(self-attention,SA)特性能够更好地挖掘非局部信息,从而获得更好的高分辨率图像重建效果,因此具有重要的应用价值。然而,关键点积SA需要大量的计算资源,这限制了其在低功耗器件中的应用。此外,模拟退火机制的低通特性限制了其捕获局部细节的能力,从而导致平滑的重建结果。

tsg6698的博客 952

【深度学习新浪潮】手把手教你不花一分的token钱,纯本地部署openclaw

本地轻量开源AI智能体框架Windows 11 + WSL2 + Ollama + OpenClaw 一键部署零代码配置,直接用上本地模型工具调用未来方向:轻量化、插件化、本地生态成熟如果你喜欢本地AI、厌倦了云端限制、想真正拥有一个“听话又能干”的本地助手,OpenClaw 绝对值得现在就上手玩一玩。

专注:太空算力、AI infra、异构调度、大模型成本工程 2785

Transformer 面试题及详细答案120道(1-10)-- 基础概念

本文总结了Transformer模型的10个常见面试问题及答案,涵盖了其核心结构、创新点、工作机制等关键知识点。主要内容包括:Transformer的自注意力机制和多头注意力机制创新点,相比RNN/CNN的优势,模型在《Attention Is All You Need》论文中的提出背景,以及Encoder-Decoder协同工作流程等。重点解析了位置编码的作用、长距离依赖处理能力、与传统注意力机制的区别等核心问题。每个问题都给出了简明扼要的专业解答,适合作为Transformer相关面试准备的参考资料。

大剑师兰特的GIS世界 849

环境仿真软件:MIKE 21_(9).MIKE21水生植物模块介绍

MIKE21支持多种水生植物的模拟,用户需要在配置文件中定义植物种类及其特性。</</</</</</</</</假设我们需要定义一种新的水生植物“水葫芦”(Water Hyacinth),并将其特性写入配置文件。# 创建XML根元素# 定义新的植物种类# 生成XML文件假设我们需要分析仿真的水流速度变化,并绘制水流速度随时间变化的图。# 读取NetCDF文件# 获取水流速度数据# 获取时间数据# 绘制水流速度随时间变化的图plt.xlabel('时间 (天)')

kkchenjj的博客 726

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 14、正常与反常动力学及分数动力学相关研究
下一篇: 23、量子算法中的暴力搜索与离散傅里叶变换
docker8compose
博客等级 码龄1天 0粉丝 1102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值