一个未指定的线性方程组的约束随机解

时间:2015-06-19 13:50:20

标签: algorithm random linear-algebra

前提

我有一个线性方程组     点(A,x)= y 其解决方案具有许多自由度:实际上,线性独立方程(E)的数量小于x,A.K.A的维数。变量数(N)。

左边的自由度数将解决方案限制为整个空间R ^ N的超平面N-E。鉴于A的(不重要)特征,我总是能够将解x(向量N x 1)写为

x=dot(B,t)+q

其中B是N x(N-E)矩阵,t a(N-E)x 1向量和q a N x 1向量。这定义了我原问题的解的超平面,A x = y,参数形式。

我需要提取一个随机解,在超平面的任何可能点上均匀概率,使得所有x都是正的(我们将其称为正解 EM>)。注意,对于我正在处理的特定问题,x的正解的空间存在并且它是有界的(这就是统一概率的概念对于特定情况是如何合理的,如@Petr注释所暗示的那样澄清)。一开始,一旦我能够写x = Bt + q,我认为它非常简单。现在我开始怀疑它。

提议的解决方案

到现在为止我做了类似的事情:

  1. 对于范围(N-E)中的每个维度i,我计算t [i]的最大值和最小值:t_min [i]和t_max [i]。间隔足够大,不排除任何可能的积极解决方案。这些是代数计算的,始终存在并定义有限的空间。
  2. 我提取N-E个均匀随机值t [i],每个值包含在t_min [i]和t_max [i]之间。
  3. 我计算x =点(B,t)+ q
  4. 如果所有x [j]都是正数,请接受解决方案。如果某些x [j]为负数,请返回第2点。
  5. 下图中的二维空间N-E可见一个例子。

    标题:N维中的问题减少到N-E = 2空间。黄色钻石是N维问题的正解的空间。我在(t1(min),t2(min))和(t1(max),t2(max))之间的橙色框中随机采样点,直到我在黄色框中找到一个点。

    我认为这是一个很好的解决方案,但是......

    问题

    当N-E较大时,超立方体内部的超平行四边形的空间可以很小。通常它会很小^(N-E),可能非常小。多么小? 虽然存在对原始问题的无限多个正解,但是解的空间在N-E维空间中可以测量为零。如果原始问题的所有正解都具有x = 0的一维,则会发生这种情况。钻石的边界将接触,将解决方案的钻石转换为线。当然,你永远不会在2D中随机选择一条线,更不用说5D了。

    一个明显的想法是进一步将维数从N-E减少到较小的数,即直接从上述线而不是正方形中提取点。代数并不容易,但我正在研究它。我不肯定我能够解决它。

    请注意,选择第一个维度(例如t1),计算t2的新限制条件为提取的t1值,然后在此边界中提取t2的可能值,同时更快,不会给出一个统一的概率在所有可能的解决方案中。

    我知道问题非常具体,但即使是一些一般性的想法或想法也会很乐意收到。我怀疑是否有一些计算技术直接提取钻石中的解决方案......

0 个答案:

没有答案