Questions tagged «constraint-satisfaction»

2
为什么C的void类型不同于Empty / Bottom类型?
维基百科以及我发现的其他来源都将C的void类型列为单位类型,而不是空类型。我觉得这很混乱,因为在我看来,它void更适合于空/底类型的定义。 void据我所知,没有价值观存在。 返回类型为void的函数指定该函数不返回任何内容,因此只能执行某些副作用。 类型的指针void*是所有其他指针类型的子类型。同样,void*在C中进行来回转换是隐式的。 我不确定最后一点是否可以作为void空类型的参数,void*或多或少是与无关的特例void。 另一方面,void它本身不是所有其他类型的子类型,据我所知,这是将类型作为底部类型的要求。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

2
什么是最小约束值?
在约束满足问题中,试探法可用于提高bactracking求解器的性能。简单回溯求解器的三种常见启发式方法是: 最小剩余值(此变量仍然有多少个有效值) 度启发式(此变量影响多少其他变量) 最小约束值(什么值将为其他变量留下最多其他值) 前两个非常明显并且易于实现。首先选择在其域中剩余值最少的变量,如果存在联系,请选择影响其他变量最多的变量。这样,如果求解器中的父级步骤选择了错误的分配,则如果选择的变量变量剩余的值最少,而影响其他事情最多的话,您可能会更快地发现并节省时间。 这些很简单,定义明确,易于实现。 在我所看到的任何地方,最小约束值都没有明确定义。人工智能:一种现代方法(罗素和诺维格)说: 它更喜欢排除约束图中相邻变量的最少选择的值。 搜索“最小约束值”仅基于此教科书显示了许多大学幻灯片,没有进一步的算法信息。 为此启发式给出的唯一示例是一种情况,其中一个值选择消除了相邻变量的所有选择,而另一个则没有。该示例的问题在于,这是一个小问题,当检查潜在分配与问题约束的一致性时,将立即消除这种情况。因此,在我能找到的所有示例中,最小约束值启发式方法实际上并没有以任何方式使求解器性能受益,除了添加冗余检查带来的较小负面影响外。 我唯一想到的另一件事是测试每个变量的相邻变量的可能赋值,并计算该变量的每个可能赋值所存在的邻居的可能赋值的数量,然后对该变量的值进行排序如果选择了该值,则基于可用的邻居分配数。但是,我看不到如何对随机顺序进行改进,因为这需要测试大量变量组合并基于计数结果进行排序。 谁能提供对最小约束值的更有用的描述,并解释该最小约束值的版本将如何实际产生改进?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.