Language agnostic 人工智能:逻辑与问题解决

Language agnostic 人工智能:逻辑与问题解决,language-agnostic,logic,artificial-intelligence,dijkstra,Language Agnostic,Logic,Artificial Intelligence,Dijkstra,首先:我很抱歉把“Pro.blem”放在标题中,所以我不想把“Problem”放在那里 不管怎样,在昨天的三角赛中,我有了一个主意。假设我想写一个程序,利用人工智能来解决问题。我将其简化为Dijkstra算法在有向图上的实现,使用动作作为节点,需求/结果作为路径。例如,假设弗雷德在客厅里,他饿了。弗雷德可能采取的一些行动包括: 起床: 要求:状态=坐下或躺下。 结果:状态=站立 躺下: 要求:状态=站立或坐着。 结果:状态=躺下 入睡: 要求:状态=躺下,位置=卧室。 结果:状态=睡眠 步行到

首先:我很抱歉把“Pro.blem”放在标题中,所以我不想把“Problem”放在那里

不管怎样,在昨天的三角赛中,我有了一个主意。假设我想写一个程序,利用人工智能来解决问题。我将其简化为Dijkstra算法在有向图上的实现,使用动作作为节点,需求/结果作为路径。例如,假设弗雷德在客厅里,他饿了。弗雷德可能采取的一些行动包括:

  • 起床:
    要求:状态=坐下或躺下。
    结果:状态=站立

  • 躺下:
    要求:状态=站立或坐着。
    结果:状态=躺下

  • 入睡:
    要求:状态=躺下,位置=卧室。
    结果:状态=睡眠

  • 步行到厨房:
    要求:状态=站立,位置不是厨房。
    结果:地点=厨房

  • 步行到卧室:
    要求:状态=站立,位置不是卧室。
    结果:地点=卧室

  • 准备食物:
    要求:状态=站立,位置=厨房。
    结果:hasfood=true

  • 吃:
    要求:hasfood=true。
    结果:饥饿=错误,hasfood=错误

像“起床”和“躺下”这样的动作很容易,因为有一个要求和一个结果。像“步行到厨房”和“步行到卧室”这样的行为更像是一个问题,因为它们有不止一个要求。如果路径相互交织,我如何使用需求/结果作为路径

最后,问题是:


问题解决+寻路在实践中是否有效(或者已经有效)?将需求/结果用作节点,将动作用作路径,这是否更有意义?如果您认为这种方法很有前途,请用伪代码或对实现的解释来回答。

这个问题在AI中称为规划。书架上已经摆满了它;例如,见第10-11章。是的,正如@larsmans所说的那样——有一个例子叫做,可能会引起一些兴趣。