Prośba o pomoc.

Wszystko co dotyczy F1 i nie pasuje do żadnego z powyższych działów

Moderator: Ekipa F1

Postprzez dxx91 Cz lis 23, 2017 8:26  Prośba o pomoc.

Witam użytkowników forum,

Zwracam się do was z prośbą o pomoc. Tak się złożyło, że piszę pracę magisterską dotyczącą F1, dokładniej chodzi o "Wykorzystanie algorytmów genetycznych do rozwiązanie problemu optymalizacji" na przykładzie wyników wyścigów F1. W związku z tym, aktualnie przeprowadzam analizę danych, a konkretnie czasów uzyskiwanych na poszczególnych okrążeniach. Stworzyłem sobie więc tabelę czasów z okrążeń dla każdego zawodnika z zaznaczeniem tego na jakiej mieszance jechał kierowca, kiedy zjechał na postój itp.

Mój problem pojawia się w trakcie analizy degradacji opon, mianowicie stworzyłem tabelę, w której sprawdzam różnice w czasach kolejnych okrążeń zapisując stratę w porównaniu do okrążenia poprzedniego. Początkowo próbowałem to porównywać do najlepszego okrążenia w danym stincie, czy też do średniego tempa. Później jednak wziąłem pod uwagę, że czasy kierowców, którzy jadą blisko innego, lub też mają blisko za sobą przeciwnika będą zdecydowanie zakłamane. W tym celu przestałem brać pod uwagę czasy takich okrążeń, w których kierowca na przed lub za sobą inny bolid w granicy 1,5 sekundy. Tutaj moje pierwsze pytanie, czy taka granica waszym zdaniem jest w miarę dobra, czy zbyt mała? Próbowałem także ustawić tą granicę na poziomie 2 lub 3 sekund, jednak wtedy omijam większość czasów i tak na prawdę nie mam czego analizować.

Drugi problem to wahania czasów na okrążeniach. Wiadomo, że kierowcy nie pojadą po sznureczku każde kolejne okrążenie wolniejsze o jedną stałą różnicę czasową, jednak podczas obliczania tych różnic można zauważyć (pomimo dokonania wykluczeń opisanych wcześniej) wahnięcia na poziomie nawet 1,5 sekundy. Tutaj dodałem kolejny warunek, jeżeli różnica czasów na dwóch kolejnych okrążeniach jest na poziomie 0,7 sekundy to także tych okrążeń nie biorę pod uwagę (liczę tylko różnice czasów na poszczególnych okrążeniach, więc jak przykładowo 10 kierowców na okrążeniu numer "X" ma różnice czasowe w granicy od -0,2 do 0,5, a jeden lub dwóch ma różnicę 1,5 to zdecydowanie zaburza to wyliczanie średniej). Tutaj drugie pytanie, jakie według was można przyjąć "widełki" różnic między okrążeniami, żeby wyniki były miarodajne?

W celu ostatecznego obliczenia degradacji uśredniam różnice ze wszystkich zebranych stintów odrzucając dwie skrajne wartości (największa różnica na plus i największa różnica na minus).

Przykład takich obliczeń przedstawię na przykładzie GP Malezji 2014:
Tabela czasów:
Obrazek

Tabela czasów od startu wyścigu:
Obrazek

Tabela czasów po wykluczeniu tych w których ktoś ma blisko kierowcę przed lub za sobą (oznaczone jako "xxx"):
Obrazek

Lista stintów branych pod uwagę (na oponach miękkich):
Obrazek

Lista różnic czasowych na kolejnych okrążeniach po wykluczeniu tych opisanych w drugim problemie (oznaczone jako "wyk."):
Obrazek
dane w kolumnach za podwójną linią to kolejno średnia, średnia po odrzuceniu 2 skrajnych wyników (największy + i -) i średnia po odrzuceniu czterech skrajnych wyników.

Dzięki za pomoc.
dxx91
 
Dołączył(a): N lip 12, 2009 14:50

Postprzez bartoszcze Cz lis 23, 2017 9:20  Re: Prośba o pomoc.

Algorytmów "genetycznych"? #szprszm
Nick Heidfeld w bezpośredniej rywalizacji zdobył więcej punktów niż Robert Kubica więc jest lepszym kierowcą wg kryteriów moderatora NN.
http://fotoforum.gazeta.pl/photo/1/ff/bg/z4hd/6BNKBnMf2qPWcpNavB.jpg
Avatar użytkownika
bartoszcze
 
Dołączył(a): Pn wrz 09, 2013 21:39
Lokalizacja: Jeden z Wszechświatów

Postprzez dxx91 Cz lis 23, 2017 10:06  Re: Prośba o pomoc.

W skrócie? "Przetrwa najsilniejszy", zaadoptowane do informatyki z teorii ewolucji, mam grupę osobników, które krzyżują się między sobą wymieniając geny, w moim przypadku geny to będzie strategia wyścigowa, zapewne zapisana ciągiem 0 i 1, następnie z każdego kolejnego pokolenia wybierana jest grupa osobników, której funkcja celu (strategia) będzie najlepsza (czyli da najlepszy czas wyścigu) i są one ponownie między sobą krzyżowane. taka pętla jest wykonywana setki/tysiące/miliony razy (zależnie od możliwości sprzętu i czasu przeznaczonego na działanie programu).

Jednak moim problemem nie są algorytmy genetyczne a wspomniana wcześniej analiza danych ;)
dxx91
 
Dołączył(a): N lip 12, 2009 14:50

Postprzez bartoszcze Cz lis 23, 2017 10:31  Re: Prośba o pomoc.

Aaaa, rozumiem, nie byłem pewien czy nie literówka ;)

Te 1,5 sekundy różnicy między kierowcami wydaje się być bezpiecznym kompromisem (jakiś wpływ się odczuwa, ale ujdzie).
Nick Heidfeld w bezpośredniej rywalizacji zdobył więcej punktów niż Robert Kubica więc jest lepszym kierowcą wg kryteriów moderatora NN.
http://fotoforum.gazeta.pl/photo/1/ff/bg/z4hd/6BNKBnMf2qPWcpNavB.jpg
Avatar użytkownika
bartoszcze
 
Dołączył(a): Pn wrz 09, 2013 21:39
Lokalizacja: Jeden z Wszechświatów

Postprzez Pieczar Cz lis 23, 2017 10:42  Re: Prośba o pomoc.

A co konkretnie chcesz policzyć tymi algorytmami genetycznymi? Tego typu obliczenia mają generalnie jeden problem - mnóstwo zmiennych, które wpływają na czas okrążenia: poziom paliwa, zużycie opon, tryb jazdy kierowcy (czy ciśnie, czy oszczędza silnik), błędy kierowcy na okrążeniu, spotkanie na drodze wolniejszych kierowców (podejrzewam, że bierzesz pod uwagę tylko straty czasowe z końca okrążenia, a przecież kierowca może dogonić w połowie okrążenia wolniejszego kierowcę i go wyprzedzić tracąc przy tym np. 2 sekundy i Twoje ograniczenie tego nie złapie), itd. itp. Bardzo ciężko będzie Ci wyłapać wszystkie okrążenia, których kierowca nie przejechał optymalnie z w.w. przyczyn.

Stałe granice na początek mogą być ok, ale tutaj też można zastosować alg. gen. albo nawet sieć neuronową, tak żeby dobrać najlepsze parametry do obliczeń. Pytanie zostaje co tak naprawdę chcesz liczyć :)
Obrazek
Avatar użytkownika
Pieczar
 
Dołączył(a): Wt kwi 26, 2005 20:26
Lokalizacja: Częstochowa

Postprzez dxx91 Cz lis 23, 2017 11:29  Re: Prośba o pomoc.

Co chcę obliczyć? Promotor podsunął mi coś takiego - na starcie programu wybieramy jednego kierowcę, którego będzie dotyczył algorytm genetyczny, uruchamiamy program i sprawdzamy, czy algorytm genetyczny uzyska lepszy wynik niż w rzeczywistości. Błagam, nie mów mi o sieciach neutronowych, już sam się wystarczająco władowałem z tymi genetycznymi :).

Narazie nie myślałem o samych algorytmach, tylko chciałem sobie zrobić porządną analizę danych co opisałem w pierwszym poście. Zacząłem od liczenia tej (średniej) degradacji opon z okrążenia na okrążenie, wiem że każdy kierowca w innym tempie zużywa opony zależnie od tego jak wspomniałeś, czy ciśnie, czy jedzie za kimś itp. Zakładając, że pominę to czy ktoś ciśnie, czy nie i wykluczając okrążenia w walce (czyli te 1,5 s) i te znacznie odbiegające od pozostałych (czyli np. 1,5 wolniejsze z powodu błędu/wspomnianego wyprzedzania kogoś w trakcie okrążenia (aczkolwiek to też można by wykluczyć porównując pozycję na mecie okrążenia z pozycją na wcześniejszym).

Myślałem już o tym, żeby wykluczać też z analizy Mercedesy, Caterhamy i Marussie (będę działał na przykładzie sezonu 2014, wtedy sobie temat wybrałem), bo wiadomo, merce z przodu skręcały silnik, a Caterhamy i Marussie z reguły miały mocno rozstrzelone czasy, co zauważyłem już przy analizowaniu czasów z Malezji.
dxx91
 
Dołączył(a): N lip 12, 2009 14:50

Postprzez Pieczar Cz lis 23, 2017 12:11  Re: Prośba o pomoc.

Czyli algorytm ma wybrać najbardziej optymalną strategię dla wybranego zawodnika tak? A wejściem są czasy uzyskane faktycznie podczas wyścigu? Ja tu widzę dwa ciężkie problemy do ogarnięcia - model spalania paliwa i model zużywania opon. Nie wiesz jaki wpływ na czas okrążenia mają te dwa czynniki. Trzeba by dokonać bardzo szczegółowej analizy na podstawie czasów okrążeń ile średnio kierowca zyskuje na okr. wraz ze spalającym się paliwem i ile traci z powodu zużywających się opon. Tutaj dochodzi też kolejny czynnik - użyta mieszanka. Każda z nich daje inne czasy i inaczej się zużywa.

Branie pod uwagę czasów tylko z wyścigów myślę, że nie jest najlepszym pomysłem - za dużo losowych czynników wpływa na jazdę (typu walka o pozycję, dublowanie, itd.). Nie wiem czy nie lepiej byłoby także dodać do obliczeń czasy z treningów - zespoły często tam dokonują symulacji wyścigowych a i jest mniejszy tłok na torze. Można wtedy narzucić ograniczenie - brać pod uwagę tylko czasy gorsze o max X sekund od najlepszego i tylko stinty o określonej długości - można tu nawet zaprzęgnąć alg. genetyczny żeby dobrał jak najlepsze współczynniki. Wtedy można policzyć średni czas okrążenia i min/max odchylenie co już da jakiś bardzo przybliżony obraz tego jak czynniki takie jak spalane paliwo i zużywające się opony wpływają na czas okrążenia.

Natomiast co do samego algorytmu genetycznego. Problem z nim jest taki, że to jest taka trochę metoda monte-carlo - dobieramy losowo współczynniki, w kolejnych iteracjach robimy mutację i krzyżowanie (też losowo) i czekamy aż uda się uzyskać wynik jak najbliższy wzorcowi. Nie tak dawno zajmowałem się dość podobnym zagadanieniem, tyle że dla WEC. I ostatecznie zrezygnowałem z alg. genetycznego na rzecz klasycznego analitycznego (konfigurowalne parametry wejściowe + algorytm oparty na paru warunkach). Dawało to lepsze i bardziej stabilne wyniki - mniejsza losowość była przy kolejnych uruchomieniach algorytmu. A i sam algorytm liczy znacznie szybciej.
Obrazek
Avatar użytkownika
Pieczar
 
Dołączył(a): Wt kwi 26, 2005 20:26
Lokalizacja: Częstochowa

Postprzez dxx91 Cz lis 23, 2017 12:39  Re: Prośba o pomoc.

Z tymi czasami z treningów też myślałem, tylko czy znajdę gdzieś takie dane z czasami z każdego okrążenia i informacjami na jakich oponach jeździli?

Natomiast z algorytmu genetycznego nie mogę zrezygnować, po prostu muszę coś takiego mieć w pracy, skoro nawet w temacie pracy je mam.

Edit: Tak, algorytm ma wybrać najlepszą strategię.
dxx91
 
Dołączył(a): N lip 12, 2009 14:50

Postprzez Pieczar Cz lis 23, 2017 12:59  Re: Prośba o pomoc.

Poszukaj na stronach FIA - tam z każdego weekendu GP wrzucali czasy okrążeń każdego z kierowców, nie pamiętam teraz tylko czy z treningów też.

Wiem, że nie możesz zrezygnować z algorytmu genetycznego :)
Obrazek
Avatar użytkownika
Pieczar
 
Dołączył(a): Wt kwi 26, 2005 20:26
Lokalizacja: Częstochowa

Postprzez dxx91 Cz lis 23, 2017 13:14  Re: Prośba o pomoc.

Z tego co widzę, na stronie FIA są czasy poszczególnych okrążeń z treningów, jednak bez danych dotyczących opon, troszkę mało mi to daje.
dxx91
 
Dołączył(a): N lip 12, 2009 14:50

Postprzez Phaedra N lis 26, 2017 11:03  Re: Prośba o pomoc.

Czy twoja wiedza o strategi zespołów F1 na wyścig pochodzi z fachowego źródła czy z przed telewizora?
Skąd przyszło Ci do głowy że czasy które sa składową mnóstwa czynników, mówią cokolwiek sensownego o degradacji opon. Skoro wpływ na to ma temperatura toru,powietrza,opon, przyczepność asfaltu,nagumowanie, ścieralność, rodzaj nawierzchni , obciążenie paliwem, operowanie gazem, docisk aero, styl jazdy i mnóstwo innych detali oraz Pirelli. Tu wszystko podlega ciągłym zmianom w czasie, więc skąd pomysł że strategia to proces który da się optymalizować dla użytecznych celów. Pytam z ciekawości bo się nie znam.
As long as the car is not red, I wish you the best! - Alonso - Monza 2006 r.
Avatar użytkownika
Phaedra
 
Dołączył(a): Śr lis 30, 2005 21:45
Lokalizacja: HRUBIESZÓW

Postprzez Pieczar N lis 26, 2017 16:34  Re: Prośba o pomoc.

Kolejne okrążenia ze stintu są pokonywane przy z grubsza tych samych warunkach pogodowych, ustawieniach bolidu i nagumowaniu asfaltu. To nie będzie miało większego wpływu na różnice czasowe. Poza tym mówimy cały czas tylko o przybliżonym wyniku.
Obrazek
Avatar użytkownika
Pieczar
 
Dołączył(a): Wt kwi 26, 2005 20:26
Lokalizacja: Częstochowa

Postprzez Sar trek N lis 26, 2017 21:22  Re: Prośba o pomoc.

Wygląda to na bardzo ciekawy temat. Nie da się na pewno uzyskać wszystkich przydatnych danych, niektóre są pewnie przybliżone, a do uzyskania innych potrzeba by zapewne wielkich komputerów i wielce zaawansowanych komputerów. My możemy dysponować tylko przybliżonymi danymi, a więc pomogę tyle, ile wiem:

Nico Rosberg twierdzi, że każdy dodaktowy kilogram to 0,004 sekund na okrążeniu. (Wartość oczywiście bardzo przybliżona, bo dużo zależy od toru i wielu innych czynników. Marcus Ericcson uważał, że ze względu na o 10 kg większą masę od Werhleina traci do niego 0,03 sekundy. znając ilość startową paliwa (zgodnie z przepisami 100 kg) można obliczyć przybliżony wpływ paliwa na czasy okrążeń.

Jeśli chodzi o różnicę tempa na mieszkankach, to chyba przed każdym wyścigiem Pirelli podawało różnicę czasową między poszczególnymi mieszankami, chociaż dane te czasem chyba dosyć znacząco odbiegały od rzeczywistości.

Tym, że wszystkich czynników nie da się wziąć pod uwagę, a także tym, że pewne dane są tylko przybliżone nie przejmowałbym się zbytnio. Po pierwsze, promotor zaakceptował temat, więc nie ma problemu :D

Po drugie, nawet w zaawansowanej nauce używa się często przybliżonych modeli, nie uwzględniających wszystkich czynników z całkiem dobrym skutkiem. Np. równanie Hardy-ego Weinberga określające proporcje allelów w populacji. Teoretycznie ma ono zastosowanie dla populacji i nieskończonej liczbie osobników, w populacjach, gdzie nie ma migracji, mutacji, doboru naturalnego, wszystkie osobniki krzyżują się losowo. W praktyce daje ono bardzo dobre wyniki dla populacji mających kilka tysięcy osobników.

Mam pewne wątpliwości czy można porównywać strategię do genów. Genami byłyby raczej pomysły strategii, ich nośnikiem (DNA) mózgi inżynierów, a strategie wyścigowe można porównać do strategi organizmów. Ale tak naprawdę nie wiem nawet, czym są algorytmy genetyczne, więc skoro promotor to zaakceptował, to tak pewnie jest ok.
wyścigowe historie - strona o historii wyścigów Indy Car
Avatar użytkownika
Sar trek
 
Dołączył(a): Śr mar 26, 2008 21:25

Postprzez Phaedra Pn lis 27, 2017 23:42  Re: Prośba o pomoc.

Pieczar napisał(a):Kolejne okrążenia ze stintu są pokonywane przy z grubsza tych samych warunkach pogodowych, ustawieniach bolidu i nagumowaniu asfaltu. To nie będzie miało większego wpływu na różnice czasowe. Poza tym mówimy cały czas tylko o przybliżonym wyniku.


Ja bym napisał emaila do któregoś ze strategów w zespole F1 albo niższej serii, przedstawił temat i zapytał ma to sens czy nie.
As long as the car is not red, I wish you the best! - Alonso - Monza 2006 r.
Avatar użytkownika
Phaedra
 
Dołączył(a): Śr lis 30, 2005 21:45
Lokalizacja: HRUBIESZÓW

Postprzez Pieczar Wt lis 28, 2017 9:37  Re: Prośba o pomoc.

Jak na pracę mgr to w zupełności wystarczy. Poza tym wiem, czego używają zespoły do takich analiz i to nie jest dokładne :wink:
Obrazek
Avatar użytkownika
Pieczar
 
Dołączył(a): Wt kwi 26, 2005 20:26
Lokalizacja: Częstochowa

Następna strona

Powrót do Inne tematy związane z F1

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości

cron