شطرنج کے بورڈ پر ‘وزیر’ (Queen) اس لیے خطرناک ہوتا ہے کیونکہ اس کی ایک جگہ تعیناتی (placement) بہت سے خانوں کو ناقابلِ استعمال بنا دیتی ہے۔ اسے تلاش کے مسئلے میں تبدیل کرنے کا آغاز اس بات کی وضاحت سے ہوتا ہے کہ وزیر کن خانوں پر حملہ کرتا ہے؛ اس طرح ہم حملوں کو ایسی ‘شرائط’ یا ‘پابندیوں’ (constraints) کے طور پر لے سکتے ہیں جو ممکنہ تعیناتیوں کو غلط یا ناقابلِ قبول قرار دیتی ہیں۔ یہ نقطہ نظر اس لیے اہم ہے کیونکہ حل تلاش کرنے والا نظام (solver) مرحلہ وار ممکنہ حل تیار کر سکتا ہے اور نامکمل حل کو اسی وقت مسترد کر سکتا ہے جب وہ کسی اصول کی خلاف ورزی کریں، بجائے اس کے کہ پورے بورڈ کے بھرنے کا انتظار کیا جائے۔
تعیناتی صرف اسی صورت میں درست ہوتی ہے جب کوئی بھی دو وزیر ایک دوسرے پر حملہ نہ کر رہے ہوں؛ اس کا مطلب ہے کہ بیک وقت تین شرائط کا پورا ہونا ضروری ہے۔ دو وزیر ایک ہی قطار (row)، ایک ہی کالم (column) اور ایک ہی وتر (diagonal) میں نہیں ہو سکتے۔
ان شرائط کو عملی طور پر سمجھنے کے لیے، اس بات کا جائزہ لیں کہ ایک چھوٹے بورڈ پر کسی مخصوص مقام (coordinate) پر موجود ایک وزیر کن خانوں کو حملے کی زد میں لاتا ہے۔
قطار اور کالم کی پابندیاں براہِ راست ہیں کیونکہ ایک ہی قطار یا کالم انڈیکس (index) والے ہر خانے پر حملہ کیا جاتا ہے۔ وتر (diagonal) کی پابندی بھی ایک میکانکی عمل ہے کیونکہ جب کسی خانے کی قطار اور کالم دونوں تبدیل ہوتے ہیں تو وہ وتر پر ہی رہتا ہے؛ چنانچہ کوئین (queen) ان خانوں پر حملہ کرتی ہے جو دونوں وتری سمتوں میں واقع ہوں، یہاں تک کہ بورڈ کا کنارہ اس سلسلے کو روک دے۔
جب پابندیاں واضح ہو جائیں، تو اگلا مرحلہ ایسی نمائندگی کا انتخاب کرنا ہے جس سے ممکنہ حل (candidates) کو بتدریج تشکیل دینا آسان ہو۔ ایک سادہ انتخاب ‘ون ڈائمینشنل ارے’ (one-dimensional array) ہے جس میں queens[row] = col ہو، یعنی row والی کوئین کو col کالم میں رکھا گیا ہے۔ اس نمائندگی کے ساتھ، قطار کی پابندی خود بخود لاگو ہو جاتی ہے کیونکہ ہر قطار کا انڈیکس صرف ایک بار ظاہر ہوتا ہے۔
یہ ویجیٹ (widget) دکھاتا ہے کہ کس طرح ایک مخصوص ارے (array) بورڈ پر موجود کسی پوزیشن کی عکاسی کرتی ہے۔