#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