تطور ألغاز الشطرنج. استكشاف الذكاء الاصطناعي التطوري | بواسطة روبرت إلمز

استكشاف الذكاء الاصطناعي التطوري


الخوارزميات التطورية (EAs) هي مجموعة فرعية من الذكاء الاصطناعي التي تحل المشكلات باستخدام أساليب مستوحاة من التطور البيولوجي. من تحسين الشبكات العصبية إلى جدولة الموارد، لديهم مجموعة مذهلة من التطبيقات في العالم الحقيقي. ويظهر جمالها من خلال التحول في التركيز على ما هو مطلوب لحل المشكلة. بدلا من وصف الخطوات المطلوبة للوصول إلى الهدف، تصف مناطق العد كيف يبدو الهدف.
سأستكشف في هذه المقالة كيف يمكننا الاستفادة من هذا الذكاء الاصطناعي الرائع لإنشاء ألغاز شطرنج، والفوائد التي يوفرها، والعيوب التي نحتاج إلى أخذها في الاعتبار.
لغز الشطرنج هو موقف قانوني في لعبة الشطرنج، حيث تؤدي مجموعة فريدة من الحركات إلى الفوز، وغالبًا ما تنتهي بكش ملك. يتم العثور عليها عادةً من خلال تحليل قواعد بيانات الألعاب التنافسية بين اللاعبين البشريين.
من خلال إنشاء الألغاز الخاصة بي باستخدام لا شيء سوى الكود، والعشوائية، وقليل من علم الأحياء، يمكن إنشاء قاعدة بيانات مثيرة للاهتمام ومتنوعة من الألغاز. دعونا نستكشف كيف.
تعمل الخوارزميات التطورية عادةً عن طريق توليد مجموعة كبيرة من النتائج بشكل عشوائي، ثم اختيار النتائج “الأصلح” باستخدام أداة إرشادية، وفي النهاية أخذ تلك النتائج “الأصلح” وتوليد مجموعات عشوائية لاحقة. وهي مستوحاة من نظرية داروين في الانتقاء الطبيعي، حيث أن الحيوانات الموجودة في المجموعة السكانية والتي من المرجح أن تبقى على قيد الحياة هي أيضًا أكثر عرضة لتمرير سماتها إلى الجيل التالي. وبعد أجيال عديدة، وأحيانًا مئات الآلاف، يتقارب السكان على النتيجة المثلى. فكيف يمكننا تطبيق ذلك على لعبة الشطرنج؟
في لعبة الشطرنج، يمكننا إنشاء مجموعة من المواقف القانونية العشوائية من خلال محاكاة الألعاب حيث يتناوب البرنامج في لعب حركات عشوائية باللونين الأسود والأبيض لعدد عشوائي من المرات. ومن خلال تكرار هذه العملية عشرات الآلاف من المرات، يمكن تحليل عينات كبيرة من الأوضاع العشوائية للتأكد من لياقتها.
أدناه، يمكنك رؤية وظيفة من my سبورة فئة، والتي تقوم بإرجاع قائمة التحركات.
public List<(int[] from, int[] to)> GetAllPotentialMoves(Colour currentColour)
{
var activePieces = ActivePieces.Find(p => p.colour == currentColour);
var allLegalMoves = new List<(int[] from, int[] to)>();foreach (var piece in activePieces.pieces)
{
var moves = piece.GetLegalMoves(this);
allLegalMoves.AddRange(moves);
}
return allLegalMoves;
}
بمجرد إنشاء مجموعة من المواقع، تبدأ المهمة الصعبة الحقيقية. إن مفتاح أي خوارزمية تطورية هو كيفية تقييمك للاستدلال الخاص بك. في حالتي، تم النظر فقط في المواقف التي يؤدي فيها حل واحد إلى كش ملك للغز. بعد تضييق نطاق هذه النتائج، يعد الاستدلال مقياسًا لمدى صعوبة اختيار الحركات الصحيحة للفوز باللعبة. ولكن كيف يمكن لبرنامج كمبيوتر أن يقدر مدى صعوبة تفسير موقف الإنسان في لعبة الشطرنج؟

أحد الخيارات هو إلقاء نظرة على بنية اللغز. هل الملك آمن؟ هل هناك حركات لا تحل اللغز ولكنها تبدو جيدة؟ هل نضحي بأي مادة؟ ما هي القطع التي نحركها؟ ومن خلال تقييم العديد من العوامل، يمكننا إنشاء قدر من الصعوبة. المشكلة في هذا النهج هي أنه من الصعب جدًا تحديد كيفية إنشاء النتيجة النهائية من خلال العديد من العوامل. كما تتجاهل القواعد الصارمة تمامًا التحيزات في الإدراك البشري. قد يكون الأمر أنه حتى التغييرات الطفيفة في موضع الشطرنج تجعل من الصعب على بعض الأفراد اختيار الحركة الصحيحة.
إذًا، كيف يمكننا الحصول على فكرة أفضل عن الأداء البشري؟ ومن خلال استخدام قواعد بيانات كبيرة مليئة بألعاب حقيقية، تم تدريب نماذج التعلم الآلي على لعب الشطرنج مثل اللاعبين في مستويات معينة. من خلال هذه النماذج، يمكننا الحصول على فكرة أفضل عن كيفية قيام لاعبين ذوي قدرات مختلفة بمحاولة حل اللغز. هل يستطيع الذكاء الاصطناعي المدرب على 1200 لاعب مصنف حل اللغز؟ ماذا عن 1600، 1900؟ فائدة هذا النهج هو أنه يتعمق أكثر في عقول اللاعبين الحقيقيين. ومع ذلك، فإن نماذج التعلم الآلي لا تخلو من عيوبها. لا تلعب أنظمة الذكاء الاصطناعي هذه كلاعب حقيقي، بل تلعب كلاعب تقريبي. كما يتم تدريبهم أيضًا على ألعاب حقيقية ومنتظمة، مما يعني أنهم قد لا يمكن الاعتماد عليهم في تقييم مواقع الشطرنج العشوائية.
من خلال الجمع بين نماذج التعلم الآلي والتقييم المعقد والمفصل القائم على القواعد، قمت بإنشاء أفضل سيناريو من كلا العالمين. إرشادي يفهم كلاهما تكوين اللغز، بينما يفكر في نفس الوقت في كيفية تعامل البشر معه.
بمجرد العثور على أفضل الألغاز بين السكان، فإن الخطوة التالية هي إنشاء أجيال جديدة. ويمكن القيام بذلك من خلال العديد من التقنيات المستوحاة من التطور. اخترت استخدام التقاطع والطفرة.
يتضمن التقاطع دمج ميزات نتيجتين بشكل عشوائي على أمل أن تحصل في النهاية على أفضل الميزات في كليهما. يمكننا عبور مواقف مماثلة في الشطرنج من خلال الرجوع بعدد من النقلات إلى مكان بداية مشترك، ثم اختيار النقلات القانونية المستخدمة للوصول إلى كل نتيجة. ربما أعطى تحريك الملكة لغزًا واحدًا خاصية جيدة حقًا، كما أن تحريك الفارس جعل لغزًا آخر مثيرًا للاهتمام. ومن خلال الجمع بين هاتين الميزتين، فإننا نخلق مشكلة أكثر إلحاحًا.
وبالمثل، يمكننا تحويل الألغاز عن طريق التراجع ثم المضي قدمًا بعدد من الحركات. اعتمادًا على عدد الحركات التي تقوم بها ذهابًا وإيابًا، يمكن تغيير اللغز بمهارة أو بشكل كبير. الكثير من التحولات ويمكنك أن تجد أن الخوارزمية لا تتحسن أبدًا، والقليل جدًا وقد تتقارب أفضل نتيجة لديك على قيمة واحدة بسرعة كبيرة جدًا.
المشكلة الأكثر شيوعًا في الخوارزميات التطورية هي التقارب السريع جدًا. في البداية، توقفت الألغاز التي كنت أقوم بإنشائها عن التحسن بعد بضعة أجيال فقط. في العالم الحقيقي، تمنع الحدود المادية مثل الجبال والصحاري والبحار السكان من عبور الحمض النووي الخاص بهم، مما يسمح بالحفاظ على التنوع الجيني. بدون التنوع الجيني الكافي، لن يتطور السكان بشكل مختلف. من خلال تشغيل مجموعات أصغر من ألغاز الشطرنج بالتوازي لبعض الوقت، منحتها مساحة كافية للتنفس للحفاظ على بعض التنوع وتجنب التقارب في وقت مبكر جدًا.
يمكن أيضًا أن تكون الخوارزميات التطورية بطيئة جدًا. الشطرنج بالتأكيد ليس استثناء. يتطلب إجراء تقييم إرشادي لملايين مواقع الشطرنج قدرًا كبيرًا من المعالجة. بشكل عام، كلما قمت بتشغيل محرك الشطرنج على موضع ما، كلما زادت دقة التنبؤ بالحركة التالية الأفضل. من خلال العثور على النقطة المثالية في الوقت الذي أقضيه في تحليل كل موقف، واختيار أكثر المواقف الواعدة والنظر إليها بمزيد من التفصيل، يمكنني تحسين الوقت بقدر معقول. يعد تحديد موعد التوقف عن التوليد أمرًا بالغ الأهمية أيضًا. إذا توقفت العينة عن التحسن لعدة أجيال، فربما يكون من الأفضل البدء مرة أخرى بمجتمع عشوائي جديد، حيث قد لا تتمكن من التحسن بشكل أكبر. بعد عدد لا يحصى من التحسينات، أصبح جهاز الكمبيوتر المنزلي الخاص بي قادرًا على إنشاء ما يزيد عن 1000 من الألغاز الصعبة يوميًا باستخدام التطور.
وأخيرًا، يمكن أن يكون تشخيص الأخطاء أمرًا صعبًا للغاية. مع العديد من البرامج، يمكنك أن تتوقع مخرجات معينة في ضوء مدخلات معينة. مع التطور أصبح الأمر مختلفًا عن غلاية الأسماك. لقد أمضيت الكثير من الوقت في حيرة من أمري وأتساءل عن سبب التقارب السكاني بسرعة كبيرة. هل كان توليد الموقف؟ هل كانت الأساليب التطورية، أم ربما الأساليب الإرشادية؟ قد يكون من السهل عدم ملاحظة ما إذا كانت بعض الأشياء لا تعمل على النحو المنشود عندما لا يكون من الممكن تحديد المخرجات المتوقعة للبرنامج بوضوح.
ومع ذلك، وبغض النظر عن المشكلات، فإن قوة وإمكانات تقنية الذكاء الاصطناعي هذه تتألق ليراها الجميع. باستخدام جهاز الكمبيوتر القديم الخاص بي فقط، تمكنت من إنشاء ما يقرب من 50000 لغز شطرنج في 3 أشهر، تحتوي على وفرة من المواقف الغريبة والرائعة.
الطبيعة العشوائية للخوارزمية تعني أنها تخلق مجموعة من الألغاز الملونة والمتنوعة بشكل لا يصدق. من السهل العثور على المشكلات التكتيكية المثيرة للاهتمام التي نادرًا ما نراها في لعبة الشطرنج، مثل تضحيات الملكة وترقيات الفرسان وen passant، باستخدام التطور، ولكن من الصعب العثور عليها باستخدام قواعد بيانات الألعاب الحقيقية. ومع ذلك، فإن الطبيعة غير المنطقية للألغاز تجعلها أقل قابلية للتطبيق على سيناريوهات العالم الحقيقي. على الرغم من أنها ممتعة جدًا، إلا أنه يمكن القول إن الألغاز المبنية على ألعاب حقيقية أفضل لتعلم الأنماط الشائعة في ألعاب الشطرنج.
فضلاً عن كونها منتجة بشكل لا يصدق، فإن الخوارزمية أيضًا مرنة بشكل استثنائي. الشطرنج، رقعة الشطرنج غير المتوازنة، من السهل توسيع منطقة العد للعمل مع أي مشتق من الشطرنج. هذه الطبيعة القابلة للتمديد هي المكان الذي تتفوق فيه التقنية التطورية حقًا. لا يمكنك القيام بذلك باستخدام قواعد بيانات الألعاب، لأنها ببساطة غير موجودة!

على الرغم من أن الذكاء الاصطناعي يعتبر ركنًا منسيًا بالنسبة للكثيرين، إلا أنني أوضحت كيف يمكن استخدام التطور لإنشاء حل جديد لمشكلة عالمية حقيقية. هناك الكثير من الإمكانات غير المستكشفة مع هذه التكنولوجيا. مع تزايد الذكاء الاصطناعي التوليدي، أتساءل ما هي التطبيقات غير التقليدية الأخرى التي سيجدها الأشخاص لـ EAs في المستقبل…
يمكنك تجربة الألغاز بنفسك على موقع الويب الخاص بي، chesspuzzler.com.
ما لم يذكر خلاف ذلك، جميع الصور هي من قبل المؤلف.
اكتشاف المزيد من موقع علم
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.