起初这听起来很荒谬。当然,有一种简单的方法可以编写程序来解决单词搜索问题。
但我想做的是编写一个程序,像人类一样解决单词搜索。
也就是说,使用或发明不同的策略。例如随机搜索起始字母;逐行进行;
人工智能可能最终会发现逐行查找单词的给定起始字母是一个很好的策略。
知道如何编写这样一个策略发现 AI 吗?
我认为主要的“移动”将是“在网格中向右移动一个字母”、“将这个单词存储在内存中”、“将这个字母与内存中的第一个字母进行比较”等等。
起初这听起来很荒谬。当然,有一种简单的方法可以编写程序来解决单词搜索问题。
但我想做的是编写一个程序,像人类一样解决单词搜索。
也就是说,使用或发明不同的策略。例如随机搜索起始字母;逐行进行;
人工智能可能最终会发现逐行查找单词的给定起始字母是一个很好的策略。
知道如何编写这样一个策略发现 AI 吗?
我认为主要的“移动”将是“在网格中向右移动一个字母”、“将这个单词存储在内存中”、“将这个字母与内存中的第一个字母进行比较”等等。
这听起来像是一个可以使用 LSTM-DQN 方法解决的问题,如Narasimhan 等人在 2015 年使用深度强化学习对基于文本的游戏的语言理解中所述,然后扩展到与您的问题非常相似的领域Gupta et al., 2019 的深度强化学习用于学生程序中的句法错误修复。
基本思想是将字母数组处理,其中每个字母都可以“圈”或不“圈”,再加上光标的位置作为状态。一个动作是移动光标或切换字母的状态。然后,您将问题建模为强化学习问题,每次整个新单词被“圈出”时都会给予奖励,可能需要注意不要圈出任何无效字母(否则,它只会学会圈出所有内容)。
这只是一个猜测,但它似乎与您的问题密切相关,因此它可能有效。