Sunteți pe pagina 1din 22

CURS 2.

Căutarea în lățime

Factorul de ramificare (branching factor) al arborelui de căutare: b

Adâncimea (depth) a celui mai superficial nod scop din arborele de căutare: d

Căutarea în lățime este:


Completă
Optimă dacă un pas are costul 1
Cazul cel mai defavorabil
N = 1 + b + b2 + … + bd = O(bd)
N este numărul de noduri generate
Complexitatea de timp și de spațiu este O(bd)
Cazul cel mai favorabil
N = 1 + b + b2 + … + bd–1 + 1 = O(bd–1)

Căutarea informată (euristică)

1
Căutarea de cost uniform (neinformată)
f(n) = g(n)
Căutarea greedy
f(n) = h(n)
Căutarea A*
f(n) = g(n) + h(n)

A* este complet și optim dacă nodurile care revizitează stările nu sunt eliminate

A* este optim eficient (optimally efficient) dacă euristica este monotonă
Niciun alt algoritm de același tip nu garantează expandarea unui număr mai mic de noduri

Alți algoritmi pot fi mai rapizi chiar dacă expandează mai multe noduri

CURS 3.
Algoritmul Minimax

2
Retezarea alfa-beta

Cazul cel mai favorabil


Numărul de evaluări statice:
nes = 2 · bd/2 – 1, dacă d este par

nes = b(d+1)/2 + b(d–1)/2 – 1, dacă d este impar

3
Performanțele retezării alfa-beta
Alfa-beta garantează calcularea aceleiași valori pentru rădăcină ca și minimax, cu o
complexitate mai mică sau egală
Cazul cel mai defavorabil: nu se face nicio retezare, se examinează O(bd) noduri
Cazul mediu:
Cazul cel mai favorabil: O(bd/2)
Poate căuta pe o adâncime de două ori mai mare decât minimax
Când cea mai bună mutare este și prima alternativă generată

Căutarea pe arbori Monte Carlo


Căutarea pe arbori Monte Carlo (Monte Carlo Tree Search, MCTS) este o metodă stohastică
de căutare a soluțiilor în jocuri cu factori mari de ramificare

A fost folosită cu succes de Google DeepMind pentru AlphaGo

MCTS vs. minimax


MCTS nu are nevoie de euristici

Căutarea MCTS este asimetrică: explorarea arborelui converge către mutările mai bune

MCTS este un algoritm anytime: la orice moment de timp, poate produce o estimare a mutării
optime

Algoritmul backtracking

4
5
Concluzii
Minimax este un algoritm recursiv care determină mutarea optimă a unui jucător, dată fiind o
anumită adâncime de căutare în arborele jocului

Retezarea alfa-beta este o optimizare des utilizată pentru algoritmul minimax

Verificarea înainte este un algoritm pentru problemele de satisfacere a constrângerilor mai


eficient decât algoritmul backtracking, dar presupune un efort de calcul mai mare

Există euristici pentru ordonarea variabilelor și valorilor, care pot accelera căutarea

CURS 4.

Metode de optimizare (I)

2. Algoritmi evolutivi

Un algoritm evolutiv este o metodă de căutare prin analogie cu selecția naturală biologică

Un algoritm evolutiv are o populație de soluții potențiale care evoluează prin aplicarea
iterativă a unor operatori stohastici

Evoluția soluțiilor mai bune se realizează pe baza presiunii evolutive, adică favorizarea
soluțiilor mai adaptate

6
Operatori genetici
Selecția (selection)
Alege un individ cu o probabilitate definită de calitatea relativă a acestuia
Încrucișarea (crossover)
Combină aleatoriu fragmente din doi indivizi pentru a forma unii noi
Mutația (mutation)
Modifică aleatoriu un individ nou creat

7
Pe asta nu l-am inteles

8
9
10
11
CURS 5.

Evoluția diferențială este o euristică de optimizare asemănătoare cu un algoritm evolutiv clasic

12
13
Hill Climbing
Idee asemănătoare cu metoda gradientului ascendent

Metodă de îmbunătățire: HC cu puncte multiple de start (multiple-point hill climbing)

14
Se repetă procedura de HC de m ori cu puncte de start aleatorii diferite și se alege în final
soluția cea mai bună

Calirea simulata
Algoritm stohastic inspirat din călirea metalurgică: încălzirea și apoi răcirea controlată a unui
material crește dimensiunea cristalelor și reduce defectele

QUBO (Quadratic Unconstrained Binary Optimization)

CURS 6 – UITATE TU CA E NASOL TARE


CURS 7

15
Retele semantice

16
Tipuri de relatii

17
Teoria cadrelor (frame theory) propune o reprezentare în care sunt cuprinse atât informații
declarative, cât și procedurale, pentru reprezentarea situațiilor stereotipe

O ontologie reprezintă o mulțime finită de obiecte și concepte (sau clase), împreună cu relațiile
dintre ele, inclusiv ierarhiile de clase

CURS 8.
-STRIPS
STRIPS respecta presupunerea lumii inchise (closed world assumption) – termenii neprecizati
sunt falsi. ADL respecta presupunerea lumii deschise (open world assumption) – termenii
neprecizati sunt necunoscuti

18
19
20
21
22

S-ar putea să vă placă și