www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabAmeisen in Matlab
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Matlab" - Ameisen in Matlab
Ameisen in Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Ameisen in Matlab: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 18:20 So 01.06.2008
Autor: chrisi99

Der Ameisenalgorithmus ist ja ein bekanntes Verfahren zur Optimierung von div Verfahren oder zum Lösen von Problemen (Handelsreisender etc).

Um eine solche Optimierung zu realisieren würde ich gerne Matlab verwenden.

Leider habe ich bisher nur wenig Erfahrung (hauptsächlich Auswertung von Messdaten etc.) mit ML, weshalb ich etwas "Starthilfe" benötigen würde.

Zu Beginn würde ich gerne das Auffinden von Futterstellen und die danach erfolgende Optimierung des Weges durch die Durftstoffkonzentration die die Arbeiter hinterlassen realisieren.

Leider happert es bei der Umsetzung :(

Könnte mir hier jemand zur Hand gehen? Natürlich freue ich mich auch über halbfertige/fertige Codes oder Codeschnipsel.

so habe ich mir das vorgestellt:

eine Anzahl von Futterstellen wird per Radomfunktion auf dem Gebiet verteilt. Vom "Bau" ausgehend werden zum Zeitpunkt 0 eine Anzahl von Ameisen (etwa 2) ausgesand. Diese klappern so lange die Umgebung ab, bis ihre derzeitige Position mit einer Futterstelle eine gewisse Nähe (Differenz der Koordinaten klein) aufweist, dann kehrt das Programm den Weg (Wegvektor) um -> die Ameise krabbelt in den Bau zurück und legt dabei an Schnittpunkten Duftmarken ab.

(Jede nun ausschwärmede Ameise orientiert sich an vorhandenen Duftstellen um die Futterstelle zu finden...)

Lg
Chris

        
Bezug
Ameisen in Matlab: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:51 Mo 02.06.2008
Autor: BKM

Hallo.

Kannst Du uns hier einmal dein Anfänge reinstellen? Dann können wir uns schon mal das Mathematische Gerüst ansehen und Dir für die Umsetzung Hilfe geben.

Beste grüße

Bezug
                
Bezug
Ameisen in Matlab: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 20:24 Mo 02.06.2008
Autor: chrisi99

was bisher funktioniert ist das Aufsuchen der attraktivsten Koordinate bei Pheromonspuren

mein Problem ist das der Kontrolle der Gesamtfunktion:

ich möchte die Ameisen in Zeitschritten "aussenden", und zwar eine gewisse Anzahl (etwa 5) auf einmal.

Jede Ameise wird durch eine Matrix mit 100x2 Einträgen (die den Wegkoordinaten entsprechen) ausgestattet. 100 ist sozusagen die "Lebensdauer" der Krabbler.

die Ameisen haben 2 "Missionen":

i) hast du kein Futter dann krabble los in die Richtung der höchsten Pheromonkonzentration. Ist kein Pheromon in Sichtweite krabble in beliebige Richtung. Speichere deine Position ab
ii) hast du Futter gefunden arbeite deine Positionsdatenbank rückwärts ab und setze Pheromone bis du im Bau bist.

danach Reset und neu ausschwärmen.


nur wie muss ich die Steuerkonstrukte wählen, damit die Ameisen "gleichzeitig" einen Schritt gehen und dann ihre Agenden checken? Sonst funktioniert die Idee nämlich nicht, da ja die Optimierung auf die "Dichte" des Pheromons aufbaut....


lg
Chris


PS: vielleicht ist die Idee ganz falsch, dann sagt es bitte :D

Bezug
                        
Bezug
Ameisen in Matlab: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 22:32 Di 03.06.2008
Autor: chrisi99



for iter=1:iter_max

    for k=1:ants_max
        
        
        k %zeigt aktuell abgearbeitete Ameise
              
        if iter<=iter_max %solange die Grenze der Iteration nicht überschritten wird
            
            if food==0
                    %Ameise trägt kein Futter
                              
                  
            
            elseif food==1
                
                
                 %Die Ameise kehrt zum Nest zurück und setzt Pheromonmarkierungen
                
                                    
            
            else
                  %Die Ameise stirbt
                        
                  
            end
                  
        
            k=k+1;
        
        else
            iter=1;
            break;
        end
        
        
    end
    
    iter %zeigt aktuellen Iterationsschritt
    iter=iter+1;
    
end


Es funktioniert noch nicht so wirklich... kann mir jemand helfen?

Weiters habe ich noch ein Problem, weil ich ja bei gefundenem Futter "umdrehe" und die Ameisen ins Nest zurück schicken will... hat hier jemand eine Idee?

lg
Chris

Bezug
                                
Bezug
Ameisen in Matlab: Antwort
Status: (Antwort) fertig Status 
Datum: 19:32 Mi 04.06.2008
Autor: Martin243

Hallo,

ich habe mich ein bisschen mit deiner Aufgabe beschäftigt und bin auf einige Schwierigkeiten gestoßen, die man ggf. durch geeignete Modellierung meistern könnte.
Am besten wäre es, wenn du ein Modell einer Ameise entwerfen würdest mit allen Informationen, die sie so mit sich trägt, also z.B.:
zurückgelegt Route, aktueller Routenpunkt, aktueller Zustand, Schrittweite (immer gleich oder zufällig erzeugt?), Sichtweite (auf Futter oder Pheromone), Strategie, ...
Hier bietet sich die objektorientierte Programmierung an, für die Matlab gewisse Befehle bereithält. Vielleicht wirfst du einen Blick auf die Hilfe zu "class" und schaust dir die dort angegebenen Links zu objektorientierter Programmierung an.

Entsprechend solltest du die Karte modellieren mit:
Grenzen, Nestposition (z.B. als Bezugspunkt (0/0)), Futterpositionen, Pheromonpositionen und -konzentrationen.

Auf dem Hinweg müsstest du dann immer die Felder der Ameise aktualisieren und auf dem Rückweg zusätzlich die der Karte. Das Karten-Update könnte aber getrennt stattfinden, so dass alle Ameisen mit demselben Kartenzustand arbeiten würden.

Wenn du diesen Weg einschlagen willst, könnte ich dir evtl. programmiertechnisch unter die Arme greifen, aber es bleiben noch Probleme wie:
- Wie merkt die Ameise, dass sie nicht zwischen zwei starken Pheromonpunkten hin- und herwandert?
- Ist eine kartesische Karte die geeignete Darstellung? Ich habe Algorithmen dieser Art immer nur auf Graphen gesehen...
- Sollte man sich für das Pheromschnüffeln nicht etwas Flexibleres einfallen lassen wie z.B., dass eine Ameise mit einer best. Wahrscheinlichkeit zur stärksten Konzentration wandert, aber nicht 100%ig?

Mach dir ein paar Gedanken und melde dich wieder.

Gruß
Martin

Bezug
                        
Bezug
Ameisen in Matlab: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:20 Mi 04.06.2008
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Ameisen in Matlab: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:22 Di 03.06.2008
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]