[NAISP] 5. laboratorijska vježba - 2021/2022
SuperSaiyano
Zadatak u 16 lz77, blicevi isti.
Također je li neko isto radio lz77 a da mu prvi test prođe dok ostali padnu na jednom znaku ili na kraju dodaju višak/pogrešni znak. Kod sebe na svom ide-u kada enkodiram ulaz i dekodiram ga ručno ispadne ispravan( naravno kodiram sa pretpostavljenim prozorima od 4). Nije mi jasno da li sam negdje pogriješio ili je greška do njih.
Rene
SuperSaiyano vjerojatno nisi obradio one rubne slučajeve, tj. onaj kad se desi puno poklapanje pa se pravis da nisi matchao zadnji znak
Gocc
Jel ima netko baš kopiran kod da zaljepi za LZ77 i naprtnjaču
Edrudo
jel moze netko objasniti kako da pomocu funkcija rk i searchString dobijem poziciju prefiksa i njegovu duljinu u zadatku LZ77. Ako koristim samo funkciju searchString krivo mi ispada
AK10
zadatci danas?
iva7740
endyyyy huffman u 11
swish41
endyyyy bio je u 11 i knapsack, isto ko jučer
fer999
Mica Trofrtaljka Isti zadatak kao jučer?
Baksuz
11h LZ77 - Isto kao i gore treba ispisat tablicu.
Dootz
11h imao huffmana
bernard
lz77 u 1
anon00
Je li i ovaj labos cancer i ima li ga smisla pokušavat riješit ?
BigZ1
ja dobio knapsack problem,bez ikakvog predzanja rijesio labos u 25min, kod vam je skoro napisan samo laganini. Mozda je mene tako potrefilo al eto. posaljem slike blica poslije. Blicevi su bili apsolutno isti.
steker
Nabijem na kurac lz77
burek
Jel ima netko možda neke primjere stringova i ispravnog ispisa LZ77 osim onog koji su dali? jer ono kod mi radi za taj primjer ali ne znam jel bi za neke rubne slučajeve
Edrudo
Ovo su dva testa za LZ, na neku foru mi ih je edgar ispisao:
1.primjer
ulaz:
VMarioedranMihaeKresolMihaKresoelDaliborTomislavTomislavSonjaTomisMihaellavDaMarioliborDaliborSonDaliborjaKrKresoesoMarioDaMihaelliborTomislavMihael
izlaz:
['V', (0, 1, 'M'), (0, 0, 'a'), (0, 0, 'r'), (0, 0, 'i'), (0, 0, 'o'), (0, 0, 'e'), (0, 0, 'd'), (0, 0, 'r'), (0, 0, 'a'), (0, 0, 'n'), (0, 0, 'M'), (0, 0, 'i'), (0, 0, 'h'), (0, 0, 'a'), (0, 0, 'e'), (0, 0, 'K'), (0, 0, 'r'), (2, 1, 's'), (0, 0, 'o'), (0, 0, 'l'), (0, 0, 'M'), (0, 0, 'i'), (0, 0, 'h'), (0, 0, 'a'), (0, 0, 'K'), (0, 0, 'r'), (0, 0, 'e'), (0, 0, 's'), (0, 0, 'o'), (2, 1, 'l'), (0, 0, 'D'), (0, 0, 'a'), (2, 1, 'i'), (0, 0, 'b'), (0, 0, 'o'), (0, 0, 'r'), (0, 0, 'T'), (2, 1, 'm'), (0, 0, 'i'), (0, 0, 's'), (0, 0, 'l'), (0, 0, 'a'), (0, 0, 'v'), (0, 0, 'T'), (0, 0, 'o'), (0, 0, 'm'), (0, 0, 'i'), (0, 0, 's'), (0, 0, 'l'), (0, 0, 'a'), (0, 0, 'v'), (0, 0, 'S'), (0, 0, 'o'), (0, 0, 'n'), (0, 0, 'j'), (0, 0, 'a'), (0, 0, 'T'), (0, 0, 'o'), (0, 0, 'm'), (0, 0, 'i'), (0, 0, 's'), (0, 0, 'M'), (2, 1, 'h'), (0, 0, 'a'), (0, 0, 'e'), (0, 0, 'l'), (0, 1, 'a'), (0, 0, 'v'), (0, 0, 'D'), (2, 1, 'M'), (1, 1, 'r'), (0, 0, 'i'), (0, 0, 'o'), (0, 0, 'l'), (2, 1, 'b'), (3, 1, 'r'), (0, 0, 'D'), (0, 0, 'a'), (0, 0, 'l'), (0, 0, 'i'), (0, 0, 'b'), (0, 0, 'o'), (0, 0, 'r'), (0, 0, 'S'), (2, 1, 'n'), (0, 0, 'D'), (0, 0, 'a'), (0, 0, 'l'), (0, 0, 'i'), (0, 0, 'b'), (0, 0, 'o'), (0, 0, 'r'), (0, 0, 'j'), (0, 0, 'a'), (0, 0, 'K'), (3, 1, 'K'), (1, 1, 'e'), (0, 0, 's'), (0, 0, 'o'), (2, 3, 'M'), (0, 0, 'a'), (0, 0, 'r'), (0, 0, 'i'), (0, 0, 'o'), (0, 0, 'D'), (0, 0, 'a'), (0, 0, 'M'), (0, 0, 'i'), (0, 0, 'h'), (3, 1, 'e'), (0, 0, 'l'), (0, 1, 'i'), (0, 0, 'b'), (0, 0, 'o'), (0, 0, 'r'), (0, 0, 'T'), (2, 1, 'm'), (0, 0, 'i'), (0, 0, 's'), (0, 0, 'l'), (0, 0, 'a'), (0, 0, 'v'), (0, 0, 'M'), (0, 0, 'i'), (0, 0, 'h'), (0, 0, 'a'), (0, 0, 'e'), (0, 0, 'l')]
2.primjer
ulaz:
MIHAELMIHAELMIDALIBOREL
izlaz:
['M', (0, 1, 'I'), (0, 0, 'H'), (0, 0, 'A'), (0, 0, 'E'), (0, 0, 'L'), (0, 0, 'M'), (0, 0, 'I'), (0, 0, 'H'), (0, 0, 'A'), (0, 0, 'E'), (0, 0, 'L'), (0, 0, 'M'), (0, 0, 'I'), (0, 0, 'D'), (0, 0, 'A'), (0, 0, 'L'), (3, 1, 'B'), (0, 0, 'O'), (0, 0, 'R'), (0, 0, 'E'), (0, 0, 'L')]
LucidDreamer
Jel mi moze netko objasniti ovaj primjer za LZ77. Dakle ako se dobro sjecam vrijednosti na izlazu prestavljaju (offset,length i sljedeci char), ali kad racunam offset na njihova zadnja dva primjera ne vidim nekakvu logiku pa ako mi moze netko objasnit kaj se dogada. U njihovom slucaju vrijednost offseta za oba slucaja je 2, a zadnje pojavljivanje slova A i B je bilo prije 3 puta.. barem smo tak to radili na tinf-u moguce da nije ovdje ovako pa nek me netko ispravi. Siguran sam da bi i ljudima za labos bilo lakse kad bi znali kako taj algoritam u njihovim prezentacijama izgleda
mmmmDa
LucidDreamer Mislim da oni drugačije računaju offset odnosno između b i a je 0 u b|a;acb
U drugom retku na slici bi offset trebao biti 1 dok je kod njih 0. Inače se računa tak kak ti kažeš al mislim da ne bi trebao bit problem koji god pristup odabereš
burek
LucidDreamer imaš dobro objašnjen njihov algoritam u onoj skripti kompresijski algoritmi, ali da, drugačije je nego na tinfu i realno bilo gdje na internetu, nez zaš moraju biti spešl
Uchenikowitz
LucidDreamer pise na slajdu “i=pozicija p relativno od kraja D”, sto znaci da ti je offset zapravo udaljenost od kraja D (pr. ako u D imas “ABCA”: offset(prvi A s desna) = 0, offset(C) = 1, offset(B) = 2). Nadam da je sad jasnije. Sto se tice tog zadatka na labosu, samo koristi sve njihovo, pogotovo ovo za posmak, ja sam probao sam rijesit pa sam se spetljao. Jako dobro obratit paznju na slucaj kada prefix ulazi u lookahead buffer.