乘以概率矩阵,大量迭代时出现错误值

2024-01-16

我有下一个代码,它乘以概率矩阵 p一定次数。对于前 50 次迭代,一切正常,每行的概率之和等于1,但后来我收到了sum > 1大约在第 70 次迭代时,我收到无穷大的值。我不明白为什么。

The sum每行的概率必须等于1。这就是经典马尔可夫链模型。并且无论乘法次数多少,您都必须收到sum = 1在每一行中。我认为浮点计算有问题。

public class Test {
    public static void main(String[] args) {
        int trials = Integer.parseInt(args[0]);

        double[][] p = {
                {0.02, 0.92, 0.02, 0.02, 0.02},
                {0.02, 0.02, 0.38, 0.38, 0.2},
                {0.02, 0.02, 0.02, 0.92, 0.02},
                {0.92, 0.02, 0.02, 0.02, 0.02},
                {0.47, 0.02, 0.47, 0.02, 0.02}};

        for (int t = 0; t < trials; t++) {
            p = multiply(p, p);
        }

        for (int i = 0; i < p.length; i++) {
            for (int j = 0; j < p[i].length; j++) {
                System.out.printf("%9.4f", p[i][j]);
            }
            System.out.println();
        }
    }

    public static double[][] multiply(double[][] a, double[][] b) {
        int w = a[0].length;
        int l = b.length;
        if (w != l) {
            throw new IllegalArgumentException("The number of columns " +
                    "in the first matrix must be equal to the number " +
                    "of rows in second matrix!" + w + " " + l);
        }

        double[][] result = new double[a.length][b[0].length];
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < b[0].length; j++) {
                for (int k = 0; k < b.length; k++) {
                    result[i][j] += a[i][k] * b[k][j];
                }
            }
        }
        return result;
    }
}

/*
output for the trials = 30:
   0,2730   0,2657   0,1462   0,2472   0,0678
   0,2730   0,2657   0,1462   0,2472   0,0678
   0,2730   0,2657   0,1462   0,2472   0,0678
   0,2730   0,2657   0,1462   0,2472   0,0678
   0,2730   0,2657   0,1462   0,2472   0,0678

output for the trials = 45:
   0,2732   0,2659   0,1463   0,2474   0,0679
   0,2732   0,2659   0,1463   0,2474   0,0679
   0,2732   0,2659   0,1463   0,2474   0,0679
   0,2732   0,2659   0,1463   0,2474   0,0679
   0,2732   0,2659   0,1463   0,2474   0,0679

output for the trials = 55:
   0,5183   0,5044   0,2775   0,4693   0,1288
   0,5183   0,5044   0,2775   0,4693   0,1288
   0,5183   0,5044   0,2775   0,4693   0,1288
   0,5183   0,5044   0,2775   0,4693   0,1288
   0,5183   0,5044   0,2775   0,4693   0,1288

output for the trials = 70:
 Infinity Infinity Infinity Infinity Infinity
 Infinity Infinity Infinity Infinity Infinity
 Infinity Infinity Infinity Infinity Infinity
 Infinity Infinity Infinity Infinity Infinity
 Infinity Infinity Infinity Infinity Infinity
*/

在大多数情况下,浮点计算,尤其是具有较大小数部分的浮点计算,都与舍入相关。问题是how and what圆?

浮点矩阵乘法

您可以使用矩阵乘法 with BigDecimal https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html代替double。在本例中,34 位数字DECIMAL128 https://docs.oracle.com/javase/7/docs/api/java/math/MathContext.html#DECIMAL128格式足以满足前 151 次试验。结果可以使用表示科学计数法如果需要的话可以加上指数。

转换double to BigDecimal使用valueOf https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#valueOf(double)方法并且不使用构造函数BigDecimal(double) https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#BigDecimal(double),否则你可以得到不可预料的每个数字的附录。我想,这是计算中的主要错误double.

在这种情况下,从第五次试验开始,行总和变得小于1因为四舍五入,然后它们变得更少,在第 151 次试验后你会得到一个ArithmeticException https://docs.oracle.com/javase/7/docs/api/java/lang/ArithmeticException.html 下溢,因为数字变得小于舍入范围。

真空中的球形马

For 更确切您可以使用的计算UNLIMITED https://docs.oracle.com/javase/7/docs/api/java/math/MathContext.html#UNLIMITED精密算术。在这种情况下,行的总和是稳定地等于1在每次迭代中,但它认为too long, 即使在parallel https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html#parallel--模式,所以我在第 20 次试验时停止了这样的MathContext。大约需要5分钟计算第 20 次迭代,这对我来说就足够了。进一步试验的时间越来越长几何级数有一个近似的公比 of 3,但它继续工作而不会出现内存泄漏。我希望情况确实如此,所以我认为可能需要大约超过a year计算前 30 次试验...

工作代码

前 151 次试验采用 34 位数字DECIMAL128格式,每十次试验打印使用科学计数法。您可以将这些值转换为doubleValue https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#doubleValue()并将行总和四舍五入为1直到第 65 次审判,但在这种情况下你会得到0.0第128次审判后:

public static void main(String[] args) {
    int d = 5; // dimensions
    int trials = 151;

    // rules for numerical operators
    MathContext mc = MathContext.DECIMAL128;

    BigDecimal[][] p = toBigDecimal(new double[][]{
            {0.02, 0.92, 0.02, 0.02, 0.02},
            {0.02, 0.02, 0.38, 0.38, 0.2},
            {0.02, 0.02, 0.02, 0.92, 0.02},
            {0.92, 0.02, 0.02, 0.02, 0.02},
            {0.47, 0.02, 0.47, 0.02, 0.02}});

    // matrix multiplication
    for (int t = 0; t < trials; t++) {
        long time = System.currentTimeMillis();
        p = parallelMatrixMultiplication(mc, d, d, d, p, p);
        // print every tenth trial
        if (t % 10 == 0)
            outputMatrix(p, t, time);
    }
}
static void outputMatrix(BigDecimal[][] matrix, int t, long time) {
    System.out.println("trial: " + t);
    for (BigDecimal[] row : matrix) {
        BigDecimal sum = BigDecimal.valueOf(0);
        for (BigDecimal element : row) {
            sum = sum.add(element);
            // string representation of this element, using
            // scientific notation with an exponent if needed
            System.out.print(element.toString() + " ");
        }
        // sum of the row in the same format
        System.out.println("|| " + sum.toString());
    }
    System.out.println("time: " + (System.currentTimeMillis() - time));
}
static BigDecimal[][] toBigDecimal(double[][] matrix) {
    return Arrays.stream(matrix)
            .map(row -> Arrays.stream(row)
                    .mapToObj(BigDecimal::valueOf)
                    .toArray(BigDecimal[]::new))
            .toArray(BigDecimal[][]::new);
}
/**
 * Parallel Matrix multiplication
 *
 * @param mc rules for numerical operators
 * @param m  rows of 'a' matrix
 * @param n  columns of 'a' matrix
 *           and rows of 'b' matrix
 * @param p  columns of 'b' matrix
 * @param a  first matrix 'm×n'
 * @param b  second matrix 'n×p'
 * @return result matrix 'm×p'
 */
static BigDecimal[][] parallelMatrixMultiplication(
        MathContext mc, int m, int n, int p,
        BigDecimal[][] a, BigDecimal[][] b) {
    return IntStream.range(0, m)
            .parallel()
            .mapToObj(i -> IntStream.range(0, p)
                    .mapToObj(j -> IntStream.range(0, n)
                            .mapToObj(k -> a[i][k].multiply(b[k][j], mc))
                            .reduce((bd1, bd2) -> bd1.add(bd2, mc))
                            .orElse(new BigDecimal("0")))
                    .toArray(BigDecimal[]::new))
            .toArray(BigDecimal[][]::new);
}

Output:

trial: 0
0.0470 0.0380 0.3602 0.3692 0.1856 || 1.0000
0.4520 0.0380 0.1172 0.3692 0.0236 || 1.0000
0.8570 0.0380 0.0362 0.0452 0.0236 || 1.0000
0.0470 0.8480 0.0362 0.0452 0.0236 || 1.0000
0.0470 0.4430 0.0362 0.4502 0.0236 || 1.0000
time: 48
trial: 10
0.2730292887828770329701825732219565 0.2657263599045893296731643158997608 0.1461853247179238943858654633117944 0.2472282818117836636296180707045289 0.06783074478282607934116957686195689 || 0.99999999999999999999999999999999749
0.2730292887828770329701825732219565 0.2657263599045893296731643158997608 0.1461853247179238943858654633117944 0.2472282818117836636296180707045289 0.06783074478282607934116957686195689 || 0.99999999999999999999999999999999749
0.2730292887828770329701825732219566 0.2657263599045893296731643158997610 0.1461853247179238943858654633117944 0.2472282818117836636296180707045290 0.06783074478282607934116957686195692 || 0.99999999999999999999999999999999792
0.2730292887828770329701825732219565 0.2657263599045893296731643158997607 0.1461853247179238943858654633117943 0.2472282818117836636296180707045288 0.06783074478282607934116957686195687 || 0.99999999999999999999999999999999717
0.2730292887828770329701825732219565 0.2657263599045893296731643158997608 0.1461853247179238943858654633117944 0.2472282818117836636296180707045289 0.06783074478282607934116957686195689 || 0.99999999999999999999999999999999749
time: 11
trial: 20
0.2730292887828770329701825732212719 0.2657263599045893296731643158990943 0.1461853247179238943858654633114277 0.2472282818117836636296180707039089 0.06783074478282607934116957686178676 || 0.99999999999999999999999999999748956
0.2730292887828770329701825732212719 0.2657263599045893296731643158990943 0.1461853247179238943858654633114277 0.2472282818117836636296180707039089 0.06783074478282607934116957686178676 || 0.99999999999999999999999999999748956
0.2730292887828770329701825732212719 0.2657263599045893296731643158990943 0.1461853247179238943858654633114277 0.2472282818117836636296180707039089 0.06783074478282607934116957686178676 || 0.99999999999999999999999999999748956
0.2730292887828770329701825732212715 0.2657263599045893296731643158990941 0.1461853247179238943858654633114276 0.2472282818117836636296180707039086 0.06783074478282607934116957686178666 || 0.99999999999999999999999999999748846
0.2730292887828770329701825732212719 0.2657263599045893296731643158990943 0.1461853247179238943858654633114277 0.2472282818117836636296180707039089 0.06783074478282607934116957686178676 || 0.99999999999999999999999999999748956
time: 9
trial: 30
0.2730292887828770329701825725200014 0.2657263599045893296731643152165814 0.1461853247179238943858654629359535 0.2472282818117836636296180700689079 0.06783074478282607934116957668756482 || 0.99999999999999999999999999742900902
0.2730292887828770329701825725200014 0.2657263599045893296731643152165814 0.1461853247179238943858654629359535 0.2472282818117836636296180700689079 0.06783074478282607934116957668756482 || 0.99999999999999999999999999742900902
0.2730292887828770329701825725200014 0.2657263599045893296731643152165814 0.1461853247179238943858654629359535 0.2472282818117836636296180700689079 0.06783074478282607934116957668756482 || 0.99999999999999999999999999742900902
0.2730292887828770329701825725200011 0.2657263599045893296731643152165811 0.1461853247179238943858654629359533 0.2472282818117836636296180700689076 0.06783074478282607934116957668756474 || 0.99999999999999999999999999742900784
0.2730292887828770329701825725200014 0.2657263599045893296731643152165814 0.1461853247179238943858654629359535 0.2472282818117836636296180700689079 0.06783074478282607934116957668756482 || 0.99999999999999999999999999742900902
time: 10
trial: 40
0.2730292887828770329701818544190935 0.2657263599045893296731636163232827 0.1461853247179238943858650784504105 0.2472282818117836636296174198278500 0.06783074478282607934116939828428938 || 0.99999999999999999999999736730492608
0.2730292887828770329701818544190935 0.2657263599045893296731636163232827 0.1461853247179238943858650784504105 0.2472282818117836636296174198278500 0.06783074478282607934116939828428938 || 0.99999999999999999999999736730492608
0.2730292887828770329701818544190935 0.2657263599045893296731636163232827 0.1461853247179238943858650784504105 0.2472282818117836636296174198278500 0.06783074478282607934116939828428938 || 0.99999999999999999999999736730492608
0.2730292887828770329701818544190931 0.2657263599045893296731636163232822 0.1461853247179238943858650784504101 0.2472282818117836636296174198278496 0.06783074478282607934116939828428926 || 0.99999999999999999999999736730492426
0.2730292887828770329701818544190935 0.2657263599045893296731636163232827 0.1461853247179238943858650784504105 0.2472282818117836636296174198278500 0.06783074478282607934116939828428938 || 0.99999999999999999999999736730492608
time: 8
trial: 50
0.2730292887828770329694465190894863 0.2657263599045893296724479495854144 0.1461853247179238943854713652542387 0.2472282818117836636289515729844414 0.06783074478282607934098671333025123 || 0.99999999999999999999730412024383203
0.2730292887828770329694465190894863 0.2657263599045893296724479495854144 0.1461853247179238943854713652542387 0.2472282818117836636289515729844414 0.06783074478282607934098671333025123 || 0.99999999999999999999730412024383203
0.2730292887828770329694465190894863 0.2657263599045893296724479495854144 0.1461853247179238943854713652542387 0.2472282818117836636289515729844414 0.06783074478282607934098671333025123 || 0.99999999999999999999730412024383203
0.2730292887828770329694465190894859 0.2657263599045893296724479495854140 0.1461853247179238943854713652542385 0.2472282818117836636289515729844411 0.06783074478282607934098671333025115 || 0.99999999999999999999730412024383065
0.2730292887828770329694465190894863 0.2657263599045893296724479495854144 0.1461853247179238943854713652542387 0.2472282818117836636289515729844414 0.06783074478282607934098671333025123 || 0.99999999999999999999730412024383203
time: 9
trial: 60
0.2730292887828770322164631415718825 0.2657263599045893289396052100083683 0.1461853247179238939823090523745175 0.2472282818117836629471244053337530 0.06783074478282607915391732039518029 || 0.99999999999999999723941912968370159
0.2730292887828770322164631415718825 0.2657263599045893289396052100083683 0.1461853247179238939823090523745175 0.2472282818117836629471244053337530 0.06783074478282607915391732039518029 || 0.99999999999999999723941912968370159
0.2730292887828770322164631415718825 0.2657263599045893289396052100083683 0.1461853247179238939823090523745175 0.2472282818117836629471244053337530 0.06783074478282607915391732039518029 || 0.99999999999999999723941912968370159
0.2730292887828770322164631415718818 0.2657263599045893289396052100083676 0.1461853247179238939823090523745172 0.2472282818117836629471244053337525 0.06783074478282607915391732039518012 || 0.99999999999999999723941912968369922
0.2730292887828770322164631415718825 0.2657263599045893289396052100083683 0.1461853247179238939823090523745175 0.2472282818117836629471244053337530 0.06783074478282607915391732039518029 || 0.99999999999999999723941912968370159
time: 9
trial: 70
0.2730292887828762611614845635464324 0.2657263599045885785086398831140649 0.1461853247179234811441006635406023 0.2472282818117829647561047310298819 0.06783074478282588759485895488280742 || 0.99999999999999717316518879611378892
0.2730292887828762611614845635464324 0.2657263599045885785086398831140649 0.1461853247179234811441006635406023 0.2472282818117829647561047310298819 0.06783074478282588759485895488280742 || 0.99999999999999717316518879611378892
0.2730292887828762611614845635464324 0.2657263599045885785086398831140649 0.1461853247179234811441006635406023 0.2472282818117829647561047310298819 0.06783074478282588759485895488280742 || 0.99999999999999717316518879611378892
0.2730292887828762611614845635464319 0.2657263599045885785086398831140646 0.1461853247179234811441006635406021 0.2472282818117829647561047310298813 0.06783074478282588759485895488280730 || 0.99999999999999717316518879611378720
0.2730292887828762611614845635464324 0.2657263599045885785086398831140649 0.1461853247179234811441006635406023 0.2472282818117829647561047310298819 0.06783074478282588759485895488280742 || 0.99999999999999717316518879611378892
time: 8
trial: 80
0.2730292887820867008634218082462759 0.2657263599038201372001462555418668 0.1461853247175007348187111094682799 0.2472282818110680171519592786367428 0.06783074478262973111909295411775437 || 0.99999999999710532115333140601091977
0.2730292887820867008634218082462759 0.2657263599038201372001462555418668 0.1461853247175007348187111094682799 0.2472282818110680171519592786367428 0.06783074478262973111909295411775437 || 0.99999999999710532115333140601091977
0.2730292887820867008634218082462759 0.2657263599038201372001462555418668 0.1461853247175007348187111094682799 0.2472282818110680171519592786367428 0.06783074478262973111909295411775437 || 0.99999999999710532115333140601091977
0.2730292887820867008634218082462755 0.2657263599038201372001462555418664 0.1461853247175007348187111094682796 0.2472282818110680171519592786367424 0.06783074478262973111909295411775427 || 0.99999999999710532115333140601091817
0.2730292887820867008634218082462759 0.2657263599038201372001462555418668 0.1461853247175007348187111094682799 0.2472282818110680171519592786367428 0.06783074478262973111909295411775437 || 0.99999999999710532115333140601091977
time: 12
trial: 90
0.2730292879735769568454317780258554 0.2657263591169362384688919123320142 0.1461853242846084982613861358960980 0.2472282810789616715920519228547587 0.06783074458176550023240385632850718 || 0.99999999703584886540016560543723348
0.2730292879735769568454317780258554 0.2657263591169362384688919123320142 0.1461853242846084982613861358960980 0.2472282810789616715920519228547587 0.06783074458176550023240385632850718 || 0.99999999703584886540016560543723348
0.2730292879735769568454317780258554 0.2657263591169362384688919123320142 0.1461853242846084982613861358960980 0.2472282810789616715920519228547587 0.06783074458176550023240385632850718 || 0.99999999703584886540016560543723348
0.2730292879735769568454317780258548 0.2657263591169362384688919123320136 0.1461853242846084982613861358960977 0.2472282810789616715920519228547582 0.06783074458176550023240385632850703 || 0.99999999703584886540016560543723133
0.2730292879735769568454317780258554 0.2657263591169362384688919123320142 0.1461853242846084982613861358960980 0.2472282810789616715920519228547587 0.06783074458176550023240385632850718 || 0.99999999703584886540016560543723348
time: 8
trial: 100
0.2730284600608555597809096423856914 0.2657255533490468070347525429793999 0.1461848810036310065886299754607182 0.2472275314032015596942117582195087 0.06783053889710522849818932256856966 || 0.99999696471384016159669324161388786
0.2730284600608555597809096423856914 0.2657255533490468070347525429793999 0.1461848810036310065886299754607182 0.2472275314032015596942117582195087 0.06783053889710522849818932256856966 || 0.99999696471384016159669324161388786
0.2730284600608555597809096423856914 0.2657255533490468070347525429793999 0.1461848810036310065886299754607182 0.2472275314032015596942117582195087 0.06783053889710522849818932256856966 || 0.99999696471384016159669324161388786
0.2730284600608555597809096423856910 0.2657255533490468070347525429793995 0.1461848810036310065886299754607179 0.2472275314032015596942117582195082 0.06783053889710522849818932256856957 || 0.99999696471384016159669324161388617
0.2730284600608555597809096423856914 0.2657255533490468070347525429793999 0.1461848810036310065886299754607182 0.2472275314032015596942117582195087 0.06783053889710522849818932256856966 || 0.99999696471384016159669324161388786
time: 12
trial: 110
0.2721819935822030657304032357038538 0.2649017279742810454592283638310650 0.1457316659745904561852246134110141 0.2464610551981708732338898147466929 0.06762024478566887448452655718718783 || 0.99689668751491431509327258487981363
0.2721819935822030657304032357038538 0.2649017279742810454592283638310650 0.1457316659745904561852246134110141 0.2464610551981708732338898147466929 0.06762024478566887448452655718718783 || 0.99689668751491431509327258487981363
0.2721819935822030657304032357038538 0.2649017279742810454592283638310650 0.1457316659745904561852246134110141 0.2464610551981708732338898147466929 0.06762024478566887448452655718718783 || 0.99689668751491431509327258487981363
0.2721819935822030657304032357038534 0.2649017279742810454592283638310646 0.1457316659745904561852246134110139 0.2464610551981708732338898147466923 0.06762024478566887448452655718718771 || 0.99689668751491431509327258487981191
0.2721819935822030657304032357038538 0.2649017279742810454592283638310650 0.1457316659745904561852246134110141 0.2464610551981708732338898147466929 0.06762024478566887448452655718718783 || 0.99689668751491431509327258487981363
time: 8
trial: 120
0.01132311287302140636187625536070984 0.01102024467759399595775450897719919 0.006062620386037311053865263230157305 0.01025308952324214872533623929149362 0.002813087133841649504461690768456174 || 0.041472154593736511603293957628016129
0.01132311287302140636187625536070984 0.01102024467759399595775450897719919 0.006062620386037311053865263230157305 0.01025308952324214872533623929149362 0.002813087133841649504461690768456174 || 0.041472154593736511603293957628016129
0.01132311287302140636187625536070984 0.01102024467759399595775450897719919 0.006062620386037311053865263230157305 0.01025308952324214872533623929149362 0.002813087133841649504461690768456174 || 0.041472154593736511603293957628016129
0.01132311287302140636187625536070982 0.01102024467759399595775450897719917 0.006062620386037311053865263230157291 0.01025308952324214872533623929149360 0.002813087133841649504461690768456168 || 0.041472154593736511603293957628016049
0.01132311287302140636187625536070984 0.01102024467759399595775450897719919 0.006062620386037311053865263230157305 0.01025308952324214872533623929149362 0.002813087133841649504461690768456174 || 0.041472154593736511603293957628016129
time: 8
trial: 130
1.044639308739343328720850715228411E-1416 1.016697520482136028467012050376325E-1416 5.593207133268761858504096038885519E-1417 9.459218919844845701317393883059301E-1417 2.595276963035115177423085757384926E-1417 || 3.8261071308363516309123203335377106E-1416
1.044639308739343328720850715228411E-1416 1.016697520482136028467012050376325E-1416 5.593207133268761858504096038885519E-1417 9.459218919844845701317393883059301E-1417 2.595276963035115177423085757384926E-1417 || 3.8261071308363516309123203335377106E-1416
1.044639308739343328720850715228411E-1416 1.016697520482136028467012050376325E-1416 5.593207133268761858504096038885519E-1417 9.459218919844845701317393883059301E-1417 2.595276963035115177423085757384926E-1417 || 3.8261071308363516309123203335377106E-1416
1.044639308739343328720850715228409E-1416 1.016697520482136028467012050376324E-1416 5.593207133268761858504096038885513E-1417 9.459218919844845701317393883059288E-1417 2.595276963035115177423085757384923E-1417 || 3.8261071308363516309123203335377054E-1416
1.044639308739343328720850715228411E-1416 1.016697520482136028467012050376325E-1416 5.593207133268761858504096038885519E-1417 9.459218919844845701317393883059301E-1417 2.595276963035115177423085757384926E-1417 || 3.8261071308363516309123203335377106E-1416
time: 8
trial: 140
1.511841812795049791388737404792298E-1449388 1.471403392128599201290355981548488E-1449388 8.094702488176411118777608478542366E-1449389 1.368974205715227102195005233661688E-1449388 3.755983711962022452727563939141449E-1449389 || 5.5372880306527194520246158617708555E-1449388
1.511841812795049791388737404792298E-1449388 1.471403392128599201290355981548488E-1449388 8.094702488176411118777608478542366E-1449389 1.368974205715227102195005233661688E-1449388 3.755983711962022452727563939141449E-1449389 || 5.5372880306527194520246158617708555E-1449388
1.511841812795049791388737404792298E-1449388 1.471403392128599201290355981548488E-1449388 8.094702488176411118777608478542366E-1449389 1.368974205715227102195005233661688E-1449388 3.755983711962022452727563939141449E-1449389 || 5.5372880306527194520246158617708555E-1449388
1.511841812795049791388737404792296E-1449388 1.471403392128599201290355981548485E-1449388 8.094702488176411118777608478542352E-1449389 1.368974205715227102195005233661686E-1449388 3.755983711962022452727563939141443E-1449389 || 5.5372880306527194520246158617708465E-1449388
1.511841812795049791388737404792298E-1449388 1.471403392128599201290355981548488E-1449388 8.094702488176411118777608478542366E-1449389 1.368974205715227102195005233661688E-1449388 3.755983711962022452727563939141449E-1449389 || 5.5372880306527194520246158617708555E-1449388
time: 7
trial: 150
3.736410561203285932862056593199857E-1484172552 3.636469852606817133931883241380801E-1484172552 2.000548708909203057880207355325268E-1484172552 3.383323332480596714663696894190756E-1484172552 9.282649209930868784637712909494675E-1484172553 || 1.36850173761929897178016153750461495E-1484172551
3.736410561203285932862056593199857E-1484172552 3.636469852606817133931883241380801E-1484172552 2.000548708909203057880207355325268E-1484172552 3.383323332480596714663696894190756E-1484172552 9.282649209930868784637712909494675E-1484172553 || 1.36850173761929897178016153750461495E-1484172551
3.736410561203285932862056593199857E-1484172552 3.636469852606817133931883241380801E-1484172552 2.000548708909203057880207355325268E-1484172552 3.383323332480596714663696894190756E-1484172552 9.282649209930868784637712909494675E-1484172553 || 1.36850173761929897178016153750461495E-1484172551
3.736410561203285932862056593199849E-1484172552 3.636469852606817133931883241380794E-1484172552 2.000548708909203057880207355325263E-1484172552 3.383323332480596714663696894190750E-1484172552 9.282649209930868784637712909494657E-1484172553 || 1.36850173761929897178016153750461217E-1484172551
3.736410561203285932862056593199857E-1484172552 3.636469852606817133931883241380801E-1484172552 2.000548708909203057880207355325268E-1484172552 3.383323332480596714663696894190756E-1484172552 9.282649209930868784637712909494675E-1484172553 || 1.36850173761929897178016153750461495E-1484172551
time: 7
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

乘以概率矩阵,大量迭代时出现错误值 的相关文章

  • 这个函数(for循环)空间复杂度是O(1)还是O(n)?

    public void check 10 for string i list Integer a hashtable get i if a gt 10 hashtable remove i 这是 O 1 还是 O n 我猜测 O n 但不是
  • SAML 服务提供商 Spring Security

    当使用预先配置的服务提供者元数据时 在 Spring Security 中 是否应该有 2 个用于扩展元数据委托的 bean 定义 一份用于 IDP 元数据 一份用于 SP 元数据
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 如何安全地解决这个 Java 上下文类加载器问题?

    我的数百名用户中只有一位在启动我的 Java 桌面应用程序时遇到问题 他只有大约三分之一的时间开始 另外三分之二的时间在启动时抛出 NullPointerException Exception in thread AWT EventQueu
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 在 Netbeans 8 上配置 JBoss EAP 的问题

    我已经下载了 JBoss EAP 7 并正在 Netbeans 8 上配置它 我已经到达向导 实例属性 其中要求从选择框中选择 域 当我打开选择框时 它是空的 没有什么可以选择的 因此 完成 按钮也处于非活动状态 这使得无法完成配置 我通过
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • 将 SignedHash 插入 PDF 中以进行外部签名过程 -workingSample

    遵循电子书第 4 3 3 节 PDF 文档的数字签名 https jira nuxeo com secure attachment 49931 digitalsignatures20130304 pdf 我正在尝试创建一个工作示例 其中 客
  • 编辑文件名在 JComboBox 中的显示方式,同时保持对文件的访问

    我对 Java 很陌生 对堆栈溢出也很陌生 我正在尝试利用 JMF API 创建一个用 Java 编码的简单媒体播放器 到目前为止 我已经能够设置一个简单的队列 播放列表来使用JComboBox called playListHolder
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • Struts 2 + Sitemesh 3 集成 - FreemarkerDecoratorServlet 中的 NPE

    我将 Struts 2 版本 2 3 14 3 与 Sitemesh 3 版本 3 0 alpha 2 一起使用 并且在某些情况下遇到 NullPointerException 首先 这是我的 web xml 中的 struts2 site
  • Netty:阻止调用以获取连接的服务器通道?

    呼吁ServerBootstrap bind 返回一个Channel但这不是在Connected状态 因此不能用于写入客户端 Netty 文档中的所有示例都显示写入Channel从它的ChannelHandler的事件如channelCon
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • Trie 数据结构 - Java [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库或文档 链接提供了在 java 中实现 Trie 数据结构的更多信息 任何帮助都会很棒 Thanks 你可以阅读Java特里树
  • 带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项“MaxPermSize=512m”

    I use OpenJDK 17 https jdk java net 17 使用 Maven Wrapper 3 8 2 从春季初始化 https start spring io Maven项目 JAR打包 Java 17 Spring
  • 如何在 JFreeChart 中设置多个系列的线条粗细?

    我创建了很多图表 在他们每个人中我都需要打电话 renderer setSeriesStroke i new BasicStroke 2 0f 对于每个系列 renderer is chart getXYPlot getRenderer 我

随机推荐

  • XHTML:将 DIV 放置在 A 标记中

    Is it alright将 div 标签放置在锚标签内 div 的内容会将页面重定向到锚标记的 href 吗 将 div 标签放在锚标签内可以吗 Yes if 您正在使用 HTML5 XHTML5 和 锚标记不在内联上下文中 即仅允许短语
  • 如何使用php从url读取xml文件

    我必须从 URL 读取 XML 文件 map url http maps google com maps api directions xml origin merchant address url destination customer
  • 从 PHP 中的函数返回多个值 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有这个函数 在调用它时返回三个值
  • Union 赋值中的不兼容类型

    Mypy 向我打印以下消息 x py 74 错误 赋值中的类型不兼容 表达式具有类型 Union str Dict str str 变量的类型为 str 是不是很奇怪 str是其一部分Union str Dict str str 代码如下
  • 从 PHP CLI 打开 Vim

    当你从提交命令中删除 m 时 如何从像 svn 和 git 那样的 CLI 打开 vim 我收到以下错误 Vim 警告 输出不是到终端 echo Please edit this file gt file name vim file nam
  • 如何使用 Perl 截取网页屏幕截图?

    是否可以用 Perl 编写一个脚本来打开不同的 URL 并保存每个 URL 的屏幕截图 你可以使用WWW 机械化 Firefox http search cpan org perldoc WWW Mechanize Firefox控制 Fi
  • 使用 FluentNHibernate 映射通用 EntityBase

    我的所有实体类型都有一个基类 就像 public abstract class EntityBase
  • 有谁知道这个Android类的功能吗? “com.google.apps.tiktok.tracing.db”?

    我正在使用 Android Studio Logcat 调试我自己的应用程序 并遇到一些涉及 com google apps tiktok tracing db 类的日志 这和抖音有关系吗 我从未在手机上安装过该应用程序 我的 Logcat
  • 压缩图像的最佳方法 Javascript React Web App

    我正在寻找最佳的解决方案来压缩我收到并需要存储在数据库中的图像 实际上 我将图像转换为base64 然后将其发送到服务器 handleImage e gt e preventDefault let reader new FileReader
  • 带有准备好的语句的 PostgreSQL 内部查询

    我有一个表来存储联系人 我想获取添加 user id 为 some number 的列的最大值 并将其设置为当前插入记录的相同列值 我正在使用准备好的语句 pg prepare db add INSERT INTO CONTACTS c u
  • 重置 FactoryGirl 测试的“序列”

    有谁知道如何重置FactoryGirl的序列方法 我有一个创建任务列表的工厂 我希望每次都从 1 开始 我使用 序列 是因为任务列表是一个关联模型 所以每次使用时我都需要增加顺序FactoryGirl create直到我调用重置 你需要写F
  • 在 Javascript 中检测 MS Surface 虚拟键盘

    有没有办法通过 Javascript 检测 MS Surface 的虚拟键盘何时显示在网页中 虚拟键盘覆盖了页面上的活动文本字段 我需要能够检测到这一点 以便我可以重新布局页面以更好地使用剩余的窗口区域 None
  • 仅通过单击节点图像来展开/折叠 TreeView

    我的表单上有一个包含大量项目 节点的 TreeView 当我双击节点的项目时 我运行一个过程 取决于单击的项目 我的问题是 我希望它仅在单击节点的图标 或 号 时展开 折叠 如果我双击一个项目则不会 类似的问题 http www delph
  • Ant构建执行cordova

    我为我的 cordova 项目创建了一个 ant 构建 如下所示
  • 如何使用 datafactory 管道转换 xml 数据

    我们如何将 XML 负载中的数据保存到 Blob 存储中 input
  • 对于 Jenkins git 插件,建议在哪里运行 git config ?

    在詹金斯的领导下我也有同样的情况longpaths中描述的问题这个线程 https stackoverflow com questions 22575662 filename too long in git for windows This
  • R Markdown 版本的 \framesubtitle?

    以下是我所知道的创建带有字幕的投影仪幻灯片的最少 TeXy 方法 output beamer presentation Title of Slide framesubtitle Subtitle of Slide Frame content
  • C++ 虚拟继承内存布局

    虚拟继承内存布局 我试图完全理解虚拟继承和 vTables vPtrs 的内存幕后发生的事情以及不发生的事情 我有两个我编写的代码示例 我确切地理解它们工作的原因 但我只是想确保我心中对对象内存布局有正确的想法 Here http post
  • golang递归地反映字段类型和值

    在golang中 我想通过结构体递归地反映 获取字段的名称 类型和值 这里的代码帮助我反思golang递归反射 https stackoverflow com questions 47624318 golang recurisive ref
  • 乘以概率矩阵,大量迭代时出现错误值

    我有下一个代码 它乘以概率矩阵 p一定次数 对于前 50 次迭代 一切正常 每行的概率之和等于1 但后来我收到了sum gt 1大约在第 70 次迭代时 我收到无穷大的值 我不明白为什么 The sum每行的概率必须等于1 这就是经典马尔可