Algorithm 树算法的每一种可能的逻辑组合?
Algorithm 树算法的每一种可能的逻辑组合?,algorithm,math,Algorithm,Math,这些字母表示真/假值 True允许遍历较低级别;false表示小写字母也都是假的 例如,如果a为false,则下面的所有字母也将为false 给定任何树的形式,总是有3个级别,我如何计算所有字母的真/假值的所有有效组合 我在寻找算法的名称,到资源的链接。而不是你将如何实施它 谢谢,非常感谢您的帮助。这里有一个简单的递归算法。以下结果是指定的字母集的枚举T;由于字母被指定为T或F,因此很明显如何推导完整的映射: # I use ++ for the operation of concatenat
- 这些字母表示真/假值
- True允许遍历较低级别;false表示小写字母也都是假的
- 例如,如果a为false,则下面的所有字母也将为false
- 给定任何树的形式,总是有3个级别,我如何计算所有字母的真/假值的所有有效组合
- 我在寻找算法的名称,到资源的链接。而不是你将如何实施它
谢谢,非常感谢您的帮助。这里有一个简单的递归算法。以下结果是指定的字母集的枚举
T
;由于字母被指定为T
或F
,因此很明显如何推导完整的映射:
# I use ++ for the operation of concatenating lists/sets
# and [X] to produce a list/set consisting of the single element X
enumerate(Q, Accum):
if Q is empty:
return [Accum]
else:
remove the head of Q and put it in Head
return enumerate(Q, Accum) ++
enumerate(children(Head) ++ Q, Accum ++ [Head])
要枚举林的组合,请调用
enumerate(Roots(Forest), [])
深度优先和/或广度优先似乎是很好的候选者,“计算所有正确/错误值的有效组合”是什么意思?你只是想找出哪些是真的,哪些是假的吗?还是你在试图确定其他的东西?@KevinWells我在试图找出所有可能的正确和错误的有效组合。例如,如果父项为false,则j为true是无效的。因此,一个例子可能是(a=false.b=false,c=false,…其余的都是false)。@zino:你想找到一个给定森林的所有可能的组合吗?或者你想找到所有可能的森林?@rici一个给定森林的所有可能组合。因此,输入将是树的网络。输出将是所有有效的组合。