Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

‫املركزالوطينللمتميزين‬

‫‪The National Centre for the Distinguished‬‬

‫‪Travelling salesman problem‬‬

‫تقديم الطالب‪ :‬حسين يونس‬


‫إشراف المدرس‪ :‬علي جنيدي‬
‫تاريخ‪1112/11/13 :‬‬

‫ملخص‬
‫يقدم هذا البحث مناقشة ملسألة البائع املتجول املشهورة واليت مل يعرف هلا حل بكثري حدود زمين‪ ،‬باإلضافة إىل مقارنة بني‬
‫عدة خوارزميات حلل هذه املسألة وتقدمي احلل األفضل مع إضفاء حتسينات على هذا احلل‪.‬‬

‫‪1‬‬
‫الفهرس‬
4 .........................................................................................:‫املقدمة‬
5 ...........................................: fundamentals of TSP : ‫الباب ا ألول‬
5 .....................................................: TSP definition : ‫الفصل ا ألول‬
6 .............................................: historical spotlights : ‫الفصل الثاين‬
9 ...........................................:TSP is NP-complete : ‫الفصل الثالث‬
11 ........................: simple ALGOs to solve the TSP : ‫الباب الثاين‬
11 ..........................................................: Brute force : ‫الفصل ا ألول‬
11 ...............................................: Nearest neighbor : ‫الفصل الثاين‬
15 ...............................................................: Greedy : ‫الفصل الثالث‬
16 .................: advanced ALGOs to solve the TSP : ‫الباب الثالث‬
16 ......: using triangle inequality to solve the TSP : ‫الفصل ا ألول‬
18 ....................................: 2-opt ad 3-opt heuristic : ‫الفصل الثاين‬
21 ................................................ : genetic ALGOs: ‫الفصل الثالث‬
24 ...................................................................................... : ‫النتاجئ‬
25 .......................................................................................: ‫اخلامتة‬
26 ..........................................................................: ‫املصادر واملراجع‬

2
‫فهرس األشكال‬
‫شلك ‪7 ...................................................:A TSP complete graph: 1‬‬
‫شلك ‪ : 2‬مثال توضيحي للمسأأةل ‪11 ..........................................................:‬‬
‫شلك ‪ : 1‬توضيح معل خوارزمية الــ ‪17 .............................................:MST‬‬
‫شلك ‪19 ................................................................: A 2-opt move: 4‬‬
‫شلك ‪19 ...........................................................: A 3-opt move(1): 5‬‬
‫شلك ‪20 ...........................................................: A 3-opt move(2): 6‬‬
‫شلك ‪21 ...............................................................: A 2-opt move: 7‬‬
‫شلك ‪ :8‬كروموسوم اجليل الابتدايئ‪22 ..................................................... :‬‬

‫‪3‬‬
‫المقدمة وإشكالية البحث‪:‬‬
‫افرض أنك بائع متجول يف إحدى الدول‪ ،‬ولديك عدد من املناطق عليك زيارهتا ولديك مسافة أو زمن بني كل منطقتني وتريد أن‬
‫تسلك أقصر طريق ممكن مير من كل هذه املناطق حبيث ال متر من املنطقة نفسها مرتني لتعود يف النهاية إىل املكان الذي انطلقت‬
‫منه‪.‬‬

‫لنناقش ذلك قليالً يف البداية‪ :‬يف حال كان عدد املناطق صغري‪ ،‬فيمكن إجياد اإلجابة بسهولة عن طريق النظر إىل كل الطرق املمكنة‬
‫واختيار الطريق األقصر من بينها‪ ،‬ولكن مع تزايد عدد املناطق سوف تصبح هذه الطريقة بطيئة بشكل رهيب‪ ،‬فهل يا ترى هناك‬
‫طريقة أفضل لفعل هذا؟ وهل يوجد خوارزمية بإمكاهنا إعطاء إجابة خالل فرتة زمنية منطقية حىت لو كان عدد املناطق ضخم؟‬

‫علينا أوالً الوقوف عند ما تعنيه "الفرتة الزمنية املنطقية"‪:‬‬

‫إن الوقت الذي يلزم إي خوارزمية لتنفذ مهمتها يتعلق بعدد اخلطوات اليت عليها تنفيذها‪ ،‬على سبيل املثال‪ ،‬قد جند خوارزمية حتتا‬
‫‪ n2‬خطوة حلل املسألة من أجل ‪ n‬منطقة‪ ،‬ففي حال كان عدد املناطق ‪ 01‬فإننا حباجة لتنفيذ ‪ 011‬خطوة‪ ،‬وإذا كان عددها ‪01‬‬
‫فإننا حباجة لتنفيذ ‪ 011‬عملية أو خطوة‪ ،‬لرمبا هذا يبدو سيئاً وطويالً يف نظركم ولكن اخلوارزميات املتوفرة حالياً حلل هذه املسألة‬
‫أسوأ بكثري حيث تأخذ ‪ 2n‬خطوة من أجل ‪ n‬منطقة‪ ،‬وبالتايل ‪ 01‬مناطق تتطلب تنفيذ ‪ 0100‬خطوة و‪ 01‬منطقة تتطلب تنفيذ‬
‫أكثر من مليون خطوة‪.‬‬

‫لدى علماء الرياضيات صورة واضحة عن ما تعنيه الفرتة الزمنية املنطقية وهي العبارات املتضمنة لكثريات حدود لـ ‪ ،n‬يدعى هذا‬
‫النوع من اخلوارزميات بصف التعقيد ‪.P‬‬

‫أما اآلن فبدالً من حماولة إجياد أقصر طريق لنحاول معرفة إذا كان يوجد هناك طريق أقصر من عدد ما وليكن ‪ d‬حمدد مسبقاً‪ ،‬هذه‬
‫تسمى بنسخة القرار من البائع املتجول ألن اإلجابة عليها تكون إما ب ـ نعم أو ال‪ ،‬وال أحد يعرف أنه يوجد أيضاً خوارزمية‬
‫املسألة ّ‬
‫حل هلذه املسألة فإن التحقق‬
‫كثري حدود زمين حلل نسخة القرار من مسألة البائع املتجول ولكن على األقل إن قام أحدهم بإعطائك ّ‬
‫من صحة هذا احلل سهل للغاية‪.‬‬

‫حيث أن جمموعة مسائل القرار اليت ميكن التحقق من صحة حل ما هلا بسهولة (يوجد خوارزمية كثري حدود زمين للتحقق من احلل‬
‫تسمى هذه املسائل مبسائل صف التعقيد ‪.NP‬‬

‫وهذا يقودنا لألسئلة التالية‪:‬‬

‫‪ ‬هل تنتمي مسألة البائع المتجول إلى صف التعقيد ‪NP‬؟‬


‫‪ ‬وبالتالي هل يوجد خوارزمية كثير حدود زمني لحل مسألة البائع المتجول؟‬
‫‪ ‬وما هي الخوارزميات التي بإمكانها المساعدة في إيجاد حلول جيّدة لهذه المسألة؟‬

‫‪4‬‬
‫الباب األول‪fundamentals of TSP :‬‬

‫الفصل األول‪ :‬لمحة تاريخية‪scientists conflict :‬‬

‫متت اإلشارة هلذه املسألة للمرة األوىل يف أملانيا عام ‪ 0380‬يف كتاب "البائع املتجول الناجح" وكان كارل منجر هو أول رياضي‬

‫كتب عن هذه املسألة حيث أنه أراد إجياد ) ‪ l (c‬حيث ‪ C‬هو مسطح بسيط يف الفضاء املرتي ‪ S‬وحسب التعريف هو‪:‬‬
‫‪n 1‬‬
‫) ‪l (c )  sup  dist (x i , x i 1‬‬
‫‪i 1‬‬

‫على ‪ C‬حسب الرتتيب الذي يضعه‬ ‫‪x 1 , x 2 ,......., x n 1‬‬ ‫عندما القيم األفضل )‪ (supremes‬نأخذها على كل اختيار‬
‫‪ ،C‬وما بينه منجر حلل هذه املسألة هو أننا نستطيع أن نفحص كل اجملموعات اجلزئية النهائية ‪ X‬ل ـ ‪ C‬أي أنه‪:‬‬
‫‪ n  N : X  C , X  n‬وعندها نأخذ القيمة الدنيا لكل الرتتيبات ‪ ،X‬لذا عرف لكل جمموعة جزئية ‪ X‬لفضاء‬
‫مرتي ‪  (X ) :S‬وهو طول املسار األقصر الذي ممير من خالله‪ ،‬وقد برهن اآليت‪:‬‬

‫) ‪l (c )  supX  (X‬‬
‫وعاد منجر يف عام ‪ 0381‬وقدم املشكلة بشكل أوضح وعدها مسألة منفصلة‪ ،‬واعتمد يف حله على القوة الغامشة‬

‫)‪ (brute force‬الذي سأحتدث عنه الحقاً‪ ،‬كما أشار يف وقت الحق إىل عدم جدوى طريقة اجلار األقرب احلدسية‪ ،‬ويف العام‬
‫ذاته وضع وايتنر )‪ (Witner‬ألول مرة املسألة حتت مسمى "‪ "travelling salesman‬ويف الفرتة ما بني ‪1960-1950‬‬
‫بدأت مسألة البائع املتجول تأخذ باالنتشار يف األوساط العلمية وخصوصاً يف أوروبا و الواليات املتحدة األمريكية‪.‬‬

‫ويف هذه األنثناء وعندما زادت شدة التحدي بني رواد اخلوارزميات استطاع عدة باحثني منهم دانتزيك )‪ (Dantzic‬وجونسون‬
‫)‪ ،(johnson‬بطريقة الربجمة اخلطية تطوير طريقة التقسيم الشجري "‪ ،"cutting plane‬فبهذه الطريقة اجلديدة أمكن حل‬
‫املشكلة وإجياد رحلة ينب ‪ 03‬مدينة وأنثبتوا عدم وجود رحلة أقصر منها‪.‬‬

‫يف العقود الالحقة مدرست املشكلة من العديد من الرياضيني والفيزيائيني والكيميائيني وغريهم من العلماء‪،‬‬

‫إىل أن جاء كارب )‪ (Karp‬يف عام ‪ 0390‬وأدر مسألة دارة هاملتون حتت ال ـ ‪ ،NP_complete problems 00‬وهذا‬
‫ما أظهر للجميع صعوبة إجياد أفضل رحلة حاسوبياً سواء بتعقيد من رتبة تابعية أو غريه‪.‬‬

‫‪5‬‬
‫ومن حينها بدأ العلماء يطورون الكثري من الطرق حلل املسألة بشكل مباشر مثل‪ :‬اخلوارزميات اجلينية‪ ،‬والربجمة اخلطية املختلطة‪.‬‬

‫وما زالت األحباث تكتب حىت يومنا هذا عن مشكلة البائع املتجول واملسائل املشتقة منها‪.‬‬

‫الفصل الثاني‪ :‬التعريف بالمشكلة‪TSP Definition :‬‬


‫تعترب مسألة البائع املتجول من أهم مسائل التعقيد احلسايب‪ ،‬وهنا نص مسألة البائع املتجول التقليدية األساسية‪:‬‬

‫وصل تاجر إىل دولة فيها ‪ n‬مدينة ويريد البائع أن يزور كل مدينة يف الدولة مرة واحدة فقط وبأقل وقت سفر ممكن أو أقصر مسافة‬
‫ممكنة مث يعود إىل املدينة اليت بدأ منها‪.‬‬

‫وبصورة أخرى لدينا (‪:)weighted complete graph‬‬

‫‪TSP = {(G , f ,t ) : G  (V , E ) a complete graph,‬‬


‫‪f is a function V V ‬‬ ‫‪Z ,‬‬
‫‪t Z ,‬‬
‫‪G is a graph that contains a traveling salesman tour with cost that does not‬‬
‫‪exceed t }.‬‬
‫بشكل عام يتم متثيل املسألة مبخطط بياين رؤوسه متثل املدن‪ ،‬ومتثل األوزان املتوزعة على احلواف املسافات أو الكلف (حيث توصل‬
‫وتعرف دارة هاملتون بأهنا جولة متر عرب‬
‫الرؤوس بواسطة احلافات ‪ ،‬كما أن فكرة املسألة هي إجياد أقصر دارة هاملتون يف املخطط‪ّ ،‬‬
‫مجيع رؤوس املخطط مرة واحدة فقط‪ ،‬وهي تسلسل )‪ (n+1‬رأس متجاور حيث أن الرأس األول من هذا التسلسل هو نفسه الرأس‬
‫األخري‪.‬‬

‫‪6‬‬
‫شكل ‪A TSP complete graph :1‬‬

‫جماالت استخدام مسألة البائع املتجول‪:‬‬

‫هناك العديد من االستخدامات العلمية هلذه املسألة مثل توجيه املركبة بإضافة القيود ملسار املركبة كقدرة املركبة‪ ،‬ويف تقليل اخلسارة‬

‫ومسارات الطائرات وإجياد املسارات املثالية لألسالك يف الدارات املطبوعة بني نقطتني على الدارة مروراً بعناصر حمددة‪ ،‬كما‬

‫استخدمت هذه املسألة يف السنوات األخرية كقاعدة مقارنة لتحسني العديد من تقنيات احملاكاة والبحث وخوارزمية مستعمرات‬

‫األخرى‪.‬‬
‫ً‬ ‫النمل والتفريع والتحديد وغريها من التقنيات‬

‫النموذج الرياضي ملسألة البائع املتجول‪:‬‬

‫ميكن صياغة النموذ الرياضي للمسألة على الشكل التايل‪:‬‬


‫‪n‬‬ ‫‪n‬‬
‫‪Minimize z ‬‬ ‫‪ c‬‬
‫‪i 1 j 1‬‬
‫‪ij‬‬ ‫‪x ij , c ij   for all i  j‬‬
‫‪n‬‬

‫‪x‬‬
‫‪i 1‬‬
‫‪ij‬‬ ‫‪ 1, j=1,2,.....,n‬‬ ‫)‪(1‬‬

‫‪n‬‬

‫‪x‬‬
‫‪j 1‬‬
‫‪ij‬‬ ‫‪ 1, i=1, 2,..., n‬‬ ‫)‪(2‬‬

‫)‪x ij  (0,1‬‬ ‫)‪(3‬‬

‫‪7‬‬
‫‪ c ij‬أما ‪ x ij‬فيمثل‬ ‫حيث ‪ c ij‬متثل كلفة السفر من املدينة ‪ i‬إىل املدينة ‪ ، j‬وتعترب املسألة متمانثلة إذا كان ‪ c ji‬‬
‫باملدينة ‪ ، j‬وخالف ذلك يأخذ القيمة صفر‪.1‬‬ ‫‪i‬‬ ‫متحول القرار وهو يأخذ القيمة واحد إذا اتصلت املدينة‬

‫‪ ‬خاصية غري الزامية للمصفوفة ‪ C‬وهي خاصية متباينة املثلث وتقول أن‪:‬‬

‫‪i , j , k V ,c ik  c ij  c jk‬‬

‫وهذه اخلاصية تتبني يف مسألة البائع املتجول اإلقليدية اليت تكون نفيها الرؤوس نقاط يف ‪ ، R‬واألطوال بني الرؤوس أي أطوال‬
‫‪2‬‬

‫هو‬ ‫‪uv‬‬ ‫األضالع هو البعد اإلقليدي أي أنه إذا كان ) ‪ u  (x 1 , y 1 ) ,v  (x 2 , y 2‬حينها طول الضلع‬

‫) ‪. d uv  (x 1  x 2 )  ( y 1  y 2‬‬
‫‪2‬‬ ‫‪2‬‬

‫‪1‬د‪ .‬أحمد السبعاوي (‪" )2112‬استخدام خوارزمية التفريع والتحديد والخوارزميات الجينية في حل مسألة البائع المتجول" المجلة العراقية للعلوم‬
‫اإلحصائية‪.‬‬

‫‪8‬‬
‫الفصل الثالث‪ :‬صف التعقيد ‪NP-complete‬‬

‫لنحاول جعل هذه املسألة أسهل قليالً فبدالً من حماولة إجياد أقصر طريق‪ ،‬لنحاول معرفة إذا كان يوجد طريق أقصر من عدد ما ‪D‬‬
‫محدد مسبقاً‪ ،‬كما ذكرت سابقاً تدعى هذه املسألة مسألة القرار من البائع املتجول ألن اإلجابة عليها بنعم أو ال‪ ،‬وال يوجد‬
‫خوارزمية كثري حدود زمين حلل نسخة القرار من البائع املتجول‪ ،‬ولكن على األقل إن قام أحدهم بإعطائك حل هلذه املسألة فإن‬
‫التحقق من صحة هذا احلل سهل أو يتم بتعقيد كثري حدود زمين بأقل تقدير‪.‬‬

‫حيث إن جمموعة مسائل القرار اليت ميكن التحقق من صحة حل ما هلا بسهولة (أي أنه يوجد خوارزمية كثري حدود زمين للتحقق‬
‫من احلل تسمى مبسائل الصف ‪.NP‬‬

‫من املسائل األخرى يف هذا الصف هي مسألة كيفية حتليل أعداد ضخمة جداً إىل عواملها األولية‪ ،‬على سبيل املثال لدينا‪:‬‬

‫‪211  513  44926453‬‬


‫حاملا تعرف األعداد األولية لعدد فمن السهل التحقق من صحتها‪ ،‬عليك فقط أن تقوم بعملية ضرب األعداد مع بعضها وترى إن‬
‫كان ضرهبا يطابق العدد‪ ،‬ولكن ال أحد يعرف أي خوارزمية كثري حدود زمين إلجياد هذه العوامل يف األصل‪.‬‬

‫ولكن هناك مسائل من الصعب جداً إجياد حل هلا‪ ،‬ولكن إذا استطعنا حلها فيمكننا تطبيق هذا احلل على مجيع مسائل الصف‬
‫‪ NP‬وهذه املسائل تسمى ‪.NP-hard‬‬

‫سيكون أمر خارق جداً إذا متكن أحد ما من إجياد خوارزمية كثري حدود زمين إلحدى مسائل الـ ‪ ، NP-hard‬وسيصبح أغىن‬
‫رجل يف العامل ألنه حينها سيكون غري كلياً تصنيف صفوف التعقيد ومتكن من حل مجيع املسائل بتعقيد كثري حدود زمين‪.‬‬

‫لكن هناك مسائل يف الصف ‪ NP-hard‬يصعب التحقق فيها من صحة احلل أصالً وبالتايل هذه املسائل ال تنتمي باألصل إىل‬
‫الصف ‪.NP‬‬

‫لكن اجملوعة اليت تتضمن مسائل الـ ‪ NP-hard‬والـ ‪ NP‬يف الوقت ذاته تسمى مبسائل الصف ‪.NP-complete‬‬

‫وهي جمموعة املسائل اليت ميكن إرجاعها إىل مسائل تشبهها وتنتمي إىل الصف ‪ NP‬وإذا أمكن إجياد حل فعال هلا فيمكن تطبيق‬
‫هذا احلل على مجيع مسائل الـ ‪ NP‬اليت تشبهها‪.‬‬

‫حيث ميكن ترمجة كل مسألة من الصنف ‪ NP‬إىل أي مسألة من الصنف ‪ .NP-complete‬وعليه إذا وجد أحدهم حال‬
‫سريعا ملسألة واحدة من هذا الصنف فسيكون قادراً على حل مجيع مسائل الصنف ‪ NP‬وسيكون ‪ P‬مساوياً لـ ‪.2NP‬‬

‫‪ 2‬الباحثون السوريون ‪-‬مسألة البائع المتجول‪Travelling Salesman Problem-‬‬


‫‪http://www.syr-res.com/article/6018.html‬‬

‫‪9‬‬
‫مسألة البائع املتجول تنتمي إىل الصف ‪:NP-complete‬‬

‫أوالً علينا إنثبات أن مسألة البائع املتجول هي مسألة ‪ ،NP‬إذا أردنا أن خنترب إذا ما كانت الرحلة املعطاة تشكل حالً علينا بداية‬
‫أن نثبت أن هذه الرحلة متر من كل عقدة مرة واحدة وهذا سهل‪ ،‬لذلك نستنتج أن مسألة دارة هاملتون هي مسألة ‪ NP‬حيث‬
‫يوجد دالة تعقيد كثري حدود زمين ملعرفة إذا ما كان الطريق يشكل دارة هاملتون أم ال‪ ،‬ولكن مسألة القرار للبائع املتجول هي‬
‫ليست من الصنف ‪ NP‬ألنه يصعب حىت التحقق من أن دارة هاملتون املعطاة تشكل أقصر طريق ممكن‪.‬‬

‫وبالتايل عند إنثبات أن مسألة دارة هاملتون ترتجم إىل مسألة البائع املتجول مبا أن مسألة البائع املتجول أكثر صعوبة‪ ،‬وإذا أمكن‬
‫حلها بسرعة فيمكن حل دارة هاملتون وكل املسائل املشاهبة هلا بسرعة أيضاً ‪ ،‬ونكون قد أنثبتنا أن مسألة البائع املتجول هي مسألة‬
‫‪:NP_complete‬‬

‫ولفعل ذلك لنفرض أنه ممعطى معنا مدخل ملسألة الدارة اهلاملتونية‪ ،‬نريد أن نبين اختصاراً بوقت حدودي هلذه املسألة‪ ،‬واملدخل‬
‫هلذه املسألة هو خمطط ) ‪ G  (V , A‬حبيث أن }‪ V  {1,2,........, n‬و }) ‪A  {(i , j‬‬
‫نبين ممدخل ملسألة البائع املتجول بالشكل التايل‪ :‬نبين خمطط ‪ ،G‬حبيث أن جمموعة الرؤوس هي ‪ V‬أما جمموعة األضالع هي‬
‫} ‪ A   {(i , j ) : i , j  1,......, n , i  j‬و ‪ c ij  1‬إذا كان ‪ (i , j )  A‬و ‪ c ij  ‬خالف ذلك‪ ،‬وحينها املخطط‬
‫‪ G‬حيوي دارة هاملتون إذا وفقط إذا كانت قيمة ممدخل الـ ‪ TSP‬هي ‪.n‬‬

‫ومنه مسألة البائع املتجول هي مسألة ‪.NP_complete‬‬

‫وهذا يقودنا لسؤال أهم‪ :‬هل يوجد خوارزميات كثري حدود زمين حلل مسألة الصف ‪ NP‬ولكنها ببساطة مل تكتشف بعد؟‬

‫هذا السؤال يعرف مبعضلة ‪ P‬مقابل ‪ NP‬وهي من أصعب املعضالت الرياضية املفتوحة‪ ،‬وأي شخص بإمكانه حلها سريبح جائزة‬
‫قدرها مليون دوالر مقدمة من معهد كالي للرياضيات‪ .‬ال يتفق اجلميع خبصوص هذه املسألة ولكن معظم علماء الرياضيات مييلون‬
‫لالعتقاد بأن ‪ P‬ال تساوي ‪ NP‬وهذا يعين بأنه مسائل الصف ‪ NP‬فعالً صعبة للغاية وال ميكن حلها خبوارزميات سريعة‪.‬‬

‫وحبيلة أخرى حيث أن أي مسألة من الصف ‪ NP‬ميكن حتويلها إىل نسخة القرار من مسألة البائع املتجول‪ .‬وهذا يعين أن أي‬
‫خوارزمية كما ذكرت سابقاً حتل نسخة القرار ميكن حتويلها خلوارزمية حتل أي مسألة أخرى يف الصف ‪ .NP‬فتخيل إجيادك‬
‫خوارزمية كثريات حدود زمنية لنسخة القرار من مسألة البائع املتجول‪ ،‬هذا يعين أن أي مسألة من الصف ‪ NP‬ميكن حلها أيضاً‬
‫خالل كثري حدود زمين وسوف تكون قد برهنت أن ‪.3P=NP‬‬

‫‪3‬‬ ‫‪Gilbert ،Laborte (1991) ،The Traveling Salesman Problem: An overview of exact and approximate algorithms‬‬

‫‪11‬‬
‫الباب الثاني‪simple algorithms to solve the TSP :‬‬

‫الفصل األول‪Brute force :‬‬


‫تعد القوة الغامشة من الطرق البدائية حلل املسائل حيث تعترب الفكرة األوىل واألبسط ألي مربمج‪ ،‬فعندما تعرض عليك مسألة جرب‬
‫القوة الغامشة أوالً وإن كان زمن التنفيذ كبري للغاية ابدأ بتجريب خوارزميات أخرى‪.‬‬

‫تعتمد القوة الغامشة على جتريب مجيع االحتماالت املمكنة مث اختيار احلل األنسب من بني هذه االحتماالت املوجودة‪.‬‬

‫ليكن لدينا املخطط اآليت ملسألة البائع املتجول‪:‬‬

‫شكل ‪ :2‬مثال توضيحي للمسألة‬

‫لدينا يف املخطط التايل لدينا ‪ 6‬مدن ولدينا زمن التنقل بني كل مدينتني واملطلوب هنا إجياد دارة هاملتون وبأقصر كلفة ممكنة‪.‬‬

‫منثل الرسم السابق جبدول ندعوه )‪ (adjmatrix‬الذي يوضح بشكل أفضل األزمنة بني املدن ليسهل التعامل معها أنثناء احلل‪.‬‬

‫‪11‬‬
‫باالعتماد على توليد مجيع املسارات املمكنة‪ ،‬يكون عدد دارات هاملتون املمكنة‪:‬‬

‫‪5!  5  4  3  2 1  120‬‬
‫مث حنسب الكلفة ل كل دارة نولدها جبمع أوزان احلواف اليت تكون الدارة‪ ،‬مث خنتار الكلفة الكلية األصغر‪ .‬يعترب هذا احلل البسيط‬
‫دقيقاً ألنه يقدم اجلواب الصحيح دوماً لكنه سهل جداً فقط يف حال كان عدد العقد صغري جداً حيث تعد القوة الغامشة هنا غري‬
‫فعالة ألن تعقيد احلل هو )!)‪.O ((n  1‬‬

‫‪ ‬إذا كان حاسوبك قادر على معاجلة توليد مليون دارة هاملتون يف الثانية فإنه عندما تكون‪:‬‬
‫‪ N ‬تساوي ‪ 6,9,3,3‬تكون اإلجابة حلظية (أجزاء صغرية من الثانية‬
‫‪ N ‬تساوي ‪ 01‬تستغرق حوايل ‪ 8/0‬نثانية‪.‬‬
‫‪ N ‬تساوي ‪ 00‬حوايل ‪ 0‬نثواين‪.‬‬
‫‪ N ‬تساوي ‪ 00‬حوايل ‪ 01‬نثانية‪.‬‬
‫‪ N ‬تساوي ‪ 08‬حوايل ‪ 3‬دقائق‪.‬‬
‫‪ N ‬تساوي ‪ 00‬حوايل ‪ 0‬ساعة‪.‬‬
‫‪ N ‬تساوي ‪ 01‬أقل بقليل من يوم‪.‬‬
‫‪ N ‬تساوي ‪ 01‬يستغرق حاسوبك أكثر من مليون سنة‪.‬‬

‫‪12‬‬
‫الفصل الثاني‪Nearest neighbor :‬‬

‫تعرف الطرائق احلدسية بأهنا حالة ختمينية (حدسية ألفضلية اختيار نقطة عن أخرى داخل احلل لبعض األهداف أو األجزاء من‬
‫املسألة‪ ،‬يف الغالب تستطيع احلدسيات إجياد حلول جيدة للمسألة لكنها قد ال تكون احللول املثلى‪.‬‬

‫وسأتطرق اآلن إىل طريقة اجلار األقرب احلدسية‪ ،‬بينما سأتطرق الحقاً لطرائق حدسية أكثر دقة وأكثر فاعلية‪.‬‬

‫ميكن إجياد حل جيد ملسألة البائع املتجول بالبدء من املدينة (العقدة احملددة‪ ،‬ومن مث الربط بينها وبني املدينة األقرب هلا واليت مل‬
‫تتم زيارهتا من قبل‪ ،‬وتستمر العملية حىت تشكيل دارة هاملتون‪.‬‬

‫‪ .0‬خنتار مدينة عشوائية‪.‬‬


‫‪ .0‬نوجد العقدة األقرب هلا والغري مزارة وجنمع كلفة الذهاب إليها‪.‬‬
‫‪ .8‬هناك عقد مل تمزار بعد؟ إذا كانت اإلجابة نعم‪ ،‬نكرر اخلطوة رقم ‪.0‬‬
‫‪ .0‬نعود إىل املدينة اليت انطلقنا منها‪.‬‬

‫وبذلك حنصل على دارة هاملتون ب ـ ) ‪.O (n 2‬‬

‫تعترب هذه الطريقة جمدية وذات كفاءة عالية لوجود مسار واحد فقط سيتم تشكيله‪ ،‬ولكنه قد ال يوصل إىل اهلدف بصورة جيدة‪.‬‬

‫نطبق ذلك على املخطط السابق‪:‬‬

‫‪13‬‬
‫نبدأ من املدينة ‪ H‬ونكمل فينتج لدينا املسار اآليت‪:‬‬

‫كلفة هذه الرحلة‪090 :‬‬

‫كلفة أفضل رحلة‪003 :‬‬

‫متوسط كلفة الرحالت‪039.6 :‬‬

‫‪ ‬مبقارنة هذه اخلوارزمية بالقوة الغامشة جند أن‪:‬‬


‫القوة الغامشة تعطي إجابة دقيقة ولكن بوقت غري منطقي‪.‬‬
‫اجلار األقرب تعطي نتائج جيد ولكن ليست دقيقة‪ ،‬بوقت منطقي جداً ‪.‬‬

‫‪14‬‬
‫الفصل الثالث ‪Greedy algorithm :‬‬

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

‫بشكل عام للخوارزميات اجلشعة مخسة عناصر‪:‬‬

‫‪ .0‬جمموعة مرشحة يتم إنشاء احلل منها‪.‬‬


‫‪ .0‬اختيار الوظيفة واليت يتم من خالهلا اختيار أفضل مرشح إلضافته إىل احلل‪.‬‬
‫‪ .8‬الغرض من الوظيفة واليت تستخدم لتحديد ما إذا كان ميكن استخدام مرشح للمسامهة يف احلل‪.‬‬
‫‪ .0‬اهلدف من الوظيفة واليت حتدد قيمة احلل أو حل جزئي‪.‬‬
‫‪ .1‬وظيفة احلل واليت حتدد عندما نكتشف احلل الكامل‪.‬‬

‫بتطبيق اخلوارزمية اجلشعة على مسألة البائع املتجول نقوم ببناء املسار تدرجيياً باالختيار التدرجيي للحافة األقصر وإضافتها للرحلة‬
‫اليت نقوم بتشكيلها حبيث‪:‬‬

‫ال تشكل دائرة )‪ (cycle‬طوهلا أقل من ‪.N‬‬

‫ال تزيد درجة أي عقدة عن ‪.0‬‬

‫أال نضيف نفس احلافة مرتني‪.‬‬

‫)) ‪Greedy , O (n 2 log 2 (n‬‬


‫خطوات تنفيذ اخلوارزمية‪:‬‬

‫‪ .0‬نرتب كل احلواف‪.‬‬
‫‪ .0‬خنتار أقصر حافة ونضيفها إىل الرحلة حبيث ال ختل بالشروط املذكورة يف األعلى‪.‬‬
‫‪ .8‬هل منلك ‪ N‬حافة؟ إذا كانت اإلجابة ال‪ ،‬نكرر اخلطوة رقم ‪.40‬‬

‫‪4‬‬‫‪McGeoch, D. S. J. a. L. A. (November 20, 1995). ""The travelling salesman Problem: A Case Study in Local‬‬
‫"‪optimization".‬‬

‫‪15‬‬
‫الباب الثالث‪advanced algorithms to solve the TSP :‬‬

‫الفصل األول‪Using the triangle inequality to solve the TSP :‬‬

‫متباينة املثلث يف مسألة البائع املتجول‪:5‬‬

‫من أجل جمموعة من العقد ‪ a,b ,c V‬نقبل أنه ) ‪ t (a,c )  t (a,b )  t (b ,c‬حيث ‪ t‬متثل تابع الكلفة‪ ،‬ونقول إن ‪t‬‬
‫حيقق متباينة املثلث‪.‬‬

‫لالستفادة من هذه اخلاصية أوالً ننشئ الشجرة اليت متر من مجيع العقد مرة واحدة وبأقل كلفة واليت ال حتتوي على دوائر‬
‫)‪ (minimum spanning tree‬فتكون كلفة هذا املرور هي قيمة دنيا حيث أن أي دارة هاملتون هي بالتأكيد أكرب من‬
‫هذه الشجرة‪.‬‬

‫وهي على األكثر مرتني من شجرة ال ـ )‪.(minimum spanning tree‬‬

‫وسنستخدم خوارزمية ‪ MST-Prim‬إلجياد الـ )‪.(minimum spanning tree‬‬

‫تطبيق خوارزمية متباينة املثلث‪:‬‬

‫)‪Input: A complete graph G (V, E‬‬

‫‪Output: A Hamiltonian cycle‬‬

‫‪ .0‬خنتار عقدة بداية )‪ (Root‬لتشكيل الـ )‪ (minimum spanning tree‬حبيث‪:‬‬


‫] ‪r V [G‬‬
‫‪ .0‬نستخدم ‪ MST-Prim‬إلجياد شجرة الـ )‪ (minimum spanning tree‬من ‪.r‬‬
‫‪ .8‬نضاعف الشجرة حبيث حنصل على القيمة العليا للكلفة الكلية‪.‬‬
‫‪ .0‬أصبح من السهل اآلن معرفة الدوائر الصغرية‪.‬‬
‫‪ .1‬منر بالعقد مع جتنب الدوائر وبتطبيق متباينة املثلث للحصول على الطريق املباشر األقصر بني كل عقدتني مع مراعاة عدم‬
‫زيارة العقدة أكثر من مرة‪.‬‬

‫‪5‬‬ ‫"‪Carmon H. Thomas, L. E. C., Rivest L. Ronald, stein Clifford (1996). "Introduction to algorithms.‬‬

‫‪16‬‬
‫تطبيق‪:‬‬

‫لتكن لدينا العقد ‪:A,B,C,D,E‬‬

‫بعد تطبيق خوارزمية الـ )‪ (prim‬حنصل على الـ )‪ ،(minimum spanning tree‬مث نوجد الدوائر الفرعية‪ ،‬وبعدها نقوم‬
‫بتحسني احلل باجتياز الدوائر وباالستفادة من مرتاجحة املثلث مع مراعاة الشروط السابقة‪.‬‬

‫شكل ‪ :3‬في الشكل (‪ )a‬لدينا المخطط األولى للمدن‪ ،‬ثم الشكل (‪ )b‬بعد إيجاد الشجرة‪ ،‬من ثم (‪ )c‬بعد إيجاد الدوائر الفرعية‪.‬‬

‫وبعد التخلص منها تنتج لدينا دارة هاملتون اآلتية‪:‬‬

‫‪A , B ,C , D , E‬‬
‫‪ ‬نفرض *‪ H‬الرحلة املثلى جملموعة عقد‪ ،‬والـ )‪ (minimum spanning tree‬مبنية من رحلة محذفت منها حافة‪،‬‬
‫ومنه كلفتها أقل من كلفة احللة األفضل‪ ،‬أي‪:‬‬

‫(‪0‬‬ ‫)* ‪c (T )  c (H‬‬


‫نعرف الرحلة الكاملة على أهنا سلسلة كاملة من العقد اليت تمزار بغض النظر إذا كانت ممزارة من قبل أو ال‪ ،‬ويف هذا املثال لدينا‬
‫الرحلة الكاملة ‪:W‬‬

‫‪W  A , B ,C , B , D , B , E , B , A‬‬

‫‪17‬‬
‫وهذه الرحلة تزور كل عقدة مرتني وبالتايل‪:‬‬

‫(‪0‬‬ ‫) ‪c (W )  2c (T‬‬
‫من (‪ 0‬و (‪: 0‬‬

‫)* ‪c (W )  2c (H‬‬
‫هذا يعين أن الرحلة الكاملة هي بأسوأ األحوال ضعف الرحلة األمثل‪ ،‬وبعد حذف العقد املكررة‪ ،‬حنصل على دارة هاملتون‪:‬‬

‫‪H  A , B ,C , D , E‬‬
‫أي‪:‬‬

‫) ‪c (H )  c (w‬‬
‫ومنه‪:‬‬

‫)* ‪c (H )  c (H‬‬

‫الفصل الثاني‪:2_opt and 3_opt heuristic :‬‬

‫تعتمد هذه اخلوارزمية على تشكيل طريق أويل نبدأ منه تطبيق اخلوارزمية‪ ،‬ويفضل أن يكون هذا الطريق مأخوذ عرب خوارزمية اجلار‬
‫األقرب‪ ،‬لتقليل الكلفة الزمنية‪.‬‬

‫عند تشكيل املسار األويل نقوم حبذف حافتني من هذه الرحلة‪ ،‬وإعادة تشكيل حافتني جديدتني‪ ،‬نالحظ أنه هناك طريقة واحدة‬
‫إلعادة تشكيل حافتني‪ ،‬لذلك مازلنا نشكل دارة هاملتون‪ ،‬ولكننا نقوم بذلك فقط يف حال كانت الرحلة اجلديدة أقصر من اليت‬
‫تسبقها‪ ،‬ونستمر هبذه العملية حىت تنتهي كل التحسينات الثنائية املمكنة )‪ ،(2_opt moves‬ونكون قد حصلنا على‬

‫‪.2-optimal tour‬‬

‫‪18‬‬
‫شكل‪2_optimal move :4‬‬

‫تعمل خوارزمية التحسينات الثالنثية )‪ (3_opt algorithm‬بشكل مشابه للخوارزمية السابقة ولكن بدالً من حذف حافتني‬
‫حنذف نثالث حواف‪ ،‬وسنجرب هنا طريقتني لتشكيل احلواف اجلديدة‪ ،‬وهذا مشابه للقيام بعمليتني من الـ )‪،(2_opt moves‬‬
‫ننهي البحث عندما تنتهي كل احلركات الثالنثية وبذلك نكون قد حصلنا على ‪ 3-optimal tour‬وهي أيضاً‬

‫‪.62-optimal tour‬‬

‫إذا نظرنا إىل الرحالت على أهنا تبديالت للمدن‪ ،‬فإن حركة )‪ (2_opt‬هي عبارة عن عكس سلسلة من التبديالت للمدن‪،‬‬
‫وحركة )‪ (3_opt‬هي عبارة عن عكس لسلسلتني أو نثالث من تبديالت املدن‪.‬‬

‫شكل ‪A_3opt move (2) :5‬‬

‫‪6‬‬ ‫‪Nilsson, C. (Heuristic for the Travelling Salesman Problem).‬‬

‫‪19‬‬
‫شكل‪A 3_opt mov )1(:6‬‬

‫‪Speeding up 2_opt and 3_opt:‬‬


‫‪2‬‬
‫) ‪(c1 ,c 2‬‬ ‫عند احلديث عن تعقيد هذه اخلوارزميات‪ ،‬جند أن الـ )‪ (2_opt‬تسري بـ ) ‪ ، O (n‬حيث حنتا إىل اختيار حافة‬
‫والبحث عن حافة أخرى ) ‪ ، (c 3 ,c 4‬وتنتهي احلركة فقط إذا كان‪:‬‬

‫) ‪dist (c1 ,c 2 )  dist (c3 ,c 4 )  dist (c 2 ,c3 )  dist (c1  c 4‬‬


‫وقد الحظ كل من الباحثني ستيغليتز و وايتنر أنه من املكن اختصار البحث يف حالة كانت‪:‬‬

‫) ‪dist (c1 ,c 2 )  dist (c 2 ,c 3‬‬


‫غري حمققة من اجل أي نثالث مدن ‪ C1,C2,C3‬هذا يعين أنه باإلمكان اختصار مساحة كبرية من البحث وهذه املعلومة‬
‫اإلضافية ستكلفنا املزيد من الوقت يف احلساب ) ‪ O (n log n‬وحنتا مساحة أكرب من الذاكرة ولكن باالستفادة من طريقة‬
‫‪2‬‬

‫اجلار األقرب باالحتفاظ بقائمة للجار األقرب لكل مدينة وبتقليص عدد املدن يف القائمة السابقة تصبح الفكرة السابقة قابلة‬
‫للتطبيق‪.‬‬

‫نفرض أننا قمنا بوضع ‪ m‬جار أقرب لكل مدينة ميكننا ترقية التعقيد إىل ) ‪ O (mn‬مبالحظة أننا حنتا إىل إجياد اجلار األقرب‬
‫لكل مدينة منذ البداية مث استخدامه مىت نريد أي ال حاجة إلجياده يف كل مرة‪.‬‬

‫مع العلم أنه عندما نقوم بتقليص ‪ m‬فإن كفاءة احلل تتقلص كمثال على ذلك‪ :‬عندما ‪ m=20‬هذا سيقلص الكفاءة مبقدار‬
‫ضئيل علما أن عدد املدن يساوي ‪ 01‬بينما باختيارنا ‪ m=5‬هذا سيعطينا حل سريع جداً ال يتمتع بالكفاءة املطلوب‪.‬‬

‫ولكن هل علينا االكتفاء بـ ـ ‪ 3_opt moves‬؟؟‬

‫بإمكاننا املتابعة ب ـ ‪ 4_opt moves‬وأكثر‪ ،‬ولكن كل من هذه احلركات سوف يستغرق املزيد من الوقت مقابل حتسني غري‬
‫ملحوظ على كفاءة احلل مقارنة بـ ـ ‪3_opt‬و ‪.2_opt‬‬

‫‪21‬‬
‫‪4_opt move :7 Figure‬‬

‫الفصل الثالث‪ :‬الخوارزميات الجينية‪Genetic algorithms :‬‬


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

‫تطبيق اخلوارزمية الوراثية يف حل مسألة البائع املتجول‪:7‬‬

‫حنتا حلل مسألة البائع املتجول باستخدام اخلوارزمية اجلينية إىل اخلطوات التالية‪:‬‬

‫‪ .1‬البيانات األولية )‪:(Initial data‬‬

‫وهي قراءة لقيم متغريات مسألة وتتضمن‪:‬‬

‫‪ ‬مصفوفة الكلفة أو املسافة ‪ :C‬حيث متثل عناصر كلفة السفر أو املسافة بني املدن يف مسألة البائع املتجول‪.‬‬

‫‪7‬‬ ‫‪Bryant, K. (2000). Genetic Algorithms and travelling salesman Problem.‬‬

‫‪21‬‬
‫‪ .0‬إنشاء اجليل االبتدائي‪:‬‬

‫ويعد النقطة األوىل حلل املسألة‪ ،‬وتتم عملية بناء اجليل االبتدائي بطريقة عشوائية حيث يتم إنشاء عدة كروموسومات ابتدائية‬
‫حبيث أن كل كروموسوم ميثل مساراً كامالً ‪ ،‬وميثل طول الكروموسوم بعدد املدن الواجب زيارهتا‪.‬‬

‫حيث أن كل جني من جينات الكروموسوم ميثل تسلسل لرحلة معينة‪.‬‬

‫فيكون طول الكروموسوم )‪ (I‬أي أنه حيتوي على مسار عدد مدنه )‪ (I‬وكل جني ميثل تسلسل مدينة من املدن داخل‬
‫الكروموسوم‪.‬‬

‫ويتم اختيار كل مدينة بشكل عشوائي حبيث ال تتكرر كل مدينة أكثر من مرة لتحقيق دارة هاملتون مث العودة املدينة اليت بدأنا‬
‫منها‪.‬‬

‫‪ :8 Figure‬كروموسوم من الجيل االبتدائي‬

‫‪ .8‬دالة اهلدف‪:‬‬

‫نقوم حبساب دالة اهلدف اخلاصة باملسألة وذلك لكل مقطع من مقاطع اجليل‪ ،‬ودالة اهلدف يف هذه املسألة عبارة عن جمموع‬
‫الكلف أو املسافات بني املدن‪ ،‬وميكن توضيح ذلك عن طريق حساب دالة الكلفة للكروموسوم حبيث‪:‬‬

‫‪objective function (string i) = z i  c gene 1, gene 2  ...  c genei , gene 1‬‬


‫‪ .0‬اختيار اآلباء‪ :‬يتم اختيار مجيع كروموسومات اجليل االبتدائي ليكونوا آباء‪ ،‬إذ يقوم كل كروموسوم بالتزاو مع مجيع‬
‫الكروموسومات يف اجليل االبتدائي علماً أن كل عملية تزاو تنتج فردين جديدين‪.‬‬
‫‪ .1‬توليد األجيال‪ :‬بعد اختيار مقاطع اآلباء يتم إنشاء األجيال الالحقة واليت يكون عددها حمدداً بالقيمة اليت يتم ادخاهلا يف‬
‫بداية التنفيذ‪.‬‬
‫‪ .6‬التداخل اإلبدايل‪ :‬يتمثل عمل التداخل (العبور باختيار مقطعني مث نقوم بإجراء عملية التداخل للحصول على النسل‪،‬‬
‫وختتلف عملية التداخل اإلبدايل يف مسألة البائع املتجول بأن كل جني ميثل تسلسل مدينة من املدن وال جيوز تكرار املدينة‬
‫داخل الكروموسوم‪ ،‬حبيث‪:‬‬
‫لنفرض أن لدينا والدين مها ‪ P1,P2‬كاآليت‪:‬‬
‫‪P1  2 8 0 1 3 4 5 7 9 6‬‬
‫‪P2 1 0 5 4 6 8 9 7 2 3‬‬
‫خنتار املدينة األوىل يف ‪ P1‬وجنعلها املدينة األوىل يف الولد األول ‪offspring1‬‬

‫‪22‬‬
‫إلجياد املدينة التالية يف الولد األول نقوم بالبحث عن الدينة احلالية اليت مت اختيارها من ‪ P1‬يف ‪ ،P2‬نقوم بإجياد موقعها‬
‫يف ‪ P2‬مث نقوم باختيار املدينة اليت يف نفس املوقع يف ‪ P1‬فيصح الولد األول كاآليت‪:‬‬
‫_ ‪O1:2 _ _ _ _ _ _ _ 9‬‬
‫مث نستمر بنفس العلمية فنحصل على الولد األول كاآليت‪:‬‬
‫_ ‪O1:2 8 0 1 _ 4 5 _ 9‬‬
‫يف اخلطوة التالية سنأيت باملدينة ‪ 0‬واليت هي موجودة أصالً يف الولد األول لذلك سنوقف اإلجراء وننسخ املدن من ‪ P2‬يف‬
‫املواقع املطابقة املتبقية فيصبح ‪ O1‬كاآليت‪:‬‬
‫‪O1:2 8 0 1 6 4 5 7 9 3‬‬
‫لتوليد الولد الثاين ‪ O2‬من عملية التزاو نقوم باختيار املدينة األوىل من ‪ P2‬وجنعلها املدينة األوىل يف الولد الثاين ونكرر‬
‫نفس اإلجراء مع ‪ P1‬أي نبحث عن املدينة احلالية واليت مت اختيارها من ‪ P2‬يف ‪ P1‬وهكذا فينتج الولد الثاين كاآليت‪:‬‬
‫‪O2:1 5 4 3 8 9 7 2 6‬‬
‫)‪n (n  1‬‬
‫من عمليات التعابر مع العلم أن كل‬ ‫إذا كان اجملتمع االبتدائي حيتوي على ‪ n‬من اآلباء فإن ذلك سيولد‬
‫‪2‬‬
‫عملية تعابر تنتج مقطعني من الذرية‪.‬‬
‫‪ .9‬الطفرة‪ :‬يف هذه اخلوارزمية حتدث الطفرة على اجلني نفسه‪ ،‬فبعد االنتهاء من تكوين مقاطع اجليل نبدأ حبساب دالة اهلدف‬
‫لكل مقطع من مقاطع اجليل اجلديد بنفس الطريقة اليت يتم فيها حساب مقاطع اجليل االبتدائي‪.‬‬
‫بعد تكوين العدد احملدد من األجيال يتوقف تنفيذ الدالة ويتم تقييم النتائج ملالحظة مدى التقرب من احلل الختاذ القرار‬
‫إما باالستمرار بتكوين األجيال أو التوقف إذا كانت النتيجة مناسبة‪.‬‬
‫وهكذا نكون قد وضعنا حالً ملسألة البائع املتجول باستخدام اخلوارزميات اجلينية‪.‬‬

‫‪23‬‬
‫النتائج‬

‫‪ ‬إن مسألة البائع املتجول تنتمي إىل صف التعقيد ‪ NP_complete‬حيث وجدت مسألة من الصف ‪ NP‬ميكن‬
‫حتويلها إىل مسألة البائع املتجول‪ ،‬وهذا يعين أن أي خوارزمية حتل البائع املتجول ميكن حتويلها خلوارزمية حتل أي مسألة‬
‫أخرى يف الصف ‪.NP‬‬
‫‪ ‬إن خوارزمية اجلار األقرب تعطي حلوال جيدة غالباً وبتوقيت صغري جداً ولكنها قد تنتج حلوال بعيدة أو غري دقيقة يف‬
‫بعض احلاالت‪.‬‬
‫‪ ‬إن احلل املقرتح باستخدام اخلوارزمية اجلشعة جيد جداً حبيث ال يبتعد عن احلل الصحيح مبقدار كبري مهما اختلفت كلف‬
‫‪2‬‬
‫السفر بني املدن وذلك بتعقيد زمين )) ‪. O (n log(n‬‬
‫‪ ‬أمكن باالستفادة من متباينة املثلث اليت تتحقق يف مسألة البائع املتجول اإلقليدية وذلك باستخدام ال ـ ‪ MST‬لتوليد حل‬
‫بكفاءة أصغر أو تساوي ضعف احلل األمثل‪.‬‬
‫‪ ‬إن طريقة التبديل بني املسارات إلنشاء مسارات جديدة تعترب طريقة فعالة جداً للحصول على حل بكفاءة عالية بتعقيد‬
‫)) ‪O (n 2 log(n‬‬
‫‪ ‬ميكن توظيف اخلوارزميات اجلينية حلل مسألة البائع املتجول وقد أظهرت اخلوارزمية يف اجليلني األول والثاين نفس الكلفة‬
‫األدىن وبالتايل وضعت حالً أمثال بعد تنفيذ اخلوارزمية على جيلني من الكروموسومات‪ ،‬ولكنها قد تستغرق عدد أكرب من‬
‫األجيال لتولد احلل األفضل ولكن ميزهتا األساسية أهنا توجد احلل األفضل دوماً على الرغم من التكلفة العالية‪.‬‬

‫إن طريقة تبديل املسارات ب ـ ‪ 2_opt move‬و ‪ 3_opt move‬تعترب الطريقة األفضل واألسرع من بني الطرق املطروحة‬
‫حيث تكون نسبة اخلطأ فيها ضئيلة وبتعقيد كثري حدود زمين معقول‪.‬‬

‫إضافة إىل أن إدخال اخلوارزميات اجلينية يف حل هكذا نوع من املسائل يعترب فعال جداً يف إعطاء احلل األفضل دوماً ‪.‬‬

‫‪24‬‬
‫الخاتمة والتوصيات‬
‫إن عدد ال يستهان به من علماء الرياضيات واخلوارزميات حول العامل ما زال يبحث يف معضلة ‪ ،NP=P‬وتعد مسألة البائع‬
‫املتجول مثاالً جيداً للدراسة يف هذه املعضلة الرياضية املفتوحة‪ ،‬ومازال الطريق مفتوح لتحسني حلول هذه املسألة‪ ،‬وقد حاولت أن‬

‫أترك بصميت يف هذا املوضوع وذلك بتقدمي مقارنة بني عدة خوارزميات تقرتب إىل حد جيد من األمثلية يف احلل كما حاولت‬
‫مبجهود فردي أن أطرح حالً هلذه املسألة وأن أقدم حتسيناً ألحد احللول باإلضافة إىل اإلجابة عن التساؤالت حول تصنيف مسألة‬
‫البائع املتجول يف صفوف التعقيد‪.‬‬

‫* إن السرعة هي العامل األساسي يف حل املسائل املتعلقة مبشاكل يف صفوف التعقيد‪ ،‬وإن إجياد تعقيد تابعي يعطي حالً مثالياً هو‬
‫اهلدف األول إذا ما أراد أحدهم املنافسة يف حل هذه املسائل‪.‬‬

‫* إن العمل على ختفيض كلفة اخلوارزمية اجلينية قد يكون املفتاح حلل هذه املسألة وغريها من مسائل الصف ‪NP-complete‬‬
‫ألن اخلوارزمية اجلينية تعطي احلل األفضل دوماً ولذلك قد يكون السر بإجياد شيء شبيه هبا‪.‬‬

‫* إن إجياد الرابط املشرتك بني مسائل ال ـ ‪ NP-complete‬الـ ‪ 00‬قد يكون لغزاً جيب اإلحبار فيه للمتابعة يف هذا البحث‬
‫واألحباث املتعلقة هبذه املعضلة‪.‬‬

‫من يدري‪ ،‬قد تأيت خوارزمية "كل شيء" لتقضي على كل تصنيفات صفوف التعقيد يوماً ما !!!‬

‫‪25‬‬
‫المصادر والمراجع‬

:‫املراجع العربية‬

"‫ "استخدام خوارزمية التفريع والتحديد واخلوارزميات اجلينية يف حل مسألة البائع املتجول‬0100( ‫ أمحد السبعاوي‬.‫ د‬.1
.‫اجمللة العراقية للعلوم اإلحصائية‬

Travelling Salesman Problem-‫مسألة البائع املتجول‬- ‫ الباحثون السوريون‬.2


http://www.syr-res.com/article/6018.html

:‫املراجع األجنبية‬

3. Bryant, K. (2000). Genetic Algorithms and travelling salesman Problem.

4. Nilsson, C. (Heuristic for the Travelling Salesman Problem).

5. Carmon H. Thomas, L. E. C., Rivest L. Ronald, stein Clifford (1996).


"Introduction to algorithms."

6. McGeoch, D. S. J. a. L. A. (November 20, 1995). ""The travelling salesman


Problem: A Case Study in Local optimization"."

7. Gilbert ،Laborte (1991) ،The Traveling Salesman Problem: An overview of


exact and approximate algorithms

26

You might also like