مشكلة التقسيم

في نظرية الأعداد وعلوم الحاسوب ، تُعرف مسألة التقسيم ، أو تقسيم الأعداد ، [ 1 ] بأنها مهمة تحديد ما إذا كان بالإمكان تقسيم مجموعة متعددة S من الأعداد الصحيحة الموجبة إلى مجموعتين جزئيتين S1 و S2 بحيث يكون مجموع الأعداد في S1 مساويًا لمجموع الأعداد في S2 . على الرغم من أن مسألة التقسيم مصنفة ضمن مسائل NP- كاملة ، إلا أن هناك حلًا لها باستخدام البرمجة الديناميكية في زمن شبه متعدد الحدود ، كما توجد طرق استدلالية لحل المسألة في كثير من الحالات، إما بشكل أمثل أو تقريبي. لهذا السبب، تُسمى "أسهل مسألة صعبة". [ 2 ] [ 3 ]

توجد نسخة مُحسَّنة من مسألة التقسيم، وهي تقسيم المجموعة المتعددة S إلى مجموعتين جزئيتين S1 و S2 بحيث يتم تقليل الفرق بين مجموع عناصر S1 ومجموع عناصر S2 . تُصنَّف النسخة المُحسَّنة ضمن المسائل الصعبة حسابيًا (NP-hard) ، ولكن يمكن حلها بكفاءة في التطبيق العملي. [ 4 ]

تُعتبر مسألة التقسيم حالة خاصة من مسألتين مرتبطتين:

  • في مسألة مجموع المجموعة الجزئية ، يكون الهدف هو إيجاد مجموعة جزئية من S يكون مجموعها هو رقم هدف معين T معطى كمدخل (مسألة التقسيم هي الحالة الخاصة التي يكون فيها T نصف مجموع S ).
  • في تقسيم الأعداد متعددة الاتجاهات ، يوجد معلمة عددية صحيحة k ، والهدف هو تحديد ما إذا كان من الممكن تقسيم S إلى k مجموعات فرعية متساوية المجموع (مشكلة التقسيم هي الحالة الخاصة التي يكون فيها k = 2).

مع ذلك، يختلف هذا الأمر تمامًا عن مسألة التقسيم الثلاثي : ففي تلك المسألة، لا يُحدد عدد المجموعات الجزئية مسبقًا، بل يجب أن يكون | S |/3، حيث يجب أن تحتوي كل مجموعة جزئية على 3 عناصر بالضبط. وتُعدّ مسألة التقسيم الثلاثي أصعب بكثير من مسألة التقسيم، إذ لا يوجد لها خوارزمية ذات زمن شبه متعدد الحدود إلا إذا كانت P = NP . [ 5 ]

أمثلة

إذا كانت S = {3,1,1,2,2,1}، فإن أحد الحلول الصحيحة لمسألة التقسيم هو المجموعتان S1 = {1,1,1,2} و S2 = {2,3}. مجموع المجموعتين يساوي 5، وهما تقسمان S. هذا الحل ليس وحيدًا. S1 = { 3,1,1 } و S2 = { 2,2,1 } حل آخر.

ليس لكل مجموعة متعددة من الأعداد الصحيحة الموجبة تقسيم إلى مجموعتين جزئيتين متساويتين في المجموع. مثال على هذه المجموعة هو S = {2,5}.

الصلابة الحسابية

تُعدّ مسألة التقسيم من المسائل الصعبة حسابيًا (NP-hard). ويمكن إثبات ذلك بالاختزال من مسألة مجموع المجموعات الجزئية . [ 6 ] تتكون حالة من مسألة مجموع المجموعات الجزئية من مجموعة S من الأعداد الصحيحة الموجبة ومجموع مستهدف T ؛ والهدف هو تحديد ما إذا كانت هناك مجموعة جزئية من S مجموعها يساوي T تمامًا . 

بالنظر إلى هذه الحالة ، قم بإنشاء حالة من خوارزمية التقسيم (Partition) حيث تحتوي مجموعة الإدخال على المجموعة الأصلية بالإضافة إلى عنصرين: z1 و z2، مع كون z1 = مجموع (S) و z2 = 2T . مجموع مجموعة الإدخال هذه هو مجموع ( S ) + z1 + z2 = 2 مجموع ( S ) + 2T ، لذا فإن مجموع الهدف لخوارزمية التقسيم هو مجموع ( S ) + T.              

  • لنفترض وجود حل S لمسألة SubsetSum. إذن، sum( S ) = T ، وبالتالي sum(S z1 ) = sum( S ) + T ، لذا فإن S z1 هو حل لمسألة Partition.        
  • على النقيض، لنفترض وجود حل S ' ' لمسألة التقسيم. عندئذٍ، يجب أن يحتوي S ' ' إما على z1 أو z2 ، وليس كليهما ، لأن مجموعهما أكبر من مجموع S + T. إذا كان S '' يحتوي على z1 ، فإنه يجب أن يحتوي على عناصر من S مجموعها يساوي T بالضبط ، وبالتالي فإن S '' ناقص z1 هو حل لمسألة مجموع المجموعات الفرعية. إذا كان S ' ' يحتوي على z2 ، فإنه يجب أن يحتوي على عناصر من S مجموعها يساوي مجموع S - T بالضبط ، وبالتالي فإن العناصر الأخرى في S هي حل لمسألة مجموع المجموعات الفرعية.     

خوارزميات التقريب

كما ذُكر سابقًا، تُعدّ مسألة التقسيم حالةً خاصةً من التقسيم متعدد الاتجاهات ومسألة مجموع المجموعات الجزئية. لذا، يُمكن حلّها باستخدام خوارزميات مُطوّرة لكلٍّ من هاتين المسألتين. تشمل الخوارزميات المُطوّرة لتقسيم الأعداد متعدد الاتجاهات ما يلي:

  • تجزئة الأعداد الجشعة - تمر على الأعداد، وتضع كل عدد في المجموعة التي يكون مجموعها الحالي هو الأصغر. إذا لم تكن الأعداد مرتبة، فإن زمن التشغيل هو O( n ) ونسبة التقريب لا تتجاوز 3/2 (نسبة التقريب تعني المجموع الأكبر في مخرجات الخوارزمية مقسومًا على المجموع الأكبر في التجزئة المثلى). يؤدي ترتيب الأعداد إلى زيادة زمن التشغيل إلى O( n  log n ) وتحسين نسبة التقريب إلى 7/6. إذا كانت الأعداد موزعة بانتظام في [0,1]، فإن نسبة التقريب لا تتجاوز 1+يا(سجلسجلنن){\textstyle 1+O\left({\frac {\log \log n}{n}}\right)}من شبه المؤكد ، و1+يا(1ن){\textstyle 1+O\left({\frac {1}{n}}\right)}في انتظار ذلك.
  • تقوم طريقة أكبر فرق (وتُسمى أيضًا خوارزمية كارماركار-كارب ) بترتيب الأرقام تنازليًا، ثم تستبدل الأرقام بشكل متكرر بفروقها. يبلغ تعقيد وقت التشغيل O( n  log n ). في أسوأ الحالات، تكون نسبة التقريب مماثلة - 7/6 على الأكثر . مع ذلك، في الحالة المتوسطة، يكون أداؤها أفضل بكثير من الخوارزمية الجشعة : فعندما تكون الأرقام موزعة بانتظام في [0,1]، تكون نسبة التقريب على الأكثر 1+1/نΘ(سجلن){\textstyle 1+1/n^{\Theta (\log n)}}كما أنه يحقق أداءً أفضل في تجارب المحاكاة.
  • تستخدم خوارزمية التوفيق المتعدد البحث الثنائي مع خوارزمية لتعبئة الصناديق . وفي أسوأ الحالات، تبلغ نسبة التقريب 8/7 .
  • تحتوي مسألة مجموع المجموعة الجزئية على خوارزمية FPTAS يمكن استخدامها لمسألة التقسيم أيضًا، وذلك عن طريق تعيين المجموع المستهدف إلى sum( S )/2.

خوارزميات دقيقة

توجد خوارزميات دقيقة تجد دائمًا التقسيم الأمثل. ولأن المسألة من المسائل الصعبة حسابيًا (NP-hard)، فقد تستغرق هذه الخوارزميات وقتًا أُسّيًا في الغالب، ولكنها قد تكون قابلة للاستخدام عمليًا في بعض الحالات. تشمل الخوارزميات المطورة لتقسيم الأعداد متعددة الاتجاهات ما يلي:

  • يستغرق تقسيم العدد في وقت شبه متعدد الحدوديا(ن2م){\textstyle O(n^{2}m)}الوقت والاحتياجاتيا(نم){\textstyle O(nm)}الذاكرة، حيث يمثل m أكبر رقم في المدخلات.
  • تعتمد خوارزمية الجشع الكاملة (CGA) على بناء شجرة ثنائية لدراسة جميع التقسيمات . يُمثل كل مستوى في الشجرة رقمًا مُدخلًا، حيث يُمثل الجذر أكبر رقم، والمستوى الذي يليه يُمثل الرقم الذي يليه في الحجم، وهكذا. يُمثل كل فرع مجموعة مختلفة يُمكن وضع الرقم الحالي فيها. يتطلب اجتياز الشجرة بترتيب البحث العمقي أولًا فقطيا(ن){\textstyle O(n)}مساحة، ولكن قد يستغرق الأمر بعض الوقتيا(2ن){\textstyle O(2^{n})}يمكن تحسين وقت التشغيل باستخدام خوارزمية جشعة: في كل مستوى، يتم أولاً تطوير الفرع الذي يُوضع فيه العدد الحالي في المجموعة ذات أصغر مجموع. تجد هذه الخوارزمية أولاً الحل الذي تم التوصل إليه بواسطة تجزئة الأعداد الجشعة ، ثم تبحث عن حلول أفضل. بعض الاختلافات في هذه الفكرة هي مخططات تقريبية ذات وقت متعدد الحدود بالكامل لمسألة مجموع المجموعات الجزئية، وبالتالي لمسألة التجزئة أيضًا. [ 7 ] [ 8 ]
  • تعتمد خوارزمية كارماركار-كارب الكاملة (CKK) على بناء شجرة ثنائية لدراسة جميع التقسيمات. يُمثل كل مستوى زوجًا من الأرقام. يُشير الفرع الأيسر إلى وضع هذه الأرقام في مجموعات فرعية مختلفة (أي استبدالها بفرقها)، بينما يُشير الفرع الأيمن إلى وضعها في نفس المجموعة الفرعية (أي استبدالها بمجموعها). تبدأ هذه الخوارزمية بإيجاد الحل الذي تم التوصل إليه باستخدام طريقة أكبر فرق ، ثم تنتقل إلى إيجاد حلول أفضل. تعمل هذه الخوارزمية بسرعة أكبر بكثير من خوارزمية CGA على الحالات العشوائية. وتزداد ميزتها بشكل ملحوظ عند وجود تقسيم متساوٍ، وقد تصل إلى عدة مراتب. عمليًا، يُمكن حل مسائل ذات أحجام عشوائية باستخدام CKK إذا كانت الأرقام تحتوي على 12 رقمًا معنويًا على الأكثر . [ 9 ] كما يُمكن تشغيل CKK كخوارزمية فورية : حيث تجد حل كارماركار-كارب أولًا، ثم تجد حلولًا أفضل تدريجيًا كلما سمح الوقت بذلك (قد يتطلب ذلك وقتًا أُسّيًا للوصول إلى الحل الأمثل، في أسوأ الحالات). [ 1 ]يا(ن)على)مساحة، ولكن في أسوأ الأحوال قد يستغرق الأمريا(2ن)O(2^{n})وقت.

تتضمن الخوارزميات المطورة لحساب مجموع المجموعات الجزئية ما يلي:

  • هورويتز وسانحي - يسيران في الوقت المحدديا(2ن/2(ن/2))O(2^{n/2}\cdot (n/2))لكن ذلك يتطلبيا(2ن/2)O(2^{n/2})فضاء.
  • شرويبل وشامير - يسيران في الوقت المناسب يا(2ن/2(ن/4))O(2^{n/2}\cdot (n/4))ويتطلب مساحة أقل بكثير –يا(2ن/4){\textstyle O(2^{n/4})}.
  • هاوغريف-غراهام وجوكس – يركضان في الوقت المناسبيا(2ن/3){\textstyle O(2^{n/3})}، لكنها خوارزمية عشوائية تحل مشكلة القرار فقط (وليس مشكلة التحسين).

الحالات الصعبة والانتقال الطوري

تميل المجموعات التي تحتوي على قسم واحد فقط، أو لا تحتوي على أي أقسام، إلى أن تكون الأصعب (أو الأكثر تكلفة) في الحل مقارنةً بأحجام مدخلاتها. عندما تكون القيم صغيرة مقارنةً بحجم المجموعة، يكون احتمال وجود أقسام مثالية أكبر. من المعروف أن المشكلة تمر بـ " انتقال طوري "؛ حيث تكون محتملة لبعض المجموعات وغير محتملة لمجموعات أخرى. إذا كان m هو عدد البتات اللازمة للتعبير عن أي رقم في المجموعة، و n هو حجم المجموعة، فإنم/ن<1{\displaystyle m/n<1}يميل إلى أن يكون له حلول عديدة وم/ن>1{\displaystyle m/n>1}يميل هذا إلى امتلاك حلول قليلة أو معدومة. ومع ازدياد قيمتي n و m، فإن احتمال وجود تقسيم مثالي يقترب من 1 أو 0 على التوالي. وقد تم الاستدلال على ذلك في الأصل بناءً على أدلة تجريبية من قبل جينت ووالش، [ 10 ] ثم باستخدام أساليب من الفيزياء الإحصائية من قبل ميرتنز، [ 11 ] [ 12 ] وأثبته لاحقًا بورغز ، تشايز ، وبيتل . [ 13 ]

النسخة الاحتمالية

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

المتغيرات والتعميمات

التقسيم ذو العدد المتساوي هو نوع من التقسيم حيث يجب أن يحتوي كلا الجزأين على عدد متساوٍ من العناصر، بالإضافة إلى تساوي مجموعهما. هذا النوع من التقسيم صعب حسابيًا (NP-hard) أيضًا. [ 5 ] : برهان SP12 . بفرض وجود تقسيم قياسي يحتوي على n عددًا، قم بإنشاء تقسيم ذي عدد متساوٍ من العناصر بإضافة n أصفار. من الواضح أن التقسيم الجديد يحتوي على تقسيم ذي عدد متساوٍ من العناصر ومجموع متساوٍ إذا وفقط إذا كان التقسيم الأصلي يحتوي على تقسيم ذي مجموع متساوٍ. انظر أيضًا: تقسيم الأعداد المتوازن .

تُعرف عملية تقسيم المنتج بأنها تقسيم مجموعة من الأعداد الصحيحة إلى مجموعتين لهما نفس المنتج (بدلاً من نفس المجموع). وتُصنف هذه المسألة ضمن المسائل الصعبة للغاية من نوع NP . [ 14 ]

يناقش كوفاليوف وبيش [ 15 ] نهجًا عامًا لإثبات صعوبة NP لمشاكل نوع التقسيم.

التطبيقات

يُستخدم أحد تطبيقات مسألة التقسيم في التلاعب بالانتخابات . لنفترض وجود ثلاثة مرشحين (أ، ب، ج). يُراد انتخاب مرشح واحد باستخدام قاعدة تصويت تعتمد على نظام النقاط، كقاعدة الفيتو (حيث يستخدم كل ناخب حق النقض ضد مرشح واحد، ويفوز المرشح الحاصل على أقل عدد من عمليات الفيتو). إذا أراد ائتلاف ضمان انتخاب ج، فعليه تقسيم أصواته بين أ و ب بحيث يحصل كل منهما على أقل عدد ممكن من عمليات الفيتو. إذا كانت الأصوات مُرجّحة، فيمكن اختزال المسألة إلى مسألة التقسيم، وبالتالي يمكن حلها بكفاءة باستخدام خوارزمية CKK. وينطبق الأمر نفسه على أي قاعدة تصويت أخرى تعتمد على نظام النقاط. [ 16 ]

ملحوظات

  1. 1 2 كورف 1998 .
  2. هايز، برايان (مارس-أبريل 2002)، "أسهل مشكلة صعبة" (ملف PDF) ، مجلة ساينتست الأمريكية ، المجلد  90، العدد  2، سيجما إكس آي، جمعية البحث العلمي، الصفحات 113-117 ، JSTOR 27857621  
  3. ميرتنز 2006 ، ص 125 . 
  4. كورف، ريتشارد إي. (2009). تقسيم الأرقام متعدد الاتجاهات (ملف PDF) . المؤتمر الدولي المشترك للذكاء الاصطناعي .
  5. 1 2 غاري، مايكل؛ جونسون، ديفيد (1979). الحواسيب والاستعصاء: دليل لنظرية اكتمال NP . الصفحات 96-105 . ISBN  978-0-7167-1045-5.
  6. جودريتش، مايكل. "المزيد من مسائل NP الكاملة و NP الصعبة" (PDF) .
  7. ^ هانز كيلير. أولريش فيرشي؛ ديفيد بيسنجر (2004). مشاكل الحقيبة . سبرينغر. ص. 97. ردمك  9783540402862.
  8. مارتيلو، سيلفانو؛ توث، باولو (1990). "مسألة مجموع المجموعات الجزئية" . مسائل حقيبة الظهر: الخوارزميات والتفسيرات الحاسوبية . وايلي-إنترساينس. ص 105-136 . ISBN  978-0-471-92420-3MR 1086874 . 
  9. كورف، ريتشارد إي. (20 أغسطس 1995). "من الحلول التقريبية إلى الحلول المثلى: دراسة حالة لتقسيم الأعداد" . وقائع المؤتمر الدولي المشترك الرابع عشر حول الذكاء الاصطناعي . IJCAI'95. المجلد 1. مونتريال، كيبيك، كندا: دار مورغان كوفمان للنشر. الصفحات 266-272 . ISBN   978-1-55860-363-9.
  10. جنت ووالش 1996 .
  11. ميرتنز 1998 .
  12. ميرتنز 2001 ، ص 130.
  13. ^ بورجس، تشايس وبيتل 2001 .
  14. ^ نغ، ط م. باركيتو، MS؛ تشنغ، أشكال التعبير الثقافي التقليدي؛ كوفاليوف ، ميخائيل ي. (2010/12/01). ""تقسيم المنتج" والمشاكل ذات الصلة بجدولة وموثوقية الأنظمة: التعقيد الحسابي والتقريب . المجلة الأوروبية لبحوث العمليات . 207 (2): 601-604 . doi : 10.1016/j.ejor.2010.05.034 . ISSN 0377-2217 . 
  15. كوفاليوف، ميخائيل ي.؛ بيش، إروين (28-10-2010). "نهج عام لإثبات صعوبة مسائل التقسيم من نوع NP" . الرياضيات التطبيقية المنفصلة . 158 (17): 1908-1912 . doi : 10.1016/j.dam.2010.08.001 . ISSN 0166-218X . 
  16. والش، توبي (11 يوليو/تموز 2009). "أين تكمن مشاكل التلاعب الصعبة حقًا؟ التحول الطوري في التلاعب بقاعدة الفيتو" (ملف PDF) . كُتب في باسادينا، كاليفورنيا، الولايات المتحدة الأمريكية. وقائع المؤتمر الدولي الحادي والعشرين المشترك حول الذكاء الاصطناعي . سان فرانسيسكو، كاليفورنيا، الولايات المتحدة الأمريكية: دار مورغان كوفمان للنشر. الصفحات 324-329 . أُرشف (ملف PDF) من الأصل في 10 يوليو/تموز 2020. تم الاطلاع عليه في 5 أكتوبر/تشرين الأول 2021 . 

مراجع