这篇文章 的 灵感 来自 《猜想:e+π或e×π为有理数,求证明》 https://tieba.baidu.com/p/8327270906 20 楼 和 《哥猜 的 难点 在于 对 质数 的 掌握》 https://tieba.baidu.com/p/8274152355 20 楼 。
我 在 《傅里叶级数 和 高次多项式函数》 https://tieba.baidu.com/p/7902477319 和 《激光全息 的 原理 要 第二代 物理学 才能 揭开》 https://tieba.baidu.com/p/6992755179 提出过 正弦函数 的 “相干性” 。
两个 周期 之比 是 有理数 的 周期信号 叠加(相加), 结果 是 一个 周期信号,
一个 周期 信号 和 一个 非周期信号 叠加(相加), 结果 是 一个 非周期信号,
两个 非周期信号 叠加(相加), 结果 可能是 一个 非周期 信号, 也可能 是 一个 周期信号 。
这 就 好比 正正得正, 正负得负, 负负可能得正,也可能得负 ?
有理数 是 无限循环小数, 有 循环节, 一个 循环节 就是 一个周期 。
两个 有理数 相加, 结果 是 有理数,
一个 有理数 和 一个 无理数 相加, 结果 是 无理数,
两个 无理数 相加, 结果 可能是 无理数, 也可能 是 有理数 。
有理数 的 循环节 长度 是 自然数, 因此, 两个 有理数 的 循环节长度 之比 是 两个 自然数 之比, 是 有理数 。 有理数 的 循环节 就是 有理数 小数部分 循环 的 周期, 即 两个 有理数 小数部分 循环 的 周期 之比 是 两个自然数之比, 是 有理数 。 由此可知, 两个 有理数 相加, 结果 还是一个 有理数, 这里要说的 重点 是, 结果 的 小数部分 仍然 是 循环 的, 即 仍然 是 周期性 的 。
这样, 把 若干个 有理数 看作 若干个 正弦函数, 它们 的 循环节 数值 和 长度 是 各种各样, 就相当于 若干个 正弦函数, 它们 的 振幅 、周期 、相位 各种各样 。
把 有理数 的 小数部分 看作 是 一个 信号, 每一位 就是 信号的 一个 离散采样点, 比如 像素 、声音信号采样点 。
把 这些 有理数 加起来, 就可以 得到 一个 新的 有理数, 那么, 反过来, 已知 一个 有理数 S, 可以 尝试 用 若干个 有理数 a, b, c, d …… 相加, 记为 S ′ = a + b + c + d + …… 使得 S ′ = S 或 S ′ 接近 S 。 S ′ 接近 S 一般 不是 指 | S ′ - S | 最小, 因为 如果 是 | S ′ - S | 最小, 那 高位 有一位 不相等 得到 的 | S ′ - S | 比 离高位很远 的 低位(末位) 有一位 不相等 的 | S ′ - S | 大很多, 我们这里 并不关注 这个, 我们 这里 关注 的 是, 把 有理数 的 小数部分 当作 一个 信号来看, 小数 的 每一位 表示 信号 的 一个 离散采样点, 比如 像素 、声音信号采样点 。 这样, 这里说的 S ′ 接近 S 就是 信号 意义上 的 接近, 即 S ′ 是 一个 和 S 相似 的 信号, S ′ 的 “波形” 接近 S 。
S ′ 的 “波形” 接近 S 的 程度, 即 S ′ 和 S 的 相似程度, 是 看 两个小数 有 多少位 不相等, 不相等 的 位 相差多大 。
你们会问, 为什么 S ′ 接近 S, 而不是 S ′ = S ? 实际上, 根本 不用 若干个 有理数 a, b, c, d …… 相加 来得到 S ′, 我们 可以 直接 知道 信号 对应 的 S 。 比如, 一张图片, 它 的 每一个像素 可以 表示为 一位 或 几位数字, 把 所有 像素 的 数字 连起来, 就是 一个 很长 的 小数, 就是 S , 我们 可以 找到 这个 小数, 即 S , 对应 的 分数 。 这样, 一个 分数 就可以表示 一张图片, 这个 数据 压缩率 也是 无敌 了 。 但 寻找 这个 分数 的 时间复杂度 很大, 因为 小数 很长, 即 小数位数 很多, 它 对应 的 分数 的 分子分母 可能很大, 所以 寻找 的 时间复杂度 大 。
如果 退一步, 我们 不一定 找 S 对应 的 分数, 而是 找 S ′ 对应 的 分数, S ′ 在 信号意义 上 接近 S , 那 时间复杂度 也许 可以 降低很多, 这是一个 近似 的 做法 。
直接 找 S ′ 对应 的 分数, 时间复杂度 可能 还是 比较大, 因为 要 让 S ′ 接近 S , 面临 和 寻找 S 的 分数 同样 的 问题, S ′ 对应的分数 的 分子分母 可能很大, S ′ 越接近 S, 时间复杂度 越大 。
实际上, 还有别的 玩法, 比如 上面说的, 用 若干个 有理数 a, b, c, d …… 相加, 记为 S ′ = a + b + c + d + …… 使得 S ′ = S 或 S ′ 接近 S 。 这 类似 傅里叶级数, 寻找 a, b, c, d …… 类似 傅里叶展开, 也可以叫 傅里叶分解 。
我觉得 这个 办法 的 时间复杂度 可以更小 。
有理数 的 相干性 可以用于 数据 的 转换 传输 压缩 , 总之 可以 用于 数据 的 处理 。
但 实际上, 解压的时候, 也就是 从 分数 得到 小数, 要 做 除法, 64 位 的 乘法 可以 一个 时钟周期 做完, 64 位 的 除法 不能 在 一个 时钟周期 做完, 需要 多个 时钟周期 。 小数 的 位数 很多, 除法 也 需要 很多 的 时钟周期, 时间复杂度 可能 和 一位一位 传递原始数据 差不多, 甚至更多 。 也就是说, 这个 技术(有理数 的 相干性) 好像 优点 就是 节省 存储空间, 但 其实, 也 节省 传输时间 。 假设 1 位 数据 从 网络 的 一端 传到 另一端 传输 的 时间复杂度 要 O ( 1000 ) , 而 解压还原 1 位数据 在 CPU 里 作 除法 的 时间复杂度 只要 O ( 1 ) , 假设 未压缩的源数据 大小 是 n 位, 那么, 在 网络 上 传输 n 位 数据 的 时间复杂度 是 O ( 1000 * n ) , 计算机 里 解压还原 n 位 数据 的 时间复杂度 可以看作 O ( 1 * n ) , 由此可以看出, O ( 1000 * n ) / O ( 1 * n ) = 1000 , 也就是说, 网络传输 n 位数据 的 时间 是 本地 解压还原 n 位数据 的 时间 的 1000 倍, 这样, 把 n 位数据 压缩后 在 网络上 传输, 下载到 本地 后 再 解压还原 是 划算 的, 也是 节省 传输时间 。
你们会说, 压缩后 的 数据 也有 一定大小, 在 网络 上 传输 也 需要 时间, 这部分 时间 也 应该 算进去 。 对, 这 取决于 压缩比, 假设 n 位数据 压缩 后 是 m 位, m / n 是 压缩比, 如果 m 比 n 小很多, 那么, 把 传输 压缩后 的 数据(m 位) 的 时间 算进去, 和 上面讨论 的 解压还原 的 时间 算在一起, 还是 划算 的, 也是 节省 传输时间 。
这里 的 (网络传输 的)时间复杂度 似乎 说 时间花费(时间开销 ? 时间花销 ?) 更合适一些, 但 为了 讲起来方便, 还是说 时间复杂度, 知道就行 。
我 在 《傅里叶级数 和 高次多项式函数》 https://tieba.baidu.com/p/7902477319 和 《激光全息 的 原理 要 第二代 物理学 才能 揭开》 https://tieba.baidu.com/p/6992755179 提出过 正弦函数 的 “相干性” 。
两个 周期 之比 是 有理数 的 周期信号 叠加(相加), 结果 是 一个 周期信号,
一个 周期 信号 和 一个 非周期信号 叠加(相加), 结果 是 一个 非周期信号,
两个 非周期信号 叠加(相加), 结果 可能是 一个 非周期 信号, 也可能 是 一个 周期信号 。
这 就 好比 正正得正, 正负得负, 负负可能得正,也可能得负 ?
有理数 是 无限循环小数, 有 循环节, 一个 循环节 就是 一个周期 。
两个 有理数 相加, 结果 是 有理数,
一个 有理数 和 一个 无理数 相加, 结果 是 无理数,
两个 无理数 相加, 结果 可能是 无理数, 也可能 是 有理数 。
有理数 的 循环节 长度 是 自然数, 因此, 两个 有理数 的 循环节长度 之比 是 两个 自然数 之比, 是 有理数 。 有理数 的 循环节 就是 有理数 小数部分 循环 的 周期, 即 两个 有理数 小数部分 循环 的 周期 之比 是 两个自然数之比, 是 有理数 。 由此可知, 两个 有理数 相加, 结果 还是一个 有理数, 这里要说的 重点 是, 结果 的 小数部分 仍然 是 循环 的, 即 仍然 是 周期性 的 。
这样, 把 若干个 有理数 看作 若干个 正弦函数, 它们 的 循环节 数值 和 长度 是 各种各样, 就相当于 若干个 正弦函数, 它们 的 振幅 、周期 、相位 各种各样 。
把 有理数 的 小数部分 看作 是 一个 信号, 每一位 就是 信号的 一个 离散采样点, 比如 像素 、声音信号采样点 。
把 这些 有理数 加起来, 就可以 得到 一个 新的 有理数, 那么, 反过来, 已知 一个 有理数 S, 可以 尝试 用 若干个 有理数 a, b, c, d …… 相加, 记为 S ′ = a + b + c + d + …… 使得 S ′ = S 或 S ′ 接近 S 。 S ′ 接近 S 一般 不是 指 | S ′ - S | 最小, 因为 如果 是 | S ′ - S | 最小, 那 高位 有一位 不相等 得到 的 | S ′ - S | 比 离高位很远 的 低位(末位) 有一位 不相等 的 | S ′ - S | 大很多, 我们这里 并不关注 这个, 我们 这里 关注 的 是, 把 有理数 的 小数部分 当作 一个 信号来看, 小数 的 每一位 表示 信号 的 一个 离散采样点, 比如 像素 、声音信号采样点 。 这样, 这里说的 S ′ 接近 S 就是 信号 意义上 的 接近, 即 S ′ 是 一个 和 S 相似 的 信号, S ′ 的 “波形” 接近 S 。
S ′ 的 “波形” 接近 S 的 程度, 即 S ′ 和 S 的 相似程度, 是 看 两个小数 有 多少位 不相等, 不相等 的 位 相差多大 。
你们会问, 为什么 S ′ 接近 S, 而不是 S ′ = S ? 实际上, 根本 不用 若干个 有理数 a, b, c, d …… 相加 来得到 S ′, 我们 可以 直接 知道 信号 对应 的 S 。 比如, 一张图片, 它 的 每一个像素 可以 表示为 一位 或 几位数字, 把 所有 像素 的 数字 连起来, 就是 一个 很长 的 小数, 就是 S , 我们 可以 找到 这个 小数, 即 S , 对应 的 分数 。 这样, 一个 分数 就可以表示 一张图片, 这个 数据 压缩率 也是 无敌 了 。 但 寻找 这个 分数 的 时间复杂度 很大, 因为 小数 很长, 即 小数位数 很多, 它 对应 的 分数 的 分子分母 可能很大, 所以 寻找 的 时间复杂度 大 。
如果 退一步, 我们 不一定 找 S 对应 的 分数, 而是 找 S ′ 对应 的 分数, S ′ 在 信号意义 上 接近 S , 那 时间复杂度 也许 可以 降低很多, 这是一个 近似 的 做法 。
直接 找 S ′ 对应 的 分数, 时间复杂度 可能 还是 比较大, 因为 要 让 S ′ 接近 S , 面临 和 寻找 S 的 分数 同样 的 问题, S ′ 对应的分数 的 分子分母 可能很大, S ′ 越接近 S, 时间复杂度 越大 。
实际上, 还有别的 玩法, 比如 上面说的, 用 若干个 有理数 a, b, c, d …… 相加, 记为 S ′ = a + b + c + d + …… 使得 S ′ = S 或 S ′ 接近 S 。 这 类似 傅里叶级数, 寻找 a, b, c, d …… 类似 傅里叶展开, 也可以叫 傅里叶分解 。
我觉得 这个 办法 的 时间复杂度 可以更小 。
有理数 的 相干性 可以用于 数据 的 转换 传输 压缩 , 总之 可以 用于 数据 的 处理 。
但 实际上, 解压的时候, 也就是 从 分数 得到 小数, 要 做 除法, 64 位 的 乘法 可以 一个 时钟周期 做完, 64 位 的 除法 不能 在 一个 时钟周期 做完, 需要 多个 时钟周期 。 小数 的 位数 很多, 除法 也 需要 很多 的 时钟周期, 时间复杂度 可能 和 一位一位 传递原始数据 差不多, 甚至更多 。 也就是说, 这个 技术(有理数 的 相干性) 好像 优点 就是 节省 存储空间, 但 其实, 也 节省 传输时间 。 假设 1 位 数据 从 网络 的 一端 传到 另一端 传输 的 时间复杂度 要 O ( 1000 ) , 而 解压还原 1 位数据 在 CPU 里 作 除法 的 时间复杂度 只要 O ( 1 ) , 假设 未压缩的源数据 大小 是 n 位, 那么, 在 网络 上 传输 n 位 数据 的 时间复杂度 是 O ( 1000 * n ) , 计算机 里 解压还原 n 位 数据 的 时间复杂度 可以看作 O ( 1 * n ) , 由此可以看出, O ( 1000 * n ) / O ( 1 * n ) = 1000 , 也就是说, 网络传输 n 位数据 的 时间 是 本地 解压还原 n 位数据 的 时间 的 1000 倍, 这样, 把 n 位数据 压缩后 在 网络上 传输, 下载到 本地 后 再 解压还原 是 划算 的, 也是 节省 传输时间 。
你们会说, 压缩后 的 数据 也有 一定大小, 在 网络 上 传输 也 需要 时间, 这部分 时间 也 应该 算进去 。 对, 这 取决于 压缩比, 假设 n 位数据 压缩 后 是 m 位, m / n 是 压缩比, 如果 m 比 n 小很多, 那么, 把 传输 压缩后 的 数据(m 位) 的 时间 算进去, 和 上面讨论 的 解压还原 的 时间 算在一起, 还是 划算 的, 也是 节省 传输时间 。
这里 的 (网络传输 的)时间复杂度 似乎 说 时间花费(时间开销 ? 时间花销 ?) 更合适一些, 但 为了 讲起来方便, 还是说 时间复杂度, 知道就行 。