北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 693|回复: 2

南虾这帮家伙,真是让我操碎了

[复制链接]
发表于 2023-8-28 02:37:53 | 显示全部楼层 |阅读模式
————心。

不是操碎了,是操碎了心。标题党标题党,见谅。
以下是我请教gpt,试图…… 你懂的!

我“1 有500张字符画,即所谓Ascii画。
2 我将500张画的数据存储。
3  当随机一张画出现后,我逐行读取,然后逐行和已经存储的画比对。
4  完全一样,就认为,“认出了”这幅画。
5  这个思想是否合理。”

(其实这步基本做到了,同样原理,可以用在其他任务上)

GPT:

这个思想在某些情况下是合理的,但也可能存在一些问题。

合理之处:

字符画是基于文本的表示形式,逐行比对可以有效地进行相似性比较。如果你的目标是判断输入的字符画是否和已有的500张完全相同,这种方法可以工作。
逐行比对可以在较小的内存占用下完成,因为你只需要逐行读取数据并与已存储的字符画进行比较。
然而,这种方法也有一些局限性和潜在问题:

精确匹配要求: 这个方法只能精确匹配完全一样的字符画,但实际中字符画可能会因为微小的变化(例如缩放、旋转、略微的像素变化等)而导致无法被识别出来,即使它们在视觉上看起来非常相似。
计算复杂度: 随着字符画数量的增加,逐行比对的计算复杂度也会增加,特别是当字符画的尺寸较大时。这可能导致处理速度变慢。
存储需求: 如果你想要在已存储的500张字符画中找到相似的画,你需要比对所有的500张画。这可能需要较大的存储空间来保存这些字符画数据。
(基本是老生常谈,大公司嘛,总担心担责任,说话都是模棱两可的)

我:我改进了算法。
不是逐行提取,而是只提取某些行,随机或者指定。
如果都命中了,我认为,“认出了”这幅画。(假设所有画都不会变化)

GPT :你的改进思路是朝着更加实际可行的方向迈出了一步,但仍然存在一些注意事项需要考虑。

提取某些行而不是逐行提取的确可以减少计算和比对的负担,但需要考虑以下几点:

选取哪些行: 你需要设计一种方式来选择要提取的行。随机选择可能是一个好的方法,但也要确保选择的行足够代表整幅字符画,以便能够正确地进行比对。

行的数量: 提取多少行才能保证准确性,同时又不会过于耗费计算资源?选择适当的行数很重要,以确保准确性和效率之间的平衡。

误判概率: 即使你只提取了某些行,仍然存在一定的误判概率,特别是当字符画之间非常相似但又不完全一致时。你需要在误判概率和性能之间进行权衡。

算法效率: 你的新算法在比对上可能更高效,但仍然需要考虑如何在大量字符画中迅速找到匹配。如果字符画数量巨大,你可能需要进一步优化算法,以确保它仍然能够在合理的时间内完成匹配。

(一等放狗屁,偶尔放个狗屁狗。二等狗放屁,虽然放屁,起码还是狗。三等放屁狗:除了放屁,啥都不会了。这条回答的GPT,四等吧)

我:让我们再继续思考。
我现在的办法是,首先,储存500张画的Md5 散列值。
然后,当需要判断一幅画时,计算该画的Md5  散列值,然后与已知的500个值比对。
符合的,即认为命中。
你认为这种算法,和之前的算法比较,哪个更省资源呢?
我本能认为这种更省一些,因为我们当散列值的第一个数字不一致时,就不用比对后边的了。
本质上来说,比我们最初的逐行比对,要快得多。你认为呢

GPT:
你的新思路使用MD5散列值进行比对的确在一些方面可以更加高效和节省资源,但也需要考虑其中的细节和潜在的问题。

优点:

快速匹配: 通过比较MD5散列值,你可以在很短的时间内确定是否存在匹配,因为只需要比较散列值是否相等,而不需要逐行比对。
减少计算量: 计算MD5散列值通常比逐行比对要快得多,特别是在字符画数量较大的情况下。
然而,也需要注意一些潜在的问题:

碰撞风险: MD5是一个广泛使用的散列算法,但已经被证明在某些情况下会产生碰撞-----

(我看到“MD5是一个广泛使用的散列算法,但已经被证明在某些情况下会产生碰撞”就没看了。都广泛了,还担心个毛风险。未必我北侠的数据,要比俄罗斯导弹密码还珍贵?)

(后边是一大段我请教gpt,逐行,抽行和md5,三种方式,哪个更省资源的,其实我也懂,差不多少的,网速快个100毫秒,比啥都强,就是好玩。但gpt 很老实的算了会,告诉我,md5可能最快)

下边一段是

我:下边是个新问题。假设两幅画,在人类看来,完全一样,但某个字符,做了变动,例如,某个#,变成了@,md5 方法彻底失败了。逐行比对,也失败了。倒是抽行比对的办法,有可能成功(因为可能正好抽中没任何变化的行)

(Zine 瞪大了眼睛!)

GPT :"你提到的情况展示了MD5散列方法的局限性,以及逐行比对方法在面对细微变化时的问题。抽行比对方法在这种情况下似乎更具潜在的优势,因为它有可能在提取的行中包含了未受变动的部分,从而可能导致比对成功。

这也强调了在字符画识别等任务中,所选用的比对方法必须与应用场景相匹配。而且,从这种情况可以看出,字符画的比对问题往往比我们想象的更加复杂,因为微小的变化可能会导致匹配方法的成功或失败。

在实际应用中,可能需要采用更为复杂的比对方法,如图像处理技术、特征提取算法、机器学习模型等,以提高对字符画变化的敏感性,减少误判,同时保持较高的性能。另外,对于字符画的变动问题,可能需要考虑一些近似匹配的算法,以便在字符画存在微小变化时也能找到相似的匹配。”

我:如果这种微小的变动极其频繁(每次检测都可能有几个字符变化),我们该如何设计更强大的判定算法呢?
(Zine瞪大了眼睛!咦,刚才好像说过他瞪大了眼睛…… 好吧,Zine 的眼睛瞪得超级大!)

如果字符画中的微小变动非常频繁,而且需要在这种情况下进行可靠的判定,可能需要考虑更高级的算法和方法。以下是一些可能的思路:

近似匹配算法: 使用近似字符串匹配算法,如编辑距离(Levenshtein距离)或最长公共子序列(LCS)等,来评估两幅字符画之间的相似性。这些算法可以容忍一定程度的变动,并给出相似度的度量。

特征提取和机器学习: 使用图像处理技术提取字符画的特征,并将这些特征输入到机器学习模型中进行训练。这样的模型可以学习到字符画变动的模式,并在输入新的字符画时给出相似性的判定。

深度学习: 使用卷积神经网络(CNN)等深度学习模型,将字符画作为输入进行训练,从而建立一个可以判定相似性的模型。这种方法在大量数据和计算资源的情况下可能表现出色。

局部匹配: 如果变动主要集中在字符画的某些局部区域,可以考虑将字符画划分为不同的区域,然后针对每个区域进行比对和匹配。

动态阈值: 考虑使用动态的阈值,根据输入字符画的特点和历史变动情况来调整判定的敏感度。这可以在一定程度上适应变动的频繁性。

综合考虑,字符画中频繁微小变动的问题可能需要采用更为复杂的方法,并可能涉及到图像处理、机器学习和人工智能领域的技术。具体的方法选择应该基于应用的需求、可用的数据和计算资源来决定。

我:每个字我都认识,但确实看不懂啊……

对话结束。

不说了,去武庙吐口水,然后……哼!

谁让你们几个给我带来这么多麻烦!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-8-28 18:27:49 | 显示全部楼层
没看出来和南虾有什么关系,更没看出来是用什么姿势操她的心的。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-8-28 19:01:50 | 显示全部楼层
一堆机器人的风言风语,幸好我没看完
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-28 07:03 AM , Processed in 0.011215 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表