Task 8 - Romanian
Sarcina 8
Context:
În traducerea automată statistică (Statistical Machine Translation), o sub-problemă frecventă este ordonarea cuvintelor (Word Ordering). Vi se oferă un „sac de cuvinte” (un set de cuvinte amestecate) și trebuie să reconstruiți ordinea originală a propoziziției pentru a maximiza probabilitatea secvenței.
Fie \(W = \{w_1, w_2, \dots, w_N\}\) un set de \(N\) cuvinte distincte.
Vi se oferă un model de limbaj bigram, \(P(w_j | w_i)\), care furnizează probabilitatea ca cuvântul \(w_j\) să urmeze după cuvântul \(w_i\).
Există doi tokeni speciali: \(⟨\text{S}⟩\) (Start) și \(⟨\text{E}⟩\) (End). Propoziția trebuie să înceapă cu \(⟨\text{S}⟩\) și să se termine cu \(⟨\text{E}⟩\).
Obiectiv:
Găsiți o permutare \(\pi\) a cuvintelor din \(W\) care maximizează probabilitatea propoziției:
\[ P(\pi) = P(w_{\pi_1} | ⟨\text{S}⟩) \times \left( \prod_{i=1}^{N-1} P(w_{\pi_{i+1}} | w_{\pi_i}) \right) \times P(⟨\text{E}⟩ | w_{\pi_N}) \]
Pentru a aplica algoritmul A*, transformăm această problemă de maximizare într-una de minimizare definind costul unei tranziții între cuvântul \(u\) și cuvântul \(v\) ca fiind logaritmul negativ al probabilității:
\[ C(u, v) = -\ln(P(v | u)) \]
Partea A: Formalizarea spațiului stărilor
Formulați această problemă ca o căutare într-un graf al spațiului stărilor potrivit pentru algoritmul A*.
În mod specific, definiți:
-
- Structura unei Stări \(n\).
- Starea inițială și Starea scop.
- Funcția succesor (modul în care sunt generate tranzițiile) și costul acumulat \(g(n)\).
[3 puncte]
Partea B: Proiectarea euristicii
Dificultatea principală constă în structura factorială a spațiului de căutare (\(N!\)), ceea ce face ca o euristică trivială (de exemplu, \(h=0\)) să fie computațional impracticabilă chiar și pentru dimensiuni moderate ale intrării (de exemplu, \(N > 15\)).
Proiectați o euristică netrivială \(h(n)\) care estimează costul rămas pentru a completa propoziția. Euristica trebuie să îndeplinească următoarele criterii:
-
- Să fie admisibilă.
- Să fie monotonă (consistentă).
Definiți euristica matematic. Nu este necesar să demonstrați încă proprietățile, dar trebuie să explicați logica din spatele proiectării.
Indiciu: Luați în considerare setul de cuvinte care nu au fost încă plasate. Într-o propoziție validă completă, fiecare dintre aceste cuvinte trebuie să aibă exact o muchie de intrare.
[5 puncte]
Partea C: Demonstrații teoretice
Folosind euristica \(h(n)\) definită în Partea B, oferiți demonstrații formale pentru următoarele proprietăți:
-
- Admisibilitate: Demonstrați că \(h(n) \le h^*(n)\), unde \(h^*(n)\) este costul minim real până la scop.
- Monotonicitate: Demonstrați că \(h(n) \le cost(n, n') + h(n')\), unde \(n'\) este un succesor al lui \(n\).
[5 puncte]
[Total 13 puncte]