Algorytmy Genetyczne - Optymalizacja

0

Witam, mam mały problem odnośnie idei algorytmów genetycznych. Mam do napisania program, który ocenia czy WIG wzrośnie czy zmaleje. Odnośnie programu to ja go widzę tak:

  1. Podanie z ilu dni dane będą wczytywane.
  2. Podanie danych (wydaje mi się że średnie wartości WIG dla danego dnia będą dobre, lecz napisałem klasę posiadającą dwie współrzędne (x,y), które ewentualnie mogą zminimalizować delte x.
  3. Dopasowanie wielomianem (tutaj chcę użyć algenów). Myślę że jeżeli użytkownik poda n wartości, można to spokojnie dopasować wielomianem stopnia n-1. ( np 2 punkty - prosta, 3 punkty parabola itd).
  4. Wtedy zaglądamy w przyszłość do dopasowania, czyli podstawiamy n+1 punkt x i liczymy y.

Moje pytania:

Co sądzicie o takim podejściu ?
Jeśli jest całkiem spoko - od kilku dni szukam algorytmu który interpoluje krzywą, lecz nic nie znalazłem. W wolnej chwili napisałem funkcje mutacji chromosomu, lecz do końca nie wiem jak do tego podejść.
Będę wdzięczny za każde informacje (np jakiś schamet jak podejść do tematu - co stworzyć itd)

Pozdrawiam,
Krystian

2
rosoladm napisał(a):

Co sądzicie o takim podejściu ?

Niewiele zrozumiałem, ale powodzenia!

rosoladm napisał(a):

Jeśli jest całkiem spoko - od kilku dni szukam algorytmu który interpoluje krzywą, lecz nic nie znalazłem.

  1. interpoluje czy aproksymuje? Bo nie wiem po co ci ta interpolacja... W zasadzie to nie wiem również jak miałbyś wykorzystać aproksymację w tym kontekście...
  2. jeśli z google szukałeś i nie znalazłeś to obawiam się, że nikt już ci nie pomoże!
rosoladm napisał(a):

W wolnej chwili napisałem funkcje mutacji chromosomu, lecz do końca nie wiem jak do tego podejść.

  1. Czemu to zdanie było w tym samym akapicie co funkcja interpolująca? Jaki to ma z nią związek?
  2. Mutacja chromosomu jest jeszcze bardziej banalna od banalnego krzyżowania O_o
  3. Jak ją napisałeś jeśli nie wiesz jak do tego podejść?
rosoladm napisał(a):

Będę wdzięczny za każde informacje (np jakiś schamet jak podejść do tematu - co stworzyć itd)

Póki co, tak zarysowałeś problem, że jedyne co mi przychodzi do głowy to stwierdzić: stwórz to co zamierzasz!

0

Odnośnie podejścia - nie mam do końca pomysłu jak wkleić w to algorytmy genetyczne. Stąd pomysł by dobierały współczynniki dopasowania (tutaj racja - moja pomyłka, chodzi o aproksymacje a nie interpolacje).

Aproksymacja wielomianu do danych punktów (x - dzień, y - średnia wartość WIG).

AlGeny opierają się także na mutacji i krzyżowaniu, dlatego coś takiego napisałem. (funkcje działające na dwóch obiektach pewnej klasy, gdzie: mutacja - zmienia dany gen na przeciwny, krzyżowanie - zamienia część, dwóch chromosomów ze sobą). Póki co napisałem to dla kodowania diploidalnego (nie wiem czy będzie potrzebne).

Co do problemu - temat mam taki jak zarzuciłem: Czy WIG wzrośnie czy zmaleje. Rozwiąż problem używająć algorytmów genetycznych.
Wszystko zależy ode mnie - lecz jak pisałem, nie mam żadnej dodatkowej wizji, a sam do końca nie wiem jak można aproksymować algorytmem genetycznym.

Pozdrawiam,
Krystian

2

Dla podobnych problemów zawsze gen lepiej mieć jako liczbę double.

  • kryzowanie wylicza pewną średnią
  • mutacja zmienia go w pewnych okolicach
    Zakładasz sobie że cena jest wynikiem pewnego wielomianu od danych powiedzmy za poprzedni tydzień.
    Genami są współczynniki tegoż wielomianu.
    Funkcja jakości - ten sam znak co rzeczywiste dane.
0

Dziękuję za wyjaśneinie. Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1