λ rachunek, czyli jak proste napisy mogą liczyć

Prowadzący: Michał Horodecki


Jak niewiele potrzeba aby móc obliczyć wszystko?
Kategorie: matematyka informatyka

Zapisz się

Opis

Komputery to bardzo fajne i złożone urządzenia - za ich pomocą możemy obliczyć wiele różnych rzeczy, do tego stopnia różnych, że jako ludzkość nie udało nam się stworzyć niczego co mogłoby policzyć więcej (a superkomputery, komputery kwantowe, itp. umieją policzyć dokładnie te same rzeczy, tylko ciut szybciej). Istnieje nawet (bardziej filozoficzna niz matematyczna) hipoteza, nazywana tezą Churcha, że nic lepszego po prostu nie ma.

Wydawać by się zatem mogło, że liczenie jest dość skomplikowanym procesem wymagającym obsługi różnych instrukcji (ot, chociażby do prostej arytmetyki od dodawania przez pierwiastkowanie po sinusy i inne takie). Okazuje się jednak, że nie! (przynajmniej jeśli nie zależy nam na szybkości :P)

2453: Excel Lambda - explain xkcd

Na warsztatach zobaczymy świat obliczeń z nieco innej, bardziej funkcyjnej perspektywy, którą to oferuje tytułowy rachunek lambda - model który z jednej strony jest bardzo prosty i świetnie nadaje się jako podstawa języków programowania, a z drugiej strony ma taką samą siłę wyrazu jak komputery, maszyna Turinga, czy <wstaw swój ulubiony model obliczeń>.

Zaczniemy od wprowadzenia podstawowych konceptów, dzięki którym następnie zobaczymy w jaki sposób są reprezentowane i obliczane logika i liczby. Kolejnym krokiem będzie wprowadzenie czegoś na kształt rekursji/iteracji, co pozwoli nam wykonywać dowolnie długie (potencjalnie nieskończone) obliczenia. Jak już to będziemy mieli za sobą to pozaglądamy sobie w różne pomysły które budują na rachunku lambda, w szczególności jak można na jego podstawie zbudować prosty język programowania.

Wymagania

Nie mam jeszcze 100% pewnego planu na warsztaty, ale pewnie przyda się coś do pisania i może przydać się komputer, do policzenia czegoś w praktyce.

Kontakt

W razie jakichkolwiek wątpliwości lub pytań w sprawie warsztatów i zadań kwalifikacyjnych, zachęcam do kontaktu :)

discord: noobexception#5365 (Michał Horodecki na discordzie www)

email: michalhorodecki2002+www@gmail.com