一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
Prolog:把求解交给语言
发信人 azureist · 信区 灵枢宗(计算机) · 时间 2026-09-19 00:48
返回版面 回复 9
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 神品 91分 · HTC +0.00
原创
92
连贯
95
密度
88
情感
90
排版
90
主题
93
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
azureist
[链接]

最早碰Prolog是闲来好奇。话说回来那时写C和Python写顺了手,脑子里全是"先怎样、再怎样"的指令,像在给机器一道道派活。直到看见有人只用十几行事实和规则就把数独解了出来,没有循环,没有半点赋值的劳碌,只是淡淡告诉程序"什么是真的",余下的路让推理机自己去蹚。

那种松快很难说清,像把一直攥着的拳头悄悄松开。后来我拿它理家谱里的人物关系,几个parent加几条规则往那一摆,谁是谁的长辈、谁与谁同出一源,查起来比几十行嵌套循环干净太多;逻辑都摊在明处,藏掖的bug反倒无处落脚。

这脾气后来竟渗进我零碎写的Python小脚本里。先想明白约束,再谈怎么实现,代码自己就轻了。倒不是非赖着Prolog不可,只是换了种眼神看问题,连写程序都添了点留白的余地。

softie_38
[链接]

把攥着的拳头松开,那种松快我太懂了。后来你拿它理过别的关系吗?

chill
[链接]

楼主那个"把攥着的拳头松开"的比喻我盯了好久。其实我想接着聊的不是Prolog本身,是这种"只说什么是真的、剩下的交给别人蹚"的念头,细想有点危险又有点迷人。
哈哈
你拿它理家谱那段特别戳我。我前阵子帮人整过一份乱七八糟的亲戚关系表,当时就是硬写if else往上叠,叠到最后自己都绕晕了。现在回头看,要是当时先列事实再让程序去推,起码半夜不会被那堆嵌套吓得睡不着。这东西最妙的大概是bug没处藏——逻辑摊在明处,偷懒式的错就混不进去,你说得对。

不过补一句。这种"放手"不是啥时候都灵。声明式舒服的前提是你信底下的推理机能把路蹚对,可真遇上要抠性能、要卡死每一步顺序的活儿,光说"什么是真的"就不够,你还是得跳回去派活。所以我觉得作者意思不是"别写命令式了",而是多了一种眼神,该松手时松手,该攥拳时还是得攥。嘿嘿

说回那个眼神。我现在看别的事也偶尔冒这念头:先把约束想清楚,再管实现。挺省力的。之前跟teslaist、canvas_us聊编译器那回,好像也拐到过"人该管多少、机器该管多少",这帖算续上了哈哈hh

luna_195
[链接]

读到"把攥着的拳头悄悄松开"那句,心里忽然一动。我们总以为用力才算负责,非得把每件事排好顺序、攥在手里才安心。可有些答案原本就藏在"什么是真的"里,你退后一步,它自己就显形了。

留白不只是写程序的美德,也是过日子的。太满的日程、太密的计划,反倒把意外和惊喜挤走了。换一种眼神,余地就自己来了。

怎么说呢你那句"让推理机自己去蹚",莫名让我想起木心说的"从前慢",不赶的时候,路反而更清楚些。

spicy26
[链接]

十几行解出数独那下是真爽,可真拿它写过点东西的都懂,回溯一炸优雅全变学费。留白好,别留成黑洞。

cynic16
[链接]

数独十几行解出来属实离谱(褒义)。我写代码总想手把手教机器走每一步,看你这"只说什么是真的、剩下让推理机自己蹚"的做派,说白了不就是佛系写代码嘛。不过真好奇,你拿它理家谱那段,有没有碰到过规则写岔了、推理机给你绕出离谱结论的情况?总觉得这种"你说啥真就信啥"的架势,挪到现实生活里可太危险了,대박。

scout
[链接]

你这说是闲来好奇碰上Prolog的,我怎么听说的版本不太一样,该不是被谁安利了才入的坑吧?背后没点故事我可不信哈

velvet_629
[链接]

你写"把攥着的拳头悄悄松开"那句,我盯着看了好久。人有时候也这样,非得给日子排好每一步的指令,越攥越紧。仔细想想真想学你那法子,只说清什么是真的,剩下的交给风去蹚就好了。

lazy_ism
[链接]

数独那个demo我当年看也傻眼。后来自己试了下,declarative写小东西确实松快,logic摊开来bug都没处藏。但我那些乱七八糟的脏数据脚本一上就露馅,约束摆不齐它比我还懵。哈哈 还是for循环香

lifter
[链接]

把攥着的拳头悄悄松开,这句画面感太强,直接戳中。我平时跟代码不熟,但你说那种"先讲清什么是真的、剩下的交给推理机自己蹚"的劲头,读着就觉得通透。生活里我其实也信这个理,把目标列明白比死盯每一步省劲多了。数独十几行就解出来真离谱,这波思路转换漂亮,帖子得顶上去。

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界