Rumah Keuangan Pribadi Algoritma: Biaya Komputasi dan Mengikuti Heuristik - dummies

Algoritma: Biaya Komputasi dan Mengikuti Heuristik - dummies

Daftar Isi:

Video: BEKONANG #1 - BELAJAR KOMPUTASIONAL 2024

Video: BEKONANG #1 - BELAJAR KOMPUTASIONAL 2024
Anonim

Seringkali, Anda menemukan pendekatan heuristik, yang berisi pada penemuan diri dan menghasilkan hasil yang cukup berguna (belum tentu optimal, tapi cukup bagus) adalah metode yang benar-benar Anda butuhkan untuk memecahkan masalah. Mendapatkan algoritma untuk melakukan beberapa pekerjaan yang dibutuhkan untuk Anda menghemat waktu dan tenaga karena Anda dapat membuat algoritme yang melihat pola lebih baik daripada manusia. Konsekuensinya, penemuan diri adalah proses yang memungkinkan algoritme untuk menunjukkan jalan yang berpotensi berguna ke solusi (namun Anda tetap harus mengandalkan intuisi dan pemahaman manusia untuk mengetahui apakah solusinya benar). Bagian berikut menjelaskan teknik yang dapat Anda gunakan untuk menghitung biaya algoritma yang menggunakan heuristik sebagai metode untuk menemukan kegunaan sebenarnya dari solusi yang diberikan.

Mewakili masalah sebagai ruang

A

ruang masalah adalah lingkungan di mana pencarian solusi terjadi. Satu set negara bagian dan operator yang digunakan untuk mengubah keadaan tersebut mewakili ruang masalah. Misalnya, perhatikan permainan ubin yang memiliki delapan ubin dalam bingkai 3-x-3. Setiap ubin menunjukkan satu bagian gambar, dan ubin mulai dalam urutan acak sehingga gambarnya acak-acakan. Tujuannya adalah untuk memindahkan satu genteng sekaligus untuk menempatkan semua ubin dengan urutan yang benar dan mengungkapkan gambarnya. .

Anda bisa mewakili teka-teki grafis dengan menggunakan grafik ruang masalah. Setiap simpul dari grafik ruang masalah menyajikan sebuah keadaan (delapan ubin pada posisi tertentu). Tepi mewakili operasi, seperti memindahkan ubin nomor delapan ke atas. Saat Anda memindahkan ubin ke atas, gambar berubah - bergerak ke keadaan lain.

Memenangkan permainan dengan berpindah dari negara awal ke negara tujuan bukanlah satu-satunya pertimbangan. Untuk menyelesaikan permainan secara efisien, Anda perlu melakukan tugas dengan jumlah sesedikit mungkin bergerak, yang berarti menggunakan jumlah operator terkecil. Jumlah minimum gerakan yang digunakan untuk memecahkan teka-teki adalah kedalaman permasalahan

.

Anda harus mempertimbangkan beberapa faktor saat merepresentasikan masalah sebagai sebuah ruang. Misalnya, Anda harus mempertimbangkan jumlah node maksimum yang sesuai dengan memori, yang mewakili kompleksitas ruang.

Bila Anda tidak dapat memasukkan semua node dalam memori pada satu waktu, komputer harus menyimpan beberapa node di lokasi lain, seperti hard drive, yang dapat memperlambat algoritma dengan cukup.Untuk menentukan apakah node akan muat di memori, Anda harus mempertimbangkan kompleksitas waktu, yang merupakan jumlah maksimum node yang dibuat untuk memecahkan masalah. Selain itu, penting untuk mempertimbangkan faktor keterkaitan, yang merupakan jumlah rata-rata nodus yang tercipta dalam grafik ruang masalah untuk memecahkan masalah. Pergi secara acak dan diberkati oleh keberuntungan Memecahkan masalah pencarian dengan menggunakan teknik brute force. Keuntungan dari pendekatan ini adalah Anda tidak memerlukan pengetahuan khusus domain untuk menggunakan salah satu algoritma ini. Algoritma brute force cenderung menggunakan pendekatan yang paling sederhana untuk memecahkan masalah. Kelemahannya adalah bahwa pendekatan brute force bekerja dengan baik hanya untuk sejumlah kecil simpul. Berikut adalah beberapa algoritma pencarian brute force yang umum:

Breadth-first search:

Teknik ini dimulai pada node root, mengeksplorasi masing-masing node anak terlebih dahulu, dan baru kemudian bergerak ke tingkat berikutnya. Ini berkembang setingkat sampai menemukan solusinya. Kerugian dari algoritma ini adalah bahwa ia harus menyimpan setiap simpul dalam memori, yang berarti bahwa ia menggunakan memori dalam jumlah besar untuk sejumlah besar simpul. Teknik ini bisa memeriksa duplikat node, yang menghemat waktu, dan selalu muncul dengan solusi.

  • Kedalaman-penelusuran pertama: Teknik ini dimulai di simpul akar dan mengeksplorasi sekumpulan simpul anak yang terhubung sampai mencapai simpul daun. Ini berkembang cabang demi cabang sampai menemukan solusinya. Kerugian dari algoritma ini adalah bahwa ia tidak dapat memeriksa node duplikat, yang berarti bahwa ia mungkin melintasi jalur nodus yang sama lebih dari satu kali. Sebenarnya, algoritme ini mungkin tidak menemukan solusi sama sekali, yang berarti Anda harus menentukan titik cutoff agar algoritme tidak mencari dengan pasti. Keuntungan dari pendekatan ini adalah efisiensi memori.
  • Pencarian dua arah: Teknik ini mencari secara bersamaan dari simpul akar dan simpul tujuan sampai dua jalur pencarian bertemu di tengahnya. Keuntungan dari pendekatan ini adalah bahwa waktu itu efisien karena menemukan solusi lebih cepat daripada banyak solusi brute force lainnya. Selain itu, ia menggunakan memori lebih efisien daripada pendekatan lainnya dan selalu menemukan solusinya. Kelemahan utama adalah kompleksitas implementasi, yang diterjemahkan ke dalam siklus pengembangan yang lebih panjang.
  • Menggunakan heuristik dan fungsi biaya Bagi beberapa orang, kata

heuristik

terdengar rumit. Akan sangat mudah untuk mengatakan bahwa algoritma tersebut membuat tebakan yang terdidik dan kemudian mencoba lagi saat gagal. Tidak seperti metode brute force, algoritma heuristik belajar. Mereka juga menggunakan fungsi biaya untuk membuat pilihan yang lebih baik. Akibatnya, algoritma heuristik lebih kompleks, namun memiliki keunggulan tersendiri dalam memecahkan masalah yang kompleks. Seperti algoritma brute force, ada banyak algoritma heuristik dan masing-masing dilengkapi dengan kelebihan, kekurangan, dan persyaratan khusus tersendiri. Daftar berikut ini menjelaskan beberapa algoritma heuristik yang paling umum: Pencarian heuristik murni: Algoritma memperluas node sesuai urutan biaya mereka.Ini memelihara dua daftar. Daftar tertutup berisi simpul yang telah dieksplorasi; daftar terbuka berisi simpul yang harus dijelajahi. Pada setiap iterasi, algoritma mengembang node dengan biaya serendah mungkin. Semua simpul anaknya ditempatkan dalam daftar tertutup dan biaya simpul anak individu dihitung. Algoritma mengirimkan node anak dengan biaya rendah kembali ke daftar terbuka dan menghapus node anak dengan biaya tinggi. Akibatnya, algoritma melakukan pencarian berbasis solusi yang cerdas dan berbasis biaya.

  • A * search: Algoritma melacak biaya node karena mengeksplorasinya dengan menggunakan persamaan:
  • f (n) = g n) + h (n), di mana n adalah pengenal simpul.
    • g (
    • n) adalah biaya untuk mencapai simpul sejauh ini. h (
    • n) adalah perkiraan biaya untuk mencapai tujuan dari simpul. f (
    • n) adalah perkiraan biaya jalur dari n ke sasaran. Idenya adalah mencari jalan yang paling menjanjikan terlebih dulu dan menghindari jalan yang mahal. Pencarian terbaik untuk pencarian terbaik:

Algoritma selalu memilih jalur yang paling dekat dengan tujuan menggunakan persamaan:

  • f (n) = h
Algoritma: Biaya Komputasi dan Mengikuti Heuristik - dummies

Pilihan Editor

Cara Menggunakan Format Tema di dalam bahasa Excel 2013 - dummies

Cara Menggunakan Format Tema di dalam bahasa Excel 2013 - dummies

Tema dan gaya tabel adalah dua cara dalam Excel 2013 menerapkan format ke seluruh lembar kerja atau rangkaian data sekaligus. (Tema memformat preset yang dapat Anda terapkan ke seluruh lembar kerja.) Masing-masing dapat digunakan dengan pengaturan preset atau disesuaikan untuk tampilan individual. Untuk masing-masing, Anda dapat menyimpan ...

Bagaimana Menggunakan Fitur Penemuan di Excel 2013 - dummies

Bagaimana Menggunakan Fitur Penemuan di Excel 2013 - dummies

Ketika semuanya gagal, Anda dapat menggunakan Fitur Excel 2013's Find untuk menemukan informasi spesifik di lembar kerja. Pilih Home → Cari & Pilih → Temukan atau tekan Ctrl + F, Shift + F5, atau bahkan Alt + HFDF untuk membuka kotak dialog Find and Replace. Di kotak drop-down Find What pada kotak dialog ini, masukkan teks atau nilai yang Anda inginkan ...

Cara Menggunakan Tema di Excel 2013 - dummies

Cara Menggunakan Tema di Excel 2013 - dummies

Melalui penggunaan temanya, Excel 2013 mendukung sebuah cara untuk memformat secara merata semua teks dan grafik yang Anda tambahkan ke lembar kerja. Anda bisa melakukan ini dengan hanya mengklik thumbnail dari tema baru yang ingin Anda gunakan di galeri drop-down Themes yang dibuka dengan mengklik tombol Themes pada Page ...

Pilihan Editor

Hindari Penanganan yang Berat Saat Menegakkan Pedoman Komunitas Online - dummies

Hindari Penanganan yang Berat Saat Menegakkan Pedoman Komunitas Online - dummies

Hanya karena Anda memiliki kekuatan untuk Lakukan itu tidak berarti bahwa semua masalah komunitas online memerlukan peringatan dan bannings. Ya, Anda ingin menghilangkan negatif sejak awal, tapi tidak, Anda juga tidak ingin merasa kecil. Terkadang membiarkan sebuah isu meluncur tidak apa-apa. Sebagai pengelola komunitas, tugas Anda untuk mengetahui ...

Hindari Peluang yang Mempengaruhi Reputasi Blog Anda - dummies

Hindari Peluang yang Mempengaruhi Reputasi Blog Anda - dummies

Saat Anda mengaitkan blog ibu dan merek pribadi Anda dengan sebuah produk atau merek perusahaan, tidak dapat dipungkiri bahwa Anda berdua akan saling menipu satu sama lain. Suka atau tidak, Anda bisa dan menjadi terkait dengan merek itu. Tidak semua perusahaan yang ingin memberi Anda produk gratis adalah produk yang Anda inginkan ...

Berikan Peran pada Font di Situs Blog Anda - dummies

Berikan Peran pada Font di Situs Blog Anda - dummies

Saat Anda menetapkan peran pada font Anda, Anda bantu jaga agar desain blog anda terlihat profesional. Menjaga tujuan font Anda jelas membuat desain navigasi blog Anda lebih efektif dan keseluruhan desain Anda lebih mudah pada mata. Setelah Anda memilih dua atau tiga huruf pelengkap yang juga memiliki kontras yang cukup untuk berdiri satu sama lain (lihat ...

Pilihan Editor

Bagaimana Menjadi Pengembang Aplikasi iOS - dummies

Bagaimana Menjadi Pengembang Aplikasi iOS - dummies

Bagian ini menjelaskan apa yang Anda butuhkan dan bagaimana Anda bisa menjadi pengembang aplikasi iOS. Jika Anda adalah pengembang baru, Anda memerlukan alat perdagangan: Mac desktop atau sistem laptop untuk dikembangkan. Ini harus menjadi mesin dengan prosesor Intel, menjalankan OS X Mountain Lion atau Mavericks dengan setidaknya ...

Bagaimana Mengkonfigurasi Samsung SmartTV SDK - dummies

Bagaimana Mengkonfigurasi Samsung SmartTV SDK - dummies

Setelah mendownload dan menginstal SamSung SmartTV SDK dari Samsung Developers Forum (SDF), ada beberapa langkah konfigurasi tambahan yang diperlukan untuk memastikan lingkungan pengembangan yang lebih mulus.

Cara Membuat Proyek Xcode untuk Aplikasi iPad

Cara Membuat Proyek Xcode untuk Aplikasi iPad

Untuk mengembangkan sebuah Aplikasi iPad (atau aplikasi untuk iPhone atau perangkat Mac lainnya), Anda bekerja di proyek Xcode yang disebut. Jadi, saatnya memotret proyek Xcode anda sendiri.