Ce este o CSP?

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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)?

  • 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ă?

  • 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ă?

<p>Toate restricțiile implică exact două variabile. (C)</p> Signup and view all the answers

Care este scopul principal al utilizării tehnicilor de propagare a constrângerilor într-o problemă CSP?

<p>Reducerea spațiului de căutare prin eliminarea valorilor inconsistente din domenii. (A)</p> Signup and view all the answers

Ce reprezintă consistența arcului (arc consistency) într-o rețea de constrângeri?

<p>O proprietate a unei perechi ordonate de variabile (arc) în care, pentru fiecare valoare a primei variabile, există o valoare corespunzătoare a celei de-a doua variabile care satisface constrângerea dintre ele. (A)</p> Signup and view all the answers

Cum funcționează algoritmul AC-3 pentru a restabili consistența arcului într-o problemă CSP?

<p>Prin menținerea unei cozi de arce de verificat și eliminarea valorilor inconsistente până când coada este goală sau se detectează o inconsistență. (A)</p> Signup and view all the answers

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)?

<p>$O(e * d^3)$ (B)</p> Signup and view all the answers

În ce condiții algoritmul AC-3 poate detecta că o problemă CSP nu are soluție?

<p>Când toate domeniile variabilelor devin vide în timpul procesului de propagare a constrângerilor. (B)</p> Signup and view all the answers

Ce reprezintă menținerea consistenței arcului (MAC) în timpul căutării backtracking pentru o problemă CSP?

<p>Aplicarea algoritmului AC-3 după fiecare atribuire de valoare pentru a reduce domeniile variabilelor neatribuite și a detecta inconsistențele mai devreme. (C)</p> Signup and view all the answers

Care este scopul euristicilor de ordonare a variabilelor și valorilor în algoritmii de căutare pentru CSP-uri?

<p>Să reducă numărul de pași necesari pentru a găsi o soluție (sau pentru a determina că nu există soluție) prin alegerea inteligentă a variabilelor și valorilor de explorat. (A)</p> Signup and view all the answers

Ce face euristica "Minimum Remaining Values" (MRV) în contextul rezolvării problemelor CSP?

<p>Alege variabila cu cele mai puține valori rămase în domeniu. (C)</p> Signup and view all the answers

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?

<p>Aceasta crește probabilitatea de a găsi o soluție rapid, deoarece permite atribuirea valorilor care sunt mai ușor de compatibilizat cu restul variabilelor. (D)</p> Signup and view all the answers

Ce diferențiază o problemă CSP parțială (sau flexibilă) de o problemă CSP clasică?

<p>În CSP-urile parțiale, nu toate constrângerile trebuie să fie satisfăcute, și li se poate asocia un cost pentru încălcarea lor. (B)</p> Signup and view all the answers

Cum se modifică algoritmul de backtracking pentru a rezolva o problemă CSP parțială (PCSP)?

<p>Prin ajustarea euristicilor de căutare pentru a minimiza costul total al restricțiilor încălcate, folosind o limită superioară pentru costul acceptabil. (B)</p> Signup and view all the answers

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?

<p>Folosește o funcție de evaluare statică pentru a estima utilitatea stărilor terminale și a aproxima valorile pentru stările non-terminale. (C)</p> Signup and view all the answers

Care este scopul principal al algoritmului Alpha-Beta pruning în contextul jocurilor cu doi adversari?

<p>Reducerea numărului de noduri evaluate în arborele de joc prin eliminarea ramurilor care nu pot influența decizia finală. (C)</p> Signup and view all the answers

Care este semnificația valorilor alpha (α) și beta (β) în algoritmul de tăiere Alpha-Beta?

<p>α reprezintă scorul minim pe care MAX îl poate garanta, iar β reprezintă scorul maxim pe care MIN îl poate forța. (B)</p> Signup and view all the answers

În ce situație specifică algoritmul Alpha-Beta pruning realizează o tăiere Beta (β-tăiere)?

<p>Atunci când valoarea unui nod MAX depășește valoarea beta a unui strămoș MIN. (C)</p> Signup and view all the answers

Ce proprietate a succesorilor poate fi exploatată pentru a maximiza eficiența algoritmului Alpha-Beta?

<p>Ordonarea succesorilor astfel încât cei mai promițători să fie explorați primii. (B)</p> Signup and view all the answers

În contextul jocurilor competitive cu mai mulți jucători, ce abordare utilizează algoritmul MAX^n?

<p>Generalizarea algoritmului Minimax pentru a gestiona n-tupleuri care reprezintă scorurile obținute de fiecare jucător. (D)</p> Signup and view all the answers

Care este o limitare specifică a algoritmului Alpha-Beta pruning în cazul jocurilor cu mai mulți jucători?

<p>Imposibilitatea de a determina cine este adversarul direct, ceea ce face dificilă aplicarea euristicilor eficiente de tăiere. (D)</p> Signup and view all the answers

Cum abordează algoritmul paranoic problema jocurilor cu mai mulți jucători?

<p>Prin tratarea tuturor celorlalți jucători ca un singur adversar colectiv. (B)</p> Signup and view all the answers

Care este principalul avantaj al algoritmilor Monte Carlo Tree Search (MCTS) în jocurile competitive?

<p>Capacitatea de a gestiona incertitudinea și complexitatea jocurilor cu informație imperfectă prin simulări aleatorii și evaluări statistice. (A)</p> Signup and view all the answers

Ce reprezintă etapa de "selecție" într-un algoritm Monte Carlo Tree Search (MCTS)?

<p>Explorarea euristică a arborelui de joc pentru a găsi nodul cel mai promițător de expandat. (C)</p> Signup and view all the answers

Care este rolul etapei de "expandare" într-un algoritm Monte Carlo Tree Search (MCTS)?

<p>Adăugarea unui nou nod copil la un nod frunză existent în arborele de căutare, reprezentând o potențială acțiune viitoare. (A)</p> Signup and view all the answers

Ce reprezintă etapa de "simulare" (playout) într-un algoritm Monte Carlo Tree Search (MCTS)?

<p>Simularea unui joc aleatoriu de la un nod selectat până la o stare terminală pentru a obține o estimare a valorii acelui nod. (C)</p> Signup and view all the answers

Care este rolul etapei de "propagare înapoi" (backpropagation) într-un algoritm Monte Carlo Tree Search (MCTS)?

<p>Actualizarea valorilor și statisticilor nodurilor vizitate în timpul simulării, pe baza rezultatului simulării. (C)</p> Signup and view all the answers

Cum este utilizată formula UCT (Upper Confidence Bound applied to Trees) în faza de selecție a algoritmului MCTS?

<p>Pentru a selecta nodul care maximizează un echilibru între exploatarea nodurilor cu valoare ridicată și explorarea nodurilor mai puțin vizitate. (D)</p> Signup and view all the answers

Ce reprezintă termenii $V_{med}$ și $W_{med}$ în formula de backpropagation folosită uneori în MCTS?

<p>$V_{med}$ este valoarea medie a nodurilor copil, iar $W_{med}$ este importanța acordată acestei medii. (A)</p> Signup and view all the answers

În ce fel MCTS echilibrează explorarea și exploatarea în construcția arborelui de căutare?

<p>Prin utilizarea unei funcții de selecție care favorizează nodurile cu cele mai mari recompense estimate, penalizând în același timp nodurile care au fost vizitate prea des. (D)</p> Signup and view all the answers

Care sunt principalele limitări ale algoritmilor MCTS?

<p>Convergența lentă către o soluție optimă și dificultatea de a detecta ramuri care necesită o secvență specifică de acțiuni pentru a obține un rezultat favorabil. (B)</p> Signup and view all the answers

Ce rol au euristici precum "light playouts" și "heavy playouts" în cadrul algoritmilor MCTS?

<p>Sunt strategii de simulare a jocurilor care variază în complexitate, de la alegeri complet aleatorii (light) la utilizarea unor politici mai sofisticate (heavy) pentru selectarea mișcărilor. (D)</p> Signup and view all the answers

Flashcards

Problema satisfacerii restrictiilor (CSP)

O problemă unde trebuie să atribui valori variabilelor, satisfăcând restricțiile.

Atribuire completă

Toate variabilele au atribuită o valoare.

Soluție validă

O atribuire completă care satisface toate restricțiile.

CSP totală

Soluția este completă și nu încalcă nicio restricție.

Signup and view all the flashcards

CSP parțială

Soluția este completă, dar încalcă unele restricții.

Signup and view all the flashcards

CSP binară

Toate restricțiile sunt binare (implică două variabile).

Signup and view all the flashcards

Backtracking

Algoritm de căutare care încearcă soluții, revine la puncte anterioare dacă nu găsește.

Signup and view all the flashcards

Backtracking Scop

Scopul este de a reduce spațiul de căutare și factorul de ramificare.

Signup and view all the flashcards

Propagarea locală a restricțiilor

Proces de reducere a domeniului variabilelor prin aplicarea restricțiilor.

Signup and view all the flashcards

Arc-consistent

Proprietate a arcelor într-un graf de restricții.

Signup and view all the flashcards

Algoritmul AC-3

Tehnică de reducere a domeniilor variabilelor, asigurând consistența arcelor.

Signup and view all the flashcards

Îmbunătățiri BKT : MAC

Combină backtracking cu consistența arcelor, menținând consistența pe măsură ce avansăm.

Signup and view all the flashcards

Minimum remaining value – MRV

Alegerea variabilei cu domeniul cel mai redus (MRV).

Signup and view all the flashcards

PCSP

Găsește o soluție acceptabilă, nu neapărat cea optimă.

Signup and view all the flashcards

Minimax

Pe bazele teoretice puse de von Neumann în 1928 și descris în 1944.

Signup and view all the flashcards

Alfa beta pruning

Înlătură ramuri pentru că nu au cum să ofere o soluție mai bună

Signup and view all the flashcards

Paranoic

Reduce jocul la 2 jucători – MAX și toți ceilalţi jucători ca un adversar colectiv

Signup and view all the flashcards

MCTS (Monte carlo tree search)

Algoritm probabilistic care utilizează o serie de simulări aleatoare pentru a expanda selectiv arborele de joc.

Signup and view all the flashcards

Playout

Un joc jucat cu mutări aleatoare dintr-o anumită stare până la starea finală, obținându-se un scor.

Signup and view all the flashcards

Selecție | construcție (expandare) | simulare | propagare (backpropagation)

Etape ale algoritmului MCTS

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.

Quiz Team

Related Documents

Use Quizgecko on...
Browser
Browser