Sekwencyjne i równoległe algorytmy spadku gradientowego w Javie
W moim portfolio znajduje się projekt, w którym zaimplementowałem metodę spadku gradientowego w Javie do wyszukiwania optymalnych wartości. Metoda ta jest używana do znalezienia minimum (lub maksimum) funkcji, która ma kilka parametrów. Zaimplementowałem również jej wersję równoległą w celu przyspieszenia obliczeń.
W trakcie rozwoju przetestowałem algorytm na dużej ilości danych, aby upewnić się co do jego wydajności i poprawności działania. Mierzyłem również czas wykonania algorytmów wraz ze wzrostem złożoności obliczeń, aby ocenić ich szybkość.
Dla wersji równoległej algorytmu zbadałem przyspieszenie wraz ze wzrostem ilości danych do obliczeń. Odkryłem, że przyspieszenie wynosi co najmniej 1.2, co wskazuje na wydajność równoległej implementacji. Przebadałem również wpływ parametrów algorytmu równoległego na uzyskane przyspieszenie, w tym liczbę zadań podrzędnych i inne.
Wszystkie wyniki, w tym opis algorytmów w postaci pseudokodu, udokumentowałem w pliku w formacie docx dla wygody dalszego użytku i analizy.
W trakcie rozwoju przetestowałem algorytm na dużej ilości danych, aby upewnić się co do jego wydajności i poprawności działania. Mierzyłem również czas wykonania algorytmów wraz ze wzrostem złożoności obliczeń, aby ocenić ich szybkość.
Dla wersji równoległej algorytmu zbadałem przyspieszenie wraz ze wzrostem ilości danych do obliczeń. Odkryłem, że przyspieszenie wynosi co najmniej 1.2, co wskazuje na wydajność równoległej implementacji. Przebadałem również wpływ parametrów algorytmu równoległego na uzyskane przyspieszenie, w tym liczbę zadań podrzędnych i inne.
Wszystkie wyniki, w tym opis algorytmów w postaci pseudokodu, udokumentowałem w pliku w formacie docx dla wygody dalszego użytku i analizy.