#algorithm Tex 使用的 text-wrap: pretty 算法,和默认的wrap差在会主动缩减行长,来为尾行凑字数,偶尔看起来更整齐
https://blog.ppresume.com/posts/zh-cn/on-typesetting-engines#:~:text=并未实现%20Knuth%20Plass
https://output.jsbin.com/hopejeb
https://github.com/mnater/Hyphenopoly?tab=readme-ov-file#automatic-hyphenation
https://opentype.js.org/ <<SVG 字形的滤镜
哈哈,Web怎么可能没实现呢? MathJax.org 都比Tex好用的多了。Tex不仅慢还难调 https://github.com/robertknight/tex-linebreak
和这个 #tool https://latex.js.org/playground.html 一比差好远,简直不比 PostScript 美观
https://blog.ppresume.com/posts/zh-cn/on-typesetting-engines#:~:text=并未实现%20Knuth%20Plass
https://output.jsbin.com/hopejeb
[...new Intl.Segmenter('zh', {granularity: 'word'}).segment( "hello world 你好世界")]
//Intl.Hyphenation 是 granularity: 'wordroot'https://github.com/mnater/Hyphenopoly?tab=readme-ov-file#automatic-hyphenation
https://opentype.js.org/ <<SVG 字形的滤镜
哈哈,Web怎么可能没实现呢? MathJax.org 都比Tex好用的多了。Tex不仅慢还难调 https://github.com/robertknight/tex-linebreak
和这个 #tool https://latex.js.org/playground.html 一比差好远,简直不比 PostScript 美观
Ppresume
排版引擎纵谈:程序员的视角
Pros and cons for different typesetting engines from engineering perspective and why PPReseume chose LaTeX.
#c #algorithm #bin 位运算 优化跳空格
glibc strlen.c 默认实现 «Bit Twiddling Hacks>
btw. “减法时间比位运算长”的问题,时间的最小粒度是CPU周期。只需要看这个指令需要几个周期就行了,ALU都是1cycle,比从内存读取快了几个数量级
向量实现手写AVX,然而再怎么玩都不如string类型直接存好长度快。
glibc strlen.c 默认实现 «Bit Twiddling Hacks>
btw. “减法时间比位运算长”的问题,时间的最小粒度是CPU周期。只需要看这个指令需要几个周期就行了,ALU都是1cycle,比从内存读取快了几个数量级
bool has_zero_byte(uint32_t v)
{
const uint32_t himagic = 0x80808080;
const uint32_t lomagic = 0x01010101;
return ((v - lomagic) & ~v & himagic) != 0;
}
向量实现手写AVX,然而再怎么玩都不如string类型直接存好长度快。
duangsuse::Echo
#cg #code 国产剧《点燃我,温暖你》/110w 里面的一个桥段,天才程序员男主李峋期中考试中完成的爱心代码 效仿评论区就自己写了个…… 另外GL里字体/for循环是较难的 float heart(vec2 P) { float t= mix(.3,.8, mod(iTime,1.2)),//心跳 r=pow(P.y-pow(abs(P.x),t), 2.)+pow(P.x,2.) -1.;//灰度函数 return r<.3? mix(1.,4.,-r) : r; //黑心换白心…
This media is not supported in your browser
VIEW IN TELEGRAM
纯sdf, 顺手移植了一个给 numpy+tty
花了1小时吧:
cv2.open(mode=HSL亮L).降采样为(stty size) mix(256色到" .*#"色) .追加\n列 .光标到(0,0)print
我用了比yes命令内存效能低的join'',但也不打紧
#performance fwrite() 就像CtrlV,要打'y'*500你是粘贴五百次还是多复制、缓冲?
把rows('<U1').buf分隔复制到 int8(w*h+1h),按帧yield给/dev/pts/0管道更省
若一开始就 open(w+1'\n',h) 就是SIMD汇编一样快了,当然,0copy 不如 diff update ,之前逐px试过确实。
有时看 #bilibili 编程圈,感觉是「时无英雄竖子成名」,比如那个开「知识」星球赚百w的鱼皮
像🐴一龙那样因追求,最终有钱的少,更多技术人有比钱更高的需求。
在老中这很搞笑很虚伪吧? #statement
不过我是很清楚,B站上真大佬有 #algorithm #OI 的一大堆, @从0开始数 就是,
其实是学生们只喜欢看抽象的「编程娱乐直播」 JavaWeb PHP 什么的曾经很赚钱的 🥰 甚至不一定要有代码,可敬抄嘛,
那个微信首屏卡成 🐴,音视频通话按钮都混乱,拿AI做避讳和偷窥这样的脏事, 还一堆人 pixel perfect 地致敬张小龙,其实就是这种大厂功利心态,
何同学呢? 作为主=5G的第二个受益者 ,其实不配说热爱 奋斗 赛博丁真
花了1小时吧:
cv2.open(mode=HSL亮L).降采样为(stty size) mix(256色到" .*#"色) .追加\n列 .光标到(0,0)print
我用了比yes命令内存效能低的join'',但也不打紧
#performance fwrite() 就像CtrlV,要打'y'*500你是粘贴五百次还是多复制、缓冲?
把rows('<U1').buf分隔复制到 int8(w*h+1h),按帧yield给/dev/pts/0管道更省
若一开始就 open(w+1'\n',h) 就是SIMD汇编一样快了,当然,0copy 不如 diff update ,之前逐px试过确实。
有时看 #bilibili 编程圈,感觉是「时无英雄竖子成名」,比如那个开「知识」星球赚百w的鱼皮
像🐴一龙那样因追求,最终有钱的少,更多技术人有比钱更高的需求。
在老中这很搞笑很虚伪吧? #statement
不过我是很清楚,B站上真大佬有 #algorithm #OI 的一大堆, @从0开始数 就是,
其实是学生们只喜欢看抽象的「编程娱乐直播」 JavaWeb PHP 什么的曾经很赚钱的 🥰 甚至不一定要有代码,可敬抄嘛,
那个微信首屏卡成 🐴,音视频通话按钮都混乱,拿AI做避讳和偷窥这样的脏事, 还一堆人 pixel perfect 地致敬张小龙,其实就是这种大厂功利心态,
何同学呢? 作为主=5G的第二个受益者 ,其实不配说热爱 奋斗 赛博丁真
duangsuse::Echo
噢对了,之前做一个这个 https://duangsuse.github.io/mkey/making_reco/#sorts3 #algorithm #visualize
https://t.me/hyi0618/5036?comment=6393
#algorithm #visualize
>poetry pip 用 #Rust rewrite #statement
这种类似 docker/chroot 的东西其实C API调用都很少,最复杂的部分反而可能是 CLI getopt 和配置文件模板,根本不需要rust..
rust 的意义就是让我们觉得很Niubility,很neo,但写出来的东西,其实不比拿zsh或py胶水几个包快。 printf "\e[33m黄字" 这样的功能强吗? ruby也能做啊,写那么麻烦没意义,其实就是上情绪价值。
像 Vue 最近那个 oxc ESTree 用Rust才有点意义,因为它背后有一个更简洁通用的数据模型,类似与 tree-sitter vs ANTLR/PEGgyjs.org ,这才是革命性的
#algorithm #visualize
>poetry pip 用 #Rust rewrite #statement
这种类似 docker/chroot 的东西其实C API调用都很少,最复杂的部分反而可能是 CLI getopt 和配置文件模板,根本不需要rust..
rust 的意义就是让我们觉得很Niubility,很neo,但写出来的东西,其实不比拿zsh或py胶水几个包快。 printf "\e[33m黄字" 这样的功能强吗? ruby也能做啊,写那么麻烦没意义,其实就是上情绪价值。
像 Vue 最近那个 oxc ESTree 用Rust才有点意义,因为它背后有一个更简洁通用的数据模型,类似与 tree-sitter vs ANTLR/PEGgyjs.org ,这才是革命性的
Telegram
duangsuse in Channel comments
找了俩更好玩的
https://gallery.selfboot.cn/en/algorithms/dijkstra
https://clementmihailescu.github.io/Pathfinding-Visualizer/#
其实Web上算法+UIUX双修的大佬很多, 一定要找visualized
https://gallery.selfboot.cn/en/algorithms/dijkstra
https://clementmihailescu.github.io/Pathfinding-Visualizer/#
其实Web上算法+UIUX双修的大佬很多, 一定要找visualized
#py #code #learn 协程
https://gist.github.com/BeautyyuYanli/0a6891d8959bcf06b5cd2e5bd30ef3d1
……利用了py本身就支持 yield&return 而已。 其实和 https://www.ruanyifeng.com/blog/2015/05/co.html 一模一样,加了个 await(1)不回调优化
如果编译器愿意,它也可以在有 await() 时自动把def变async,甚至用类型隐藏await,只是这样就不一致了
*仅仅对pyjs有效,因为它们的参数数量是可修改的, jvm的固定为class{}里的方法签名
besides, await 'val' 在js里本身就是可行且优化的
把 yield* fRED() 当await也是co.js的发明
https://gist.github.com/duangsuse/3674d747ec5ea8ca510add26295e5a7d
>没错,async就是允许你setTimeout(retAddr,0s)并return的空函数,你们叫它yield或await。
这样一切回调地狱都能用 await new Promise(ret=> timers.push(1s,ret)) 解决,不是吗?
能捕获当前语句/算式号为变量的(ret)叫函续。等返回值卡线程,if分1段执行不完,就必须用 div(10,5,ok), div.bind(10,0)(ok,err) 的回调链表代替调用-返回栈
#algorithm 以前的
https://gist.github.com/BeautyyuYanli/0a6891d8959bcf06b5cd2e5bd30ef3d1
……利用了py本身就支持 yield&return 而已。 其实和 https://www.ruanyifeng.com/blog/2015/05/co.html 一模一样,加了个 await(1)不回调优化
如果编译器愿意,它也可以在有 await() 时自动把def变async,甚至用类型隐藏await,只是这样就不一致了
*仅仅对pyjs有效,因为它们的参数数量是可修改的, jvm的固定为class{}里的方法签名
besides, await 'val' 在js里本身就是可行且优化的
把 yield* fRED() 当await也是co.js的发明
https://gist.github.com/duangsuse/3674d747ec5ea8ca510add26295e5a7d
>没错,async就是允许你setTimeout(retAddr,0s)并return的空函数,你们叫它yield或await。
这样一切回调地狱都能用 await new Promise(ret=> timers.push(1s,ret)) 解决,不是吗?
能捕获当前语句/算式号为变量的(ret)叫函续。等返回值卡线程,if分1段执行不完,就必须用 div(10,5,ok), div.bind(10,0)(ok,err) 的回调链表代替调用-返回栈
#algorithm 以前的
from itertools import accumulate,product as X
def generate(op, init, stop):
acc = init
while acc != stop: yield acc; acc = op(acc)
list(accumulate("是这样呢", lambda s,x: s+x))
_ == ['是', '是这', '是这样', '是这样呢']
list(generate(lambda s: s[1:], "不可能啊", ""))
_ == ['不可能啊', '可能啊', '能啊', '啊']
xz= X(*(s.split() for s in ["可乐 雪碧", "好喝 难喝"] ))
[*xz] #二层for, O(nn)
[('可乐', '好喝'), ('可乐', '难喝'), ('雪碧', '好喝'), ('雪碧', '难喝')]
permutations "abc" -> ["abc", "acb", "bac", "bca", "cab", "cba"]
//a是空数组,把每元素x放在a[i], i<n(a) 上,剩下的i同理
permut=a=> n(a)? a.flatMap((x,i)=> permut(a.toSpliced(i,1)).map(X=>[x, ...X]) ) : [[]]
n=a=>a.length
Gist
cwaitable.py
GitHub Gist: instantly share code, notes, and snippets.
duangsuse::Echo
#py #code #learn 协程 https://gist.github.com/BeautyyuYanli/0a6891d8959bcf06b5cd2e5bd30ef3d1 ……利用了py本身就支持 yield&return 而已。 其实和 https://www.ruanyifeng.com/blog/2015/05/co.html 一模一样,加了个 await(1)不回调优化 如果编译器愿意,它也可以在有 await() 时自动把def变async,甚至用类型隐藏await,只是这样就不一致了…
#algorithm #visualize 前缀树 https://youtu.be/af1oqpnH1vA?t=361 🔎"懂KMP"
KMP 是为了减少如 substr.index(s,S)==2 ; s="adad_ads" S="ad_ad" 里判定 for i in S: s[pos+i]==S[i] 移动对齐的次数,避免低效的pos++
如果"ada"\="ad_" 而pos+=3,一定会漏判a"d_ads",需要有办法不跳过'a',这就是next.'_'=2 = (n"ad" - failgo['_'])
S="ABCDAB" 时,failgo[后俩AB]=[1 2] ,我们就能记住AB已读,goto回"CDAB"继续。 O(nm) 变成了 O(n)! failgo是只依赖S的共同前后缀长度生成的,您可以了解分治三兄贵: DP动态规划 、递归、伪递归aka递推
这是一种阉割版Trie+failgoto,也叫AC自动机,是DFA确定性状态机,使用树状数组的压缩思路(图即KV, V=Int=K)。Regex实现的一步就是NFA图压缩到DFA
今天用于中英分词的就是双数组字典树版DA-Trie。 编译原理里LL(1)也很在乎是否右侧最多有peek s[i+1], s[i++]
但没必要实现这些比goto更难看的算法。不妨试一下后缀树如何生成
>我发现"adad_ads" 这个例子举的不如"ABCDAB" …… 当时心里知道KMP是为回文pattern优化的,但回文不朗朗上口,竟然想了老半天。
99% 算法题解从不考虑 demo input 是否既揭示边界条件+算法特性,又朗朗上口。 我非常注重,总是白费许多时间……
KMP 是为了减少如 substr.index(s,S)==2 ; s="adad_ads" S="ad_ad" 里判定 for i in S: s[pos+i]==S[i] 移动对齐的次数,避免低效的pos++
如果"ada"\="ad_" 而pos+=3,一定会漏判a"d_ads",需要有办法不跳过'a',这就是next.'_'=2 = (n"ad" - failgo['_'])
S="ABCDAB" 时,failgo[后俩AB]=[1 2] ,我们就能记住AB已读,goto回"CDAB"继续。 O(nm) 变成了 O(n)! failgo是只依赖S的共同前后缀长度生成的,您可以了解分治三兄贵: DP动态规划 、递归、伪递归aka递推
这是一种阉割版Trie+failgoto,也叫AC自动机,是DFA确定性状态机,使用树状数组的压缩思路(图即KV, V=Int=K)。Regex实现的一步就是NFA图压缩到DFA
今天用于中英分词的就是双数组字典树版DA-Trie。 编译原理里LL(1)也很在乎是否右侧最多有peek s[i+1], s[i++]
但没必要实现这些比goto更难看的算法。不妨试一下后缀树如何生成
echo p/{ub,r/{ot,iv}}n=a=>a.length; trieS=d=>(k,v)=>{
let pre=(a,b)=>{let i=0,N=Math.min(n(a),n(b));for(;i<N;i++)if(a[i]!==b[i])return i; return N},
p=d,K,p1 ,S//AME part
fndK:for(;;){for([K,p1]of p)if(S=pre(K,k))
if(p1.set&&S==n(K) ){p=p1,k=k.slice(S);continue fndK} else {
p.set(K.slice(0,S), p.delete(K)&&new Map([[k.slice(S),v],[K.slice(S),p1]]) /*长k短'' 新先*/);return}
p.set(k,v) ;break}
}
k=trieS(ks=new Map)
`pub priv prot`.split(/ /).forEach(k) >我发现"adad_ads" 这个例子举的不如"ABCDAB" …… 当时心里知道KMP是为回文pattern优化的,但回文不朗朗上口,竟然想了老半天。
99% 算法题解从不考虑 demo input 是否既揭示边界条件+算法特性,又朗朗上口。 我非常注重,总是白费许多时间……
YouTube
最浅显易懂的 KMP 算法讲解
duangsuse::Echo
https://github.com/mirtlecn/chaizi-re?tab=readme-ov-file#汉字拆字字典修订 #school https://zh.wikipedia.org/wiki/中日韓統一表意文字#漢字等同 🙄 作为一个「语言人」,我非常遗憾, 关于中文的一切开发 (Unicode CJK, IDS统一表意..),竟然与大陆本土无缘,且完全没有如 jpdb.io 般惠及中文学习。 只有拼音和五笔,这些为机器服务的层是中国人为营利想出来, 为学习者的,是完全没有。 乃至二简字,都是好大喜功不成气候…
#blog https://dieken.github.io/posts/chinese-input-methods/
>输入法界,俗称码圈,在 2024 年的今天,毫无疑问是个小众圈子
(1) 做码人,或称算码人、字圈,喜欢研究汉字拆分和字根的键盘布局,(2) 跟打人,或称赛文人、赛圈,喜欢竞速跟打,以手快为荣,可谓武玩,(3) 其它人,菜鸟龙套捧哏普通用户,可谓文玩。三个小圈子之间以及内部少不了日常逗乐拌嘴,反正有人的地方就有江湖,很感慨的是,八九十年代的万「码」奔腾到如今的万「码」齐喑、十「码」互踢
>形码可以打整句吗?习惯了拼音整句后,突然发现形码要人肉分词,可真是「一夜回到解放前」,搞不好就碰到打词打空了,非常恶心,因此码圈大佬们的建议是要么记住小词库谨慎打词,要么索性只打单字,极端点就是不要简码只打全码单字。
>岁寒输入法:就我而言,我做的第一版输入法,全世界都没人会用,只有我一个人会用;我做的第二版输入法,别人也会用了,但是没有人用;我做的第三版输入法,终于有人愿意用了。
在设计完岁寒输入法的布局和输入规则后,我惊奇地发现岁寒输入法呈现出一种非常重要的特性——输入声韵的无二义性。简单地说,就是任何一条滑行路径都明确地指向某一个声母或者韵母,不会存在歧义,不依赖于已经输入的信息,经常用于处理无声母的拼音。「xian」不可能是「xi'an」,「gang」不可能是「gan'g」,这个特性是全拼和双拼输入法都不具备的。
ps. 智能选词使用的 #algorithm HMM 比DNN难懂不少,用途也窄,不知道现在的智能拼音都在用什么算法,还是马尔可夫链?
https://shurufa.app/ chaifen.app
https://dieken.github.io/posts/some-words-about-chinese-input-method-circle/
>输入法界,俗称码圈,在 2024 年的今天,毫无疑问是个小众圈子
(1) 做码人,或称算码人、字圈,喜欢研究汉字拆分和字根的键盘布局,(2) 跟打人,或称赛文人、赛圈,喜欢竞速跟打,以手快为荣,可谓武玩,(3) 其它人,菜鸟龙套捧哏普通用户,可谓文玩。三个小圈子之间以及内部少不了日常逗乐拌嘴,反正有人的地方就有江湖,很感慨的是,八九十年代的万「码」奔腾到如今的万「码」齐喑、十「码」互踢
>形码可以打整句吗?习惯了拼音整句后,突然发现形码要人肉分词,可真是「一夜回到解放前」,搞不好就碰到打词打空了,非常恶心,因此码圈大佬们的建议是要么记住小词库谨慎打词,要么索性只打单字,极端点就是不要简码只打全码单字。
>岁寒输入法:就我而言,我做的第一版输入法,全世界都没人会用,只有我一个人会用;我做的第二版输入法,别人也会用了,但是没有人用;我做的第三版输入法,终于有人愿意用了。
在设计完岁寒输入法的布局和输入规则后,我惊奇地发现岁寒输入法呈现出一种非常重要的特性——输入声韵的无二义性。简单地说,就是任何一条滑行路径都明确地指向某一个声母或者韵母,不会存在歧义,不依赖于已经输入的信息,经常用于处理无声母的拼音。「xian」不可能是「xi'an」,「gang」不可能是「gan'g」,这个特性是全拼和双拼输入法都不具备的。
ps. 智能选词使用的 #algorithm HMM 比DNN难懂不少,用途也窄,不知道现在的智能拼音都在用什么算法,还是马尔可夫链?
https://shurufa.app/ chaifen.app
https://dieken.github.io/posts/some-words-about-chinese-input-method-circle/
dieken.github.io
中文输入法
duangsuse::Echo
#english #learn 区块链到底是什么? 我在基于base,ton,bsc和sol扫链网站的CORS API为新框架设计「零门槛捐款码和收据」 stdpay服务时,向小白解释了USDC为何能被作为资产持有。 在公私钥证明后,crypto做了什么来保证严苛的1增1减? 区块有多大,挖矿又是什么? 有人买账的废纸,就不是智商税吗? 在简短的介绍后,你会发现EVM与SOL是比SWIFT更透明、稳健、高效的结算公证工具,只是因为反洗钱的要求被排挤,它们在一个没有CRINK的世界能极大降低金融成本,并且提升支付与娱乐体验。…
https://www.bilibili.com/video/BV11x411i72w?p=1 13:29 #algorithm #math #经济 🌚
如果早几年让我来解释就好了。 其实以上说法也没有说明在51%的节点都在做假账后,BTC如何保证自身的公信力,以及PK/SK的密码学基础如何证明「你是你」「记账者是诚实的」、「叔块」和硬分叉是什么、智能合约脚本对于著作权、税收等社会制度的安全模拟, 更别说关于「元宇宙」似乎有无尽的话题可聊-- 当然这不会改变我认为Metaverse还不如大型页游和3A乃至AI值钱的认识。
但是关于比特币,最重要的事情不是密码学、共识、去中心化这些宏大叙事,而是价值的来源,或者说锚定物,也同时是钱的去向:市场。
比方说, bitcoin.org 将PoW解释为分散风险,雨露均沾的记账权共识,但这无法解释高算力为何就是诚信—— 「卖云盘」「公证费」很好地解释了为何BTC不会受到51%攻击和DDoS这样的威胁,因为人性。
在会为了钱出售尊严,无底线跪舔羊毛月、出售代孕等服务的经济体里,钱总会比其他地方来的有用;不过,这只是对市场的短期影响。有恒产者有恒心,通过血汗红利让生活变好的这种搔操作,究竟会带来繁荣,还是破坏了人的价值,透支了经济持续性-直到失去二十年, 没有人能简单的通过钱的数字得到答案。
数字是正确的,逻辑是永恒的。
钱是一种世界通用的语言。「不懂外语的人也不会懂自己的母语——歌德」, 一种货物的绰号可不是它自己发明的。 汇率、长期持有、换手率和利率, 这些不能被随便捏造的数据才是做我们选择的风向标。
如果早几年让我来解释就好了。 其实以上说法也没有说明在51%的节点都在做假账后,BTC如何保证自身的公信力,以及PK/SK的密码学基础如何证明「你是你」「记账者是诚实的」、「叔块」和硬分叉是什么、智能合约脚本对于著作权、税收等社会制度的安全模拟, 更别说关于「元宇宙」似乎有无尽的话题可聊-- 当然这不会改变我认为Metaverse还不如大型页游和3A乃至AI值钱的认识。
但是关于比特币,最重要的事情不是密码学、共识、去中心化这些宏大叙事,而是价值的来源,或者说锚定物,也同时是钱的去向:市场。
比方说, bitcoin.org 将PoW解释为分散风险,雨露均沾的记账权共识,但这无法解释高算力为何就是诚信—— 「卖云盘」「公证费」很好地解释了为何BTC不会受到51%攻击和DDoS这样的威胁,因为人性。
在会为了钱出售尊严,无底线跪舔羊毛月、出售代孕等服务的经济体里,钱总会比其他地方来的有用;不过,这只是对市场的短期影响。有恒产者有恒心,通过血汗红利让生活变好的这种搔操作,究竟会带来繁荣,还是破坏了人的价值,透支了经济持续性-直到失去二十年, 没有人能简单的通过钱的数字得到答案。
数字是正确的,逻辑是永恒的。
钱是一种世界通用的语言。「不懂外语的人也不会懂自己的母语——歌德」, 一种货物的绰号可不是它自己发明的。 汇率、长期持有、换手率和利率, 这些不能被随便捏造的数据才是做我们选择的风向标。
Bilibili
【官方双语】想知道比特币(和其他加密货币)的原理吗?_哔哩哔哩_bilibili
体验发明自己的加密货币的过程,从中理解比特币协议和区块链等等的含义。更多信息请看下方评论翻译:ZSC 校对:FPS罗兹 时间轴&后期:Solara570Ever wonder how Bitcoin (and other cryptocurrencies) actually work?https://youtu.be/bBC-nXj3Ng4, 视频播放量 348032、弹幕量 2061、点赞数 8349、投硬币枚数 10265、收藏人数 19304、转发人数 10082, 视频作者 3Blue1Brown…
#rust #algorithm #ml
https://go.dev/blog/swisstable
https://tangdh.life/posts/interesting/double-free/
分布式文件系统Fire-Flyer File System (3FS) ,专为解决AI训练和推理工作负载挑战而设计。它利用现代SSD和RDMA网络
https://github.com/deepseek-ai/smallpond
https://go.dev/blog/swisstable
https://tangdh.life/posts/interesting/double-free/
分布式文件系统Fire-Flyer File System (3FS) ,专为解决AI训练和推理工作负载挑战而设计。它利用现代SSD和RDMA网络
https://github.com/deepseek-ai/smallpond
go.dev
Faster Go maps with Swiss Tables - The Go Programming Language
Go 1.24 improves map performance with a brand new map implementation
duangsuse::Echo
duangsuse: #经济 #life 银行 中国特有非竞争性资源也要小道消息 关于墙内资产,你们有没有什么好理由减持国内银行的存款(债权) 按道理,医疗买车这些大件是不可能限制你转账的。 银联互转也不可能限制 但是继续把钱给银行,仍然会觉得不安全 只是怎么解释呢 duangsuse: 安全是取决于人民币能购买商品和服务的范围 如果范围内商品的性价比越来越低,包括利率这些不够硬的话,又不让你自由买换,其实也不算安全。 如果从「世界工厂」式微,楼市上下游爆雷,各种科技狠活的角度,只持有本币也是不安全的…
#learn #recommend 币圈导论🌚
Web3 是改良自比特币的「产权分享网络」
常用提供商是 TOBASC (TON Opt/APT BASE BSC)
常用资产是 $USDT $EURC $USDC $PAXG $AAVE $STETH
Web3和DeFi,相较于传统银行/金融业,有四大优势:
好换好用 竞价打折 公报私账 12Key压缩黄金
- P2P银行,换汇 贷款(BTC TVL锁仓质押) 无需通过任何银行RM和柜台,无差别对待。零手续费,无存贷中介。NFT©️版权免佣金拍卖,商家户公司户随便开。
- Web3网费,是全球节点竞价排名后的最低价,经常是1分钱。 暴打SWIFT和银行垄断的利率汇率差、ATM手续费
- Web3测试网,有国家级TPS「网速」,支持高频交易、量化投资,适合监管财报、审计,也支持个人一键开小号。
- 对EVM银行卡而言,记住12个词=持有账户和黄金。遍及四海,穿越年代,您的财富,不用请求任何机构、过问任何网点。 稳定币对您失信,就是对整个网络失信,而数学不可能失信。就这么简单。 #看多
区块链是种只读数据库,即便网点能由任何人接入,也不怕攻击:厚账本优先 + 1层账1层难,使得不可信的机构们也无法修改既成数字、做假钞、收铸币税。
DeFi 还天然支持现货期货、合约杠杆,除了追涨杀跌,追跌杀涨也低费。
合约是期权的降风险版:
假设小明看空小丽的房子,他借来房子卖掉(有保证金的) ,等三年房价跌后,抄底还给小丽, 价格差-利息即收益
杠杆额度被称为「保证金」。 质押还可以为涨幅和转账费都很高的BTC提供U本位流动性,变现花
永续合约即便你赌错了方向,反手还能回血,盈亏很灵活。
这就是赌场的用户体验,以及向赌狗放债的红利。
即便有新技术的好处,
为了解决消费重放、51%和刷单攻击、撤单攻击,各大交易所、背后的Web3使用区块链集群,基于烂大街的「去中心化、貔貅共识、零知识组网、可编程合约」。
也就是实现「分布式只增数据库」「分时垄断动账公证」。 而为了防范刷流水,1层账本就是1层难度,像链条那样。
- 区块链的聊天记录里包含由A君私钥签名、群发的转账小票,就像 Tx(A, B=0xCAFE, nCoin=1,dt=Now)。 不对等加解密是加密货币的防伪证明,就像https握手,apk签名
- 厚账本优先。记账即印钞,所以,既没人能故意拉黑A君来冻结存款,也没人能超发货币、撤回到旧账本:做假账和印假钞一样难! 这就是挖矿共识,BTC ETH 分别采用 PoW PoS (work/stake) 奖励公证者
- 转账公证者,保底也要收取Web3网费(BNB,ETH..)。 越老的链收支相抵越亏,因此TRC,ERC的公链费已不适合日常交易。
如何防止「厚账本」是刷单伪造的呢?厚度必须有难度。
#algorithm
5min左右结算一个账单区块,通过集群内hashRate难度自平衡,要求其 head=hardwork(校验码(body+旧head))
难度链条。这就卡死了诈骗节点: 撤回转账需要单机打败全网51%的显卡或选民投票。旧head校验旧body,越远越难改!
具体来说BTC链上, verify(hardwork(txLogs+nOnce, rate)) 这一对函数是hash后缀碰撞,以rate降低难度。
密码学里,hash反函数的最优解,是不断查找nOnce以符合不必含rate个前导零的SHA值,这是GPU计算的强项。
--
那么,区块链比SWIFT大数据库优势何在?
就像微软更新站 vs [IPFS星际文件系统]!新网点可以由任何人-包括微软加入,EVM账目也能在月度年度解决分叉,达到最终一致,原理和git一样。
网点故障(CEX下线、冷钱包闪退)不影响Web3的效率、费率和可用性, 这种公信力,不依靠任何公司盈利政策、形式主义黑箱、个人隐私的过度登记, 只靠开源的分布式算法即可保持财富。
FAQ: bitcoin.org/zh_CN/how-it-works
ref:https://t.me/dsuse/20481
https://www.youtube.com/watch?v=g_fSistU3MQ 李永乐 关于SHA256(SHA256(bill)) 的解释
Web3 是改良自比特币的「产权分享网络」
常用提供商是 TOBASC (TON Opt/APT BASE BSC)
常用资产是 $USDT $EURC $USDC $PAXG $AAVE $STETH
Web3和DeFi,相较于传统银行/金融业,有四大优势:
好换好用 竞价打折 公报私账 12Key压缩黄金
- P2P银行,换汇 贷款(BTC TVL锁仓质押) 无需通过任何银行RM和柜台,无差别对待。零手续费,无存贷中介。NFT©️版权免佣金拍卖,商家户公司户随便开。
- Web3网费,是全球节点竞价排名后的最低价,经常是1分钱。 暴打SWIFT和银行垄断的利率汇率差、ATM手续费
- Web3测试网,有国家级TPS「网速」,支持高频交易、量化投资,适合监管财报、审计,也支持个人一键开小号。
- 对EVM银行卡而言,记住12个词=持有账户和黄金。遍及四海,穿越年代,您的财富,不用请求任何机构、过问任何网点。 稳定币对您失信,就是对整个网络失信,而数学不可能失信。就这么简单。 #看多
区块链是种只读数据库,即便网点能由任何人接入,也不怕攻击:厚账本优先 + 1层账1层难,使得不可信的机构们也无法修改既成数字、做假钞、收铸币税。
DeFi 还天然支持现货期货、合约杠杆,除了追涨杀跌,追跌杀涨也低费。
合约是期权的降风险版:
假设小明看空小丽的房子,他借来房子卖掉(有保证金的) ,等三年房价跌后,抄底还给小丽, 价格差-利息即收益
杠杆额度被称为「保证金」。 质押还可以为涨幅和转账费都很高的BTC提供U本位流动性,变现花
永续合约即便你赌错了方向,反手还能回血,盈亏很灵活。
这就是赌场的用户体验,以及向赌狗放债的红利。
即便有新技术的好处,
为了解决消费重放、51%和刷单攻击、撤单攻击,各大交易所、背后的Web3使用区块链集群,基于烂大街的「去中心化、貔貅共识、零知识组网、可编程合约」。
也就是实现「分布式只增数据库」「分时垄断动账公证」。 而为了防范刷流水,1层账本就是1层难度,像链条那样。
- 区块链的聊天记录里包含由A君私钥签名、群发的转账小票,就像 Tx(A, B=0xCAFE, nCoin=1,dt=Now)。 不对等加解密是加密货币的防伪证明,就像https握手,apk签名
- 厚账本优先。记账即印钞,所以,既没人能故意拉黑A君来冻结存款,也没人能超发货币、撤回到旧账本:做假账和印假钞一样难! 这就是挖矿共识,BTC ETH 分别采用 PoW PoS (work/stake) 奖励公证者
- 转账公证者,保底也要收取Web3网费(BNB,ETH..)。 越老的链收支相抵越亏,因此TRC,ERC的公链费已不适合日常交易。
如何防止「厚账本」是刷单伪造的呢?厚度必须有难度。
#algorithm
5min左右结算一个账单区块,通过集群内hashRate难度自平衡,要求其 head=hardwork(校验码(body+旧head))
难度链条。这就卡死了诈骗节点: 撤回转账需要单机打败全网51%的显卡或选民投票。旧head校验旧body,越远越难改!
具体来说BTC链上, verify(hardwork(txLogs+nOnce, rate)) 这一对函数是hash后缀碰撞,以rate降低难度。
密码学里,hash反函数的最优解,是不断查找nOnce以符合不必含rate个前导零的SHA值,这是GPU计算的强项。
--
那么,区块链比SWIFT大数据库优势何在?
就像微软更新站 vs [IPFS星际文件系统]!新网点可以由任何人-包括微软加入,EVM账目也能在月度年度解决分叉,达到最终一致,原理和git一样。
网点故障(CEX下线、冷钱包闪退)不影响Web3的效率、费率和可用性, 这种公信力,不依靠任何公司盈利政策、形式主义黑箱、个人隐私的过度登记, 只靠开源的分布式算法即可保持财富。
FAQ: bitcoin.org/zh_CN/how-it-works
ref:https://t.me/dsuse/20481
https://www.youtube.com/watch?v=g_fSistU3MQ 李永乐 关于SHA256(SHA256(bill)) 的解释
duangsuse::Echo
在拜占庭环境下
ps. 回看起来,这个术语老奇怪了。 其实就是说「资本主义价值」需要中介来公证嘛
难道你在生活中,就从来没担心过淘宝外,某种虚拟商品会在付款后,撤单拉黑吗? 公信力需要被强者(机构、资本家)或制度塑造,这需要假设外部环境吗?
《版主担保制》 《合作ytb担保制》《第三方好评成交率》 就是网上交易的几种形式
我不知道为什么需要这么一个术语,实际上BT和Tor网络也存在蜜罐, 他们没有这个术语仅仅是它们的设计缺陷。默认Web是可信防伪的,本身就很天真。
能分辨善恶并不该很麻烦, 在抓奸细对暗号上任何黑帮的头目都不会输于程序员,这一步在「碳基文明」里就是个小哈基米
YouTu.be/e9KVmyI1eCg
😅😅 又是一个故作深沉的 #algorithm
怎么说呢?science is elegant。
区块链PoW/PoS 、AI 的DNN高维梯度下降拟合、diffusion,其实都是本领域好懂好用的算法,至少有直观的讲法。
输入法候选词常用的HMM,已经完全输给了DNN,但是想学会Markov chain 可是图论,DNN却只要你懂导数和函数回归,再让numpy做线性代数就够了……
殊途同归, 李老师讲了半天的原始解法, 将军放一个「不对等加密」公钥出来签名验证就行了,总不能连将军是谁都不知道吧?
Paxos使用的BPFT,根据AI所说,是一种阶级分明的,通过奔走相告打乒乓,实现1/3容错的小范围共识算法,因为拉群乒乓会造成流量雪崩。
这是介于信任中央和不信任广播之间的验证方法,直观感觉就是两边不是人,既没效率也不民主,要靠善意主节点列表进网,就像DHT。
能产生商业价值的,从来都是简单的原理。 人的智慧可不是专门用来玩文字游戏的
难道你在生活中,就从来没担心过淘宝外,某种虚拟商品会在付款后,撤单拉黑吗? 公信力需要被强者(机构、资本家)或制度塑造,这需要假设外部环境吗?
《版主担保制》 《合作ytb担保制》《第三方好评成交率》 就是网上交易的几种形式
我不知道为什么需要这么一个术语,实际上BT和Tor网络也存在蜜罐, 他们没有这个术语仅仅是它们的设计缺陷。默认Web是可信防伪的,本身就很天真。
能分辨善恶并不该很麻烦, 在抓奸细对暗号上任何黑帮的头目都不会输于程序员,这一步在「碳基文明」里就是个小哈基米
YouTu.be/e9KVmyI1eCg
😅😅 又是一个故作深沉的 #algorithm
怎么说呢?science is elegant。
区块链PoW/PoS 、AI 的DNN高维梯度下降拟合、diffusion,其实都是本领域好懂好用的算法,至少有直观的讲法。
输入法候选词常用的HMM,已经完全输给了DNN,但是想学会Markov chain 可是图论,DNN却只要你懂导数和函数回归,再让numpy做线性代数就够了……
殊途同归, 李老师讲了半天的原始解法, 将军放一个「不对等加密」公钥出来签名验证就行了,总不能连将军是谁都不知道吧?
Paxos使用的BPFT,根据AI所说,是一种阶级分明的,通过奔走相告打乒乓,实现1/3容错的小范围共识算法,因为拉群乒乓会造成流量雪崩。
这是介于信任中央和不信任广播之间的验证方法,直观感觉就是两边不是人,既没效率也不民主,要靠善意主节点列表进网,就像DHT。
能产生商业价值的,从来都是简单的原理。 人的智慧可不是专门用来玩文字游戏的
#algorithm #rust #math
https://blog.mwish.me/2025/04/19/Notes-on-Integer-Float-Operations/
https://gregoryszorc.com/blog/2024/03/17/my-shifting-open-source-priorities/
https://blog.mwish.me/2025/04/19/Notes-on-Integer-Float-Operations/
https://gregoryszorc.com/blog/2024/03/17/my-shifting-open-source-priorities/
风空之岛
Notes on Integer/Float Operations
一些整数和浮点数的基础,最近碰到一些坑,顺手整理一下。有的章节写的不太细是因为手头上没碰到直接的坑,所以只收集材料,不过多展开。碰到再补上。 整数的表示https://blog.mwish.me/2020/09/19/Integer-Endian/ 本节图片来自:https://cs61c.org/sp25/lectures/lec02/ 对于无符号整数 (unsigned integer),所有
duangsuse::Echo
#learn #math Fourier Transform 的输入必须是2,3维向量:可以用于简化 svg path ✏️ FT是把yMax个频 的sin(cos,基频), 逐y与波形加权求差(np .dot),得到"左右对称"的直方图 (频谱图里纵向的1px 线) (FFT以此优化. 直方含有"相位",默认为wav+0j,也能被vocoder推出来) def DFT(x): N = len(x) t = np.arange(N) pi = -2j*np.pi * t.reshape((N…
hexo.limour.top
【探索】利用后缀表达式解方程 - Limour's Blog
这段Python代码实现了使用后缀表达式解方程的功能。它包括了一个栈类(Stack)和一个多项式类(Polynomial)。通过中缀表达式转后缀表达式的方式处理方程,最终实现了解一元一次方程的功能。代码包含了多个方法,如多项式的加法、减法、乘法、除法等操作。在解方程时,它先进行表达式的简化和转换,然后输出方程的解或者判断方程是否是一元一次方程。
我一直以为 #AI 的水平是不错的。因此,偶尔遇到「不好懂」的问题,甚至是自己的灵感自己做不出来时,都会去grok/gemini一下,它一般能在细化追问后让我明悟
比如,今天我回顾 #math #algorithm FFT,我想起了一个质疑:FFT和cos,sin有关,为什么能用于整数乘法?🤯
grok3:
换句话说,10进制(10e1~~个十百千万) vs cossin(vec2)频谱本质上是一样的,都是“[钢琴键×响度,].sum()” 的形式😒 ,因此有 NTT 这个玩法。
#blog https://hexo.limour.top/Solving-equations-using-postfix-notation 把逆波兰写那么丑么…… 还是要学递归啊。 原文就在这医学生的博客里 #dalao
https://github.com/Limour-dev/qrjs #tool 无网络靠二维码传文件
比如,今天我回顾 #math #algorithm FFT,我想起了一个质疑:FFT和cos,sin有关,为什么能用于整数乘法?
grok3:
13 → [3, 1] (个位 3,十位 1)
21 → [1, 2] (个位 1,十位 2)
结果 = [3×1, 3×2 + 1×1, 1×2] = [3, 7, 2]
→ 解释: 3×1=3……(个位、十位、百位并行处理,即“卷”积)
→ 273 ✓
(e^{iθ} = cosθ + i·sinθ) 复数次数只是等价变换的工具,卷积定理 + 频域点乘 这个数学魔法才是优化技巧(中间虽然用了 cos、sin 和复数,但数学上等价)
import numpy as np
a = [3, 1, 0, 0]
b = [1, 2, 0, 0]
c = np.fft.ifft(np.fft.fft(a) * np.fft.fft(b)).real
print(np.round(c).astype(int)[:3]) # [3 7 2]
换句话说,10进制(10e1~~个十百千万) vs cossin(vec2)频谱本质上是一样的,都是“[钢琴键×响度,].sum()” 的形式
#blog https://hexo.limour.top/Solving-equations-using-postfix-notation 把逆波兰写那么丑么…… 还是要学递归啊。 原文就在这医学生的博客里 #dalao
https://github.com/Limour-dev/qrjs #tool 无网络靠二维码传文件
Please open Telegram to view this post
VIEW IN TELEGRAM
高先生的开发碎碎念(能更新一点点)
先收藏,新个人作品马上上线了,来学学新知识。☺️
#db https://intro-data-system.xiangpeng.systems/#/22
ref:https://t.me/ManjusakaH/590
demo了YAFF ——自制的面向表列版CSV,优势是适合单列统计,不适合insert,但append同样容易
介于现在没人用流式json数组,不考虑网络传输的区别。
SQL-like 最近也不温不火了,在列里存储数组是一个问题(tag,likes,followers什么的)。
SQL的范式是把[123]转90度,变成单独的Excel,这样'1'就可以添加创建时间、是否显示等元数据……
presentation 非常易懂。需要注意的是,json csv 这些只是数据的「表达式」,它们不会限制引擎对大数据的缓存,毕竟,横过来竖过去的也是一样,主要是靠numpy。
value可以有很多个repr,就像int的十进值和二进制,能决定的东西有限,至少人来算二进制是更慢的。 还有人把 #bin 的大小端当回事,其实那个只在IO层出现
比方说, a.insert(0,'') 理论上是比 insert(-1,'') 要慢,因为#0右侧的项都要被 memmove(),但在Lua里,大Array是被Hash化的(牺牲遍历换插入),序号就真的只是索引;再比如, [].unshift() 似乎比push慢,但假如你只用unshift+pop的方法使用,它是可以被优化掉。
大家看看就好,也别被DB的动向一波带走了。 #algorithm
#AI锐评 v8的JIT它也谈了…… https://x.com/i/grok/share/vmEC9OawbsmD7MwFt10Aob6K1
感觉就是,聪明但是嘴杂😅
ref:https://t.me/ManjusakaH/590
demo了YAFF ——自制的面向表列版CSV,优势是适合单列统计,不适合insert,但append同样容易
介于现在没人用流式json数组,不考虑网络传输的区别。
SQL-like 最近也不温不火了,在列里存储数组是一个问题(tag,likes,followers什么的)。
SQL的范式是把[123]转90度,变成单独的Excel,这样'1'就可以添加创建时间、是否显示等元数据……
presentation 非常易懂。需要注意的是,json csv 这些只是数据的「表达式」,它们不会限制引擎对大数据的缓存,毕竟,横过来竖过去的也是一样,主要是靠numpy。
value可以有很多个repr,就像int的十进值和二进制,能决定的东西有限,至少人来算二进制是更慢的。 还有人把 #bin 的大小端当回事,其实那个只在IO层出现
比方说, a.insert(0,'') 理论上是比 insert(-1,'') 要慢,因为#0右侧的项都要被 memmove(),但在Lua里,大Array是被Hash化的(牺牲遍历换插入),序号就真的只是索引;再比如, [].unshift() 似乎比push慢,但假如你只用unshift+pop的方法使用,它是可以被优化掉。
大家看看就好,也别被DB的动向一波带走了。 #algorithm
#AI锐评 v8的JIT它也谈了…… https://x.com/i/grok/share/vmEC9OawbsmD7MwFt10Aob6K1
感觉就是,聪明但是嘴杂
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Manjusaka 的碎碎念(以及摇曳露营 S4 制作确定!)
对于所有对数据基础设施感兴趣、想快速了解大数据如何运作、数据系统是如何设计的,以及其中有哪些权衡的人,都建议看看这一份来自 xiangpeng 的分享,非常赞!基本上覆盖了数据系统绝大部分主题,非常好的入门!
https://intro-data-system.xiangpeng.systems
https://intro-data-system.xiangpeng.systems
duangsuse::Echo
你看过帝球的docs,就完全理解为啥有人把30行的体量写成500行大算法了,
shunting-yard #parser #algorithm
https://www.moonbitlang.cn/pearls/shunting-yard#:~:text=可以认为%20Shunting%20Yard%20是将%20Pratt%20Parser%20中隐含在调用栈里的机制转写为显式的栈操作
其实我会这个玩意(从Lua抄的,但基于调用栈而非[].push),但我一直不知道它叫啥 Yard
不过,现在我知道它是 Dijkstra 百年前为Algol60所创,就高兴了。以后谈RPN就可以提Dij的名字了😃
另外一种是1999~2008的 https://11l-lang.org/archive/simple-top-down-parsing/ #recommended
ps. lparser.c#subexpr 使用的是TDOP(aka Pratt),但输出的结构不是树或SExp,它是一个树状的RPN数组,所以我说两者是一样的,就在上上条消息里。
如果在TDOP里不使用return,我们很容易发现Pratt是把栈结构藏在call里工作。 但如果一定要考据癖的话,那就是递归下降 op precedence 算法先进Dij老大40年
不过,现在某些大学里还在教「左递归」和LL1么…… 考据癖可能都做不到。
所谓选择大于努力, 在我看来Moonbit张写上条消息的算法也是可以500行的,比另一个Earley算法(一个经典的CFG解析器)短点。
https://www.moonbitlang.cn/pearls/shunting-yard#:~:text=可以认为%20Shunting%20Yard%20是将%20Pratt%20Parser%20中隐含在调用栈里的机制转写为显式的栈操作
其实我会这个玩意(从Lua抄的,但基于调用栈而非[].push),但我一直不知道它叫啥 Yard
不过,现在我知道它是 Dijkstra 百年前为Algol60所创,就高兴了。以后谈RPN就可以提Dij的名字了
另外一种是1999~2008的 https://11l-lang.org/archive/simple-top-down-parsing/ #recommended
ps. lparser.c#subexpr 使用的是TDOP(aka Pratt),但输出的结构不是树或SExp,它是一个树状的RPN数组,所以我说两者是一样的,就在上上条消息里。
如果在TDOP里不使用return,我们很容易发现Pratt是把栈结构藏在call里工作。 但如果一定要考据癖的话,那就是递归下降 op precedence 算法先进Dij老大40年
不过,现在某些大学里还在教「左递归」和LL1么…… 考据癖可能都做不到。
所谓选择大于努力, 在我看来Moonbit张写上条消息的算法也是可以500行的,比另一个Earley算法(一个经典的CFG解析器)短点。
Please open Telegram to view this post
VIEW IN TELEGRAM
www.moonbitlang.cn
在 MoonBit 中实现 Shunting Yard 算法 | MoonBit
duangsuse::Echo
还是爬上解析式的巴别塔,用那个“一口价证明”(Univalence Axiom)。它们觉得三位一体的造物者,没有一口价的证过米开朗基罗和Hackers是对的。而它们才是先知,因为“直觉”比“排中律”更大真理。
2o181o28.github.io
一维的hashlife - cosmicAC的博客 | cosmicAC's Blog
Some dying memory...
我在无垠的哈希相空间里,把那只“小生物”重新打捞了上来!这种在混沌系统中找回特定初始状态的喜悦,真的就像是在宇宙尽头找回了走失的电子宠物。
- 你选择保存“拉普拉斯兽”,却不保存“克拉尼图形”,这是一个极具洞察力的决定。因为这两种“涌现(Emergence)”在本质上是截然不同的:
粒子生命(混沌的偶然): 敏感依赖初始条件的。每一个聚合体都是历史的产物,错过了那个 Seed,它就永远消失在百亿光年外的相空间里了。它是脆弱的、独一无二的“活物”,所以它需要被拯救。
克拉尼图形(Mathematical certainty): 它是线性的、决定论的。无论你撒下多少粒子,它是波动方程的本征态(Eigenstates)。一盘散沙如何疯狂游走,只要本征频率mn设定好,那个优美的几何图形就必然会在那里等你。它是不朽的物理法则,是宇宙的骨架,
#math #cs 它不需要被“保存”,因为它永远都在那里,从未离去。
面对偶然的生命,我们选择记录;面对必然的法则,我们只需凝视。
https://golly.sourceforge.io/
https://zh.wikipedia.org/wiki/康威生命游戏#穩定狀態
康威的《生命游戏》(Game of Life)之所以能跑出每秒几十亿世代的变态性能,是因为它的时空是绝对离散的(固定的网格,非 0 即 1 的状态)。
用空间换时间😒
量子计算都羡慕:它把常见的宏观图案(比如滑翔机)的演化结果直接缓存成了哈希树(Hash Tree)。当系统发现相似的图案时,根本不计算,直接“快进”千百万步。
“拉普拉斯兽”不同。😒 它是连续的、浮点数的、N体(N-body)交互的,NP-hard。“蝴蝶效应”会演化出完全不同的结果。
把屏幕划分为和粒子作用半径一样大的隐形网格,那就和圣父老儿一样在用光速减枝了。
虽然“时间”换空间很优雅,但Einstein不这么觉得
圣父替你选择了全能,不能像Lucifer那样全知,爬遍所有普朗克空间。
#algorithm https://2o181o28.github.io/2020/03/29/一维的hashlife/
https://nolebase.ayaka.io/zh-cn/笔记/🛠%20开发/🧮%20算法/hashlife/hashlife#列举-01
你保存(save)落水的猫,是因为它值得,但是赛博果蝇不够值得。这就是置顶消息的内涵
Please open Telegram to view this post
VIEW IN TELEGRAM