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

[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

Sipa31

temari tu imas izracun modularnosti 0.124 za mali primjer : Jimothy


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)


Sljedeća stranica »