Programowanie probabilistyczne w Haskellu

III spotkanie meetit.live | 1 lutego 2023

Tematyka wykładu

Haskell jest funkcyjnym językiem programowania o silnym systemie typów. Ma opinię trudnego do nauki i faktycznie „learning curve” jest dość stromy, za to fenomenalnie nadaje się do opisywania pewnych koncepcji matematycznych. Jedną z takich koncepcji jest programowanie probabilistyczne, którego istotą jest definiowanie programów jako rozkładów prawdopodobieństwa.

W pierwszej części prezentacji pokażę, że Haskella bać się nie trzeba i można go oswoić, nawet przy pomocy jupyter notebooks(!). Haskell to nie tylko akademicki „poligon doświadczalny” nowych koncepcji. Opowiem o przykładach zastosowania tego języka w pracy z danymi. Będzie również o tym, że programowanie funkcyjne oraz składnia Haskella są intuicyjne dla matematycznego sposobu opisywania świata.

Drugą część prezentacji poświęcimy programowaniu probabilistycznemu – co to jest, gdzie można zastosować i jakie są dostępne rozwiązania. Opowiem czym jest inferencja i jakie są podstawowe algorytmy jej służące.

Trzecia część prezentacji połączy świat Haskella i programowania probabilistycznego w postaci biblioteki monad-bayes. Biblioteka ta zawiera wiele przykładów oraz treningowych notebooków. Na przykładzie kilku z nich zobaczymy jak napisać własny program probabilistyczny.

O prelegencie

Maria Knorps – łączy świat naukowy i programistyczny. Matematyczka z wykształcenia i spojrzenia na świat, zrobiła doktorat z modelowania matematycznego w turbulencji. 7 lat temu przeniosła się ze świata akademickiego do przemysłu, gdzie pracowała jako Data Scientist i Data Engineer. Dzięki odkryciu programowania funkcyjnego i poznaniu Haskella nawet jej pythonowy kod jest funkcyjny. Prywatnie mama i motocyklistka.

O firmie

Tweag – laboratorium innowacji oprogramowania pomagające firmom wdrażać skomplikowane projekty programistyczne. Założona w 2013 roku firma działa w pełni zdalnie i zatrudnia ponad 100 inżynierów z całego świata. Inżynierowie Tweaga są specjalistami w tworzeniu oprogramowania, mają wiedzę z różnych domen oraz często akademickie korzenie. Tweag znany jest z wkładu w społeczność open source (Haskell, Bazel, Nix).

Strona internetowa: https://www.tweag.io