@kiernek: A konkretniej backtracking, chyba najoczywistszy sposób rozwiązania takiego zadania
@rss: Było na redditowym dailyprogrammer zadanie polegające na wczytaniu labiryntu z pliku tekstowego (puste pola jako ścieżki, gwiazdki jako ściany) i znalezieniu drogi od startu do mety
A i swoją drogą stworzenie algorytmu generującego taki labirynt jest o wiele ciekawszym zadaniem
  • Odpowiedz
Możecie polecić jakieś dobre wykłady lub publikację na temat algorytmów genetycznych i ich zastosowaniu w programowaniu, najlepiej w #java ?

  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mircy. Od jakiegoś czasu ciągnę pewien projekt.
Finalnie będzie tak, że do przeszukania oczywiście jak najszybciej, ale w okolicach 1/2, 1/3s będzie kilkanaście tysięcy rekordów z dokładnością 1.5.
Narazie siedzi szukanie binarne, ale boję się, że dla większych ilości danych to po prostu nie wyrobi w takim czasie.
I teraz pytanie:
Jak ma się wydajność SQL'a w przeszukiwaniu?
Jeżeli jest to jakoś opłacalne to implementowałbym w projekcie pisanym w C++.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

zastanawiam się czy jest wystarczająco szybki.

@Wyrewolwerowanyrewolwer: Najpierw profilowanie, potem optymalizacja. Dla 13 tysięcy rekordów możesz wykorzystać nawet przeszukiwanie O(n) i współczesny procesor da radę.
W JS (znacząco mniej wydajnym niż C++) policzenie odległości losowo wybranego punktu do 20 tysięcy innych losowo wybranych punktów zajmuje na moim komputerze 60ms.
Jeśli martwisz się o problemy z wydajnością przy większej ilości danych - SPRAWDŹ. Wprowadź jakieś losowe dane i sprawdź ile zajmuje
  • Odpowiedz
Powinienem zapisywać sobie liczby dla których już obliczyłem kiedyś 'termsy' i następnym razem po prostu odczytać wartość z pamięci zamiast liczyc ponownie.


@pan_Dzik: Nie. Robisz tablicę z wartościami do policzenia, zaczynasz liczyć od największej wartości i jak wychodzi Ci już mniejsza to usuwasz ją z tablicy do policzenia.
  • Odpowiedz
Nieładne niedbalstwo z mojej strony nie ukrywam :p


@pan_Dzik: E tam niedbalstwo. Jak się dopiero co uczysz tego tematu co nie ma co szaleć. Panie! Ja już 3.5 roku kodzę a wielowątkowość u mnie leży :D
  • Odpowiedz
Siema Mirki,
Na zajęcia mam narysować rekurencyjnie drzewo pitagorejskie w pythonie (turtle). Męczę się z już od dłuższego czasu, przeszukałem większość internetu i nic z czego mógłbym skorzystać nie widzę. Iteracyjnie jestem w stanie napisac 2 gałęzie (pewnie dałbym radę napisac całość, ale nie o to chodzi), a rekurencyjnie nic mi nie przychodzi do głowy. Nie miałem jeszcze macierzy (które w jakimś możliwym rozwiązaniu się pojawiły) więc prosiłbym o pominięcie ich. Da
WielkieDablju - Siema Mirki,
Na zajęcia mam narysować rekurencyjnie drzewo pitagorej...

źródło: comment_5jIofdviWxuGcS03JhdPuLwcBCqYJDgz.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #algorytmy #informatyka #put (na studia)

Mam do rozwiązania następujący problem:

Mam M maszyn i N zadań. Zadania są niepodzielne, niezależne, maszyny takie same etc. Chciałbym nieco usprawnić swojego brute-forca. W chwili obecnej rozwiązania mam zakodowane następująco: jest to lista z numerami maszyn, czyli np: 0 3 2 1 0 oznacza zerowe zadanie na maszynie 0, pierwsze na 3, drugie na 2, trzecie na 1 i
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fmfd: F-a oceniająca to po prostu czas wszystkich zadać czyli to co de facto optymalizuję. Co to jest funkcja mieszająca to nie wiem ;)

//no dobra, max - czas + 1 bo do ruletki chcę maxymalizować ale to to samo logicznie
  • Odpowiedz
Mamy ciąg n liczb. Chcemy go podzielić na pewną liczbę niepustych, spójnych podciągów, tak żeby suma różnic między największą a najmniejsza liczbą w tych podciągach była jak największa. Chcemy obliczyć tę sumę różnic.

Ktoś ma jakiś pomysł jak zrobić to w O(n)? Na pewno trzeba jakoś przy pomocy programowania dynamicznego, ale nie mam totalnie pomysłu jak.

Dla przykładu: mamy 5 liczb: 1 2 3 1 2. Wynikiem jest 3: dzielimy ten ciąg
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć, chciałem pobawić się algorytmami i na stronce cpw.net.pl trafiłem na takie zadanie.

klik

Wszystko fajnie tylko próbowałem zrozumieć ten wywód matematyczny i nic z tego nie rozumiem. Czy jest ktoś na sali kto umiałby by to sensownie wyłożyć, co się w tej analizie z czego bierze?

Z
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki przydałaby się jakaś lista problemów w których permutacja ma kluczowe znaczenie. Coś jak problem komiwojażera. Znacie może coś takiego? Fajnie by było, gdyby od razu jakaś literatura była ( ͡° ͜ʖ ͡°)

#programowanie #algorytmy #informatyka
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #csharp #algorytmy

Mireczki poratuje ktoś kodem, albo chociaż algorytmem do kwantyzacji progowej z zadaną paletą. Tzn. chcę przerobić bitmapę na 10 wcześniej wybranych kolorów. Kolory dobrałem w dużych rozrzutach RGB. Kiedyś robiło się cuda na sieciach neuronowych itp., a teraz człowiek nawet nie ma pomysłu jak to ugryźć w kilku liniach. ( ͡° ʖ̯ ͡°)
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach