Advertisement

Wednesday, January 23, 2013

Microsoft excel puzzle solver for sudoku

Sudoku puzzle တွေကိုဖြေရှင်းပေးနိုင်တဲ့ excel file


spacerဒီနေ့တော့ sudoku အကြောင်းပို့စ်တစ်ခုလောက်ရေးမယ်လို့ စဉ်းစားမိတယ်။ ကျွန်တော်အရင်က ရေးခဲ့တဲ့ excel file ကို ပြန်စမ်းကြည့်၊ လိုတာဖြည့်ပြီးတော့ ဒီ ပို့စ်ကို ရေးလိုက်တာ။
spacersudoku မှာအခြေခံကျတဲ့ နည်းစနစ်လေးတွေကို အရင်ဆုံးပြောပြချင်ပါတယ်။ Sudocue.net ကပါ။
  1. Squeezing
  2. spacerSqueezing ဆိုတာက ပုံမှာတွေ့ရသလိုပါပဲ။ အစိမ်းနုရောင်ခြယ် ထားတဲ့ အကွက်တစ်ခုပဲ နံပါတ် ၉ ထည့်ဖို့ကျန်ပါတော့တယ်။ ဒါကို Squeezing လို့ခေါ်ပါတယ်။squeezing
  3. Crosshatching
  4. spacerCrosshatching ဆိုတာက row,column,house တစ်ခုခုကို ပစ်မှတ်ထားပြီးတော့ ထည့်ရမယ့် နံပါတ်ရှာ တာပါ။ အစိမ်းနုရောင်အကွက်ကိုကြည့်ပါ။
    crosshatching
    crosshatching
  5. Locked Candidates
  6. spacerLocked Candidates ဆိုတာက အတိုင် ဒါမှမဟုတ် အတန်းတစ်ခုခုမှာ မဖြစ်မနေရှိရမည့် နံပါတ်မျိုးကိုရှာတာပါ။ ဒါဆိုရင် တစ်ခြားအကွက်တွေမှာ အဲဒိနံပါတ်ကို ဖယ်ထုတ်လို့ရပါပြီ။ ဒီပုံပါ အတိုင်းဆိုရင် R1C4 နဲ့ R3C4 အကွက်တွေမှာ ၁ ရှိကိုရှိရမှာ ဖြစ်တဲ့အတွက် R7C4,R8C4,R9C4 အကွက်တွေကနေ နံပါတ် ၁ ကို ဖယ်ထုတ်လို့ရပါပြီ။
    Locked Candidates
    spacerအောက်ကပုံမှာ ဆိုရင်တော့ R7C7 နဲ့ R9C7 အကွက်တွေမှာ ၂ မဖြစ်မနေရှိနေရမှာ ဖြစ်တဲ့ အတွက် အဲဒိ house ထဲမှာရှိတဲ့ တစ်ခြား ၂ တွေကို ပယ်လိုက်လို့ရပါပြီ။ Crosshatching နည်းအရ ကြည့်လိုက်ရင် ၂ အတွက်နေရာ က အဲဒိနှစ်ကွက်မှာပဲ ဆိုတာတွေ့ရမှာပါ။ Cloumn 7 ကို ကြည့်ပါ။
    Locked Candidates2
  7. Unlocked Single
  8. spacerပုံမှာဆိုရင် R4C7 နဲ့ R4C8 မှာ နံပါတ် ၃ ရှိကိုရှိနေရမှာဖြစ်ပါတယ်။ ဒီလိုဆိုရင် R4C3 က ၃ ကို ပယ်လိုက်လို့ရပါပြီ။ ဒီအတွက်ကြောင့် R2C3 မှာ ၃ ကိုပဲ ရွေးချယ်ရတော့မှာ ဖြစ်ပါတယ်။
    Unlocked Single
  9. X-wings
  10. spacerX-wings က အခြေခံထဲမှာတော့ မပါပါဘူး။ ဒါပေမဲ့ အသုံးဝင်တဲ့ အတွက် ထည့်ပေး လိုက်တာပါ။ ဒီပုံမှာ ဆိုရင် Row2 မှာ lock candidate နှစ်ခုတွေ့ရပြီးတော့ Row6 မှာ lock candidate နှစ်ခုတွေ့ရပါတယ်။ အဲဒိတော့ ထည့်ရမယ့် နံပါတ်တွေက ထောင့်ဖြတ်အတိုင်းရှိနေမှာပါ။ ဘယ်လိုပဲ ဖြစ်ဖြစ် column 5 နဲ့ 9 မှာ ၁ ထပ်ထည့်လို့မရတော့ပါဘူး။
    X-wings1
    spacer အောက်ကပုံကတော့ column 6 နဲ့ 7 မှာ ရှိတဲ့ lock candidate နှစ်ခုကို အသုံးချပြီး Row 3 နဲ့ 5 မှာ ရှိတဲ့ ၁တွေကို ဖယ်ထုတ်လိုက်တာပါ။
    X-wings1

spacerအခြေခံဖြေရှင်းနည်းတွေ နားလည်ပြီဆိုရင်တော့ ကျွန်တော်ရဲ့ ဖိုင်လေး အကြောင်းဆက်သွားချင် ပါတယ်။ macro ကို enable လုပ်ထားဖို့လိုပါတယ်။ အဝါရောင်ဘောင် ကွပ်ထားတဲ့ table ထဲမှာ ဆုဒိုကု puzzle ထဲက ဂဏန်းတွေကိုဖြည့်ပါ။ ပြီးရင် recalculate ကိုနှိပ်ပါ။ ဒီ button ကိုအချိန်အတော်များများသုံးရမှာ ဖြစ်ပါတယ်။ ကိုယ်က ဂဏန်းတစ်ခုခုရိုက်ထည့်ပြီးရင်လည်း ဒါကိုပဲ နှိပ်ပါ ။ တစ်ကယ်လို့ ဒါကိုနှိပ်လိုက်လို့ အကွက်တစ်ခုထဲမှာ ဂဏန်းတစ်လုံးပဲ ကျန်ခဲ့တယ်ဆိုရင်လည်း ဒီခလုတ်ကိုပဲ နှိပ်ပါ။ စာလုံးအကြီးပြောင်း သွားရင်တော့ ဆက်မနှိပ်ပါနဲ့တော့။ ပြီးရင် find1, find2 စတာတွေကို သုံးပြီးတော့ နံပါတ်တွေကိုလိုက်ရှာပါ။ ကျွန်တော်တို့ sudoku puzzle တွေကို ဖြေရှင်းတဲ့ အခါမှာ အကွက်တစ်ခုလုံးက ဂဏန်းတွေကို လိုက်ကြည့် သလိုပါပဲ။ ဒီမှာက အရောင်ခြယ်ထားတော့ ကြည့်ရတာ ပိုရှင်းပါလိမ့်မယ်။ Clear contents ဆိုတာက table ထဲမှာ ရှိနေတဲ့ ဂဏန်းတွေကို ဖျက်ပစ်ဖို့အတွက်ပါ။ macro ကိုသုံးထားတာဖြစ်တဲ့အတွက် undo လုပ်လို့မရပါဘူး။ conditional format ဆိုတာကတော့ အကုန်လုံးဖြည့်ပြီးတဲ့အချိန်မှာ မှန်၊မမှန် ပြန်စစ်ဖို့ပါ။
myfile2
spacer sheet2 မှာကတော့ ဘယ်လိုသုံးရမလဲဆိုတာကို ရေးပေးထားသလို ဘာတွေမလုပ်ရဘူး ဆိုတာလဲ ပြောထားပါတယ်။ အရောင်နဲ့ ပြထားတဲ့အတွက်အရမ်းကိုကြည့်ရတာရှင်းမယ်လို့ထင်ပါတယ်။ ဒီပို့စ်မှာ ရေးထား တဲ့ နည်းစနစ်တွေနဲ့ ကောင်းကောင်းအလုပ် ဖြစ်ပါတယ်။ သုံးကြည့်လို့အဆင်မပြေတာရှိရင် မေးနိုင် ပါတယ်။
myfile2
spacerအောက်ကပုံမှာတော့ ဇန်နဝါရီ ၂၄ရက်နေ့ထုတ် အင်တာနက်ဂျာနယ် ရဲ့ sudoku puzzle ကို ဥမာပေး ဖြေရှင့်ပြထားပါတယ်။ ပထမဆုံး Clear contents ကိုနှိပ်ပြီး ဇယားကွက် ထဲကဂဏန်းတွေကို ဖျက်လိုက်ပါ။ နောက်ပြီးတော့ ပုစ္ဆာထဲမှာပေးထားတဲ့ ဂဏန်းတွေကို ရိုက်ထည့်လိုက်ပါ။
fillin
spacerဖြည့်ပြီးရင် Recalculate ကိုနှိပ်ပါ။ ကျွန်တော့်ရဲ့ နည်းစနစ်ကတော့ ဖြစ်နိုင်တဲ့ ဂဏန်းတွေ အကုန် လုံးဖြည့်၊ ပြီးတော့မှ မလိုအပ်တဲ့ ဂဏန်းတွေကို ဖယ်ထုတ်မှာပါ။ အခုဖြစ်နိုင်ခြေရှိတဲ့ ဂဏန်းတွေ အကုန်လုံးကို ဇယားကွက်ထဲမှာ မြင်နေရပြီဖြစ်ပါတယ်။
aftercalculate
spacerအခု နံပါတ်၁ ကို ရှာချင်ရင် Find No.1 ဆိုတဲ့ ခလုတ်ကိုနှိပ်ပါ။ ရှာချင်တဲ့ နံပါတ်နဲ့ သက်ဆိုင်တဲ့ ခလုတ်ကိုနှိပ်ပါ။ အောက်ကပုံမှာတော့ ၂ ကိုရှာပြထားပါတယ်။ column 1 မှာ ၂ တစ်လုံးတည်းဖြစ်နေတာကို တွေ့ရမှာပါ။ ဒီအကွက်မှာ ၂ ကို ဖြည့်လိုက်ပါ။ ပြီးရင် Recalculate ကိုနှိပ်ပါ။ တစ်ခါတစ်လေကျရင် ကိုယ်ရိုက် ထည့် စရာကို မလိုပဲနဲ့ ဂဏန်းတစ်လုံးတည်းဖြစ်နေတာကို တွေ့ရပါလိမ့်မယ်။ ဒါဆိုရင်လည်း Recalculate ကိုပဲနှိပ်လိုက်ပါ။
2spotted
spacerအောက်ကပုံမှာကတော့ X-wings ကိုပြထားတာပါ။ ဒီပုစ္ဆာတစ်ခုလုံးမှာ ဒီတစ်နေရာပဲ ခက်တဲ့နေရာလို့ထင်ပါတယ်။ Find No.1 ကိုနှိပ်ထားတဲ့အနေအထားပါ။ column 3 နဲ့ 8 မှာ X-wing ကိုတွေ့ရမှာပါ။ ဒါဆိုရင် R1C1,R8C5,R8C7 အကွက်တွေက ၁ တွေကို ဖယ်ထုတ်လိုက်လို့ရပါပြီ။
xwingspotted
spacerအောက်ဆံ့းမှာတော့နောက်ဆုံးရလာတဲ့ ပုံကိုပြထားပါတယ်။
finalresult
Click here to download excel file

1 comment:

Suyu Tu said...

I update the download link for the excel. Sorry for not being able to download.