Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 一种算法,可以根据变量的特定和的结果计算变量的值_Algorithm_Math_Solver_Minesweeper - Fatal编程技术网

Algorithm 一种算法,可以根据变量的特定和的结果计算变量的值

Algorithm 一种算法,可以根据变量的特定和的结果计算变量的值,algorithm,math,solver,minesweeper,Algorithm,Math,Solver,Minesweeper,这可能是一个重复的问题,但我无法在堆栈溢出上找到它 以一些变量为例,这些变量都表示某件事情的可能性。这意味着所有变量的值都在0和1之间(包括0和1)。这些值未知。然而,我有一些方程,其中的一些或所有变量的结果是已知的 例如,取变量a,b,c,x和y。它们的值都是一个介于0和1之间的未知数(包括0和1)。我有以下方程式: 1: a + b + c = 1 2: a + b + x = 2 3: b + c + y = 2 4: a + x <= 1 -> 0 <= a

这可能是一个重复的问题,但我无法在堆栈溢出上找到它

以一些变量为例,这些变量都表示某件事情的可能性。这意味着所有变量的值都在0和1之间(包括0和1)。这些值未知。然而,我有一些方程,其中的一些或所有变量的结果是已知的

例如,取变量
a
b
c
x
y
。它们的值都是一个介于0和1之间的未知数(包括0和1)。我有以下方程式:

1: a + b + c = 1
2: a + b + x = 2
3: b + c + y = 2
4: a + x <= 1    ->    0 <= a + x <= 1
5: c + y <= 1    ->    0 <= c + y <= 1
1:a+b+c=1
2:a+b+x=2
3:b+c+y=2

4:a+x0通常,有一个N维向量空间,其中N个自变量可以变化。每个约束都定义了向量空间的一个区域,所有这些区域的交点就是要确定的区域。实际上,您正在寻找该区域最简单(最不复杂)的描述,因为该区域已经由约束集合描述。有三种可能性:第一,该地区没有解决办法;第二,该区域存在有限数量的解;第三,该地区有无限多的解决方案

您的第一步可能是将方程(如果有的话)视为一个方程组,并使用求解方程组的算法来尽可能多地单独从方程组中求解。如果没有其他问题,消除一些变量将有助于下一步

1: a + b + c = 1
2: a + b + x = 2
3: b + c + y = 2

1: a = 1 - b - c
2: 1 - b - c + b + x = 2
3: b + c + y = 2

1: a = 1 - b - c
2: c = x - 1
3: b + x - 1 + y = 2

1: a = 1 - b - c
2: c = x - 1
3: b = 3 - x - y

1: a = y - 1
2: c = x - 1
3: b = 3 - x - y
我们只能走这么远了。接下来,我们将以下内容替换为完整的不平等系统:

A: 0 <= a <= 1
B: 0 <= b <= 1
C: 0 <= c <= 1
D: 0 <= x <= 1
E: 0 <= y <= 1
F: 0 <= a + x <= 1
G: 0 <= c + y <= 1

A: 0 <= y - 1 <= 1
B: 0 <= 3 - x - y <= 1
C: 0 <= x - 1 <= 1
D: 0 <= x <= 1
E: 0 <= y <= 1
F: 0 <= y - 1 + x <= 1
G: 0 <= x - 1 + y <= 1

A: 1 <= y <= 2
B: 3 >= x + y >= 2
C: 1 <= x <= 2
D: 0 <= x <= 1
E: 0 <= y <= 1
F: 1 <= y + x <= 2
G: 1 <= x + y <= 2

所以解a=0,b=1,c=0,x=1,y=1是唯一的解。几乎所有这些步骤都应该是可以自动执行的。

如果您的变量表示扫雷舰方块,它们可以采用0或1以外的任何其他值吗?在这个问题中是否有任何中间真实值以任何方式相关?在任何情况下,您可能很难理解这篇文章。我已经很难理解这篇文章:(…0和1之间的值表示正方形下有地雷的可能性。如果是1,则可以标记地雷,如果是0,则可以安全挖掘。但请将其与扫雷艇本身保持独立。我不完全理解这个问题,但听起来您可能通过寻找“约束优化”来找到资源,“单纯形法”或“线性规划”。祝你好运,玩得开心。
A: 0 <= a <= 1
B: 0 <= b <= 1
C: 0 <= c <= 1
D: 0 <= x <= 1
E: 0 <= y <= 1
F: 0 <= a + x <= 1
G: 0 <= c + y <= 1

A: 0 <= y - 1 <= 1
B: 0 <= 3 - x - y <= 1
C: 0 <= x - 1 <= 1
D: 0 <= x <= 1
E: 0 <= y <= 1
F: 0 <= y - 1 + x <= 1
G: 0 <= x - 1 + y <= 1

A: 1 <= y <= 2
B: 3 >= x + y >= 2
C: 1 <= x <= 2
D: 0 <= x <= 1
E: 0 <= y <= 1
F: 1 <= y + x <= 2
G: 1 <= x + y <= 2
A: 1 <= y <= 2 \
                > taken together, the only solution is y = 1
E: 0 <= y <= 1 /  this is the intersection of intervals [0,1] and [1,2]

C: 1 <= x <= 2 \
                > taken together, the only solution is x = 1
D: 0 <= x <= 1 /  this is the intersection of intervals [0,1] and [1,2]

B: 3 >= x + y >= 2 \  taken together, this means x + y = 2
F: 1 <= y + x <= 2  > this is the intersection of [1,2] and [2,3]
G: 1 <= x + y <= 2 /  note that G turns out to be redundant after subbing
1: a = y - 1
     = 1 - 1
     = 0
2: c = x - 1
     = 1 - 1
     = 0
3: b = 3 - x - y
     = 3 - 1 - 1
     = 1