#separator:Tab
#html:true
#notetype:Basic
#deck:Egzamin Magisterski - Ręcznie
#tags column:3
Porównać 'siłę wyrazu' automatu skończonego, automatu ze stosem oraz maszyny Turinga. Jakie klasy języków rozpoznaje każdy z nich? Automat Skończony (FA) → Języki regularne (Typ 3)
• Brak pamięci - tylko aktualny stan
• Równoważny wyrażeniom regularnym
• Przykład: identyfikatory, wzorce tekstu
• NIE rozpozna: aⁿbⁿ (wymaga liczenia)
Automat ze Stosem (PDA) → Języki bezkontekstowe (Typ 2)
• Pamięć: stos LIFO (nieskończony, ale ograniczony dostęp)
• Potrafi liczyć pary: aⁿbⁿ ✓
• NIE rozpozna: aⁿbⁿcⁿ (wymaga 3 liczników)
• UWAGA: DPDA ⊂ NPDA (niedeterministyczny silniejszy!)
Maszyna Turinga (TM) → Języki rekurencyjnie przeliczalne (Typ 0)
• Pamięć: nieskończona taśma R/W
• Rozpoznaje wszystko co obliczalne (teza Churcha-Turinga)
• DTM ≡ NTM pod względem mocy pyt01 AISDI automaty hierarchia_chomskiego
Dlaczego automat skończony nie może rozpoznać języka L = {aⁿbⁿ}? Automat skończony nie ma pamięci poza swoim stanem. Aby rozpoznać aⁿbⁿ, musiałby "zapamiętać" ile było liter 'a', żeby porównać z liczbą 'b'.
Skończona liczba stanów = skończona "pamięć" = nie może liczyć do dowolnie dużego n.
Dowód formalny: Lemat o pompowaniu - dla słowa aᵖbᵖ (gdzie p = stała pompowania), pompując część y w xyz, dostaniemy nierówną liczbę a i b. pyt01 AISDI automaty pumping_lemma
Dlaczego DPDA jest słabszy niż NPDA, ale DFA = NFA? DFA = NFA (równoważne):
Każdy NFA można przekształcić w DFA przez konstrukcję podzbiorową (powerset construction). Stany DFA = podzbiory stanów NFA.
DPDA ⊂ NPDA (DPDA słabszy):
Stos wymaga "odgadnięcia" kiedy skończyć odkładanie i zacząć zdejmowanie. Przykład: palindromy parzyste L = {wwᴿ} - NPDA "zgaduje" środek słowa, DPDA nie może.
Kluczowa różnica: przy stosie niedeterminizm daje realną przewagę, przy samych stanach - nie. pyt01 AISDI automaty dpda_npda
Omówić i porównać algorytmy najkrótszej ścieżki: Dijkstry, Bellmana-Forda, A*. Dijkstra (1959) - zachłanny, SSSP
• Wymóg: wagi ≥ 0
• Złożoność: O(V²) lub O((V+E)log V) z kopcem
• Idea: wybieraj wierzchołek o najmniejszej znanej odległości
Bellman-Ford (1958) - programowanie dynamiczne
• Działa dla ujemnych wag (wykrywa ujemne cykle)
• Złożoność: O(V·E)
• Idea: V-1 iteracji relaksacji wszystkich krawędzi
A* (1968) - heurystyczny, single-pair
• Wymóg: heurystyka dopuszczalna h(n) ≤ h*(n)
• f(n) = g(n) + h(n) (koszt dotarcia + szacowany koszt do celu)
• Znacznie szybszy od Dijkstry dla konkretnego celu pyt02 AISDI algorytmy_grafowe najkrotsza_sciezka
Dlaczego algorytm Dijkstry nie działa dla ujemnych wag? Dijkstra oznacza wierzchołki jako "zakończone" gdy je przetworzy - zakłada, że znaleziona odległość jest ostateczna.
Problem: Ujemna krawędź może później "poprawić" już zakończony wierzchołek.
Przykład:
S→C = 2 (Dijkstra ustala jako finalne)
S→A→B→C = 1 + (-5) + 1 = -3 < 2
Bellman-Ford rozwiązuje to robiąc V-1 iteracji po WSZYSTKICH krawędziach. pyt02 AISDI dijkstra ujemne_wagi
Co to jest heurystyka dopuszczalna w A* i dlaczego jest ważna? Heurystyka dopuszczalna (admissible): h(n) ≤ h*(n)
czyli heurystyka nigdy nie przeszacowuje rzeczywistego kosztu do celu.
Dlaczego ważna:
• Gwarantuje optymalność - A* znajdzie najkrótszą ścieżkę
• Jeśli h(n) > h*(n), A* może pominąć optymalną ścieżkę
Przykłady:
• Odległość euklidesowa (linia prosta) - zawsze ≤ rzeczywistej trasy
• h(n) = 0 → A* = Dijkstra (bezpieczne, ale wolne)
Heurystyka spójna (consistent): h(n) ≤ c(n,n') + h(n') - silniejsza, przyspiesza A* pyt02 AISDI a_star heurystyka
Czym jest redundancja w bazach danych i jakie anomalie powoduje? Redundancja = ta sama informacja przechowywana w wielu miejscach.
Trzy anomalie:
1. Anomalia wstawiania
Nie można dodać danych bez innych danych.
Przykład: nowy kurs bez studentów
2. Anomalia usuwania
Usunięcie danych powoduje utratę innych informacji.
Przykład: usunięcie ostatniego studenta kursu = utrata info o kursie
3. Anomalia modyfikacji
Zmiana wymaga aktualizacji wielu wierszy.
Przykład: zmiana nazwiska prowadzącego = update wielu rekordów
Rozwiązanie: Normalizacja - dekompozycja tabel pyt03 BD2 redundancja anomalie
Wyjaśnij postacie normalne 1NF, 2NF, 3NF. 1NF - Pierwsza Postać Normalna
• Atomowość wartości (brak list/tablic w komórkach)
• Istnieje klucz główny
2NF - Druga Postać Normalna
• Spełnia 1NF
• Brak częściowych zależności (atrybut zależy od CAŁEGO klucza złożonego, nie od części)
• Dotyczy tylko tabel z kluczem wielokolumnowym
3NF - Trzecia Postać Normalna
• Spełnia 2NF
• Brak przechodnich zależności (A→B→C, gdzie B nie jest kluczem)
• Atrybuty wtórne zależą TYLKO od klucza
Hierarchia: 5NF ⊂ 4NF ⊂ BCNF ⊂ 3NF ⊂ 2NF ⊂ 1NF pyt03 BD2 normalizacja postacie_normalne
Co to jest BCNF i czym różni się od 3NF? BCNF (Boyce-Codd Normal Form):
Dla każdej nietrywialnej zależności funkcyjnej X→Y, X musi być nadkluczem.
Różnica od 3NF:
3NF dopuszcza: X→A gdzie A jest atrybutem pierwszym (należy do klucza)
BCNF: NIE dopuszcza - zawsze X musi być nadkluczem
Przykład naruszenia 3NF ale spełnienia BCNF:
Relacja z kluczami kandydującymi {A,B} i {A,C}
Zależność B→C narusza BCNF (B nie jest nadkluczem)
ale spełnia 3NF (C jest atrybutem pierwszym)
Praktyka: 3NF zwykle wystarcza, BCNF może utrudnić dekompozycję pyt03 BD2 bcnf normalizacja
Co oznacza ACID w kontekście transakcji bazodanowych? A - Atomicity (Atomowość)
Transakcja wykonuje się w całości lub wcale. Brak częściowych zmian.
C - Consistency (Spójność)
Dane przechodzą z jednego spójnego stanu w drugi. Reguły biznesowe zawsze spełnione.
I - Isolation (Izolacja)
Równoległe transakcje nie widzą swoich pośrednich zmian. Brak efektów ubocznych.
D - Durability (Trwałość)
Zatwierdzone zmiany przetrwają awarie systemu.
Przykład - przelew bankowy:
Bez A: awaria po odjęciu = utrata pieniędzy
Bez C: saldo ujemne mimo ograniczenia
Bez I: inna transakcja widzi stan pośredni
Bez D: po COMMIT dane giną pyt04 BD2 acid transakcje
Dlaczego baza danych stanowi dobry fundament systemów informatycznych? 1. Transakcyjność (ACID)
Gwarancja spójności i niezawodności operacji
2. Niezależność danych
• Fizyczna: zmiana indeksów/partycjonowania bez zmiany aplikacji
• Logiczna: zmiana schematu z minimalnym wpływem (widoki)
3. Współbieżność
Wiele aplikacji jednocześnie: blokady, MVCC, poziomy izolacji
4. Integralność
• Ograniczenia: PK, FK, CHECK, NOT NULL
• Wyzwalacze i procedury składowane
5. Optymalizacja
Automatyczny optymalizator zapytań, indeksy, statystyki
6. Bezpieczeństwo
Kontrola dostępu, audyt, szyfrowanie pyt04 BD2 bazy_danych fundament
Jakie są główne kategorie elementów STL i jak są powiązane? 4 główne kategorie:
1. KONTENERY - struktury przechowujące dane
• Sekwencyjne: vector, list, deque
• Asocjacyjne: map, set (drzewo czerwono-czarne)
• Nieuporządkowane: unordered_map (hash table)
2. ITERATORY - abstrakcja wskaźnika
• input, output, forward, bidirectional, random access
• Łączą kontenery z algorytmami
3. ALGORYTMY - operacje na danych
• sort, find, transform, copy, accumulate
• Działają na iteratorach, nie na kontenerach bezpośrednio
4. FUNKTORY - obiekty wywoływalne
• less, greater, plus
• Lambdy od C++11
Powiązanie: Algorytmy operują na kontenerach PRZEZ iteratory, parametryzowane funktorami pyt05 PROI stl cpp
Kiedy użyć vector, a kiedy list w STL? std::vector - tablica dynamiczna
• Dostęp O(1) przez indeks
• Wstawianie na końcu O(1) amortyzowane
• Wstawianie w środku O(n) - przesunięcie elementów
• Cache-friendly (ciągła pamięć)
→ Użyj gdy: częsty dostęp losowy, głównie dodajesz na koniec
std::list - lista dwukierunkowa
• Dostęp O(n) - brak indeksowania
• Wstawianie/usuwanie O(1) w dowolnym miejscu (po znalezieniu)
• Nie invaliduje iteratorów przy modyfikacji
→ Użyj gdy: częste wstawianie/usuwanie w środku, iteratory muszą pozostać ważne
Praktyka: vector w 95% przypadków (cache matters!) pyt05 PROI stl vector_list
Różnica między map a unordered_map w STL? std::map (drzewo czerwono-czarne)
• Operacje: O(log n)
• Elementy posortowane według klucza
• Wymaga operator< dla klucza
• Stabilna wydajność
std::unordered_map (tablica haszująca)
• Operacje: O(1) średnio, O(n) pesymistycznie
• Elementy nieposortowane
• Wymaga std::hash dla klucza
• Szybsza dla dużych zbiorów z dobrą funkcją hash
Kiedy map:
• Potrzebujesz posortowanych kluczy
• Iterujesz po zakresach
Kiedy unordered_map:
• Tylko lookup/insert (brak iteracji po kolejności)
• Duże zbiory danych pyt05 PROI stl map_unordered
Jaki jest cel three-way handshake w TCP? Cele:
1. Nawiązanie połączenia - obie strony zgadzają się komunikować
2. Synchronizacja ISN - wymiana początkowych numerów sekwencyjnych
3. Uzgodnienie parametrów - MSS, Window Scale, SACK
Przebieg:
1. Klient → SYN, seq=x (stan: SYN_SENT)
2. Serwer → SYN+ACK, seq=y, ack=x+1 (stan: SYN_RECEIVED)
3. Klient → ACK, seq=x+1, ack=y+1 (stan: ESTABLISHED)
Dlaczego 3 kroki?
• 2 kroki: serwer nie wie czy klient otrzymał jego ISN
• 3 kroki: obie strony potwierdziły swoje ISN pyt08 SKM tcp handshake
Co to jest numer sekwencyjny w TCP i jaka jest jego wartość początkowa? Sequence Number (SEQ) = numer pierwszego bajtu danych w segmencie.
Interpretacja:
• SEQ=1000, 500 bajtów danych → następny segment ma SEQ=1500
• Umożliwia składanie segmentów w kolejności
• Wykrywanie duplikatów i braków
Acknowledgment Number (ACK) = numer NASTĘPNEGO oczekiwanego bajtu.
ACK=1500 oznacza: "otrzymałem wszystko do bajtu 1499"
Wartość początkowa (ISN):
• Losowa (nie 0!) ze względów bezpieczeństwa
• Zapobiega atakom typu session hijacking
• Historycznie: ISN = (timer * 250) mod 2³²
• Współcześnie: kryptograficznie losowy pyt08 SKM tcp seq_ack
Czym różni się proces od wątku? PROCES
• Oddzielna przestrzeń adresowa (izolacja)
• Własny PCB (Process Control Block)
• Komunikacja: IPC (pipe, socket, shared memory)
• Przełączanie: kosztowne (zmiana kontekstu MMU)
• Awaria jednego nie wpływa na inne
WĄTEK
• Współdzieli przestrzeń adresową procesu
• Własny: stos, rejestry, PC
• Wspólne: kod, dane, heap, pliki
• Przełączanie: szybkie (bez zmiany tablic stron)
• Awaria jednego = awaria całego procesu
Analogia:
Proces = mieszkanie (własne zasoby)
Wątek = współlokator (wspólna kuchnia, łazienka) pyt09 SOI procesy_watki
Jakie są problemy synchronizacji wątków i jak je rozwiązać? PROBLEMY:
1. Wyścig (Race Condition)
Wynik zależy od kolejności wykonania
→ Rozwiązanie: sekcja krytyczna z mutexem
2. Zakleszczenie (Deadlock)
Wątki czekają na siebie nawzajem
→ Rozwiązanie: kolejność blokad, timeout, wykrywanie
3. Zagłodzenie (Starvation)
Wątek nigdy nie dostaje zasobu
→ Rozwiązanie: sprawiedliwe szeregowanie, kolejki
4. Livelock
Wątki aktywne, ale nie robią postępu
→ Rozwiązanie: losowe opóźnienia
MECHANIZMY:
• Mutex, Semafor, Monitor
• Zmienna warunkowa (condition variable)
• Read-write lock
• Operacje atomowe pyt09 SOI synchronizacja watki
Warunki konieczne wystąpienia zakleszczenia (deadlock). 4 warunki Coffmana (wszystkie muszą być spełnione):
1. Wzajemne wykluczanie (Mutual Exclusion)
Zasób może być używany tylko przez jeden proces
2. Trzymaj i czekaj (Hold and Wait)
Proces trzyma zasoby czekając na kolejne
3. Brak wywłaszczania (No Preemption)
Zasobów nie można odebrać siłą
4. Cykliczne oczekiwanie (Circular Wait)
P1→P2→P3→P1 (cykl oczekiwań)
Zapobieganie:
Złam dowolny warunek:
• Ustal globalną kolejność zasobów (łamie 4)
• Żądaj wszystkich zasobów naraz (łamie 2)
• Pozwól na wywłaszczanie (łamie 3) pyt09 SOI deadlock warunki
Co to jest stronicowanie i segmentacja? Porównaj. STRONICOWANIE (Paging)
• Pamięć dzielona na równe ramki (np. 4KB)
• Tablica stron: strona → ramka
• Fragmentacja wewnętrzna (ostatnia strona)
• Niewidoczne dla programisty
• Umożliwia pamięć wirtualną (swap)
SEGMENTACJA (Segmentation)
• Pamięć dzielona logicznie: kod, dane, stos
• Segmenty różnej wielkości
• Fragmentacja zewnętrzna
• Widoczna dla programisty (ochrona, współdzielenie)
PORÓWNANIE:
| Cecha | Stronic. | Segment. |
| Jednostka | Stała | Zmienna |
| Fragmentacja | Wewnętrzna | Zewnętrzna |
| Widoczność | Ukryta | Jawna |
Praktyka: Często łączone (segmentacja + stronicowanie) pyt10 SOI zarzadzanie_pamiecia stronic_segment
Jakie standardy służą do modelowania procesów biznesowych? BPMN 2.0 (Business Process Model and Notation)
• Główny standard dla procesów biznesowych
• Wykonywalne diagramy (silniki workflow)
• Elementy: zdarzenia (kółka), bramki (romby), czynności (prostokąty), przepływy
• Swimlanes = odpowiedzialności
UML (Unified Modeling Language)
• Diagram aktywności ≈ flowchart
• Diagram przypadków użycia
• Głównie dla systemów IT, nie procesów biznesowych
EPC (Event-driven Process Chain)
• Metodyka ARIS
• Zdarzenia → Funkcje → Zdarzenia
• Popularne w SAP
Praktyka: BPMN dla biznesu, UML dla IT pyt11 ISA bpmn modelowanie_procesow
Czym różnią się bramki XOR, AND i OR w BPMN? XOR (Exclusive Gateway) ◇
• Dokładnie JEDNA ścieżka wybrana
• Rozgałęzienie: warunki wzajemnie wykluczające
• Scalenie: czeka na pierwszą (nie synchronizuje)
• Przykład: Decyzja tak/nie
AND (Parallel Gateway) ◇+
• WSZYSTKIE ścieżki aktywowane/wymagane
• Rozgałęzienie: równoległe wykonanie
• Scalenie: synchronizacja (czeka na wszystkie)
• Przykład: Równoległa weryfikacja dokumentów
OR (Inclusive Gateway) ◇○
• JEDNA LUB WIĘCEJ ścieżek
• Rozgałęzienie: aktywuje te, których warunki spełnione
• Scalenie: czeka na wszystkie aktywowane
• Przykład: Opcjonalne kroki procesu pyt11 ISA bpmn bramki
Jakie są podstawowe sieciowe modele optymalizacji? 1. Najkrótsza ścieżka (Shortest Path)
min Σ cᵢⱼxᵢⱼ od s do t
Algorytmy: Dijkstra, Bellman-Ford, A*
2. Maksymalny przepływ (Max Flow)
max przepływ od źródła do ujścia
Ograniczenie: przepustowość krawędzi
Algorytmy: Ford-Fulkerson, Edmonds-Karp
3. Minimalny koszt przepływu (Min Cost Flow)
Połączenie: przepływ + koszt jednostkowy
Zastosowanie: transport, przydział zadań
4. Problem przydziału (Assignment)
n pracowników → n zadań, min koszt
Każdy pracownik = jedno zadanie
Algorytm: Metoda węgierska O(n³)
5. Problem komiwojażera (TSP)
Najkrótsza trasa przez wszystkie miasta
NP-trudny! pyt12 WSYZ optymalizacja sieciowa
Czym różni się system agentowy od systemu aktorów? SYSTEM AGENTOWY
• Agent = autonomiczny, reaktywny, proaktywny, społeczny
• Architektura BDI (Beliefs-Desires-Intentions)
• Komunikacja: FIPA-ACL (semantyka, performatywy)
• Cel: symulacja, AI, negocjacje
• Przykład: JADE, Jason
SYSTEM AKTORÓW
• Aktor = lekka jednostka obliczeniowa
• Komunikacja: asynchroniczne wiadomości (fire-and-forget)
• Brak stanu współdzielonego (share nothing)
• Cel: współbieżność, skalowalność, fault-tolerance
• Przykład: Akka, Erlang/OTP
Kluczowa różnica:
Agent = inteligentny, autonomiczny, ma cele
Aktor = jednostka obliczeniowa, reaktywna, bez "inteligencji" pyt13 ISA agenty_aktorzy
Co to jest architektura BDI w systemach agentowych? BDI = Beliefs-Desires-Intentions
Beliefs (Przekonania)
Co agent wie o świecie
Baza wiedzy, może być niepełna/błędna
Desires (Pragnienia)
Cele, które agent chce osiągnąć
Mogą być sprzeczne ze sobą
Intentions (Intencje)
Wybrane cele, do których agent się zobowiązał
Plany działania
Cykl decyzyjny:
1. Percepcja → aktualizuj Beliefs
2. Generuj opcje (desires)
3. Deliberacja → wybierz intentions
4. Wykonaj plan
5. Powtórz
Zastosowania: robotyka, symulacja zachowań, gry pyt13 ISA bdi agenty
Jakie są algorytmy koordynacji w systemach wieloagentowych? 1. Contract Net Protocol (CNET)
Manager ogłasza zadanie → Agenty składają oferty → Wybór najlepszej
Zastosowanie: alokacja zadań
2. Aukcje wieloagentowe
• Angielska (rosnąca), holenderska (malejąca)
• Vickrey (druga cena) - zachęca do prawdziwych ofert
• Kombinatoryczne - pakiety zasobów
3. Protokoły konsensusu
Agenty uzgadniają wspólną wartość
ẋᵢ = Σⱼ aᵢⱼ(xⱼ - xᵢ) → zbieżność do średniej
4. Multi-Agent Reinforcement Learning
• Independent Q-learning
• Cooperative/Competitive
• Emergent behavior pyt14 ISA wieloagentowe koordynacja
Co to jest framework TOGAF w modelowaniu architektury? TOGAF = The Open Group Architecture Framework
ADM (Architecture Development Method):
Cykliczny proces 8 faz:
1. Preliminary - przygotowanie
2. Vision - wizja architektury
3. Business Architecture - procesy biznesowe
4. IS Architecture - dane + aplikacje
5. Technology Architecture - infrastruktura
6. Opportunities & Solutions - planowanie migracji
7. Migration Planning - szczegółowy plan
8. Governance - zarządzanie zmianami
4 domeny architektury:
• Business, Data, Application, Technology (BDAT)
Praktyka: Standard korporacyjny, duże organizacje pyt15 ISA togaf architektura
Porównaj wzorce architektoniczne: Layers, Microservices, Event-Driven. LAYERS (Warstwowa)
Prezentacja → Logika → Dane
✓ Prostota, separacja
✗ Monolityczna, trudna skalowalność
MICROSERVICES
Małe, niezależne serwisy
✓ Skalowalność, niezależny deployment
✓ Różne technologie
✗ Złożoność operacyjna, distributed transactions
Wymaga: API Gateway, Service Discovery
EVENT-DRIVEN (EDA)
Komponenty komunikują się przez zdarzenia
✓ Luźne powiązania, reaktywność
✓ Skalowalność, CQRS/Event Sourcing
✗ Trudne debugowanie, eventual consistency
Wymaga: Message Broker (Kafka, RabbitMQ)
Praktyka: Często łączone (microservices + events) pyt16 ISA wzorce_architektoniczne
Jakie są warunki KKT w optymalizacji nieliniowej? KKT = Karush-Kuhn-Tucker
Dla problemu: min f(x), g(x) ≤ 0, h(x) = 0
Warunki konieczne optimum:
1. Stacjonarność:
∇f(x*) + Σμᵢ∇gᵢ(x*) + Σλⱼ∇hⱼ(x*) = 0
2. Dopuszczalność pierwotna:
g(x*) ≤ 0, h(x*) = 0
3. Dopuszczalność dualna:
μᵢ ≥ 0 (dla ograniczeń nierównościowych)
4. Complementary slackness:
μᵢ · gᵢ(x*) = 0 (aktywne lub μ=0)
Dla wypukłych: KKT są wystarczające!
Dla niewypukłych: tylko konieczne (lokalne opt.) pyt17 MOM kkt optymalizacja_nieliniowa
Czym różni się metoda simpleks od interior point? METODA SIMPLEKS
• Porusza się po wierzchołkach wielościanu
• Iteracja: przejście do lepszego sąsiada
• Złożoność: O(2ⁿ) pesymistycznie
• W praktyce: bardzo szybka dla większości problemów
• Problemy zdegenerowane: cycling
INTERIOR POINT (bariery)
• Porusza się WEWNĄTRZ wielościanu
• Zbliża się do granicy przy optimum
• Złożoność: wielomianowa O(n³·L)
• Lepsza dla bardzo dużych problemów
• Wymaga więcej pamięci
Praktyka:
Simplex: małe/średnie LP, basis info
Interior Point: duże LP, QP, SDP pyt18 MOM simplex lp
Jak działa parametryzacja MFCC w rozpoznawaniu mowy? MFCC = Mel-Frequency Cepstral Coefficients
Pipeline przetwarzania:
1. Pre-emphasis: y[n] = x[n] - αx[n-1] (wzmocnienie wysokich częstotliwości)
2. Ramkowanie: okna 20-40ms z overlap
3. FFT: spektrum częstotliwościowe
4. Mel filterbank: 26-40 filtrów w skali mel (nieliniowa, jak ucho)
5. Log: logarytm energii filtrów
6. DCT: 12-13 współczynników cepstralnych
Rozszerzenia:
• Δ (pierwsza pochodna) - dynamika
• ΔΔ (druga pochodna)
• Razem: 39 cech (13 + 13 + 13)
Dlaczego mel? Ucho słyszy nieliniowo - różnice w niskich częstotliwościach ważniejsze pyt19 RUM mfcc parametryzacja_mowy
Porównaj HMM i Deep Learning w rozpoznawaniu mowy. HMM (Hidden Markov Model)
• Stany ukryte → emisje (GMM)
• Algorytmy: Viterbi, Forward-Backward, Baum-Welch
• Zalety: interpretowalność, mało danych
• Wady: założenie Markowa, ręczne features
DNN-HMM (Hybrid)
• DNN zastępuje GMM do modelowania emisji
• HMM nadal modeluje sekwencję
• Breakthrough: 2012 (Hinton et al.)
End-to-End Deep Learning
• CTC (Connectionist Temporal Classification)
• Attention/Transformer (Seq2Seq)
• Brak alignmentu, brak HMM
• Przykłady: DeepSpeech, Whisper
Praktyka 2024: Transformery dominują (Whisper, Wav2Vec) pyt20 RUM hmm deep_learning mowa
Co to jest agent upostaciowiony (embodied agent)? Embodied Agent = agent z "ciałem" w fizycznym świecie
Różnica od agenta symulowanego:
• Interakcja z rzeczywistym środowiskiem
• Sensory: kamery, LIDAR, enkodery
• Efektory: silniki, chwytaki
• Niepewność: szum, opóźnienia, awarie
Architektura (typowa):
1. Percepcja: sensory → model świata
2. Planowanie: cel → sekwencja akcji
3. Wykonanie: akcje → efektory
4. Feedback: monitorowanie i korekta
Frameworki:
• ROS (Robot Operating System)
• BDI dla robotów (Jason + ROS)
Wyzwania:
• Real-time constraints
• Niepewność percepcji
• Bezpieczeństwo (safety-critical) pyt21 SIU embodied_agent roboty
Jakie są poziomy języków programowania robotów? Hierarchia (od wysokiego do niskiego):
1. Task Level (najwyższy)
"Zmontuj produkt A" - planowanie zadań
AI, reasoning
2. Robot Level
Ruchy w przestrzeni kartezjańskiej
Ścieżki, trajektorie end-effector
3. Motion Level
Kinematyka, trajektorie stawów
Planowanie ruchu (RRT, A*)
4. Servo Level (najniższy)
Sterowanie silnikami
PID, kontrola pozycji/prędkości
Języki przemysłowe:
• RAPID (ABB)
• KRL (KUKA)
• Karel (FANUC)
• URScript (Universal Robots)
Standardy: IEC 61131-3 (PLC), ROS (research) pyt22 SIU jezyki_robotow programowanie
Jak działają zegary logiczne Lamporta? Problem: Brak globalnego zegara w systemach rozproszonych
Algorytm:
Każdy proces Pᵢ ma licznik Cᵢ:
1. Przed zdarzeniem lokalnym: Cᵢ++
2. Wysyłanie msg: Cᵢ++, dołącz timestamp
3. Odbiór msg z timestamp t: Cᵢ = max(Cᵢ, t) + 1
Właściwości:
✓ a → b ⟹ C(a) < C(b) (porządek zachowany)
✗ C(a) < C(b) ⟹ a → b (NIE! mogą być współbieżne)
Zegary wektorowe:
Wektor V[1..N] dla N procesów
V[i] = wiedza procesu o wszystkich
a → b ⟺ V(a) < V(b) (obustronna implikacja!)
Zastosowanie: Causal ordering, wykrywanie współbieżności pyt23 ERSMS zegary_logiczne lamport
Czym różni się linearizability od eventual consistency? LINEARIZABILITY (najsilniejsza)
• Operacja wygląda jakby wykonała się atomowo
• "Globalny porządek czasu rzeczywistego"
• Wynik natychmiast widoczny wszędzie
• Kosztowna: wymaga koordynacji (Paxos, Raft)
• Przykład: transakcje bankowe
EVENTUAL CONSISTENCY (najsłabsza)
• "Ostatecznie wszystkie repliki się zsynchronizują"
• Brak gwarancji kiedy
• Możliwe stare odczyty
• Wysoka dostępność (AP w CAP)
• Przykład: DNS, caching, social media feeds
Pomiędzy:
• Sequential: globalny porządek, nie real-time
• Causal: porządek przyczynowy zachowany pyt24 ERSMS spojnosc consistency
Co to jest Branch and Bound i jak działa? Branch and Bound = metoda dokładna dla MIP
Idea:
1. Relaksacja LP: rozwiąż bez ograniczeń całkowitoliczbowych
2. Jeśli rozwiązanie całkowite → STOP
3. BRANCH: wybierz zmienną ułamkową xᵢ
4. Utwórz 2 podproblemy: xᵢ ≤ ⌊x*ᵢ⌋ i xᵢ ≥ ⌈x*ᵢ⌉
5. BOUND: jeśli LP ≤ best known → prune
Przycinanie (pruning):
• Infeasible: brak rozwiązania LP
• Optimality: LP ≤ incumbent
• Integrality: znalezione całkowite
Strategie wyboru węzła:
• Best-first (najlepsze ograniczenie)
• Depth-first (mniej pamięci)
• Best-estimate (heurystyka) pyt25 MOD branch_and_bound mip
Jakie są główne narzędzia do optymalizacji dyskretnej? SOLVERY MIP (komercyjne):
• CPLEX (IBM) - najszybszy
• Gurobi - bardzo szybki, dobre API
SOLVERY MIP (open source):
• SCIP - framework rozszerzalny
• CBC (COIN-OR) - dobry darmowy
• HiGHS - nowoczesny
CONSTRAINT PROGRAMMING:
• CP-SAT (Google OR-Tools) - bardzo szybki
• Gecode - akademicki
• MiniZinc - język modelowania
JĘZYKI MODELOWANIA:
• Pyomo (Python)
• JuMP (Julia)
• AMPL, GAMS (komercyjne)
Kiedy CP vs MIP?
CP: scheduling, alldifferent, kombinatoryczne
MIP: silna relaksacja LP, ciągłe zmienne pyt26 MOD solvery narzedzia
Dlaczego jakość modelu danych jest krytyczna? Model danych = fundament systemu
Zmiana modelu → kaskadowe zmiany wszędzie
Konsekwencje złego modelu:
1. Wydajność:
JOIN na stringach vs integer PK/FK
Brak indeksów, denormalizacja → full scans
2. Spójność:
Redundancja → anomalie (insert, update, delete)
Brak constraints → nieprawidłowe dane
3. Utrzymywalność:
Niezrozumiałe nazwy (col1, temp_field)
Brak dokumentacji ERD
4. Koszty naprawy:
Analiza: tanie
Design: średnie
Implementacja: drogie
Produkcja: BARDZO drogie (migracje!) pyt27 MODA model_danych jakosc
Jakie są fazy ewolucji modelu danych? 1. KONCEPTUALNY (CDM)
• CO przechowujemy (biznes)
• Zrozumiały dla nietechnicznych
• Encje i relacje (brak atrybutów szczegółowych)
• ERD uproszczony
2. LOGICZNY (LDM)
• JAK strukturyzujemy
• Atrybuty, typy logiczne, klucze PK/FK
• Normalizacja (min 3NF)
• Niezależny od DBMS
3. FIZYCZNY (PDM)
• JAK implementujemy
• Typy danych specyficzne dla DBMS
• Indeksy, partycjonowanie, tablespaces
• Optymalizacja wydajności
Transformacja:
CDM → LDM: dodaj atrybuty, normalizuj
LDM → PDM: dostosuj do DBMS, zoptymalizuj pyt28 MODA fazy_modelu ewolucja
Co mówi prawo Amdahla o przyśpieszeniu równoległym? Formuła Amdahla:
S(n) = 1 / [(1-p) + p/n]
Gdzie:
• p = część równoległa (0-1)
• n = liczba procesorów
• (1-p) = część sekwencyjna
Maksymalne przyśpieszenie (n→∞):
S_max = 1/(1-p)
Przykład:
90% równoległe (p=0.9):
S_max = 1/0.1 = 10x
Nawet z nieskończoną liczbą CPU!
Wniosek: Część sekwencyjna LIMITUJE przyśpieszenie
Prawo Gustafsona: Skaluj problem, nie przyśpieszenie
S_scaled = 1 - p + p·n (liniowe z n!) pyt29 PORR amdahl rownolegle
Jakie są etapy tworzenia modelu optymalizacyjnego? 1. ANALIZA PROBLEMU
• Zrozum dziedzinę biznesową
• Zidentyfikuj decyzje, cele, ograniczenia
2. ZMIENNE DECYZYJNE
• Co kontrolujemy? (x, y, z...)
• Typy: ciągłe, całkowite, binarne
• Zmienne muszą być mierzalne i kontrolowalne
3. FUNKCJA CELU
• min/max f(x)
• Co optymalizujemy? (koszt, zysk, czas)
4. OGRANICZENIA
• g(x) ≤ 0, h(x) = 0
• Zasoby, fizyka, logika biznesowa
5. WALIDACJA
• Extreme cases
• Known solutions
• Analiza wrażliwości
Problemy: Big-M (słaba relaksacja), symetria pyt30 MOM modelowanie optymalizacja
Dlaczego wypukłość jest ważna w optymalizacji? Problem wypukły:
• min f(x) gdzie f wypukła
• Ograniczenia definiują zbiór wypukły
Kluczowa właściwość:
LOKALNE optimum = GLOBALNE optimum
Konsekwencje:
1. Gwarancja znalezienia najlepszego rozwiązania
2. Algorytmy wielomianowe (interior point)
3. Silna dualność (zero gap)
4. KKT wystarczające (nie tylko konieczne)
Niewypukłe problemy:
• Wiele minimów lokalnych
• NP-trudne
• Tylko lokalne optimum (gradient, Newton)
• Metaheurystyki: SA, GA (bez gwarancji)
Praktyka: Przekształć w wypukły jeśli możliwe! pyt31 MOM wypuklosc optymalizacja
Różnica między komunikacją blokującą a nieblokującą w MPI. BLOKUJĄCA
• MPI_Send, MPI_Recv
• Zwraca gdy operacja "zakończona"
• Bufor można bezpiecznie użyć ponownie
• Ryzyko deadlocka przy złej kolejności
NIEBLOKUJĄCA
• MPI_Isend, MPI_Irecv
• Zwraca natychmiast (request handle)
• Operacja w tle
• MPI_Wait/MPI_Test do sprawdzenia
• Overlapping: obliczenia + komunikacja
Deadlock example:
P0: Send(to=1); Recv(from=1);
P1: Send(to=0); Recv(from=0);
→ Oba czekają na recv, nikt nie wysyła
Rozwiązanie: MPI_Sendrecv lub nieblokujące pyt32 PORR mpi blokujace
Jak działa model Publish-Subscribe? Architektura:
PUBLISHERS → BROKER → SUBSCRIBERS
Cechy:
• Luźne powiązanie (publisher nie zna subscriberów)
• Asynchroniczność
• Skalowalność 1:N, N:M
Typy subskrypcji:
• Topic-based: subscribe("orders")
• Content-based: price > 100
• Hierarchical: home/+/temperature (wildcards)
QoS (Quality of Service):
• QoS 0: at most once (fire-and-forget)
• QoS 1: at least once (możliwe duplikaty)
• QoS 2: exactly once (4-way handshake)
Implementacje:
• Apache Kafka (log-based, high throughput)
• RabbitMQ (AMQP, flexible routing)
• MQTT (IoT, lightweight) pyt33 PSD pub_sub messaging
Czym charakteryzuje się przetwarzanie danych strumieniowych? Strumień vs Batch:
• Unbounded (nieskończony)
• Ciągłe napływanie danych
• Wymagana niska latencja
• Brak możliwości przechowania wszystkiego
Windowing (okna czasowe):
• Tumbling: rozłączne, stała wielkość
• Sliding: nakładające się
• Session: oparte na aktywności
• Global: jedno okno, trigger decyduje
Event Time vs Processing Time:
• Event time: kiedy zdarzenie nastąpiło
• Processing time: kiedy dotarło
• Watermark: znacznik postępu event time
Platformy:
• Apache Flink (stateful, exactly-once)
• Kafka Streams (library, Kafka ecosystem)
• Apache Spark Streaming (micro-batch) pyt34 PSD streaming analityka
Co to są systemy cyber-fizyczne (CPS)? CPS = Cyber + Physical w pętli sprzężenia
Komponenty:
• Cyber: obliczenia, komunikacja, sterowanie
• Physical: dynamika, fizyka, środowisko
• Sensors + Actuators = połączenie
Specyfika modelowania:
• Hybrid systems: ciągłe ODE + dyskretne automaty
• Real-time constraints
• Niepewność, szum, opóźnienia
Przykład - termostat:
Mode OFF: Ṫ = -α(T-Tₑ)
Mode ON: Ṫ = β - α(T-Tₑ)
Przełączanie: TTₕ → OFF
Consensus w sieci agentów:
ẋᵢ = Σⱼ aᵢⱼ(xⱼ - xᵢ) → zbieżność do średniej
Przykłady: autonomiczne pojazdy, smart grid, Industry 4.0 pyt35 SIU cps cyber_fizyczne
Jakie są elementy uczenia ze wzmocnieniem? Model RL:
Agent ↔ Environment
Agent: akcja aₜ → Environment
Environment: stan sₜ₊₁, nagroda rₜ → Agent
Elementy:
• State (s): obserwacja środowiska
• Action (a): decyzja agenta
• Reward (r): sygnał zwrotny
• Policy π(a|s): strategia
• Value V(s), Q(s,a): oczekiwana nagroda
• Discount γ: ważność przyszłych nagród
MDP (Markov Decision Process):
P(sₜ₊₁|sₜ,aₜ) - tylko obecny stan ma znaczenie
Algorytmy:
• Value-based: Q-learning, DQN
• Policy-based: REINFORCE, PPO
• Actor-Critic: A2C, A3C, SAC
Cel: max E[Σ γᵗrₜ] pyt36 SIU rl uczenie_wzmocnienie
Porównaj modele sieci złożonych: ER, Watts-Strogatz, Barabási-Albert. ERDŐS-RÉNYI (Random)
G(n,p) - krawędź z prawdop. p
• Rozkład stopni: Poisson
• Niski clustering C=p
• Krótka ścieżka L~log(n)
• Brak hubów
WATTS-STROGATZ (Small-World)
Regularna kratka + losowe przepinanie
• Wysoki clustering (zachowany)
• Krótka ścieżka (dodana)
• "6 degrees of separation"
BARABÁSI-ALBERT (Scale-Free)
Preferential attachment (rich-get-richer)
• Rozkład: power-law P(k)~k⁻ᵞ
• Huby (węzły o bardzo wysokim stopniu)
• Odporność na losowe awarie
• Wrażliwość na celowane ataki
Rzeczywiste sieci: cechy BA + WS (huby + clustering) pyt37 TASS sieci_zlozone modele
Co to jest projekcja grafu dwudzielnego? Graf dwudzielny:
Dwa rozłączne zbiory U, V
Krawędzie tylko między U i V
Przykład: dokumenty ↔ słowa
Projekcja:
Przekształcenie na graf jednomodowy
P = B·Bᵀ (projekcja na U)
Węzły U połączone jeśli mają wspólnego sąsiada w V
Metody ważenia krawędzi:
• Simple count: |N(i) ∩ N(j)|
• Jaccard: |∩| / |∪|
• Cosine: dot product / normy
• TF-IDF: rzadkie słowa ważniejsze
Zastosowanie - grupowanie dokumentów:
1. Graf: dokumenty ↔ słowa
2. TF-IDF weights
3. Projekcja na dokumenty
4. Clustering na projekcji pyt38 TASS projekcje grafy_dwudzielne
Jakie są metody segmentacji obrazu? KLASYCZNE:
1. Thresholding: Otsu (automatyczny próg)
2. Region Growing: seed → ekspansja po podobnych
3. Watershed: obraz jako topografia, zalewanie
4. Graph-based: Normalized Cuts, Laplacian
DEEP LEARNING:
1. FCN (Fully Convolutional):
Brak FC layers → dowolny rozmiar wejścia
2. U-Net:
Encoder-decoder + skip connections
Świetne dla małych datasetów (medycyna)
3. DeepLab:
Atrous/dilated convolutions
ASPP (multi-scale)
Typy segmentacji:
• Semantic: klasa dla piksela
• Instance: rozróżnia instancje
• Panoptic: unified (semantic + instance) pyt39 TWM segmentacja cv
Jak działa detekcja obiektów (klasyczne vs deep learning)? KLASYCZNE:
1. Sliding Window + HOG/SIFT:
Przesuwaj okno, klasyfikuj fragment
Problem: O(scales × positions) - WOLNE
2. Viola-Jones (2001):
Haar features + AdaBoost cascade
Integral image → O(1) per feature
Real-time face detection
DEEP LEARNING:
1. Two-stage (R-CNN family):
Region proposals → CNN → classify
Faster R-CNN: RPN (learned proposals)
2. One-stage:
YOLO: grid cells, predict directly
SSD: multi-scale feature maps
Szybsze, mniej dokładne
Metryki: mAP (mean Average Precision), IoU pyt40 TWM detekcja_obiektow cv
Co to jest dominacja stochastyczna pierwszego i drugiego rzędu? FSD (First-order Stochastic Dominance):
A ≥_FSD B ⟺ F_A(x) ≤ F_B(x) dla wszystkich x
• A "zawsze lepsze" od B
• KAŻDY racjonalny decydent (U'≥0) wybierze A
• Najsilniejsza, rzadko występuje
SSD (Second-order):
A ≥_SSD B ⟺ ∫F_A(t)dt ≤ ∫F_B(t)dt dla wszystkich x
• Dla decydentów risk-averse (U'≥0, U''≤0)
• Słabsza niż FSD, częstsza
• CDF mogą się przecinać, ale skumulowane pole - nie
Zastosowanie:
Porównanie portfeli/loterii BEZ znajomości dokładnej funkcji użyteczności
FSD/SSD → eliminacja zdominowanych opcji pyt42 WDWR dominacja_stochastyczna
Jak klasyfikuje się zadania szeregowania (notacja Grahama)? Notacja: α | β | γ
α - Środowisko maszynowe:
• 1: jedna maszyna
• Pm: m maszyn równoległych
• Fm: flow shop z m maszynami
• Jm: job shop z m maszynami
β - Charakterystyki zadań:
• rⱼ: release dates
• dⱼ: due dates
• prec: precedence constraints
• pmtn: preemption allowed
• pⱼ=1: unit processing times
γ - Kryterium:
• Cmax: makespan (max completion)
• ΣCⱼ: total completion time
• Lmax: max lateness
• ΣTⱼ: total tardiness
Przykład: 1|rⱼ|Lmax - jedna maszyna, release dates, minimalizuj max spóźnienie pyt43 ZBOP szeregowanie scheduling
Co to jest efekt byczego bicza (bullwhip effect)? Bullwhip Effect = amplifikacja wahań popytu w górę łańcucha dostaw
Mechanizm:
Mały popyt klienta → większe wahania detalisty → jeszcze większe dystrybutora → ogromne u producenta
Przyczyny:
1. Prognozowanie popytu (każdy poziom dodaje safety stock)
2. Batching zamówień (nie zamawiaj po 1 sztuce)
3. Wahania cen (promocje → stockpiling)
4. Rationing (przy niedoborze zawyżanie zamówień)
Konsekwencje:
• Nadmiar zapasów lub stockouts
• Nieefektywna produkcja
• Wysokie koszty
Rozwiązania:
• Współdzielenie informacji (VMI, CPFR)
• Everyday Low Price (brak promocji)
• Smaller batches pyt44 ZBOP bullwhip lancuch_dostaw
Co to jest model EOQ i jakie ma założenia? EOQ = Economic Order Quantity
Formuła:
Q* = √(2KD/h)
Gdzie:
• K = koszt zamówienia (stały)
• D = roczny popyt
• h = koszt utrzymania jednostki/rok
Założenia:
• Popyt stały i znany
• Lead time stały i znany
• Natychmiastowa dostawa
• Brak braków (stockouts)
• Brak rabatów ilościowych
Całkowity koszt:
TC = (K × D/Q) + (h × Q/2)
Ordering cost + Holding cost
W praktyce: Punkt bazowy, modyfikowany dla:
• Losowy popyt → safety stock
• Lead time → reorder point
• Rabaty → quantity discounts model pyt44 ZBOP eoq zapasy