gpt4 book ai didi

algorithm - 如何检测文本替换是否导致无限循环?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:37:36 27 4
gpt4 key购买 nike

我开发了一个从其他程序中提取文本的程序。其中一个特点是用户可以指定“替换脚本”来处理文本。示例替换脚本:

|ORIG|a|BECOMES|bb|END|
|ORIG|b|BECOMES|cc|END|

替换过程搜索任何 ORIG 文本并将其替换为相应的 BECOMES 文本。因此,如果文本 aaaa 被提取,它将首先替换为 bbbbbbbb,然后替换为 cccccccccccccccc

当有这样的替换脚本时就会出现问题:

|ORIG|a|BECOMES|bb|END|
|ORIG|b|BECOMES|aa|END|

并且在提取的文本中有一个aa 变成 bb 变成 aaaa 变成 bbbbbbbb 等等直到无穷大。

因此我需要两个算法:1. 阅读替换脚本并检测它是否可能创建无限循环(这样我就可以警告用户)。2. 在执行替换脚本时检测到无限循环(因此我可以中止操作并通知用户)。

我不知道从哪里开始。我已经考虑了两个多星期,但一无所获。

最佳答案

如果第一个脚本的 ORIG 是第二个脚本的 BECOMES 的一部分,您可以尝试构建一个图形,其中节点代表您的替换脚本,边连接一个脚本与另一个脚本。

然后你可以在这个图中搜索循环,告诉你你可以无限期地应用这个循环中的规则。

关于algorithm - 如何检测文本替换是否导致无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55366292/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com