AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Evolutionäre Programmierung - programmiert auch Ihr evolutionär?
Thema durchsuchen
Ansicht
Themen-Optionen

Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

Ein Thema von Delphi-Laie · begonnen am 29. Dez 2011 · letzter Beitrag vom 31. Dez 2011
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#11

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 16:59
Iwo Asnet, bitte keine Belehrungen. Ich bin mir der Defizite dieses Vorgehens selbst bewußt, das müßte doch aus dem Eröffnungsbeitrage offensichtlich geworden sein. Außerdem schrieb ich, daß ich nicht die Ausdauer (wegen nicht überschäumenden Interesses) habe, mich in alle Subtilitäten hineinzudenken. Andere schreiben über nur eine Sortiervariante eine Dissertation! Was erwartest Du von einem Hobbyprogrammierer?

"Evolutionär"? Ich würde die Methode als "Versuch und Irrtum" bezeichnen.
Luckie, was macht die Evolution wohl sonst?

Ich habe das aus dem Buch, das ich mir zulegte, weil Du darob schriebst. Im letzten Kapitel ging es darum, wie die (auto-)evolutionäre Programmierung zu funktionstüchtigen, schnellen und nebulösen Sortieralgorithmen führt.

Also bin ich „Dünnbrettbohrer“ und „schraube“ an allem möglichen Parametern und Variablen umher (veränderte Startwerte, veränderte Typen, Laufbereiche bei Schleifen usw. usf.), bis der Algorithmus anscheinend / offensichtlich fehlerfrei funktioniert. Das dauert i.d.R. nur Stunden, und bis auf eine Ausnahme gelang es mir bisher auch immer....
Wie schätzt Ihr das Restrisiko ein, daß man doch Fehler dabei einbaut bzw. übersieht? Ist das in Euren Augen eine praktikable, akzeptable Programmiermethodik?
Gegenfrage zu dem letzten Satz:
Wie oft musst Du Dir sowas hinterher nochmal angucken / etwas ändern, wenn es in irgendwelchen Fällen dann doch nicht passt, und wie lange bist Du dann wieder damit beschäftigt (inkl. neu Eindenken, 'rumprobieren' bis es auch in dem Fall passt)?
Nicht allzu oft - "gefühlt".

Geändert von Delphi-Laie (29. Dez 2011 um 17:04 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 18:13
Also machen andere das auch

Ja, ich mache das gelegentlich, wenn ich z.B. seit Stunden irgendeinem mir unverständlichen Fehler auf der Spur bin. Allerdings dauert es so nach meiner Erfahrung meistens länger, zum Ziel zu kommen, als wenn man sich wirklich mal konzentriert mit dem Code auseinandersetzt, und überlegt an die Sache rangeht. Aber nicht immer hat man dazu noch die Energie, vor allem wenn man schon eine längere Coding-Session hinter sich hat und/oder müde ist.

Ich kann mich z.B. noch daran erinnern, wie ich vor etwa einem Jahr einen Algorithmus geschrieben habe, um eine antialiaste Linie mit variabler Dicke und abgerundeten Enden (und Alphatransparenz) zu zeichnen (und das mit Festkomma-Arithmetik). Ich hatte mir natürlich erst nen tollen Algorithmus auf Papier skizziert, nur in der Praxis haute das nicht so recht hin – z.B. erschienen vollständig horizontale Linien einen Pixel dünner als minimal schräge, oder es gab plötzlich 1 Pixel große Lücken oder Überlappungen bei den runden Enden, oder an einer Kante funktionierte das Antialiasing plötzlich nicht mehr richtig... letztenendes also Rundungs-Probleme.

Leider gab es zig Stellen, wo irgendwas gerundet wurde (oder hätte gerundet werden können/müssen), und die Kombinationsmöglichkeiten von Abrunden, Aufrunden, mathematischem Runden, gar nicht Runden (Festkomma), nur 0.5 addieren/subtrahieren etc. waren schier endlos. Ich habe mehrere Stunden versucht, den Fehler analytisch zu finden, aber schließlich aufgegeben, und dann einfach so lange rumprobiert, bis es klappte. Hat mich zwei Nachmittage gekostet...

edit: @Mavarik: Ja, der Debugger ist für diese Vorgehensweise ein sehr nützliches Tool.

Geändert von Namenloser (29. Dez 2011 um 18:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 18:40
@Delphilaie: Ich habe ja nichts dagegen gesagt, ich fand die Bezeichnung nur sehr schön. Und was für ein Buch meinst du und was habe ich dazu geschrieben?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 18:51
[OT]Btw auf dem 28C3 (nein, ich war nicht dort ) gab es einen Beitrag zur automatisierten, evolutionären Algorithmus-Entwicklung mithilfe von Grafikkarten. Hoffentlich gibt es wieder Videomitschnitte von den Vorträgen; ich finde, das klingt recht spannend.[/OT]
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#15

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 19:26
@Delphilaie: Ich habe ja nichts dagegen gesagt, ich fand die Bezeichnung nur sehr schön.
Die stammt doch nicht von mir! Dafür ist sie viel zu schön.

Und was für ein Buch meinst du und was habe ich dazu geschrieben?
Wer suchet, der manchmal sogar findet (nicht in den Foren, sondern in einem meiner Bücherregale): Daniel Hillis: Computerlogik.

Ich besorgte es für einen schlappen Ecucent (+ die obligatorischen 3 Ecu Versandkosten pauschal) von den Amazonen aufgrund einer lobenden Erwähnung in einem der beiden großen Delphiforen. Ich bin mir sehr sicher, daß ich über dieses Buch in einem Deiner Beiträge las. Dummerweise finde ich diesen Beitrag nicht wieder.

Edit: Oder las ich darob irgendwo auf Deiner Internetseite?

Geändert von Delphi-Laie (29. Dez 2011 um 19:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 19:37
Ach das: http://www.michael-puff.de/Programmi...volution.shtml
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#17

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 20:12
"Evolutionär"? Ich würde die Methode als "Versuch und Irrtum" bezeichnen.
Luckie, was macht die Evolution wohl sonst?
Dummerweise ist der Begriff belegt. Ein komisches Buch, das rumfrickelndes rumprobierendes Rumprogrammieren mit einem evolutionären Prozess vergleicht. Weiterhin müsstest Du mir mal den Sortieralgorithmus zeigen, bei dem man durch rumschrauben (schon wieder 'Rum', das bringt mich auf eine Idee.. Grog!) von Parametern irgendetwas erreichen kann.

Ansonsten ist Evolution nichts anderes als Versuch und Irrtum, wie Luckie schon sagte.

Also Hobbyprogrammierer kann man es so halten. Ich bin Hobbytischler und versuche dennoch, mit den richtigen Werkzeugen, dem richtigen Verständnis und den richtigen Techniken mein Hobby auszufüllen. Das ist aber eine Charakterfrage: Der eine wurschtelt gerne in seiner Freizeit rum, der andere fühlt sich erst wohl, wenn die Holzverbindung ohne Schrauben und Leim perfekt hält.

PS: Das, was Lucke darstellt, ist in der Tat 'Evolution'. Nur hat das nix mit dem Rumwurschteln zu tun, das manche dann als 'programmieren' bezeichnen. Es ist ein Gedankenexperiment. In der Tat kann man tolle Programme / Strategien entwickeln, in dem man ein Ziel vorgibt und dann einen genetischen(!) Algorithmus auf ein paar Programmzeilen loslässt. Irgendwo hab ich dazu mal ein lustiges Beispiel gesehen: Es ging um eine Simulation eines Schwarmes, der Futter finden sollte. dabei konnte er das Feld in einer bestimmten Strategie absuchen, sozusagen sein Programm. Das bestand aus Anweisungen wie "Laufe vorwärts", "laufe nach links" etc.

Die Evolution hat nun die Strategie/das Programm so verändert, das der Schwarm das Futter in optimal geringer Zeit gefunden hat. Echt lustig. Wenn ich nur wüsste, wo das war... Na, hier ist was ähnliches.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#18

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 20:26
"Evolutionär"? Ich würde die Methode als "Versuch und Irrtum" bezeichnen.
Luckie, was macht die Evolution wohl sonst?
Dummerweise ist der Begriff belegt. Ein komisches Buch, das rumfrickelndes rumprobierendes Rumprogrammieren mit einem evolutionären Prozess vergleicht. Weiterhin müsstest Du mir mal den Sortieralgorithmus zeigen, bei dem man durch rumschrauben (schon wieder 'Rum', das bringt mich auf eine Idee.. Grog!) von Parametern irgendetwas erreichen kann.
Es geht nicht darum, einen bereits funktionierende Idee zu verbessern, sondern die Implementation anzupassen, zu korrigieren.

Simples Beispiel, das z.B. bei Sortieralgorithmen immer wieder auftaucht: n ist die Elementeanzahl. Man hat z.B. anzupassenden Quellcode, bei dem die Indizes von 1 bis n laufen. Bei mir aber laufen sie von 0 bis n-1. Alles mögliche (nicht zwangsläufig alles) muß daraufhin angepaßt werden. So wird z.B. oft die Mitte benötigt, also div 2 (oder shr 1) ausgeführt. Die springt aber, abhängig, ob die Ausgangszahl gerade oder ungerade ist, aber eben nicht immer, sondern nur bei jedem zweiten Wechsel zwischen gerade und ungerade. Werden alle Indizes in der Implementation um 1 verringert, werden aus geraden ungerade und umgekehrt, und schon kann die Mitte ungeahnte Effekte verursachen.

Derlei Fallstricke lauern zu hunderten, und man kann diese systematisch suchen oder eben durch Ausprobieren aufzuspüren versuchen.

Wird es nun allmählich klarer, inwieweit man "rum"probieren und dieses auch zum Erfolg führen kann?

Geändert von Delphi-Laie (29. Dez 2011 um 20:29 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 21:14
@Furtbichler: Naja, es ist schon eine Form von Evolution, wenn man einen Algorithmus durch kleine Veränderungen im Trial&Error-Verfahren immer weiter dem „Optimum“ annähert. Man simuliert eben nur von Hand den evolutionären Prozess, statt dass man ihn automatisiert ablaufen lässt. Das ganze ist nur insofern irreführend, dass, wie du schon sagst, unter „Evolutionärer Programmierung“ normalerweise etwas anderes verstanden wird.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

AW: Evolutionäre Programmierung - programmiert auch Ihr evolutionär?

  Alt 29. Dez 2011, 21:52
Na ja, ich habe eben nur gemerkt, dass wenn ich so anfange, ich den Algorithmus nicht verstanden habe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz