Package eas.miscellaneous.datatypes

Examples of eas.miscellaneous.datatypes.Integer2D


//            System.out.println(bads.size());
            Matrix richtigeZeile = wkeitsVerteilungSel.erzeugeZeilenMatrix(new int[] {goods.size()});
//            System.out.println(richtigeZeile);
            LinkedList<Double> verteilung1 = new LinkedList<Double>();
            LinkedList<Integer2D> tupel = new LinkedList<Integer2D>();
            Integer2D ausgewaehlt;
           
            for (int i = 0; i < richtigeZeile.getColumnCount(); i++) {
                verteilung1.add(richtigeZeile.get(i, 0));
                tupel.add(richtigeZeile.getColumnTitle(i));
            }
View Full Code Here


      
        int k = this.tournamentGroesse;
        if (speicherMatrix == null) {
            speicherMatrix = new Matrix(k + 1, n + 1);
            for (int i = 0; i < speicherMatrix.getColumnCount(); i++) {
                speicherMatrix.setColumnTitle(i, new Integer2D(i, k - i));
            }
            for (int j = 0; j < speicherMatrix.getRowCount(); j++) {
                speicherMatrix.setRowTitle(j, new Integer2D(j, n - j));
            }
            speicherMatrix.set(0, 0, 1);
            speicherMatrix.set(speicherMatrix.getColumnCount() - 1, speicherMatrix.getRowCount() - 1, 1);
        }
       
View Full Code Here

    private static void generateProbMatrixTitles(
            final Matrix wkeitsMatrix,
            final int n,
            final int k) {
        for (int i = 0; i < wkeitsMatrix.getColumnCount(); i++) {
            wkeitsMatrix.setColumnTitle(i, new Integer2D(i, k - i));
        }
       
        for (int j = 0; j < wkeitsMatrix.getRowCount(); j++) {
            wkeitsMatrix.setRowTitle(j, new Integer2D(j, n - j));
        }
    }
View Full Code Here

           
        Matrix mat = new Matrix(n + 1, n + 1);

        // Überschriften.
        for (int i = 0; i < mat.getColumnCount(); i++) {
            mat.setColumnTitle(i, new Integer2D(i, n - i));
        }
       
        for (int j = 0; j < mat.getRowCount(); j++) {
            mat.setRowTitle(j, new Integer2D(j, n - j));
        }
       
        // Speichert die Summanden für die asymmetrische Wkeits-Verschiebung zugunsten der "Guten".
        HashMap<Integer2D, Double> summanden = new HashMap<Integer2D, Double>();
       
        // Übernimm Wkeitsmatrix in Gesamtmatrix.
        for (int j = 0; j < mat.getRowCount(); j++) {
            for (int i = Math.max(j - k + 1, 0); i < Math.min(j + k, mat.getColumnCount()); i++) {
                if (i == j) {
                    mat.set(i, j, mat.get(i, j) + getWkeit(
                            mat.getRowTitle(j),
                            new Integer2D(0, k),
                            probabilityMatrixC));
                    mat.set(i, j, mat.get(i, j) + getWkeit(
                            mat.getRowTitle(j),
                            new Integer2D(k, 0),
                            probabilityMatrixC));
                } else {
                    int gute;
                    double summand;
                    double l;
                    if (i < j) {
                        gute = j - i;
                    } else if (i > j) {
                        gute = k - (i - j);
                    } else {
                        // Dieser Fall kann nicht auftreten.
                        gute = -1;
                        summand = Double.NEGATIVE_INFINITY;
                    }

                    l = k - gute;
                    summand = l / k * cg;
                   
                    Integer2D spalteWkeitsMatrix = new Integer2D(gute, k - gute);
                   
                    double wkeit = getWkeit(
                            mat.getRowTitle(j),
                            spalteWkeitsMatrix,
                            probabilityMatrixC);
                   
                    if (wkeit == 0) {
                        summand = 0;
                    }
                   
                    // Achtung: Hier ist das Zweiertupel (x, y) die Koordinate [x][y] in der Wkeits-Matrix.
                    summanden.put(new Integer2D(i, j), summand);
                   
                    mat.set(i, j, mat.get(i, j) + wkeit);
                }
            }
        }
       
        // Füge Wkeit für Konvertierung in Richtung "gut" bzw. "schlecht".
        for (int j = 0; j < mat.getRowCount(); j++) {
            double kk = k;
            double l = kk; // Der Faktor für die Wkeit (=> gut / schlecht).
            Double summand;
           
            for (int i = 0; i < kk; i++) {
                if (i != 0 && j + i >= 0 && j + i < mat.getColumnCount()) {
                    summand = summanden.get(new Integer2D(j + i, j));
                    if (summand == null) {
                        summand = 0.0;
                    }
                   
                    mat.set(j + i, j, mat.get(j + i, j) * (l / kk + summand));
                }
                l--;
            }

            l = kk;
            for (int i = 0; i < kk; i++) {
                if (i != 0 && j - i >= 0 && j - i < mat.getColumnCount()) {
                    summand = summanden.get(new Integer2D(j - i, j));
                    if (summand == null) {
                        summand = 0.0;
                    }
                   
                    mat.set(j - i, j, mat.get(j - i, j) * (l / kk - summand));
View Full Code Here

            final double schlechteGuete) {
        LinkedList<Integer2D> zustaende = new LinkedList<Integer2D>();
        MatrixVarianten mat;

        for (int i = 0; i <= popGr; i++) {
            zustaende.add(new Integer2D(i, popGr - i));
        }

        Collections.sort(zustaende, new DoppComp());

        mat = new MatrixVarianten(zustaende.size(), zustaende.size());
View Full Code Here

    public static MatrixVarianten erzeugeRepGraph(final int startX, final int startY) {
        HashSet<Integer2D> zustaende = new HashSet<Integer2D>();
        LinkedList<Integer2D> hinzu = new LinkedList<Integer2D>();
        LinkedList<Integer2D> zustListe;
        MatrixVarianten mat;
        hinzu.add(new Integer2D(startX, startY));

        while (!zustaende.containsAll(hinzu)) {
            zustaende.addAll(hinzu);
            hinzu.clear();

            for (Integer2D p : zustaende) {
                if (p.gute >= p.schlechte) {
                    for (int i = -p.schlechte; i <= p.schlechte; i += 1) {
                        hinzu.add(new Integer2D(p.gute + i, p.schlechte - i));
                    }
                } else {
                    for (int i = -p.gute; i <= p.gute; i += 1) {
                        hinzu.add(new Integer2D(p.gute + i, p.schlechte - i));
                    }
                }
            }
        }
View Full Code Here

       
        Matrix wkeitsMatrix = new Matrix(k + 1, n + 1);
       
        // Ãœberschriften.
        for (int i = 0; i < wkeitsMatrix.getColumnCount(); i++) {
            wkeitsMatrix.setColumnTitle(i, new Integer2D(i, k - i));
        }
       
        for (int j = 0; j < wkeitsMatrix.getRowCount(); j++) {
            wkeitsMatrix.setRowTitle(j, new Integer2D(j, n - j));
        }
       
        // Werte erzeugen.
        for (int i = 0; i < wkeitsMatrix.getColumnCount(); i++) {
            for (int j = 0; j < wkeitsMatrix.getRowCount(); j++) {
View Full Code Here

TOP

Related Classes of eas.miscellaneous.datatypes.Integer2D

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.