Matematyka w programowaniu

0

Matematyka w programowaniu(kiedys juz to bylo).

Mnie interesuje natomiast jakie konkretne działy matematyki i fizyki pomocne są w programowaniu(obojętnie w jakim języku)?


Pozdrawiam wszystkich [browar]

0

Matematyka Dyskretna
Logika
Algebra
Metody Numeryczne ( można sie z nich wiele nauczyć ;) )

0

A co to są te metody numeryczne?

0

Metody numeryczne to jest qrde czarna magia (dla mnie bo jestem w 2 gimnazjum). Sa to np: FFT i inne algorytmy na liczbach zespolonych i tego typu pierdołach. :-|

0

No to wyjaśniło wszystko... :)

0

Metody słnumeryczneużą do obliczania pewnych rzeczy za pomocą komputera z pewnym skończonym przybliżeniem , np. pierwiastków funkcji nieliniowych , równań algebraicznych ( każdego rodzaju ) , rozwiązań układu równań (np. ukł 10000 równań z 10000 niewiadomymi , itp ) , wartości i wekt własnych OGROMNYCH macierzy ( właśnie z tego mam oddać pojutrz projekt :) ) .
Pozdrawiam

0

... wspominając o metodach numerycznych trzeba jeszcze dodać całkowanie i rozwiązywanie równań różniczkowych, trzeba - chociażby z powodów historycznych, jako że pierwsze historyczne komputery budowane były z myślą o równaniach różniczkowych.

W całej tej matematycznej wyliczance brakuje mi kombinatoryki (co chyba świadczy o tym, że w programowaniu nie bierzecie pod uwagę modelowania złożoności obliczeniowej ... ) i rachunku prawdopodobieństwa (niezwykle ważna i użyteczna rodzina algorytmów probabilistycznych).

Prawdę mówiąc, nie mam pojęcia jaki dział matematyki nie jest pożyteczny w informatyce? Może teoria grup? (aczkolwiek w analizie geometrii się z tego korzysta).

Zaryzykuję stwierdzenie, że cała matematyka jest przydatna w informatyce i nie przez przypadek większość wydziałów informatyki powstaje u boku kierunków matematycznych.

Pozdrawiam

0

No to wyjaśniło wszystko... :)

DETOX pewnie sie myle ale ty za bardzo piszesz bez sensu..naprawde nie sadze ze jest sens pisac odp w twoim stylu..
WG mnie to nabijanie postow (niepotrzebne)

Mam wrazenie ze w ogole nie zrozumiales ideii stworzenia tego dzialu...
poczytaj ogloszenie dryobatesa i zapytaj ich samych jak wyglada odp na posty z tego dzialu

0

...nie zrozumiales ideii stworzenia tego dzialu...

.:DETOX:. nie wiedział że ten post trafi do tego działu (przeniesiono go trochę później), ale nabjianie liczby postów jest <font color="red">paskudnym</span> faktem.

A jeśli chodzi o matematykę to generalnie w programowanu bardziej sprawdzają się ludzie, którzy [u]nie mają [/u]problemów z matematyką i fizyką ogólnie, nawet jeśli piszą program całkowicie nie wymagający znajomości zagadnień matematycznych.

0

...nie zrozumiales ideii stworzenia tego dzialu...
.:DETOX:. nie wiedział że ten post trafi do tego działu (przeniesiono go trochę później), ale nabjianie liczby postów jest faktem.

Przepraszam że się tu wtrące i do tego tylko na temat detoxa ale jakolwiek i gdziekolwiek by to napisał (przed przeniesieniem czy po) to takie głupie posty są beeee :-[ [diabel]

0

A jeśli chodzi o matematykę to generalnie w programowanu bardziej sprawdzają się ludzie, którzy nie mają problemów z matematyką i fizyką ogólnie, nawet jeśli piszą program całkowicie nie wymagający znajomości zagadnień matematycznych.

Nie mogę sobie wyobrazić programu nie wymagającego umiejętności matematycznych. Może tylko "Hello World".
W praktycznie każdym programie występują instrukcje warunkowe. To jest logika. Prawidłowe ułożenie algorytmu również opiera się na logice. Algebra Boola wyjątkowo przydatna.
Komputery to takie duże liczydła. Żeby liczyć na liczydłach trzeba znać przynajmniej podstawy matematyki. Żeby liczyć na komputerze, trzeba proporcjonalnie więcej umieć (inaczej będziemy mogli tylko dodawać i odejmować...).

A co do fizyki, to może nie tyle sama fizyka jest potrzebna (to już zależy od konkretnych zastosowań programu) co umiejętności, jakie się zdobywa ucząc się fizyki.

0

na fizyce i matmie możesz zdobyć umiejętności logicznego myślenia - to pozwoli ci tworzyć właściwe i sprawne algorytmy w twoich programach. Ale ja tego logicznego myślenia sobie jeszcze nie przyswoiłem :) więc moje algorytmy są ... takie jakie są. Logika jest bardzo potrzebna np. przy instrukcjach warunkowych, zresztą potrzebne są też prawa logiki (zanim się tego nauczyłem dużo się namęczyłem jeszcze w Basicu i Pascalu, zanim instrukcja wyszła prawidłowa)

0

Drogi Mirku
[niewinnosc]

Z tą fizyką, to chyba trochę przesadzasz! Bo co, na przykład, mają powiedzieć biedni chemicy (tacy jak ja kiedyś)? A w ślad za nimi pójdą, domagający się swoich praw geodeci, astronomowie i hodowcy kapustek.

W jaki sposób uwydatnia programowanie, znajomość modelu kwantowego modelu oscylatora harmonicznego?

proponuję jednak zostać przy matematyce (nie mam nic przeciwko fizyce, ale sami chyba rozumiecie jak to się ma do programowania ...)
[niewinnosc]

pozdrawiam
p.s. nie zjadajcie kapustek, karpia zjedzcie.

0

proponuję jednak zostać przy matematyce (nie mam nic przeciwko fizyce, ale sami chyba rozumiecie jak to się ma do programowania ...)

Fizyka -> Elektryczność -> Lampy elektronowe -> Tranzystory -> Układy scalone -> Procesor -> Programowanie.
Poznanie asemblera jest niezwykle przydatne podczas programowania w językach wyższego rzędu, gdyż umożliwia pisanie szybkich programów (znajomość działania procesora ułatwia to). Żeby poznać asemblera potrzebujesz znać możliwości procesora i jak on działa, jak komunikuje się z pozostałymi komponentami. Budowa procesora, połacznenia bramek. Skąd te bramki się biorą. To już fizyka i chemia (budowa materiałów półprzewodnikowych). Teoria informacji - utworzona z myślą o przesyłaniu informacji bez zakłóceń. Pojęcie entropi z tego działu matematyki prawie dokładnie odpowiada pojęciu entropi z fizyki. To jest ze sobą powiązane. Systemy kontroli prawidłowości danych (chociażby CRC lub ECC) jakby nie patrzeć muszą przeciwdziałać skutkom fizycznych zakłóceń. Czy możliwe jest tworzenie algorytmów, bez znajomości przyczyny problemów (przykład tutejsze próby stworzenia algorytmu kompresji bez znajomości podstaw teorii informacji).
Oczywiście fizyka nie jest niezbędna. Matemetyka też nie. Ale znacznie ułatwiają. W ogóle znajomość jakiejgokolwiek działu nauki ułatwia poznanie nie tylko informatyki. Najważniejsza jest umiejętność uczenia się. Może pq powinien powiedzieć, na ile umiejętności, jakie zdobył podczas kształcenia się w teoretycznie kompletnie nie związanym kierunku wpłynęły na jego zdolności informatyczne.

0

Może pq powinien powiedzieć, na ile umiejętności, jakie zdobył podczas kształcenia się w teoretycznie kompletnie nie związanym kierunku wpłynęły na jego zdolności informatyczne.

Nie mam pojęcia :-)

A na bardziej na serio: bezpośredniego przełożenia chyba nie było. Ale tak jak piszesz, umiejętność uczenia się, i w ogóle myślenia jest przydatna (nie tylko w programowaniu). A rozumowanie prowadzi się według starej dobrej logiki i umiejętność odróżniania 'lub', 'i', i 'albo' (XOR) jest potrzebna:)). Moja dziedzina (biologia) może nie jest bardzo związana z programowaniem, bo problemy niezbyt często są formalizowane w taki sposób jak w np. w fizyce, jednak są pola silnie zmatematyzowane. Dużo używa się metod statystycznych, w niektórych sytacjach konieczne jest zbudowanie matematycznego modelu jakiegoś zjawiska - po to, żeby móc ocenić dane doświadczalne (o ile wiem, np. w obrazowaniu pracy mózgu metodą funkcjonalnego rezonansu magnetycznego). Wreszcie, często w pracy doświadczalnej postępuje się według dośc zawiłych procedur, co być może wdraża do myślenia algorytmami :)))?

No i jeszcze jedno: już kilka razy w mojej pracy potrzebny był unikalny program i najprostszym (i najtańszym) wyjściem było poduczyć się i napisać go samemu. Więc na pewno moja specjalność dostarczyła mi motywów :)).

0

Niezapominajmy o procesach stochastycznych. Jak ktoś to będzie miał to powodzenia(już drugi semestr się z tym męcze). A tak w ogóle to zależy w czym chcesz się specjalizować.
Bo np. żeby modelować zjawiska fizyczne,biologiczne,medyczne,.. to wszystko się sprowadza do statystyki (to jest bardzo fajne).

0

to i ja dorzuce kilka slow od siebie. nie mozna wysegregowac dzialow matematyki jakie sa potrzebne w informatyce/programowaniu - praktycznie kazdy dzial jest potrzebny, zalezy tylko w jakim stopniu - da przykladu nie zawsze bedziesz musial korzystac z liczb zespolonych, jednakze umiejetnosc liczenia macierzy jest czynnoscia dalece wskazana. Poruszane juz wczesniej metody numeryczne sa jednak jednym z podstawowych dzialow matematyki wykorzystywanych w programowaniu - jak ktos juz madrze napisal wykorzystuje sie je do obliczania wartosci funcji (nie tylko) w dosc dokladnym przyblizeniu. Dlaczego sie je wykorzystuje?? np policzenie niektorych calek jest praktycznie niemozliwe droga analizy matematycznej - natomiast wykorzystujac numeryke obliczenia sa banalnie proste (chociazby prostywzor Simpsona).
To jaka matematyke wykorzystasz w programowaniu zalezy tylko od zlozonosci i przeznaczenia programu - wiadomo piszac prosta baze danych bardziej musisz skupic sie na algorytmach (ktore swoja droga tez maja podloz matematyczne). Natomiast napisanie chociaz najprostrzego programu do symulacji czy tez projektowania graficznego matematyka i to na dosc wysokim poziomie niezbedna...

0

Witam, to może ja się teraz wypowiem na temat matematyki.
Matematyka jest najważniejszym działem, który powinien chciaż w podstawach opanować programista, to na niej opiera się każdy program (nawet taki kory pisze po ekranie) choć nie jest to takie oczywiste. Sam asembler to masa matemetyki.

Co się tyczy działu bez którego może się obejść programista to topologia, przestrzenie metryczne, i prawdopodobnie znajdzie się pare innych.

A jeżeli chodzi o metody numerychne to do nich należy coś co się zwie aproksymacją interpolacja, rozwiązywanie układów n równań z n niewiadomymi, odwracanie macierzy itd. Są to po prostu przybliżone metody obliczania całek (oznaczonych), równań różniczkowych i wielu innych.

A tal na zakończenie jedno pytanko do "ArekMaan" ale mile widziana odpowiedź wszystkich.
Co rozumiesz pod pojęciem "ALGEBRA" (a dokładnie, który dział matematyki, co w nim jest)?

0

Co się tyczy działu bez którego może się obejść programista to topologia

A topologia grafów w algorytmice ??

0

No też racja.

0

przestrzenie metryczne

Pewne specyficzne metryki są wykorzystywane w grach przy okazji wyznaczania najkrótszej drogi itp. :)

A algebra, to jak dla mnie operacje na zmiennych (czyli praktycznie równania).

0

Mnie na algebrze uczyli równań,macierzy,obrazy,ciała,pierścienie,przeszczenie i podprzeszczenie i takie tam bzdety w ogóle do niczego nieprzydatne.

0

Mnie na algebrze uczyli równań,macierzy,obrazy,ciała,pierścienie,przeszczenie i podprzeszczenie i takie tam bzdety w ogóle do niczego nieprzydatne.

Ale to miałeś algebre liniową. A istnieje jeszcze coś takiego jak Algebra Ogólna i dotyczy bardziej abstrakcyjnych zagadnień jak pierścienie ilorazowe, jądra, obrazy, permutacje, rzędy i wiele innych zakręconych rzeczy.

Algebra liniowa to rzeczywiście w większości równania, grupy, podgrupy, kombinacje liniowe wektorów i maciże, ale to jest kropla w morzu "algebry" i matematyki. Każdy (za to mnie znienawidzicie [diabel]) kto studiuje (studiował) informatyke może powiedzieć, że wie co to jest algebra ale poznał jej tylko kawałek i dotego ten łatwiejszy. Każdy widząc ten materiał powie, że jest to zbędne (nieprzydatne). Niewiem jak to jest przydatne w programowani bo niemam zbyt dużego doświadczenia, ale znajdzie się wśród was ktoś kto będzie miał pomysł na wykożystanie algebry ogólnej.

Troche długi ten post.

0

A i tak najważniejsza jest Algebra Boola :)

0

Kurcze, mam wrażenie że gdzieś po drodze zgubiliśmy sens w tym wątku.

Oczywiście algebra liniowa ma ogromne znaczenie - bardzo ważny w programowaniu jest problem programowania liniowego, czyli szukania współrzędnych minimum w układzie opisanym za pomocą równań liniowych. Oczywiście jest to zagadnienie algebry liniowej, a problem jest szalenie ważny, gdyż leży on u podstaw optymalizacji - praktycznego i pożytecznego zagadnienia w naszym życiu.

Właśnie wyszła ciekawa książka na temat optymalizacji - "algorytmy optymalizacji dyskretnej" - pwn. (przykłady rozpisane w pascalu) i to nie jest przypadek, że to zagadnienie jest poruszane jako pierwsze w kolejności.

Wracając do głównego tematu - w mojej prywatnej opinii programowanie jest następnym etapem rozwoju matematyki (w tej kwestii mam dość radykale spojrzenie). Programowanie jest tym dla matematyki, czym język C++ dla języka C, podejrzewam że tacy ludzie jak "matematycy" są wymierającym gatunkiem, teraz nazywają się "programistami" ... prawdopodobnie nie zgadzacie się z tą opinią i uważacie, że w tym co powiedziałem może coś jest ale zdecydowanie przesadziłem - otóż nie! ...

... Nawet (a być może właśnie szczególnie one) najbardziej abstrakcyjne działy matematyki bezpośrednio przekładają się na programowanie, szczególnie w bardzo matematycznej metodzie - programowaniu funkcyjnym (trochę materiałów zamieściłem swojego czasu w dziale "Z pogranicza" i prawdopodobnie temat ten jeszcze powróci, gdyż jest to obecnie intensywnie rozwijany kierunek programowania i zagadnień sztucznej inteligencji)

Żeby ostatecznie uargumentować mój skrajny pogląd wspomnę o tym, że program komputerowy można rozpatrywać w kategoriach matematyki abstrakcyjnej - teorio mnogościowym modelem jest czwórka elementów (szerzej o tym możecie przeczytać w pierwszych rozdziałach sztuki programowania D.Knutha).

Dlatego moją odpowiedzią na pytanie "jakie działy matematyki są szczególnie przydatne w programowaniu" jest stwierdzenie, że wszystkie, gdyż programowanie jest w istocie matematyką - program sam w sobie jest pewną abstrakcją służącą wyrażaniu naszych myśli - tak samo jak kartka papieru zapisana wzorami matematycznymi.

Pozdrawiam (pisanie javakursu mnie wykończy)

0

Algebra liniona raczej się przydaje (np. macierze w tablicach wielowymiarowych). Nie wiem jak z przestrzeniami wektorowymi, bazami przestrzeni, podprzestrzeniamni itd - ale do czegoś służyć to chyba musi (mam nadzieje).

0

Kurcze, mam wrażenie że gdzieś po drodze zgubiliśmy sens w tym wątku.

Tyle czasu już jesteś na forum, że powinineś się przyzwyczaić, że prawie zawsze schodzimy z głównego tematu :) To jest właśnie ewolucja i ciąg skojarzeń.

podejrzewam że tacy ludzie jak "matematycy" są wymierającym gatunkiem, teraz nazywają się "programistami" ... prawdopodobnie nie zgadzacie się z tą opinią i uważacie, że w tym co powiedziałem może coś jest ale zdecydowanie przesadziłem - otóż nie! ...

Podstawy działania komputerów stworzyli matematycy. Komputery to nic więcej, jak duże kalkulatory. Nie robią nic więcej, tylko liczą. Wobec tego programista w stosunku do matematyka tym czym homo sapiens wobec homo erectus - kolejny stopień ewolucji. Tak więc zgadzam się z tobą, choć nie do końca. Programista wchłania matematyk, często samemu o tym nie wiedząc...

Dlatego moją odpowiedzią na pytanie "jakie działy matematyki są szczególnie przydatne w programowaniu" jest stwierdzenie, że wszystkie, gdyż programowanie jest w istocie matematyką - program sam w sobie jest pewną abstrakcją służącą wyrażaniu naszych myśli - tak samo jak kartka papieru zapisana wzorami matematycznymi.

Głowy uciąć sobie nie dam, ale to chyba Leibniz powiedział: "Wszystko jest liczbą" :)

0

...podejrzewam że tacy ludzie jak "matematycy" są wymierającym gatunkiem

Chej to teraz jestem ginącym gatunkiem [stuk] ?

Choć z drógiej strony masz racje, obserwuje się teraz tendencje łączenia tych dwóch kierunków, ale ktoś taki jak matematyk zawsze będzie istniał, ponieważ niezawsze jest potrzebny informatyk, i niezawsze ktoś programowania chce się uczyć.

Kurcze, mam wrażenie że gdzieś po drodze zgubiliśmy sens w tym wątku.

To jest normalna kolej RZeczy. Gdy rozmowa na jakiś temat się wydłuża człowiek ma tendencje do odchodzenia od głównego wątku, ale przeż to wychodzą różne interesujące rzeczy.

0

Algebra liniona raczej się przydaje (np. macierze w tablicach wielowymiarowych).

Detox - jesteś mistrzem! przecież napisałem, że algebra liniowa leży u podstaw problemu programowania liniowego który jest bardzo ważny bo leży u podstaw optymalizacji w układach liniowych ... A ty piszesz że "raczej się przydaje".

hehe

0

<font color="green">Detox - jesteś mistrzem! przecież napisałem, że algebra liniowa leży u podstaw problemu programowania liniowego który jest bardzo ważny bo leży u podstaw optymalizacji w układach liniowych</span>

Pokaż mi gdzie, bo ja jakoś se nie przypominam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1