一、基本思想
当一问题较复杂时,可通过分解或变换,将其转化为一系列较简单的子问题,然后通过对这些子问题的求解来实现对原问题的求解。问题归约求解过程就实际上就是生成解树,即证明原始结点是可解结点的过程。
(1)分解
(即分解所得到的子问题的“与”与原问题P等价。)
如果一个问题P可以归约为一组子问题 P1,P2,…,Pn ,并且只有当所有子问题Pi都有解时原问题P才有解,任何一个子问题Pi无解都会导致原问题P无解,则称此种归约为问题的分解。
(2)等价变换
(即变换所得到的子问题的“或”与原问题P等价。)
如果一个问题P可以归约为一组子问题 P1,P2,…,Pn ,并且子问题Pi中只要有一个有解则原问题P就有解,只有当所有子问题Pi都无解时原问题P才无解,称此种归约为问题的等价变换,简称变换。
二、问题归约的与/或树表示
三、问题规约实例