我最近参加了一个逻辑测验/测试,问题包括:序列的下一个字符是什么:a,c,b,d,c
?虽然并不复杂,但我只能在规定的时限内完成一半的工作。
所以我希望下次尝试使用:由我构建的脚本或来自Internet的工具。
你有任何想法如何使用java来解决这个问题吗?是否有任何我可以使用或必须从头开始构建的类?我找到了一个关于Java Regex Pattern& amp;的教程。 Matcher但我很确定这不是我想要的。
注意:它总是a-z字符&通常为6(+/- 1)
答案 0 :(得分:0)
序列的法律字母是什么?它总是a-z吗?如果是这样,那么预测序列并不困难。您可以将字母映射到1-26以获得合理的“猜测器”。
在这个例子中:
1,3,2,4,3 ......
+ 2,-1,+ 2,-1 ......
您确实需要对问题进行限定,以确定解决问题需要多少建模。
答案 1 :(得分:0)
简单问题
在你的情况下,你似乎依次选择第n和第n + 2个字母(以字母长度为模)来连续生成序列中的下一个字母......序列可能会稍微交错一点同样......但无论如何,确切的解决方案应该由人类精确解码并以任何语言实施。
然而,对你的问题的其他评论表明,这个问题暗示了一个完整的,更有趣的问题,这个问题不容易被人类解决 - 而是需要进行人道因素解决。这个预测问题与生物信息学家和人工智能工程师有关,我们希望在给定前面的单词/字母序列的字符串中预测下一个字母或单词(即文本流或氨基酸序列)...
完全爆发的问题
这是人工智能中的一个经典问题,需要机器学习。
特定类型的问题将作为输入:
前面的序列。
输出:
序列中的单个下一个字符。
在github上有一个AminoAcid预测器算法,我们设计用于处理使用机器学习的问题,在Clojure中运行(参见jayunit100 / Rudolf项目),如果你对完整的解决方法感兴趣因此,22个氨基酸字母表的问题。