Dalam ilmu komputer, banyak algoritma pencarian telah dikembangkan oleh pengembang yang berbeda untuk mencari aspek yang berbeda (string, angka, pola, solusi).
Pencarian dilakukan dengan berbagai cara. Pencarian brute force dan exhaustion adalah dua algoritma pencarian string yang digunakan oleh pembuat kode. Metode ini bekerja berdasarkan prinsip mencari setiap solusi yang layak.
Pengambilan Kunci
- Serangan brute force secara sistematis menguji setiap kemungkinan kombinasi untuk memecahkan kata sandi atau enkripsi.
- Algoritma pencarian lengkap mengevaluasi semua solusi potensial untuk menemukan yang optimal.
- Kedua metode dapat menjadi intensif sumber daya tetapi secara efektif menyelesaikan masalah tanpa heuristik khusus.
Brute Force vs Pencarian Lengkap
Kasar adalah pencarian tidak seragam yang menggunakan coba-coba untuk menebak info login, kunci enkripsi, atau menemukan halaman web tersembunyi. Pencarian yang melelahkan adalah jenis pencarian brute force yang digunakan untuk memecahkan masalah yang berkaitan dengan permutasi dan kombinasi. Ini adalah pencarian yang seragam dan membutuhkan waktu lebih sedikit.
Algoritme brute force adalah teknik yang dikodekan oleh pengembang untuk mengambil string, dan bahkan digunakan dalam memecahkan teka-teki delapan ratu (teka-teki untuk menempatkan delapan ratu di papan catur delapan kali delapan).
Namun, ini adalah strategi intuitif yang memerlukan banyak perbandingan untuk menyelesaikan masalah.
Pencarian lengkap adalah jenis pencarian kekuatan brutal yang digunakan untuk menyelesaikan masalah yang berkaitan dengan permutasi dan kombinasi.
Tujuan utamanya adalah untuk mencari setiap solusi untuk solusi optimal dengan memenuhi kendala. Masalah lain juga bisa dipilah, seperti masalah salesman keliling dan ransel.
Tabel perbandingan
Parameter Perbandingan | Pencarian Brute Force | Pencarian Lengkap |
---|---|---|
Jenis Pencarian | Brute Force adalah pencarian yang tidak seragam. | Exhaustive adalah pencarian yang seragam karena kami mengetahui arah pengambilan dilakukan. |
Searches | Brute Force adalah untuk mencari pola string. | Algoritma pencarian lengkap adalah untuk mengambil permutasi, kombinasi, dan himpunan bagian. |
Prosedur | Algoritme Brute Force mencari pola yang diinginkan dengan bergerak ke arah kanan dalam teks tertentu. | Algoritma pencarian lengkap memeriksa setiap node hingga mencapai node terakhir. |
Waktu | Brute Force adalah metode yang memakan waktu. | Algoritma pencarian lengkap membutuhkan waktu lebih sedikit dibandingkan. |
Aplikasi | Algoritme pencarian Brute Force digunakan untuk menempatkan delapan ratu di papan berukuran delapan kali delapan. | Algoritma pencarian lengkap digunakan untuk memecahkan masalah travelling salesman. |
Apa itu Pencarian Brute Force?
Algoritma Brute Force adalah salah satu teknik pencarian di Komputer Ilmu. Karena ini adalah metode intuitif, ini adalah pendekatan yang sangat mudah untuk memecahkan masalah yang hanya didasarkan pada prediksi.
Dalam metode ini, tidak ada teknik rumit yang digunakan untuk menemukan solusinya.
Prosesnya adalah terus mengulangi teks untuk mencari string. Jika string tidak cocok, pindahkan satu langkah ke kanan dan ulangi prosesnya sampai ditemukan kecocokan yang sesuai.
Prosedurnya sekarang sederhana. Misalkan kita harus mencari string PLANT.
Cocokkan ejaan setiap kata dalam paragraf dengan string PLANT. Pindah ke kanan jika frasa di baris tidak cocok. Jika string cocok, pencarian kami telah berhasil. Kami telah menerima hasil yang diinginkan.
Oleh karena itu, kami dapat mengatakan ini adalah metode pencarian yang sangat memakan waktu jika panjang teksnya lebih panjang. Trik menghitung jumlah perbandingan adalah perkalian N x M dimana N adalah panjang teks dan M adalah panjang string.
Sebagai contoh,
Teks = 10
String = PLANT jadi, ukuran string = 5
Kombinasi = NXM = 10 x 5 = 50
Dalam kehidupan praktis, kita bisa menggunakan pencarian brute force. Contohnya adalah menempatkan delapan ratu di papan catur 8×8. Aturannya adalah mengatur ratu sedemikian rupa sehingga tidak ada ratu yang menghalangi rute ratu lainnya.
Apa itu Pencarian Lengkap?
Pencarian lengkap adalah bagian dari algoritma pencarian Brute Force, yang untuk mencari kombinasi dan permutasi. Algoritma ini berfokus pada pencarian setiap solusi untuk masalah yang diberikan dengan memenuhi semua kendala.
Karena tuntas berarti melelahkan, jenis pencarian ini adalah pencarian buta, tetapi pencarian seragam. Strategi ini bertujuan untuk memaksimalkan atau meminimalkan masalah.
Banyak masalah dapat diselesaikan dengan menggunakan pencarian menyeluruh, seperti masalah penjual keliling dan masalah ransel.
Masalah penjual keliling adalah sebelum kembali ke tempat awal, penjual harus mengunjungi N kota (hanya sekali) dengan menggunakan rute terpendek.
Di sini N adalah jumlah kota, dan kendala di bawah masalah ini adalah:
- Mengikuti jalur terpendek dari kota ke kota.
- Kunjungi semua kota sebelum kembali.
- Kunjungi semua kota hanya sekali.
Sebagai contoh,
Ada lima kota: A, B, C, D, dan E. Kota awal dipilih dengan bijak dengan menerapkan kombinasinya. Sehingga semua batasan terpenuhi.
Saat memilih jalur yang tepat, kami akan mencoba beberapa kombinasi yang akan melelahkan dan memakan waktu. Dengan kata lain, kita harus membentuk gerakan siklik untuk mencapai target.
Perbedaan Utama Antara Brute Force dan Pencarian Lengkap
- Algoritma pencarian Brute Force adalah metode yang tidak seragam. Di sisi lain, algoritma pencarian lengkap adalah metode yang seragam.
- Algoritma pencarian Brute Force adalah metode untuk mencari string dalam teks. Sebaliknya, algoritma pencarian lengkap mencari solusi dari permutasi dan kombinasi.
- Teknik Brute Force bekerja dengan mencocokkan semua huruf dalam sebuah string. Namun, pencarian yang mendalam mengikuti prosedur pemeriksaan setiap node dari flowchart sampai kendala terpenuhi.
- Metode Brute Force lebih memakan waktu dan berlaku ketika data pendek. Di sisi lain, algoritme lengkap dapat diterapkan bahkan dalam skenario yang kompleks.
- Karena metode Brute Force diikuti dalam teknik pencarian lengkap, metode ini lebih populer daripada pencarian lengkap.
- https://ieeexplore.ieee.org/abstract/document/4640789/
- https://link.springer.com/chapter/10.1007/3-540-44411-4_2
Terakhir Diperbarui : 13 Juli 2023
Sandeep Bhandari meraih gelar Bachelor of Engineering in Computers dari Thapar University (2006). Beliau memiliki pengalaman selama 20 tahun di bidang teknologi. Dia memiliki minat dalam berbagai bidang teknis, termasuk sistem database, jaringan komputer, dan pemrograman. Anda dapat membaca lebih lanjut tentang dia di nya halaman bio.