الغرض من العشوائية/derandomization الأساسية العشوائية خوارزمية ماكس جلس

cs.stackexchange https://cs.stackexchange.com/questions/127703

  •  29-09-2020
  •  | 
  •  

سؤال

في أقسام 5.1 من تصميم خوارزميات التقريب قبل ويليامسون Shmoys, يصفون الأساسية العشوائية خوارزمية ماكس جلس وكيفية derandomize ذلك.الخوارزمية هي فقط لتعيين كل متغير 1 (true) مع احتمال 1/2 0 (false) مع احتمال 1/2.وبعبارة أخرى, نموذج موحد عشوائيا من الفضاء من كل الحلول.وتبين أن هذا هو 1/2-تقريب.

ثم في القسم 5.2 ، لوصف كيفية derandomize باستخدام طريقة المشروط التوقعات.(لن تصف العملية هنا لأنها ليست معقدة جدا و معروفة على نطاق واسع أفترض.)

سؤالي هو لماذا تهتم derandomizing هذا الطريق ؟ أو حتى لماذا صنع خوارزمية عشوائية في المقام الأول ؟

يبدو لي أنه غير جيد على قدم المساواة خوارزمية سيكون بطانة واحدة التي deterministically مجموعات كل المتغيرات إلى 1.نظرا لبعض ماكس جلس سبيل المثال كمدخل ، يبدو لي أن كنت تتوقع أيضا هذا (أي "في توقع انها") تلبية نصف البنود.لي تحليل خوارزمية عشوائية يبدو حقا أن أقول أن أي إصلاح تخمين هو "جيد". (بدلا من عرض لدينا خوارزمية عشوائية بطبيعتها جيدة.) لماذا تذهب من خلال عملية العشوائي و derandomizing في المقام الأول ؟

شكرا مقدما!

هل كانت مفيدة؟

المحلول

الفرق هو أن العشوائية خوارزمية ضمانات المتوقع 1/2-تقريب على أي الإدخال.وعلى النقيض من ذلك ، فإنه من السهل على الخصم لبناء الإدخال (أيمثيل ماكس-SAT) الذي القطعية "ضبط جميع المتغيرات الحقيقية" خوارزمية satisifes صفر الشروط.

تذكر أن العينة مساحة العشوائية الخوارزمية على مجموعة من المساعدة بت عشوائي.لا يوجد احتمال التوزيع المفترض على المدخلات.نموذجية الهدف من العشوائية تصميم خوارزمية كل الإدخال ليتم التعامل معها بشكل جيد في التوقع.(تحليل خوارزمية السلوك على افتراض وتوزيع المدخلات يسمى متوسط-تحليل حالة بدلا من ذلك.)

ما هي المساعدة عشوائية بت ؟

لنفترض أن لدينا العشوائية آلة تورينج $M_1$ الذي يعمل على حالات طول $n$ لمدة لا تزيد $T(n)$ خلال يجعل هناك أكثر من $R(n) \le T(n)$ قرارات عشوائية.يمكننا تحويل هذا الجهاز إلى القطعية آلة تورينج $M_2$ الذي فقد اثنين من المدخلات الأشرطة:المعتاد الشريط الذي يحتوي على سلسلة الإدخال $x$ من طول $n$, الشريط الذي يحتوي على سلسلة $r$ من طول $R(n)$.السلسلة $r$ لدينا سلسلة من مساعد بت عشوائي;فإنه يحدد "عشوائية" القرارات آلة تورينج هو جعل.عندما نقول أن العشوائية آلة تورينج تشغيل $M_1(x)$ تقبل مع احتمال $p$, هذا هو ما يعادل قائلا أن مجموعة $$A(x) = \left\{r\ |\ r \في \{0, 1\}^{R(|x|)}, M_2(س ، ص) ext{ يقبل}\الحق\}$$ من $r$ السلاسل التي تجعل $M_2(س ، ص)$ تقبل يشكل جزء $p = |A(x)| / 2^{|x|}$ من مجموعة من $r$ سلاسل.

قد ندرك ما يجري هنا إذا كنت قد رأيت مماثلة البناء غير حتمى آلة تورنج.يمكننا التفكير في NP آلة غير حتمى آلة فروع في أضعافا مضاعفة العديد من نسخ من نفسه.ولكن يمكننا أيضا أن نفكر في الأمر على النحو القطعية المدقق الجهاز الذي يتطلب إدخال و "البرهان" سلسلة مع معايير القبول أن سلسلة الإدخال في اللغة إذا أي دليل سلسلة يجعل الجهاز يقبل.

غالبا ما يكون من الأسهل أن نفكر في هذا على الأرض مفهوم حتمية التحقق من الآلات التي فرعية من دليل على سلاسل يجعل الجهاز يقبل على المدخلات بدلا من التفكير في أفكار مجردة للغاية مثل أضعافا مضاعفة المتفرعة آلات العوالم الممكنة.و هذا يجعل من الاسهل لتحديد تعقيد فئات مثل co-NP, PP, BPP, ⊕P ، وما إلى ذلك ، والتي هي أساسا "NP مع مختلف قبول القاعدة". على سبيل المثال:

  • NP هي مجموعة من اللغات $L$ التي توجد متعدد الحدود-الوقت متحقق آلة $M_2$ مثل أن $x \in L$ إذا و فقط إذا كان يوجد $r$ سلسلة هذه $M_2(س ، ص)$ يقبل (حيث طول $r$ سلسلة يحدها متعدد الحدود $R(|x|)$).
  • BPP هو مجموعة من اللغات $L$ التي توجد متعدد الحدود-الوقت متحقق آلة $M_2(س ، ص)$ مثل أن $x \in L$ يعني $M_2(س ، ص)$ يقبل على الأقل ⅔ من $r$ سلاسل $x \لافي L$ يعني $M_2(س ، ص)$ يقبل في معظم ⅓ من $r$ سلاسل (حيث طول $r$ سلاسل يحدها متعدد الحدود $R(|x|)$).

ملاحظة:فإنه في الغالب لا يهم ما إذا كنا تتطلب $r$ سلاسل أن يكون طول بالضبط $R(n)$ أو في معظم $R(n)$, منذ السماح أقصر سلاسل فقط يزيد عدد ممكن سلاسل عاملا ثابتا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى cs.stackexchange
scroll top