Podcast
Questions and Answers
Ce tip de problemă este problema satisfacerii restricțiilor (CSP)?
Ce tip de problemă este problema satisfacerii restricțiilor (CSP)?
- O problemă care poate fi rezolvată întotdeauna în timp polinomial.
- O problemă rezolvabilă doar prin algoritmi genetici.
- O problemă care nu poate fi rezolvată decât prin forță brută.
- O problemă NP, similară cu problema SAT. (correct)
Ce înseamnă că o atribuire este considerată o soluție într-o problemă de satisfacere a constrângerilor (CSP)?
Ce înseamnă că o atribuire este considerată o soluție într-o problemă de satisfacere a constrângerilor (CSP)?
- Toate variabilele au o valoare atribuită, dar unele constrângeri pot fi încălcate.
- Majoritatea variabilelor au o valoare atribuită, iar constrângerile importante sunt satisfăcute.
- Toate variabilele au o valoare atribuită și toate constrângerile sunt satisfăcute. (correct)
- Doar o submulțime a variabilelor are o valoare atribuită, dar toate constrângerile sunt satisfăcute pentru acea submulțime.
Ce reprezintă costul unei soluții într-o problemă de satisfacere a restricțiilor (CSP) parțială?
Ce reprezintă costul unei soluții într-o problemă de satisfacere a restricțiilor (CSP) parțială?
- Numărul de variabile cărora nu li s-a atribuit o valoare.
- O estimare a timpului necesar pentru a găsi o soluție completă.
- Suma ponderată a valorilor variabilelor atribuite.
- Suma costurilor tuturor restricțiilor încălcate de soluție. (correct)
Ce înseamnă că o problemă CSP este binară?
Ce înseamnă că o problemă CSP este binară?
Care este scopul principal al utilizării tehnicilor de propagare a constrângerilor într-o problemă CSP?
Care este scopul principal al utilizării tehnicilor de propagare a constrângerilor într-o problemă CSP?
Ce reprezintă consistența arcului (arc consistency) într-o rețea de constrângeri?
Ce reprezintă consistența arcului (arc consistency) într-o rețea de constrângeri?
Cum funcționează algoritmul AC-3 pentru a restabili consistența arcului într-o problemă CSP?
Cum funcționează algoritmul AC-3 pentru a restabili consistența arcului într-o problemă CSP?
Care este complexitatea temporală a algoritmului AC-3 în termeni de număr de variabile (n), cardinalitatea maximă a domeniilor (d) și numărul de constrângeri (e)?
Care este complexitatea temporală a algoritmului AC-3 în termeni de număr de variabile (n), cardinalitatea maximă a domeniilor (d) și numărul de constrângeri (e)?
În ce condiții algoritmul AC-3 poate detecta că o problemă CSP nu are soluție?
În ce condiții algoritmul AC-3 poate detecta că o problemă CSP nu are soluție?
Ce reprezintă menținerea consistenței arcului (MAC) în timpul căutării backtracking pentru o problemă CSP?
Ce reprezintă menținerea consistenței arcului (MAC) în timpul căutării backtracking pentru o problemă CSP?
Care este scopul euristicilor de ordonare a variabilelor și valorilor în algoritmii de căutare pentru CSP-uri?
Care este scopul euristicilor de ordonare a variabilelor și valorilor în algoritmii de căutare pentru CSP-uri?
Ce face euristica "Minimum Remaining Values" (MRV) în contextul rezolvării problemelor CSP?
Ce face euristica "Minimum Remaining Values" (MRV) în contextul rezolvării problemelor CSP?
Care este avantajul ordonării valorilor într-o problemă CSP astfel încât să se aleagă mai întâi valoarea care constrânge cel mai puțin variabilele vecine?
Care este avantajul ordonării valorilor într-o problemă CSP astfel încât să se aleagă mai întâi valoarea care constrânge cel mai puțin variabilele vecine?
Ce diferențiază o problemă CSP parțială (sau flexibilă) de o problemă CSP clasică?
Ce diferențiază o problemă CSP parțială (sau flexibilă) de o problemă CSP clasică?
Cum se modifică algoritmul de backtracking pentru a rezolva o problemă CSP parțială (PCSP)?
Cum se modifică algoritmul de backtracking pentru a rezolva o problemă CSP parțială (PCSP)?
Având în vedere complexitatea spațiului de căutare în jocurile cu doi adversari, ce strategie este utilizată în algoritmul Minimax pentru a reduce acest spațiu?
Având în vedere complexitatea spațiului de căutare în jocurile cu doi adversari, ce strategie este utilizată în algoritmul Minimax pentru a reduce acest spațiu?
Care este scopul principal al algoritmului Alpha-Beta pruning în contextul jocurilor cu doi adversari?
Care este scopul principal al algoritmului Alpha-Beta pruning în contextul jocurilor cu doi adversari?
Care este semnificația valorilor alpha (α) și beta (β) în algoritmul de tăiere Alpha-Beta?
Care este semnificația valorilor alpha (α) și beta (β) în algoritmul de tăiere Alpha-Beta?
În ce situație specifică algoritmul Alpha-Beta pruning realizează o tăiere Beta (β-tăiere)?
În ce situație specifică algoritmul Alpha-Beta pruning realizează o tăiere Beta (β-tăiere)?
Ce proprietate a succesorilor poate fi exploatată pentru a maximiza eficiența algoritmului Alpha-Beta?
Ce proprietate a succesorilor poate fi exploatată pentru a maximiza eficiența algoritmului Alpha-Beta?
În contextul jocurilor competitive cu mai mulți jucători, ce abordare utilizează algoritmul MAX^n?
În contextul jocurilor competitive cu mai mulți jucători, ce abordare utilizează algoritmul MAX^n?
Care este o limitare specifică a algoritmului Alpha-Beta pruning în cazul jocurilor cu mai mulți jucători?
Care este o limitare specifică a algoritmului Alpha-Beta pruning în cazul jocurilor cu mai mulți jucători?
Cum abordează algoritmul paranoic problema jocurilor cu mai mulți jucători?
Cum abordează algoritmul paranoic problema jocurilor cu mai mulți jucători?
Care este principalul avantaj al algoritmilor Monte Carlo Tree Search (MCTS) în jocurile competitive?
Care este principalul avantaj al algoritmilor Monte Carlo Tree Search (MCTS) în jocurile competitive?
Ce reprezintă etapa de "selecție" într-un algoritm Monte Carlo Tree Search (MCTS)?
Ce reprezintă etapa de "selecție" într-un algoritm Monte Carlo Tree Search (MCTS)?
Care este rolul etapei de "expandare" într-un algoritm Monte Carlo Tree Search (MCTS)?
Care este rolul etapei de "expandare" într-un algoritm Monte Carlo Tree Search (MCTS)?
Ce reprezintă etapa de "simulare" (playout) într-un algoritm Monte Carlo Tree Search (MCTS)?
Ce reprezintă etapa de "simulare" (playout) într-un algoritm Monte Carlo Tree Search (MCTS)?
Care este rolul etapei de "propagare înapoi" (backpropagation) într-un algoritm Monte Carlo Tree Search (MCTS)?
Care este rolul etapei de "propagare înapoi" (backpropagation) într-un algoritm Monte Carlo Tree Search (MCTS)?
Cum este utilizată formula UCT (Upper Confidence Bound applied to Trees) în faza de selecție a algoritmului MCTS?
Cum este utilizată formula UCT (Upper Confidence Bound applied to Trees) în faza de selecție a algoritmului MCTS?
Ce reprezintă termenii $V_{med}$ și $W_{med}$ în formula de backpropagation folosită uneori în MCTS?
Ce reprezintă termenii $V_{med}$ și $W_{med}$ în formula de backpropagation folosită uneori în MCTS?
În ce fel MCTS echilibrează explorarea și exploatarea în construcția arborelui de căutare?
În ce fel MCTS echilibrează explorarea și exploatarea în construcția arborelui de căutare?
Care sunt principalele limitări ale algoritmilor MCTS?
Care sunt principalele limitări ale algoritmilor MCTS?
Ce rol au euristici precum "light playouts" și "heavy playouts" în cadrul algoritmilor MCTS?
Ce rol au euristici precum "light playouts" și "heavy playouts" în cadrul algoritmilor MCTS?
Flashcards
Problema satisfacerii restrictiilor (CSP)
Problema satisfacerii restrictiilor (CSP)
O problemă unde trebuie să atribui valori variabilelor, satisfăcând restricțiile.
Atribuire completă
Atribuire completă
Toate variabilele au atribuită o valoare.
Soluție validă
Soluție validă
O atribuire completă care satisface toate restricțiile.
CSP totală
CSP totală
Signup and view all the flashcards
CSP parțială
CSP parțială
Signup and view all the flashcards
CSP binară
CSP binară
Signup and view all the flashcards
Backtracking
Backtracking
Signup and view all the flashcards
Backtracking Scop
Backtracking Scop
Signup and view all the flashcards
Propagarea locală a restricțiilor
Propagarea locală a restricțiilor
Signup and view all the flashcards
Arc-consistent
Arc-consistent
Signup and view all the flashcards
Algoritmul AC-3
Algoritmul AC-3
Signup and view all the flashcards
Îmbunătățiri BKT : MAC
Îmbunătățiri BKT : MAC
Signup and view all the flashcards
Minimum remaining value – MRV
Minimum remaining value – MRV
Signup and view all the flashcards
PCSP
PCSP
Signup and view all the flashcards
Minimax
Minimax
Signup and view all the flashcards
Alfa beta pruning
Alfa beta pruning
Signup and view all the flashcards
Paranoic
Paranoic
Signup and view all the flashcards
MCTS (Monte carlo tree search)
MCTS (Monte carlo tree search)
Signup and view all the flashcards
Playout
Playout
Signup and view all the flashcards
Selecție | construcție (expandare) | simulare | propagare (backpropagation)
Selecție | construcție (expandare) | simulare | propagare (backpropagation)
Signup and view all the flashcards
Study Notes
Satisfacerea Restricțiilor (Constraint Satisfaction Problem - CSP)
- CSP reprezintă Problema Satisfacerii Restricțiilor
- Problemele CSP includ colorarea hărților, sudoku, orarul și puzzle-ul lui Einstein (Zebra puzzle)
- Puzzle-urile matematice pot, de asemenea, fi reprezentate ca probleme CSP
Terminologie CSP
- V reprezintă un set de variabile: {X1... XN}
- Domeniile reprezintă seturi de valori posibile pentru variabile: {D1... DN}
- Restricțiile sunt relații ce limitează valorile pe care le pot lua variabilele: {R1... Rk}
- Rj = ⟨tj , rj ⟩ unde tj ⊆ V și rj : ×Xi∈tj Di → {True, False} reprezintă restricțiile
- Atribuirea la valori înseamnă a da o valoare din domeniu sau o valoare "neatribuită" (⊥) fiecărei variabile: {(X1,x1) ... (XN,xN)}
- O atribuire este o soluție dacă toate variabilele au o valoare atribuită(atribuire completă), iar toate restricțiile sunt respectate (soluție validă)
- O soluție CSP totală este completă și nu încalcă nicio restricție
- O soluție CSP parțială este completă, dar încalcă unele restricții
- Rj = ⟨tj , rj , cj ⟩ unde cj reprezintă costul restricției
- Costul soluției se calculează ca suma costurilor restricțiilor încălcate: ∑ cj, unde Rj ∈R, rj(vals(tj))=False
- Un CSP este binar dacă toate restricțiile implică doar două variabile: ∀Rj ∈ R, tj ∈ V×V
Backtracking
- CSP este o problemă NP, similară cu problema SAT
- Problemele CSP pot fi rezolvate folosind backtracking
- Pentru a face backtracking-ul mai eficient, se poate încerca reducerea spațiului de căutare și a factorului de ramificare
- Îmbunătățirea consistenței căutării și reducerea spațiului de căutare ajută la optimizare
Propagarea Locală a Restricțiilor
- Prin aplicarea inițială a restricțiilor unare, domeniile variabilelor sunt restrânse
- Modificările domeniului unei variabile se propagă către variabilele vecine, reducând domeniile acestora
- Dacă o variabilă i poate lua doar valorile D′, domeniile variabilelor vecine cu i sunt ajustate pentru a conține doar valori compatibile cu D'
- Verificarea consistenței se reia pentru variabilele vecine cu variabilele al căror domeniu a fost modificat
Algoritmul AC-3 (Arc Consistency 3)
- Funcționează corect, dacă toate restricțiile sunt unare sau binare
- Se formează un graf de restricții: nodurile reprezintă variabilele, arcele reprezintă restricțiile binare
- Un arc (Xi, Xj) este arc-consistent dacă pentru fiecare valoare xi ∈ Di, există o valoare xj ∈ Dj astfel încât rij(xi, xj) = True
- Dacă toate arcele sunt arc-consistente, graful este arc-consistent, și nu se mai poate reduce spațiul de căutare
- Complexitatea temporală pentru AC-3 este O(e * d^3)
- "e" este numărul de restricții (muchii)
- "d" este cardinalitatea maximă a domeniilor
- Complexitatea spațială pentru AC-3 este O(e)
- AC-4 are complexitate O(e* d^2)
- Dacă AC-3 întoarce EȘEC, înseamnă că problema nu are soluție
- Dacă după AC-3 toate domeniile au cardinalitatea 1, nu mai este necesar backtracking
- Dacă lățimea grafului de restricții este mai mare de 1, nu este garantat că problema are soluție, și trebuie făcut backtracking
Îmbunătățiri BKT : MAC (Maintaining Arc Consistency)
- Se combină backtracking cu arc consistența, menținând arc-consistența pe măsură ce se avansează în recursivitate
- Arc-consistența se verifică după atribuirea unei valori în soluția parțială
Îmbunătățiri BKT: Ordonarea Variabilelor
- Variabilele pot fi ordonate folosind mai multe strategii.
- Aleator: Alegerea aleatorie a variabilelor
- Alegerea variabilei cele mai restricționate(Minimum Remaining Value - MRV): cu domeniul cel mai redus; utilă pentru o soluție rapidă sau identificarea rapidă a eșecului
- Alegerea variabilei cele mai puțin restricționate, utilă când se doresc toate soluțiile
- "Degree heuristic": Se alege variabila implicată în cele mai multe restricții cu variabile încă ne-atribuite
Îmbunătățiri BKT: Ordonarea Valorilor
- Se pot parcurge valorile dintr-un domeniu într-o anumită ordine
- Inițial, se selectează valoarea care elimină cele mai puține valori din variabilele vecine menținând consistența arcului, util pentru a găsi o singură soluție rapid
- Sau, se selectează valoarea care elimină cele mai multe valori din variabilele vecine menținând consistența arcului, util pentru a găsi toate soluțiile
CSP Parțial (Flexible CSP)
- Atunci când nu toate restricțiile sunt la fel de importante
- Fiecărei restricții i se asociază un cost (cj > 0)
- Se stabilește o limită suficientă S, iar o soluție este considerată validă dacă suma costurilor restricțiilor încălcate este mai mică sau egală cu S: ∑ cj ≤ S, unde j cu rj (Sol)=False
- Optimizare: dacă în parcurgere, costul total al restricțiilor încălcate depășește S, sau depășește costul celei mai bune soluții găsite, atunci nu are sens să continuăm pe acea cale
Algoritmul PCSP
-
Găsește prima soluție acceptabilă
-
Intrări: Vars (variabile rămase de atribuit), Sol(soluția parțială), cost (costul soluției parțiale), S (limita suficientă)
-
Ieșire: O atribuire completă cu cost < S sau EȘEC
-
Dacă Vars = ∅, atunci întoarce Sol
-
Altfel, se alege o variabilă xi din Vars
-
Pentru fiecare valoare x din domeniul Di, se construiește o soluție nouă Sol' = Sol ∪ {xi, x} și se recalculează costul: c = cost + ∑ cj, unde xj în tj, rj(Sol')=False
-
Dacă noul cost c ≤ S, se apelează recursiv PCSP(Vars \ {xi}, Sol', c)
-
Dacă apelul recursiv întoarce un rezultat diferit de EȘEC, atunci s-a găsit o soluție acceptabilă, care este întoarsă Altfel, se întoarce EȘEC, indicând că nu există soluții acceptabile cu atribuirea curentă PCSP –
-
Găsește cea mai bună soluție acceptabilă
-
Vars (variabile rămase de atribuit), Sol(soluția parțială), cost (costul soluției parțiale), S (limita suficientă
-
Toate soluțiile complete acceptabile găsite până acum
-
Costul minim al unei soluții din „sols”
-
0 mulțime de atribuiri complete de cost < S sau ESEC
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.