Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[UUUI] 1. laboratorijska vježba - 2020/2021

grga_it_is

Pleteni miš
Predpostavljam da si na krivo mjesto counter postavio, ili negdje u nekom if-u koji se ne izvrši svaki put ili nešto slično.
Ili si pak vraćaš counter preko veličine neke liste pa si se zeznuo i micao nešto iz te liste, recimo iz closed si micao nekad elemente i sl.


Ducky

Kako dohvatiti argumente - -alg ili - -check_optimistic u javi?


tomekbeli420

Ducky pa to su sami po sebi argumenti u onom polju Stringova koje dobiješ u mainu

Odnosno kad ti pokreneš primjerice
java -cp target/classes ui.Solution --ss ai.txt --h ai_pass.txt --check-optimistic

Onda će main program kao argument (String[] args) primiti polje od 5 Stringova:
["--ss", "ai.txt", "--h", "ai_pass.txt", "--check-optimistic"]
I sad je na tebi da implementiraš logiku koja će skužiti i interpetirati sve podatke iz tog polja.


batman3000

Jel se zna koliko će cca sankcionirati predugu vrtnju 3×3?


Wayk

Ima netko pametniju ideju za check optimistic nego executad naprimjer ucs algoritam za svaki node?
Razmisljam dijkstru naprimjer ali onda moram pisat dijsktru tj ne mogu reusat ucs

Cini mi se da bi moj ucs approach trajao pre dugo posto mi jedan execution za 3x3 traje sekundu i pola.


micho

Wayk pa UCS je samo optimizirana varijanta Dijsktre


Retard00

Wayk Nisam siguran dal postoji algoritam takav da pronađe najkraće puteve (tj. njihove cijene) za svako stanje u usmjerenom grafu prema krajnjim stanjima u razumnom vremenu (tj. bez traženja puta za ponovo za svako stanje). Možda bi mogao pamtit već izračunate najkraće puteve i onda ako se određeno stanje već nalazi u određenom putu jednostavno izračunat cijenu za to stanje u linearnom vremenu, al onda opet nisam siguran jel to ispravna solucija.


micho

Retard00 Imate WFI ali to vam je O(V3) algoritam

implementaciju i objašnjenje možete naći u NAISP prezama, možda je netko i za labos stavio na materijale (al ima u prezama pseudokod). Samo morate paziti da nema negativnih ciklusa, ali na to bi vam se i ostale pretrage sjebale pa valjda imate tu garanciju. Problem je što ta stanja vam daju toliko “vrhova” u tom grafu da se vjerojatno ne isplati.


Joji

Prošle godine sam optimističnost riješio tako što sam za svako ciljno stanje pokrenuo Dijkstrin algoritam koji računa udaljenosti od ciljnog stanja do svih ostalih i onda sam na temelju tih udaljenosti radio provjere optimističnosti za svako stanje. U Pythonu mi se izvrtilo za cca 4 sekunde na 3×3 zadatku.


Retard00

Joji A kak bi to onda radilo za usmjerene grafove? 3×3 nije usmjeren, al drugi grafovi koji se mogu pojavit jesu.


Wayk

Tip za autograder:

  • za smrtnike (kao ja) kome ne prolazi nesto dosta brzo mozete smanjiti vrijednost varijable max_time na autograder.py:363 da ne čekate svaki put 2 min da vam izvrti to a zanimaju vas ostali testovi

Sulejman Za optimiranje sam za svaki node prvo izracunao pravu udaljenost sa UCS.
Traje dugo (predugo cini se) ali cini se kao najbezbolnije a i kažu da neće skidat bodove ako ne radi za 3×3 (piše u obavijesti nekoj)

@Joji inače ima odličnu ideju kako to bolje implementirati

Joji Prošle godine sam optimističnost riješio tako što sam za svako ciljno stanje pokrenuo Dijkstrin algoritam koji računa udaljenosti od ciljnog stanja do svih ostalih i onda sam na temelju tih udaljenosti radio provjere optimističnosti za svako stanje. U Pythonu mi se izvrtilo za cca 4 sekunde na 3×3 zadatku.

S ovim ima malo zafrkancije jer treba obrnuti relaciju roditelj - dijete između nodova da možes traversat usmjereni graf unazad


Dlaid

Vonj
Kako iz prioritetnog reda open obrisat element koji ima veci f od trenutnog kojeg dodajemo?


Vonj

Peter Jordanson
U javi bi bila lambda tipa
priorityQueue.removeIf((e) -> e.imeStanje.equals(trenutno.imeStanje) && trenutno.f < e.f)


Joji

Retard00 E da to nisam napomenuo. Obrnuo sam sve smjerove na početku.


TheNubKiller

Kad koristim UCS za 3×3 mi izbacuje memory exceeded error… Vrti se par min i onda na heapu ponestane prostora ali neznam kako bih ovo optimirao bolje. Za sve mape koje koristim, koristim hash mapu i koristim priority queue za open. Closed ni nemam za UCS. Savjeti pliz?


micho

Lumpy bez closed možeš koristiti algoritam samo za DAG, što ovo nisu


Ducky

=== UNARCHIVE AND STRUCTURE ===
OK!

=== COMPILE ===
Failed! Error: Compile error: [java]: [WinError 2] The system cannot find the file specified

Jel neko ovo uspio riješit ili smo mi windows useri samo doomed?


iNavy

Ducky već je to netko pitao ( Sicsile i Sicsile )
imam isti problem pa preporučam da im javiš


Ducky

mornar Ica joj sori, nisam vidio da je netko odgovorio….
nova skripta radi!


Valentino

Koliko dobijete za states visited u slučaju 3×3 za bfs i ucs?


Daeyarn

Valentino 181366 za bfs, ucs mi ne radi za 3×3 još 😅


Haki

Valentino bfs 181366, ucs 181218


« Prethodna stranica Sljedeća stranica »