Optymalizacja funkcji - jaki język, jak do tego podejść? - algorytmy genetyczne

0

Witam,

Dzień dobry. Mam teraz przedmiot "metody optymalizacji" i chciałbym napisać jakiś fajny program, aby się czegoś nauczyć, może przy okazji nowego języka.

Generalnie będzie trzeba napisać program w dowolnym języku, optymalizować funkcje jednej i wielu zmiennych. Trzeba zrobić algorytm genetyczny.

Jak zabrać się za algorytmy genetyczne? Moim zdaniem potrzeba odpowiedniej biblioteki, która zautomatyzuje rutynowe problemy.

Moje pytanie: jaką bibliotekę do algorytmów genetycznych możecie polecić tak, aby była pewna i nauka jej była inwestycją na przyszłość?

Nie znam pythona, ale myślę że fajnie byłoby się go nauczyć. Jestem otwarty na dowolne języki, oprócz Matlaba.

Biblioteki jakie znalazłem:
http://pyevolve.sourceforge.net/
Warto?

Wiele osób też tworzy tego typu soft w Javie, co mi się wydaje dość dziwne.
Może lepszym wyborem będzie:
http://jenetics.sourceforge.net/

Dzięki za wskazówki.
Pozdrawiam,

1

Zasadniczo algorytmy genetyczne są proste jak budowa cepa i napisanie sobie samodzielnie "szkieletu" to jest kwestia kilku linijek, więc raczej specjalne biblioteki ci do tego nie potrzebne :)
Python nadaje się do tego równie dobrze co i Java.

0

Wiem, że ten Jython to tak pół żartem, ale jak ten temat już poruszony to czy Jython potrafi uruchamiać biblioteki np. naukowe napisane dla normalnego pythona? Wiem, że na pewno uruchomi biblioteki pythona napisane w pythonie oraz wszystko co działa na JVM. Czy dużo dobrych bibliotek dla normalnego pythona nie zadziała w Jythonie, bo pisze się je np. w C?

A skąd się uczyć generycznych algorytmów optymalizacyjnych? Wstępnie postanowiłem wypróbować książkę: "algorytmy genetyczne + struktury danych = programy ewolucyjne", ale może macie coś lepszego.

0

Nie potrzebujesz książek, by napisać algorytm genetyczny. Od biedy wystarczy lista krokowa takiego algorytmu na wikipedii. Jedyny problem jaki dostrzegam to zdefiniowanie struktury danych (populacji początkowej), na której przyjdzie Ci działać - z tego wynika już w linii prostej funkcja oceny i reprodukcji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.