对于问题的简单定义

学习此部分的目的:发现在没有单独的行动可以解决问题的时候,机器如何找到一个行动序列达到他的目标;在这部分中,通过讨论一些无信息的通用搜索算法,来比较各部分算法的优缺点;

1;问题求解的智能体

当智能体能够采用一个目标并针对这个目标得到满足而去行事,达到性能度量最大化时会被简化。因为这个世界不确定的因素太多,而问题的解可能有很多的问题,比如说过多的步骤。将问题形式化是决策对于给定的目标需要考虑哪些行动和状态的过程。一般来说一个机器有多个评价未知的直接选项的时候,可以首先检验各个不同的能导致已知评价状态的可能序列,然后选择最佳的序列。所以使用搜索序列,就是要找出接近这个搜索序列。

搜索算法把问题进行输入,并以行动序列的形式返回一些问题的解。一旦找到这个解以后,那么他所建议的行动就可以付诸行动了。在这个过程,我们对一个机器系统的设计可以分为“形式化,搜索,执行”。

那么,我们如何去定义一个问题以及他的解?

一个问题其实可以形式化的定义为四个部分:

1:在起始的时候的初始状态。比如我们现在在北京,要导航去上海。我们现在在北京的这个状态,就可以是初始状态。

2:对于机器可采纳行动的可能行动的描述:最常见的一个形式就是定义一个后继函数。后继函数可以简单的理解为就是你这个行动可以达到的一个状态。比如说你去上海,起始函数是北京,那么后继函数就可以是上海。每个后继函数都是应用行动后从状态X能达到的状态。

总之,初始状态和他的后继函数隐约的定义了问题的状态空间—即从初始状态可以达到的所有状态的集合。状态空间化成一个图,其中的节点就是状态,节点之间的弧就是行动。状态空间的一条路径就是通过行动序列连接起来的一个状态序列。

3:目标测试:用来确定给定的状态是不是目标状态,有的时候可能得目标状态集合是非常明显的,测试只需要简单的检查给定的状态是否是目标状态的集中之一即可。而有时候目标状态是由抽象性质来指定的,而不是一个显性的可枚举的目标集合。

4:路径消耗函数为每条路径分配一个数值化的损耗值。问题求解模型可以选择反映他自己的性能度量的损耗函数。

上述定义了一个问题,可以把他们集合在一起成为一个单一的数据结构。作为问题的求解算法的输入。问题的解就是从初始状态到目标状态的路径。最优解就是由路径的损耗函数进行度量。而最优解就是路径的损耗函数的最少的那个解。

你可能感兴趣的:(对于问题的简单定义)