التبلور

في علم الحاسوب ، تُعدّ عملية التهيئة النواة تقنية لتصميم خوارزميات فعّالة ، حيث تُحقق هذه الخوارزمية كفاءتها من خلال مرحلة معالجة مسبقة يتم فيها استبدال مدخلات الخوارزمية بمدخل أصغر يُسمى "النواة". يجب أن تكون نتيجة حلّ المسألة على النواة إما مطابقةً لنتيجة حلّها على المدخلات الأصلية، أو أن يكون من السهل تحويل مخرجات النواة إلى المخرجات المطلوبة للمسألة الأصلية.

غالبًا ما يتم تحقيق التجزئة إلى نواة (Kernelization) بتطبيق مجموعة من قواعد الاختزال التي تستبعد أجزاءً من المسألة يسهل التعامل معها. في نظرية التعقيد المُعَلم ، يُمكن إثبات إمكانية إيجاد نواة ذات حدود مضمونة لحجمها (كدالة لبعض المعاملات المرتبطة بالمسألة) في زمن متعدد الحدود . عندما يكون ذلك ممكنًا، ينتج عنه خوارزمية قابلة للمعالجة ذات معاملات ثابتة، يكون زمن تشغيلها مجموع زمن خطوة التجزئة إلى نواة (زمن متعدد الحدود) وزمن حل النواة (زمن غير متعدد الحدود ولكنه محدود بالمعامل). في الواقع، يُمكن حل أي مسألة يُمكن حلها بواسطة خوارزمية قابلة للمعالجة ذات معاملات ثابتة بواسطة خوارزمية تجزئة إلى نواة من هذا النوع. وينطبق هذا أيضًا على التجزئة التقريبية إلى نواة .

مثال: غطاء الرأس

من الأمثلة الشائعة لخوارزمية التمركز حول النواة، تمركز مسألة تغطية الرؤوس التي وضعها س. بوس حول النواة. [ 1 ] في هذه المسألة، يكون المدخل عبارة عن رسم بياني غير موجه.جي{\displaystyle G}بالإضافة إلى عددك{\displaystyle k}الناتج عبارة عن مجموعة من العناصر على الأكثرك{\displaystyle k}تُحدد هذه المجموعة الرؤوس التي تتضمن نقطة نهاية لكل حافة في الرسم البياني، إن وُجدت، أو تُصدر استثناءً في حال عدم وجودها. تُصنف هذه المسألة ضمن المسائل الصعبة حسابيًا (NP-hard) . مع ذلك، يمكن استخدام قواعد الاختزال التالية لتبسيطها:

  1. لوك>0{\displaystyle k>0}وv{\displaystyle v}هو رأس من درجة أكبر منك{\displaystyle k}، يزيلv{\displaystyle v}من الرسم البياني وانخفاضك{\displaystyle k}واحداً تلو الآخر. كل غطاء رأس بحجمك{\displaystyle k}يجب أن يحتوي علىv{\displaystyle v}لأنه بخلاف ذلك، سيتطلب الأمر اختيار عدد كبير جدًا من جيرانها لتغطية الحواف المتصلة. وبالتالي، يمكن تكوين غطاء رؤوس مثالي للرسم البياني الأصلي من غطاء للمسألة المختزلة عن طريق إضافةv{\displaystyle v}العودة إلى الغلاف.
  2. لوv{\displaystyle v}إذا كان رأسًا معزولًا، فقم بإزالته. لا يمكن للرأس المعزول أن يغطي أي حواف، لذلك في هذه الحالةv{\displaystyle v}لا يمكن أن يكون جزءًا من أي تغطية تأمينية دنيا.
  3. إذا كان أكثر منك2{\displaystyle k^{2}}إذا بقيت الحواف في الرسم البياني، ولم يكن بالإمكان تطبيق أي من القاعدتين السابقتين، فلا يمكن أن يحتوي الرسم البياني على غطاء رأس بحجمك{\displaystyle k}لأنه بعد حذف جميع الرؤوس ذات الدرجة الأكبر منك{\displaystyle k}، لا يمكن لكل رأس متبقٍ أن يغطي أكثر منك{\displaystyle k}حواف ومجموعة منك{\displaystyle k}لا يمكن أن تغطي الرؤوس إلا على الأكثرك2{\displaystyle k^{2}}الحواف. في هذه الحالة، يمكن استبدال المثال بمثال له رأسان وحافة واحدة، وك=0{\displaystyle k=0}والتي ليس لها حل أيضاً.

إن الخوارزمية التي تطبق هذه القواعد بشكل متكرر حتى يتعذر إجراء المزيد من الاختزالات تنتهي بالضرورة بنواة تحتوي على أكثر منك2{\displaystyle k^{2}}الحواف (ولأن كل حافة لها نقطتا نهاية على الأكثر ولا توجد رؤوس معزولة) على الأكثر2ك2{\displaystyle 2k^{2}}الرؤوس. يمكن تنفيذ هذه العملية في زمن خطي . بمجرد إنشاء النواة، يمكن حل مشكلة تغطية الرؤوس باستخدام خوارزمية بحث شاملة تختبر ما إذا كانت كل مجموعة فرعية من النواة تمثل غطاءً لها. وبالتالي، يمكن حل مشكلة تغطية الرؤوس في زمن خطي.يا(22ك2+ن+م){\displaystyle O(2^{2k^{2}}+n+m)}بالنسبة للرسم البياني معن{\displaystyle n}الرؤوس وم{\displaystyle m}الحواف، مما يسمح بحلها بكفاءة عندماك{\displaystyle k}صغير حتى لون{\displaystyle n}وم{\displaystyle m}كلاهما كبيران.

على الرغم من أن هذا الحد قابل للمعالجة باستخدام معلمات ثابتة، إلا أن اعتماده على هذه المعلمات أعلى من المطلوب. يمكن لأساليب التجزئة الأكثر تعقيدًا تحسين هذا الحد، من خلال إيجاد نوى أصغر، على حساب زيادة وقت التشغيل في خطوة التجزئة. في مثال تغطية الرؤوس، من المعروف أن خوارزميات التجزئة تُنتج نوى ذات حد أقصى لا يتجاوز2ك{\displaystyle 2k}الرؤوس. تستغل إحدى الخوارزميات التي تحقق هذا الحد المحسن خاصية التكامل النصفي لتخفيف البرنامج الخطي لتغطية الرؤوس، والتي تعود إلى نيمهاوزر وتروتر. [ 2 ] تعتمد خوارزمية أخرى للتجزئة إلى نواة، تحقق هذا الحد، على ما يُعرف بقاعدة اختزال التاج، وتستخدم وسائط المسار المتناوب . [ 3 ] أما خوارزمية التجزئة إلى نواة الأكثر شهرة حاليًا من حيث عدد الرؤوس، فهي من ابتكار لامبيس (2011)، وتحقق2ك-جسجلك{\displaystyle 2k-c\log k}الرؤوس لأي ثابت ثابتج{\displaystyle c}.

لا يمكن، في هذه المسألة، إيجاد نواة بحجميا(سجلك){\displaystyle O(\log k)}ما لم يكن P = NP ، فإن استخدام نواة كهذه سيؤدي إلى خوارزمية ذات زمن متعدد الحدود لحل مشكلة تغطية الرؤوس الصعبة من فئة NP. ومع ذلك، يمكن إثبات حدود أقوى بكثير على حجم النواة في هذه الحالة: ما لم يكن coNP{\displaystyle \subseteq }NP/poly (يعتقد علماء نظرية التعقيد أنه غير مرجح )، لكلϵ>0{\displaystyle \epsilon >0}من المستحيل في وقت متعدد الحدود إيجاد النوى معيا(ك2-ϵ){\displaystyle O(k^{2-\epsilon })}الحواف. [ 4 ] من غير المعروف بالنسبة لتغطية الرؤوس ما إذا كانت النوى ذات(2-ϵ)ك{\displaystyle (2-\epsilon )k}رؤوس لبعضϵ>0{\displaystyle \epsilon >0}لن يكون لها أي عواقب غير محتملة في نظرية التعقيد.

تعريف

في الأدبيات، لا يوجد إجماع واضح حول كيفية تعريف عملية التنميط بشكل رسمي، وهناك اختلافات دقيقة في استخدامات هذا التعبير.

تدوين داوني-فيلوز

في تدوين داوني وفيلوز (1999) ، تُعتبر المسألة المُعَلمة مجموعة جزئيةلΣ*×شمال{\displaystyle L\subseteq \Sigma ^{*}\times \mathbb {N} }وصف مشكلة اتخاذ القرار .

تجزئة النواة لمسألة ذات معلماتل{\displaystyle L}هي خوارزمية تأخذ مثالاً(x،ك){\displaystyle (x,k)}ويرسمها في كثير الحدود الزمني في|x|{\displaystyle |x|}وك{\displaystyle k}إلى مثال(x،ك){\displaystyle (x',k')}بحيث

  • (x،ك){\displaystyle (x,k)}هو فيل{\displaystyle L}إذا وفقط إذا(x،ك){\displaystyle (x',k')}هو فيل{\displaystyle L}،
  • حجمx{\displaystyle x'}محدودة بدالة قابلة للحسابو{\displaystyle f}فيك{\displaystyle k}، و
  • ك{\displaystyle k'}محدودة بدالة فيك{\displaystyle k}.

الناتج(x،ك){\displaystyle (x',k')}يُطلق على عملية التجزئة اسم النواة. في هذا السياق العام، حجم السلسلةx{\displaystyle x'}يشير هذا المصطلح ببساطة إلى طوله. يفضل بعض المؤلفين استخدام عدد الرؤوس أو عدد الحواف كمقياس للحجم في سياق مسائل الرسوم البيانية.

تدوين فلوم-غروهي

وفقًا لترميز فلوم وغروه (2006 ، ص 4) ، تتكون المسألة المُعَلمة من مسألة قرار. لΣ*{\displaystyle L\subseteq \Sigma ^{*}}ووظيفةκ:Σ*شمال{\displaystyle \kappa :\Sigma ^{*}\to \mathbb {N} } ، وهي المعلمة. معلمة حالة ماx{\displaystyle x}هو الرقمκ(x){\displaystyle \kappa (x)}.

تجزئة النواة لمسألة ذات معلماتل{\displaystyle L}هي خوارزمية تأخذ مثالاًx{\displaystyle x}مع المعلمةك{\displaystyle k}ويحولها في وقت متعدد الحدود إلى مثالy{\displaystyle y}بحيث

  • x{\displaystyle x}هو فيل{\displaystyle L}إذا وفقط إذاy{\displaystyle y}هو فيل{\displaystyle L}و
  • حجمy{\displaystyle y}محدودة بدالة قابلة للحسابو{\displaystyle f}فيك{\displaystyle k}.

لاحظ أنه في هذه الصيغة، فإن الحد الأقصى لحجمy{\displaystyle y}وهذا يعني أن معلمةy{\displaystyle y}كما أنها محدودة بدالة فيك{\displaystyle k}.

الوظيفةو{\displaystyle f}يُشار إليه غالبًا بحجم النواة. إذاو=كيا(1){\displaystyle f=k^{O(1)}}يقال إنل{\displaystyle L}يقبل نواة متعددة الحدود. وبالمثل، بالنسبة لـو=يا(ك){\displaystyle f={O(k)}}، تقبل المسألة نواة خطية.

قابلية التحويل إلى نواة وقابلية المعالجة ذات المعلمات الثابتة متكافئتان

تكون المشكلة قابلة للحل باستخدام معلمات ثابتة إذا وفقط إذا كانت قابلة للتجزئة وقابلة للتقرير .

يمكن ملاحظة أن المسألة القابلة للتجزئة والتقرير هي مسألة قابلة للحل باستخدام معلمات ثابتة من التعريف أعلاه: أولاً، خوارزمية التجزئة، التي تعمل في وقتيا(|x|ج){\displaystyle O(|x|^{c})}يتم استدعاء الدالة لبعض قيم c لإنشاء نواة بحجمو(ك){\displaystyle f(k)}ثم يتم حل النواة بواسطة الخوارزمية التي تثبت أن المسألة قابلة للتقرير. إجمالي وقت تشغيل هذه العملية هوز(و(ك))+يا(|x|ج){\displaystyle g(f(k))+O(|x|^{c})}، أينز(ن){\displaystyle g(n)}يمثل زمن تشغيل الخوارزمية المستخدمة لحل النوى.ز(و(ك)){\displaystyle g(f(k))}يمكن حسابها، على سبيل المثال باستخدام الافتراض التالي:و(ك){\displaystyle f(k)}قابلة للحساب وتختبر جميع المدخلات الممكنة ذات الطولو(ك){\displaystyle f(k)}وهذا يعني أن المشكلة قابلة للحل باستخدام معلمات ثابتة.

أما الاتجاه الآخر، وهو أن المسألة القابلة للحل ذات المعاملات الثابتة قابلة للتجزئة والتقرير، فهو أكثر تعقيدًا بعض الشيء. لنفترض أن المسألة غير تافهة، أي أن هناك حالة واحدة على الأقل موجودة في اللغة، تُسمىأناyهـs{\displaystyle I_{yes}}ومثال واحد على الأقل غير موجود في اللغة، يُسمىأنانo{\displaystyle I_{no}}وإلا، فإن استبدال أي مثال بسلسلة فارغة يُعدّ تحويلًا صحيحًا إلى نواة. افترض أيضًا أن المشكلة قابلة للحل باستخدام معلمات ثابتة، أي أن لها خوارزمية تعمل في زمن لا يتجاوزو(ك)|x|ج{\displaystyle f(k)\cdot |x|^{c}}خطوات على الحالات(x،ك){\displaystyle (x,k)}، لبعض الثوابتج{\displaystyle c}وبعض الوظائفو(ك){\displaystyle f(k)}لتحويل المدخلات إلى نواة، قم بتشغيل هذه الخوارزمية على المدخلات المعطاة لمدة لا تتجاوز|x|ج+1{\displaystyle |x|^{c+1}}الخطوات. إذا انتهت العملية بإجابة، فاستخدم تلك الإجابة لتحديد أحد الخيارينأناyهـs{\displaystyle I_{yes}}أوأنانo{\displaystyle I_{no}}كما هو الحال في النواة. أما إذا تجاوزت،|x|ج+1{\displaystyle |x|^{c+1}}حدد عدد الخطوات دون إنهاء العملية، ثم أعد(x،ك){\displaystyle (x,k)}نفسها كنواة. لأن(x،ك){\displaystyle (x,k)}لا يتم إرجاعها كنواة إلا للمدخلات التي تحتوي علىو(ك)|x|ج>|x|ج+1{\displaystyle f(k)\cdot |x|^{c}>|x|^{c+1}}وبالتالي، فإن حجم النواة المنتجة بهذه الطريقة هو على الأكثرالأعلى{|أناyهـs|،|أنانo|،و(ك)}{\displaystyle \max\{|I_{yes}|,|I_{no}|,f(k)\}}يمكن حساب هذا الحد الأقصى للحجم، بافتراض قابلية المعالجة ذات المعلمات الثابتة أنو(ك){\displaystyle f(k)}قابل للحساب.

أمثلة أخرى

  • تغطية الرؤوس المُعَلمة بحجم تغطية الرؤوس: تحتوي مسألة تغطية الرؤوس على نوى ذات حجم لا يتجاوز2ك{\displaystyle 2k}الرؤوس ويا(ك2){\displaystyle O(k^{2})}الحواف. [ 5 ] علاوة على ذلك، لأيε>0{\displaystyle \varepsilon >0}، لا يحتوي غطاء الرأس على نوى معيا(ك2-ε){\displaystyle O(k^{2-\varepsilon })}الحواف ما لمcoNPNP/poly{\displaystyle {\text{coNP}}\subseteq {\text{NP/poly}}}[ 4 ] مسائل تغطية الرؤوس فيد{\displaystyle d}تحتوي الرسوم البيانية الفائقة المنتظمة على نوى معيا(كد){\displaystyle O(k^{d})}حواف باستخدام لِمّا عباد الشمس ، ولا تحتوي على نوى بحجميا(كد-ε){\displaystyle O(k^{d-\varepsilon })}إلا إذاcoNPNP/poly{\displaystyle {\text{coNP}}\subseteq {\text{NP/poly}}}[ 4 ]
  • مجموعة رؤوس التغذية الراجعة المُعَلمة بحجم مجموعة رؤوس التغذية الراجعة: تحتوي مشكلة مجموعة رؤوس التغذية الراجعة على نوى مع4ك2{\displaystyle 4k^{2}}الرؤوس ويا(ك2){\displaystyle O(k^{2})}الحواف. [ 6 ] علاوة على ذلك، لا تحتوي على نوى ذاتيا(ك2-ε){\displaystyle O(k^{2-\varepsilon })}الحواف ما لمcoNPNP/poly{\displaystyle {\text{coNP}}\subseteq {\text{NP/poly}}}[ 4 ]
  • ك{\displaystyle k}-المسار: الـك{\displaystyle k}تتمثل مشكلة المسار في تحديد ما إذا كان الرسم البياني المعطى يحتوي على مسار بطول لا يقل عنك{\displaystyle k}تحتوي هذه المسألة على نوى ذات حجم أسي فيك{\displaystyle k}ولا تحتوي على نوى ذات حجم متعدد الحدود فيك{\displaystyle k}إلا إذاcoNPNP/poly{\displaystyle {\text{coNP}}\subseteq {\text{NP/poly}}}[ 7 ]
  • المسائل ثنائية الأبعاد: تحتوي العديد من النسخ المعلمة للمسائل ثنائية الأبعاد على نوى خطية على الرسوم البيانية المستوية، وبشكل أكثر عمومية، على الرسوم البيانية باستثناء رسم بياني ثابت كجزيء صغير . [ 8 ]

استخدام النواة في تحديد المعلمات الهيكلية

بينما المعلمةك{\displaystyle k}في الأمثلة السابقة، تم اختيار حجم الحل المطلوب، وهذا ليس شرطًا. من الممكن أيضًا اختيار مقياس التعقيد الهيكلي للمدخلات كقيمة للمعامل، مما يؤدي إلى ما يُسمى بالمعاملات الهيكلية. يُعد هذا النهج مفيدًا للحالات التي يكون فيها حجم الحل كبيرًا، ولكن يكون فيها مقياس تعقيد آخر محدودًا. على سبيل المثال، عدد رؤوس التغذية الراجعة في رسم بياني غير موجه.جي{\displaystyle G}يُعرَّف بأنه الحد الأدنى لعدد رؤوس مجموعة الرؤوس التي يؤدي حذفها إلىجي{\displaystyle G}غير دوري. مسألة تغطية الرؤوس، المُعَلمة بعدد رؤوس التغذية الراجعة للرسم البياني المُدخل، لها نواة متعددة الحدود: [ 9 ] توجد خوارزمية زمنية متعددة الحدود، تُعطى رسمًا بيانيًاجي{\displaystyle G}رقم رأس التغذية الراجعة الخاص به هوك{\displaystyle k}، يُخرج رسمًا بيانيًاجي{\displaystyle G'}علىيا(ك3){\displaystyle O(k^{3})}الرؤوس التي تشكل غطاءً أدنى للرؤوس فيجي{\displaystyle G'}يمكن تحويلها إلى غطاء رأسي أدنى لـجي{\displaystyle G}في وقت متعدد الحدود. وبالتالي، تضمن خوارزمية النواة أن الحالات ذات عدد رؤوس التغذية الراجعة الصغيرك{\displaystyle k}يتم اختزالها إلى حالات صغيرة.

انظر أيضاً

ملحوظات

  1. تم الاعتراف بهذه الملاحظة غير المنشورة في ورقة بحثية لبوس وجولدسميث (1993).
  2. فلوم وغروهي (2006)
  3. يقدم فلوم وغروهي (2006) نواة تستند إلى اختزال التاج الذي3ك{\displaystyle 3k}الرؤوس. ال2ك{\displaystyle 2k}يُعدّ ربط الرؤوس أكثر تعقيدًا وأكثر شيوعًا في التراث الشعبي.
  4. 1 2 3 4 ديل وفان ملكيبيك (2010)
  5. ^ تشن وكانج وجيا (2001)
  6. توماسيه (2010)
  7. بودليندر وآخرون (2009)
  8. فومين وآخرون (2010)
  9. ^ يانسن وبودلايندر (2013)

مراجع

للمزيد من القراءة

  • فومين، فيدور ف.؛ لوكشتانوف، دانيال؛ سوراب، ساكيت؛ زهافي، ميراف (2019)، التكوينل: نظرية المعالجة المسبقة المُعَلمة ، مطبعة جامعة كامبريدج، ص  528، doi : 10.1017/9781107415157 ، ISBN 978-1107057760
  • نيدرماير، رولف (2006)، دعوة إلى خوارزميات المعلمات الثابتة ، مطبعة جامعة أكسفورد، الفصل 7، ISBN 0-19-856607-7تمت أرشفة هذا النص من المصدر الأصلي بتاريخ 29 سبتمبر 2007 ، وتمت معاينته بتاريخ 1 يونيو 2017.
  • سيجان، ماريك؛ فومين، فيدور الخامس؛ كواليك، لوكاش؛ لوكشتانوف، دانيال؛ ماركس، دانيال؛ بيليبتشوك، مارسين؛ بيليبتشوك، ميشال؛ سوراب، ساكيت (2015)، الخوارزميات ذات المعلمات ، سبرينغر، الفصلان 2 و 9، ISBN 978-3-319-21274-6