تالار گفتمان مانشت
مرتبه زمانی الگوریتم اول بودن یا نبودن عدد - نسخه‌ی قابل چاپ

مرتبه زمانی الگوریتم اول بودن یا نبودن عدد - shayesteb - 02 بهمن ۱۳۹۳ ۰۷:۳۷ ب.ظ

سلام

همگی خسته نباشید Smile میشه حل این سوال رو بگید چطوری هست و اگه میشه رابطه بازگشتی هم بنویسید؟

یک الگوریتم تصادفی A قرار است تعیین کند که آیا یک عدد ورودی x اول هست یا خیر. میدانیم که A در یک بار اجرا :
الف) اگر x اول باشد جواب بله می دهد.
ب) اگر x اول نباشد با احتمال ۳/۴ جواب خیر میدهد
برای آنکه تضمین کنیم که درحالت ب با احتمال حداقل [tex]1-\frac{1}{k}[/tex] جواب خیر بدهد. الگوریتم را چند بار اجرا کنیم؟ )گزینه صحیح گزینه سوم هستش)

۱)[tex]O(\sqrt{k})[/tex]
۲) [tex]O(1)[/tex]
۳)[tex]O(\log\: k)[/tex]
۴)[tex]k[/tex]

RE: مرتبه زمانی الگوریتم اول بودن یا نبودن عدد - codin - 02 بهمن ۱۳۹۳ ۰۹:۱۲ ب.ظ

(۰۲ بهمن ۱۳۹۳ ۰۷:۳۷ ب.ظ)shayesteb نوشته شده توسط:  سلام

همگی خسته نباشید Smile میشه حل این سوال رو بگید چطوری هست و اگه میشه رابطه بازگشتی هم بنویسید؟

یک الگوریتم تصادفی A قرار است تعیین کند که آیا یک عدد ورودی x اول هست یا خیر. میدانیم که A در یک بار اجرا :
الف) اگر x اول باشد جواب بله می دهد.
ب) اگر x اول نباشد با احتمال ۳/۴ جواب خیر میدهد
برای آنکه تضمین کنیم که درحالت ب با احتمال حداقل [tex]1-\frac{1}{k}[/tex] جواب خیر بدهد. الگوریتم را چند بار اجرا کنیم؟ )گزینه صحیح گزینه سوم هستش)

۱)[tex]O(\sqrt{k})[/tex]
۲) [tex]O(1)[/tex]
۳)[tex]O(\log\: k)[/tex]
۴)[tex]k[/tex]
سلام
البته سوال کمی بد بیان شده.ببینید در هر بار ران اگر عددمون اول نباشه به احتمال ۱/۴ خطا داریم.اگر هربار اجرای الگوریتم رو مستقل فرض کنیم اونوقت اگر دوبار خیر جواب بده احتمال خطاش میشه [tex]\frac{1}{4}\: ^2[/tex]
حالا اگر اگر n بار ران کنیم و جواب خیر بگیریم خطامون میشه [tex]\frac{1}{4}\: ^n[/tex]
در واقع شما میخواین معادله زیر رو حل کنید.
[tex]\frac{1}{4}\: ^n=\frac{1}{k}\: =>4^n=k\: =>n\: \log4=\log k=>n=C\: \log\: k=>n=O(\log(k))[/tex]

RE: مرتبه زمانی الگوریتم اول بودن یا نبودن عدد - shayesteb - 02 بهمن ۱۳۹۳ ۱۰:۰۱ ب.ظ

خیلی ممنون Smile