ရုပ်ပုံ- MurmurHash3A အယ်လဂိုရီသမ် – အဆင့်မြင့် အမြင်အာရုံ ခြုံငုံသုံးသပ်ချက်
ထုတ်ဝေသည်- ၂၀၂၆၊ ဇန်နဝါရီ ၁၂ UTC ၁၃:၃၃:၂၉
နောက်ဆုံး မွမ်းမံပြင်ဆင်သည်- ၂၀၂၆၊ ဇန်နဝါရီ ၉ UTC ၂၁:၁၇:၃၆
MurmurHash3A hash algorithm ကို ရှင်းလင်းပြီး နားလည်ရလွယ်ကူသော မြင်ယောင်မှု၊ ရောနှောခြင်း၊ ရောနှောခြင်းနှင့် အပြီးသတ်ခြင်းကဲ့သို့သော ၎င်း၏ အဓိက သဘောတရားဆိုင်ရာ အဆင့်များကို ရောင်စုံ ရှုခင်းပုံ infographic တွင် တင်ပြထားသည်။
MurmurHash3A Algorithm – High-Level Visual Overview

ဤပုံ၏ ရရှိနိုင်သော ဗားရှင်းများ
အောက်တွင် ဒေါင်းလုဒ်လုပ်နိုင်သော ရုပ်ပုံဖိုင်များသည် ဤဝက်ဘ်ဆိုက်ရှိ ဆောင်းပါးများနှင့် စာမျက်နှာများတွင် ထည့်သွင်းထားသော ရုပ်ပုံများထက် ချုံ့မှုနည်းပြီး ရုပ်ထွက်အရည်အသွေးမြင့်မားသည် - ထို့ကြောင့် အရည်အသွေးမြင့်မားပြီး bandwidth သုံးစွဲမှုကို လျှော့ချရန်အတွက် ဖိုင်အရွယ်အစားအတွက် ပိုမိုသင့်တော်အောင် ပြုလုပ်ထားသည်။
ပုံမှန်အရွယ်အစား (1,536 x 1,024)
အရွယ်အစားကြီး (3,072 x 2,048)
အရွယ်အစား အလွန်ကြီးမား (4,608 x 3,072)
အရွယ်အစား အလွန်ကြီး (6,144 x 4,096)
ရယ်စရာကောင်းလောက်အောင် အရွယ်အစားကြီးမား (1,048,576 x 699,051)
- တင်နေတုန်းပဲ... ;-)
ပုံဖော်ပြချက်
ပုံသည် "MurmurHash3A Algorithm" ဟု အမည်ပေးထားသော ကျယ်ပြန့်သော၊ ရှုခင်းကို အခြေခံသည့် infographic တစ်ခုဖြစ်ပြီး အပေါ်ဘက်တွင် ထင်ရှားစွာ စာလုံးမည်းဖြင့် ပြသထားသည်။ ခေါင်းစဉ်အောက်တွင်၊ ပုံတွင် MurmurHash3A hashing လုပ်ငန်းစဉ်သည် input data ကို fixed-size hash output အဖြစ် မည်သို့ပြောင်းလဲသည်ကို သဘောတရားအရ ရှင်းပြထားသော ဘယ်မှညာသို့ နှင့် အပေါ်မှအောက်သို့ flowchart ကို ဖော်ပြထားသည်။ ပုံစံသည် ရည်ရွယ်ချက်ရှိရှိ အဆင့်မြင့်ပြီး abstract ဖြစ်ပြီး၊ တိကျသော constant များ သို့မဟုတ် အကောင်အထည်ဖော်မှုအသေးစိတ်အချက်အလက်များကို ရှောင်ရှားပြီး algorithm ၏ အလုံးစုံဖွဲ့စည်းပုံကို ဖော်ပြပေးသည်။
အပေါ်ဘယ်ဘက်ခြမ်းမှာ အပြာရောင်အပြင်အဆင်နဲ့ "Input Data" လို့ အမည်ပေးထားတဲ့ လုံးဝန်းတဲ့ ထောင့်မှန်စတုဂံပုံ အကွက်လေးတစ်ခု ရှိပါတယ်။ ဒီအကွက်ထဲမှာတော့ အလိုအလျောက် raw input bit တွေကို ကိုယ်စားပြုတဲ့ binary digit မျဉ်းတိုလေးတစ်ခုကို ပြသထားပါတယ်။ ဒီအကွက်ကနေ ညာဘက်ကို "Get 32-bit Key" လို့ အမည်ပေးထားတဲ့ လိမ္မော်ရောင်နဲ့ လုံးဝန်းတဲ့ ထောင့်မှန်စတုဂံတစ်ခုဆီကို မြှားတစ်ချောင်းက ဦးတည်နေပါတယ်။ အလုပ်လုပ်တဲ့ key တွေကို ထုတ်ယူဖို့ input ကို အပိုင်းအစလေးတွေအဖြစ် အရင်လုပ်ဆောင်ပြီးပြီဆိုတာကို ညွှန်ပြနေပါတယ်။ မြှားတွေက ထူပြီး မှောင်နေတာကြောင့် data စီးဆင်းမှုကို အလွယ်တကူ နားလည်နိုင်ပါတယ်။
အဝင်ဧရိယာအောက်တွင် "Mix & Rotate" ဟု အမည်ပေးထားသော အဝါရောင်အကွက်တစ်ခု ပေါ်လာပြီး အဝင်မှ အောက်သို့ညွှန်ပြသော မြှားဖြင့် ချိတ်ဆက်ထားသည်။ ဤအကွက်တွင် အပေါင်းလက္ခဏာ၊ မြှောက်သင်္ကေတနှင့် ကွေးညွှတ်လှည့်မြှားကဲ့သို့သော ရိုးရှင်းသော သင်္ကေတအိုင်ကွန်များ ပါဝင်ပြီး တိကျသောလုပ်ဆောင်ချက်များကို မလုပ်ဆောင်ဘဲ သင်္ချာဆိုင်ရာ ရောနှောခြင်းနှင့် bit လှည့်ခြင်းများကို ညွှန်ပြသည်။ ဤအဝါရောင်အကွက်မှ အလျားလိုက်မြှားသည် "Multiply & Shift" ဟု အမည်ပေးထားသော နောက်လိမ္မော်ရောင်အကွက်သို့ ညွှန်ပြသည်။ ဤဒုတိယလိမ္မော်ရောင်အကွက်တွင် မြှောက်ခြင်းနှင့် bit ရွှေ့ပြောင်းခြင်းအတွက် ရိုးရှင်းသောအိုင်ကွန်များ ပါဝင်ပြီး ဒေတာသည် ပျံ့နှံ့နေသော entropy သို့ အကြီးအကျယ်ပြောင်းလဲနေကြောင်း ခိုင်မာစေသည်။
Multiply & Shift" အကွက်၏ ညာဘက်တွင် "XOR & Scramble" ဟု အမည်ပေးထားသော ခရမ်းရောင်အကွက်တစ်ခုရှိသည်။ ၎င်းကို အလျားလိုက်မြှားဖြင့် ချိတ်ဆက်ထားပြီး ၎င်း၏အတွင်းပိုင်းတွင် XOR ကဲ့သို့သော အိုင်ကွန်နှင့် လည်ပတ်မြှားအပါအဝင် abstract သင်္ကေတများကို ထပ်မံပြသထားပြီး အလယ်အလတ်တန်ဖိုးများကို ထပ်မံစီစစ်ခြင်းနှင့် ပေါင်းစပ်ခြင်းဆိုင်ရာ အယူအဆကို ဖော်ပြနေသည်။ အရောင်ကို တသမတ်တည်းအသုံးပြုခြင်း - ရောနှောရန်အတွက် အဝါရောင်၊ မြှောက်ခြင်းနှင့် ရွေ့လျားခြင်းအတွက် လိမ္မော်ရောင်၊ XOR နှင့် စီစစ်ခြင်းအတွက် ခရမ်းရောင် - သည် ဆက်စပ်သောလုပ်ဆောင်ချက်အမျိုးအစားများကို အမြင်အာရုံဖြင့် အုပ်စုဖွဲ့ရန် ကူညီပေးသည်။
Multiply & Shift" အကွက်မှ အောက်သို့ညွှန်ပြသောမြှားသည် "Finalization" ဟု အမည်ပေးထားသော အစိမ်းရောင်အကွက်သို့ ဦးတည်သွားပြီး "Mix & XOR" ဟူသော စာတန်းထိုးပါရှိသည်။ ဤနေရာသည် အယ်လဂိုရီသမ်၏ နောက်ဆုံး avalanche အဆင့်ကို ကိုယ်စားပြုပြီး internal state ကို နောက်ဆုံးအကြိမ် ရောနှောကာ input အပြောင်းအလဲအနည်းငယ်မှ output ကွာခြားချက်များစွာ ဖြစ်ပေါ်စေပါသည်။ အစိမ်းရောင်သည် ဤနောက်ဆုံးအဆင့်ကို အထက်ဖော်ပြပါ အဓိကခန္ဓာကိုယ်ပြုပြင်မှုအဆင့်များနှင့် အမြင်အာရုံဖြင့် ခွဲခြားထားသည်။
ပုံ၏အောက်ခြေအလယ်ဗဟိုတွင် "32-bit Hash Output" ဟု အမည်ပေးထားသော ကြီးမားသော အပြာရောင်အဝိုင်းစတုဂံတစ်ခုရှိသည်။ ၎င်းအတွင်းတွင် အယ်လဂိုရီသမ်မှထုတ်လုပ်သော နောက်ဆုံး hash တန်ဖိုးကိုကိုယ်စားပြုသည့် ဘိုင်နရီဂဏန်းများ၏ အခြားစာကြောင်းကို ပြသထားသည်။ အစိမ်းရောင် "Finalization" box မှ အောက်သို့ညွှန်ပြသော မြှားတစ်ခုတည်းသည် ဤ output block ထဲသို့ တိုက်ရိုက်ချိတ်ဆက်ထားပြီး ၎င်းသည် လုပ်ငန်းစဉ်၏ နောက်ဆုံးအဆင့်ဖြစ်ကြောင်း ရှင်းရှင်းလင်းလင်းဖော်ပြသည်။
အလုံးစုံသော်၊ အပြင်အဆင်သည် သန့်ရှင်းသပ်ရပ်ပြီး ညီညွတ်ကာ စကင်ဖတ်ရလွယ်ကူကာ သေတ္တာများအကြားတွင် ကျယ်ဝန်းသော အကွာအဝေးနှင့် တသမတ်တည်းရှိသော မြားပုံစံများပါရှိသည်။ နောက်ခံသည် အဖြူရောင်ဖြစ်ပြီး အရောင်ရှိသော အစိတ်အပိုင်းများနှင့် ပြင်းထန်သော ဆန့်ကျင်ဘက်ဖြစ်မှုကို သေချာစေသည်။ ပုံတွင် MurmurHash3A ၏ သဘောတရားဆိုင်ရာ လုပ်ငန်းစဉ်—အကြမ်းဖျင်းထည့်သွင်းမှုမှ အထပ်ထပ်ရောနှောခြင်းနှင့် မွှေနှောက်ခြင်းလုပ်ငန်းများမှတစ်ဆင့် နောက်ဆုံး 32-bit hash သို့—အဆင့်နိမ့် သို့မဟုတ် အမှားအယွင်းဖြစ်နိုင်ခြေရှိသော အသေးစိတ်အချက်အလက်များကို အားမကိုးဘဲ ဆက်သွယ်ပေးသောကြောင့် ပညာပေး သို့မဟုတ် မိတ်ဆက်ရှင်းလင်းချက်များအတွက် သင့်လျော်စေသည်။
ပုံသည်- MurmurHash3A ဟက်ရှ်ကုဒ်တွက်စက်
