Diskrétní matematika v informatice.

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod ACBX 20. 6. 2016 06:41

Ahoj, kde přesně se používá diskrétní matematika v informatice? Učím se jí ze skript, ale přijde mi, že daleko lepší metodou by bylo ji používat, a až pak dočerpat potřebné informace ze skript.

Já zatím znám jenom logická hradla a jejich ekvivalenty v prog. jazyce C++.
ACBX
Kolemjdoucí

Odeslat příspěvekod borekz 20. 6. 2016 07:36

Diskrétní matematika je matematika celých čísel, tedy hodně široký pojem. Zahrnuje algebru, logiku, grafy a kdovíco ještě. Sice je to základ počítačové vědy, ale obávám se, že praktickou aplikací si moc nepomůžeš, vyjma úloh přímo zameřených na návrh algoritmů.
borekz
Junior

Odeslat příspěvekod fotoba 20. 6. 2016 07:50

Diskrétna matematika je dosť nepresný pojem.
Zahŕňa matematické disciplíny nezaradené inde..
Napr. teória grafov je veľmi dobre použiteľné V návrhu programov... Ale bez presnejších informácií ťažko radiť
fotoba
Junior

Odeslat příspěvekod Fuller009 20. 6. 2016 07:51

Tak jen takové základy co mne z hlavy napadlo:
Grafy - > hojně využívané např. v umělé inteligenci(alfa/beta řezy apod.) Uložení dat a procházení jimi - stromy

Jinak diskrétní matematika prostupuje téměř vším na co v informatice narazíš.
Fuller009
Junior

Odeslat příspěvekod PiranhaGreg 3. 7. 2016 16:59

Á, diskrétku jsem měl před rokem na VŠ. Asi se shodnem, že dost záleží na osnově předmětu. Z té spousty látky, co jsme tam stihli probrat mi přišli zajímavý pro programování dvě témata.

Odhad časové složitosti algoritmů
Nejde ani tak o tu schopnost umět určit asymptotickou složitost algoritmu, jako spíš uvědomit si, jak je která "velká", jak s tím zamává rekurze, správně zvolený datový stuktury a tak. Když teď píšu kód a jsem nad O(n * log(n)) složitostí, hned se ptám, jestli nedělám něco špatně.

Práce s množinami
Než jsem měl diskrétku, nahlížel jsem na všemožné seznamy, listy, atd. jako na pole hodnot, ke kterým přistupuji pomocí indexu. Představa je to určitě na některý problémy hezká, ale je to takový přízemní, omezující. Když budeš na data nahlížet jako na množiny, nad kterými jdou dělat množinový operace, zobrazení, atd. a máš k dispozici nástroje jako LINQ, získáš najednou nad celým problémem mnohem větší nadhled, kontrolu a posune tě v přemýšlení zas o něco dál :-) .

Jinak jak už tady někdo zmínil, nejužitečnější ze všech matik (pro programátora) mi přijde teorie grafů (a algoritmy s tím související). Na grafy jde totiž napasovat ohromná spousta problému, u kterých to člověk ani nečeká a když znáš obecný algoritmus, umíš najednou vyřešit jakýkoliv z nich. Před grafy jsem to spojení mezi matikou a programováním vždycky viděl trochu chatrně, ale právě grafy mi dost otevřeli oči ;-) .
PiranhaGreg
Mírně pokročilý
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků