Professional Documents
Culture Documents
Dalam banyak masalah optimisasi, maka mendapatkan path bukanlah yang utama tetapi :
Mendapatkan konfigurasi susunan kota yang dikunjungi pada TSP Problem Mendapatkan konfigurasi yang memenuhi persyaratan yang diinginkan /ditentukan pada penjadwalan. Mendapatkan segmentasi paragraph pada suatu dokumen teks Melakukan segmentasi terhadap dokumen suara dengan jalan melakukan segmentasi terhadap transkripsi dokumen suara.
Dalam kasus-kasus seperti itu maka dapat digunakan algoritma iterative improvement
2
N-Queens problem
Meletakkan n queens pada papan n n board, dimana tidak terdapat 2 queen dalam satu baris, kolom atau diagonal
Solusi dapat dilakukan dengan menggerakkan queen dalam kolom untuk meminimalisasi konflik
state yang merupakan lokal maksimum Jika fungsi obyektif yang digunakan untuk mendapatkan successor State yang merupakan lokal minima Jika fungsi heuristik yang digunakan.
inputs: problem, a problem local variables : current, a node neighbor, a node current Make-Node(Initial-State[problem]) loop do Neighbor a highest-valued successor of current
if Value[neighbor] Value[current] then return State[current]
A
3
8
4
B
5
DCBA
19
ADCB BACD
ABDC
17
18
ADBC CABD
16
BCAD
15
ACDB
12
13
ACBD
DBCA
Jika Fungsi obyektif yang digunakan adalah jumlah posisi kotak yang benar (walaupun ada manhattan distance) Operator yang digunakan Pergerakan kotak kosong ke:
Tujuan :
1 2 3 8 4 7 6 5
f=4
1 2 3 7 8 4 6 5
Kondisi Awal
1 2 3 8 4 7 6 5 f=7 1 2 3 7 8 4 6 5
1 2 3 7 8 4 6 5
f=6
1 2 3 7 8 4 6 5
2 3 1 8 4 7 6 5 1 2 3 7 8 4 6 5
f=6
f=5 1 7 f=4 2 3 8 4
1 2 3 7 4 6 8 5 1 2 3 7 8 4 6 5
f=5
f=5
f=5
6 5
1 2 3 7 8 6 5 4 f=3
f=4
10
11
12
Simulated-Annealing
function Simulated-Annealing( problem, schedule) returns a solution state inputs: problem, a problem schedule, a mapping from time to temperature local variables: current, a node next, a node T, a temperature controlling prob. of downward steps current Make-Node(Initial-State[problem]) for t 1 to do
T schedule[t] if T = 0 then return current Next a randomly selected successor of current E Value[next] Value[current] if E > 0 then current next else current next only with probability e E/T
Loop pada simulated annealing memiliki kemiripan dengan Hill Climbing, tetapi dilakukan secara random, jika menunjukkan hasil yang baik maka akan dilaksanakan, jika tidak maka langkah yang dilakukan dengan probabilitas lebih kecil dari 1 dan lebih besar dari e E/T
13
Ide:
Menggunakan top k states (k states terbaik dari seluruh successor yang ada) Seringkali seluruh k states menuju local hill yang sama Untuk memperbaiki ini maka k successor yang dipilih dilakukan secara random
Problem:
Genetic Algorithm
Pembahasan terpisah .
14
state adalah black box direpresentasikan sebagai struktur data yang hanya dapat diakses dengan
problem-specific routines
CSP:
Variabel
Constraint
{X1, X2, } setiap variabel memiliki himpunan nilai yang mungkin dari Domain Di Setiap constraint akan menentukan nilai yang mungkin dapat dipilih dari Domain untuk suatu variabel Memberikan nilai pada variabel {Xi = vi, Xi = vj } Pemberian nilai pada suatu variabel tidak melanggar salah satu constraint Pemberian nilai pada seluruh variabel tanpa melanggar constraint yang ada
Problem :
Consistent assignment :
Solusi :
15
Variabel T WA, NT, Q, NS, V , SA, T Domains Di {merah, hijau, biru} Constraints: Setiap kotak yang bersinggungan harus memiliki nilai (warna) yang berbeda Contoh : WA NT (diartikan bahwa nilai WA tidak boleh sama dengan nilai NT) (WA,NT) {(merah, hijau), (merah, biru), (hijau, merah), (hijau, biru), . . .}
16
NT WA SA
NS
V T
Solusi :
Pemberian nilai yang tidak melanggar constraint {WA=merah,NT =biru,Q=merah,NS =biru, V =merah, SA=hijau, T =biru}
17
NT
NT WA SA
Q
WA SA NS
NS
V
V
T
Untuk mempercepat penyelesaian maka node T Sub adalah subproblem yang terpisah (Constraint tidak berlaku pada T)
18
Constraint
Unary constraints
Binary constraints
Higher-order constraints
Constraint :
Absolut constraint
Jika dilanggar maka hasil bukan merupakan solusi Menunjukkan pilihan solusi yang akan dipilih
19
TWO T W O+ FOUR
X3
X2
X1
Variables: F T U W R O
Domains: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Constraints alldi(F, T,U,W,R,O) Binary constraint (F T, FW,) O + O = R + 10 X1, X1 + W + W = U + 10 X2, X2 + T + T = O + 10 X3, X3 = F,
20
TWO T W O+ FOUR
928 9 2 8+ 1856
21
function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking({ }, csp) function Recursive-Backtracking(assignment, csp) returns soln/failure if assignment is complete then return assignment
var Select-Unassigned-Variable(Variables[csp], assignment, csp)
add {var = value} to assignment result Recursive-Backtracking(assignment, csp) if result failure then return result remove {var = value} from assignment return failure
22
Contoh BackTracking
NT WA SA NS V T Q
23
NT WA SA
Q NS V T
NT WA
Q WA NS
NT
Q WA NS
NT
Q NS
SA
SA
SA
V
T
V
T
V
T
24
NT WA SA
Q NS V T
NT WA
Q WA NS
NT
Q WA NS
NT
Q NS
SA
SA
SA
V
T
V
T
V
T
NT WA SA
Q WA
NT
NS
V
SA
NS
V
25
NT WA SA
Q NS V T
NT WA SA
Q NS V T WA
NT
Q NS V T WA
NT
Q NS V T
SA
SA
NT WA SA
Q NS V T WA
NT
Q NS V T
SA
NT WA SA
Q NS V T WA
NT
Q NS V T
SA
26
General-purpose methods dapat memberikan peningkatan dengan memberikan pertanyaan : 1. Variabel apa yang harus dicari nilainya?
2. Dengan urutan seperti apa nilai harus dicoba? 3. Dapatkah kita mendeteksi kegagalan secara dini? 4. Dapatkah kita mendapat keuntungan dari jika diketahui struktur problemnya ?
27
fail-first heuristic
Memilih variabel berikutnya yang memiliki paling kecil kemungkinan nilainya
Contoh : Setelah menentukan WA = Merah dan NT = Biru, maka variabel berikut yang memiliki kemungkinan paling minimal adalah variabel SA
NT
WA SA
Q WA NS V T
NT
Q WA NS V T
NT
Q WA NS V T
NT
Q NS V T
SA
SA
SA
28
Degree heuristic
NT WA SA
Q WA NS
NT
Q WA NS
NT
Q WA NS
NT
Q NS
SA
SA
SA
V
T
V
T
V
T
V
T
29
Pemilihan akan menyingkirkan kemungkinan yang menyisakan sedikit kemungkinan untuk pemberian nilai pada variabel berikutnya
Memungkinkan 1 nilai untuk SA
NT WA SA Q NS V T
NT
WA
Q NS V WA
NT SA
Q NS V WA
NT SA
Q NS V
SA
T WA
NT SA
Q NS V T
Forward Checking
Ide:
Melihat/memperhatikan kemungkinan nilai utnuk variabel yang belum diberikan nilai Proses search akan dihentikan jika ditemukan terdapat variabel yang tidak memiliki pilihan nilai
NT Q NS V T
WA SA
WA
NT
NS
SA
31
Forward Checking
NT WA SA
Q NS V T WA
NT SA
Q NS V T
WA
NT
NS
SA
32
Forward Checking
NT WA
Q
NS V T WA
NT
Q
NS V T WA
NT
Q
NS V T
SA
SA
SA
WA
NT
NS
SA
33
Forward Checking
NT WA SA
Q NS V T WA
NT SA
Q NS V T WA
NT SA
Q NS V T WA
NT SA
Q NS V T
WA
NT
NS
SA
34
Forward checking
Menyampaikan informasi dari variabel yang telah diberikan nilainya ke variabel yang belum diberi nilai Kurang dapat mengidentifikasi secara dini kegagalan
NT
Q NS V T WA SA
NT
Q NS V T WA
NT
SA
Q NS V T
WA SA
WA
NT
NS
SA
35
Arc consistency
X Y bersifat consistent i
WA SA
WA
NT
NS
SA
Arc SA ke NS konsisten karena untuk setiap x dari SA terdapat nilai yang berbeda pada NS
36
Arc consistency
NT WA SA
Q NS V T WA
NT SA
Q NS V T WA
NT SA
Q NS V T
WA
NT
NS
X
SA
Arc NS ke SA tidak konsisten karena untuk nilai hijau dari NS tidak terdapat nilai berbeda dari SA Agar arc NS ke SA konsisten maka hijau dihapus
37
Arc consistency
NT WA SA
NT WA SA
NT WA SA
NS
V T
NS
V T
NS
V T
WA
NT
NS X
SA
Arc SA ke NT tidak konsisten tetapi tidak ada nilai SA yang dapat dihapus untuk menjaga konsistensi sehingga dapat disimpulkan terjadi kesalahan
38
function AC-3( csp) returns the CSP, possibly with reduced domains
inputs: csp, a binary CSP with variables {X1, X2, . . . , Xn} local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (Xi, Xj )Remove-First(queue) if Remove-Inconsistent-Values(Xi, Xj ) then for each Xk in Neighbors[Xi] do add (Xk, Xi) to queue
39