//@Test
    public void nonDeterministeMC() {
        final double[][] transtionMatrixNonDeterministe
                = { /*0   1     2     */
                    /*0*/{0.0, 0.3, 0.7},
                    /*1*/ {0.2, 0.0, 0.8},
                    /*2*/ {1.0, 0.0, 0.0},};

        final Integer[] states = {0, 1, 2};

        final double[] cible_distrib = {0.446, 0.134, 0.42};

        mc = new MarkovChain(transtionMatrixNonDeterministe, states);
        double[] etats_parcours = new double[states.length];
        int i = 0;
        while (i < (1 << 16)) {
            mc.walk();
            etats_parcours[mc.getCurrentStateIndice()]++;
            i++;
        }

        for (int j = 0; j < etats_parcours.length; j++) {
            etats_parcours[j] /= (i - 1);
        }

        for (int j = 0; j < etats_parcours.length; j++) {
            System.out.println(etats_parcours[j]);
            System.out.println(cible_distrib[j]);
            assertEquals(etats_parcours[j], cible_distrib[j], 0.001);
        }

    }