Examples of Knoten


Examples of fmg.fmg8.graphVis.graph.Knoten

        int anzRobs;
        int aktName;
        int[] fitness;
        Condition zCond;
        Integer kn1, kn2;
        Knoten zwischKnoten;
        boolean vorhandenAll;
        Iterator<Integer> it;
        Iterator<Integer> it1;
        Iterator<Integer> it2;
        Roboter aktRob = null;
        EndlicherAutomat[] kind;
        ArrayList<Integer> zustaende;
        RobCode[] robC = new RobCode[1];
        Knoten[] knotList = new Knoten[rob.length];
        Condition[] condListe = new Condition[rob.length];
        ArrayList<Long> vert = new ArrayList<Long>(rob.length);
       
        if (rob.length <= 0 || rob[0] == null) {
            SonstMeth.log(SonstMeth.LOG_ERROR,
                          "Kein Roboter zum Rekombinieren �bergeben ("
                          + this + ")",
                          this.pars);
        }
       
        id = rob[0].getId();
        kind = new EndlicherAutomat[rob[0].vAuts().length];
       
        /*
         * 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 allerdings kein erw�nschter Fall), dann
         * wird er im Array belassen.
         */
        anzRobs = -1;
        for (int i = 0; i < rob.length; i++) {
            if (rob[i] == null) {
                if (anzRobs < 0) {
                    anzRobs = i;
                }
                rob[i] = rob[i % anzRobs];
            }
        }

        fitness = new int[rob[0].vAuts().length];
       
        for (int i = 0; i < rob[0].vAuts().length; i++) {
            vert.clear();
           
            // Erzeuge Wahrscheinlichkeitsverteilung fitnessproportional.
            for (int j = 0; j < rob.length; j++) {
                if (rob[j].getFitness()[i] > 0) {
                    vert.add(new Long(rob[j].getFitness()[i]));
                } else {
                    vert.add(new Long(0));
                }
            }
           
            aktRob = (Roboter) MathMeth.randVerteilung(rob, vert, this.rand);
            zustaende = aktRob.vAuts()[i].getKnList();
            fitness[i] = aktRob.getFitness()[i];

            kind[i] = new EndlicherAutomat();
            vorhandenAll = true;
           
            // Zust�nde einf�gen.
            it = zustaende.iterator();
            while (it.hasNext()) {
                aktName = it.next();
                for (int j = 0; j < rob.length; j++) {
                    zwischKnoten = rob[j].vAuts()[i].holeKnoten(aktName);
                    if (zwischKnoten != null) {
                        knotList[j] = zwischKnoten;
                    } else {
                        vorhandenAll = false;
                        break;
                    }
                }

                if (vorhandenAll) {
                    zwischKnoten = (Knoten) MathMeth.randVerteilung(knotList,
                                                                    vert,
                                                                    this.rand);
                } else {
                    zwischKnoten = aktRob.vAuts()[i].holeKnoten(aktName);
                }
               
                aktion = ((ZInfo) zwischKnoten.getInfo()).getAktion();
                param = ((ZInfo) zwischKnoten.getInfo()).getParam();
                alt = ((ZInfo) zwischKnoten.getInfo()).getAlter();

                kind[i].einfuegenKnoten(aktName, aktion, param, alt);
            }

            kind[i].setStartBeliebig(); // Setze auf ersten vorh. Knoten.
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

        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.graphVis.graph.Knoten

     */
    public boolean entferneKnoten(final Integer knotenName) {
        final ArrayList<Integer> knotenlisteV;
        final ArrayList<Integer> knotenlisteN;
        Iterator<Integer>  it;
        Knoten          knoten;
        HashMap<Integer, Knoten> nachfolger;
        HashMap<Integer, Knoten> vorgaenger;

        nachfolger = this.holeKnoten(knotenName).holeNachfolger();
        vorgaenger = this.holeKnoten(knotenName).holeVorgaenger();
        knotenlisteN = new ArrayList<Integer>(nachfolger.keySet());
        knotenlisteV = new ArrayList<Integer>(vorgaenger.keySet());

        if (this.startKnName != null
            && this.startKnName.equals(knotenName)) {
            this.entferneStartZ();
        }

        if (this.holAdj().containsKey(knotenName)) {
            it = knotenlisteV.iterator();
            while (it.hasNext()) {
                knoten = this.holeKnoten(it.next());
                this.entferneKante(knoten.holeName(), knotenName);
                knoten.entferneNachfolger(this.holeKnoten(knotenName));
                knoten.entferneVorgaenger(this.holeKnoten(knotenName));
            }
            it = knotenlisteN.iterator();
            while (it.hasNext()) {
                knoten = this.holeKnoten(it.next());
                knoten.entferneNachfolger(this.holeKnoten(knotenName));
                knoten.entferneVorgaenger(this.holeKnoten(knotenName));
            }
            this.holAdj().remove(knotenName);
           
            this.sequenz = null;
           
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

    public boolean einfuegKante(final Integer    knotenName1,
                                final Integer    knotenName2,
                                final Condition  cond,
                                final int        alt) {

        final Knoten knoten1 = this.holeKnoten(knotenName1);
        final Knoten knoten2 = this.holeKnoten(knotenName2);
        ZInfo zusatz1;
        final Transition bed;

        if (!this.getAdjazenzliste().containsKey(knotenName1)
            || !this.getAdjazenzliste().containsKey(knotenName2)) {
            throw new RuntimeException(
                Messages.getString("EndlicherAutomat."
                    + "EinerderbeidenKnotenexistiertnicht"));
        }

        knoten1.neuerNachfolger(knoten2);
        knoten2.neuerVorgaenger(knoten1);

        zusatz1 = knoten1.getInfo();
        bed = new Transition(cond,
                             knotenName1.intValue(),
                             knotenName2.intValue(),
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

        LinkedList<Integer> seq = new LinkedList<Integer>();
        ArrayList<Knoten> alleKnot
            = new ArrayList<Knoten>(this.holAdj().values());
        Iterator<Knoten> it1;
        Iterator<Transition> it2;
        Knoten aktKnot;
        ZInfo aktZusatz;
        Integer aktName;
        Integer aktBefehl;
        Integer aktParam;
        Integer aktAlter;
        Transition aktBed;
        String bed;
        Integer folgeZu;
        String token;
        Stack<Character> stk;
        char tokC;
        Character c;
        Integer transAlter;

        // Sorgt daf�r, dass der Startzustand am Beginn der Sequenz steht.
        Collections.sort(alleKnot, new StartZustKomp());

        it1 = alleKnot.iterator();
        while (it1.hasNext()) {
            aktKnot = it1.next();
            aktZusatz = (ZInfo) aktKnot.getInfo();

            aktName = (Integer) aktKnot.holeName();
            aktBefehl = new Integer(aktZusatz.getAktion());
            aktParam = new Integer(aktZusatz.getParam());
            aktAlter = new Integer(aktZusatz.getAlter());

            seq.add(aktName);
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

    public void setStart(final Knoten k) {
        if (k == null) {
            return;
        }
       
        Knoten knot = this.holeKnoten(k.holeName());
       
        if (this.startKnName != null) {
            ((ZInfo)
             this.holeKnoten(this.startKnName).getInfo()).setStartZu(false);
        }

        ((ZInfo) knot.getInfo()).setStartZu(true);
        this.startKnName = (Integer) knot.holeName();
       
        this.sequenz = null;
    }
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

     */
    public ArrayList<Transition> getBedListe() {
        ArrayList<Transition> beds = new ArrayList<Transition>();
        ArrayList<Integer> knoten = this.getKnList();
        Iterator<Integer> it = knoten.iterator();
        Knoten aktKnoten;
       
        while (it.hasNext()) {
            aktKnoten = this.holeKnoten(it.next());
            beds.addAll(((ZInfo) aktKnoten.getInfo()).getBeds());
        }
       
        return beds;
    }
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

     *
     * @return Ob eine Kante von A nach Z existiert.
     */
    public boolean kanteExistiert(final Integer knoten1,
                                  final Integer knoten2) {
        Knoten k1;

        if (knoten1 == null || knoten2 == null) {
            return false;
        }
       
        k1 = this.holeKnoten(knoten1);

        if (k1 == null) {
            return false;
        }
       
        return k1.holeNachfolger().containsKey(knoten2);
    }
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

     * @param l  Ein Zielknotenname.
     *
     * @return  Ob l von k aus erreichbar ist.
     */
    public boolean erreichbar(final Integer k, final Integer l) {
        Knoten start;
        Knoten ziel;
       
        if (k == null) {
            start = this.holeStartzustand();
        } else {
            start = this.holeKnoten(k);
View Full Code Here

Examples of fmg.fmg8.graphVis.graph.Knoten

        besucht.add(k);
        nachF = new ArrayList<Knoten>(k.holeNachfolger().values());

        it = nachF.iterator();
        while (it.hasNext()) {
            Knoten aktNachf = (Knoten) it.next();
           
            LinkedList<Transition> transs
                = ((ZInfo) k.getInfo()).getTransZuZustand(
                        ((Integer) aktNachf.holeName()).intValue());
            Iterator<Transition> it2 = transs.iterator();
           
            while (it2.hasNext()) {
                Transition trans = (Transition) it2.next();
               
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.