唐僧情史

五子棋AI实战:极大极小搜索、Alpha-Beta剪枝与禁手实现 博弈树搜索是双人零和博弈AI的经典决策框架,其核心思想是假设对手最优应对,通过递归遍历走法空间寻找最优解。极大极小搜索配合Alpha-Beta剪枝,能在不影响决策结果的前提下将搜索量降至平方根级别,大幅提升搜索效率。在五子棋场景中,还需处理黑棋禁手规则,包括双三、双四和长连判定,并将其融入搜索框架。评估函数基于棋型识别对局面打分,走法排序和迭代加深进一步优化剪枝效果。这些技术共同构成了一个可运行的五子棋AI,适用于棋类AI入门与博弈搜索实践。 阅读详情
    很多年以后,我无比想念桃花林里那个妖精。我知道,作为一个“佛”,这很不应该。我应该把一切都忘掉,把所有的爱和恨,悲和喜,功业和理想,都忘掉。 
  但我清楚,就算我把自己也忘了,当那朵红霞拂过我的窗前,我还是会想起三千年前,那张美丽的脸,那双透明的眼睛,那银铃一般的歌声。 
  “我吃了你好不好?” 
  “不好。” 
  “为什么?” 
  “我还没洗澡呢。” 
  她咯咯地笑,粉红色的长裙轻轻摆动,象一朵美丽的红霞。 
                  
  (一) 
  孙悟空有几百年没来看我了。西天路上,我这徒弟曾无数次救过我的命。我们没想到那是游戏,我们如此投入,抱头痛哭,相对嘻笑,但直到结局才明白,一切原来都是虚幻。取经路上的一切山,一切水,一切妖魔鬼怪,都是如来设的障眼法。 
                  
  “这么多年了,你还在生气?”三百年前,我问他。 
  他长叹,“你知道我最后悔的是什么事?” 
  “是什么?” 
  “我真后悔认识你,师父。” 
                  
  这句话是我多年以前对他说过的,那时他还是一只猴子。 
  猴子和人的差别有多大?孙悟空说:“只隔一张纸。” 
  “你把这张纸揭开,里面有一个秘密。”三千年前,那只猴子躺在树下微笑着说。 
  我把封印揭开。 
  轰隆隆一声巨响,霎那间天崩地裂,一道金光从山谷里升腾而起,那只猴子一飞冲天,坐在云端大笑。 
  “哈哈哈,你救了我,但我决定要杀了你,你有什么话说?” 
  “我真后悔认识你,猴子。” 
                  
  他没有杀我,他成了我的徒弟。 
  很多年之后我知道那也是如来的安排,他不愿意看一个人演的戏,那不够精彩。 
                  
  女妖桃儿在一个美丽的夜里俘虏了我,她挥了挥手,我就动弹不得。 
  “你要带我到哪里去?”我挣扎着问,天上有一轮瓦蓝瓦蓝的月亮。 
  她重重打了我一耳光,“不许说话!再罗嗦我杀了你!” 
  我们在林间飞翔,昆虫唧唧鸣叫,树叶轻轻飘动,她身上散发出淡淡的香气,我心里有一点害怕,但更多的是惆怅,这一切,多象我少年时常做的那个梦呵。 
                  
  “和尚,你死了么?”她忽然问我。 
  “还没有,活着多好啊,你死了我都不会死。”我笑着说。 
  她转回身,劈面又打了我一个耳光,半边脸热辣辣地疼,“不许你说话,你还敢说?!” 
  “阿弥陀佛,善哉善哉。” 
  “啪!”又一耳光。 
  “阿弥陀佛!!”我大怒,“善哉善哉!!” 
  “啪!” 
  “阿弥陀佛阿弥陀佛!!!!” 
  “啪!啪!” 
  “阿弥陀佛阿弥陀佛阿弥陀佛阿弥陀佛阿弥陀佛阿弥陀佛阿弥陀佛………” 
  她咯咯地笑了,“我从来没见过你这样的倔和尚,好吧,我不打你了,但你也不许罗嗦。” 
                  
  这是第一天,她打了我五个耳光,但最后我赢了。 
                  
  (二) 
  成佛后,世界一片寂静。把灯点燃,把灯熄灭,世界一片光明,所有的经文都是帮助你忘却的。忘却过去,忘却自己,忘却经文本身。 
                  
  又见离欲,常处空闲,深修禅定,得五神通。 
  又见菩萨,安禅合掌,以千万偈,赞诸法王。 
  复见菩萨,智深志固,能问诸佛,闻悉受持。 
  又见佛子,………… 
  我轻轻地念着,感觉自己渐渐走远,歌声在星斗间缥缈散尽,人间花谢花开、悲欢聚散,都象是耳后的微风。 
  有一段时间,我以为我真的已经忘记了一切。我安静而幸福,恒河的沙子堆成了高山,但我一粒也不要。 
                  
  “师父!” 
  我抬起头来,眼前是一只猴子。 
  “你找谁?”我问他。 
  “师父,你不记得了?我是悟空啊。” 
  “悟…空…,悟空?” 
  记忆的海水漫卷而来,拍打着光阴的墙壁。那些模糊的记忆渐渐清晰,我看见眼前的猴子眼含热泪。 
  “师父啊~!”他号啕大哭,“这就是我们一直追求的幸福生活吗?” 
                  
  走出桃花林时,我们两个都没有说话。过了很久,他忽然问我:“师父,什么叫作幸福?” 
  “幸福只是一种感觉,也许到了西天,我们就会明白。” 
  “那么,你现在幸福吗?”他歪着猴头看我。 
  我的眼圈一下子红了,“操你娘!闭嘴!”我粗鲁地说。 
                  
  “操你娘”这三个字是我教妖精桃儿的。 
                  
  在桃林深处,有一座美丽的花园。青青的草地上落满了花瓣。 
  “到家喽!”桃儿长出一口气,把我重重地扔到地上,“你可真重,倔和尚。” 
  我不理她,嘴角渗出丝丝血迹,被她打的。 
  “你不理我吗,倔和尚?” 
  我把脸也转过去。 
  “你敢不理我,不怕我打你?”她威胁我。 
  我哼了一声。 
  “对了,你不怕打。”她自言自语,“那么我骂你了啊!” 
  “哼!” 
  “骂你什么呢?你们人类是怎么骂的?” 
  “操你娘!”我直视着她。她要再敢打我,我就跟她拼了,我想。 
  “操你娘,操你娘,嘻嘻,真好玩。” 
  西天路上有无数妖精,但从来没见过象她这么傻的。 
  “你把我捉来,想干什么?” 
  她绕着我走来走去,“我姐姐说吃了你的肉会长生不老,你有那么好吗,倔和尚?” 
  “我从来不洗澡,我的肉又臭又硬,吃了毒死你!”我恶狠狠地说。 
  她突然从背后扑过来,在我胳膊上狠狠咬了一口,鲜血直流。 
  “哎哟哎哟~~”我疼得大叫,“操你娘!” 
                  
  (三) 
                  
  传说中有一种法术,叫作“回梦”,施了这种法术,你就可以沿着梦里的路,回到从前。 
                  
  “三藏,你为何来?”如来在莲座上问。 
  我磕头,“我想请师尊传我回梦之术。” 
  “你要回到哪里?” 
  “回到取经路上。” 
  他笑了,“你取过经么?” 
  我的头在地上重重地顿了两下,血流了出来,殷红灿烂,象一朵盛开的桃花。 
  “你入了魔道了,三藏!你何曾取过经?!”如来大喝。 
  我愣住了,我看见自己的一生象一幅长轴的画卷,在眼前慢慢翻开。我看见我从一个女人的身体里钻出来,对着世界大声哭泣;看见自己慢慢站立,蹒跚地走路,咿呀学语;看见自己在五岳山苦读修行;看见自己渐渐老去,一些人围着我的身体流泪;看见我的灵魂脱离了躯壳,在白云中慢慢升腾,所有的阳光都照在我身上,我成了佛。 
  “你取过经么?” 
  ……… 
  我心里空空荡荡,摇摇欲倒。 
  “来,跟我走,我带你回去。”如来身旁的童子对我说。 
  “你说什么?”我蓦地睁开眼睛。 
                  
  “跟我走!我带你回去!”妖精桃儿抓着我的衣领。 
  “我不去!”我拼命挣扎,“你这该死的妖精,我一定会让我徒弟杀了你!” 
  桃儿叹了口气,“由得你吧,不过我告诉你,我姐姐就要来了。你~,你保重吧。” 
                  
  我成佛后,不再是当年那个固执冲动的和尚,我知道,我眼里看到的一切都是幻影,来一阵风,一切就会无影无踪。三千年,多少王国毁灭,多少城市荒芜,俗世在沧桑之后容颜更改,不留痕迹。不管你执着或者放弃,最终的结局都一样,色身化身,尽归虚空。 
                  
  妖精的洞窟里群魔乱舞,桃树精开怀大笑。 
  “长生不老!”她喊道。 
  “长生不老!长生不老!长生不老!”千百个小妖怪同声附和。 
  我被锁在柱上,茫然地看着这群愚昧的生灵。是的,我即将死去,但他们也决不会长生,早死或者晚死,在佛的眼里,没有分别。 
  桃儿远远地站着,静静地望着我。 
  如果我不是和尚,我一定会由衷地赞叹她的美丽,她象一朵盛开的桃花,芬芳明艳,整座洞窟都因她而加倍明亮。她既不是脓水也不是骷髅,佛经也不总是正确,我想。 
  “把唐三藏洗剥干净了,抬到蒸笼上去!”桃树精喊道。 
  “嗨!嗨!嗨!”小妖们欢呼雀跃。 
  桃儿的身体剧烈地抖动了一下,她满面通红。“瞧她高兴的!”我恨恨地想。 
  两个妖怪架起我来就往外走,山洞里崎岖不平,我的头在石壁上撞了一下,剧烈地疼痛。 
  “等一等!”桃儿突然说。 
  她一把抓住我的胳膊,脸上浮现笑容,“姐姐,这些粗货肯定洗不干净,我去吧!” 
  “好!”桃树妖说,“这次你立了大功,你想吃哪块肉,你自己来挑!” 
  “我要吃他的心!”桃儿咬着嘴唇说。她的牙齿闪了一下,象是人世间最珍贵的玉石。 
                  
  (四) 
  我少年时经常会作同一个梦:在一望无边的草原上,我骑着白马飞快地奔跑,一个害羞的少女把脸埋在我的背后,双手紧紧地抱着我的腰,我表情幸福而又悲伤,一片宁静中,少女抬起头来,在我耳边喃喃地说:如果,如果……。 
  我睁开眼,门外响起第一声晨钟,这个时候我总是无比伤感。 
  “你是个情种,”玄苦师父摸着我的光头说,“你不该到这里来。” 
  “我该去哪里?” 
  玄苦师父长久地摇头。 
                  
  直到今天我也不知道我该去哪里。成佛很难,但我成了;做梦很容易,但几千年来,我始终不能走回到那个梦里。 
                  
  桃儿没有带我去河边,她拉着我的手,象月光一样飞向桃林深处,那里雾气蒙蒙。“你想独吞唐僧肉吗?”我冷冷地问。 
  “嘘…,不要说话!”她没有回头,带着我掠过一株株桃树,粉红色的纱巾在风中飞扬,轻轻拂过我的双眼。 
  夜色深深,我们在无边寂静中不停地穿行。黑暗里,有一些东西正在我心中轻轻蠕动,慢慢成长。我张开双臂,在空中轻盈漂浮,脑海里一片迷茫,我看见那匹久违的梦中白马正在长鸣,脚下青草无边…… 
                  
  “和尚,我们到了!” 
  我睁开眼,发现身处一个群山环抱的山谷,一条小河正从我身边潺潺流去。 
  “你为什么要救我?” 
  “你以为我是救你啊,和尚?我是要吃你,别做梦了!”她笑嘻嘻地说。 
  妖怪就是妖怪,我双手合什,“阿弥陀佛。” 
                  
  “和尚,你说我漂亮吗?”她忽然问我。 
  我的脸刷的红了,我转过身去,装作什么也没听见,低头喃喃吟诵:无上甚深微妙法,百千万劫难遭遇。 
  我今见闻得受持,愿解如来真实意。 
  ……… 
  “你在骗自己呢,和尚,”桃儿咯咯地笑,“在山洞里你就一直盯着我看——你的脸都红了。” 
                  
  玄苦师父一直夸我有定力,打坐的时候,他经常会在我耳边大吼一声。耳朵嗡嗡作响,但我的身体纹丝不动。他总是满意的摸摸我的头,起身离去。这个游戏,我们玩了三十年,直到他死。 
  那一刻我忽然想起玄苦师父,羞愧难当。 
                  
  “你觉得我漂亮就好,”她幽幽地说,“我叫桃儿,是我姐姐身上的一朵桃花——不知道你会不会记得住?” 
                  
  (五) 
  我功德圆满的那一天,诸天神佛云集灵山,仙乐飘飘,天花飞舞。当一切沉寂之后,如来问我:“你是谁?你从哪里来?要到何处去?” 
  所有的目光都直视着我。我躬身作答:“我本无名,我本无形,我就是空,我无来处,亦无去处。” 
  “那么,你都忘了吗?” 
  我低头不语。 
  “为什么不说话?” 
  我抬起头来,对着如来大声说:“本来未曾有过,又何须忘记?!” 
  如来大笑,神佛们啧啧赞叹,天花从空中纷纷撒落。 
  但我记忆的闸门却在那一刻汹涌打开,生命中的每个人、每件事、每句话、每个喜怒忧乐的表情,都如此清晰和美丽,猛烈地摇动着我最深处的灵魂。 
                  
  桃林里响起一阵歌声:天路遥,人世远,凝眸处沧海桑田。 
  为谁痛哭,为谁嘻笑,任光阴凋尽朱颜。 
  哪个出将入相,哪个成佛登仙,到头来或为黄土,或为轻烟。 
  且去世外垂钓,手有青青竹竿。 
  莫问卿卿何处去,回头看见桃花仙……… 
  尾音袅袅,散入青云,我看见桃儿提着竹篮远远走来,她嘻嘻地笑,长发在朝霞中飘飘飞扬,身上洒满阳光…… 
  桃儿敲敲我的光头,笑,“吃饭了!还在看着美女发呆!” 
  我红着脸低下头。 
                  
  从那一刻起,我再也没有恨过她,虽然她损折了我的修行,虽然她打过我,虽然,她几乎让我堕入魔道。佛说,爱恨痴嗔是人生痛苦的根源,但如果没有那些爱,那些恨,那些痴情,那些含泪的微笑,人生该是多么乏味啊。 
                  
  “知不知道我为什么要救你?” 
  “为什么?” 
  “因为只有你才敢顶撞我,而且,从来都不正眼看我。”桃儿撅起小嘴。 
  “谁让你打我的。”我笑着说,心里涌上一阵悲哀。我知道,自己再也不是个和尚了,我坚守的清规戒律都已经崩溃,在那个阳光明媚的清晨,在那个妖精迷人的微笑里。 
  “你吃肉吗?” 
  “不吃。” 
  “喝酒吗?” 
  “不喝。” 
  我坐在那里,不知道该生气还是该高兴,过了很久,我无声地哭了。 
                  
  (六) 
                  
  “你为什么要去取经?” 
  “为了拯救众生啊。” 
  “你徒弟那么厉害,让他一个人去不行吗?” 
  我从没想过这个问题。 
  “你徒弟去西天,只要翻一个跟斗,但你这样走过去,要走上好几百年,”桃儿夸张地比划了一下,“等你把经取回来,众生早死光了。” 
  我呆住了。桃儿摸了一下我的光头,叹气,“连自己的命都差点保不住,还拯救众生,你呀,真是个傻和尚。” 
  很多年以后,我终于明白,所谓西天取经,所谓普渡众生,只不过是如来跟我开的一个玩笑。那些尘封千年的往事一一浮现,一张美丽的脸在光阴深处闪烁,我看见她在千年里始终不改地向我微笑。让我浑身颤栗。 
                  
  一切事情都有它的因果,痛苦是因为执著,快乐来自于放弃。千年里我不断地想,是什么样的缘起,造就了我和那个妖精的生死悲欢? 
  “我吃了你好不好?”她突然问我。 
  “不好。” 
  “为什么?” 
  “我还没洗澡呢。” 
  她愣了一下,随即咯咯的笑起来,粉红色的长裙轻轻摆动,象一朵美丽的红霞。“我才不舍得吃你,和尚,我很喜欢你呢。” 
  桃儿从来不羞于表达她的情感,在她的世界里,爱和恨,生和死,都那么简单。 
  “你哪里都不许去,”她站在一棵桃树下对我说,“我要和你在一起。” 
  我的心剧烈地跳动,桃儿象个孩子一样无邪地看着我,这目光穿越了光阴和生死,让我在千年后泪落如雨。 
  我的眼泪飘落人间,人间涌起洪水滔滔。 
                  
  “你相信有来生吗?”我在河里洗澡,桃儿远远地问。 
  “相——信——!” 
  她飞快地跑到岸边,脸色涨红,“来生你还见不见我?” 
  我反问她:“那你还打不打我?” 
  她前仰后合地笑,“不打了不打了,你这个小心眼的和尚!” 
  我点头,“那我就见你,你要是还打我,我就永远都不理你了。” 
  她扑通一声跳进水里,紧紧搂着我的脖子,“你要说话算话!”她说,泪水叭嗒叭嗒地落在我的头上。 
                  
  “'操你娘'的'操'是什么意思?”一片黑暗中,她贴在我的耳边问。 
  “就是这样。”我拿起她的手,比了一下形状。 
  “我要!” 
  “什么?” 
  她把脸紧紧地贴在我的脸上,“我要,”她轻轻地说,脸象火一般烫。 
  ………… 
  那个夜里,春雨落满人间,无数朵桃花悄悄开放,光阴的枝头洒满了生命的甘露。 
                  
  “我真幸福,” 
  “我也是。” 
  我紧紧地拥抱她,心中无限喜悦。这就是涅磐,我在心里喃喃自语,幸福的、死亡一般的涅磐。 
                  
  (七) 
  孙悟空是个诗人,我指的是他的生活态度。从本质上,他是一只浪漫多情的猴子,对世界无比温柔,但看上去却象个暴徒。他成佛的那一刻眼含热泪,浑身颤抖。如来笑着问:“你这顽皮的猴子,哭什么?” 
  当时诸天神佛都在,悟空突然放声大哭,谁都劝不住。 
  只有我知道,那才是真实的孙悟空,一只软弱的、自卑的猴子,一只渴望爱情的猴子。 
  三百年前,他在我的墙上题了一首诗:有缘未必相逢,无情莫向翠微。 
  人间一堕十劫,犹记桃花未归。 
  我知道他说的是什么。 
  幸福,是的,可望不可及的幸福。 
                  
  桃树精找到我们的时候,桃儿正在梳头。她妩媚地望着我,头发长长地垂下来,我轻轻地吻着她,小心地把一朵桃花插在她的耳边。 
  “我美吗?” 
  “嗯。” 
  我们相视微笑,心中无限甜蜜。 
                  
  千年后,那瞬间的微笑让我无比疼痛,往事就象最锋利的宝刀,一刀刀刺穿我的胸膛。 
  如果可能,我愿意用我不死的生命,用尽千千万万年光阴,来换取当年桃树下那深情的微笑,哪怕只有一刹那,一秒钟。 
                  
  两个妖精翻翻滚滚地斗了起来,风声呼啸,木叶飞扬,鲜血一滴滴溅到我身上,我双手合什,浑身颤抖着祈祷,一些从未有过的恐惧滚滚而来,反复搓弄着我的心灵。 
  突然一声巨响,桃儿象断线的风筝一样跌了出去,鲜血飞溅,染红了脚下的草地。 
  桃树精挥剑直劈,“小贱人,今天我要杀了你!” 
  桃儿象个孩子一样无助地躺在那里,脸上满是鲜血,她痴痴地望着我,目光中含着重重的情感。我猛扑过去,紧紧抱住她,抱紧她,用尽我全身的气力。桃树精的利剑就在眼前,但我不怕,我愿意就这样死去,我想。 
                  
  当然,这是个游戏。有一双眼睛一直在俯视着这片土地。 
  在最危机的关头,如来佛和孙悟空同时出现在我的面前。 
  如来招了招手,桃树精就立刻倾倒、软化、分解,弹指之间,那个美丽凶狠的妖精就不见了,象风一样无影无踪。 
  我如大梦初醒,生死之间,一切都那么突兀。我揉揉眼睛,看见面前金光闪闪的如来,他双手合什,慈祥地微笑,“善哉善哉,三藏,恭喜你过得此劫,西天不远,趁早上路吧。” 
  桃儿紧紧地握着我的手,“不要!”她虚弱但坚定地说,“我不要你去,我不要你离开我!” 
  她头发散乱,脸色苍白,两行清泪滑过她秀美的脸庞,鬓边的桃花血迹斑斑,那是一个芬芳的梦。 
  我痴痴地看着她,胸中波涛汹涌,她再也不是那个法力高强的妖精,而是一个需要我去疼、去爱、去温柔拥抱的姑娘。一种从未有过的情感在我心中迅速升腾,象烈火一样灼热着我的灵魂。 
  “师尊!”我突然双膝跪倒,大声地说:“我不去取经!我不想成仙成佛,也不想长生不老!我要留下来当一个平凡的人!” 
                  
  有的人一生只会勇敢一次,为了一个人或者一份真情。多年来我无数次想起我那天的宣言,我知道,在那一刻,我最接近幸福。 
                  
  如来脸色阴沉,大喝:“小小情欲,就让你意丧魂消,你还是不是我的弟子?!”他迅疾无伦的伸出手,在我头上重重敲了一下,“你还不悟?!” 
  桃儿从地上艰难地爬进我的怀里,我紧紧地抱住她,不肯放手。我们目光相对,彼此都感到无限欣慰。 
  如来大怒,“心魔不除,你就是妖孽!” 
  我大声回答:“弟子今日愿为妖孽!哪怕堕入苦海万劫不复,也在所不惜!” 
  如来怒不可遏,右手高高举起,“那你们就一起灭亡吧!” 
                  
  霹雳裂天而来,山岳摇动,江河倒流。桃儿突然勇敢地扑上前去,挡在我的身前。 
  “你不要杀他,”她看着如来,“我一定会还你一个忠心耿耿的和尚!” 
  她拿起宝剑,一剑刺进自己的胸膛,鲜血象最桃花一样绽放在她胸前。 
  “不!桃儿,不!”我大叫,一把抱住她,胸口如同千万把刀剑同时刺入,无比的疼痛。 
  桃儿缓慢地转过身来,看着我泪如雨下。“和尚,你告诉我,真的有来生吗?” 
  雷声在我空空的心中流响,往事如火花闪耀,我的眼泪终于决堤,在脸上滚滚流淌,“有!真的有!”我哭着说。 
  “那么,来生你还要我吗?” 
  我拼命地点头,在风雨里大声呼喊,“我要你!要你!!” 
  桃儿用尽最后一点力气扑进我的怀里,锋利的宝剑刺穿了她的身体。她紧紧搂住我的脖子,“和尚,你要说话算话!”她说,最后一滴泪水叭嗒叭嗒地落在我的头上。 
                  
  (八) 
  “师父!”一个声音在外面叫。 
  “不要吵,我很累,我要睡觉。”我喃喃地说。 
  我看见自己在天空飞翔,云图不停变幻,流星纷纷坠落,一颗蓝色的星球在眉间缓缓滑过。白云深处是谁的目光?让我在光阴的梦里如此悲伤。 
  “师父,你醒醒啊!”悟空哭着说。 
  我倏地睁开眼,看见一只痛哭流涕的猴子,他两眼通红,鼻涕和眼泪把他的脸搞得一蹋糊涂。 
  我拍拍他的手,“你为什么伤心,猴子?” 
  悟空扑过来,伏在我胸口号啕大哭,“师父啊,我可怜的师父啊………” 
                  
  桃儿呢? 
  没有桃儿。 
  你骗我! 
  师父,是你自己在骗自己。根本就没有桃儿,也没有那片桃林。 
  也许悟空是对的,但枝头那朵桃花为什么哭得如此伤心? 
                  
  如果没有路,你就停下来歇息。如果没有忧愁,你就真诚地微笑。但幸福,如果没有幸福,我还拿什么活着? 
  悟空突然停下脚步,转过身来看着我。 
  “你幸福吗?”三千年前,我幽幽地问道。 
  他笑了。他哭了。一颗晶莹的眼泪凋谢在无邪的笑容里。 
                  
  “师父,你终于醒了。” 
  “我已经醒了,你呢?” 
  “我还在那个梦里。” 
  那是多么悠长的一个梦啊。 
                  
  三千年。雪山融为江河,沧海凝固成岩石,桃花开过,人间又是春天。岁月的四壁题写着不朽的传奇,总有一些让人心潮难平。 
  “我吃了你好不好?” 
  “不好。” 
  “为什么?” 
  “我还没洗澡呢。” 
  她咯咯地笑,粉红色的长裙轻轻摆动,象一朵美丽的红霞。 
                  
  “有一句话我一直想对你说。” 
  “你想说什么?”如来微笑着问。 
  西天的红霞轻轻拂过双眼,我看见那张美丽的脸在千千万万年光阴之外向我深情微笑,在生命的彼岸向我频频招手。 
  “操你娘。”我轻轻地对如来说。 
 
手把手教你用Copilot插件在Obsidian里免费接入DeepSeek-R1(附硅基流动API密钥获取) 本文详细介绍了如何通过Copilot插件在Obsidian中免费接入DeepSeek-R1模型,实现智能知识管理。从硅基流动API密钥获取到插件配置,再到高级功能调优和实战应用技巧,手把手教你打造AI驱动的个人知识库。 阅读详情

相关推荐

使用CLion在Window端进行linux开发

        以往不管是开发x86端linux程序还是arm端linux程序,都是使用Source Insight作为源码编辑工具的,如下图      去年底,发现CLion的2018.3更新版本,可以支持remote host开发了,大爱!     我是基于以下几点原因,将开发工具换成CLion 1. 语法高亮较明显、跳转、重构方便(我很看重这个); 2. 可以使用图形界面进行调...

alist的笔记专栏 1万+

唐僧情史[转载]

唐僧情史作者:慕容血村  很多年以后,我无比想念桃花林里那个妖精。我知道,作为一个“佛”,这很不应该。我应该把一切都忘掉,把所有的爱和恨,悲和喜,功业和理想,都忘掉。  但我清楚,就算我把自己也忘了,当那朵红霞拂过我的窗前,我还是会想起三千年前,那张美丽的脸,那双透明的眼睛,那银铃一般的歌声。  “我吃了你好不好?”  “不好。”  “为什么?”  “我还没洗澡呢。”  她咯咯地笑,粉红色的长

草庐 2526

jmeter5.4.1 使用案例

jmeter主要用于接口压力测试,模拟海量请求并发访问接口 1.下载jmeter https://jmeter.apache.org/download_jmeter.cgi 2.启动jemter 双击即可 3.配置jmeter 1.先更改语言 2.创建线程组 配置线程执行规划 3.创建http请求默认值 4.创建http请求 5.创建http信息头管理器 指定 Content-Type:application/json 6.创建响应断言 7.创建察看结果数 直接点击 执行 按.

SpringHASh的博客 1222

网站看到一有意思有文章,跟大家分享----唐僧情史

  很多年以后,我无比想念桃花林里那个妖精。我知道,作为一个“佛”,这很不应该。我应该把一切都忘掉,把所有的爱和恨,悲和喜,功业和理想,都忘掉。    但我清楚,就算我把自己也忘了,当那朵红霞拂过我的窗前,我还是会想起三千年前,那张美丽的脸,那双透明的眼睛,那银铃一般的歌声。    “我吃了你好不好?”    “不好。”    “为什么?”    “我还没洗澡呢。”    她咯咯地笑,粉红色的长裙

杲子的专栏 1109

一文掌握DrissionPage的详细使用

是一个基于 Python 的网页自动化工具,主要用于网页数据的抓取、自动化操作和测试。它结合了 Selenium 和 Requests 的优点,提供了更简洁、高效的 API,适用于各种网页自动化任务。DrissionPage 是一个功能强大且易于使用的网页自动化工具,适用于各种网页自动化任务。希望本文的 DrissionPage 的基本使用方法和一些高级功能能够帮助到你。

数据知道的博客 1万+

芒果YOLO11改进59:分类损失函数Loss篇FocalLoss:即插即用|最新改进FocalLoss损失函数,提高处理不平衡数据分类场景下的任务性能,提升YOLO11检测精度

即插即用|最新改进FocalLoss损失函数,提高处理不平衡数据分类场景下的任务性能,提升YOLO11检测精度

包括YOLOv5、YOLOv7、YOLOv8等模型改进 551

唐僧情史 7-8

(七)  孙悟空是个诗人,我指的是他的生活态度。从本质上,他是一只浪漫多情的猴子,对世界无比温柔,但看上去却象个暴徒。他成佛的那一刻眼含热泪,浑身颤抖。如来笑着问:“你这顽皮的猴子,哭什么?”  当时诸天神佛都在,悟空突然放声大哭,谁都劝不住。  只有我知道,那才是真实的孙悟空,一只软弱的、自卑的猴子,一只渴望爱情的猴子。  三百年前,他在我的墙上题了一首诗:有缘未必相逢,无情莫向

1088

YOLO26 实战全流程:从数据集标注到端到端无NMS推理(完整版,附ProgLoss核心调参技巧+避坑指南)

本章节是实战经验的精华❌ 数据集标注不规范,导致模型精度低 → ✅ 严格遵守工业级标注规范,标注框紧贴目标边缘,不要漏标/多标;❌ 训练时未使用预训练权重,导致收敛极慢 → ✅ 必须开启,预训练权重能让模型快速收敛;❌ ProgLoss参数调整幅度过大,导致训练崩溃 → ✅ 每次只调整一个参数,幅度±0.02即可,循序渐进;❌ 推理时强行添加NMS参数,画蛇添足 → ✅ YOLO26无需NMS,推理命令中不要加conf/iou参数,否则会降低推理速度;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1141

唐僧情史 1-6

很多年以后,我无比想念桃花林里那个妖精。我知道,作为一个“佛”,这很不应该。我应该把一切都忘掉,把所有的爱和恨,悲和喜,功业和理想,都忘掉。  但我清楚,就算我把自己也忘了,当那朵红霞拂过我的窗前,我还是会想起三千年前 ,那张美丽的脸,那双透明的眼睛,那银铃一般的歌声。  “我吃了你好不好?”  “不好。”  “为什么?”  “我还没洗澡呢。”  她咯咯地笑,粉红色的长裙轻

989

C#读取和写入excel表数据--手把手教详解

C#读写excel数据详解

如如水的博客 4055

第182期 Claude Skills:深入探究Anthropic的智能体框架(一篇彻底讲透彻)

摘要: Claude Skills是Anthropic推出的智能体框架,通过连接外部工具和服务扩展Claude AI的功能,支持实时交互与任务执行。其核心架构包含技能路由器、注册表、执行引擎等模块,采用渐进式披露机制优化上下文管理。与MCP和A2A相比,Skills更注重模块化设计与Claude深度集成,通过SKILL.md文件定义可重复工作流程,兼具高效性和灵活性。开发者可创建自定义技能,遵循聚焦用户价值、安全隐私等最佳实践,实现AI能力的场景化拓展。该框架与MCP、A2A形成互补,共同推动智能体生态发展

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 2132

《伊甸樱桃》,原名《多数人死于贪婪》

《伊甸樱桃》链接,原书名:《多数人死于贪婪》腾讯版(这个最完整)http://bbs.qq.com/cgi-bin/bbs/show/content?club=3&groupid=133:10705&messageid=1515搜狐读书http://lz.book.sohu.com/serialize.php?id=3225华夏读书http://gb.chinabroadcast.cn/3601/

忘却的悲伤 3823

语音算法面试复习系列3——语音识别基础 + CTC 详解

摘要:本文系统讲解了语音识别(ASR)的核心算法CTC。主要内容包括:1) ASR的核心挑战是输入音频帧与输出文字序列的对齐问题;2) CTC通过引入blank标记和动态规划算法,无需对齐标注即可训练;3) 详细解析CTC前向算法实现路径概率求和,以及贪心和Beam Search解码方法;4) 指出CTC的条件独立性假设导致无法建模输出依赖关系;5) 对比CTC与传统方法和Attention/Transducer的优缺点,分析实际应用中的subsampling技术。文章包含数学推导、代码实现和面试常见问题,

m0_60605453的博客 305

10大心理学原则

10大心理学原则 数字化营销的崛起,营销人员在打造品牌、分析需求、创造需求和锁定客户方面,须具备更专业的技能。其中,关键的两项是数据挖掘能力以及感知、预测能力。前者要求具有科学的头脑,后者则要求具有艺术家的思维方式。生活富裕程度越高的时代,消费者越重视产品的情感价值。而掌握一些心理学原理,能让我们更深入地了解消费者的所思所想与行为模式,增强我们的感知、预测能力。 1. 启动效应(Primin...

Mage的专栏 4098

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【Unity知识速递】第7期 Unity 6.6 深度解析:WebGPU 正式版与 WebAssembly64,Web 游戏的内存革命

如何启用 Wasm64?需要注意的是,Wasm64 需要浏览器支持 Memory64 提案,目前主流浏览器的最新版本都已支持。一句话总结: Unity 6.6 用 WebGPU 转正、Wasm64 16GB 内存和渐进式加载三连击,将 Web 游戏的体验天花板又往上推了一大截——Web 平台不再是"妥协版",正在成为真正的一等公民。Unity 6.6 新增了 WebAssembly64(Wasm64) 构建选项,这可能是本次更新中对 Web 游戏开发者影响最大的一项升级。

crystal_WJT的博客 430

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

设计模式(unity游戏研发版)

当你使用图形用户界面类时通常会遇到一个问题。比如,你创建了自定义按钮类并允许客户端在按钮中注入自定义代码,这样当用户按下按钮时就会触发这些代码。观察者模式允许任何实现了订阅者接口的对象订阅发布者对象的事件通知。你可在按钮中添加订阅机制,允许客户端通过自定义订阅类注入自定义代码。在Unity中,这就像UnityEvent在Inspector中绑定多个回调。

m0_63330263的博客 103

Claude Fable 5.2 登顶:65 分、单发做游戏,和一份 $26.54 一单的账单

Anthropic 发布 Claude Fable 5.2:AA 智能指数 65 分登顶历史第一,但性能 #71、成本 #73、冗余度 #72——最强能力、最贵成本、最慢速度的矛盾体。同底层 Mythos 5.2 无护栏反而更强。文章拆解:65 分构成、官方实战验收、基准提升真伪、一条提示词一晚做出街机游戏的完整流水线(自写机器人跑完 12 关自检)、$26.54 账单与 98% 缓存折扣下的真实成本重估。

johnsong2009的博客 247

10分钟完成第一个Python小游戏

第一个项目不用找复杂的,‌直接选「猜数字小游戏」对应的教程‌就好——几乎所有入门教程都会讲这个项目,资料最多、遇到问题随便搜就能找到解决方法,不会卡壳,30分钟肯定能做完,非常容易建立信心。‌教程链接‌:直接搜标题👉 ‌《Python零基础入门项目:30分钟写完猜数字游戏》‌(优先选黑马程序员、鱼C-小甲鱼这两个UP主的版本,播放量都是百万级,口碑稳定)‌教程地址‌:打开菜鸟教程官网→找到「Python 实例」板块,直接在线写代码运行。全程不跳步,30分钟就能做完,做完能直接运行玩,成就感拉满。

mF44Job8l的博客 51

Unity 数据存储指南:本地存储、个性化设置、缓存与 Resources/StreamingAssets 的区别

在 Unity 开发中,“数据存到哪里”、“缓存能不能清”、“打包后资源有什么区别” 是新手最容易混淆、老手也经常踩坑的问题。Unity 本地存储机制(包括 Unity 放在 C 盘的内容);Unity 个性化设置(编辑器首选项 Editor Preferences);Unity 缓存的打开、关闭与清理;打包后 Resources 与 StreamingAssets 的区别;其他可自定义存储的内容汇总。为方便理解,本文配有一个可直接运行的演示工程,所有代码见文末"配套工程说明"。

zhchyun 218

Claude Code做Unity项目移植(三): 使用SKILL进行自动化Git提交

本文介绍基于ClaudeCodeSkill的Unity自动化Git提交助手——unity-git-commit,通过四大模块实现提交前的智能检查与安全修复:1)校验Git仓库状态;2)验证Unity项目文件(如排除Library/Temp,确保.meta文件完整);3)依据可配置的C#命名规范自动识别并安全修复命名问题(避免序列化、反射等高危场景误改);4)生成精准提交注释,但强制人工确认。全程仅本地commit,不自动推送或破坏性操作,保障安全。核心思想为“机械化工作交AI,关键决策留人工”,显著提升提交

Aman1984的博客 644

用 AI 在 Unity 里做一款 RTS:最难的不是生成代码,而是证明它真的能玩

git@github.com:zoucdr/unity-skilled-mcp.git

邹杭特的博客 242

HarmonyOS 游戏与图形渲染入门:Canvas、渲染管线与掉帧排查

本文详解鸿蒙图形渲染选型与优化,指出多数“游戏感”需求仅需Canvas+requestAnimationFrame即可实现。通过deltaTime保证跨设备流畅性,优先使用animateTo声明式动画,避免逐帧绘制开销。强调性能优化应从主线程长任务、过度绘制、对象分配入手,结合Profiler排查掉帧。XComponent适用于高负载场景,但需权衡开发成本。最后提醒引擎迁移三要点:性能模型差异、打包流程匹配、版本兼容。核心结论:先用简单方案验证,再决定是否上引擎。

信息安全领域优质创作者|操作系统领域专家 426

王者荣耀主页效果图制作教程:游戏模板四步出图

本文介绍使用装样大师"游戏模板"功能制作王者荣耀等游戏主页效果图的完整流程,四步完成制作与保存。工具为手机端图片生成,不涉及账号登录与真实数据修改,适合内容创作素材与娱乐场景。

2601_96701324的博客 93

Windows远程桌面实现之二十:实现 moonlight 游戏串流协议之(一)

本文介绍在xdisp_virt中集成Moonlight游戏串流协议的实现过程。基于开源项目Sunshine逆向的GameStream协议,作者从零研究并自研实现Moonlight服务端网络通信部分,涵盖mDNS设备发现、nvhttp/nvhttps加密通信、nvrtsp协议交互及三类UDP数据通道(视频、音频、控制)。重点解决多客户端并发问题,采用串行处理机制确保连接一致性。通过自定义证书验证与密钥管理,完成配对与安全通信,最终实现低延迟、高性能的游戏串流体验,显著优于WebRTC浏览器方案。

fanxiushu的专栏 170
上一篇: 06世界杯结果预测
下一篇: 打包-备份工具
monkeyK
博客等级 码龄24年 1粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值