Zastosowania matematyki w programowaniu

W programie studiów informatycznych jest bardzo dużo matematyki: algebra, analiza, teoria prawdopodobieństwa, matematyka dyskretna, metody numeryczne, itd. Mi się to podoba - matematyka rzeczywiście uczy abstrakcyjnego i ścisłego myślenia, które w programowaniu bardziej skomplikowanych rzeczy jest niezbędne.

Chciałbym jednak spytać, czy zdarzyło się Wam zastosować jakąś konkretną i bardziej zaawansowaną technikę matematyczną przy tworzeniu Waszych aplikacji. Przykład? Trygonometria i algebra liniowa przy tworzeniu 3-wymiarowej kostki Rubika ;)

  • Trygonometria, przy przekształceniach graficznych i animacji, Matematyka dyskretna - o, to w każdym w zasadzie aspekcie programowania (dzielenie całkowite, modulo, ceil i floor, techniki zliczania). Generalnie tak, sporo się używa matematyki.

  • Nie należy zapominać o logice, algebrze uniwerslanej, teorii kategorii i rachunku lambda, który leży u podstaw wszystkich języków funkcyjnych. Szczególnie jeśli ktoś programuję w Haskellu, albo chciałby zrozumieć dlaczego Reactive Framework w C# działa tak, a nie inaczej.

  • Kryptografia jest w całości oparta na algebrze. Tak samo kompresja danych. Uczyłem się też metod matematycznych do przyspieszania rozwiązań problemów mających z pozoru niewiele wspólnego z matematyką.

  • W grafice komputerowej wykorzystuje się macierze, całki, pochodne, f. trygonometryczne.

  • W programowaniu stron internetowych matematyki dużo nie znajdziesz ;) ale... jest ona obecna w każdej poważnej technologii. Hurtownie danych jakaś tam statystyka, rutowanie rachunek prawdopodobieństwa, modelowanie sieci łańcuchu markowa i rachunek różniczkowy. Jednym słowem nie ma dobrej informatyki bez dobrej matematyki. A to, że jej za dużo nie widać w zwykłym programowaniu ;) to chyba dobrze :D

    Pamiętam jak bardzo byłem zdziwiony kiedy miałem napisać artykuł na temat poprawiania ruchu w sieciach bezprzewodowych. Analiza współczesnych algorytmów pokazuje, że często opłaca się odrzucić parę pakietów żeby całkowity przepływ był lepszy. W końcu zrozumiałem, że rachunek prawdopodobieństwa to nie tylko sztuka dla sztuki... a myślałem tak z 10 lat :D

  • W pierwszym silniku graficznym użyłem wiedzy z trygonometrii a później algebrę liniową do obrotów, skalowania i przesuwania obiektów.

    Matematyka przydała mi się też przy różnych rodzajach symulacji gdzie używałem pochodnych i całek do obliczania ruchów obiektów w przestrzeni 2D i 3D.

    W algorytmach ważenia głosów użytkowników też przydała się wiedza matematyczna, do ułożenia wzoru określającego relację między liczbą głosów a ich wygasaniem w czasie.

    Przy różnych mechanizmach sugestii, który produkt jest podobny do innego też przydaje się wiedza z zakresu obliczania odległości między obiektami.

  • Do rozwiązań ecommerce bądź co bądź też matematyki potrzebujesz, czasami mniej, czasami więcej, jednakże wszelkie programy partnerskie, statystyki sprzedaży, kupna, prowizje itd. troszkę tego by się nazbierało - ale nie jest to matematyka na wysokim poziomie na pewno

  • Komputer idealnie nadaje się do liczenia całek. Całka to pole pod funkcją, liczy się to-to przed dzielenie tego na bardzo małe prostokąty i ich sumowanie. W życiu kto by się w to bawił, a komputer można zaprządz do takiej roboty. Praktycznie przy pomocy bardzo prostego programu jesteś w stanie obliczyć wartość całki dla danego obszaru.

    Można też się pobawić w obliczenie liczby Pi. Szukanie liczb pierwszych. Komputer nigdy się nie nudzi i nie narzeka, więc jest idealny do takich zadań.

Zaloguj się, aby dodać swoją odpowiedź