Matematyka dyskretna | I1S | semestr zimowy 2023/2024
Aktualności
27.02.2024 — Dodatkowe terminy poprawkowe
Kolokwium (dotyczy grup 1.2, 1.5–1.7):
- 28.02.2024, 18.00–19.15, sala E401.
Egzamin:
- 1.03.2024, 14.15-15.15, sala E201.
27.01.2024 — Harmonogram sesji zimowej
Egzaminy:
- Egzamin: 7.02.2024, 14.15–15.45, sale E201 i E301.
- Egzamin poprawkowy 1: 12.02.2024, 14.15–15.45, sale E201 i E301.
- Egzamin poprawkowy 2: 14.02.2024, 18.15–19.45, sale E201 i E301.
Przypominam, że do pierwszego egzaminu (7.02) mogą przystąpić jedynie osoby, które uzyskały zaliczenie ćwiczeń w pierwszym terminie.
Kolokwia poprawkowe (dotyczy grup 1.2, 1.5–1.7):
- Kolokwium poprawkowe 1: 7.02.2024, 12.15–13.45, sala E301,
- Kolokwium poprawkowe 2: 9.02.2024, 16.15–17.45, sala E301.
15.01.2024 — Zadanie dodatkowe 2
Oto drugie zadanie do zaprogramowania dla chętnych.
Treść zadania: reprezentacja_elfowa.pdf.
Punktacja: Za rozwiązanie zadania można otrzymać maksymalnie 20 pkt., przy czym:
- 12 pkt. za poprawną odpowiedź dla wejścia:
|
|
- 8 pkt. za wyjaśnienie matematyczne istoty rozwiązania.
Rozwiązania (kod źródłowy programu, odpowiedź dla powyższych danych i ewentualnie wyjaśnienie) należy wysłać na mój adres e-mail (tytuł: „Zadanie dodatkowe 2”) do północy 28 stycznia 2024. Prosiłbym o stosowanie jednego ze „standardowych” języków, powiedzmy C/C++/C#/Python/Java/JavaScript/Rust.
Powodzenia!
14.11.2023 — Zadanie dodatkowe
Przygotowałem dla Państwa zadanie do zaprogramowania, za które można zdobyć dodatkowe punkty. Oczywiście zadanie jest dla chętnych, ale wszystkich namawiam do jego przemyślenia.
Treść zadania: wiadomosc.pdf.
Punktacja: Do odkodowania są trzy pliki:
Łącznie za rozwiązanie zadania można uzyskać 20 pkt., przy czym:
- za odkodowanie pliku messages7.in można uzyskać 2 pkt.,
- za odkodowanie pliku messages13.in można uzyskać 4 pkt.,
- za odkodowanie pliku messages16.in można uzyskać 6 pkt.,
- za wyjaśnienie matematyczne istoty rozwiązania można uzyskać 8 pkt.
Rozwiązania (kod źródłowy programu, odkodowane wiadomości i ewentualnie wyjaśnienie) należy wysłać na mój adres e-mail do 30 listopada 2023. Prosiłbym o stosowanie jednego ze „standardowych” języków, powiedzmy C/C++/C#/Python/Java/JavaScript/Rust.
Uzyskane punkty będą dodane do Państwa wyników z ćwiczeń. Podobnych zadań w trakcie semestru będzie kilka, więc istnieje możliwość otrzymania nawet oceny 5.0 (z ćwiczeń i egzaminu) wyłącznie za rozwiązanie zadań dodatkowych.
Powodzenia!
Wykład
- Piątek, 12.15–14.00, sala E201
Prowadzący
Wykład
Ćwiczenia
- Adam Gregosiewicz (gr. 1.2, 1.5–1.7)
- Artur Kukuryka (gr. 1.1, 1.4)
- Ernest Nieznaj (gr. 1.3)
Zasady zaliczenia i egzaminu
Wykład
- Osoby, które uzyskają pozytywną ocenę z ćwiczeń przystępują do egzaminu pisemnego (nie można podejść do egzaminu bez zaliczonych ćwiczeń).
- Uzyskanie oceny 4.5 lub 5.0 z ćwiczeń zwalnia z egzaminu.
Ćwiczenia
- W trakcie semestru odbędą się dwa kolokwia. Za każde z nich można zdobyć maksymalnie 40 punktów.
- Za aktywność na zajęciach można uzyskać dodatkowo do 20 punktów.
- Zdobycie łącznie minimum 50 punktów gwarantuje pozytywną ocenę z ćwiczeń.
Kontakt
Strona przedmiotu w MS Teams: link (kod dostępu: 2erl5ey).
Wszelkie pytania lub komentarze (dotyczące treści wykładu, zadań, kolokwiów, egzaminu, etc.) proszę zgłaszać przez stronę zespołu. Zachęcam do używania kanału ogólnego — skorzysta na tym na pewno więcej osób.
Konsultacje
Adam Gregosiewicz
- Czwartek, 8.15–9.45, Pentagon, pok. 3 (PE3).
Terminy konsultacji pozostałych prowadzących można znaleźć tutaj.
Ponadto, jak wspomniałem wyżej, zachęcam do korzystania z zespołu teamsowego. To najlepszy sposób na uzyskanie pomocy.
Materiały
Książki
- E. Lehman, T. Leighton, A. Meyer, Mathematics for Computer Science, Samurai Media Limited, 2017.
- H. Lewis, R. Zax, Essential Discrete Mathematics for Computer Science, Princeton University Press, 2019.
- K. Ross, C. Wright, Discrete Mathematics, Prentice Hall, 1999.
Pozycja [1] jest oficjalnie udostępniania przez autorów w wersji elektronicznej. Niżej można też znaleźć linki do kursu prowadzonego przez jednego z autorów oraz nagrania wykładów.
Pozycje [2] i [3] mają polskie tłumaczenia, odpowiednio:
- Matematyka dyskretna. Niezbędnik dla informatyków, Wydawnictwo Naukowe PWN, 2021.
- Matematyka dyskretna, Wydawnictwo Naukowe PWN, 2012.
Obie są dostępne w Bibliotece PL.
Strony internetowe
Zdecydowanie polecam korzystać z materiałów dostępnych na stronie wazniak.mimuw.edu.pl. W szczególności interesujące dla nas są kursy:
- Logika i teroria mnogości.
- Matematyka dyskretna 1.
- Matematyka dyskretna 2. Notatki są trochę bardziej zaawansowane, ale na pewno mogą się przydać.
- MIT 6.042J Mathematics for Computer Science. Kurs prowadzony przez T. Leightona i M. van Dijka w oparciu o książkę [1]. Bardzo polecam.
Kursy wideo
- MIT 6.042J Mathematics for Computer Science. Nagrania wykładów z kursu T. Leightona i M. van Dijka.
Wykłady
Tydzień 1 — 6.10.2023
Z powodu godzin dziekańskich (dziękujemy naszym kochanym Władzom Dziekańskim) pierwszy wykład sie nie odbył.
Tydzień 2 — 13.10.2023
Informacje organizacyjne. Podstawowe pojęcia logiki. Podstawowe wiadomości o funktorach zdaniotwórczych. Funktory XOR, NAND i NOR. Prawa rachunku zdań.
Materiały:
Literatura:
- [2] rozdz. 9 i [3] rozdz. 2.
Materiały dodatkowe:
- Bardzo dobre notatki poświęcone rachunkowi zdań z ważniaka.
- Dużo sensownych zadań z logiki można znaleźć w książce W. Marka i J. Onyszkiewicza Elementy logiki i teorii mnogości w zadaniach.
Tydzień 3 — 20.10.2023
Pojęcie tautologii oraz spełnialności. Koniunkcyjna i dysjunkcyjna postać normalna. Twierdzenie o istnieniu równoważnych formuł CNF i DNF dla dowolnej formuły logicznej. Zupełność zbioru funktorów. Twierdzenie o zupełności funktorów NAND i NOR. Funkcje zdaniowe i ich wykresy. Pojęcie kwantyfikatora.
Materiały:
Literatura:
- [2] rozdz. 10 i 12.
Materiały dodatkowe:
- Dużo sensownych zadań z logiki można znaleźć w książce W. Marka i J. Onyszkiewicza Elementy logiki i teorii mnogości w zadaniach.
Tydzień 4 — 27.10.2023
Własności kwantyfikatorów. Zmienne wolne i związane. Podstawy teorii mnogości. Konstruktory zbiorów, podstawowe operacje na zbiorach. Prawa rachunku zbiorów i ich dowodzenie.
Materiały:
Literatura:
- [2] rozdz. 5 i [3] rozdz. 1.
Materiały dodatkowe:
- W. Marek i J. Onyszkiewicz, Elementy logiki i teorii mnogości w zadaniach.
Tydzień 5 — 3.11.2023
Dowodzenie praw rachunku zbiorów. Para uporządkowana i iloczyn kartezjański. Antynomia Russella. Problem stopu. Bramki logiczne i budowa sumatorów.
Materiały:
Literatura:
- [1] rozdz. 8.2–8.3 (problem stopu, antynomia Russella)
- [2] rozdz. 11 i [3] rozdz. 10 (bramki logiczne).
Materiały dodatkowe:
- Trochę wiadomości o problemie stopu:
– Halting problem (Wikipedia),
– Halting problem (Brilliant). - Seria filmów z kanału
Computerphile
przedstawiająca szerszy kontekst antynomii Russella i problemu stopu:
– Undecidability Tangent (History of Undecidability Part 1),
– Barber & Russell Paradoxes (History of Undecidability Part 2),
– Turing Meets Paradoxes (History of Undecidability Part 3),
– Turing & The Halting Problem.
Tydzień 6 — 10.11.2023
Bramki logiczne i sumatory. Złożoność obliczeniowa. Problem P=NP.
Materiały:
Materiały dodatkowe:
- Osobom zainteresowanym elektroniką i budową procesorów polecam blog
Kena Shirriffa. Można tam na przykład znaleźć
szczegóły budowy sumatora adresów oraz ALU w omawianym procesorze
Intel 8086:
– Reverse-engineering the adder inside the Intel 8086,
– Reverse-engineering the 8086’s Arithmetic/Logic Unit from die photos. - Dlaczego problem P=NP? jest tak trudny?.
- P versus NP problem.
Tydzień 7 — 17.11.2023
Zasada indukcji matematycznej.
Materiały:
Literatura:
- [2] rozdz. 3–4 i [3] rozdz. 4.
Materiały dodatkowe:
- Dwa dobre wykłady o indukcji z kursu T. Leightona i M. van Dijka
polecanego wyżej:
– Lec 2 | MIT 6.042J Mathematics for Computer Science, Fall 2010,
– Lec 3 | MIT 6.042J Mathematics for Computer Science, Fall 2010.
Tydzień 8 — 24.11.2023
Relacje i ich podstawowe własności. Relacje porządku, elementy wyróżnione.
Materiały:
Literatura:
- [2] rozdz. 14 i [3] rozdz. 3.
- W. Marek i J. Onyszkiewicz, Elementy logiki i teorii mnogości w zadaniach.
Tydzień 9 — 1.12.2023
Kresy zbiorów uporządkowanych. Relacje równoważności. Zasada abstrakcji.
Materiały:
Literatura:
- [2] rozdz. 14 i [3] rozdz. 3.5.
- W. Marek i J. Onyszkiewicz, Elementy logiki i teorii mnogości w zadaniach.
Tydzień 10 — 8.12.2023
Podzielność liczb całkowitych. Twierdzenie o dzieleniu z resztą. Funkcje podłogi i sufitu. Algorytm dzielenia z resztą. Niezmienniki pętli i twierdzenie o niezmiennikach. Dowód poprawności algorytmu dzielenia z resztą. Największy wspólny dzielnik i jego własności. Naiwny algorytm znajdowania NWD.
Materiały:
Literatura:
- [3] rozdz. 3.6 i 4.6.
Tydzień 11 — 15.12.2023
Twierdzenie i algorytm Euklidesa. Dowód poprawności algorytmu Euklidesa oraz analiza jego złożoności. Tożsamość Bézouta. Rozszerzony algorytm Euklidesa.
Materiały:
Literatura:
- [3] rozdz. 4.6.
Tydzień 12 — 12.01.2024
Kongruencje i ich podstawowe własności. Działania w zbiorach reszt. Małe twierdzenie Fermata. Funkcja Eulera. Rozwiązywanie kongruencji liniowych.
Materiały:
Literatura:
- [2] rozdz. 30, [3] rozdz. 3.6, [1] rozdz. 9.6–9.7.
Tydzień 13 — 19.01.2024
Element odwrotny względem relacji przystawania. Istnienie i jedyność elementu odwrotnego. Rozwiązywanie układów kongruencji. Chińskie twierdzenie o resztach. Systemy resztowe. Wprowadzenie do kryptografii.
Materiały:
Literatura:
- [3] rozdz. 4.6, [1] rozdz. 9.9.
Tydzień 14 — 19.01.2024
Problem dystrybucji klucza. Protokół Diffiego-Hellmana. Problem logarytmu dyskretnego. Kryptosystem RSA. Wstęp do teorii grafów. Podstawowe rodziny grafów.
Materiały:
Literatura:
- [2] rozdz. 31.
Zainteresowanym historią oraz podstawami kryptografii polecam przystępne książki:
- Steven Levy, Rewolucja w kryptografii,
- Simon Singh, Księga szyfrów. Zdecydowanie więcej szczegółów teoretycznych można znaleźć na przykład w książce:
- Neal Koblitz, Algebraiczne aspekty kryptografii.
Tydzień 15 — 26.01.2024
Podstawowe pojęcia teorii grafów. Problem mostów królewieckich. Grafy eulerowskie. Twierdzenie Eulera charakteryzujące grafy eulerowskie. Algorytm Fleury’ego. Grafy hamiltonowskie. Poszukiwanie najkrótszej ścieżki w grafie skierowanym z wagami. Algorytm Dijkstry.
Materiały:
Literatura:
- [3] rozdz. 6.
Zestawy zadań
Każdy zestaw zadań podzielony jest na dwie lub trzy częśći: A, B i (czasami) C. Zadania z części A powinny być zrobione samodzielnie przed odpowiednimi ćwiczeniami. Jeżeli mamy z tymi zadaniami problem, musimy wrócić do notatek z wykładu. Podczas zajęć skupimy się na zadaniach z części B, które trudnością odpowiadają zadaniom z kolokwium. Część C zawiera zadania trochę trudniejsze, ale niekoniecznie bardzo trudne, które wymagają głębszego zastanowienia. W szczególności za rozwiązanie tych zadań można uzyskać więcej punktów za aktywność na ćwiczeniach. Zachęcam też do otwartej dyskusji o wszystkich zadaniach w naszym zespole teamsowym.
- Zestaw 1 — Rachunek zdań.
- Zestaw 2 — Kwantyfikatory.
- Zestaw 3 — Teoria mnogości.
- Zestaw 4 — Indukcja.
- Zestaw 5 — Relacje.
- Zestaw 6 — Teoria liczb.
Kolokwia
Kolokwia z lat ubiegłych można znaleźć na archiwalnych stronach przedmiotu.