- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑 m × n 矩阵 M,其所有条目均为 0 或 1。对于给定的 M,问题是是否存在非零向量 v,其所有条目均为 -1、0 或 1,其中 Mv = 0。例如,
[0 1 1 1]
M_1 = [1 0 1 1]
[1 1 0 1]
[1 0 0 0]
M_2 = [0 1 0 0]
[0 0 1 0]
m = 3
和
n = 4
那么答案是肯定的,正如我们在上面看到的那样。
However, is it possible to express the problem as an integer programming problem or constraint programming problem so I can use an existing software package, such as SCIP instead which might be more efficient.
最佳答案
这个问题可能比编程更数学。我还没有找到最终答案,但至少有一些想法在这里:
我们可以通过以下方式重新陈述问题。
Problem A: Fix positive integers
m
andn
. LetS
be the set ofn
-dimensional vectors whose entries are0
or1
. Does there exist anym
byn
matrixM
whose entries are0
or1
, such that, for any two different vectorsv_1
andv_2
inS
, the vectorsMv_1
andMv_2
are different. (Or, you may say that, the matrixM
, considered as an application fromn
-dimensional vectors tom
-dimensional vectors, is injective on the setS
.)
(m, n)
,是否存在这样的单射
M
?
Mv_1 = Mv_2
用于两个不同的
v_1
和
v_2
在
S
,那么我们有
M(v_1 - v_2) = 0
,和向量
v_1 - v_2
将只有
0
,
1
,
- 1
作为条目。反之亦然。
Problem B: Let
m
,n
be a positive integer andS
be the set ofn
-dimensional vectors whose entries are0
and1
. Can we findm
vectorsr_1, ..., r_m
inS
, such that, for any pair of different vectorsv_1
andv_2
inS
, there exists anr_i
, which satisfies<v_1, r_i> != <v_2, r_i>
? Here<x, y>
is the usual inner product.
m
吗?
S
中的向量区分
S
中的每一个人通过将内积与选定的内积一起使用?
M
与
m
S
中的向量.
(m, n)
如果问题 A(或 B)的答案是
,则为“ 好对 ”是 .
n
,有一个极小的
m
使得
(m, n)
是很好的一对。让我们写信
m(n)
对于这个最小的
m
关联到
n
.
m
,有一个最大值
n
使得
(m, n)
很好。这是因为,如果
(m, n)
很好,即有一个单射
M
如问题 A 所述,那么对于任何
n' <= n
, 删除任何
n - n'
M
的列会给一个单射
M'
.让我们写信
n(m)
对于这个最大值
n
关联到
m
.
m(n)
和/或
n(m)
.
Lemma 1: We have
m(n + k) <= m(n) + m(k)
.
M
是
m(n)
来自
n
对的单射矩阵
(m(n), n)
和
K
是
m(k)
来自
k
对的单射矩阵
(m(k), k)
,然后是
(m(n) + n(k))
来自
(n + k)
矩阵
[M 0]
[0 K]
(m(n) + 1, n + 1)
.要看到这个,让
v_1
和
v_2
是任意一对不同的
(n + k)
维向量。我们可以把它们都切成两部分:第一个
n
条目,以及最后一个
k
条目。如果它们的前几块不相等,则可以通过第一个
m(n)
中的一个来区分它们。上述矩阵的行;如果它们的第一块相等,那么它们的第二块必定不同,因此它们可以通过最后一个
m(k)
来区分。上述矩阵的行。
Remark: The sequence
m(n)
is thus a subadditive sequence.
Corollary 2: We have
m(n + 1) <= m(n) + 1
, hencem(n) <= n
.
k = 1
在引理 1 中。
m(n)
的其他已知值你可以获得更好的上限。例如,由于我们知道
m(4) <= 3
, 我们有
m(4n) <= 3n
.无论如何,这些总是给你
O(n)
上限。
Lemma 3:
m(n) >= n / log2(n + 1)
.
T
是一套
m(n)
条目位于
{0, 1, ..., n}
中的维向量.任意
m(n)
来自
n
矩阵
M
给出来自
S
的 map 至
T
, 发送
v
至
Mv
.
M
使得上面的映射是单射的,那么集合的大小必然是
T
至少是集合的大小
S
.
T
尺寸是
(n + 1)^m
,以及
S
的大小是
2^n
,因此我们有:
(n + 1)^m(n) >= 2^n
m(n) >= n / log2(n + 1)
.
U
是一套
n
带有条目的维向量
1
,
0
或
- 1
,然后让
S
如上所述。每个向量
w
在
S
给出一个子集
C_w
的
U
:
C_w = {v in U: <w, v> != 0}
.那么问题来了:我们能找到
m
吗?矢量
w
使得子集的并集
C_w
等于
U
.
n = 10
带你走得更远。 , 我猜。
关于math - 从昂贵的搜索到整数规划或约束规划?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334926/
我正在阅读 MongoDB,并试图了解它的最佳用途。我没有看到明确答案的一个问题是哪些操作便宜或昂贵,以及在什么条件下。 你能帮忙澄清一下吗? 谢谢。 最佳答案 人们经常声称 mongodb 的写入速
我正在寻找一个主要来源(或一个非常好的解释)来支持在为 iPhone 编写软件时使用 autorelease 是危险的或过于昂贵的说法。 许多开发者都提出了这种说法,我什至听说 Apple 不推荐它,
我意识到这离微优化领域太远了,但我很想知道为什么调用 DateTime.Now 和 DateTime.UtcNow 如此“昂贵”。我有一个示例程序,它运行几个场景来做一些“工作”(添加到一个计数器)并
我是一名优秀的程序员,十分优秀!