CN105745618A - 在无超高多项式成本的情况下求解np完全问题 - Google Patents
在无超高多项式成本的情况下求解np完全问题 Download PDFInfo
- Publication number
- CN105745618A CN105745618A CN201580002451.1A CN201580002451A CN105745618A CN 105745618 A CN105745618 A CN 105745618A CN 201580002451 A CN201580002451 A CN 201580002451A CN 105745618 A CN105745618 A CN 105745618A
- Authority
- CN
- China
- Prior art keywords
- asserted
- item
- constraint
- generally
- contradiction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Abstract
在满足问题或任何决策或可简化为满足问题的其它问题内,本发明追踪蕴涵沿着其传播的路径,并且识别条件矛盾,并且随后将所述矛盾沿着所述蕴涵路径朝向假设或其它无前提断言移回,以排除所述矛盾。所述动作在比由现有方法引发的时间短的时间内完成,并且因此提供对解决这些问题的装置、软件或过程的性能改进。这些问题由涉及许多技术领域的装置、软件和过程解决,包括:矿石精炼;管道布线;纱线制造;面料切割;锯木;机械部件设计;数据处理系统的结构设计;电路或半导体掩模的设计和分析;集装箱、管道和画廊的检查和保护;传感器阵列操作;轨道卫星操作;数据压缩;化学分析;蛋白质的设计和分析。
Description
相关申请的交叉参考
本申请案涉及2010年6月25日提交的标题为“用于在无超高多项式成本的情况下求解NP问题的系统、方法和装置(System、methodanddeviceforsolvingproblemsinNPwithouthyper-polynomialcost)”的美国专利申请案第12/823,652号(现为美国专利第8,577,825B2号),其在此通过参考的方式并入本文中。
发明背景
计算复杂性理论是计算机科学的一个分支,其注重将计算问题根据它们的内在难度进行分类。一种这样的分类是“NP”,其是可通过在非确定型图灵机上运行的算法在多项式时间中求解的问题类型。如果算法的运行时间由所述算法的输入大小的多项式函数(即,某个常数k的T(n)∈O(nk))设定上限,那么算法可被称作在多项式时间中运行。本发明可与牛顿法、戴维斯-普特南-洛吉曼-洛夫兰德(DPLL)算法和冲突驱动条款学习(CDCL)算法进行比较。
发明概要
本发明的实施例解决与在无需调节的情况下在多项式时间中自动化求解NP、NP完全和NP难问题相关的问题。本发明的实施例可使用任意多种技术实施,诸如计算机实施方法和/或系统。本文中对使用“方法”或“多个方法”实施的本发明的实施例的任何提及应被理解为包括使用方法和/或系统实施的实施例。类似地,本文中对使用“系统”或“多个系统”实施的本发明的实施例的任何提及应被理解为包括使用方法和/或系统实施的实施例。
本发明的实施例提供用于在无需调节的情况下在多项式时间中求解NP、NP完全或NP难问题的方法。本发明的特定实施例包括一种方法,其包括将给定问题定义转换为由一个或更多个约束组成的表达式;选择表达式的变量的假设值谓词;传播假设的蕴涵;识别由假设的蕴涵导致的任何矛盾;针对每个所识别矛盾,确定该矛盾是否可朝向相应位置移动,其中它将作为蕴涵解决;针对可如此移动的每个矛盾,将该矛盾朝向它的相应位置移动;和针对无法如此移动的任何矛盾,报告表达式无法满足。
本发明的实施例提供一种通过在无需调节的情况下解决在求解问题期间出现的条件矛盾来改进逻辑或数字问题的求解的时间要求的方法。问题由约束形成,每个约束包括一个或更多个变量。求解方法包括确定问题是否可由变量值集合满足,或在不存在满足表达式的变量值集合时问题无法满足。问题可为合取范式(CNF)的逻辑表达式,使得它是约束集合的合取式,其中每个约束是数个变量的析取式。方法包括作为输入至计算机的问题的部分,接收有关零或更大变量的值的无条件断言;进行有关非无条件断言的主体的一个或更多个变量的值的假设;和使用假设或无条件断言来进行有关问题的其它变量的值的项的断言。在因现有假设或断言除一个以外的所有项的值被限制时,强加约束来断言项。接着,对于将被满足的约束,一个剩余项变为被断言,且无法在不形成矛盾的情况下被否定。如果被断言项的值尚未确定,那么它变为被确定。此时,约束在断言,且如果它导致被断言项的值变为被确定,那么断言和断言它的约束变为普遍。方法响应于无条件断言、假设或所产生的条件断言,继续设定变量值作为确定值。无确定值的变量被称作自由变量。进行假设、进行断言和将变量值设定为确定的迭代形成蕴涵过程。矛盾可以假设为条件,并且在一些约束的所有项被限制时出现。方法通过强加第一矛盾约束的项的值的断言而移动矛盾,其接着限制尚未被限制的其它约束中的相同变量的项,或否定相同变量的不一致经断言值或假设,可能在连续第二约束中产生矛盾,并且总是解决第一约束中的矛盾。方法引导矛盾的这种运动,以将矛盾从问题中排除。有利的是方法未强加被无条件否定的任何项的值的断言。如果矛盾无法被排除,那么选择矛盾运动的方向,使得所有可能的逃逸路径将被探索,这也是有利的。方法探测被反断言的项何时在运动方向后的路径中无假设,并且将该断言标记为无条件的。方法通过在自由变量的计数为零且所有矛盾已被排除的情况下报告问题被满足或通过在遭遇矛盾(其中所有项被无条件地否定)的情况下报告问题无法满足而继续。
这些实施例的技术结果与随机存取存储器(RAM)的发明相当,因为RAM提供数据访问次数的改进,其与先前线性时间要求相比是对数倍的,且这样的比率类似于多项式时间与超高多项式时间之间的比率。在无RAM的情况下,许多当前产品将不可行,且类似地随着介绍本发明的实施例,许多新产品将变为可行。
附图简述
图1示出了变量和约束图,其通过实例展示如DPLL和CDLC所为,将泪滴(teardrop)参数化为概括约束的过程不足以在无一定形式的调节的情况下避免超高多项式计算成本。
图2示出由根据本发明的一个实施例实施的计算机系统执行的方法的流程图。
参考图1,在变量和约束图中,白色圆表示变量,且线表示约束。项由横穿变量圆的约束线表示。以垂直方式横穿变量圆的线表示具有针对所述变量的“O”值谓词的项。以水平方式横穿变量圆的线表示具有针对所述变量的“X”值谓词的项。变量圆用拉丁字母表的字母标注。图1中展示的表达式与下表中展示的表达式相同:
表格的左手侧数字标记未在图中标记的约束,且表格的顶部重复在图中出现的变量的标记。
当假设xB时,强加下列断言:oT、oU。
当接着假设xC、xD、xE和xF时,无后续断言跟随。
当接着假设xG时,强加下列断言:xR、xS、oP、oQ、xM、xN和oZ或xZ。此时,在逻辑表达式中存在矛盾。我们将假设矛盾存在于约束23中。
我们现在描述使用分层前提将泪滴参数化为概括约束的算法的行为:
约束23中的矛盾在它的前提中具有三个假设xB、xC和xG。由于使用分层前提,所以这个泪滴的沉降物(precipitant)必须在含有xG的路径中。在这个情况下,所识别的沉降物是xG本身。所产生的概括约束是含有下列项的析取短语:oB、oC、oG。
移除最新假设和它所导致的断言的后果是oG被断言且随后无后续断言。
当接着假设xH时,强加下列断言:xR、xS、oP、oQ、xM、xN和oZ或xZ。此时,在任一个约束23或24中存在在它的前提中具有三个假设xB、xC和xH的矛盾。由于使用分层前提,所以这个泪滴的沉降物必须在含有xH的路径中。在这个情况下,所识别沉降物是xH本身。所产生的概括约束是含有下列项oB、oC、oH的析取短语。
移除最新假设和它所导致的断言的后果是oH被断言且随后无后续断言。
当接着假设xJ时,强加下列断言:xR、xS、oP、oQ、xM、xN和oZ或xZ。此时,在任一个约束23或24中存在在它的前提中具有三个假设xB、xC和xJ的矛盾。由于使用分层前提,所以这个泪滴的沉降物必须在含有xJ的路径中。在这个情况下,所识别的沉降物是xJ本身。所产生的概括约束是含有下列项oB、oC、oJ的析取短语。
移除最新假设和它所导致的断言的后果是oJ被断言且这强加下列断言:xK、xR、xS、oP、oQ、xM、xN和oZ或xZ。此时,在任一个约束23或24中存在在它的前提中具有两个假设xB和xC的矛盾。由于使用分层前提,所以这个泪滴的沉降物必须在含有xC的路径中。在这个情况下,所识别的沉降物是xC本身。所产生的概括约束是包含下列项oB、oC的析取短语。
移除最新假设和它所导致的断言的后果是oC被断言且随后无后续断言。
在现在建立的模式之后,产生下列概括约束:(oB,oD,oG)、(oB,oD,oH)、(oB,oD,oJ)、(oB,oD)、(oB,oE,oG)、(oB,oE,oH)、(oB,oE,oJ)、(oB,oE)、(oB,oG)、(oB,oH)、(oB,oJ)、(oB)。C、D、E、F、G、H、J和K的进一步假设不产生任何矛盾。
变量C、D、E和F具有至其它变量的相同连接,且变量G、H、J和K的情况可相同。我们可将变量C、D、E、F、M、N、P和Q解释为变量和约束的区块,其具有与G、H、J、K、R、S、T和U(另一个这种区块)的内部连接一致的内部连接;且我们可将集合{C,D,E,F}和{G,H,J,K}的基数解释为这些区块的“大小”。这些区块与由含B项的约束组合成的初始区段和由含Z项的约束组成的末端区段串联连接。
通过这个实例产生的概括约束数等于区块大小的乘积。如果相同连接集合中的变量数变动,那么所产生的概括约束数继续是大小的乘积,只要邻近初始区段的区块不使其大小减小至1。如果额外区块被插入至串联中,那么所产生的概括约束数将是所有区块的大小的乘积,只要B保持为第一假设的变量,和只要邻近初始区段的区块总是其中进行假设的最后一个区块。区块大小的乘积是超高多项式数,且因此上文描述中使用的方法不提供无超高多项式成本的解。
给定相同假设,不管顺序如何,不将泪滴参数化为概括约束的本发明的实施例将得出的结论为:oB用单次反转穿过Z而非若干次遍历穿过Z被无条件地断言,Z是区块大小的乘积。可能在具有一定难度的情况下解释产生概括约束的示例性算法使矛盾移动穿过邻近空间,但转变使矛盾从一个泪滴直接移动至另一个泪滴,且每个泪滴使得如果我们也将在最新假设被移除时产生的断言解释为反断言,那么总是这样一种反断言在它的前提中,而不再具有最近假设的情况。另一方面,由于本发明的实施例将矛盾连续移动穿过相同的邻近空间,所以它们能够探测到示例性算法丢失或仅在巨大努力后探测到的关系,且这种探测具体在矛盾反转穿过并非沉降物的先前发散点时发生,使得最新假设从反断言的前提中移除,或当矛盾导致假设被否定且反断言或蕴涵在单层外继续。
存在对产生可避免超高多项式成本的概括约束的所讨论算法的修饰。一个这种修饰是将假设应用至初始区段,且接着按它与初始区段的接近度的顺序应用至区块。这样一种修饰需要表达式的总体结构的事先分析以决定,例如,哪些值谓词应变为假设,且需要事先分析的修饰有效地将算法调节至表达式的具体结构。其它修饰在不进行表达式的结构的事先分析的情况下通常不适于所有情况,这是之前未颁发这个问题的克雷数学千禧年大奖的原因。本发明的实施例包括在不进行表达式的结构的事先分析的情况下,在所有情况中适用的改进。
具体实施方式
本发明的实施例提供用于改进求解被称作“NP”、“NP完全”和“NP难”的复杂性类型中的问题的机器的性能的系统、方法和/或装置。
“P”是可通过确定型图灵机在多项式时间中求解的一类问题。确定型图灵机进行串行或有限并行处理。“NP”是可通过非确定型图灵机在多项式时间中求解的一类问题。非确定型图灵机能够进行无限并行处理。“NP完全”是NP中其在P中的成员资格受质疑的难问题的子集。NP完全问题的实例是流动业务员问题和可满足或满足(SAT)问题。NP完全问题涉及若干技术领域。“NP难”问题是具有已知为NP完全的组成但具有其它组成的那些问题,且这些其它组成是易处理的,但未另外分类。
合取范式表示合取(“ANDed”)约束列表形式的表达式,其中每个约束由一个或更多个析取(“ORed”)逻辑项组成。“项”是针对特定变量的赋值(通常“真”或“假”)的特定实例,其中特定赋值在特定约束的背景下发生。因此,项是特定约束背景下的变量值。相同变量在不同约束中的相同值表示不同项。已知NP中的任何问题的表示具有至合取范式的逻辑表达式的转换,其未引发超高多项式成本。
在计算上,空间和时间是多项式可交换的,所以我们大致讨论多项式成本而非具体讨论多项式时间。用确定型机器确定任意合取范式表达式在多项式时间中的可满足性的能力因此等效于在无超高多项式成本的情况下求解任何NP完全或更简单问题的能力。
在本发明之前,NP完全问题以及NP中的许多其它问题的解,诸如整数分解,需要问题中表示的变量的可能赋值的穷举搜索或否则需要超高多项式成本,诸如N!或3N,而非多项式成本,诸如N3,其中N是问题输入的大小。相比之下,本发明的实施例可找到NP完全问题和NP中的其它问题的解,而无需针对问题中表示的变量的可能赋值的穷举搜索且另外无需超高多项式成本。正如传统计算机中的乘法电路允许在若干个基本步骤中计算255和37的乘积,其与它的寄存器中的位数成比例(将每个“零”位的结果移位并且在第二变元中加上每个“1”位的第一变元)而非与第二变元的值成比例的数(迭代加法),其是计算成本的对数倍减小,本发明的实施例允许计算机(传统或专门定制的)在小于与问题中的变量数的第五指数成比例的数而非超高多项式的数的若干基本步骤中求解NP完全问题或NP中的其它问题。本发明的实施例由此实现与从线性至对数成本的减小相当的计算成本的减小。
发明计算机的一个原因是为了可靠且快速地求解难问题。可实施为计算机处理器和/或计算机的本发明的实施例提供对自动化计算装置以及使用计算机来控制它们的行为的其它机器的非常大的改进。这种改进极大地减少了建立并且操作计算机所需的电力、冷却、租金和其它成本的量,同时计算决策,并缩短计算机操作者等待结果所需的时间。用本发明的实施例增强的自动化计算装置可能不再需要以传统方式编程;取而代之,这样一种装置或系统接受约束集合作为将满足的要求,无论这些要求是结构要求或行为要求,且机器以满足所述约束的方式输出结果或进行操作。
本发明的实施例可用以传递对执行自动化过程的计算机和其它装置的性能的改进的一种手段是通过在计算机内设置特定开关布置,且这些开关依赖不相容的物理性质。费米子间的不相容是内在的,这是由于相同类型的两个费米子或粒子无法同时占据相同空间;因此将一个粒子推至适当位置可能将另一个粒子推出所述位置,如同当一个齿轮的齿推抵与其啮合的另一个齿轮的齿时,因此在仅施加外力至一个齿轮时切换两个齿轮的位置。玻色子间的不相容在我们可跨载流子设计的电势中是内在的——我们安排电势总是高或低,如在晶体管中。由于操作多种衬底的许多种开关是众所周知的,且由本发明的实施例提供的改进的本质在于开关布置而非开关或衬底的类型,所以专门用于具体种类的开关的语言不用于描述本发明,且使用看似抽象的语言,诸如集合、排序或网络的讨论是因为语言是对作为本发明的实施例的开关布置的期望行为的精确描述。这种语言的使用类似于我们可能描述齿轮结构的方式,可能指定制成它的材料的相对刚度而非指定它是否由木材或金属制成,且不描述可用于制作齿轮的雕刻或铸造,因为本领域技术人员非常了解如何制作所描述的物体。这种语言的使用也类似于我们可能在转速和切分音的词汇中描述由一组现成的齿轮和弹簧构成的钟表机构的方式,而不描述用于构造每个现成零件的细节,因为我们了解这些零件可购得且安装所述零件以产生所描述效应的方式是本领域技术人员众所周知。然而这种语言的使用不偏离本发明的实施例可实施为机器和控制机器的方法的事实,不管可用于描述这些机器和方法的语言有多抽象。
本发明的一个实施例是使用确定型机器在多项式时间中求解给定NP、NP完全或NP难问题的数据处理系统。给定问题定义被转化为由逻辑或其它确定型约束组成的表达式。接下来,将下列过程迭代应用至表达式直至无矛盾约束留下且每个变量获得一个值,或否则矛盾约束存在,针对其无由含有假设或伪假设的路径断言的值被否定:根据需要假设约束变量的值;追踪由值假设产生的蕴涵的路径;针对每个蕴涵值选择一个路径;通过选择将通过使用路径追踪来告知决策而被否定的矛盾导致值来解决约束的任何矛盾;总是否定由包含假设或伪假设的路径断言的值;且接着将矛盾约束转换为断言约束。这个过程的每个部分的迭代数由表达式大小的多项式限定。
本发明的实施例可被实施为处理信息以高效呈现决策的一个或更多个装置和/或自动化过程。这些实施例的行为可使用目标系统、有助于所述目标是什么的定义的必要关系和以与必要关系一致的方式变更所述对象的状态的变换说明。下文描述用于描述本发明的实施例的特定词汇。
集合
本文中公开使用数学语言“集合”。合并集合的众所周知的运算是“并集”和“交集”。集合之间众所周知的比较运算是“子集”和“超集”。为简明起见,“子集”和“超集”包括被比较的两个集合相同的可能性,而“适当子集”和“适当超集”排除所述可能性。也简单提及众所周知的集合之间的“映射”概念,作为一类“集合关系”。
变量
每个“变量”是可变性环境,其可特征化为值的集合。例如,每个变量是出现在给定表达式中的逻辑谓词的名称。在应用中,变量可以是供应至计算机芯片上的引脚、数字寄存器、一些编程语言中的字母数字串或具有一次表示一个(或不表示)值的性质且可随时间过去表示超过一个值的任何数据结构的有效电压的集合。在这个方面,此处的变量类似于软件工程领域中的变量。
值
如本文中所使用的变量的“值”实际上可枚举或实际上可限定。含有非实际上可枚举或可限定的变量值的问题可能不在NP中。通过定义,布尔变量是实际上不可枚举的。
“原子值”是变量除不尽的互斥基数值。对于数字变量X,“3”将是原子值,且“{2,3}”和“X<3”将不是原子值。
注意,变量可被定义为不另外出现在表达式中的数字变量的逻辑谓词。在这种情况下,表达式变量是布尔变量非数字变量,且表达式变量的原子值是“真”和“假”,非数字。
值谓词
“值谓词”是定义变量的原子值的具体子集的表述。含有变量的所有原子值的集合并非有效的值谓词。不含原子值的集合并非有效的值谓词。换句话说,“空”和“内在矛盾”以本文中使用的说法并非有效值。例如,“X=3”、“X>3”、“2<X<3”、“X模数(modulo)2=1”、“X∈{2,3}”和“X=补集(2<N<3)”(当N非指如本文中定义的表达式的变量,而是指严密用于独立定义值谓词的副变量时)都是数字变量的有效值谓词,而“X=Y”、“1<X<0”和“X=补集(1<N<0)”并非有效的值谓词。
当我们写到谓词合取式时,这与由谓词表示的原子值的集合的交集相同。
在我们以变量值的词汇描述行为的所有情况下,我们是在描述开关的行为。我们可将开关状态或开关的有序或无序集合的状态解释为“数”、“布尔值”或“谓词”,且这通常是工程意图,但它仅仅是描述方便,所描述的行为是开关的行为而非数字、集合或逻辑状态本身的行为。
项
“项”主要由对约束背景内的变量的参考或复制组成。下文进一步提供“约束”的说明。
本发明的某些实施例可被嵌入被解释为使用二值逻辑的系统中。在二值逻辑中,项通常被解释为表示变量的布尔值。这是权利要求的简略形式,其中项有效表示项的变量的值,其针对逻辑模型被解释为“真”或“假”,或针对数字模型被解释为“1”或“0”,或针对晶体管电路被解释为“高电压”或“低电压”,或甚至针对完全抽象模型被解释为(例如)“拥抱”或“亲吻”。二值逻辑的要求是不存在第三值,且因此为了求解问题,两个值必须不一致,而不管我们赋予所述值什么名称。我们将这样一种项称作布尔值谓词。
本发明的某些实施例可被嵌入被解释为使用多值逻辑的系统中。多值逻辑的实例是一阶逻辑,其包括数的表示。在多值逻辑中,项可如在二值逻辑中表示布尔值,但它可取而代之,表示非显式谓词的主体的某一变量的值。在表示这样一种变量的值时,我们将这样一个项称作非布尔值。
不是表示值的任何具体集合,多值逻辑中的项可以是与其它变量的相等或不等关系的部分。为了使项成为与其它变量的相等或不等关系的部分,关系必须满足特殊要求。这些特殊要求的说明在下文SOMME的讨论中提供。
不管实施例被解释为使用二值逻辑还是多值逻辑,在表达式中可存在许多项,每个项涉及相同或不同变量。
短语
“短语”含有表示值谓词的项的可寻址集合。短语含有任何数量的项,但对于短语中的每个项,可能不存在表示相同变量的值谓词的其它项。每个短语也表示它所含值谓词的合取式或析取式。数字表示的向量是合取短语的实例,且CNF约束是析取短语的实例。
约束
在二值逻辑中,“约束”由布尔项的非空析取短语表示。在多值逻辑中,约束可由析取短语或可满足或互相映射表达式(SOMME)表示。
SOMME
“SOMME”是子表达式,其表示变量间的关系,使得确定子表达式中的除一个以外的所有变量的值满足子表达式,否则隐含先前未确定的一个变量的值谓词的真,不管哪个变量是先前未确定的变量,且不管具体的所确定值。例如,如果R是实数的集合,且x,y,z∈R,那么“x+y=z”是SOMME,但“x*y=z”不是,因为如果例如x=0且z=0,那么y的值可为任何数并且仍未知。但是,“x=0或y=0或x*y=z”是SOMME,因为它去除了因子之一是0的可能性,除非整个表述被满足。类似地,“x3=y”是SOMME,且“x<0或y<0或x2=y”也是SOMME、但“x2=y”是有争议的。
在“x2=y”的情况下,当y被确定为实数中的单个原子值时,x可为y的正平方根或y的负平方根。如果我们仅接受原子值为隐含值,那么“x2=y”并非SOMME,但是如果我们允许集合作为隐含值,那么“x2=y”是SOMME。什么值被允许隐含是可能在待求解问题的定义中内在的决策;因此在此之后,所使用术语是“值谓词”是隐含的,且这个术语允许什么构成SOMME的任何一个解释。
在“x=0或y=0或x*y=z”的情况下,如果y的行列式存在,使得y=1,且接着引入x的行列式,使得x=0,那么不存在针对z的断言,因为“x=0或y=0或x*y=z”的第一部分(即“x=0”)不受限制。这就是“满足子表达式”的蕴涵。
不一致
在其交集中存在原子值的空集的相同变量的值谓词被称作“不一致”。
互补性
值谓词的一个集合与相同变量的值谓词的另一个集合“互补”,前提是任一个集合中无谓词与相同集合中的其它谓词不一致,第一集合的交集与第二集合的交集不一致,且变量的每个原子值唯一地在一个集合中或另一个集合中。在二值逻辑中,每个变量值仅与所述变量的另一个可能值互补,且与它不一致。
无争议性
如果对于一个变量,在所有约束中表示的所有值谓词的合取式不一致,且不存在具有所述变量的项的SOMME,那么所述项的变量被称作“无争议”。
行列式
当值谓词的合取式被视为真时(不管是临时地(亦称为“有条件地”)或必要地(亦称为“无条件地”)),我们将由合取式产生的原子值集合称作“行列式”。
限制
如果行列式与项不一致,那么我们说行列式限制析取短语中的项的值。
如果SOMME具有相同变量的项,那么我们说行列式限制SOMME中的项的值,且下列三种情况的任意一个都适用:
不是SOMME中的所有项都表示具有行列式的变量,且这个行列式不满足SOMME;或
作为这个行列式的后果,SOMME隐含除由这个项表示的变量以外的变量的非永真值谓词;或
SOMME中的所有项表示具有行列式的变量,且如果给定行列式不存在,那么SOMME将隐含由与给定行列式相同的变量的项表示的变量的值谓词,但所述值谓词将与给定行列式不一致。
断言
当行列式限制约束中除一个以外的所有项时,针对一个未限制项的变量“断言”值谓词。如果约束的所有限制项被无条件地限制,那么由所述限制强加的该约束的断言是平凡无条件的。此外,如果约束仅含有一个项,那么针对所述项所表示的值谓词被平凡(trivially)无条件地断言。否则,如果约束的任意项未被无条件地限制,但约束断言值谓词,那么所述断言是有条件的。当一些约束含有表示值谓词(其表示具有超过一个成员的原子值的集合)的项时,约束可无条件地断言第一值谓词,且有条件地断言作为其无条件断言的合适子集的第二值谓词。
即使在其条件限制的一个或更多个被移除后,约束仍可继续具有条件断言。无条件限制无法被移除。
限制支持
表示相同变量的现存断言被称作“合取地收敛”,且由现存断言表示的值谓词的交集是所述变量的现存行列式。如果给定种类的现存断言合取地收敛,以产生表示作为对项的限制的子集的原子值的集合的行列式,那么给定类型的断言被称作“完全支持”所述限制。
普遍性(Prevalence)
断言的合取式(亦称由被断言的值谓词表示的原子值的集合的交集)变为它们的共同变量的行列式。
许多限制可断言单个原子值或表示相同变量的多个原子值的集合的另一个值谓词。当表达式的约束不含表示具有针对相同变量的超过一个成员的原子值的集合的值谓词时,诸如当二值逻辑适用时,那么最多该相同变量的断言之一是“普遍”的。另外,可具有针对相同变量的多个普遍断言。
通常,构成行列式的合取式中的断言是普遍断言。在无条件断言的情况下,断言通常是普遍的。在针对相同变量的普遍无条件断言之间,由所述断言的值谓词表示的原子值的集合的交集变为无条件行列式。在相同变量的合取无条件断言之间,由所述断言和普遍无条件断言的值谓词表示的原子值的集合的交集变为条件行列式。每次在将断言加至合取式时更新行列式。断言通常在它们变为普遍时被加至合取式。
当每个变量仅被允许一个普遍断言时,所述变量的任何无条件断言是普遍的断言。当一个变量仅允许一个普遍断言、且不存在针对所述变量的无条件断言、且存在可能普遍的多个条件断言时,那么选择哪个断言来指定为普遍是任意的,且通过采用呈现它自己的第一个这种断言而最容易地呈现。(针对不管存在什么其它断言都无法变为普遍的条件断言的讨论,进一步见下文。)
当每个变量被允许超过一个普遍断言时,那么断言应根据它们的条件性被分离,如下文描述。
在作为被指定为普遍的候选者的无条件断言之间,应使呈现它自己的第一个这种断言普遍。如果后续针对相同变量呈现的无条件断言表示由先前呈现的普遍无条件断言表示的任何值谓词中所包含的原子值的适当子集,那么所述先前呈现的断言通常变为非普遍且后续呈现的断言总是变为普遍。如果后续呈现的无条件断言不表示先前呈现的任一个普遍无条件断言的子集,且后续呈现的无条件断言的交集与先前呈现的普遍无条件断言的交集是先前呈现的普遍无条件断言的交集的适当子集,那么后续呈现的断言变为普遍。在所有其它情况下,后续呈现的无条件断言通常不变为普遍。这是可接受的,虽然在许多情况下效率较低,但在少量情况下更高效,以忽略这些规则并且使得所有无条件断言普遍。
如果后续呈现的无条件断言表示作为针对相同变量的先前呈现普遍条件断言的值谓词的子集的值谓词,那么先前呈现的条件断言可(但不一定)变为非普遍。类似地,在其中无条件断言通常变为非普遍,但实际上保持普遍的上述情况下,本发明的效率减小,但未到变为超高多项式的程度。下文讨论假设这些断言变为非普遍。
在作为用于在无针对相同变量的无条件断言存在时被指定为普遍的有效候选者的条件断言之间,应使呈现它自己的第一个这种断言普遍。如果由后续呈现的有效候选条件断言表示的值谓词的集合的交集和针对相同变量的先前呈现的普遍无条件和条件断言的交集是先前呈现的普遍无条件和条件断言的交集的适当子集,那么后续呈现的断言变为普遍。在所有其它情况下,后续呈现的条件断言不变为普遍。(下文进一步讨论用于被指定为普遍的无效候选者。)
当每个断言变为普遍时,它可与序列的下一个数关联。这个数被称作断言的“普遍”数。
假设
在处理期间,我们可创建一个或更多个断言,其不是由约束产生,且是针对先前无行列式或具有行列式但行列式表示包含超过一个原子值的集合的变量。这样一种断言被称作“假设”或“假设性断言”,且它的值谓词是“假设的”。相比之下,从约束强加的断言被称作“蕴涵断言”。假设总是有条件的,且每个值谓词必须贡献假设性值谓词所表示的变量的行列式。
在本发明的一些实施例中,可隐式地而非显式地进行假设。例如,如果约束被分组,其中一组的每个成员具有表示在识别所述组的值谓词的特定集合中的值谓词的一些项,且这个组织的存在是为了比较表示非在这个特定集合中的值谓词或变量的在相同约束中的其它项的生产性互动,那么约束的组织有效地假设对共同值谓词的每个集合中的项的共同限制。
矛盾
当约束的所有项被限制时,在约束中存在“矛盾”。在表达式含有使所有它的项被无条件限制的任何约束的情况下,表达式是无法满足的。
满足
任何约束在它的一个或更多个项未被限制、且所述项的变量具有行列式时被“满足”。表达式在它的约束无矛盾且所有变量具有表示含有单个原子值的集合的行列式时被满足。
在原子值的集合可被接受为值谓词的情况下,可能的是,表达式可在所有约束被满足且所有变量具有行列式时被满足,无需每个行列式表示含有单个原子值的集合,但是具体情况依据表达式的具体质量。通常,如果表达式含有两个集合的任何映射,即相同两个集合的另一个直接或间接映射的重新排序,那么表达式应被视为需要单值谓词用于表达式满足。
池
“池”是可添加并且移除元素的可寻址集合。作为池本身,元素可以任何顺序添加至池或从池移除。池也可包括针对移除所添加元素的顺序的具体规则。例如,非优先队列包括“先进先出”(FIFO)规则,且堆栈包括“先进后出”(FILO)规则。
堆栈和队列都是具体种类的池。堆栈具有被下“推”至它们上的元素和从它们中“弹”出的元素。在队列的情况下,元素“入队”并且“出队”。最初,所有池是空的,且当最后一个元素已从堆栈中弹出或从队列出队时,池重新为空。
蕴涵
“蕴涵”是在引入新行列式时触发的过程。在这个过程中,识别被新行列式限制的项,且接着检查所述项的约束,以查看每个约束中的所有项或除一个以外的所有项是否都被限制。
如果约束未被满足且约束中的除一个以外的所有项被限制,那么约束断言值谓词。新断言可能变为普遍或可能未变为普遍,如上所述。如果新断言变为普遍,那么新行列式被引入且这些步骤被重复。由于可从单个行列式的引入产生许多断言,所以蕴涵过程需具有一个池来管理断言和所产生的行列式,或需要具有提供并行操作路径的机制。
蕴涵可在约束变为矛盾时立即暂停,且总是当在蕴涵过程的最新迭代中未产生新的普遍断言时暂停。
为了效率,每当第一无条件行列式被引入至表达式时,可由第一无条件行列式强加的任何其它无条件断言应在任何进一步条件蕴涵或可引入另一个条件行列式的其它行动发生之前传播穿过表达式。
根茎网络中的邻近度
在限制的概念上建立蕴涵的传播,其仅可在任何两个约束之间生产性地传送,其中每个约束含有项,所述项表示与由其它约束中的项表示的相同变量的值谓词,且在这些项间,精确地一个项限制在其它约束中表示相同变量的项。在二值逻辑中,这意味着精确地一个项表示与其它约束中的匹配项的值谓词不一致的值谓词,且所有其它谓词或者没有表示相同变量的匹配项,或否则其它谓词表示与由它的匹配项所表示的相同值谓词。
在SOMME的互相映射部分的情况下,需要相同关系来成为生产性的(即,一个约束中的单个项可限制另一个约束中的单个项),但这个事实通常因表达式中无SOMME表示由表达式中的另一个SOMME所表示的映射的子集的推定而难懂。当这个推定正确时,未被满足的、具有共用共同变量的项的所有SOMME具有生产性关系,但使关系成为生产性是限制的单个性质,而不是变量的共性的单个或多个性质。
通过这些逐对生产性关系的集体蕴涵训练而变得明显的结构提供两种形式的收敛。两个断言可通过表示相同变量的非不一致值谓词而合取地收敛。两个断言可通过在任何单个约束中限制不同项而析取地收敛,所述单个约束接着断言某个其它值谓词。在合取地收敛的断言间,通常使并非其它断言的子集的断言普遍。在析取地收敛的断言间,所有断言在它们收敛前是普遍的。
因为蕴涵结构通过两个不同形式的合取式产生,所以调用部分排序的结构、网格的集合或传统网络将是不精确的(虽然并非不正确)。取而代之,我们将蕴涵结构称作“根茎网络”来强调已被定义来在传统网络上运作的运算可类似于被定义来在根茎网络上运作的运算,但是必须由在根茎网络上运作的本发明的一些运算处置的机械细节和增大数量的运算实例使这些运算与已被定义来在部分排序集合或传统网络上运作的类似运算显著不同。
具有如上所述的生产性关系且一个约束的断言针对其实际限制其它约束中的项的两个约束被称作在蕴涵明显的根茎网络中是“连续的”。如此处使用的词邻近度,其建立在跨蕴涵明显的根茎网络中的连续约束的距离上,且通过扩展的邻接定义的空间是邻近空间。
处置矛盾和假设
应当实施项与变量与约束之间的某一直接参考方法。在软件中,这通常通过创建索引而完成。在电子硬件中,这可例如用布线完成。
包含表示无争议变量的项的约束可被安全地移除。
仅含一个项的任何约束构成由项表示的值谓词的无条件断言。每当确认一个新的无条件断言时,蕴涵就应发生。
如果蕴涵已暂停,且不存在矛盾约束,那么应针对无行列式的变量创建假设,或如果所有变量具有行列式,那么应针对具有表示包含超过一个原子值的一个集合的行列式的变量创建假设,所述原子值减小由行列式表示的集合的基数,且接着蕴涵应发生。
如果蕴涵已暂停,且存在一个或更多个矛盾约束,那么一个矛盾应以某一方式解决,且接着蕴涵应发生。这个步骤应被重复,直至不再存在更多矛盾约束或存在无条件矛盾。
所有上述步骤应被重复,直至必要矛盾存在,在此情况下表达式无法满足,或否则直至表达式被满足。
解决矛盾
如果约束中的所有项被限制,那么在约束中存在矛盾。如果矛盾约束的所有项被无条件地限制,那么必要矛盾存在,且表达式无法满足且处理暂停。如果矛盾约束的一些项未被无条件地限制,那么矛盾可被解决且处理继续。
本发明的实施例的行为
下文描述本发明的实施例的行为和具体描述如何根据本发明的实施例解决矛盾。
NP、NP完全或NP难问题无法通过确定型机器求解,除非作出显式或隐含假设。为了一般算法可在不引发超高多项式成本且在无需调节算法来适应问题的每个具体例项的情况下求解这些问题,算法可展现特定行为。
行为#1
可通过算法展现以在不引发超高多项式成本且在无需调节算法的情况下求解NP、NP完全或NP难问题的一个行为(“行为#1”),使得当在通过假设的蕴涵而变得明显的根茎网络中发现矛盾时,这些矛盾被移动穿过网络,以试图针对一个项断言一个值谓词,其中不存在被断言的不一致值谓词,以满足导致矛盾的普遍路径中的所有约束。
依赖推定解的随机变动的算法(诸如遗传算法)不识别当不存在解集合时的情况,且易于在解集合小时不确定地执行曲折变动。参数化矛盾以创建由不确定数量的项组成的新的概括约束的算法存在风险,即在选择假设的顺序刚好是病态或确定哪个断言在相同值谓词的断言之间变为普遍的排序刚好是病态时,产生超高多项式数量的约束。避免创建概括约束的算法中的病态排序是应提供什么调节;因此为了在不调节的情况下提供非超高多项式成本解,行为#1在避免创建具有不确定数量的项的新的概括约束的同时,且在不依赖随机变化的情况下解决矛盾。
为了描述根茎网络内矛盾的运动,提供下列额外定义。
目的地
在本发明的特定实施例中,假设是非普遍的,但是为假设所表示的变量贡献行列式。受限制、但针对其不存在合取地收敛以产生表示限制的行列式的现存普遍断言的项由假设限制或由普遍断言限制,但所述断言随后已被移除或部分由非普遍的蕴涵断言限制。每个矛盾必须朝向由假设限制的项移动,或朝向针对其所记录的限制未得到作为引向并且产生矛盾的普遍路径的部分的普遍断言的完全支持的某一其它项移动。针对其所记录的限制未得到普遍断言的完全支持的项被称作“目的地”,且未得到现存普遍断言和假设的合取收敛的完全支持的目的地被称作“伪假设”。
反断言
每个矛盾的移动通过“反断言”在矛盾约束中的条件限制项的值谓词而发生。
否定
反断言解决一个约束中的矛盾,并且可“否定”为由反断言表示的变量贡献行列式的一些断言。假设性断言的否定剔除假设。蕴涵断言或经反断言的断言的否定移除断言本身并且在其约束中创建矛盾。
反断言也可在未断言的约束中提供限制并且从所述约束中产生蕴涵断言。
约束的运动
提供表示针对其反断言的另一个值谓词的变量且与经反断言的值谓词不一致或与经反断言的值谓词的交集不一致的值谓词的断言和为所述变量贡献行列式的其它断言的任何约束被否定,因此将矛盾从反断言约束移动至提供不一致断言的连续约束。当目的地假设被否定时,或当针对被确认为被限制、但限制行列式未得到普遍断言的完全支持的项,反断言值谓词时,在体现前者矛盾的普遍路径的约束中不存在矛盾;且只要提供行为#3,矛盾就从矛盾的所记录普遍路径被排除,且表达式作为整体可变为被满足,前提是没有通过否定假设创建或发现蕴涵或反断言的新路径,且其它矛盾已被排除。
行为#2
可通过算法展现来在不引发超高多项式成本且在无需调节的情况下求解NP、NP完全或NP难问题的另一个行为(“行为#2”)是:(1)使算法确认其中经反断言的值谓词应是无条件的情况;和(2)使算法不引发超高多项式成本以确认反断言何时应为无条件的。平凡地,如果矛盾约束中除一个以外的所有项被无条件地限制,那么反断言必须是无条件的,且可能存在其中传统数学分析需要SOMME无条件地反断言值谓词而不管目的地是否存在的情况;但是当推定反断言的路径(不包括提供通过反断言推定地否定的普遍断言的子路径)不含任何目的地时,约束中的项的值谓词的反断言也应是无条件的。
当问题表达式非平凡地不可满足时,未确认表达式无法通过否定应被确认为无条件的反断言而被满足的算法可折回它的路径的一部分无限次数。
行为#3
可通过算法展现来在不引发超高多项式成本且在无需调节的情况下求解NP、NP完全或NP难问题的另一个行为(“行为#3”),使得经反断言的值谓词不仅需解决反断言约束中的矛盾,它还需不在通向并且产生反断言的普遍路径中的任何约束(不含提供具体通过反断言否定的断言的约束)中创建矛盾。这种行为要求哪个值谓词进行反断言的决策具有有关引向并且产生反断言的普遍路径的信息。
如果经反断言的值谓词可在处于反断言的普遍路径中的一个或更多个约束中创建矛盾,那么修订循环可能发生,其用不确定且因此超高多项式的若干循环迭代修订经反断言的值谓词,如在诸如区间牛顿法的逼近算法中的情况。
当多值逻辑未被表达式使用时,矛盾约束中的任何有条件限制项可根据蕴涵规则反断言,且保证反断言不在处于通向并且产生反断言的普遍路径中的约束中创建矛盾。
行为#4
可通过算法展现在不引发超高多项式成本和无需调节的情况下求解NP、NP完全或NP难问题的另一个行为(“行为#4”),使得当多个路径具有通过排除矛盾而满足表达式的相同可能性时,针对其值谓词将被反断言的矛盾约束中的项被选择的方式,必须使得矛盾的运动不结合相同路径的超高多项式数量的迭代或超高多项式数量的路径变动而折回路径。
优点
本发明的实施例可展现行为#1、行为#2、行为#3和行为#4中的任一个行为或更多个行为,每个所述行为可使用任何组合的装置、软件或自动化过程实施。本发明的实施例可被实施来通过提供上述优点而改进计算机本身的功能。这些实施例使用本文中公开的新颖和非显而易见的技术实现它们的有利结果,且因此不仅仅构成应用抽象理念或在计算机上实施抽象理念的指令。采用改进计算机(或其一个或更多个部件,诸如改进的处理器)的形式的本发明的实施例包括新颖和非显而易见的部件,诸如用于执行本文中公开的新颖和非显而易见的功能的新颖和非显而易见的电路。这些新颖和非显而易见的电路凭借其新颖和非显而易见,并非通用的计算机部件,而是取而代之的作为整体对本发明的实施例是独一无二的部件,即使它们包括本领域普通技术人员所知的特定子部件(诸如特定逻辑门)。
共同地,上文列出的四个行为足以在不引发超高多项式成本和无需调节的情况下求解NP、NP完全或NP难问题。提供展现所有四种行为的算法(甚至单独针对二值逻辑)相当于证明P=NP。考虑到是否P=NP的问题在1970年正式提出且至今仍未解决,虽然克雷数学研究所从2000年开始提供非常大的奖励且存在许多定期举办的国际和地区竞赛,竞赛中参赛者尝试在最短时间内求解这些难题,提供这四个行为的每个装置、计算机程序或自动化方法明显是非显而易见的,不管现有技术中存在哪些零碎的技术组成。
展现行为#1
反断言展现行为#1。矛盾在特定序列中高效地解决。一个原始矛盾的解决最好紧随约束中产生的矛盾的解决,所述约束提供由从原始矛盾约束等产生的反断言否定的普遍断言之一。矛盾可按其它顺序求解,但按这个顺序求解它们减小了追踪在这些追踪元件中提供严密准确度另外所需的普遍断言的路径的可能手段的修订数。
在存在通向并且产生断言和反断言的普遍路径的严密维持记录的情况下,每个经断言的值谓词只需要一个这种记录。在无严密维持记录的情况下,可能需要存储具体值谓词的所有过往和现有断言的历史或依赖允许抖动来修订相关记录的方法,如下文进一步描述。(在已讨论所述记录的性质后,下文进一步提供记录的严密和延迟维持的说明。)
断言的持续性
当第一条件普遍断言使得它由对其约束的项的限制强加,其中所述限制依赖其它普遍断言来支持,且一个或更多个所述其它普遍断言已被否定时,那么第一普遍断言可继续持续。一般来说,更好的是让断言持续,除非它们被显式地否定,因为这免除了移除和重新传播断言的工作;但无需持续性。
展现行为#2
需将被否定普遍断言的子路径从反断言的路径中排除,以展现确认在非平凡情况中反断言何时应是无条件的行为,且这种排除可通过追踪通向普遍断言的路径而被促进。追踪普遍断言的路径是现有技术的部分,但本发明的一些实施例通过将特定元素加至追踪数据结构而增强现有技术中的追踪。
蕴涵断言的充分前提
在本发明的特定实施例中,每个普遍断言记录含有先前断言的值谓词的“充分前提”,所述先前断言限制引向并且产生当前普遍断言的普遍路径的约束中的项,且充分前提中的每个值用计数增强。一个这种计数是“已完成”计数。
为了说明已完成计数在蕴涵期间如何累积,在不存在其它计数时:
假设具有空的充分前提;和
候选蕴涵普遍断言具有充分前提,其含有针对所有现存普遍断言的充分前提中的值谓词的集合的并集,所述现存普遍断言不是无条件的,且合取地收敛以产生限制导出候选断言的约束中的项的行列式,其与不是无条件的且限制从其中导出候选断言的约束中的项的断言的值谓词的集合合并;和
当候选断言的充分前提中的具体值谓词导出自经合并的先前填充的充分前提的精确之一,那么所述值谓词的已完成计数继承自从其中导出的先前填充充分前提;和
当候选断言的充分前提中的具体值谓词导出自先前填充充分前提,且在这些经合并的先前填充充分前提的两个或更多个之间共用时,那么已完成计数是导出自先前填充充分前提的相应已完成计数的总和;和
当候选断言的充分前提中的具体值谓词不是导出自任何经合并的先前填充充分前提,那么这个值谓词的已完成计数被初始化为等于零;和
针对不是无条件的且限制从其中导出候选断言的约束中的项的断言的值谓词的集合中的每个值谓词,候选断言的充分前提中的任何值谓词的已完成计数递增1。
已完成计数是一种对通向并且产生单个所得第一普遍断言的普遍路径中的前驱普遍断言进行编码的方式。这种编码中的计数允许第二普遍断言的普遍路径从第一普遍断言的充分前提中减去,而不移除可能共同于通向并且产生第一普遍断言的其它普遍断言的普遍路径的任何子路径。这种能力可用于适当分析限制普遍断言的普遍路径,以决定哪些受限制项可被反断言,且哪些反断言必须是无条件的。
遥远度计数
行为#2可通过一些手段展现,其提供在引向并且产生反断言的路径中的受限制项的排序,使得当按升序或降序访问时,总是在遭遇通向并且产生候选断言的任何断言之前遭遇路径中的该候选断言(经由项排序)。“遥远度计数”提供这样一种排序。遥远度计数或提供这种排序的一些其它手段可用于展现行为#2。“最大距离计数”和仔细维持的普遍数被考虑作为遥远度计数。只要普遍数可用作遥远度计数,那么在提及遥远度计数的排序时使用的语言将假设遥远度计数的升序指示增加的遥远度,即使降序通常提供针对普遍数的这样一种排序。
每个最大距离计数记录所得条件普遍断言与所得断言的充分前提中的每个值谓词之间的最大距离,其中在这个背景下的“距离”反映值谓词与所得条件普遍断言之间的蕴涵或反断言步骤数。在本发明的特定实施例中,针对非假设性所得条件普遍断言的充分前提中的最大距离计数构造如下:
当所得断言的充分前提在被累积时,导出自先前断言的充分前提的所有最大距离计数递增1,且不是导出自充分前提的值谓词被赋予等于1的最大距离计数,且接着单个最大距离计数被识别,并且被指派为所得断言的充分前提中的相应值谓词的最大距离计数,其中所述单个最大距离计数在针对产生所得断言的充分前提中的值谓词的集合的并集中的相同值谓词的所有最大距离计数之间是最大的。(假设无充分前提且因此在其推定充分前提中可以没有距离计数。)
未完成计数
可由本发明的实施例使用的非必要计数是“未完成”计数。当使用未完成计数时,累积已完成计数的方式与上文描述不同,但是累积最大距离计数的方式与上文相同。
为了说明当未完成计数用于给定蕴涵的条件普遍断言的充分前提中时,未完成计数如何累积,以及已完成计数如何累积:
(这个过程描述,以及下文进一步的其它描述包括加方括号的表述标记,诸如“[U1]”。这些标记唯一地识别表述,并且明确重申有关合格表述的表述嵌套,其通常由伪代码中的文本的缩进来指示。在无嵌套指示的情况下,描述可含糊地解释。)
[U1]所得充分前提的“基础”被初始化为空。
[U2]如果存在限制给定断言的约束中的项的精确一个蕴涵的条件普遍断言:
[U2a]这一个蕴涵的条件普遍断言的充分前提的内容被复制作为基础;且断言本身的值被加至基础,且所述值与已完成计数1和未完成计数0相关。
[U3]如果存在限制给定断言的约束中的一个或更多个项的超过一个蕴涵的条件普遍断言:
[U3a]那么一个蕴涵的条件普遍断言的充分前提的内容被复制作为基础,且这个普遍断言接着被进一步处理忽略。
[U3b]针对限制给定约束中的项的且尚未被进一步处理忽略的每个候选的蕴涵条件普遍断言:
[U3b1]如果候选断言的值谓词出现在基础中:
[U3b1a]那么使基础中的候选断言的值的未完成计数递增1,且候选断言被进一步处理忽略。
[U3b2]否则:
[U3b2a]将候选断言的充分前提复制作为“共同基础”。
[U3b2b]针对共同基础中具有非零已完成计数的每个候选值谓词,依最大距离计数升序:
[U3b2b1]如果候选值谓词出现在基础中,那么将与候选值谓词的普遍断言的充分前提中的所有值谓词相关的已完成计数和未完成计数从共同基础中减去,且在共同基础中从候选值谓词的已完成计数中减去1,并且在共同基础中将候选值谓词的未完成计数加1。
[U3b2b2]将具有为零的已完成和未完成计数的每个值谓词从共同基础中移除。
[U3b2c]将共同基础中的值谓词加至它们尚不存在的基础中,并且将来自共同基础的已完成和未完成计数加至基础中的相应已完成和未完成计数中,并且将候选断言的值谓词加至具有已完成计数1和未完成计数0的基础中,且候选断言被进一步处理忽略。
[U3c]对于有助于限制给定约束中的一个或更多个项的行列式的假设或条件非普遍断言的每个值谓词:
[U3c1]如果候选断言的值谓词出现在基础中:
[U3c1a]那么使与候选断言的值谓词相关的基础中的未完成计数递增1。
[U3c2]否则:
[U3c2a]将候选断言的值谓词加至与等于1的未完成计数相关的基础。
[U4]使用基础作为给定约束的断言的充分前提。
累积上述已完成和未完成计数的方法是一种压缩信息而不减去共同于产生所得反断言的其它普遍断言的路径的子路径的手段,其中所述信息在使用已完成计数且未使用未完成计数时存在,且是允许减去普遍断言后方的路径的一部分(当这种普遍断言与反断言不一致时)所需要的
当未使用未完成计数时,表示每个已完成计数所需的最大位数等于表达式中的变量数。当以上述方式使用未完成计数时,表示每个已完成计数所需的位数是1,且表示每个未完成计数所需的位数是表达式中的约束数的以2为底的对数,其通常是表示操作所述开关的计数和成本所需的开关数的显著减少。
维持从基础中减去的顺序
可取代最大距离计数使用普遍数来对从基础中减去普遍断言排序,但这需要普遍数持续充当遥远度计数且因此提供断言的排序,其阻止出现在子路径中的普遍断言的移除,所述子路径在必须从基础中减去的它们的充分前提的其它普遍断言和无需从基础中减去的它们的充分前提的断言的普遍路径之间共用。普遍数的初始排序足以在以降序而非升序访问时使它们以遥远度计数执行,但当项被反断言时,普遍数被重新指派,其扰乱原始排序。因此,使用普遍数作为遥远度计数通常需要普遍数的大修订,其使所需计算工作量类似于在使用最大距离计数作为遥远度计数时所需的计算工作量。
分支减法
值得注意的是,压缩或非压缩版本的充分前提(无论表达式是使用二值逻辑或多值逻辑)都不等效于路径中的受限制项的列表或路径中的限制值的列表,每个都与受所述值限制的项数的计数相关。这些计数或显式计数不支持根茎网络中的“分支减法”。这个表述的真实性应通过比较不同种类的计数在它们由下文描述的分支减法方法操纵时的行为而变得明显。
在分支减法中,当被减数充分前提不含减数断言的值谓词时,那么分支减法差与被减数相同。否则,分支减法差是下列计算的结果:
[B1]如果使用未完成计数:
[B1a]那么对于被减数中的每个值谓词,从每个相应被减数计数中减去与在减数断言的充分前提中的相同值谓词相关的已完成计数和未完成计数。
[B1b]从相关已完成计数减去1,并且将相关未完成计数加上1,其中减数断言的值谓词在被减数中。
[B2]否则:
[B2a]识别与减数断言的值谓词相关的被减数中的已完成计数,并且将这称作“标量”值。
[B2b]对于被减数中的每个值谓词,从相关被减数已完成计数中减去标量和与在减数断言的充分前提中的相同值谓词相关的已完成计数的乘积。
[B3]在上述减法之后,将任何值谓词从在所有现有计数中具有零的被减数移除并且将结果呈现为分支减法的差。
本发明的实施例可包括区分路径的一部分是否含有目的地以展现行为#2的能力。区分目的地和因此计数路径的一部分中的不同目的地的能力也可能是非常有用的。分支减法可供应这两种能力。
不使用未完成计数的分支减法需要针对分支减法发生的每个充分前提中的每个被减去值谓词的相乘。乘法具有计算成本,其是被乘的位数的平方,且这表示另一个大的计算成本,其在未使用未完成计数时引发。
反断言存在情况下的充分前提
反断言的存在使一些断言的前提的累积复杂化,这是因为断言的否定移除了针对所述断言的前提,且反断言可针对先前被否定的断言创建新前提。用于针对矛盾点的运动方向作出决策的普遍断言的前提必须一致,以正确地或一致地作出决策。因此,在可作出这样一种决策之前,依据被否定以使所述前提一致的断言的断言前提可被重新计算。当未使用接近度计数(进一步见下文,作为展示行为#4的部分)时,依据被否定的断言的前提可通过在前否定的断言被反断言时,针对被否定的普遍断言执行分支减法和通过执行新前提的分支加法而被重新计算。在执行出于这个目的分支加法时,重新断言的值谓词的遥远度计数可被加至被加分支中的遥远度计数。此外,最近已变为无条件的任何以前条件普遍断言可被分支减去,且无条件断言本身可从所有完全前提中被移除。
反向追踪
当使用距离计数时,可能需要在需要重新计算它的前提而非使用分支减法来修订前提的断言的路径中“反向追踪”穿过约束。这种方式的反向追踪类似于下文描述的反向追踪,但限制项且已被重新计算的断言的前提被分支加上,且它们的计数被递增,但是这些断言未通过深度优先机制探索。
可在无反向追踪的情况下重新计算距离计数,但这需要针对每个贡献子路径的单独距离计数,否则需要每个距离计数值的距离计数,其将消耗比未压缩充分前提所消耗的大得多的空间。
可通过使用深度优先基于堆栈的反向追踪构成通向并且产生反断言的普遍路径的约束中的限制项,而在不使用充分前提的情况下展现行为#2。深度优先反向追踪确保普遍断言的属性按等效于遥远度降序的顺序修订。这种方法忽略仅由无条件断言限制的所有项,且忽略由已被考虑的断言限制的所有项,且注解作为目的地的那些项,包括被循环断言否定的项,且排除不合法的伪假设(进一步见下文);且针对每个其它项,考虑普遍断言的约束中的条件限制项而进行堆栈,其中所述普遍断言的约束以确保深度优先遍历的方式限制给定项。
反向追踪无需使用永久存储的前提。在这样一种情况下,不存在机会来严密或另外修订前提。如果永久存储的前提不被使用,那么目的地的临时列表和可能的它们的距离必须针对项被堆栈的每个约束被维持,且当被断言限制的项从堆栈弹出时,目的地的这些临时列表应被加添加总计为针对独立断言的约束的临时目的地列表,且不合法伪假设应在不一致项从堆栈弹出时被识别并且被剔除。目的地的临时列表应在每个矛盾被解决后被删除。如果目的地列表未被删除,那么为了可用,它们将需要被修订,且为了能够在不完全替换它们的情况下修订它们,它们必须含有非目的地项或断言,使得它们变为某一类型的前提。出于反向追踪目的可堆栈限制断言而非项。
由于断言被反断言否定,所以需在充分前提未被使用时,针对SOMME中的项记录限制,因为限制行列式和断言可能不再存在。无需针对严密析取短语中的项记录限制,因为缺失的限制可被假设为项在这样一个约束中表示的值谓词的补集,且实际上可能更高效地总是以这种方式针对析取短语记录限制。
普遍路径的严密维持
在使用充分前提且普遍断言的路径将被用于决策时,需重新计算候选普遍断言的充分前提。为了“严密”维持充分前提,需要重新计算每个普遍断言的充分前提,其依据否定和反断言时的被否定的普遍断言。
在充分前提用于决策时,必须确认普遍路径中的伪假设的存在(若有)。如果未使用未完成计数,那么如描述的分支减法将不正确地剔除伪假设的任何记录;因此在这种情况下,可使用以某一其它方式标记伪假设的替代方法或反向追踪。如果使用未完成计数,且被否定普遍断言的充分前提未从每个充分前提被分支减去,那么使用矛盾运动的抖动的决策方法可用于将充分前提和其它路径追踪元素修订为作为严密当前状态的有用近似的状态,如下文进一步描述。
类似地,由普遍路径中的约束断言的值谓词在作出有关新计数断言的值谓词的决策时必须一致。对于析取短语,无需特殊行动,因为这种约束或者断言具体变量的预定义值谓词或根本不进行该变量的断言。但是,在SOMME的情况下,限制值谓词的变化可能导致具有包括被修订限制的普遍路径的被断言或反断言的值谓词的变化,且这些修订需传播穿过任何新的反断言的普遍路径。如果传统的数学分析未补充本发明,那么在严密维持SOMME的断言的情况下,即,在否定时,那么可能违反行为#3;因此当不存在传统的数学分析时的SOMME的值谓词的修订被最佳地延迟传播,如紧随下文描述,或除了通过抖动外不传播,其在下文作为展现行为#4的讨论的部分被进一步描述。
充分前提的延迟维持
当未严密维持充分前提时,充分前提可含有已完成计数为零的值谓词,甚至当存在所述谓词的普遍断言时。如果在充分前提中存在任何这种值谓词,那么应通过分支加上缺失的前提而修订候选充分前提,使得它们接着具有非零的已完成计数。如果将使用接近度计数(进一步见下文)或遥远度计数,那么它们需在它们被使用时是正确的(例如,在基础和共同基础中),且这些计数应在普遍断言存在但未记录在反断言的充分前提中时被重新计算。
计数的重新计算通过深度优先反向追踪穿过受影响的约束,且接着以逆反向追踪顺序针对每个受影响的约束的断言重新计算遥远度计数或接近度计数(作为展现行为#4的部分进一步见下文)而被最高效地完成。当仅将反向追踪用于计数的重新计算时,它可按需发生。但是,如果充分前提未用于提供行为#2,那么最高效的是在重新计算遥远度计数或接近度计数的同时,执行完整的反向追踪和识别假设和伪假设。
伪假设、循环和泪滴
当候选普遍断言的充分前提含有由候选普遍断言本身表示的相同变量的值谓词时,存在若干可能情况:断言可能与其充分前提中的值谓词不一致;断言可能表示作为其充分前提中的值谓词的子集的值谓词(即,反断言与其充分前提中的值谓词“一致”);或适用某一其它关系。这些关系界定“循环”和“泪滴”路径并且影响合法目的地的界定。
伪假设
当反断言发生时,断言被否定,且因此对其它普遍断言的路径中的项提供限制的普遍断言可能丢失。当严密维持的充分前提含有针对其不存在现存普遍断言的值谓词时,我们将所述值谓词称作“伪假设”。假设和伪假设是矛盾应朝向其中之一移动的目的地。目的地是断言的普遍路径的约束中的项,使得如果矛盾移动至所述约束,且目的地项被反断言,那么矛盾从所记录普遍路径的约束中被排除。
无目的地规则
为了使本发明的实施例正确展现行为#2,期望具有充分前提且在其充分前提中无目的地的任何断言应被无条件地断言。这是“无目的地”规则。当断言的充分前提含有与断言本身相同的变量的值谓词时,由本发明提供区分,以实施无目的地规则来如下正确地产生无条件断言。
循环
如果断言与其充分前提中的值谓词一致,那么我们说在这个断言的普遍路径中存在“循环”。循环的结构使得如果循环普遍路径中的断言被否定,那么所产生的矛盾可绕循环移动,以断言与否定反断言的意见一致的值谓词,导致循环中的矛盾被解决,有效将矛盾从循环的普遍路径排除,而不一定在某一其它路径中创建新的矛盾。因此,循环的起始点是目的地。如果完成循环的断言将成为普遍的,那么它可能被视为支持起始循环的限制,其将提供完成循环的断言的充分前提,且所述充分前提可能不含目的地,暗示它被解释为无条件断言。所述解释将是不正确的;因此需要某一额外规则或指示来确保循环断言未被解释为无条件断言。
在本发明的特定实施例中,使完成循环的断言非普遍,不管相同变量的普遍断言是现存或非现存的,但是确实将它的值谓词贡献给它表示的变量的行列式,前提是现有行列式不表示由循环断言表示的原子值的子集。作为这种情况的结果,循环无法针对它自己的断言提供无目的地的前提,且因此依据循环的普遍路径总是明显表示所述路径中的目的地。(这个规则防止循环断言具有前提,且因此可被视为能明确避免循环变元和因此避免与循环断言的补集的有效不一致的任何出现的方法。)在本发明的其它实施例中,循环断言可以其它方式被明确标记,并且被所述其它标记方法视为目的地。
泪滴
如果表示与断言本身相同的变量的反断言的充分前提中的每个值谓词也与由断言所表示的值谓词不一致,那么我们说“泪滴”存在且在反断言的普遍路径中被识别。泪滴的“沉降物”是已知表示原子值的集合的值谓词,使得如果任何这种原子值被断言,且在泪滴组成的普遍路径中的约束的集合不含矛盾,那么断言将必定在这些泪滴约束之一中产生矛盾,无论断言传播的顺序如何。沉降物的精确度依据在反断言的普遍路径中可得的信息。
沉降物
当组成泪滴的也具有与所述泪滴的沉降物相同的变量的项的所有约束是析取短语时,那么沉降物必须与这些项中的每个不一致,并且因此是由这些项表示的值谓词的并集的补集。允许我们识别泪滴的反断言必须表示在其泪滴的沉降物的补集中的原子值的子集。
当组成泪滴且也具有与所述泪滴的沉降物相同的变量的项的约束的集合包括SOMME时,那么沉降物必须是与对这些项的限制相交的反断言值谓词的补集。
如果推定沉降物如上文计算且推定沉降物的补集是原子值的空集,那么推定泪滴实际上并非泪滴且所谓沉降物的变量的一些合法目的地必须存在。
经反断言的值谓词
如果使用充分前提,那么被反断言否定的普遍断言的分支被从反断言的充分前提中减去。在这些分支减法后,如果在除了沉降物的变量以外的变量的反断言的普遍路径中不存在目的地,那么沉降物的补集应被无条件地断言。如果这个无条件断言的值谓词是与如通过蕴涵规则产生的反断言的值谓词相同的集合,那么无条件断言是被反断言的唯一值谓词;否则无条件断言和条件断言通过反断言产生。如果未识别泪滴,且反断言并未是平凡地无条件的,那么反断言产生唯一条件断言。
泪滴中的明显伪假设
当沉降物被定义它的反断言否定时,支持作为沉降物的限制的断言将被反断言否定,且所述分支的前提将从反断言的充分前提中被减去,因此使由这些断言限制的项成为伪假设,并且看似是目的地。如果否定沉降物的反断言的充分前提不含其它目的地,那么反断言应是无条件的,因为无条件地断言沉降物将在泪滴中创建无条件矛盾。因此,记录在表示与反断言本身相同的变量且与反断言不一致的反断言的充分前提中的限制,即便是伪假设也不应被视为目的地并且是“不合法”目的地。
如果反断言否定反断言所识别的泪滴的沉降物,且在反断言的充分前提中不存在合法目的地,那么反断言是无条件的;且无条件断言没有前提。如果反断言否定它的沉降物,且在反断言的充分前提中存在合法目的地,那么反断言是有条件的;且虽然相同变量的项的限制将出现在充分前提中作为伪假设,但是其它目的地也将存在于普遍路径中。如果矛盾朝向这些目的地中的任何一个(包括不合法目的地)移动,那么包括在沉降物中的一些原子值的值谓词必须被断言,且这种断言有效地是所述沉降物的部分重新断言。如果由通过并入部分重新断言所述沉降物的这个值谓词产生的行列式也完全支持对与我们的谓词否定反断言相同的变量的项的任意限制,所述限制由沉降物否定反断言的充分前提中的限制值谓词表示,那么支持所述限制的断言将把它们的前提提供至通向这些限制并且由这些限制产生的断言的充分前提,且这些限制将不再表现为伪假设。如果由通过并入部分重新断言所述沉降物的这个值谓词产生的行列式不完全支持对与我们的谓词否定反断言相同的变量的项的限制,所述限制由沉降物否定反断言的充分前提中的限制值谓词表示,那么缺少现存普遍断言来支持对所述项的限制将使所述限制变为由产生沉降物的部分重新断言的反断言产生的矛盾的合法目的地。因此在产生且为了正确地产生非平凡无条件反断言时,仅需要剔除作为不合法目的地的一些伪假设的特殊规则,除非使用最近目的地法。(下文作为展现行为#4的部分进一步说明最近目的地法,且在使用最近目的地法时,泪滴伪假设的复杂性出现在下文进一步的抖动讨论中。)
值得注意的是第二普遍断言的普遍路径中的第一断言总是比第一断言可能创建的任何不合法目的地更靠近第二普遍断言。
矛盾运动的特征化
矛盾可被特征化为可具有共同网络区段的多个根茎网络之间的断言不一致。通过对不一致断言之一进行反断言,它的网络增长;且当不一致断言被否定时,它们的网络缩小。无论反断言是并入被否定普遍断言的充分前提的分支减法或反向追踪新网络,所并入操作确保严格在反断言前方的目的地不被表示为在反断言的网络中,并且因此不误传展现行为#2和行为#4的本发明的实施例的方法。
行为#2的方法的效率
展现行为#2的方法的效率可能受尚未完全讨论的两个因素的影响:解决矛盾的过程的并行化和断言的普遍性。
泪滴的性质使得以多个过程同时尝试解决矛盾的形式解决约束的过程的水平并行化,可能干扰行为#2至适中至严重的程度。与第二矛盾并行移动的第一矛盾可产生由第一矛盾导致的反断言,所述第一矛盾导致由第二矛盾导致的反断言的充分前提中的项变为伪假设,否则对所述项的限制的普遍路径将允许由第二矛盾产生的反断言为无条件的。可作出各种努力来抵消这种干扰。
一种抵消并行矛盾解决过程之间的干扰的方法是使每个过程记录可在一个反断言擦除另一个反断言的历史时持续的单独一组充分前提,但其每当由这些过程的任意一个产生新的充分前提时,擦除现有充分前提,并且将替换充分前提交叉填充至并行矛盾解决过程的单独存储区中。明显地,这种方法要求所存储数据量的大增加。
另一种抵消并行矛盾解决过程之间的干扰的方法是将矛盾排序,使得如果它将擦除被更高排序的第二矛盾使用的路径的历史,那么将不允许由第一矛盾产生的反断言,因此有效暂停第一矛盾的运动。这种方法可通过更改矛盾的排序而改进,使得暂停的矛盾的排序降低;否则可能发生级联的暂停,有效将算法回复为非并行条件。需要十分小心来制定重新排序,其被保证来防止超高多项式抖动。(抖动的讨论进一步见下文。)
断言的普遍性影响积极展现行为#2的方法的效率。通过具有与额外路径不同的普遍路径,所述额外路径也合取地收敛,以产生表示相同值谓词的行列式,本发明避免可能路径的超高多项式爆炸,所述可能路径将需被检查,以发现所述路径的任意一个是否定义泪滴并且允许无条件反断言。取而代之,递增地搜索路径,只要依据所述路径的现存矛盾仍未解决,在此情况下,未解决矛盾为新的普遍断言提供重新限制,作为以前伪假设的项的新路径。这是一种路径搜索形式,其将在多项式时间中终止,前提是展现行为#4。
展现行为#3
对于具有不含SOMME的普遍路径的反断言,启用算法来展现行为#3在算法已被启用来展现行为#2的情况下是平凡的:紧随反断言的时间之后,含有新矛盾的唯一约束是具有被反断言否定的断言的约束;且被否定断言的普遍路径在反断言的普遍路径的反向追踪期间,从反断言的普遍路径中减去或被忽略;因此所述矛盾不出现在反断言的普遍路径中。
对于具有包括SOMME的普遍路径的反断言,展现行为#3更复杂。通常,当SOMME存在于表达式中时,且应针对其推定地反断言值谓词的项的变量与推定反断言的普遍路径中的一个或更多个项的变量相同时,接着必须采用特殊方法来高效展现行为#3。
当变量的值表示整数或具有固定最大分子和最大分母的其它有理数时,接着针对有理数闭合的SOMME可用针对有理数数字地表示数并且复制SOMME的行为的若干中间变量和析取短语替换。这样一种情况下的中间变量或约束的计数的量值的顺序依据所复制的具体函数。加法器具有元素的线性计数;乘法具有相对于乘法中的位数的元素的平方计数;及等等。
类似地,当变量值表示整数或具有固定最大分子和最大分母的其它有理数,且未针对有理数闭合的SOMME被允许产生估计结果是可接受的,那么这些SOMME中的每个也可由中间变量和析取短语的集合替换。
用中间变量和析取短语替换SOMME允许直接产生SOMME的行为作为本发明的产物,且行为#3将被提供为用于二值逻辑。当SOMME未被替换时,变得可能的是,单值行列式的引入应在一个不依据另一个的且在无任何其它中间断言的情况下强加来自未替换SOMME的集合的两个或更多个其它断言。如果本发明的行为用于分析这样一种结构,那么变量值的超高多项式数量的修订可能发生;因此需用传统的数学分析补充本发明,以高效产生这样一种结构的可接受结果。这样一种补充可能需要多个值谓词被同时修订并且因此被断言,且SOMME之间的关系的性质可能需要一些值谓词即使在普遍路径中存在假设的情况下仍被无条件地断言;但只要普遍路径仍被记录或仍可重新构造,那么本发明就可成功地使用传统数学分析作为黑箱函数。
展现行为#4
行为#4可通过可选择的矛盾将在其上行进的具体普遍路径的一些手段而展现,且所述选择(通过选择它的手段的性质)未经历超高多项式数量的修订。
当矛盾约束中仅一个项被条件断言限制时,必须作出矛盾约束,以无条件地反断言所述一个项的变量的值谓词。当矛盾约束中的两个或更多个项被条件断言限制时,必须作出矛盾约束,以反断言这些项的一个的变量的值谓词,且这种反断言是有条件的,除非清楚在通向这个反断言的普遍路径中不存在合法目的地,如上文讨论。
在其中仅一个处理器对表达式操作的本发明的一个实施例中,无前提区分正式假设和伪假设,所述伪假设在作出应针对其反断言值谓词的项的选择时,是合法目的地。但是,当存在多个处理器时,换句话说,当处理已被并行化时,优选的是在正式假设的方向上移动矛盾,且暂停针对在其充分前提中仅具有伪假设的矛盾的处理,且所述伪假设未由无条件反断言创建或未在无争议变量中创建。否则,一个矛盾可朝向伪假设移动,以仅在已创建伪假设的另一个矛盾的并行移动未被成功排除时,反转运动方向,且接着重新断言已被否定的值谓词,以形成伪假设,在这种情况下,给定矛盾的运动是浪费的计算工作。
类似于通过并行化处理创建的问题的问题可在矛盾未依序移动穿过根茎网络的情况下变为明显。因此,期望维持将被解决的矛盾的堆栈或其它有序池,以确保矛盾按限制干扰的次序解决。方便的次序是解决候选约束中的矛盾,其中最新反断言紧随解决反断言约束中的矛盾之后否定所述候选约束的断言,且根据它们与创建尚未被解决的矛盾的最新递增历史反断言的邻近度继续解决矛盾。
最近目的地
在行为1#和#3已被启用展现时启用算法来展现行为#4的最简单方式之一是通过使用“最近目的地”法。最近目的地法识别“最靠近”矛盾的目的地。
接近度计数
在本发明的特定实施例中,通过比较“最小距离计数”识别最近目的地。最小距离计数非常类似于最大距离计数,除了它们表示与被合并的相同值谓词相关的最小距离计数间的最小计数而非最大距离计数间的最大计数外。
在本发明的其它实施例中,通过比较“限制计数”识别最近目的地。限制技术超越最小距离计数的优点在于它们提供由将矛盾移向其目的地所引发的计算工作的更广泛估计。所得条件普遍断言的充分前提中的限制计数构造如下:
当所得断言的充分前提被累积时,导出自先前断言的充分前提的所有限制计数被识别,且不在这些充分前提中的合并断言被赋予等于将由所得断言(其由所述断言限制)的约束中的项的值谓词的反断言限制的约束数的限制计数,且接着产生所得断言的充分前提中的值谓词的集合的并集中的相同值谓词的所有限制计数间的单个最小限制计数被识别,且通过所得断言的否定而被限制的约束数在每个被指派为所得断言的充分前提中的相应值谓词的限制计数之前,被加至每个所识别计数中。
在本发明的其它实施例中,通过比较“工作计数”识别最近目的地。工作计数超越限制计数的优点在于它们提供可能由将矛盾移向其目的地所引发的计算工作的更好估计。非假设性所得条件普遍断言的充分前提中的工作计数构造如下:
当所得断言的充分前提被累积时,导出自先前断言的充分前提的所有工作计数被识别,且不在这些充分前提中的合并断言被赋予工作计数,所述工作计数等于因被所述断言限制的项的值谓词的反断言而变为矛盾或断言的约束数,且接着产生所得断言的充分前提中的值谓词的集合的并集中的相同值谓词的所有限制计数间的单个最小工作计数被识别,且因所得断言的否定而变为矛盾或断言的约束数在每个被指派为所得断言的充分前提中的相应值谓词的工作计数之前,被加至每个所识别计数中。
因为将变为矛盾或断言的约束数可能受并行约束解决过程影响,所以工作计数可能需重新计算,来避免所述情况下的抖动。这种额外计算成本将可能剔除工作计数可能另外提供的许多优点。此外,当表达式使用多值逻辑时,可能无法准确确定将因反断言而变为矛盾或断言的约束数,因为反断言的值可能不是完全可预测的。
“接近度计数”是概括上文例示为最小距离计数、限制计数或工作计数的计数的集合的名称。其它种类的接近度计数是可能的,但任何有效接近度计数应通过提供将移动在计数被严密维持的情况下在矛盾已移动后持续或变为更显著的矛盾的方向的排序(如上述示例性接近度计数所作般)而支持最近目的地法。
对提供有效目的地的最小接近度计数的受限制项的值谓词进行反断言,和在接近度计数严密维持时否定限制反断言的项的普遍断言,将在矛盾从一个约束移动到另一个约束时,导致与被反断言否定的普遍断言的充分前提中的所选择目的地相关的接近度计数与其之前相比针对下一反断言变小;且至所选择目的地的所有其它路径的接近度计数通常将增大,但可能减小达一个增量,所述增量最多与至目的地的当前选择路径的接近度计数的减小相同,其使至所选择目的地的各种路径的接近度排序完整保留或甚至更显著地偏好所选择路径。因此,在这种情况下,矛盾将在完全不折回路径的情况下朝向所选择目的地移动。
抖动
如果未严密维持接近度计数,那么矛盾的运动可能在使用最近目的地法时抖动。当矛盾朝向所选择目的地移动,且接着揭示所选择目的地在所述方向上不再在路径中或它实际上沿着这个路径比它所表现的距离所选择目的地更远,且至相同目的地的不同路径沿着当前路径相对于所揭示距离更近,或选择不同的值谓词作为目的地,那么矛盾的运动方向改变。这种方向改变可与最近遍历的方向相反,导致“抖动”,意味着矛盾将重新遍历一些相同约束,可能在朝向最新优选目的地移动之前返回至它的原始位置。但是,在这个情况下,当矛盾移离揭示未沿着原始路径最迅速地到达优选目的地的点时,相同路径中的原始目的地和其它目的地的接近度计数将更新。这意味着如果矛盾的运动方向再次反转,那么在其中在运动方向首次反转时发现最近目的地的变化的揭示的点处或其之前将不存在揭示。因此,矛盾将最终到达目的地之一,可能来回折返约束的中心链若干次,所述次数由可能记录有关最近目的地的揭示的表达式中的约束数限制。因此,沿着在未严密维持接近度计数时提供最小接近度计数的路径,追求所选择目的地,仍产生无超高多项式成本的行为,即使方法明显不如其中严密维持接近度计数的类似方法高效。
当使用最近目的地法时无限抖动可能发生,因为泪滴中的不合法目的地可能比任何合法目的地距离矛盾更近。如果不合法目的地在超过一个方向上距离矛盾更近,那么矛盾将朝向一个不合法目的地移动,直至它的泪滴的沉降物被重新断言,此时它将作为潜在目的地消失,且反方向上的不同不合法目的地可为最近明显目的地。在所述情况下,重新否定沉降物将使原始不合法目的地再次看似最近,导致运动方向无限地重新反转。
为了在使用最近目的地法时防止无限抖动发生,可使用下列任一策略:(1)明确指示作为不合法目的地的伪假设,在为了最佳效率而进行否定沉降物的反断言时填充这个指示,且允许这个指示由通向在背景中识别泪滴的反断言或由其产生的断言隐性地继承,或(2)定期比较在充分前提中的相同变量的值谓词以重新识别明显伪假设何时非合法目的地,或(3)在反向追踪的同时进行类似重新识别,或(4)通过添加矛盾不得反转方向,除非所有其它的可能运动方向受限制且所述非限制被无条件断言完全支持的规则而修订方法,产生被称作前方最近目的地的方法。
不合法目的地的明确指示是伪假设将在可能反断言由当前记录的普遍路径内的所述值谓词限制的项的任何时候具有有效前提的有效声明,且因此不得被视为没有有效前提,即使当前未记录有效前提。如提及,不合法目的地的明确指示的可继承性应是隐性的,意味着如果第一普遍路径具有这样一种指示,且与第一普遍路径析取收敛或合取收敛的第二普遍路径无这样一种指示,那么结果应无这种指示。不合法目的地的接近度计数应类似地隐性传播。因为相同项可能看似是一个子路径中的不合法目的地,且同时表现为另一个子路径中的合法目的地,所以当使用反向追踪来识别目的地时,需要记录在搜索期间遭遇的所有值,其由已从堆栈弹出的元素的历史最佳体现。
抖动的可能性是普遍断言最好持续的主要原因,在未使用充分前提时尤为如此,且需反向追踪来获得行为#2所依赖的信息。
不管是在最新反断言之前或之后将矛盾朝向最近目的地移动的方法被称作严格最近目的地法。在优选目的地看似最近的方向上移动矛盾的方法被称作最近优选目的地法,且也存在最近前方优选目的地法。每个所列方法是最近目的地法种类的成员。
最远反转
使行为#4能在行为#1和#3已被启用展现时展现的另一类方法被称作“最远反转”法。最远反转依赖区分通向限制矛盾约束中的项的普遍条件断言的路径。
压缩充分前提的构建有效地采用级联分支减法。级联分支减法的这个相同方法可用于区分充分前提。具体地,在被添加至基础之前的最终共同基础是有关基础的“区分前提”。
在最远反转法中,需在最新条件限制的约束中识别项。这种识别可通过记录约束的所有项被限制的顺序而促进。这样一种排序可个别地针对每个约束记录或普遍数可用于这个目的。
完全最远反转法可包括下列操作:
[F1]针对给定矛盾的运动选择目的地。选择方式并不重要,只要选择是合法且持续的。如果揭示所选择目的地并非在通向给定矛盾的路径中,那么选择另一个目的地;否则,选择将在矛盾移动穿过约束时持续。
[F2]如果给定矛盾约束中仅一个或两个项受行列式限制,所述行列式在合取地收敛为它的普遍断言的充分前提中具有目的地:
[F2a]那么在这些类似合格项间是最早限制项的项是将针对其反断言值谓词的项。
[F3]否则:
[F3a]在给定矛盾约束中受行列式限制的项间,所述行列式在合取地收敛为它的普遍断言的充分前提中具有目的地,最新限制的项被指定为“主”项,且主项的普遍路径是“主路径”。
[F3b]针对在受行列式限制的给定矛盾约束中的每个项,所述行列式在合取地收敛为行列式的普遍断言的充分前提中具有目的地:
[F3b1]针对给定项将“经修剪的共同基础”初始化为空。
[F3b2]针对合取地收敛以产生限制给定项且在其充分前提中具有目的地的行列式的每个普遍断言:
[F3b2a]将给定普遍断言的充分前提复制为“临时共同基础”。
[F3b2b]针对不表示目的地或具有含有目的地的充分前提的普遍断言的值谓词的临时共同基础中的每个值谓词,按遥远度计数的升序:
[F3b2b1]将表示给定值谓词的普遍断言从临时共同基础分支减去,且将给定值谓词从临时共同基础移除。
[F3b2c]将临时共同基础分支加至经修剪的共同基础,且将给定普遍断言的值谓词加至给定项的经修剪的共同基础。
[F3c]复制主项的经修剪的共同基础作为“主基础”,且剔除主项的经修剪的共同基础。
[F3d]针对具有剩余经修剪的共同基础的给定矛盾约束中的每个项:
[F3d1]针对给定项的经修剪的共同基础中的每个值谓词,按遥远度计数的升序:
[F3d2a]如果给定值谓词在给定项的主基础中,那么将给定值谓词的普遍断言从给定项的经修剪的共同基础中分支减去。
[F3e]具有含有具有最大遥远度计数的值谓词的剩余经修剪的共同基础的给定矛盾约束中的项是将被反断言的项。
如在最近目的地法中,在最远反转法中,如果未严密维持计数,那么矛盾的运动可能抖动。在两种方法中,抖动数由可能矛盾或可提供现有矛盾的运动方向的改变的动力的约束数限制,且单个约束响应于抖动可被矛盾遍历的最大次数等于所述约束中的项数,且每当引入假设时,新的一组抖动是可能的。选择移动矛盾的方向的任何方法是可接受的方法,其将每次抖动的约束遍历数限制为约束中的项数,且将每个假设的抖动数限制为表达式中的约束数。
最远反转法通过持续选择不加入主路径或在相对于如在主路径本身中测量的距离相距矛盾最远的可能点处加入主路径的路径而运作,且这防止矛盾运动在主路径上双重折返,且接着除了在其中有关路径的信息丢失或事先不可得的情况以外,再次双重折返。
存在若干种最近目的地法;且类似地,存在若干种最远反转法。但是,虽然最近目的地法可根据如何测量接近度而变化,但是将测量遥远度的不同方法应用至最远反转法产生普遍路径中类似于彼此的断言排序。最远反转法的变型的一个更重要实例是使用分层前提的方法。
分层前提
“分层前提”是一种普遍路径的记录,其受限于提供在其普遍路径中具有具体假设的普遍断言的约束。这些约束被分层,使得因引入第一假设而产生断言的每个约束可以是所述相同集合中的另一个约束的分层前提的部分,且因结合第二假设引入第一假设而产生断言的每个约束可以是在这个后一集合中的另一个约束的分层前提的部分,且因此约束被分“层”,其中每个层被指派给具体的最新假设,其被称作其层中的断言的“源”。分层前提类似于如上文描述的经修剪的共同基础,除经修剪从共同基础不含表示来自其它层的限制的值谓词,且不包括通向伪假设而也不通过相同约束通向指定假设的路径外,且除了分层前提没有已完成计数、未完成计数或接近度计数,但确实含有普遍数,但普遍数未被修订来充当严密维持的遥远度计数之外。因而,分层前提是现有技术的部分,其中它们被简称作“前提”。
类似于经修剪的共同基础的是使用分层前提作为使用最远反转法的实施例的部分的主要优点,因为它减小了产生实际经修剪的共同基础的成本。但是,当第一根茎网络因为它的部分被不同层的第二根茎网路消耗而缩小时,通向并且产生第二根茎网络的普遍路径中的限制的第一根茎网络的路径不可得;且因此,矛盾在第二根茎网络中的运动不会识别在不发生沿着第一根茎网路的所述其它路径抖动的情况下反断言应为无条件的。此外,未被严密维持为遥远度计数的普遍数将导致额外抖动,且严密维持本身是额外计算工作。因此,总而言之,使用分层前提的最远反转法的变型不会特别高效。
最远反转法的变型可通过查找至重新加入主路径的点的较短路径或通过偏好选择针对其存在至重新加入主路径的点的短路径的目的地而提供计算成本的小的减小。
由于最近目的地法要求行进最小距离或行进预期引发最小计算成本的路径来排除矛盾,且最远反转法要求行进至主路径中的最早点,而不管所行进距离或遍历所述距离的计算成本,所以最近目的地法将易于引发较小计算成本以排除矛盾,为最近目的地法提供比特定替代方法好的优点。
调整使算法能展现行为#4的方法
在一些情况下,矛盾可能必须在与将根据最近目的地或最远反转选择的方向不同的方向上移动。当反断言的补集已为空或SOMME的系统要求仅特定变量的值谓词可能被反断言时可是这种情况。当是这种情况时,需调整选择方向的方法,无论该方法是最近目的地或最远反转。一种提供这种调整的方式是将通过在限制所述项的充分前提中发现的值谓词所识别的将被反断言的期望项与高效体现为与解决矛盾的过程相关的数据结构的运动中的矛盾关联,而非与变量、约束、项或断言关联。每个过程可能需要超过一个的这种过程符号,但这些符号数无法超过表达式中的变量数。
用于选择移动矛盾的方向的方法的一些上文描述被编写,如同目的地已被预先选择。在其中不存在用于否定特定假设而非其它假设的规定偏好的情况下,通过将限制矛盾约束中的其它项的条件普遍断言从作为反断言的候选者的每个项的普遍路径中减去而修改用于选择方向的方法通常是有用的。这样做具有将每个候选项的决定性信息限制为不是单独从穿过其它候选项的路径导出的所述因素的效果。
本发明的其它实施例
在存在特定变量获得具体值的用户偏好,且算法被更改来尊重所述偏好时,那么更改体现算法的“保守”变型。当未实施更改时,算法的“动态”变型被体现。
当多个偏好具有相同排序时,在解决矛盾时可将差异体现为对特定目的地的偏好。但是,当需要严密优化时,需将本发明体现为找到变量的满足赋值的过程,之后紧随另一个过程,其取得包括前提的所得网络,且按偏好的排序顺序一次一个地将优选值强加为无条件断言,在它产生必要矛盾的情况下排斥任何这种无条件断言。
复合偏好结构可体现为额外约束,诸如可解释为表示优化评分例的和、乘积或其它结果的约束。在这种情况下,在表示这种结果的变量上强加偏好。
本发明的实施例可以各种方式实施。针对特定衬底的实施的选择可依据该衬底可得的实施经济性。具体地,装置的生产通常以计算时间的线性增加为交换,以为机构节省空间的平方倍成本,且软件的生产通过作出相反交换,其偏好以额外存储器使用为代价节省计算时间。提供低的最大计算成本的本发明的一个特别有用的实施例体现为单线程动态变型,其执行选择移动矛盾的方向的最近目的地法,且存储包括未完成计数和最大距离计数和限制计数的经压缩的充分前提。充分前提的绝大多数被最好地严密维持,但最大距离计数和限制计数被最好地延迟维持,且SOMME值谓词修订被最好地延迟维持,除非本发明由提供传统的数学分析的过程补充。
一般性
本发明的实施例使用约束本身之间的关系来界定矛盾移动穿过的邻近空间。因此,矛盾的运动不受值的性质的影响,无论它们是精确排序、部分排序或互斥,且无论它们是互相排斥或模糊的;这种运动也不受值谓词的质量的影响,无论它们是区间、集合或离散值;这种运动也不受约束的扩展的质量或形状影响,无论它是连续、分叉或离散且无论它是凸的、连续但非凸或非连续或根本不存在可行的扩展。本发明的实施例的正确性和最大计算开支的量值的顺序也不受其中进行假设的顺序或在竞争断言间判定哪个断言变为普遍的顺序的不利影响。但是,本发明的实施例的最大计算开支受变量数、所述变量的差异值数和约束数的影响;且因为SOMME可能对具有无限数量的值的变量操作,所以本发明的实施例的运动和最大计算开支受约束是析取短语或其它显式逻辑表达式或SOMME的影响。
当表达式包括SOMME时由矛盾的解决产生的反断言的数量、方向和条件性可能与如上文提及当表达式仅含有析取短语时不同;但约束的邻近度和约束界定且矛盾移动穿过其中的邻近空间的定义保持不受影响。因此,本发明的实施例提供一种处理表达式的手段,其比依赖线性表达式、欧几里得距离、传统拓扑接近度或凸扩展的方法的用途多样得多。
示例性实施例
实施例#1(一般性计算)
本发明的一个实施例是对计算机化计算的一般性改进,提供在求解NP、NP完全或NP难问题的同时减小运行计算装置的成本和减小计算装置的操作者在求解NP、NP完全或NP难问题时等待结果所需的时间量。本发明的这个实施例相当于计算器中的新运算电路或类似于仿真这样一种电路的软件模块。
实施例#2(模板制作)
本发明的一个实施例是一种装置或自动化过程,其提供由另一个机器用于从材料中切出零件或另外由机器用于将材料的一些处理引导至产品的部件中的模板,无论过程是由木材制作木料,由布、皮革或塑料制作服装衣片(clothingpanel)或由金属板、条或线制作汽车或其它机器零件,或由精细材料制作某一其它制成的零件。
本实施例的技术效应是提供模板,其允许材料的最佳利用,而无多余的计算成本,其减小材料的浪费和计算成本。这种优化通常使用表示将提供的零件的几何形状要求的变量和约束,并且也可包括反映可能从特定一块原料提供的零件的不同经济价值的约束以及包括概括材料的利用和产品的价值的约束,使得本发明的这个实施例的保守变型可推动使原料利用或所产生价值最大化的模板的生产。当约束反映零件的不同价值时,那么额外技术效应是产品价值的最大化。
(参见Javanshir,H.和Shadalooee,M.的“通过限定虚拟成本在一维下料问题(1D-CSP)中裁剪损耗浓度(TheTrimLossConcentrationinOne-DimensionalCuttingStockProblem(1D-CSP)byDefiningaVirtualCost)”国际工业工程学杂志(Journalof IndustrialEngineeringInternational)2007;
Kenyon、Claire和Rémila、Eric的“二维下料问题的近最优解(ANear-OptimalSolutiontoaTwo-DimensionalCuttingStockproblem)”数学运算研究(Mathematicsof OperationalResearch)2000。)
实施例#3(切割机控制)
本发明的一个实施例是切割机、钻孔机、研磨机或从原料提供零件的其它机器的控制机构的部分,无论由机器供应的过程是从木材中切割出木料、从木料中切割出家具零件、从布、皮革或塑料中切割出衣片或从金属板、条或线中切割出汽车或其它机器零件或从精细材料切割出某一其它制成零件。
本实施例的技术效应是在无过多计算成本的情况下提供材料的最佳利用的钻头或切削表面的控制,其减小材料的浪费、计算成本和总切割时间。这种优化通常使用表示所提供零件的几何形状要求的变量和约束,并且也可包括表示可能从特定一块原料提供的零件的不同经济价值的约束以及包括概括材料的利用和产品的价值的约束,使得本发明的这个实施例的保守变型可强加使原料利用或所产生价值最大化的零件的提供。当约束反映零件的不同价值时,那么额外技术效应是产品价值的最大化。
(参见Javanshir和Shadalooeeop.cit.;KenyonandRémilaop.cit.)
实施例#4(机器人车辆控制)
本发明的一个实施例是机器人车辆的控制机构的部分,允许车辆选择至其目的地的方便路径。
本实施例的技术效应是行驶时间或成本的最小化,同时减小与作出驾驶车辆的决策相关的等待时间和计算成本。除概括物理和经济阻碍的约束外,这种最小化通常使用表示目的地的地理位置、各种位置之间的地理路径和与各种路径区段相关的物理或经济阻碍的变量和约束,使得本发明的这个实施例的保守变型可能促使具有最小行驶时间或成本的路径的选择。
(参见Peng,Jufeng和Akella,Srinivas的“用沿着指定路径的Kinodynamic约束协调多个机器人(CoordinatingMultipleRobotswithKinodynamicConstraintsalongSpecifiedPaths)”国际机器人研究杂志(InternationalJournalofRoboticsResearch)2005。)
实施例#5(数据压缩)
本发明的一个实施例是一种用于压缩数据的装置或自动化过程,无论数据表示文本、图像、音频消息、视频记录、可执行二进制或某一其它加密或非加密的信息单元,无论数据是数字或可表示为模拟数据的傅立叶分解或其它代数分解。
本实施例的技术效应是相对于产生压缩的计算的成本,对信息单元的压缩效果的优化。除表示压缩概括的约束外,这种优化通常使用表示有关解压缩信息所需的消逝时间的偏好的变量和约束和反映各种压缩策略的计算成本和压缩好处的约束,使得本发明的这个实施例的保守变型可促使最佳压缩结果。
(参见Ruhl,Matthias和Hartenstein,Hannes的“最佳分形编码是NP难(OptimalFractalCodingisNP-Hard)”图像处理国际会议论文集(ProceedingsoftheInternational ConferenceonImageProcessing)1997。)
实施例#6(蛋白质设计)
本发明的一个实施例是一种提供符合给定几何结构的氨基酸序列的装置或自动化过程。
本实施例的技术效应是与生产定制蛋白质或产生定制蛋白质的模型相关的时间和计算开支的减小和设计师等待时间的减小。除反映蛋白质的优选三维形状的约束外,这样一种装置或自动化过程通常使用表示对氨基酸在缩氨酸中的定位的化学限制的变量和约束,无论所述限制是基于氢结合、离子相互作用、范德华力或疏水性填料或其它已知或疑似的化学性质或环境条件,使得本发明的这个实施例的动态变型可产生相符的氨基酸序列。
(参见Pierce,NilesA.和Winfree,Erik的“蛋白质设计是NP-难(ProteinDesignisNP-Hard)”蛋白质工程(ProteinEngineering)2002。)
实施例#7(电信流量路由)
本发明的一个实施例是一种通过将消息通过路由移离网络拥塞而相对于成本优化电信网络的利用率的装置或自动化过程。
本实施例的技术效应是现有电信网络的消息路由能力的利用率的优化,同时减小等待时间和节省与提供所述利用率相关的计算成本。除了使用概括成本和利用性的约束外,这种优化通常使用表示电信网络的拓扑、网络上拥塞的测量、将传输的消息的实用价值和各种使用成本和跨网络的各种区段的传输速度的变量和约束,使得本发明的这个实施例的保守变型可促使消息负载的最佳路由。
(参见Gibbens,R.J.等人的“动态可替代路由-建模和行为(DynamicAlternativeRouting–ModellingandBehaviour)”第12届国际电信业务大会论文集(Proceedingsofthe 12 th InternationalTeletrafficCongress)1988。)
实施例#8(波分多播流量疏导)
本发明的一个实施例是一种产生ADM安装例的装置或自动化过程,所述例由波长列表和每个光纤的若干插分复用器(ADM)组成,所述例在硬件成本或阻塞概率方面是最佳的。
本实施例的技术效应是WDM网络的优化来使构造和维持网络的成本或达到流量阻塞条件的概率最小化,同时节省与执行导致波长列表和若干ADM产生的优化相关的计算成本。除概括成本或阻塞概率的约束外,这种优化通常使用表示传输通道的可用带宽、光学器件的成本、ADM和网络的其它部件和可能的预期流量需求的变量和约束,使得本发明的这个实施例的保守变型可强加使成本或阻塞概率最小化的ADM安装例。
(参见Capone,Antonio等人的“具有组播流量和统计复用的多层网络设计(Multi-layerNetworkDesignwithMulticastTrafficandStatisticalMultiplexing)”全球电信会议(GlobalTelecommunicationsConference)2007。)
实施例#9(卫星定位)
本发明的一个实施例是一种针对一组轨道卫星产生满足服务弧度要求、同时使通信干扰和碰撞的可能性最小化的定位规范的装置或自动化过程。
本实施例的技术效应是卫星定位的优化,其提供最小化成本,所述成本由损毁的风险和由通信干扰导致的服务劣化的组合组成,同时节省与执行优化相关的计算成本。除概括定位规格的价值和成本的约束外,这种优化通常使用表示轨道力学、其中可定位卫星组的壳、现有卫星和残骸的轨道、基站和界定每个卫星的服务弧度的值的其它地面物体的位置和壳中的各种位置的定位成本的变量和约束,使得本发明的这个实施例的保守变型可促使最佳定位规范的产生。
(参见SusanB.和Liebling,ThomasM.的“使用单边约束对作为网络流问题的卫星位置问题建模(Modelingthesatelliteplacementproblemasanetworkflowproblemwithonesideconstraint)”运筹学概览(OperationsResearchSpektrum)1991。)
实施例#10(部件设计)
本发明的一个实施例是一种使制造满足所需实体规格的部件所需的劳动力和材料成本最小化的部件设计的装置或自动化过程,无论所述部件是结构桁架、潜艇螺旋桨、电池或任何其它种类的部件。
本实施例的技术效应是实体部件的制造成本的最小化,同时节省与产生这样一种最小化相关的计算成本,且同时节省部件设计者的等待时间。除概括成本的约束外,这种最小化通常使用表示部件的实体要求的规格、可用于构造部件的可用材料和它们的原料规格、确定材料类型和它们的构造如何影响部件的物理性质的关系和将原料更改为零件并且装配它们的成本的变量和约束,使得本发明的这个实施例的保守变型可强加使制造成本最小化的设计。
(见Pownuk,Andrzej的“采用区间分析优化机械结构(Optimizationofmechanicalstructuresusingintervalanalysis)”计算机辅助机械工程科学(ComputerAssisted MechanicsandEngineeringSciences)2000。)
实施例#11(密码分析)
本发明的一个实施例是一种找到乘积因子或将已用于加密数据的散列反转的装置或自动化过程。
本实施例的技术效应是密码文本分解为纯文本,同时节省与产生这种分解相关的计算成本。这样一种装置或自动化过程通常使用表示密码文本以及表示已应用或可能已被应用于纯文本以产生密码文本的已知或疑似加密算法的变量和约束,使得本发明的这个实施例的动态变型可产生明文。
(见Valée,Brigitte的“用小模平方和可证明的快速整数分解算法的元素生成GenerationofElementswithSmallModularSquaresandProvablyFastIntegerFactoringAlgorithms”计算数学(MathematicsofComputation)1991。)
实施例#12(CPU作业调度)
本发明的一个实施例是一种产生将由计算机的中央处理单元(CPU)处理的作业调度的装置或自动化过程,所述作业调度使CPU在给定工作负载下的吞吐量或响应能力最大化或使能耗最小化。
本实施例的技术效应是CPU的吞吐量或响应能力的最大化或能耗的最小化,同时节省与产生调度相关的计算成本,其接着提供对CPU的吞吐量或响应能力的额外改进。除概括所使用的能量或反映CPU在执行作业调度时的响应能力或吞吐量的测量的约束外,这样一种装置或自动化过程通常使用表示将执行的作业和它们的紧急度、作业的子步骤和它们的顺序、每个子步骤所需的资源和可用于CPU的资源的变量和约束,使得本发明的这个实施例的保守变型可强加吞吐量或响应能力的最大化或能耗的最小化。
(参见Baruah,SanjoyK.的“在一个处理器上抢先调度硬实时散发任务(PreemptivelySchedulingHard-Real-TimeSporadicTasksonOneProcessor)”实时系统研讨会(Real-Time SystemsSymposium)1990。)
实施例#13(IC测试总线开发)
本发明的一个实施例是一种产生用于系统芯片(SOC)或其它复合集成电路芯片(IC)的包括测试总线的片上测试访问架构或测试访问机构(TAM)的设计的装置或自动化过程,其中这种设计包括指派核心给测试总线、测试总线的宽度和它们的细分和测试调度。
本实施例的技术效应是测试总线的优化,其提供测试实用价值相对于测试总线的构造成本的最大化,同时节省与执行优化相关的计算成本。除概括测试调度所需的测试时间的值和构造总线的成本的约束外,这种优化通常使用表示核心和它们的输入引脚、所需的各种测试和它们的核心引脚访问要求、完成各种测试的时间、缩短的测试时间的值和增大测试总线宽度的成本的变量和约束,使得本发明的这个实施例的保守变型可促使测试实用价值相对于测试总线的构造成本的优化。
(参见Chakrabarty,Krishnendu的“片上系统的最佳测试访问架构(OptimalTestAccessArchitecturesforSystem-on-a-Chip)”电子系统自动化设计的ACM交易(ACM TransactionsonDesignAutomationofElectronicSystems)2001。)
实施例#14(IC电路划分、布图规划和布局)
本发明的一个实施例是一种产生电路布局的装置或自动化过程,所述电路布局将逻辑定义的复杂行为分离至适于作为IC的部分定位的多个模块、电路核心、单元或区块中,其中布局满足大小限制或对电路核心、单元或区块之间的互连件的数量或大小的限制,其接着可提供在期望限值内的电路延迟。
本实施例的技术效应是满足大小和电路延迟限制的电路划分,同时节省与产生电路布局相关的计算成本。这样一种装置或自动化过程通常使用表示电路的逻辑行为、个别逻辑行为至子电路的可能转化、各种子电路的大小和电路延迟的变量和约束,包括对由芯片的几何形状和各种电效应导致的对各种子电路部件的并置的限制、对分区大小和电路延迟的限制和电路布局的大小和延迟的概括,使得本发明的这个实施例的动态变型可产生令人满意的布局。由这样一种装置或自动化过程使用的约束也可表示构造成本和提供成本与性能之间的权衡的公式,使得本发明的这个实施例的保守变型可促使提供权衡的优化的电路布局。
(参见Kahng,AndrewB.等人的VLSI物理设计:从图形划分到时序收敛(VLSI PhysicalDesign:fromGraphPartitioningtoTimingClosure)2011。)
实施例#15(IC电源、接地、时钟和网表布线)
本发明的一个实施例是一种产生IC的接线例的装置或自动化过程,无论所述例包括用于IC的各种核心、单元或区块的电源引脚、接地引脚、时钟信号引脚或连接输入和输出引脚的布线,其中例满足对核心、单元或区块之间的互连件的长度和宽度的限制,使得互连件不超过IC上的可用空间且不违反IC的电路延迟限制。
本实施例的技术效应是产生满足大小和电路延迟限制的接线例,同时节省与产生接线例相关的计算成本。除概括由核心、单元或区块消耗的空间和可能的时钟电路的信号延迟的约束外,这样一种装置或自动化过程通常使用表示各种核心、单元或区块和它们的形状和引脚、每个核心、单元或区块的输出引脚至其它核心、单元或区块上的所需输入引脚之间的连接列表、至核心、单元或区块输入引脚的芯片输入引脚的连接列表、由于芯片大小的几何形状和制造工艺产生的对互连件大小的限制、由于电效应(诸如电容耦合或电感串扰)产生的对互连件并置的限制和实施时钟关闭技术的可能性诸如加宽互连件和克隆模块的变量和约束,使得本发明的动态变型可强加满足空间和信号延迟要求的接线例。通常由这样一种装置或自动化过程使用的约束也可表示构造成本和提供成本与性能之间的权衡的公式,使得本发明的这个实施例的保守变型可促使提供成本与性能之间的最佳平衡的接线例。
(见Kahng,AndrewB.等人.的op.cit.)
实施例#16(高级IC制作)
本发明的一个实施例是一种产生用于IC制造的满足大小和性能要求的掩模和应结合掩模应用以直接生产满足行为规范的IC的一系列制造工艺的装置或自动化过程。
本实施例的技术效应是大大流水化的IC设计过程,其在无本发明的情况下在理论上可行,仅因由本发明提供的计算成本被节省而变为可行。除概括IC的大小和性能特性的约束外,这样一种装置或自动化过程通常使用表示IC制造的大致所有技术限制、提议的制造厂的具体限制、其上可形成IC的各种晶圆大小的几何限制、生产掩模本身的编码要求(无论掩模用于沉积、移除、图案化或电性质的修订)、IC的期望功能行为、IC行为的所需测试、提供相同功能行为但在它们的电、磁或信号传播性质上不同的部件的各种实施的变量和约束,使得本发明的动态变型可强加满足行为、大小和性能要求的掩模生产和工艺应用。除概括IC设计的成本和市场价值的约束外,由这样一种装置或自动化过程使用的变量和约束也可表示各种部件实施的成本、各种大小和性能范围的IC的预期价值和市场需求、新IC制造启动的成本,使得本发明的这个实施例的保守变型可强加相对于预期市场价值和需求优化IC的成本的掩模的生产和工艺应用。
实施例#17(控制系统设计)
本发明的一个实施例是一种产生控制系统(诸如核反应堆控制系统或锻铁炉的控制系统或控制复杂工艺的任何其它系统)的设计的装置或自动化过程。
本实施例的技术效应是产生最佳设计,同时节省与产生优化相关的计算成本,且同时节省设计者的等待时间。除概括成本或精度的约束外,这种优化通常使用表示可得控制元素(包括它们的成本和效应)和控制问题的特性化(包括控制精度的可接受公差)的变量和约束,使得本发明的这个实施例的保守变型可强加针对成本或精度优化的设计。
(参见Blondel,VincentD.和Megretski,Alexandreeds.的“数学系统和控制理论中尚未解决的问题(UnsolvedProblemsinMathematicalSystemsandControlTheory)”2009。)
实施例#18(机器人逆运动学)
本发明的一个实施例是一种产生引导机器人的移动、使得它在穿越障碍领域的同时到达指定位置的一组指令的装置或自动化过程。
本实施例的技术效应是一组机器人指令的产生,同时节省与产生一组机器人指令相关的计算成本且同时缩短使指令产生的时间。除概括运动成本的约束外,这样一种装置或自动化过程通常使用表示期望目的地位置、将避开的障碍的尺寸和位置、机器人的尺寸和起始位置、机器人的可能运动(包括机器人的位置或尺寸的所产生变化)和每个运动的成本的变量和约束,使得本发明的这个实施例的保守变型可强加导致以最小成本到达期望目的地位置的运动的一组指令。
(见Parsons,David和Canny,John的“分子生物学和机器人中的几何问题(GeometricProblemsinMolecularBiologyandRobotics)”ISMB1994。)
实施例#19(优化编译器)
本发明的一个实施例是一种将软件源代码编译为机器码(无论是支持寄存器分配、指令选择、宏压缩、循环优化、数据布局优化、代码并行化或任何其它复杂编译过程)的装置或自动化过程。
本实施例的技术效应是产生积极优化的机器码,同时节省与优化相关的计算成本,且同时节省代码开发人员的等待时间。除概括计算成本的约束外,这种优化通常使用表示源代码、可用寄存器(包括它们的大小)、可用操作(包括它们的计算成本和任何具体寄存器任务)、可用溢出资源(包括它们的大小和访问的计算成本)和将源代码指令映射至一组机器指令的拼砌的变量和约束,使得本发明的这个实施例的保守变型可促使满足源代码且具有最小计算成本的机器码的产生。
(见Kremer,Ulrich的“硬编译问题的最佳和近最优解(OptimalandNear-OptimalSolutionsforHardCompilationProblems)”并行处理快报(ParallelProcessingLetters)1997;
Megiddo,Nimrod和Sarkar,Vivek的“并行程序的最优加权循环融合(OptimalWeightedLoopFusionforParallelPrograms)”第九年度并行算法和架构ACM研讨会论文集(ProceedingsoftheninthannualACMsymposiumonParallelalgorithmsand architectures)1997。)
参考图2,示出由根据本发明的一个实施例实施的计算机系统执行的方法200的流程图。方法200响应于反断言值谓词而将矛盾移动穿过由蕴涵的普遍路径所组成的根茎网络界定的邻近空间(图2,操作202)。反断言是否定其它断言的值谓词的断言,其导致被否定断言的普遍路径移离剩余断言的普遍路径。剩余断言包括反断言。
方法200也产生经反断言值谓词,其不在保留在反断言的普遍路径中的任何约束中创建矛盾(图2,操作204)。方法200也收集表示蕴涵的普遍路径和矛盾运动的普遍路径的第一数据(图2,操作206)。方法1700也使用第一数据来通知方向选择,使得矛盾朝向其中未记录前提有效的不一致的邻近空间中的位置移动(图2,操作208)。方法200也以排除抖动的方式选择矛盾来解决以及选择项进行反断言(图2,操作210)。
将了解,虽然上文已参考特定实施例描述本发明,但是上文实施例仅作为说明性提供,且不限制或界定本发明的范围。各种其它实施例(包括但不限于下文)也在权利要求的范围内。例如,本文中描述的元件和部件可进一步划分为额外部件,或结合在一起以形成用于执行相同功能的更少部件。
本文中公开的任何功能可使用用于执行所述功能的装置实施。这些装置包括但不限于本文中公开的任何部件,诸如下文描述的计算机相关部件。
上文描述的技术可实施在例如硬件、有形存储在一个或更多个计算机可读介质上的一个或更多个计算机程序、固件或其任何组合中。上文描述的技术可实施在执行于可编程计算机上(或可由其执行)的一个或更多个计算机程序中,包括任何数量的下列项目的任何组合:处理器、可由处理器读取和/或写入的存储介质(包括例如易失性和非易失性存储器和/或存储元件)、输入装置和输出装置。程序代码可应用至使用输入装置键入的输入,以执行所描述的功能和使用输出装置产生输出。
下文权利要求范围内的每个计算机程序可在任何编程语言中实施,诸如汇编语言、机器语言、高阶程序式编程语言或面向对象编程语言。编程语言可例如为编译或解译编程语言。
每个这种计算机程序可实施在有形体现在机器可读存储装置中供计算机处理器执行的计算机程序产品中。本发明的方法步骤可由一个或更多个计算机处理器执行,其执行有形体现在计算机可读介质上的程序,以通过操作输入和产生输出而执行本发明的功能。适当处理器包括举例来说通用和专用微处理器。通常,处理器接收(读取)来自存储器(诸如只读存储器和/或随机存取存储器)的指令和数据,并且将指令和数据写入(存储)至存储器。适于有形体现计算机程序指令和数据的存储装置包括例如所有形式的非易失性存储器,诸如半导体存储器装置,包括EPROM、EEPROM和闪存装置;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;和CD-ROM。任何上述内容可由专门设计的ASIC(专用集成电路)或FPGA(现场可编程门阵列)补充或并入其中。计算机通常也可接收(读取)来自非暂时性计算机可读存储介质(诸如内部磁盘(未示出)或可移动磁碟)的程序和数据,并且将程序和数据写入(存储)至其中。这些元件也将在传统的桌上型或工作站计算机以及适于执行实施本文中描述的方法的计算机程序的其它计算机中发现,其可结合任何数字打印引擎或标记引擎、显示监视器或能够在纸张、膜、显示屏幕或其它输出介质上产生彩色或灰阶像素的其它光栅输出装置使用。
本文中公开的任何数据可实施在例如有形地存储在非暂时性计算机可读媒介上的一个或更多个数据结构中。本发明的实施例可将这种数据存储在这个(这些)数据结构中,并且从这个(这些)数据结构中读取这个数据。
虽然本文中可使用可能与可用于描述心理动作的语言类似的语言(诸如“决策”、“分析”和“总结”)来描述特定实施例,但是这种语言仅为方便而使用,且作为简约表达来描述由本发明的实施例使用实体部件(诸如晶体管、逻辑门和处理器)执行的实体动作。这种语言因此应仅解释为指代由实体组件执行的这些实体动作,且不指代由人或任何其它生物的心理执行的任何心理动作。
类似地,虽然本文中可使用数学和哲学语言(诸如“矛盾”、“变量”和“约束”)来描述特定实施例,但是这种语言仅为方便而使用,且作为简约表达来描述实体部件的具体实体性质和由这些部件执行的实体动作,且不是描述任何抽象理念(无论是数学、哲学或其它的)。这种语言因此应仅被解释为指代实体部件的这些物理性质和由这些部件执行的实体动作,且不是指代任何抽象理念(无论是数学、哲学或其它的)。
Claims (22)
1.一种由至少一个计算机处理器执行的用于求解NP问题的方法,所述方法包括:
响应于反断言值谓词,将矛盾移动穿过由蕴涵的普遍路径所组成的根茎网络界定的邻近空间,反断言是否定其它断言的值谓词的断言,其导致被否定的断言的所述普遍路径从剩余断言的所述普遍路径被移除,所述剩余断言包括所述反断言,由此产生不在保留在所述反断言的所述普遍路径中的任何约束中创建矛盾的经反断言的值谓词;
收集表示蕴涵的所述普遍路径和矛盾运动的所述普遍路径的第一数据;
使用所述第一数据来通知方向选择,使得矛盾朝向所述邻近空间中的位置移动,其中所述邻近空间中未记录前提有效的不一致;和
以排除抖动的方式选择矛盾进行解决以及选择项进行反断言。
2.根据权利要求1所述的方法,其中选择包括以排除每个假设超过问题表示中的约束的一个遍历的抖动的方式进行选择。
3.根据权利要求1所述的方法,其中将所述矛盾移动穿过所述邻近空间包括将所述矛盾移动穿过所述邻近空间中的连续位置。
4.根据权利要求1所述的方法,
其中所述第一数据包括遥远度计数和接近度计数中的至少一个,以及所述普遍路径中的目的地列表;和
其中选择所述项来反断言包括根据最近目的地法选择项来反断言。
5.根据权利要求1所述的方法,
其中第一数据包括所述普遍路径中的目的地列表、所述普遍路径中的条件普遍断言的列表和遥远度计数;和
其中选择所述项进行反断言包括根据最远反转法选择项进行反断言。
6.根据权利要求1或权利要求3所述的方法,
其中选择所述矛盾进行解决包括选择占据提供普遍断言的约束的矛盾,所述普遍断言限制最新解决的所述矛盾的所述约束中的项。
7.一种计算装置,其包括:
非暂时性存储器;和
处理器;
其中所述非暂时性存储器包括表示多个计算机可读指令的信号;和
其中所述处理器适于执行所述多个计算机可读指令来执行用于解决NP问题的方法,所述方法包括:
响应于反断言的值谓词,将矛盾移动穿过由蕴涵的普遍路径所组成的根茎网络界定的邻近空间,反断言是否定其它断言的值谓词的断言,其导致被否定断言的所述普遍路径从剩余断言的所述普遍路径被移除,所述剩余断言包括所述反断言,由此产生不在保留在所述反断言的所述普遍路径中的任何约束中创建矛盾的经反断言的值谓词;
收集表示蕴涵的所述普遍路径和矛盾运动的所述普遍路径的第一数据;
使用所述第一数据来通知方向选择,使得矛盾朝向所述邻近空间中的位置移动,其中所述邻近空间中未记录前提有效的不一致;和
以排除抖动的方式选择矛盾进行解决以及选择项进行反断言。
8.根据权利要求7所述的计算装置,其中选择包括以排除每个假设超过问题表示中的约束的一个遍历的抖动的方式进行选择。
9.根据权利要求7所述的计算装置,其中将所述矛盾移动穿过所述邻近空间包括将所述矛盾移动穿过所述邻近空间中的连续位置。
10.根据权利要求7所述的计算装置,
其中所述第一数据包括遥远度计数和接近度计数中的至少一个,以及所述普遍路径中的目的地列表;和
其中选择所述项进行反断言包括根据最近目的地法选择项进行反断言。
11.根据权利要求7所述的计算装置,
其中所述第一数据包括所述普遍路径中的目的地列表、所述普遍路径中的条件普遍断言的列表和遥远度计数;和
其中选择所述进行反断言包括根据最远反转法选择项进行反断言。
12.根据权利要求7或权利要求10所述的计算装置,
其中选择所述矛盾进行解决包括选择占据提供普遍断言的约束的矛盾,所述普遍断言限制最新解决的所述矛盾的所述约束中的项。
13.一种计算装置,其包括:
适于表示普遍断言的根茎网络的部件;
适于创建假设的部件;
适于执行蕴涵的过程的部件;
适于执行定位断言、断言的约束和矛盾约束的过程的部件;
适于实施堆栈和弹出元素的历史的部件;
适于初始化所述弹出元素的历史的部件;
部件,其适于使用所述堆栈来通过以深度优先方式反向追踪穿过所述根茎网络而搜索所述根茎网络,其通过推动第一限制项开始,且每当所述堆栈中的顶部项未被普遍断言限制或每当不存在其他项来在所述普遍约束中探索时,进行弹出,其中所述普遍约束限制所述堆栈中的所述顶部项正下方的项,在断言确实限制或将限制所述堆栈中的所述顶部项的情况下,将至少一个指定值从所述搜索中排除;
适于将遭遇的断言与所述弹出元素的历史中的断言进行比较以识别已被成功探索的所述搜索的分支的部件;
适于将所述搜索中遭遇的断言与所述堆栈中较低处的断言进行比较以识别不合法目的地和循环断言的部件;
适于追踪接近度计数并且将所述接近度计数随附至所述堆栈上的元素的部件;
适于将最小接近度计数初始化为零的部件;
适于维持合法目的地之间的最小接近度计数并且在所述最小接近度计数被替换时将所述第一限制项记录为与所述最小接近度计数相关的部件;
适于维持针对其识别合法目的地的所述第一限制项的计数的部件;
适于维持被最新反断言否定的断言的记录的部件;
适于识别可被反断言的项的值谓词的部件;
适于在给定的经反断言的值谓词的情况下识别一组断言以进行否定的部件;
部件,其适于如果有所记录的被否定断言的所述约束,则针对所述所记录的被否定断言的所述约束,并且另外针对任何矛盾约束,导致所述最小接近度计数被初始化,导致所述弹出元素的历史被初始化,导致除第二断言以外的支持矛盾约束中的限制的每个第一普遍断言的所述普遍路径被搜索,其中所述第二断言是将被除所述第一限制项以外的所述矛盾约束中的反断言条件限制项否定的断言,且如果有在针对其未充分支持限制的所述矛盾约束中的项的值谓词,则对其进行反断言,并且另外反断言被与所述所记录的最小接近度计数相关的所述断言限制的所述矛盾约束中的所述项的值谓词;并且在所述矛盾约束中除所述经反断言项以外不存在任何项的合法目的地的情况下,记录所述反断言是无条件的,和
部件,其适于在所述反断言已被识别为循环断言的情况下,或在所述相同变量的现存断言的合取收敛表示所述经反断言的值谓词的子集的情况下,记录所述反断言是非普遍的,并且否则记录所述反断言是普遍的,并且在所述反断言是普遍的情况下,否定与所述经反断言的值谓词不一致的任何断言,并且可限制未断言的约束中的相同变量的项,并且重复这些动作,直至无矛盾存在或在所述矛盾约束中不存在未受限制的项并且所述限制被无条件断言充分支持。
14.一种由至少一个计算机处理器执行的用于求解NP问题的方法,所述方法包括:
表示普遍断言的根茎网络;
创建假设;
执行蕴涵的过程;
执行定位断言、断言的约束和矛盾约束的过程;
实施堆栈和弹出元素的历史;
初始化所述弹出元素的历史;
使用所述堆栈来通过以深度优先方式反向追踪穿过所述根茎网络而搜索所述根茎网络,其通过推动第一限制项开始,且每当所述堆栈中的所述顶部项未被普遍断言限制或每当不存在其他项来在所述普遍约束中探索时,进行弹出,其中所述普遍约束限制所述堆栈中的所述顶部项正下方的项,在断言确实限制或将限制所述堆栈中的所述顶部项的情况下,将至少一个指定值从所述搜索中排除;
将遭遇的断言与弹出元素的所述历史中的断言进行比较,以识别已被成功探索的所述搜索的分支;
将所述搜索中遭遇的断言与所述堆栈中较低处的断言进行比较,以识别不合法目的地和循环断言;
追踪接近度计数并且将所述接近度计数随附至所述堆栈上的元素;
将最小接近度计数初始化为零;
维持合法目的地之间的最小接近度计数,并且在所述最小接近度计数被替换时,将所述第一限制项记录为与所述最小接近度计数相关;
维持针对其识别合法目的地的所述第一限制项的计数;
维持被最新反断言否定的断言的记录;
识别可被反断言的项的值谓词;
在给定经反断言值谓词的情况下识别一组断言来否定;
如果有所记录的被否定断言的所述约束,则针对所述所记录的被否定断言的所述约束,并且另外针对任何矛盾约束,导致所述最小接近度计数被初始化,导致所述弹出元素的历史被初始化,导致除第二断言以外的支持矛盾约束中的限制的每个第一普遍断言的所述普遍路径被搜索,其中所述第二断言是将被所述矛盾约束中除所述第一限制项以外的反断言条件限制项否定的断言,且如果有在针对其未充分支持限制的所述矛盾约束中的项的值谓词,则对其进行反断言,并且另外反断言被与所述所记录的最小接近度计数相关的所述断言限制的所述矛盾约束中的所述项的值谓词;并且在所述矛盾约束中除所述经反断言项以外不存在任何项的合法目的地的情况下,记录所述反断言是无条件的,和
在所述反断言已被识别为循环断言的情况下,或在所述相同变量的现存断言的合取收敛表示所述经反断言的值谓词的子集的情况下,记录所述反断言是非普遍的,且否则记录所述反断言是普遍的,并且在所述反断言是普遍的情况下,否定与所述经反断言的值谓词不一致的任何断言,并且可限制非断言的约束中的相同变量的项,并且重复这些动作,直至无矛盾存在或在所述矛盾约束中不存在未受限制的项并且所述限制被无条件断言充分支持。
15.一种计算装置,其包括:
适于表示普遍断言的根茎网络的部件;
适于创建假设的部件;
适于执行蕴涵的过程的部件;
适于执行定位断言、断言的约束和矛盾约束的过程的部件;
适于存储充分前提的部件,其中所述充分前提包括用于普遍断言的遥远度计数;
适于执行两个普遍断言与所加分支之一的遥远度计数的偏差的分支相加,由此产生充分前提的部件;
适于执行从第二充分前提分支减去断言的分支减法,由此产生基础、共同基础和充分前提之一的部件;
适于从在所述基础与所述共同基础之间匹配的值谓词的共同基础执行分支减法的级联、以产生共同基础和经压缩的共同基础的经修剪之一的部件,其中所述级联根据所述共同基础中的升序遥远度计数进行排序;
适于比较断言的所述值谓词与所述断言的所述充分前提中的所述值谓词、以识别不合法目的地或所述断言是循环断言的部件;
适于从合取收敛的普遍断言的所述充分前提的并集中的所述合法目的地选择合法目的地、以提供限制矛盾约束中的第一项的行列式的部件;
适于维持所述第一项的计数的部件,其中针对所述第一项的计数识别所选择的合法目的地;
适于维持被最新反断言否定的断言的记录的部件;和
适于识别可被反断言的项的值谓词的部件;
适于在给定经反断言的值谓词的情况下识别一组断言以进行否定的部件;
部件,其适于如果有所记录的被否定断言的所述约束,则针对所述所记录的被否定断言的所述约束,并且另外针对任何矛盾约束,如果有针对其未充分支持限制的所述矛盾约束中的项的值谓词,则对其进行反断言,且否则导致目的地被选择,并且反断言被具有含有所述所选择目的地的充分前提的普遍断言限制的所述矛盾约束中的项的值谓词,并且导致充分前提被记录用于所述反断言,并且在所述反断言的所述充分前提中不存在合法目的地的情况下,记录所述反断言是无条件的;
部件,其适于在所述反断言被识别为循环断言的情况下,或在所述相同变量的现存断言的合取收敛表示所述经反断言的值谓词的子集的情况下,记录所述反断言是非普遍的,且否则记录所述反断言是普遍的,并且在所述反断言是普遍的情况下,否定与所述经反断言的值谓词不一致的任何断言,并且可限制未断言的约束中的所述相同变量的项,并且将所述反断言的所述充分前提分支加至表示所述经反断言的值谓词的每隔一个充分前提,作为伪假设,且否则抛弃所述反断言的所述充分前提,并且重复这些动作,直至无矛盾存在或在所述矛盾约束中不存在未受限制的项并且所述限制被无条件断言充分支持,
其中所述反断言的所述充分前提被产生,作为蕴涵断言的所述充分前提,其中从所述蕴涵断言中分支减去被所述反断言否定的所述普遍断言,且其中被反断言的所述具体项是在被普遍断言限制的所述矛盾约束中的唯一项,其中所述普遍断言在其充分前提中具有所述所选择的目的地,前提是存在唯一这个项,且否则被反断言的所述具体项是除了被在其充分前提中具有所述所选择目的地的普遍断言限制的所述矛盾约束的项中的最新限制的项以外的项,且当存在被在它们的充分前提中具有所述所选择目的地的普遍断言限制的所述矛盾约束的项超过两项时,那么被反断言的所述具体项是在其经修剪的共同基础中具有最大遥远度计数的项。
16.根据权利要求7所述的计算装置,其中适于执行从所述第二充分前提中执行分支减去断言的分支减法的所述部件进一步适于执行从第一充分前提中分支减去所述断言的分支减法。
17.一种由至少一个计算机处理器执行的方法,所述方法包括:
表示普遍断言的根茎网络;
创建假设;
执行蕴涵的过程;
执行定位断言、断言的约束和矛盾约束的过程;
存储充分前提,所述充分前提包括用于普遍断言的遥远度计数;
执行两个普遍断言与所加分支之一的遥远度计数的偏差的分支相加,由此产生充分前提;
执行从第二充分前提分支减去断言的分支减法,由此产生基础、共同基础和充分前提之一;
从在基础与所述共同基础之间匹配的值谓词的共同基础中执行分支减法的级联,以产生共同基础和经压缩的共同基础的经修剪之一,其中所述级联根据所述共同基础中的升序遥远度计数排序;
将断言的所述值谓词与所述断言的所述充分前提中的所述值谓词进行比较,以识别合法目的地或所述断言是循环断言;
从合取收敛的普遍断言的所述充分前提的并集中的所述合法目的地选择合法目的地,以提供限制矛盾约束中的第一项的行列式;
维持所述第一项的计数,其中针对所述第一项的计数识别所选择的合法目的地;
维持被最新反断言否定的断言的记录;
识别可被反断言的项的值谓词;
在给定经反断言的值谓词的情况下,识别一组断言来进行否定;
如果有所记录的被否定断言的所述约束,则针对所述所记录的被否定断言的所述约束,并且另外针对任何矛盾约束,如果有针对其未充分支持限制的所述矛盾约束中的项的值谓词,则对其进行反断言,且否则导致目的地被选择,并且反断言被具有含有所述所选择目的地的充分前提的普遍断言限制的所述矛盾约束中的项的值谓词,并且导致充分前提被记录用于所述反断言,并且在所述反断言的所述充分前提中不存在合法目的地的情况下,记录所述反断言是无条件的;
在所述反断言被识别为循环断言的情况下,或在所述相同变量的现存断言的合取收敛表示所述经反断言值谓词的子集的情况下,记录所述反断言是非普遍的,且否则记录所述反断言是普遍的,并且在所述反断言是普遍的情况下,否定与所述经反断言值谓词不一致的任何断言,并且可限制未断言的约束中的所述相同变量的项,并且将所述反断言的所述充分前提分支加至表示所述经反断言值谓词的每隔一个充分前提,作为伪假设,且否则抛弃所述反断言的所述充分前提,并且重复这些动作,直至无矛盾存在或在所述矛盾约束中不存在未受限制的项并且所述限制由无条件断言充分支持,
其中所述反断言的所述充分前提被产生,作为蕴涵断言的所述充分前提,其中从蕴涵断言中分支减去被所述反断言否定的所述普遍断言,且其中被反断言的所述具体项是被普遍断言限制的所述矛盾约束中的唯一项,其中所述普遍断言在其充分前提中具有所述所选择目的地的,前提是存在唯一这个项,且否则被反断言的所述具体项是除了被在其充分前提中具有所述所选择目的地的普遍断言限制的所述矛盾约束的项中的最新限制的项以外的项,且当存在被在它们的充分前提中具有所述所选择目的地的普遍断言限制的所述矛盾约束的项超过两项时,那么被反断言的所述具体项是在其经修剪的共同基础中具有最大遥远度计数的项。
18.根据权利要求17所述的方法,其中执行从所述第二充分前提中分支减去所述断言的分支减法包括执行从第一充分前提中分支减去所述断言的分支减法。
19.一种由至少一个计算机处理器执行的方法,所述方法用于通过解决在表达式求解期间产生的有条件矛盾而改进求解逻辑或数字表达式的时间要求,所述表达式由约束形成,每个约束包括一个或更多个项,其中每一个表示变量和可选地所述变量的显式值谓词,所述表达式的所述求解包括确定所述表达式是否可由变量值的集合满足,或当不存在满足所述表达式的变量值集合时,表达式无法满足,所述方法包括:
作为输入至所述计算机的所述表达式的部分,接收有关零或更大的所述变量的值谓词的无条件断言;
进行有关所述变量中的至少一个变量的值谓词的假设性断言;
针对所述变量中的其它所述变量进行有关值谓词的项的断言,所述断言由所述约束响应于由所述无条件断言或所述假设强加的所述限制作出,约束断言作为蕴涵断言的项;
针对所述变量中的其它所述变量进行有关值谓词的其它项的断言,所述断言由其它约束响应于由所述无条件断言和所述假设和所述蕴涵断言之一强加的所述限制作出,约束断言作为蕴涵断言的项;
将第一断言设定为普遍断言,除非所述第一断言是假设性或构成循环断言,循环断言是重申所述第一断言的所述普遍路径中的第二断言的断言,第一约束的所述蕴涵断言的所述普遍路径由通向并且产生对所述第一约束的所述项的限制的条件部分、并且是普遍断言或假设或循环断言的其它断言组成;
响应于所述无条件断言、所述假设性断言和所述蕴涵断言之一,将所述变量的值谓词设定为行列式,所述变量没有表示作为自由变量的单个变量值的行列式;
重复蕴涵的过程,直至不作出进一步断言或所述矛盾的计数非零,所述蕴涵的过程是所述进行假设、所述进行断言、所述设定断言为普遍断言和所述设定所述变量的值谓词为行列式的迭代;
进行反断言,反断言是有关与其它无条件断言的合取式不一致、但可能与其它无条件断言和先前或当前现存条件断言的合取式不一致的值谓词的矛盾约束中的项的断言,矛盾在行列式限制约束中的所有项时产生;
响应于当前反断言,否定不一致的条件断言,限制作为被否定的所述断言的项,并且限制所述相同变量的其它项,产生所述被否定的蕴涵断言或被否定的先前反断言的所述约束中的矛盾,并且解决所述当前反断言的所述约束中的所述矛盾;
通过下列项目之一维持每个条件普遍断言的第一数据:
(1)追踪假设和伪假设以及与通向并且产生每个条件普遍断言的每个普遍路径中的限制断言相关的遥远度计数、接近度计数、已完成计数和未完成计数中的至少一个,和
(2)通过反向追踪提取所述第一数据,以累积功能上等效于合法目的地的表示的第一数据和与通向并且产生每个条件普遍断言的每个普遍路径中的合法目的地相关的遥远度计数或接近度计数,所述合法目的地是任何假设或不与距离所述第一普遍断言不那么远的普遍断言不一致的那些伪假设,伪假设是被限制的所述第一断言的所述普遍路径中的项,但是所述限制当前未被另一个普遍断言或其它普遍断言的合取收敛充分支持;
响应于所述第一数据,选择矛盾约束中的项进行反断言,由此通过使用最近目的地法或最远反转法将所述矛盾朝向所述合法目的地移动,所述合法目的地是假设和伪假设之一,其中缺少其它普遍断言对伪假设的限制的充分支持并非完全是由所述相同普遍路径中的所述相同变量的第三普遍断言所导致的否定的结果,其中所述相同普遍路径通向并且产生第四普遍断言,所述第四普遍断言限制所述矛盾约束中的项,并且可与第三普遍断言相同;
响应于所述第一数据,进行作为有条件和无条件之一的反断言,有条件矛盾以作为合法目的地的所述假设和伪假设为条件;
在所述自由变量的所述计数是零且现存矛盾的所述计数是零的情况下,报告所述表达式被满足;
在遭遇有关所述表达式的所述约束之一的无条件矛盾的情况下,报告所述表达式无法满足,无条件矛盾是由所述无条件断言产生的矛盾;和
重复解决矛盾的过程,直至报告所述表达被满足或无法满足,所述解决矛盾的过程是选择项进行反断言、反断言项、否定不一致的条件断言、发现反断言是有条件或无条件的、重复蕴涵过程和维持第一数据的迭代。
20.一种计算装置,其包括:
非暂时性存储器;和
处理器;
其中所述非暂时性存储器包括表示多个计算机可读指令的信号;和
其中所述处理器适于执行所述多个计算机可读指令来执行由通过解决在表达式求解期间产生的有条件矛盾而改进求解逻辑或数字表达式的时间要求的方法,所述表达式由约束形成,每个约束包括一个或更多个项,其中每一个表示变量和可选地所述变量的显式值谓词,所述表达式的所述求解包括确定所述表达式是否可由变量值的集合满足,或当不存在满足所述表达式的变量值集合时,表达式无法满足,所述方法包括:
作为输入至所述计算机的所述表达式的部分,接收有关零或更大的所述变量的值谓词的无条件断言;
进行有关所述变量中的至少一个变量的值谓词的假设性断言;
针对所述变量中的其它所述变量进行有关值谓词的项的断言,所述断言由所述约束响应于由所述无条件断言或所述假设强加的所述限制作出,约束断言作为蕴涵断言的项;
针对所述变量中的其它所述变量进行有关值谓词的其它项的断言,所述断言由其它约束响应于由所述无条件断言和所述假设和所述蕴涵断言之一强加的所述限制作出,约束断言作为蕴涵断言的项;
将第一断言设定为普遍断言,除非所述第一断言是假设性或构成循环断言,循环断言是重申所述第一断言的所述普遍路径中的第二断言的断言,第一约束的所述蕴涵断言的所述普遍路径由通向并且产生对所述第一约束的所述项的限制的条件部分、并且是普遍断言或假设或循环断言的其它断言组成;
响应于所述无条件断言、所述假设性断言和所述蕴涵断言之一,将所述变量的值谓词设定为行列式,所述变量没有表示作为自由变量的单个变量值的行列式;
重复蕴涵的过程,直至不作出进一步断言或所述矛盾的计数非零,所述蕴涵的过程是所述进行假设、所述进行断言、所述设定断言为普遍断言和所述设定所述变量的值谓词为行列式的迭代;
进行反断言,反断言是有关与其它无条件断言的合取式不一致、但可能与其它无条件断言和先前或当前现存条件断言的合取式不一致的值谓词的矛盾约束中的项的断言,矛盾在行列式限制约束中的所有项时产生;
响应于当前反断言,否定不一致的条件断言,限制作为被否定的所述断言的项,并且限制所述相同变量的其它项,产生所述被否定的蕴涵断言或被否定的先前反断言的所述约束中的矛盾,并且解决所述当前反断言的所述约束中的所述矛盾;
通过下列项目之一维持每个条件普遍断言的第一数据:
(1)追踪假设和伪假设以及与通向并且产生每个条件普遍断言的每个普遍路径中的限制断言相关的遥远度计数、接近度计数、已完成计数和未完成计数的至少一个,和
(2)通过反向追踪提取所述第一数据,以累积功能上等效于合法目的地的表示的第一数据和与通向并且产生每个条件普遍断言的每个普遍路径中的合法目的地相关的遥远度计数或接近度计数,所述合法目的地是任何假设或不与距离所述第一普遍断言不那么远的普遍断言不一致的那些伪假设,伪假设是被限制的所述第一断言的所述普遍路径中的项,但是所述限制当前未被另一个普遍断言或其它普遍断言的合取收敛充分支持;
响应于所述第一数据,选择矛盾约束中的项进行反断言,由此通过使用最近目的地法或最远反转法将所述矛盾朝向所述合法目的地移动,所述合法目的地是假设和伪假设之一,其中缺少其它普遍断言对伪假设的限制的充分支持并非完全是由所述相同普遍路径中的所述相同变量的所述第三普遍断言所导致的否定的结果,所述所述相同普遍路径通向并且产生第四普遍断言,所述第四普遍断言限制所述矛盾约束中的项,并且可与第三普遍断言相同;
响应于所述第一数据进行作为有条件和无条件之一的反断言,有条件矛盾以作为合法目的地的所述假设和伪假设为条件;
在所述自由变量的所述计数是零且现存矛盾的所述计数是零的情况下,报告所述表达式被满足;
在遭遇有关所述表达式的所述约束之一的无条件矛盾的情况下,报告所述表达式无法满足,所述无条件矛盾是由所述无条件断言产生的矛盾;和
重复解决矛盾的过程,直至报告所述表达被满足或无法满足,所述解决矛盾的过程是选择项进行反断言、反断言项、否定不一致的条件断言、发现反断言是有条件或无条件的、重复蕴涵过程和维持第一数据的迭代。
21.一种由执行存储在至少一个非暂时性计算机可读介质上的计算机程序指令的至少一个计算机处理器执行的方法,所述方法包括:
(A)将问题定义转换为表达式,其中所述表达式包括多个变量和至少一个约束;
(B)选择所述表达式的所述多个变量的多个假设值谓词;
(C)传播所述假设值谓词的蕴涵;
(D)识别所述假设值谓词的所述蕴涵的任何明显矛盾;
(E)针对每个所识别的矛盾,确定所述矛盾是否可朝向其中它将作为蕴涵解决的相应位置移动;
(F)针对可如此移动的每个明显矛盾,将所述明显矛盾朝向它的相应位置移动;和
(G)针对无法被如此移动的任何明显矛盾,报告所述表达式是无法满足的。
22.一种计算装置,其包括:
非暂时性存储器;和
处理器;
其中所述非暂时性存储器包括表示多个计算机可读指令的信号;和
其中所述处理器适于执行所述多个计算机可读指令来执行用于解决NP问题的方法,所述方法包括:
将问题定义转换为表达式,其中所述表达式包括多个变量和至少一个约束;
(B)选择所述表达式的所述多个变量的多个假设值谓词;
(C)传播所述假设值谓词的蕴涵;
(D)识别所述假设值谓词的所述蕴涵的任何明显矛盾;
(E)针对每个所识别矛盾,确定所述矛盾是否可朝向其中它将作为蕴涵解决的相应位置移动;
(F)针对可如此移动的每个明显矛盾,将所述明显矛盾朝向它的相应位置移动;和
(G)针对无法被如此移动的任何明显矛盾,报告所述表达式是无法满足的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461970291P | 2014-03-25 | 2014-03-25 | |
US61/970,291 | 2014-03-25 | ||
PCT/US2015/022377 WO2015148599A1 (en) | 2014-03-25 | 2015-03-25 | Solving np-complete problems without hyper polynomial cost |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105745618A true CN105745618A (zh) | 2016-07-06 |
Family
ID=54196327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580002451.1A Pending CN105745618A (zh) | 2014-03-25 | 2015-03-25 | 在无超高多项式成本的情况下求解np完全问题 |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP3123302A4 (zh) |
JP (1) | JP6550384B2 (zh) |
KR (1) | KR102341689B1 (zh) |
CN (1) | CN105745618A (zh) |
AU (1) | AU2015236144B2 (zh) |
CA (1) | CA2943044C (zh) |
IL (1) | IL247866B (zh) |
MY (1) | MY184777A (zh) |
SG (1) | SG11201606976PA (zh) |
WO (1) | WO2015148599A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426519A (zh) * | 2017-08-31 | 2019-03-05 | 辉达公司 | 线内数据检查以进行工作量简化 |
CN110914840A (zh) * | 2017-07-19 | 2020-03-24 | 国立大学法人横浜国立大学 | 解探索设备及程序 |
CN111159631A (zh) * | 2019-12-31 | 2020-05-15 | 中国人民解放军国防科技大学 | 一种基于可编程逻辑的硬件sat求解器 |
CN117172473A (zh) * | 2023-09-04 | 2023-12-05 | 晞德求索(北京)科技有限公司 | 基于动态分配的一维下料方法和装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528868B2 (en) | 2010-06-25 | 2020-01-07 | Clayton Gillespie | Solving NP-complete problems without hyper polynomial cost |
US10948887B2 (en) | 2016-11-10 | 2021-03-16 | Precisionlife Ltd | Control apparatus and method for processing data inputs in computing devices therefore |
US11881287B2 (en) | 2016-11-10 | 2024-01-23 | Precisionlife Ltd | Control apparatus and method for processing data inputs in computing devices therefore |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038392A (en) * | 1998-05-27 | 2000-03-14 | Nec Usa, Inc. | Implementation of boolean satisfiability with non-chronological backtracking in reconfigurable hardware |
CN101848229A (zh) * | 2009-03-24 | 2010-09-29 | 北京理工大学 | 一种解决分布式网络计算中最小生成网络问题的方法 |
CN102063643A (zh) * | 2010-12-13 | 2011-05-18 | 北京航空航天大学 | 一种基于dna计算的智能优化仿真方法 |
US8577825B2 (en) * | 2008-01-29 | 2013-11-05 | Clayton Gillespie | System, method and device for solving problems in NP without hyper-polynomial cost |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356519B1 (en) * | 2003-02-28 | 2008-04-08 | Cadence Design Systems, Inc. | Method and system for solving satisfiability problems |
WO2006110853A2 (en) * | 2005-04-12 | 2006-10-19 | Maren Alianna J | System and method for evidence accumulation and hypothesis generation |
US8838659B2 (en) * | 2007-10-04 | 2014-09-16 | Amazon Technologies, Inc. | Enhanced knowledge repository |
WO2009097290A2 (en) * | 2008-01-29 | 2009-08-06 | Clayton Gillespie | Data processing system for solving np problems without hyper-polynomial cost |
US8813007B2 (en) * | 2009-04-17 | 2014-08-19 | Synopsys, Inc. | Automatic approximation of assumptions for formal property verification |
US8369841B2 (en) * | 2010-02-16 | 2013-02-05 | Thaddeus John Kobylarz | Invoke facility service and its applications to compound wireless mobile communication services |
US9110882B2 (en) * | 2010-05-14 | 2015-08-18 | Amazon Technologies, Inc. | Extracting structured knowledge from unstructured text |
JP2012003733A (ja) * | 2010-06-12 | 2012-01-05 | Koji Kobayashi | 論理式変換プログラム、及びsat解法プログラム |
US9141354B2 (en) * | 2012-04-23 | 2015-09-22 | Ecole polytechnique fédérale de Lausanne (EPFL) | Advantageous state merging during symbolic analysis |
-
2015
- 2015-03-25 SG SG11201606976PA patent/SG11201606976PA/en unknown
- 2015-03-25 MY MYPI2016703394A patent/MY184777A/en unknown
- 2015-03-25 AU AU2015236144A patent/AU2015236144B2/en active Active
- 2015-03-25 CA CA2943044A patent/CA2943044C/en active Active
- 2015-03-25 CN CN201580002451.1A patent/CN105745618A/zh active Pending
- 2015-03-25 EP EP15768263.4A patent/EP3123302A4/en active Pending
- 2015-03-25 WO PCT/US2015/022377 patent/WO2015148599A1/en active Application Filing
- 2015-03-25 KR KR1020167011170A patent/KR102341689B1/ko active IP Right Grant
- 2015-03-25 JP JP2016526262A patent/JP6550384B2/ja active Active
-
2016
- 2016-09-18 IL IL247866A patent/IL247866B/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038392A (en) * | 1998-05-27 | 2000-03-14 | Nec Usa, Inc. | Implementation of boolean satisfiability with non-chronological backtracking in reconfigurable hardware |
US8577825B2 (en) * | 2008-01-29 | 2013-11-05 | Clayton Gillespie | System, method and device for solving problems in NP without hyper-polynomial cost |
CN101848229A (zh) * | 2009-03-24 | 2010-09-29 | 北京理工大学 | 一种解决分布式网络计算中最小生成网络问题的方法 |
CN102063643A (zh) * | 2010-12-13 | 2011-05-18 | 北京航空航天大学 | 一种基于dna计算的智能优化仿真方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110914840A (zh) * | 2017-07-19 | 2020-03-24 | 国立大学法人横浜国立大学 | 解探索设备及程序 |
CN109426519A (zh) * | 2017-08-31 | 2019-03-05 | 辉达公司 | 线内数据检查以进行工作量简化 |
US11609761B2 (en) | 2017-08-31 | 2023-03-21 | Nvidia Corporation | Inline data inspection for workload simplification |
CN109426519B (zh) * | 2017-08-31 | 2023-04-28 | 辉达公司 | 线内数据检查以进行工作量简化 |
US11977888B2 (en) | 2017-08-31 | 2024-05-07 | Nvidia Corporation | Inline data inspection for workload simplification |
CN111159631A (zh) * | 2019-12-31 | 2020-05-15 | 中国人民解放军国防科技大学 | 一种基于可编程逻辑的硬件sat求解器 |
CN111159631B (zh) * | 2019-12-31 | 2023-08-11 | 中国人民解放军国防科技大学 | 一种基于可编程逻辑的硬件sat求解器 |
CN117172473A (zh) * | 2023-09-04 | 2023-12-05 | 晞德求索(北京)科技有限公司 | 基于动态分配的一维下料方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20160136270A (ko) | 2016-11-29 |
IL247866A0 (en) | 2016-11-30 |
WO2015148599A1 (en) | 2015-10-01 |
KR102341689B1 (ko) | 2021-12-20 |
SG11201606976PA (en) | 2016-09-29 |
EP3123302A1 (en) | 2017-02-01 |
AU2015236144A1 (en) | 2016-11-03 |
JP2017513076A (ja) | 2017-05-25 |
CA2943044A1 (en) | 2015-10-01 |
CA2943044C (en) | 2023-05-16 |
IL247866B (en) | 2021-05-31 |
JP6550384B2 (ja) | 2019-07-24 |
AU2015236144B2 (en) | 2020-04-30 |
MY184777A (en) | 2021-04-21 |
EP3123302A4 (en) | 2017-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105745618A (zh) | 在无超高多项式成本的情况下求解np完全问题 | |
Talbi | Combining metaheuristics with mathematical programming, constraint programming and machine learning | |
Hosseini et al. | A survey on the imperialist competitive algorithm metaheuristic: implementation in engineering domain and directions for future research | |
EP4264498A1 (en) | Explainable transducer transformers | |
Raidl | Decomposition based hybrid metaheuristics | |
Pintea | Advances in bio-inspired computing for combinatorial optimization problems | |
CN104603784A (zh) | 相对定时表征 | |
US11232357B2 (en) | Method for injecting human knowledge into AI models | |
Stary et al. | Behavior-centered digital-twin design for dynamic cyber-physical system development | |
Zhang et al. | A review on learning to solve combinatorial optimisation problems in manufacturing | |
Qing et al. | A survey on explainable reinforcement learning: Concepts, algorithms, challenges | |
Zha et al. | Knowledge intensive Petri net framework for concurrent intelligent design of automatic assembly systems | |
US10528868B2 (en) | Solving NP-complete problems without hyper polynomial cost | |
Gong et al. | Evolutionary computation in China: A literature survey | |
Zhang et al. | Cover combinatorial filters and their minimization problem | |
Kureichik et al. | Genetic algorithms for applied CAD problems | |
Zheng et al. | Survey on design approaches for robotic manufacturing systems in SMEs | |
Huang et al. | An agile approach for supply chain modeling | |
Krüger | Development, implementation and theoretical analysis of the bee colony optimization meta-heuristic method | |
Chang et al. | LGMCTS: Language-Guided Monte-Carlo Tree Search for Executable Semantic Object Rearrangement | |
Marefat et al. | Hierarchical Bayesian methods for recognition and extraction of 3-D shape features from CAD solid models | |
Goswami et al. | Application of Machine Learning in FPGA EDA Tool Development | |
Haney | Patents for NLP Software: An Empirical Review | |
Cao | The use of multi-fidelity simulation optimisation for real-time management of a manufacturing line | |
Kala | Multi-robot mission planning using evolutionary computation with incremental task addition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160706 |