جستجوی بروت-فورس: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جزبدون خلاصۀ ویرایش
جز ربات: مرتب‌سازی رده‌ها؛ زیباسازی
خط ۹:
|optimal=
}}
در [[علوم کامپیوتر]]، '''[[جستجو|جستجوی]]ی خام و بی‌خردانه''' (به انگلیسی: brute-force search) و یا '''جستجوی جامع(فراگیر)''' (به انگیسی: exhaustive search)، همچنین به نام '''جستجوی تولید و تِست''' (به انگلیسی: generate and test) شناخته شده، روشی بدیهی در عین حال بسیار کلی برای حل مسأله می باشد. این روش که شامل شمارش نظام مند تمام نامزدهای ممکن برای حل و چک کردن اینکه آیا هر یک از نامزدها قادر به ارضا شرط مسأله است. به عنوان مثال، یک الگوریتم brute-force برای پیدا کردن مقسوم علیه های یک عدد طبیعی ''N''، شامل شمردن تمام اعداد صحیح از 1 تا ریشه ی دوم از n است، و بررسی اینکه آیا n به هر یک از آنها تقسیم پذیر است یا خیر.
 
جستجو به روش brute-force به سادگی قابل پیاده سازی می باشد و همیشه جواب مسأله را در صورت وجود می یابد. با این حال، به دلیل اینکه هزینه های آن متناسب با تعداد نامزدهای حل مسأله است، استفاده از آن در بسیاری از مسائل عملی، که تعداد نامزدهای حل مسأله تمایل به رشد بسیار سریع با افزایش اندازه مسأله را دارد، امکانپذیر نمی باشد. این روش هنگامی به کار می رود که اندازه مسأله محدود می باشد و یا روش های ابتکاری برای کاهش تعداد مجموعه نامزدهای حل مسأله وجود دارد. این روش هنگامی که سادگی پیاده سازی مهم تر از سرعت است نیز به کار می رود.
خط ۶۳:
{{چپچین}}
^ Christof Paar, Jan Pelzl, Bart Preneel (2010). Understanding Cryptography: A Textbook for Students and Practitioners
. Springer. p. 7. ISBN 36420410003-642-04100-0.
 
http://www-igm.univ-mlv.fr/~lecroq/string/node3.html
خط ۷۵:
 
{{DEFAULTSORT:Brute-Force Search}}
[[Category:Search algorithms]]
 
{{پایان چپچین}}
 
 
[[رده:الگوریتم‌های جستجو]]
 
[[رده:الگوریتم های جستجو]]
==پیوند به بیرون==
[http://algs4.cs.princeton.edu/53substring/Brute.java.htmlپیاده‌سازی این الگوریتم به زبان جاوا]
 
[[Categoryرده:Search algorithms]]
[[رده:الگوریتم های جستجو]]
[[رده:الگوریتم‌های جستجو]]
 
[[ar:بحث شامل]]