信息论与编码篇---等长编码 📅 发布时间:2026/7/12 15:08:50 👁️ 浏览次数: 1. 什么是等长编码想象一下你要给班上的每个同学发一个编号方便点名。等长编码就是规定每个同学的编号长度都一样。比如规定编号必须是两位数字。那么张三就是01李四就是02王五就是03……所有人的“代码”长度相同都是2个字符。2. 什么是唯一可译性“唯一可译”就是指当你看到一串编码时你只能有一种方法把它切开还原成原来的消息而不会有歧义。让我们通过两个例子来感受一下场景一完美的等长编码唯一可译假设我们只有三个同学张三01、李四02、王五03。老师点名老师收到一串数字010203。解码过程因为是等长编码老师知道每个编号长度是2。所以他会自动地、下意识地按两位一组切开010203。结果这只能被翻译成“张三 李四 王五”。没有第二种切法因为如果你从中间开始切比如10、20、3这些都不是有效的编码因为10不是任何人的编号。所以这就是唯一可译的。场景二出问题的等长编码不是唯一可译等长编码本身是“唯一可译”的吗不一定上面的例子看起来没问题是因为我们假设了每个编码都是独一无二的并且解码器知道长度。那问题出在哪呢问题主要出在码字的选取上。假设还是两位等长编码但我们换了种编号方式张三01李四10王五11现在老师收到一串数字0110。解码器按两位切开0110- 翻译成“张三 李四”。看起来没错好像还是唯一的啊别急我们再加一个同学赵六00再来看另一个例子。老师收到1011。按两位切开1011- “李四 王五”。没问题。但等长编码的“非唯一可译”隐患并不在于切分方式因为长度固定切分方式本身是唯一的而在于边界混淆吗不对于纯等长编码边界混淆比如把01当成0和1在解码器知道固定长度的情况下不会发生。其实等长编码要保证唯一可译核心条件是编码必须是单射的。更通俗地说等长编码只要保证每个原始信息比如每个字、每个符号被分配一个独一无二的、固定长度的码字那它就是唯一可译的。但是有一种特殊情况被称为“逗号码”问题。如果码字之间是“无缝衔接”的并且新消息开始的地方恰好和上一个码字的末尾构成了一个有效码字从理论上讲如果解码器丢失了同步可能会出现问题。但在理想情况下知道长度、从开头同步不会。严谨的信息论告诉我们等长编码要做到唯一可译必须满足一个条件不同的原始符号必须对应不同的码字。也就是说码本必须是一个一一映射。只要满足这一点解码器就可以通过简单地按固定长度截取来唯一地恢复原始消息。总结一下等长编码每个符号的代码长度相同。唯一可译性条件每个符号对应的代码必须是独一无二的即编码函数是单射。结果只要满足上面的条件按固定长度切割就能无歧义地恢复原消息。3. Mermaid 总结框图下面这张图梳理了从编码到解码并判断是否唯一可译的整个逻辑。框图解读编码原始消息进入等长编码器。编码器手里有一个码本。码本要求这个码本必须满足两个条件——①所有码字长度相等②每个码字对应唯一的符号。唯一可译性判断如果满足条件2一一对应那么这个编码就是唯一可译的。如果不满足条件2比如两个不同的人用了同一个编号那这个编码就是非唯一可译的一定会产生歧义。解码无论哪种情况解码器都会按固定长度去切割收到的码字序列。如果是唯一可译的查码本后就能准确恢复原始消息。如果是非唯一可译的查码本时就会遇到混乱不知道切出来的码字对应谁导致无法准确恢复原始消息。
Spring AI学习 ChatClient 是一个用于与 LLM 进行聊天(对话)交互的客户端封装。 它屏蔽了很多底层 HTTP 调用、请求构造、响应解析等细节,开发者只需要通过它简单的 API,就可以发起问题并得到 AI 的回答。 核心功能: ● 自动注入底层… 2026/7/13 11:01:52
SVG 在线编辑器:设计自由,创意无限 SVG 在线编辑器:设计自由,创意无限 引言 随着互联网技术的飞速发展,矢量图形编辑器(SVG)因其灵活性和可扩展性,已经成为网页设计、动画制作等领域的重要工具。SVG 在线编辑器的出现,使得设计师和开发者无需安装额外的软件,即可在线进行SVG图形的编辑和创作。本文将深… 2026/7/12 13:33:37
大模型上下文工程深度解析:从提示工程到智能体构建 前言 在应用AI领域,“提示工程”(Prompt Engineering)多年来一直是关注焦点,如今一个新术语逐渐凸显:上下文工程(Context Engineering)。基于语言模型进行开发,正从“为提示找到合适… 2026/7/11 6:41:31
Burn框架的自动微分与JIT编译后端:Rust原生深度学习框架的架构设计解析 Burn框架的自动微分与JIT编译后端:Rust原生深度学习框架的架构设计解析 一、当PyTorch部署到边缘设备:Rust原生DL框架的工程动因 将PyTorch训练好的模型部署到ARM边缘设备时,Python运行时的内存占用超过模型本身的3倍。一个13MB的ONNX模型&am… 2026/7/13 11:03:09
Node-RED v5.0.0 工业数据采集实战:3步连接西门子S7 PLC与InfluxDB Node-RED v5.0.0 工业数据采集实战:西门子S7 PLC与InfluxDB高效对接指南工业物联网(IIoT)领域的数据采集与处理一直是工程师们面临的挑战。传统编程方式需要编写大量代码来实现设备连接、数据转换和存储,而Node-RED的出现彻底改变了这一局面。本文将带您… 2026/7/13 11:03:09
AI编译器中图级别的优化Pass:常量折叠、死代码消除与公共子表达式消除的实现 AI编译器中图级别的优化Pass:常量折叠、死代码消除与公共子表达式消除的实现 一、当推理图的DAG节点膨胀到数千个:编译优化的必要性 一个Transformer模型的ONNX图经过导出后,产生了3127个算子节点。其中约15%是形状计算节点(Shape… 2026/7/13 11:03:09
魔兽争霸III终极优化方案:WarcraftHelper深度配置指南 魔兽争霸III终极优化方案:WarcraftHelper深度配置指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款免费开源的魔兽… 2026/7/13 10:59:08
Java Swing开发的葫芦娃横版闯关游戏完整工程包,含源码、资源、演示视频与运行日志 本文还有配套的精品资源,点击获取 简介:这个资源包提供了一个基于Java SE和Swing实现的横版动作闯关小游戏,主角为七个葫芦娃,玩家可操作不同娃对抗蛇精、蝎子精、喽啰等经典反派角色。项目采用标准Maven结构,包含可… 2026/7/13 10:57:08
GTA5线上小助手:一站式开源游戏增强工具完全指南 GTA5线上小助手:一站式开源游戏增强工具完全指南 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 在《侠盗猎车手5》线上模式中,玩家们常常面临角色外观定制繁琐、载具升级昂贵、… 2026/7/13 10:57:08
HS2-HF Patch终极指南:如何用3步解决Honey Select 2的70+个痛点 HS2-HF Patch终极指南:如何用3步解决Honey Select 2的70个痛点 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾经在Honey Select 2中遇到过… 2026/7/13 0:01:19
语音转文字工具AsrTools:让音频整理变得简单高效 语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text … 2026/7/13 0:03:19
基于深度学习的蘑菇或花卉或动漫人物或中草药货水果蔬菜等识别系统31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_ 基于深度学习的蘑菇或花卉或动漫人物或中草药货水果蔬菜等识别系统31(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ 独家界面!不会重复,此项目属于本人原创,若有雷同,均是盗卖,各位买… 2026/7/13 0:05:20
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/13 9:31:08
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/13 2:34:55