انواع الگوریتم search

انواع الگوریتم search

در علوم کامپیوتر و ریاضیات، یک الگوریتم جستجو، الگوریتمی است که یک مساله را به عنوان ورودی می‌گیرد و بعد از ارزیابی کردن راه حل‌های ممکن، یک راه حل برای آن مساله برمی گرداند.مجموعهٔ راه حل‌های ممکن برای یک مساله را فضای جستجو می‌نامند.بعضی از الگوریتم‌ها که با عنوان الگوریتم‌های ناآگاهانه شناخته می‌شوند الگوریتم‌هایی هستند که از متدهای ساده‌ای برای جستجوی فضای نمونه استفاده می‌کنند.در حالی که الگوریتم‌های آگاهانه با استفاده روش‌هایی مبتنی بر دانش در بارهٔ ساختار فضای جستجو، می‌کوشند تا زمان جستجو را کاهش دهند.

رده بندی

در کتاب راسل این الگوریتم‌ها به شکل زیر رده بندی شده‌اند.

·         الگوریتم‌های ناآگاهانه

·         الگوریتم نخست-پهنا

·         الگوریتم نخست-ژرفا

·         الگوریتم‌های آگاهانه

·         الگوریتم نخست-بهترین

·         الگوریتم مکاشفه‌ای

جستجوی ناآگاهانه

یک الگوریتم جستجوی ناآگاهانه الگوریتمی است که به ماهیت مساله کاری ندارد.از این رو می‌توانند به طور عمومی طراحی شوند و از همان طراحی برای محدودهٔ عظیمی از مسائل استفاده کنند، این امر نیاز به طراحی انتزاعی دارد. از جمله مشکلاتی که این چنین الگوریتم‌هایی دارند این است که اغلب فضای جستجو بسیار بزرگ است و نیازمند زمان زیادی (حتی برای نمونه‌های کوچک) می‌باشد.از این رو برای بالا بردن سرعت پردازش غالبا از الگوریتم‌های آگاهانه استفاده می‌کنند.

جستجوی لیست

الگوریتم‌های جستجوی لیست شاید از ابتدایی ترین انواع الگوریتم‌های جستجو باشند.هدف آن پیدا کردن یک عنصر از مجموعه‌ای از کلید هاست(ممکن است شامل اطلاعات دیگری مرتبط با آن کلید نیز باشد). ساده ترین این الگوریتم‌ها، الگوریتم جستجوی ترتیبی است که هر عنصر از لیست را با عنصر مورد نظر مقایسه می‌کند.

جستجوی درختی

الگوریتم‌های جستجوی درختی، قلب شیوه‌های جستجو برای داده‌های ساخت یافته هستند.مبنای اصلی جستجوی درختی، گره‌هایی است که از یک ساختمان داده گرفته شده‌اند. هر عنصر که بخواهد اضافه شود با داده‌های موجود در گره‌های درخت مقایسه می‌شود و به ساختار درخت اضافه می‌شود.با تغییر ترتیب داده‌ها و قرار دادن آنها در درخت، درخت با شیوه‌های مختلفی جستجو می‌شود. برای مثال سطح به سطح (جستجوی نخست-پهنا) یا پیمایش معکوس درخت (جستجوی نخست-ژرفا).از مثال‌های دیگر جستجوهای درختی می‌توان به جستجوی عمقی تکرار شونده،جستجوی عمقی محدود شده، جستجوی دوطرفه، جستجوی هزینه یکنواخت اشاره کرد.

جستجوی گراف

بسیاری از مسائل در نظریهٔ گراف می‌تواند با الگوریتم‌ها ی پیمایش درخت حل شوند، مثل الگوریتم دایجسترا، الگوریتم کروسکال، الگوریتم نزدیک ترین همسایه و الگوریتم پریم. می‌توان این الگوریتم‌ها را توسعه یافتهٔ الگوریتم‌های جستجوی درختی دانست.

جستجوی آگاهانه

در یک جستجوی آگاهانه، از نوع خاصی از مسائل به عنوان راهنما استفاده می‌شود.یک گونهٔ خوب یک جستجوی آگاهانه با کارایی قابل توجهی نسبت به جستجوی ناآگاهانه به وجود می‌آورد. الگوریتم‌های برجستهٔ کمی از جستجوی آگاهانهٔ یک لیست وجود دارد. یکی از این الگوریتم‌ها hash table با یک تابع hash که برمبنای نوع مساله‌ای که دردست است می‌باشد.بیشتر الگوریتم‌های جستجوی آگاهانه، بسطی از درخت‌ها هستند.همانند الگوریتم‌های ناآگاهانه، این الگوریتم‌ها برای گراف‌ها نیز می‌توانند به کار روند.

جستجوی خصمانه

در یک بازی مثل شطرنج، یک درخت بازی شامل تمام حرکات ممکن توسط هر دو بازیکن و نتایج حاصل از ترکیب این حرکات وجود دارد، و ما می‌توانیم این درخت را جستجو کرده و موثرترین استراتژی برای بازی را بیابیم. این چنین مسائلی دارای مشخصهٔ منحصر به فردی هستند.برنامه‌های بازی‌های رایانه‌ای، و همچنین فرم‌های هوش مصنوعی مثل برنامه ریزی ماشین‌ها، اغلب از الگوریتم‌های جستجو مثل الگوریتم minimax (مینیمیم مجموعه‌ای از ماکزیمم‌ها) هرس کردن درخت جستجو و هرس کردن آلفا-بتا استفاده می‌کنند.

 

الگوریتم اف اسکن

(FSCAN) : F-SCAN یک الگوریتم زمان بندی دیسک است که حرکت آرم و هد دیسک در سرویس دهی درخواست‌های خواندن و نوشتن را تعیین می‌کند. طی روبش تمام درخواست‌ها در صف اول داده‌ها ی اولیه هستند و تمام درخواست‌های جدید در صف داده‌های ثانویه قرار داده می‌شوند. بنا براین سرویس دهی به درخواست‌های جدید به تاخیر می‌افتد تا زمانی که تمام درخواست‌های قدیمی تحت پردازش قرار گیرد. هنگامی که روبش پایان می‌یابد آرم به تمام صف داده‌های اولیه برده می‌شود و دوباره سرتاسر آن شروع می‌شود.


سمانه ارشادی

· 



مطالب مشابه :


الگوریتم دایجسترا

پریناز - الگوریتم دایجسترا - الگوریتم های حریصانه مشابه برنامه نویسی پویا، بیشتر برای حل




دانلود پروژه رایگان الگوریتم دایجسترا با نرم افزار MATLAB

وبلاگ گروه نامیرا - دانلود پروژه رایگان الگوریتم دایجسترا با نرم افزار matlab - برنامه نویسی




مسیریابی شبکه های کامپیوتری

انواع مسیریابی. الگوریتم های مسیریابی در شبکه ادهاک. انواع پروتکل های مسیر یابی در شبکه های




الگوريتم دايكسترا (Dijkstra's algorithm) چيست؟

در نظریه گراف، الگوریتم تك منبع با كاربرد الگوریتم دایجسترا ، مسأله زمان بندی




دانلود رایگان سورس الگوریتم دیکسترا به زبان ++C

تیم برنامه نویسی پارسیا - دانلود رایگان سورس الگوریتم دیکسترا به زبان ++c - سورس پروژه سی شارپ




الگوریتم‌های مسیریابی

Cisco Routing and Switching - الگوریتم‌های مسیریابی - روتينگ و سوئيچ - Cisco Routing and Switching




انواع الگوریتم مسیریابی

همچنین مهم است که بعد از یک مدت زمان خاص، الگوریتم مسیریابی به ترین مسیر دایجسترا(8)




انواع الگوریتم search

ارزش افزوده - انواع الگوریتم search - tahghigh الگوریتم‌های جستجوی لیست شاید از ابتدایی ترین




الگوریتم پریم چگونه کار می کند ؟

سبد دانلود - الگوریتم پریم چگونه کار می کند ؟ - software - ebook - music




برچسب :