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

محتوای حذف‌شده محتوای افزوده‌شده
جز Mojtabakd صفحهٔ جستجوی غیرهوشمندانه را به جستجوی بروت-فورس منتقل کرد: معادل رایجی برایش نمیشناسم
جز اصلاحات جزئی
خط ۱۰:
| پیچیدگی فضایی =
}}
'''جستجوی غیرهوشمندانهبروت-فورس'''، {{انگلیسی|Brute-Force Search}} (یا جستجوی غیرهوشمندانه<ref>{{یادکرد فرهنگستان|مصوب=حملهٔ غیرهوشمندانه|بیگانه=brute force attack|بیگانه در فارسی=|حوزه=رمزشناسی|دفتر=نهم|بخش=فارسی|سرواژه=حملهٔ غیرهوشمندانه}}</ref> (به انگلیسی: brute-force search) یا '''جستجوی جامع (فراگیر)''' (به انگیسی: exhaustive search)، که همچنین در [[علوم کامپیوتر]]، که همچنین به نام '''جستجوی تولید و تِست''' (به انگلیسی: generate and test) شناخته شده، روشی بدیهی در عین حال بسیار کلی برای [[حل مسئله]] می‌باشد. این روش که شامل شمارش نظام مند تمام نامزدهای ممکن برای حل و چک کردن اینکه آیا هر یک از نامزدها قادر به ارضا شرط مسئله است. به عنوان مثال، یک الگوریتم brute-force برای پیدا کردن [[مقسوم علیه]]‌های یک [[عدد طبیعی]] ''N''، شامل شمردن تمام [[اعداد صحیح]] از ۱ تا ریشهٔ دوم از n است، و بررسی اینکه آیا n به هر یک از آن‌ها تقسیم پذیر است یا خیر.
 
جستجو به روش brute-force به سادگی قابل پیاده‌سازی می‌باشد و همیشه جواب مسئله را در صورت وجود می‌یابد. با این حال، به دلیل اینکه هزینه‌های آن متناسب با تعداد نامزدهای حل مسئله است، استفاده از آن در بسیاری از مسائل عملی، که تعداد نامزدهای حل مسئله تمایل به رشد بسیار سریع با افزایش اندازه مسئله را دارد، امکانپذیر نمی‌باشد. این روش هنگامی به کار می‌رود که اندازه مسئله محدود می‌باشد یا روش‌های ابتکاری برای کاهش تعداد مجموعه نامزدهای حل مسئله وجود دارد. این روش هنگامی که سادگی پیاده‌سازی مهم‌تر از سرعت است نیز به کار می‌رود.