السلام عليكم
ياشباب أنا علقان بمشكلة و مو لاقي لها حل
يمكن تكون بسيطة بالنسبة لكم لكن أنا بالنسبة لي حاسس أني وصلت لطريق مسدود
المشكلة هي
عندي المسألة التالية :(مسألة المربع الفارغ)
أريد أن أصل إلى الخوارزمية التراجعية التي تحلها
لدينا لوحة مربعة يمكن أن تتسع إلى 4 * 4 قطعة مربعة قابلة للانزلاق عمودياً أو أفقياً . يٌوضع في هذه اللوحة 15 قطعة فقط مرقمة من 1 إلى 15 بحيث نترك مربعاً واحداً فارغاً.
الهدف من هذا المربع الفارغ هو المساعدة في تحريك إحدى القطع المجاورة له إليه (وبذلك تشغل القطعة المتحركة المربع الفارغ ويصبح مكانها الذي تحركت منه مربعاً فارغاً وهكذا .... ) .
يتم وضع القطع في البداية بشكل غير مرتب مثلاً
4 5 6 1
3 2 9 10
14 7 8 11
12 13 15
نريد أن نصل إلى الشكل التالي
4 3 2 1
8 7 6 5
12 11 10 9
15 14 13
أرجو أن أكود قد وضحت فكرة المسألة
بالخوارزميات التراجعية في العادة هناك شرط نحدد من خلاله أننا وصلنا إلى حل خاطئ وهناك شرط من خلاله نعرف أننا قد وصلنا إلى حل للمسألة
مثلاً في خوارزمية جولات الحصان كان الشرط الخاطئ الذي يوقفنا عن إستمرار إستدعاء التابع هو الوصول إلى نقطة قد مر منها من قبل وتنتهي الخوارزمية عندما يمر على كل الرقعة
أما هنا لا أستطيع أن أحدد متى أصل إلى حل خاطئ لأنني وعند كل إستدعاء للتابع أصل إلى أربع إحتمالات جديدة ومن المؤكد أنه سيكون عندي إحتمالين على الأقل صحيحين من هذه الأربع إحتمالات عندما يكون المربع الفارغ على الزاوية لذلك لن يتنهي إستدعاء التابع لنفسه وسيستمر للانهاية
هل من حل ... وبأسرع وقت أرجوكم


