Penyelesaian masalah teknik pencarian
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

Penyelesaian Masalah Teknik Pencarian PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on
  • Presentation posted in: General

Pertemuan 4 Kecerdasan Buatan. Penyelesaian Masalah Teknik Pencarian. Pendahuluan. Hubungan searching dengan AI ?

Download Presentation

Penyelesaian Masalah Teknik Pencarian

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Penyelesaian masalah teknik pencarian

Pertemuan 4KecerdasanBuatan

Penyelesaian Masalah

Teknik Pencarian


Pendahuluan

Pendahuluan

  • Hubungan searching dengan AI ?

    • Sistem AI, khususnya problem-solving agent (salahsatujenis goal-based agent), diharapkandapatmemecahkansuatumasalahsecara autonomous. Salahsatucarauntukmelakukannya, adalahdng. mencarilangkah-langkah yang dapatmengantarkannyakesolusi→menggunakanalgoritma search.

  • Pencariansolusihanyabisadilakukansetelah agent mengetahuiapa yang dihadapinya, apa yang dicarinya→perluproblem definition.

  • Secarakasar, simple problem-solving agent :

    Percept →Problem definition →Search for solution →Action.


Problem definition

Problem Definition

  • Adaberbagaimacammasalah (problem types).

    • Problem types :

      • Single-state problems.

        • Satuaksimengantarkan agent kesatu state lain.

        • Dapatmenggunakan uninformed & informed search.

      • Multiple-state problems.

        • Satuaksimengantarkan agent kebeberapakemungkinan state.

        • Dapatmenggunakan uninformed & informed search.

      • Contingency problems.

        • Hasildarisuatuaksisangatsukaruntukdiprediksi, agent mengetahuiefekapayg. mungkinditimbulkanolehaksiyg.dilakukannya.

        • Selamaaksidilakukan, sensing jugadiperlukan.

        • Umumnyamenggunakan planning. Utk. kasuskhusus spt. pada game dng. 2 pemaindapatmenggunakanmetode-metode game playing.


Problem definition1

Problem Definition

  • Exploration problems.

    • Agent samasekalitidakmempunyaiinformasimengenaiefekdariaksiyg. dilakukannya.

    • Agent perlubereksperiman & belajar.

    • Dapatmenggunakanmetode learning yg. ada.

  • Problem definition & pencariansolusiyg. digunakantergantung problem type-nya.

  • Saatiniyg. dibahashanya single-state & multiple state problems.

  • Dlm. mendefinisikan problem perlumenentukan :

    • State & aksiyg. dipilih (problem formulation)

      → perluabstraksi,

      → sangattergantungpadatujuanyg. akandicapai (goal formulation).


  • Problem definition2

    Problem Definition

    • Problem definition (single-state problems) dapatdinyatakandalam:

      • Initial state :

        • Keadaan/state awal.

      • Operator :

        • Aksi yang mungkindilakukan agent. Aksitersebut-lahyg. mampumemindahkan agent darisatu state ke state lain yang masihberadadalam state space-nya (himpunanseluruh state yang dapatdicapaidari initial state melaluiserangkaianaksi, merupakangabunganantara initial state dng. state-state yg. dihasilkanoleh operator yg. ada).

      • Goal test :

        • Menentukanapakah goal space telahtercapaiataubelum.

        • Solusi : path yg. menghubungkanintial state dng. goal state.


    Problem definition3

    Problem Definition

    • Path cost function (g):

      • Menentukan path mana (dlm. halinidapatdianggapjugarangkaianaksi) manayg. lebih preferable.

  • Problem definition utk. multiple-state problems hampirsamadng. problem definition utk. single-state problems, hanyasaja state yg. adaberubahmenjadi set of state. Beberapaperubahan:

    • Initial state menjadi : Initial state set.

    • State space menjadi : State set space.

    • Path menghubungkan set of states satuke set of states lain.

    • Solusi : path yg. menghubungkan initial state set ke set of goal states.


  • Searching

    Searching

    • Secaragarisbesar, searching dibedakanmenjadi :

      • Uninformed search (blind search).

        • Tidakadainformasimengenaijarak/cost dari current state ke goal state.

      • Informed search.

        • Adainformasimengenaijarak/cost dari current state ke goal state.

    • Hal yg. perludiperhatikandlm. searching :

      • Completeness: jk. solusiada, apakahpastiakanditemukan ?

      • Optimallity: jk. ada > 1 solusi, apakahselalusolusiterbaikyg. diperoleh ?

      • Time Complexity: waktuyg. dibutuhkanutk. mendpt. solusi.

      • Space complexity: memory yg. dibutuhkanutk. melakukan searching.


    Searching1

    Searching

    • Dua teknik pencarian & pelacakan:

      • Pencarian buta (blind search)

        • Pencarian melebar pertama (breadth-first search)

        • Pencarian mendalam pertama (depth-first search)

      • Pencarian terbimbing (heuristic search)

        • Pendakian bukit (hill climbing)

        • Pencarian terbaik pertama (best first search)


    Depth first search dfs

    Depth-First Search (DFS)

    • Pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori.

    • Struktur data: stack


    Kelebihan dfs adalah

    Kelebihan DFS adalah:

    • Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.

    • Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.


    Kelemahan dfs adalah

    Kelemahan DFS adalah:

    • Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).

    • Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).


    Penelusuran depth first search untuk water jug problem

    Penelusuran Depth First Search untuk Water Jug Problem.


    Breadth first search bfs

    Breadth-First Search (BFS)

    • Pencarian dilakukan pada semua node dalam setiap level secara berurutan dari kiri ke kanan.

    • Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikian seterusnya sampai ditemukan solusi.

    • Dengan strategi ini, maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling baik (Optimal).


    Breadth first search bfs1

    Breadth-First Search (BFS)

    • BFS harus menyimpan semua node yang pernah dibangkitkan. Hal ini harus dilakukan untuk penelusuran balik jika solusi sudah ditemukan.

    • Struktur data: queue

    • Gambar berikut mengilustrasikan pembangkitan pohon BFS untuk masalah Water Jug.


    Breadth first search bfs2

    Breadth-First Search (BFS)


    Pencarian heuristic

    Pencarian Heuristic

    • Pencarian buta tidak selalu dapat diterapkan dengan baik

    • Metode heuristic search diharapkan bisa menyelesaikan masalah yang lebih besar.

    • Metode heuristic searcg menggunakan suatu fungsi yang menghitung biaya perkiraan dari suatu simpul tertentu menuju ke simpul tujuan.


    Pencarian heuristic1

    Pencarian Heuristic

    • Ada 4 metode pencarian heuristic:

      • Pembangkit dan pengujian (generate & test)

      • Pendakian bukit (hill climbing)

      • Pencarian terbaik pertama (best first search)

      • Simualated annealing


    Generate and test

    Generate-and-Test

    • Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian heuristic.

    • Jika pembangkitan possible solution dikerjakan secara sistematis, maka prosedur akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat luas, mungkin memerlukan waktu yang sangat lama.

    • Algoritma Generate-and-Test adalah prosedur DFS karena solusi harus dibangkitkan secara lengkap sebelum dilakukan test.


    Algoritma generate and test

    Algoritma Generate-and-Test

    • Bangkitkan suatu kemungkinan solusi

    • Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.

    • Jika sokusi ditemukan, keluar. Jika tidak, ulangi langkah pertama.


    Kelemahan generate and test

    Kelemahan Generate-and-Test

    • Perlu membangkitkan semua kemungkinan sebelum melakukan pengujian.

    • Membutuhkan waktu yang lama dalam pencariannya.


    Hill climbing

    Hill Climbing

    • Hill Climbing berbeda Generate-and-Test, yaitu pada feedback dari prosedur test untuk membantu pembangkit menentukan yang langsung dipindahkan dalam ruang pencarian.

    • Dalam prosedur Generate & test , respon fungsi pengujian hanya ya atau tidak.

    • Hill climbing, pengujian ditambahkan dengan aturan fungsi-fungsi yang menyediakan estimasi dari bagaimana mendekati state yang diberikan ke state tujuan atau prosedur pembangkit


    Hill climbing1

    Hill Climbing

    • Simple HC

    • Steepest-Ascent HC


    Algoritma simple hill climbing

    Algoritma Simple Hill Climbing

    • Mulaidarikeadaanawal, lakukanpengetesan, jikamerupakantujuanmakaberhentidanjikatidak, lanjutkandengankeadaansekarangsebagaikeadaanawal.

    • Kerjakanlangkah-langkahberikutsampaisolusinyaditemukanatausampaitidakada operator baru yang akandiaplikasikansebagaikeadaanawal.

    • Cari operator yang belumdigunakansebagaikeadaanawal.

    • Evaluasikeadaanawaltersebut.

    • Jikakeadaanmerupakantujuanmakakeluar.

    • Jikabukanmerupakankeadaan, namunnilainyalebihbaikdaripadakeadaansekarang, makanjadikankeadaanbarutersebutmenjadikeadaansekarang.

    • Jikakeadaanbarutidaklebihbaikdaripadakeadaansekarangmakalanjutkaniterasi.


    Pencarian jalur menggunakan simple hill climbing

    Pencarian jalur menggunakan Simple Hill Climbing


    Algoritma steepest ascent hc

    Algoritma Steepest-Ascent HC:

    • Mulai dari keadaan awal, lakukan pengetesan, jika merupakan tujuan maka berhenti dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.

    • Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan sebagai keadaan awal.

    • Tentukan SUCC sebagai nilai heuristic terbaik dari successor or successor

    • Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang.

    • Gunakan operator tersebut dan bentuk keadaan baru.

    • Evaluasi keadaan baru tersebut.

    • Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.


    Steepest ascent hc

    • Steepest Ascent HC sebenarnya sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri

    • Pada gambar di atas, terjadi ambiguitas dimana fungsi heuristik node E dan node F adalah sama. Misalkan dipilih F dan ternyata menemukan solusi di level 8. Padahal terdapat solusi lain yang lebih optimal di level 2.

    • Hal ini dikatakan bahwa Steepest-Ascent Hill Climbing terjebak pada solusi lokal (local minima).

    Steepest-Ascent HC


    Best first search

    Best First Search

    • Metode ini merupakan kombinasi dari metode depth-first search dan metode breadth-first search dengan mengambil kelebihan dari kedua metode tersebut.

      • Penentuan node berikutnya adalah yang terbaik yang pernah dibangkitkan.

      • Menggunakan informasi

        • Biaya perkiraan

        • Biaya sebenarnya.

      • Terdapat dua jenis:

        • Greedy Best First Search = biaya perkiraan f(n)=h(n)

        • A*=f(n)=g(n)+h(n)


    Best first search1

    Best First Search

    • Keuntungan:

      • Memperoleh kembali node pada level lebih rendah meskipun node pada level terendah tersebut memiliki nilai heuristic lebih rendah.

    • Untuk mengimplementasikan metode ini menggunakan graph keadaan, dibutuhkan 2 antrian yang berisi node-node, yaitu:

      • OPEN, merupakan node yang telah dibangkitkan namun belum diuji.

      • CLOSED, merupakn node yang telah dibangkitakn dan telah diuji.


    Algoritma best first search

    Algoritma Best First Search

    • Tempatkan node awal A padaantrian OPEN

    • Kerjakanlangkah-langkahberikuthinggatujuanatauantrian OPEN sudahkosong:

      • Ambil node terbaikdari OPEN

      • Bangkitkansemuasuccessornya

      • Untuktiap-tiap successor kerjakan:

        • Jika node tersebutbelumpernahdibangkitansebelumnya, evaluasi node tersebutdanmasukkankedalam OPEN

        • Jika node tersebutsudahpernahdibangkitkansebelumnya, ubah parent jikalintasanbarulebihmenjanjikan. Hapus node tersebutdariantrian OPEN.


    Penyelesaian masalah teknik pencarian

    • Thank’s u


  • Login