[AVSP] 5. laboratorijska vježba - 2019/2020
adrian7000
Nek se nadje tema.
Jimothy
Je li možda netko uspio izračunati modularnost postupkom koji su oni dali u uputama? Može ukratko objasniti na onom manjem primjeru kako se to računa?
xeqte
Jimothy bitno je računati u onoj sumi vrijednosti uglate zagrade za svaki par cvorova u, v (dupla petlja po svim cvorovima) i uzimati odgovarajuce vrijednosti za brid samo ako taj brid postoji i ako u i w nisu isti cvor (inace uzeti Au,w = 0). Ku i Kv su samo zbrojevi tezina bridova koji izlaze iz cvora, a m je zbroj tezina svih bridova. Što se tiče ove funkcije delta (1 za istu zajednicu, 0 inace), ja sam samo ispitivao u if-u jesu li u i w u istoj zajednici i onda racunao uglatu zagradu ako jesu. na kraju treba zaokruzit na cetiri decimale kako bi bili se rezultati podudarali s njihovim.
Jimothy
xeqte Pokušao sam riješiti na papiru za provjeru postupkom koji si naveo i ne dobijem rezultate koje oni dobili na primjeru u uputama (oni su dobili 0.3074). Možeš li mi reći radim li ovdje na slici nešto krivo?
PS. Prvu uglatu sam pomnozio s dva jer se taj dio ponavlja. Uklonjeni su bridovi 34 i 25. Aii = 0.
xeqte
Jimothy znaci trebas u sumi imati sve parove od 11, 12, …, 55. ali samo za one koji su povezani bridom se uzima Au,w, tj. ako nisu povezani bridom uzima se samo onaj drugi clan -(Ku*Kw)/2m
MaIv
Jimothy Za m se uzima suma težina koje su ostale, pa je m 16
Sipa31
pushPop Tu je post od prošle godine u kojem je netko dobio ispravno rješenje od 0.124 : Jimothy
Tada je to bilo neispravno rješenje, a sada je ispravno jer su eto promijenili rezultat. Znači, 0.3047 je prije bilo ispravno, sada je 0.124 točno, ignoriraj druge postove nakon i prati sliku. Skontat češ kako implementirat brzo, nije nešto teško.
Par stvari što si možda zeznuo:
- varijable m, Ku, i Kv se isto ne mijenjaju, određuju se za prvi, izvorni graf i to je to. Jedina varijabla koja se mijenja pri uklanjaju bridova je delta funkcija
- kad iteriraš kroz čvorove, parovi čvorova se dvaput zbrajaju. Drugim riječima, zbrojit ćeš par (1, 2) i kasnije par (2, 1). Parovi kao (1, 1) se ne zbrajaju dvaput, jer je riječ o istom čvoru.
- nemoj zaboravit zaokružit modularnost na 4 decimalna mjesta
Jimothy
xeqte
To sam i radio, samo sam za ovo 11, 22… izdvojio u posebnu sumu jer se to nece ponoviti dva puta. Vidi se da je prva suma pomnozena dodatno s 2. Ali kao što rekoh i dalje nisam dobio dobar rezultat.
xeqte
Jimothy mozda sam se krivo izrazio, treba uzeti sve parove, cak i one koji nisu povezani bridom. dakle 5*5 ukupno parova
Jimothy
xeqte
Da, ali dobar dio njih ce biti ponisten deltom jer nisu u istom community-u? Jer imamo dva community-a (1-3-5, 2-4).
Ukupno ce ostati 13 članova (5 za 11, 22, …, 6 za community 1-3-5 te 2 za community 2-4).
Tako sam i naveo u izrazu. Za ove 11, 22… sam uzeo A = 0, za ostale tezinu brida između njih, a ako nema brida onda 0 (s tim da ovdje između svih koji pripadaju istom community-u postoji brid).
xeqte
Jimothy aha oprosti mislio sam da racunas modularnost u prvom koraku kad je jedan community, mozda je greska kod izracuna za zbroj tezina bridova nakon sto su neki uklonjeni, mislim da bi onda m i Ku i Kv trebali biti drugaciji
xeqte
evo moje rjesenje ako pomaze
Amali
xeqte Zas u Q nemas nepovezane bridove? As in, ne vidim u izracunu za kombu (2, 1) i slicno. U uputama pise da se ide bas po svim parovima, pa i onim nepovezanim, pa je za njih ovaj A = 0 isto kao i kad je u paru (2, 2) recimo. Doduse i kad izbacim nepovezane i kad ih gledam i stavim A = 0, svakako mi ne radi dobro. Na ovom primjeru iz zipa mi sve fulava kakogod, a na primjeru iz skripte dobijem 0.3047 za zadnju iteraciju, al prva dva mi budu preprevelika (trebaju bit 0, meni su 0.1+).
Doduse i na primjeru iz zipa dobijem dobar redoslijed izbacivanja kad gledam cijeli V**2, al zbog lose modularnosti mi je odabrana podjela vecinom kriva. A ispravna koji oni dobiju ni ne postoji, nekako, iako sve bridove dobro izbacuje iz grafa (dobar redoslijed, dobre skupine tj ista modularnost).
dafuq
xeqte
Amajli te parove ponisti funkcija delta koja je 0 kada cvorovi u paru nisu u istom communityu
Amali
xeqte hm, ali to sto cvorovi nisu upareni bridom ne znaci da nisu u communityju?
kao, mogu bit povezani prek nekog zajednickog cvora
xeqte
Amajli u ovom rjesenom primjeru su prekrizeni bridovi uklonjeni, tj. kao da ih nema. u rezultiranoj mrezi ni nema onda cvorova koji bi bili u istom communityu a da nisu povezani. dobro je sto govoris da je u istom communityu, ako je povezan preko drugih cvorova ali takav je primjer da toga nema. (parovi 12 ili 21 nisu u istom communityu jer nema puta kojim mozes povezati cvorove). sto se tice prva dva koraka (prije ovog mog rjesenog), tu je slucaj da je jedan community jer su svi jos uvijek povezani pa provjeri kako racunas communitye
Amali
xeqte yeah bilo je tam, nis pametno tho, samo sam opet previdjela zamjenu jedne varijable za drugu kod nekog ranijeg refaktoriranja koda, a bila sam tako sigurna da sam sve promijenila kak spada…
BrankoBrancin
Koliko je složen labos i koliko posla ima u usporedbi s prethodnim labosima?
Amali
BrankoBrancin dosta slicno, meni se samo ucinilo da ima vise tipkanja za svaki korak (a i upute su povece), al nije preslozen algoritam nit ista prepametno, i jos ne moras pazit na mem i time (bar ja nisam, a vrti se skoro instantno)