{"title":"回溯和探测","authors":"P. Purdom, G. Haven","doi":"10.1090/dimacs/035/03","DOIUrl":null,"url":null,"abstract":"We analyze two algorithms for solving constraint satisfaction problems. One of these algorithms, Probe Order Backtracking, has an average running time much faster than any previously analyzed algorithm for problems where solutions are common. Probe Order Backtracking uses a probing assignment a prese-lected test assignment to unset variables to help guide the search for a solution to a constraint satisfaction problem. If the problem is not satissed when the unset variables are temporarily set to the probing assignment , the algorithm selects one of the relations that the probing assignment fails to satisfy and selects an unset variable from that relation. Then at each b a c ktracking step it generates subproblems by setting the selected variable each p o s s i b l e w ay. It simpliies each subproblem, and tries the same technique on them. For random problems with v variables, t clauses, and probability p that a literal appears in a clause, the average time for Probe Order Backtracking is no more than v n when p lnt=v plus lower order terms. The best previous result was p p ln t=v. When the algorithm is combined with an algorithm of Franco that makes selective use of resolution, the average time for solving random problems is polynomial for all values of p when t On 1=3 v=ln v 2=3. The best previous result was t On 1=3 v=ln v 1=6. Probe Order Backtracking also runs in polynomial average time when p 1=v, compared with the best previous result of p 1=2v. With Probe Order Backtracking the range of p that leads to more than polynomial time is much smaller than that for previously analyzed algorithms. 1 Backtracking The constraint satisfaction problem is to determine whether a set of constraints over discrete variables can be satissed. Each constraint m ust have a form that is easy to evaluate, so any diiculty in solving such a problem comes from the interaction between the constraints and the need to nd a setting for the variables that simultaneously satisses all of the constraints. Constraint satisfaction problems are extremely common. Indeed, the proof that a problem is NP-complete implies an eecient w ay to transform the problem into a constraint satisfaction problem. Most NP-complete problems are initially stated as constraint satisfaction problems. A few special forms of constraint satisfaction problems have known algorithms that solve problem instances in polynomial worst-case time. …","PeriodicalId":434373,"journal":{"name":"Satisfiability Problem: Theory and Applications","volume":"67 3","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":"{\"title\":\"Backtracking and probing\",\"authors\":\"P. Purdom, G. Haven\",\"doi\":\"10.1090/dimacs/035/03\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We analyze two algorithms for solving constraint satisfaction problems. One of these algorithms, Probe Order Backtracking, has an average running time much faster than any previously analyzed algorithm for problems where solutions are common. Probe Order Backtracking uses a probing assignment a prese-lected test assignment to unset variables to help guide the search for a solution to a constraint satisfaction problem. If the problem is not satissed when the unset variables are temporarily set to the probing assignment , the algorithm selects one of the relations that the probing assignment fails to satisfy and selects an unset variable from that relation. Then at each b a c ktracking step it generates subproblems by setting the selected variable each p o s s i b l e w ay. It simpliies each subproblem, and tries the same technique on them. For random problems with v variables, t clauses, and probability p that a literal appears in a clause, the average time for Probe Order Backtracking is no more than v n when p lnt=v plus lower order terms. The best previous result was p p ln t=v. When the algorithm is combined with an algorithm of Franco that makes selective use of resolution, the average time for solving random problems is polynomial for all values of p when t On 1=3 v=ln v 2=3. The best previous result was t On 1=3 v=ln v 1=6. Probe Order Backtracking also runs in polynomial average time when p 1=v, compared with the best previous result of p 1=2v. With Probe Order Backtracking the range of p that leads to more than polynomial time is much smaller than that for previously analyzed algorithms. 1 Backtracking The constraint satisfaction problem is to determine whether a set of constraints over discrete variables can be satissed. Each constraint m ust have a form that is easy to evaluate, so any diiculty in solving such a problem comes from the interaction between the constraints and the need to nd a setting for the variables that simultaneously satisses all of the constraints. Constraint satisfaction problems are extremely common. Indeed, the proof that a problem is NP-complete implies an eecient w ay to transform the problem into a constraint satisfaction problem. Most NP-complete problems are initially stated as constraint satisfaction problems. A few special forms of constraint satisfaction problems have known algorithms that solve problem instances in polynomial worst-case time. …\",\"PeriodicalId\":434373,\"journal\":{\"name\":\"Satisfiability Problem: Theory and Applications\",\"volume\":\"67 3\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"15\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Satisfiability Problem: Theory and Applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1090/dimacs/035/03\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Satisfiability Problem: Theory and Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1090/dimacs/035/03","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15
摘要
分析了求解约束满足问题的两种算法。其中一种算法是Probe Order Backtracking,它的平均运行时间比之前分析过的解决常见问题的算法快得多。探测顺序回溯使用探测分配(预先选择的测试分配)来取消变量设置,以帮助指导对约束满足问题的解决方案的搜索。当未设置变量临时设置为探测赋值时,如果不满足问题,则算法选择一个探测赋值不满足的关系,并从该关系中选择一个未设置变量。然后,在每b个c跟踪步骤中,它通过将所选变量设置为每p个c来生成子问题。它简化了每个子问题,并对它们尝试相同的技术。对于具有v个变量、t个子句和文本出现在子句中的概率p的随机问题,当p lnt=v加上低阶项时,探测阶回溯的平均时间不超过v n。之前最好的结果是p p ln t=v。当该算法与选择性使用分辨率的Franco算法结合使用时,当t On 1= 3v = lnv2 =3时,对于所有p值,求解随机问题的平均时间都是多项式。之前最好的结果是t On 1= 3v = lnv1 =6。与之前的最佳结果p1 =2v相比,探针阶回溯在p1 =v时也以多项式平均时间运行。使用探针顺序回溯p的范围,导致超过多项式的时间比以前分析的算法要小得多。约束满足问题是确定离散变量上的一组约束是否可以满足。每个约束m必须具有易于计算的形式,因此解决此类问题的任何困难都来自约束之间的相互作用以及同时满足所有约束的变量设置的需求。约束满足问题非常普遍。事实上,证明一个问题是np完全的意味着有一种有效的方法将问题转化为约束满足问题。大多数np完全问题最初被描述为约束满足问题。一些特殊形式的约束满足问题已经有了已知的算法,可以在多项式最坏情况时间内解决问题实例。…
We analyze two algorithms for solving constraint satisfaction problems. One of these algorithms, Probe Order Backtracking, has an average running time much faster than any previously analyzed algorithm for problems where solutions are common. Probe Order Backtracking uses a probing assignment a prese-lected test assignment to unset variables to help guide the search for a solution to a constraint satisfaction problem. If the problem is not satissed when the unset variables are temporarily set to the probing assignment , the algorithm selects one of the relations that the probing assignment fails to satisfy and selects an unset variable from that relation. Then at each b a c ktracking step it generates subproblems by setting the selected variable each p o s s i b l e w ay. It simpliies each subproblem, and tries the same technique on them. For random problems with v variables, t clauses, and probability p that a literal appears in a clause, the average time for Probe Order Backtracking is no more than v n when p lnt=v plus lower order terms. The best previous result was p p ln t=v. When the algorithm is combined with an algorithm of Franco that makes selective use of resolution, the average time for solving random problems is polynomial for all values of p when t On 1=3 v=ln v 2=3. The best previous result was t On 1=3 v=ln v 1=6. Probe Order Backtracking also runs in polynomial average time when p 1=v, compared with the best previous result of p 1=2v. With Probe Order Backtracking the range of p that leads to more than polynomial time is much smaller than that for previously analyzed algorithms. 1 Backtracking The constraint satisfaction problem is to determine whether a set of constraints over discrete variables can be satissed. Each constraint m ust have a form that is easy to evaluate, so any diiculty in solving such a problem comes from the interaction between the constraints and the need to nd a setting for the variables that simultaneously satisses all of the constraints. Constraint satisfaction problems are extremely common. Indeed, the proof that a problem is NP-complete implies an eecient w ay to transform the problem into a constraint satisfaction problem. Most NP-complete problems are initially stated as constraint satisfaction problems. A few special forms of constraint satisfaction problems have known algorithms that solve problem instances in polynomial worst-case time. …