در سیارهی آلفا که اخیراً کشف شده، m×n کشور وجود دارد. اطلاعات زیر دربارهی این کشورها کشف شده است:
(در واقع هر کشوری به چهار کشورِ دیگر جاده دارد.)
دو جهانگرد قصد دارند با شروع از یک کشورِ دلخواه، هر کدام سفری را به تمامِ کشورها انجام دهند و از هر کشوری در طول سفر دقیقاً یکبار عبور کنند و سرانجام به کشور شروعِ سفر بازگردند. اما آن دو به دلایلی مایل نیستند از هیچ جادهای که قبلاً جهانگردِ دیگر از آن عبور کرده و یا در حال عبور است،عبور کنند.
ثابت کنید این دو نفر همواره میتوانند سفرهای خود را با موفقیت برنامهریزی کنند و به انجام برسانند.
در شکل زیر، ۳ مثال برای حالتهای m=3,n=3 و m=3,n=4 و m=4,n=4 کشیده شده است. خطوطِ نقطهچین مسیر سفر یکی و خطوطِ پررنگ مسیر سفر جهانگردِ دیگر است. در هر شکل، شهر (i,j) در سطر i و ستون j قرار دارد.
پاسخ
در اول نقشه کشور ها را با یک گراف شبکه (گرافی که رأس های آن نقاط شبکهاند) m×n مدلسازی میکنیم. یعنی هر کشور یک نقطه و هر جاده هم یک یال بین دو نقطه متناظر است. سفر مورد نظر جهانگردان نیز یک دور همیلتونی (دوری شامل تمامی نقاط شبکه) است. طبق گفته صورت سوال ما به دنبال پیدا کردن 2 دور همیلتونی با یالهای مجزا هستیم.
تعریف:
یک یال را یال خوب سطر i مینامیم اگر و تنها اگر این یال بین دو نقطه (i,j1) و (i,j2) کشیده شده و نیز |j1−j2|=n−1 باشد.
یک یال را یال خوب ستون j مینامیم اگر و تنها اگر این یال بین دو نقطه (i1,j) و (i2,j) کشیده شده و نیز |i1−i2|=m−1 باشد.
نکته: فعلا حالت n فرد و m زوج از مسئله را حل نمیکنیم.
حال روی n با گام 2 تایی استقرا میزنیم. ⇐ زوجیت n در حین استقرا ثابت میماند و نیز m هم همیشه در حین استقرا ثابت است.
در طی گام استقرا زوجیت m و n حفظ میشود پس هیچ وقت از فرض استقرا برای گراف شبکه m0×n0 ای که n فرد و m زوج باشد، استفاده نشده و استقرا درست است.
حال برای بدست آوردن دور های همیلتونی برای گراف شبکه m×nای که n فرد و m زوج باشد، جواب برای گراف شبکه n×m را درنظر بگیرید (چون تعداد ستون ها زوج است، وجود دارد). نقطه (i,j) را به نقطه (j,i) تناظر داده و نیز یالهای بین نقاط در حالت اولیه را تبدیل به یالهایی بین نقاط متناظر کنید. بدین ترتیب دور ها مجزا و همیلتونی میمانند پس جواب برای این حالت نیز بدست میآید.