代码之家  ›  专栏  ›  技术社区  ›  sud03r

有趣的算法问题

  •  6
  • sud03r  · 技术社区  · 14 年前

    我这里有一个有趣的算法问题。这个问题在某种程度上与电子设计的模拟有关。

    有8种可能的输入,即

    000
    001
    ...
    111
    

    (000) (111) 0 1 .

    给出了该问题的一种设计,一些门的排列,给出了一种算法来寻找在最终输出上同时产生状态(即0和1)的最小输入向量集。

    2 回复  |  直到 14 年前
        1
  •  13
  •   P Shved    14 年前

    你的问题相当于解决问题 boolean satisfiability problem . 因此它是NP完全的。

    要获取其中一个输入,您可以选择任意输入,并查看该输入是否为0或1。要找到提供其他输出的输入,您需要一个SAT解算器。

    维基百科建议 algorithms 可用于:

    如果您不想实现它,有一些工具可以使用SAT解算器:

        2
  •  5
  •   Paul D. Waite    14 年前

    JavaScripts 以及解决你问题的工具。