Diskuze k úloze číslo 13

Toto fórum slouží výhradně k diskuzím o úloze číslo 13. Během hry je zakázáno diskutovat o zadání i řešení této úlohy kdekoliv jinde, než zde. K diskuzi o ostatních úlohách prosíme využijte jim příslušná fóra. Prosíme, nekažte hru ostatním!
Re: Diskuze k úloze číslo 13 petr.skovron (14. 11. 2009 - 16:01) Sbalit(10)
Imho letos druha ze dvou nejluxusnejsich uloh.

Docela by me zajimalo, kdo ma spravne byt drzitelem copyrightu. Aby mi program prosel, nejaky radek se spravnym crc jsem vymyslel, ale prijde mi, ze musi existovat nejake vzorove reseni?
Re: Diskuze k úloze číslo 13 Martin Mares (org) (14. 11. 2009 - 16:05) Sbalit(9)
Řádek v originále zní "(c) 2009 SoTec s.r.o.", opravdu je jednoznačně určený
tím, že nastává nejvýše jedna chyba na každé bitové pozici na řádku
(nejvýše jeden 0. bit bajtu je na řádku špatně, nejvýše jeden 1. bit a tak
dále).

Re: Diskuze k úloze číslo 13 Robert-Antonio (14. 11. 2009 - 21:37) Sbalit(8)
Tak tak, takhle je to velmi elegantní úloha. Holt pro mne začala být elegantní asi až od polovičky řešení. To mi konečně docvaklo, že když už jsem opravil single-byt na single-bit, tak bych mohl hledat chyby nejen v jednom bajtu na řádku, ale i ve více bitech na řádku :)
(Jak že to bylo?...neschopnost udržet myšlenku a neschopnost myšlenku opustit, kteroužto vadou trpěl v pokročilém věku Zdeněk Nejedlý, to vy mladší asi nepamatujete...:))
Re: Diskuze k úloze číslo 13 pht (15. 11. 2009 - 14:17) Sbalit(7)
Já jsem se naopak naivně domníval, že soubor bude obsahovat i chyby nad rámec schopností toho kódu, případně jsem i počítal s variantou, že jeden z těch řádků s komentářem je tam prostě navíc. Ale nebylo to tak, pěkná úloha.
Re: Diskuze k úloze číslo 13 Michal Kubeček (15. 11. 2009 - 15:17) Sbalit(5)
Takové řádky ale obsahoval - u dvou nebo tří řádků byla chyba ve třech
znacích, takže bylo potřeba vyřešit, které to jsou, ta úloha neměla
jednoznačné řešení a muselo se vyzkoušet, která varianta dává smysl.
U konstanty "rychlost světla" pak ty tři vyhovující hodnoty prostě
vyzkoušet.

Ale autor byl celkem hodný, všechny opravy v algoritmu počítajícím
kontrolní součet byly natolik samozřejmé, že se daly udělat, aniž by
řešitel ten algoritmus znal. Jinak to mohlo být o hodně těžší.

Re: Diskuze k úloze číslo 13 Martin Mares (org) (15. 11. 2009 - 16:00) Sbalit(4)
Ona ale opravdu jednoznačné řešení měla :-) Použitý kód dokáže opravit
libovolnou jednobitovou chybu (a víc nikdy ne); jenže se pro každý řádek
aplikuje zvlášť pro všechny nulté bity bajtů, pro všechny první bity atd.,
takže i některé víceznakové chyby jsou OK.

Re: Diskuze k úloze číslo 13 Michal Kubeček (15. 11. 2009 - 16:06) Sbalit(3)
Jednoznačné možná za předpokladu, že v každém znaku je chyba nejvýše
v jednom bitu. Což IIRC neplatilo ani na některých řádcích, kde byla
chyba jen v jednom znaku, takže jsem takový předpoklad považoval za
příliš odvážný a radši si nechal najít všechna řešení a z nich vybíral.

Re: Diskuze k úloze číslo 13 Martin Mares (org) (15. 11. 2009 - 16:21) Sbalit(2)
Právě že ne. Kód umí opravit jednu chybu v 0. bitu, jednu v prvním atd.,
a je mu úplně jedno, jestli se sejdou všechny v jednom znaku nebo bude
každá v jiném.

Re: Diskuze k úloze číslo 13 pht (15. 11. 2009 - 18:39) Sbalit(1)
Jo taky jsem to tak pochopil. A ještě že šotek neřádil v tom algoritmu. :-)
Re: Diskuze k úloze číslo 13 tomi (15. 11. 2009 - 18:20) Sbalit(1)
Soubor, který mně přišel mailem, obsahoval pár chyb v těch kontrolních součtech. Jako třeba n místo nějakého hexačísla a tak. Naštěstí jen v nedůležitých částech.
Re: Diskuze k úloze číslo 13 Martin "Marble" Beránek (14. 11. 2009 - 18:01) Sbalit(3)
Moc pěkné, řekl bych, že Ambrož letos na tuhle konkurenci nemá. (Tedy, pokud náhodou sám nevlastní firmu SoTec. :)
Re: Diskuze k úloze číslo 13 Martin Mares (org) (14. 11. 2009 - 18:48) Sbalit(1)
Nebo pokud není tím šotkem :-)

Re: Diskuze k úloze číslo 13 Michal Kubeček (14. 11. 2009 - 20:59) Sbalit(1)
Taky se mi moc líbila, už minule jsem si říkal, že by to chtělo něco,
kde by člověk musel program nejdřív opravit, aby fungoval. A teď se mi
to splnilo. :-)

Re: Diskuze k úloze číslo 13 ruthion.bisclaveret (17. 11. 2009 - 10:28) Sbalit(1)
Přidávám se ke gratulaci - tahle byla opravdu velmi pěkná. Nikoli záseková, člověk od začátku věděl, co se po něm chce, ale mozek musel být celou dobu řešení zapnut.
Ještě, že jste nezvolili nějaký komplikovanější samoopravný kód :)