Kecerdasan Buatan (Minggu 5

)

1

Iterative improvement algorithms

Dalam banyak masalah optimisasi, maka mendapatkan path bukanlah yang utama tetapi :

State tujuan adalah solusi yang diinginkan Contoh :

 

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

Contoh problem optimalisasi

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

3

State Space Landscape   Lokasi  State Space Elevasi :   Fungsi obyektif  Global maksimum Fungsi cost heuristic  Global minimum 4 .

Hill Climbing (Steepest Ascent)  Algoritma ini akan mengembalikan :   state yang merupakan lokal maksimum  Jika fungsi obyektif yang digunakan untuk mendapatkan successor State yang merupakan lokal minima  Jika fungsi heuristik yang digunakan. a problem local variables : current.  function Hill-Climbing( problem) returns a state that is a local Optimal inputs: problem. 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] current  neighbor end 5 .

Hill Climbing (Steepest Ascent)  Contoh penerapan SHC pada TSP : A 3 8 4 B 5 7 D 6 C 6 .

Hill Climbing (Steepest Ascent)  Maksimal Operator yang digunakan : 4! 6 4 C2  2!(4  2)!  Mempertukarkan posisi urutan kota:       (1.3) (3.4) (1.1) (2.2) (2.4) (4.3) 7 .

Hill Climbing (Steepest Ascent)  Contoh SA Hill Climbing pada TSP :  Ruang Keadaan TSP : CBAD ABCD ABCD 19 20 DCBA 19 ADCB BACD ABDC 17 18 ADBC CABD 16 BCAD 15 ACDB 12 13 ACBD DBCA 8 .

Hill Climbing (Steepest Ascent)  Penggunaan SA Hill Climbing pada 8 Puzzle   Jika Fungsi obyektif yang digunakan adalah jumlah posisi kotak yang benar (walaupun ada manhattan distance) Operator yang digunakan Pergerakan kotak kosong ke:     Kanan Kiri Atas bawah  Tujuan : 1 2 3 8 4 7 6 5 f=4 1 2 3 7 8 4 6 5 Kondisi Awal 9 .

Hill Climbing (Steepest Ascent) 1 2 3 8 4 8 7 6 5 f=8 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 .

Text Tiling Algorithm 11 .

Text Tiling Algorithm 12 .

a node T.Simulated-Annealing  function Simulated-Annealing( problem. schedule) returns a solution state inputs: problem. a “temperature” controlling prob. jika tidak maka langkah yang dilakukan dengan probabilitas lebih kecil dari 1 dan lebih besar dari e∆ E/T 13 . a mapping from time to “temperature” local variables: current. a node next. 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. a problem schedule. tetapi dilakukan secara random. jika menunjukkan hasil yang baik maka akan dilaksanakan.

Local Beam Search  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 .

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 . …} 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. X2.Constraint Satisfaction Problem  Standard search problem:   state adalah “black box” direpresentasikan sebagai struktur data yang hanya dapat diakses dengan problem-specific routines  successor function. goal test dan evaluation function  CSP:   Variabel  Constraint  {X1.

NT. SA.NT) ∈ {(merah. V . (hijau.} 16 . (hijau. merah). hijau. . hijau). .Constraint Satisfaction Problem NT WA SA NS V  Q   Variabel T  WA. NS. 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. (merah. Q. biru). T Domains Di  {merah. . biru).

Q=merah. V =merah.NS =biru. T =biru} 17 .NT =biru. SA=hijau.Constraint Satisfaction Problem NT WA SA Q NS V T  Solusi :   Pemberian nilai yang tidak melanggar constraint {WA=merah.

Constraint Satisfaction Problem  Representasi CSP dengan Constraint Graph NT Q NT WA SA Q WA SA NS NS V V T T  Dari graph dapat terlihat :  Untuk mempercepat penyelesaian maka node T Sub adalah subproblem yang terpisah (Constraint tidak berlaku pada T) 18 .

Constraint  Unary constraints   Melibatkan single variabel NT ≠ hijau  Binary constraints   Melibatkan pasangan variabel SA ≠ WA  Higher-order constraints   Melibatkan 3 atau lebih variabel Dapat digambarkan dengan hyper-constraint graph Cryptarithmetic   Constraint :   Absolut constraint  Preferences (soft constraints) constraint  Jika dilanggar maka hasil bukan merupakan solusi Menunjukkan pilihan solusi yang akan dipilih 19 .

R. T. F≠W. 20 . 5. X1 + W + W = U + 10 · X2.O)  Binary constraint (F ≠T. 6. X2 + T + T = O + 10 · X3. 7. 2. X2 . 3.Hyper-Constraint Graph pada Cryptarithmetic TWO T W O+ FOUR  F T U W R O X3 X2 X1 Variables: F T U W R O  Auxiliary variable : X1.U. 4.W.…) O + O = R + 10 · X1. 1. 9} Constraints alldiff(F. 8. X3  merepresentasikan (0 dan 1)   Domains: {0. X3 = F.

X1=1.T=9.O=8.TWO T W O+ FOUR  Solusi : (F=1.R=6. X2=0.U=5.W=2. X3=1) 928 9 2 8+ 1856 21 .

assignment. function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking({ }. csp) if result ≠ failure then return result remove {var = value} from assignment return failure 22 . csp) function Recursive-Backtracking(assignment. csp) do if value is consistent with assignment given Constraints[csp] then add {var = value} to assignment result  Recursive-Backtracking(assignment. assignment. csp) returns soln/failure if assignment is complete then return assignment var  Select-Unassigned-Variable(Variables[csp]. csp)  for each value in Order-Domain-Values(var.

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 Q NS V SA NS V T T 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 .

Dapatkah kita mendapat keuntungan dari jika diketahui struktur problemnya ? 27 . Dapatkah kita mendeteksi kegagalan secara dini? 4. Variabel apa yang harus dicari nilainya? 2. Dengan urutan seperti apa nilai harus dicoba? 3.Peningkatan efisiensi Backtracking  General-purpose methods dapat memberikan peningkatan dengan memberikan pertanyaan : 1.

Minimum remaining values  Minimum remaining values (MRV):   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  Digunakan untuk menentukan variabel awal yang diberikan nilainya  Memilih variabel yang memiliki constraint tertinggi 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 .

Least constraining value  Metoda yang digunakan untuk memilih pemberian nilai pada variabel :  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 T T WA NT SA Q NS V T Memungkinkan 0 nilai untuk SA 30 .

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 Q NS V SA T 31 .

Forward Checking NT WA SA Q NS V T WA NT SA Q NS V T WA NT Q NS V SA T 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 Q NS V SA T 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 Q NS V SA T 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 Q NS V SA T  NT dan SA tidak dapat hijau kedua-duanya 35 .

Arc consistency  X → Y bersifat consistent iff  Untuk setiap nilai x dari X terdapat beberapa y dari Y yang mungkin. NT Q NS V T WA SA NT Q NS V T WA SA NT Q NS V T WA SA WA NT Q NS V SA T  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 Q NS X V SA T   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 Q NT WA SA Q NT WA SA Q NS V T NS V T NS V T WA NT Q NS X V SA T  Arc SA ke NT tidak konsisten tetapi tidak ada nilai SA yang dapat dihapus untuk menjaga konsistensi  sehingga dapat disimpulkan terjadi kesalahan 38 .

removed←true return removed 39 . Xn} local variables: queue. a queue of arcs. Xi) to queue function Remove-Inconsistent-Values(Xi. function AC-3( csp) returns the CSP. a binary CSP with variables {X1. . Xj ) then for each Xk in Neighbors[Xi] do add (Xk. possibly with reduced domains inputs: csp. initially all the arcs in csp while queue is not empty do (Xi.y) to satisfy the constraint Xi ↔ Xj then delete x from Domain[Xi]. . X2. . Xj )←Remove-First(queue) if Remove-Inconsistent-Values(Xi. . Xj) returns true iff succeeds removed←false for each x in Domain[Xi] do if no value y in Domain[Xj] allows (x.

Sign up to vote on this title
UsefulNot useful