Examples of Roboter


Examples of fmg.fmg8.umgebung2D.Roboter

        String endung = fmg.fmg8.graphVis.Konstanten.GRAPH_ENDUNG;
        String[] gespGr = verz.list(new DateiFilter(endung));
        ArrayList<Integer> a;
        Iterator<Integer> it2;
        int anzahl = 0;
        Roboter aktRob;
        Knoten l;
        int gesAnz = 0;
        String[] verzPar = {"verz", verzeichnis};
        Parametersatz params = new Parametersatz(verzPar);
        params.ergaenze();
       
       
        if (positiv) {
            System.out.println("Positive Automaten:");
        } else {
            System.out.println("Negative Automaten:");
        }
       
        for (int i = 0; i < gespGr.length; i++) {
            System.gc();
            if ((!positiv
                && (gespGr[i].contains("-")
                    || gespGr[i].contains("_0")))
                || positiv
                && !(gespGr[i].contains("-")
                     || gespGr[i].contains("_0"))) {
               
                gesAnz++;
               
                aktRob = new VisMantel(
                        gespGr[i].substring(0, gespGr[i].length() - 4),
                        null,
                        null,
                        null,
                        null,
                        -1,
                        params,
                        false,
                        null).getRob();

                a = aktRob.vAuts()[0].getKnList();
               
                it2 = a.iterator();
                while (it2.hasNext()) {
                    l = aktRob.vAuts()[0].holeKnoten(it2.next());
                    if (((ZInfo) ((Knoten) l).getInfo()).getAktion()
                            == bef) {
                        if (!erreichbar
                            || aktRob.vAuts()[0].erreichbar(null,
                                                               l.holeName())) {
                                anzahl++;
                                System.out.println(anzahl
                                                   + "/"
                                                   + gesAnz
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

     */
    @Override
    public ArrayList<RobCode> rekombiniere(final ArrayList<Roboter> pop) {
        ArrayList<RobCode> kindPop = new ArrayList<RobCode>();
        Roboter[] eltern;
        Roboter aktRob;
        Iterator<Roboter> it = pop.iterator();

        while (it.hasNext()) {
            aktRob = it.next();
            eltern = aktRob.getUmg().holeNahe(aktRob.getPosition().x,
                                                 aktRob.getPosition().y,
                                                 this.pars.getRekAnzEltern());
           
            for (int i = 0; i < this.pars.getRekAnzKinder().intValue(); i++) {
                kindPop.add(this.rekombEinz(eltern)[0]);
            }
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

            final ArrayList<Roboter> elternPop) {
       
        final int kindAnz = 1;

        Iterator<Roboter> it;
        Roboter rob1;
        Roboter rob2;
        Roboter[] eltern = new Roboter[this.anzElt];
        RobCode[] kinder;
        ArrayList<RobCode> kindPop = new ArrayList<RobCode>();
        HashSet<Roboter> nicht = new HashSet<Roboter>(this.anzElt);
       
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

     * @return  Die rekombinierte Population als Tupel (ID, Code).
     */
    public ArrayList<RobCode> rekombiniere(
            final ArrayList<Roboter> elternPop) {
        Iterator<Roboter> it;
        Roboter rob1;
        Roboter rob2;
        Roboter[] eltern = new Roboter[this.anzElt];
        RobCode[] kinder;
        ArrayList<RobCode> kindPop = new ArrayList<RobCode>();
        HashSet<Roboter> nicht = new HashSet<Roboter>(this.anzElt);
       
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

        Roboter[] robs = new Roboter[max];
        Parametersatz pars = new Parametersatz(args);
        pars.ergaenze();

        for (int i = 0; i < max; i++) {
            robs[i] = new Roboter(
                    1,
                    1,
                    1,
                    1,
                    1,
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

                    int y = event.getY();

                    if (event.getButton() == 1) {
                        GuiSimulation.this.deselektiereAlle();
                        if (event.getClickCount() <= 1) {
                            Roboter r
                                = GuiSimulation.this.holeNahenDar(x, y, null);
                            r.setSelektiert(true);
                           
                            if (GuiSimulation.this.eltFenst != null) {
                                GuiSimulation.this.eltFenst.selGraph(r);
                            } else if (GuiSimulation.this.eltTraceB != null) {
                                GuiSimulation.this.eltTraceB.selGraph(r);
                            }
                            SonstMeth.log(
                                    SonstMeth.LOG_INFO,
                                    "Selektiert ("
                                        + r.getId()
                                        + " ["
                                        + r.getFitString()
                                        + "]"
                                        + ").",
                                    GuiSimulation.this.pars);
                           
                            SonstMeth.log(
                                    SonstMeth.LOG_DEBUG,
                                    "TransCode: " + r.getTransCodes()[0] + ".",
                                    GuiSimulation.this.pars);
                            SonstMeth.log(
                                    SonstMeth.LOG_DEBUG,
                                    "VerhCode:  " + r.getVerhCodes()[0] + ".",
                                    GuiSimulation.this.pars);
                        }
                       
                        GuiSimulation.this.allesNeuZeichnen = true;
                        if (GuiSimulation.this.pars.getVerzoeg().longValue()
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

    /**
     * Deselektiert alle Roboter in der Liste der Akteure der Umgebung.
     */
    private void deselektiereAlle() {
        Iterator<Roboter> it = this.umgebung.getAkteure().iterator();
        Roboter rob;
        while (it.hasNext()) {
            rob = it.next();
            rob.setSelektiert(false);
        }
        if (this.eltTraceB != null) {
            this.eltTraceB.deselektiereAlle();
        }
    }
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

     * und (TODO!) setzt die im Sensorfenster eingetragenen Sensoren als
     * Konstante Sensoren f�r den Roboter.
     */
    private void setzeSensoren() {
        Iterator<Roboter> it = this.umgebung.getAkteure().iterator();
        Roboter aktRob;
        while (it.hasNext()) {
            aktRob = it.next();
            if (aktRob.isSelektiert()
                    && this.sensFenster != null
                    && this.sensorFenster.isVisible()) {
   
                // Zeigt die berechneten Sensoren im Sensorfenster an.
                for (int i = 0; i < Konstanten.SENSOR_ANZAHL_BERECHNET; i++) {
                    this.sensorFenster.setSensor(i, aktRob.getSensorWert(i));
                }
               
                this.sensorFenster.setFitness(aktRob.getFitString());
            }
        }
       
//            // Setze die konstanten Sensoren auf die im Fenster eingetragenen
//            // Werte.
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

        Condition zCond;
        int aktion;
        int param;      
        int alt;
        boolean istStart;
        Roboter aktRob;
        Condition[] condListe = new Condition[rob.length];
        int j = -1;
       
        /*
         * Ersetzt alle Vorkommnisse von <code>null</code> im Array rob durch
         * g�ltige im Array weiter vorne stehende Roboter. Dabei wird die
         * Liste der Roboter VOR dem ersten Vorkommnis von <code>null</code>
         * immer wieder �ber das Array gelegt und die null-Werte werden
         * �berschrieben:
         *
         * [1 3 null null null null] => [1 3 1 3 1 3].
         *
         * Wenn nach dem ersten Vorkommnis von <code>null</code> ein g�ltiger
         * Roboter vorkommt (dies ist kein erw�nschter Fall), dann wird er
         * im Array belassen.
         */
        for (int i = 0; i < rob.length; i++) {
            if (rob[i] == null) {
                if (j < 0) {
                    j = i;
                }
                rob[i] = rob[i % j];
            }
        }
       
        for (int i = 0; i < rob.length; i++) {
            if (rob[i].getFitness()[0] > 0) {
                vert.add(new Long(rob[i].getFitness()[0]));
            } else {
                vert.add(new Long(0));
            }
        }

        aktRob = (Roboter) MathMeth.randVerteilung(rob, vert, this.rand);
        zustaende = aktRob.vAuts()[0].getKnList();
        fitness = aktRob.getFitness()[0];
       
        vorhandenAll = true;
       
        it = zustaende.iterator();
        while (it.hasNext()) {
            aktName = (Integer) it.next();
            for (int i = 0; i < rob.length; i++) {
                zwischKnoten = rob[i].vAuts()[0].holeKnoten(aktName);
                if (zwischKnoten != null) {
                    knotenListe[i] = zwischKnoten;
                } else {
                    vorhandenAll = false;
                    break;
                }
            }
           
            if (vorhandenAll) {
                zKnoten = (Knoten) MathMeth.randVerteilung(knotenListe,
                                                           vert,
                                                           this.rand);
            } else {
                zKnoten = aktRob.vAuts()[0].holeKnoten(aktName);
            }
           
            aktion = ((ZInfo) zKnoten.getInfo()).getAktion();
            param = ((ZInfo) zKnoten.getInfo()).getParam();
            alt = ((ZInfo) zKnoten.getInfo()).getAlter();
            istStart = ((ZInfo) zKnoten.getInfo()).istStartZ();
           
            kind.einfuegenKnoten(aktName, aktion, param, alt);
            if (istStart) {
                kind.setStart(kind.holeKnoten(aktName));
            }
        }
       
        it1 = zustaende.iterator();
        while (it1.hasNext()) {
            kn1 = (Integer) it1.next();
            it2 = zustaende.iterator();
            while (it2.hasNext()) {
                kn2 = (Integer) it2.next();
               
                vorhandenAll = true;
                if (aktRob.vAuts()[0].kanteExistiert(kn1, kn2)) {
                    for (int i = 0; i < rob.length; i++) {
                        if (rob[i].vAuts()[0].kanteExistiert(kn1, kn2)) {
                            condListe[i] = rob[i].vAuts()[0].getCondZuTrans(kn1,
                                                                           kn2);
                        } else {
                            vorhandenAll = false;
                            break;
                        }
                    }
                   
                    if (vorhandenAll) {
                        zCond = (Condition) MathMeth.randVerteilung(condListe,
                                                                    vert,
                                                                    this.rand);
                    } else {
                        zCond = aktRob.vAuts()[0].getCondZuTrans(kn1, kn2);
                    }
                   
                    kind.einfuegKante(kn1, kn2, zCond, 1);
                }
            }
        }

        /*
         * TODO: Alter der Knoten UND Kanten.
         */
       
        int[] fits = new int[1];
        String[] codes = new String[1];
        fits[0] = (int) fitness;
        codes[0] = kind.erzeugeStringSeq();
       
        robC[0] = new RobCode(
                id,
                fits,
                codes,
                aktRob.getConds(),
                aktRob.getTransStdCodes(),
                SonstMeth.stringAusListSeqs(aktRob.getTransCodes()),
                SonstMeth.stringAusListSeqs(aktRob.getVerhCodes()));
       
        return robC;
    }
View Full Code Here

Examples of fmg.fmg8.umgebung2D.Roboter

     * @return  Die rekombinierte Population.
     */
    public ArrayList<RobCode> rekombiniere(final ArrayList<Roboter> pop) {
        ArrayList<RobCode> kindPop = new ArrayList<RobCode>();
        Roboter[] eltern;
        Roboter aktRob;
        Iterator<Roboter> it = pop.iterator();

        while (it.hasNext()) {
            aktRob = it.next();
            eltern = aktRob.getEltern().holeNahe(aktRob.getPosition().x,
                                                 aktRob.getPosition().y,
                                                 this.pars.getRekAnzEltern());
           
            for (int i = 0; i < this.pars.getRekAnzKinder().intValue(); i++) {
                kindPop.add(this.rekombEinz(eltern)[0]);
            }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.