程序设计实习 note
对于矩阵 判断是否有 :随机一个行向量 然后看 是否 等于 。正确率约为 。
通过少量查询得到近似的中位数:如果要求排名误差在 以内,只需要 次查询就可以做到很高的概率。
1-median:
给定 k 维空间的若干点 ,要求预处理之后高效进行查询:查询每次给定 ,求 。可以求近似解。
如果存在一个点 和一个常数 满足 ,那考虑以下算法:
直接在 个点里随 个取出来记为 ,估计答案为 即可。道理在哪儿呢,考虑令 ,根据三角形不等式有 极差 。
Hoeffding inequality:
设独立随机变量 , ,则 。
看一下式子就可以发现:常数个 就能使误差极大概率控制在 以内。
具体的,需要 的正确率时我们取 。
看来误差的分析是跟每次查询的点关系不大的,无论查询如何,我们都能将误差控制在 ,也即 内。
考虑一般的情况,考虑按 倍增分块,将这些点分成 层即可,我们仍然把误差控制在了 内。
看来,只需要选取合理的中心点 即可。
我们并不需要让 严格最小:在最优值的常数倍以内都是能接受的。
直接在给出的点里随几个点,取最优的即可。
理由考虑计算这样随, 的期望,是不超过 倍的最优值的。
Count-min Sketch
先看这样一个问题:输入 个 上的整数,结束后给定 ,(近似)回答 出现次数。
Count-min Sketch 支持用 的空间复杂度,查询、插入时间复杂度亦为 ,做到:估计值 和正式值 之间满足 。
考虑哈希,找一个哈希函数 ,我们开个大小为 的桶 ,算 出现次数就看 即可。如果哈希函数足够均匀随机那容易分析出来 。
Markov inequality:
若随机变量 ,则 。
对 用这个定理,就可以得到 。
看来取 就有 的成功率了。
取 个哈希函数,把求得的 取 ,成功率就非常高了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?