标签: np

确定最佳组合的算法 - Bin Packing

给定一组具有值的项目,确定要包括在集合中的每个项目的数量,使得总值小于或等于给定限制,并且总值尽可能大.

例:

Product A = 4
Product B = 3
Product C = 2
Product D = 5

If Total Capacity = 10.5 , then the combination of B,C,D will be selected.
If Total Capacity = 12.5 , then the combination of A,B,D will be selected.
If Total Capacity = 17 , then the combination of A,B,C,D will be selected.

我正在寻找一种算法(如背包或垃圾箱包装)来确定组合.任何帮助赞赏.

c# packing bin np

3
推荐指数
1
解决办法
2621
查看次数

TSP NP-Hard怎么样?

我在SO的答案中读到以下内容:

通常提出的旅行推销员问题是找到连接所有城市的最便宜的路线.这不是决策问题,我们无法直接验证任何建议的解决方案.我们可以将其重申为一个决策问题:给定成本C,是否有比C便宜的路线?这个问题是NP完全的,通过一些工作,我们可以像修改的NP完全形式一样轻松地解决原始TSP.因此,TSP是NP难的,因为它至少与NP完全问题一样难.

我知道TSP是NP-Complete但问题是NP-Hard?我读到NP中但不是P中的问题是NP-Hard.我无法将此事与TSP联系起来.请解释一下.

algorithm traveling-salesman np-hard np

3
推荐指数
1
解决办法
6586
查看次数

哪些语言是NP完整的?

我正在寻找NP和NP完全问题之间的区别.我在Jason的StackOverflow中找到了这个很棒的答案.关于NP完全问题,他说

NP问题X,在多项式时间内可以减少任何其他NP问题Y到X. 直观地说,这意味着如果我们知道如何快速解决X,我们可以快速解决Y. 确切地说,如果存在多项式时间算法f,则Y可简化为X,以便在多项式时间内将X的实例x转换为Y的实例y = f(x),并且当且仅当答案时,x的答案为是到f(x)是肯定的.

我的问题是:哪一个是NP完全问题,X还是Y?

theory algorithm computer-science np-complete np

3
推荐指数
1
解决办法
2100
查看次数

为什么SAT的补全不在NP中?

我知道您不能提供验证证书。但是,我只是在想,为什么我们不能将输入提供给 NDTM 决定 SAT,然后反转答案?漏洞在哪里?

complexity-theory np

3
推荐指数
1
解决办法
2798
查看次数

什么是 NP 中间问题?

假设 P != NP

欧拉图显示了不属于 P 和 NP 完全的部分。我在维基百科上读到这个集合被称为 NP-Intermediate。

欧拉图

我对 NPI 问题是如何定义的有一些疑问?

algorithm np

3
推荐指数
1
解决办法
2003
查看次数

两个列表中元素之间的最小差异之和

假设我们有两个长度相同的列表,ls1ls2。例如,我们有

ls1 = [4, 6]
ls2 = [3, 5]
Run Code Online (Sandbox Code Playgroud)

并为每个元件中ls1,我们有与一个元件与一个元素配对它ls2,以这样的方式,使得总(绝对在元件之间)的差异ls1,并在元件ls2是最小的。一个元素只能匹配一次。在上面的例子中,最佳的方式是匹配4ls13ls2,并5ls16ls2,其产生的总差

(4 - 3) + (6 - 5) = 2 
Run Code Online (Sandbox Code Playgroud)

我需要一个程序来返回这两个列表中的元素之间的最小总差。列表的长度是任意的,列表中元素的值也是任意的(但它们都是正整数)。

我目前知道,使用置换暴力破解解决方案是一个选择,但是我需要的是具有最佳时间和空间复杂度的代码。我听说过动态编程的概念,但是我不知道该如何实现它。预先感谢您的答复。

附言 这是我当前使用置换的蛮力代码,在运行时或内存使用方面效率不高:

from itertools import permutations

def minimum_total_difference(ls1, ls2):
    length = len(ls1)
    possibilities = list(permuations(ls1, length))
    out = 10**10
    for possibility in possibilities:
        out_ = 0
        for _ in …
Run Code Online (Sandbox Code Playgroud)

python algorithm np

3
推荐指数
1
解决办法
1083
查看次数

它是多项式时间算法

如果算法的输入大小为2 ^ n,则算法以$ O(n2 ^ n)$ time运行.在这种情况下,我们可以说算法在输入大小的多项式时间内运行吗?

algorithm np

3
推荐指数
1
解决办法
50
查看次数

生成所有字符串排列 NP Complete 吗?

通过尝试所有可能性,计算给定字符串的所有字符串排列可以在 O(n!) 中解决。

现在,看看旅行商问题,我们可以通过尝试城市的所有排列来解决它。假设我们有城市 A、B 和 C。假设我们从城市 A 开始。通过计算 BC 字符串的所有排列,我们得到 ABC ACB,然后我们只需求和(在多项式时间内,AB、CB 和 CA 之间的距离为第一个案件...)

那么这不是旅行商问题的所有字符串排列的减少吗?它不是一个NP完全问题吗?

np-complete traveling-salesman np

3
推荐指数
1
解决办法
843
查看次数

使用巨型哈希表在多项式时间内解决数独

假设您要创建一个哈希表,将每个可能的有效9x9数独(尚未填写)映射到其解决方案.(这是不可行的任务)

然后你要创建一个简单的程序,它将一个有效的9x9数据(再次,尚未填充)作为输入,并返回在上述哈希表中映射到它的解决方案.

这不会被认为是在多项式时间内工作的数独求解器吗?

有没有关于这个理论解决方案的东西使它无法证明数独是P类问题?

complexity-theory hashtable sudoku np

3
推荐指数
1
解决办法
2739
查看次数

如果这些问题是NP完全的,那么如何解决这些问题的多项式时间算法呢?

我正在研究P,NP和NP-Complete问题,并且遇到了一些问题。

我知道,如果可以在多项式时间内求解,则问题为P,如果可以在多项式时间内验证,则问题为NP。我也理解,如果问题是NP,则它是NP-Complete,并且可以从现有的NP-Complete问题中减少。

我知道SAT,3-SAT,独立集,顶点覆盖,哈密顿周期,子集总和和旅行商都是NPC。但是我遇到一个问题,我被告知判断图形中是否存在5个顶点的独立集合实际上是多项式时间可解的,而不是NPC。然后,这使我感到困惑,因为我认为独立集合问题是NPC。

因此,这使我想知道,在什么情况下这些“ NPC”问题不是NPC,实际上是P?遇到问题时,如何确定问题是P还是NPC?如果该问题确实有可解决的时间问题,该怎么办,我只是无法解决该问题,因此沿NPC走了。我怎么知道我做错了?

algorithm np-complete np

3
推荐指数
1
解决办法
220
查看次数