معماهای مقید (constraint puzzles) دارای حالت، مجموعهٔ حرکتهای مجاز و هدفی با چند شرط هستند. کمیت پایسته (invariant) کمیتی مانند جرم کل یا تعداد کل اشیاست که با هر حرکت مجاز ثابت میماند. حالت شدنی (feasible state) همهٔ شرطها را همزمان برآورده میکند. معادلهای که یک کفه را متعادل یا یک طبقه را درست میکند، اگر با موجودی باقیمانده یا چیدمان نهایی ناسازگار باشد کافی نیست.
۱. کوچکترین مدل مفید را بسازید
| معما | حالت قابل ثبت | قید حاکم | کنترل نهایی |
|---|---|---|---|
| ترازوهای آویخته | بار هر کفه و هر تکیهگاه | تعادل گشتاور بازوهای برابر؛ انتقال بار کل | تعادل هر دو ترازو؛ خالینبودن کفههای لازم |
| توزیع وزنهها | تعداد هر نوع وزنه در هر کفه | جرم لازم و موجودی محدود | امکان پرکردن دیگر کفهها از باقیمانده |
| انتقال | تعداد پیش و پس از هر حرکت | پایستگی تعداد کل | نامنفیبودن تعدادها و نسبت خواستهشده |
| فرایند دستهای یا میانگینگیری | مرحله، موجودی باقیمانده یا برچسب گرهها | معادلات دقیق بهروزرسانی و کرانهای صحیح | کنترل همهٔ پایانها یا وابستگیها |
| افراز، برش و جایگاه | تعدادهای بیترتیب، همهٔ قطعات یا مختصات برچسبدار | تقارن، روابط طول یا قید فاصله | حذف مقدارهای هدف تکراری و کنترل شاهد کامل |
| تعویض | شیء موجود در هر جایگاه مشخص | تعویض دو جایگاه مجاز در هر حرکت | درستی همهٔ جایگاهها و جهتهای لازم |
مشخص کنید که اشیای همنوع متمایزند یا نه، آیا باید از همهٔ اشیا استفاده شود و آیا جایگاهها برچسب دارند. این انتخابها تعیین میکنند چه چیزی یک پاسخ متفاوت محسوب میشود.
۲. ترازوهای آویخته: تکیهگاه بار هر دو کفهٔ پایین را حمل میکند
ترازوهای آرمانی با بازوهای برابر و جرم ناچیز را در نظر بگیرید. ترازوی پایین از زیر کفهٔ راست ترازوی بالا آویزان است. بار کفهٔ بالای چپ را ، وزنهٔ مستقیمِ کفهٔ بالای راست را و بار هر کفهٔ پایین را میگیریم. اگر جرم همهٔ وزنهها باشد:
تکیهگاه پایین را منتقل میکند، نه . اگر جرم ترازو داده شده، آن را به بار منتقلشده اضافه کنید؛ اگر بازوها نابرابرند، به جای برابری جرمها از تعادل گشتاور استفاده کنید. نخست مقادیر مجاز و را به دست آورید و سپس ترکیبها را بشمارید.
مثال حلشدهٔ تعادل و شمارش
فرض کنید چهار وزنهٔ چهارواحدی، سه وزنهٔ دوواحدی و دو وزنهٔ یکواحدی داریم. باید از همهٔ وزنهها استفاده شود، هیچ کفهای خالی نباشد و کفهٔ بالای راست دقیقاً یک وزنه داشته باشد. کل جرم و در نتیجه است. با ، بار هر کفهٔ پایین و با ، این بار خواهد بود. انتخاب مستلزم است که با وزنههای صحیح امکان ندارد.
تعداد وزنههای چهار، دو و یکواحدی در کفهٔ پایین چپ را بگیرید. معادلهٔ را با رعایت موجودی پس از کنارگذاشتن حل کنید. ابتدا و سپس را بررسی کنید؛ جرم باقیمانده را تعیین میکند. این کار هم از حذف حالت و هم از تکرار ترتیبها جلوگیری میکند.
| ترکیب کفهٔ پایین چپ | نمونهٔ کفهٔ پایین راست | باقیماندهٔ کفهٔ بالا چپ | |
|---|---|---|---|
| ۴ | |||
| ۴ | |||
| ۴ | |||
| ۲ | |||
| ۲ |
پنج ترکیب متفاوت برای کفهٔ پایین چپ وجود دارد. کاملبودن فهرست روشن است: برای جرم چهار، یا یک وزنهٔ چهارواحدی داریم یا باید را با حداکثر دو وزنهٔ یکواحدی حل کنیم؛ برای جرم پنج نیز یا داریم یا معادلهٔ را حل میکنیم. هر سطر، تکمیلی شدنی برای همهٔ کفهها دارد و صرفاً جرم کفهٔ پایین چپ درست نیست. اگر وزنههای مساوی نامتمایز باشند، بازنویسی به صورت ترکیب تازهای نمیسازد.
شمارش فراتر از جدول موجودی
دستههای افزایشی (Monotone batches). در دور ، ابتدا شیء در چپ و سپس یکی در راست بگذارید. پس از دور کامل، موجودی مصرفشده و تعداد راست است. اگر دستهٔ ناقص بعدیِ چپ به راست میرود، حالتهای را با تعداد راست بررسی کنید. تمامشدن دقیق پس از هر یک از دو زیرمرحله را نیز بیازمایید: یا . برای هدف چهار شیء در راست، کلهای ممکن هستند: بهترتیب دو دور و دو باقیمانده، سه دور و یک باقیمانده، چهار دور کامل، یا چهار دور و دستهٔ بعدی چپ. افزایشیبودن، جستوجو را محدود میکند؛ دور کامل پنجم دیگر مجاز نیست.
شبکهٔ میانگین صحیح (Integer averaging networks). هر میانگین را به «دو برابر والد = مجموع فرزندان» تبدیل و رو به عقب جایگذاری کنید. با رأس ، میانهٔ و ردیف پایین داریم ، ، و بنابراین . برای برچسبهای صحیح نامنفی تکرقمی، فرد است و مقدارهای را تحمیل میکند؛ پس . هر دو سطح را کنترل کنید. تکرار برچسبها مجاز است، مگر تمایز تصریح شود.
افرازهای متقارن (Symmetric partitions). اگر قیدها و هدف هر دو متقارناند، بگیرید . برای ، حالتهای را بشمارید؛ مجموع مربعهایشان است. ابتدا کوچکترین عضو را کرانگذاری کنید. مقدارهای تکراری عبارت را نیز حذف کنید: برای مجموع شش، و هر دو مجموع مربع دارند. سهتایی مرتب، افراز و خروجی متمایز سه شمارش متفاوتاند؛ صفر را بیدلیل حذف نکنید.
برشهای تودرتو (Nested cuts). برای طولهای هممبدأ و برش در ، همهٔ قطعات مثبت عبارتاند از . جسم کوتاهِ بریدهنشده و هر دو قطعهٔ سمت چپ را نگه دارید. در ، کوتاهترین جسم سالم میماند؛ تکهٔ صفر قطعهٔ دیگری نیست. برای سه قطعهٔ برابر، بررسی کنید کدام طول دیگر با تکرارشده برابر است؛ اگر طول مشترک نیست، برابری سه طول دیگر را هم بیازمایید. جای برش و ترتیب طولها را برای هر نامزد کنترل کنید.
برچسب جایگاه (Finite position labels). بین جایگاههای تعداد شیء قرار دارد. در ردیف دوازدهتایی با ممنوعیت برچسبگذاری دو سر، حداکثر شیء بین دو برچسب است. شاهد کامل به هشت شیء بین B و C میرسد، چهار شیء بین A و B و چهار شیء بین C و D دارد و دقیقاً یک جفت برچسب مجاور، یعنی D و A، دارد. کران بالا بهتنهایی دستیافتنیبودن را ثابت نمیکند.
۳. انتقال: اختلاف دو برابر تغییر میکند
انتقال شیء از چپ به راست، حالت را به تبدیل میکند. کل ثابت است، اما اختلاف چپ منهای راست به اندازهٔ کاهش مییابد:
در مثالی مستقل، با انتقال چهار مهره از چپ به راست، تعدادها برابر میشوند. با تکرار همین حرکت، تعداد راست سه برابر چپ میشود. هر دو مرحله را نسبت به حالت اولیه ثبت کنید:
| مرحله | چپ | راست | شرط |
|---|---|---|---|
| اولیه | سهم اولیه با مخرج محاسبه میشود | ||
| پس از یک انتقال | |||
| پس از دو انتقال |
معادلهٔ نخست را میدهد. با جایگذاری در معادلهٔ دوم، و در نتیجه و به دست میآید. مسیر حالتها است. سهم اولیهٔ سمت راست است. بررسی کنید در هر حرکت، اشیای کافی برای انتقال وجود داشته باشد؛ دستگاهی که به تعداد منفی در یک مرحله برسد، پاسخ شدنی ندارد.
حرکت کسری و دستیافتنیبودن
برای اهدای کسرِ سادهشدهٔ ، اگر شکستن اشیا مجاز نیست، موجودی اهداکننده در همان مرحله باید بر بخشپذیر باشد. پیش از حرکت بعدی، همهٔ موجودیها را بهروز کنید؛ بخشپذیری اولیه بهتنهایی کافی نیست. مثلاً اگر بهترتیب A، سپس B و سپس C نصف دارایی هر دو نفر دیگر را بگیرند، مسیر مجاز است. موجودی هر اهداکنندهٔ واقعی زوج و کل ثابت است. برای کمینه، کرانهای پایینِ مربوط به هر مرحله را به دست آورید و مسیرِ رسیدن به آنها را بسازید؛ شدنیبودن یک کل، کمینهبودنش را ثابت نمیکند.
قید پایستهٔ لازم فقط حالتها را غربال میکند؛ ساخت کافی، دستیافتنیبودن را ثابت میکند. اگر هر حرکت به سه جایگاه دوبهدو نامجاور روی دایره، نفری یک شیء اضافه کند، بخشپذیری کل بر سه لازم است. دایره را شمارهگذاری و یال اتصال آخر به اول را نیز کنترل کنید. در شش جایگاه، حرکتهای و بهطور مجاز در همهٔ جایگاهها یک شیء میگذارند. جایگاههای شش و یک مجاورند؛ تکرار انتخاب مجاز نیز آزاد است، مگر ممنوع شود.
۴. کمینهٔ تعویض دلخواه: اثبات با چرخهها
برای اشیای متمایز و هدف ثابت با جایگاههای مشخص، جایگاه اولیهٔ هر شیء را به جایگاه هدف آن نگاشت کنید. جایگشت حاصل را به چرخههای مجزا تجزیه کنید؛ برای اشیای درست نیز چرخههای تکعضوی را بشمارید. اگر جایگاه و چرخه داشته باشیم:
هر تعویض تعداد چرخهها را حداکثر یک واحد افزایش میدهد؛ بنابراین برای رسیدن به چرخهٔ تکعضوی، دستکم تعویض لازم است. از طرف دیگر، چرخهای با طول را میتوان با تعویض حل کرد. پس کران پایین و ساخت عملی برابرند.
مثال: هدف و حالت اولیه است. نگاشت دارای چرخههای است؛ پس کمینه خواهد بود. جایگاههای یک و سه، سپس دو و سه و سپس چهار و پنج را عوض کنید. حالتها بهترتیب ، سپس و در پایان هدف هستند.
| مسئلهٔ نزدیک | کمیت شمردهشده یا کمینهشده | روش مناسب |
|---|---|---|
| ترکیب نامتمایزها | تعداد هر نوع، بدون توجه به ترتیب داخلی | جوابهای صحیح نامنفی با کران موجودی |
| چیدمان مرتب | شیء موجود در هر جایگاه برچسبدار | تخصیص صریح جایگاهها |
| تعویض دلخواه | امکان تعویض هر دو جایگاه | شمار چرخهها برای هر هدف مجاز |
| تعویض مجاور | فقط جایگاههای همسایه قابل تعویضاند | شمار وارونگیها برای هدف خطی ثابت |
دو کمینه میتوانند متفاوت باشند: چیدمان با یک تعویض دلخواه به میرسد، اما پنج وارونگی دارد و پنج تعویض مجاور لازم دارد. اگر چند هدف نهایی مجاز است، هر هدف مرتبط را بررسی کنید و کمترین مقدار را بگیرید. برای تکرارهای نامتمایز، خود تطبیق با هدف هم باید انتخاب شود؛ یک برچسبگذاری دلخواه را کورکورانه مبنا قرار ندهید.
در معمای کفش یا اشیای جفتی، همطبقهبودن را از جهت درست جدا کنید. قرارگرفتن هر دو عضو یک جفت در یک طبقه، خودبهخود به معنای الزام عضو چپ و راست به جایگاه فیزیکی معین نیست. شرط اضافی را فقط هنگامی اعمال کنید که مسئله آن را بیان کرده یا بهروشنی پذیرفته باشد؛ وگرنه کمینه میتواند تغییر کند.
بهینهسازی تعویض با هدف ثابت، چیدمان را معلوم فرض میکند. کشف برچسبهای نامعلوم با برداشت یا توزین، راهبرد مشاهده و کران بدترین حالت میخواهد؛ به کارت شناسایی و کدگذاری مراجعه کنید. مسیرهای جدولی و قیدهای شبکه نیز کارت همراه جداگانه دارند.
نکتهٔ کنکوری: ابتدا کمیت پایسته و هدف را مشخص کنید. سپس کمینه را با کران پایین و ساخت مجاز ثابت کنید، یا تعداد را با فهرست کامل و تکمیل شدنی برای هر سطر نشان دهید.
تلهٔ رایج: جرم درست یک کفه، موجودی باقیماندهٔ کنترلنشده یا طبقهای با برچسبهای درست هنوز ممکن است هدف کامل را نقض کند. بار منتقلشده، کفههای غیرخالی، موجودی اشیا و جهتِ صریحاً لازم را کنترل کنید.