حل متغير من مشكلة n-Queens في Haskell: التراجع، التحسين، والمعايير المقارنة
2025-06-24
تتناول هذه المدونة شرح حل متغير من لغز n-Queens الموجود على LinkedIn باستخدام Haskell. تتضمن اللغز وضع n من ملكات الشطرنج على لوحة ملونة بحجم n × n بحيث تحتوي كل صف، وعمود، ومنطقة ألوان على ملكة واحدة بالضبط، دون أن تتجاور ملكتان قطريًا. يستكشف الكاتب العديد من تقنيات التحسين، بما في ذلك التراجع، والإزالة، والكشف المبكر عن الطرق المسدودة، وترتيب المرشحين. تتم مقارنة حل Haskell الناتج مع محلل SMT، مما يدل على تحسينات كبيرة في الأداء من خلال هياكل البيانات الفعالة والتحسينات الخوارزمية. يتعامل الشفرة بشكل أنيق مع تعقيدات المشكلة، مما يبرز نقاط القوة في Haskell في البرمجة الوظيفية.
التطوير
n-Queens