গ্রেট এপিআই ইস্টার ডিম হান্ট দ্বারা অনুপ্রাণিত !
সারসংক্ষেপ
আপনার কাজটি হ'ল সম্ভাব্যতম পদক্ষেপটি ব্যবহার করে "কোলাটজ স্পেস" (পরে ব্যাখ্যা করার জন্য) একটি পূর্বনির্ধারিত পূর্ণসংখ্যার সন্ধান করা।
ভূমিকা
এই চ্যালেঞ্জটি বিখ্যাত কোলাটজ অনুমানের ভিত্তিতে যা আশা করি এখানে কমপক্ষে সকলেই শুনেছেন। এখানে সুপার কোলাটজ নম্বর মুদ্রণ করা থেকে একটি পুনরুদ্ধার করা আছে ।
Collatz সিকোয়েন্স (এছাড়াও 3x + 1 টি সমস্যা বলা হয়) যেখানে আপনি, কোনো ধনাত্মক পূর্ণসংখ্যা দিয়ে শুরু এই উদাহরণস্বরূপ আমরা 10 ব্যবহার করবে, এবং এটি করার জন্য পদক্ষেপ এই সেটটির প্রযোজ্য:
if n is even: Divide it by 2 if n is odd: Multiply it by 3 and add 1 repeat until n = 1
Collatz দূরত্ব C(m,n)
দুটি সংখ্যার মধ্যে m
এবং n
এই প্রতিদ্বন্দ্বিতা করার উদ্দেশ্যে, দুটি সংখ্যার মধ্যে দূরত্ব Collatz গ্রাফ (ব্যবহার করছে:, যা সংজ্ঞায়িত করা হয় নিম্নরূপ (আমি এই ধারণা সম্পর্কে বলার জন্য @tsh করতে ক্রেডিট) 21
এবং 13
উদাহরণ হিসেবে ):
কোলাটজ ক্রমটি লিখুন m
(এই ক্ষেত্রে 21
):
21, 64, 32, 16, 8, 4, 2, 1
কোলাটজ ক্রমটি লিখুন n
(এই ক্ষেত্রে 13
):
13, 40, 20, 10, 5, 16, 8, 4, 2, 1
এখন কেবল একটি অনুক্রমের মধ্যে কতগুলি সংখ্যা উপস্থিত তা গণনা করুন। এটি এর মধ্যে m
এবং এর মধ্যে কোলাটজ দূরত্ব হিসাবে সংজ্ঞায়িত করা হয়েছে n
। এই ক্ষেত্রে 8
, যথা,
21, 64, 32, 13, 40, 20, 10, 5
সুতরাং আমরা মধ্যে Collatz দূরত্ব আছে 21
এবং 13
যেমন C(21,13)=8
।
C(m,n)
নিম্নলিখিত সুন্দর বৈশিষ্ট্য আছে:
C(m,n)=C(n,m)
C(m,n)=0 iff. m=n
আশা করি সংজ্ঞাটি C(m,n)
এখন পরিষ্কার হয়ে গেছে। কোলাটজ স্পেসে ডিমের শিকার শুরু করা যাক!
গেমের শুরুতে, একটি নিয়ামক একটি ইস্টার ডিমের অবস্থান স্থির করে, যা তার এক-মাত্রিক সমন্বয় দ্বারা প্রকাশ করা হয়: বিরতিতে একটি পূর্ণসংখ্যা [p,q]
(অন্য কথায় , উভয় প্রান্তের মধ্যে একটি পূর্ণসংখ্যা p
এবং q
অন্তর্ভুক্ত)।
পুরো খেলা জুড়ে ডিমের অবস্থান স্থির থাকে। আমরা এই সমন্বয় হিসাবে চিহ্নিত করব r
।
আপনি এখন প্রাথমিক অনুমান করতে পারেন 0 , এবং এটি নিয়ামক দ্বারা রেকর্ড করা হবে। এটি আপনার 0 তম রাউন্ড। আপনি যদি এত ভাগ্যবান হন যে আপনি এটি প্রথম স্থানে পেয়েছেন (যেমন একটি 0 = আর), খেলা শেষ হয় এবং আপনার স্কোর হয় 0
(কম স্কোরটি তত ভাল)। অন্যথায়, আপনি 1 ম রাউন্ডে প্রবেশ করেন এবং আপনি একটি নতুন অনুমান 1 1 করেন , এটি ঠিক না হওয়া পর্যন্ত এটি চলতে থাকে, অর্থাত্ একটি এন = আর, এবং আপনার স্কোর হবে n
।
0 তম পরে প্রতিটি রাউন্ডের জন্য, নিয়ামক আপনাকে নীচের একটি ফিডব্যাক দেয় যাতে আপনি প্রদত্ত তথ্যের ভিত্তিতে আরও ভাল অনুমান করতে পারেন। ধরে নেওয়া যাক আপনি বর্তমানে n
দ্বি রাউন্ডে আছেন এবং সুতরাং আপনার অনুমানটি একটি এন
- "তুমি কি দেখেছো এটাকে!" যদি কোনও এন = আর হয়, সেক্ষেত্রে গেমটি শেষ হয় এবং আপনি স্কোর করেন
n
। - "আপনি নিকটবর্তী হন :)" যদি সি (একটি এন , আর) <সি (একটি এন -1 , আর)
- "আপনি ডিমের চারদিকে ঘুরছেন" যদি C (a n , r) = C (একটি n-1 , r)
- "আপনি আরও দূরে রয়েছেন :(" সি (এ এন , আর)> সি (একটি এন -1 , আর)
কিছু বাইট সংরক্ষণ করতে, আমি উপরের উপস্থাপিত ক্রমে প্রতিক্রিয়াগুলিকে "ডান", "নিকটবর্তী", "সম", "আরও" বলে ডাকব।
এখানে সঙ্গে একটি উদাহরণ গেম p=1,q=15
।
- a 0 = 10
- a 1 = 11, প্রতিক্রিয়া: "নিকটবর্তী"
- a 2 = 13, প্রতিক্রিয়া: "আরও"
- একটি 3 = 4, প্রতিক্রিয়া: "আরও"
- a 4 = 3, প্রতিক্রিয়া: "নিকটবর্তী"
- a 5 = 5, প্রতিক্রিয়া: "একই"
- a 6 = 7, প্রতিক্রিয়া: "ডান"
স্কোর: 6
।
চ্যালেঞ্জ
সেরা স্কোর সহ গেমটি খেলতে একটি নিয়ন্ত্রক কৌশল ডিজাইন করুন p=51, q=562
।
উত্তরগুলির अल्গরিদমগুলি বিশদভাবে বর্ণনা করা উচিত। আপনি যে কোনও কোড সংযুক্ত করতে পারেন যা অ্যালগরিদমকে ব্যাখ্যা করতে সহায়তা করে। এটি কোডগল্ফ নয় তাই আপনাকে সুস্পষ্ট কোড লিখতে উত্সাহ দেওয়া হবে।
উত্তরগুলিতে সমস্ত সম্ভাব্য ক্ষেত্রে r
যেটি অর্জন করতে পারে তার মধ্যে সবচেয়ে খারাপ স্কোর এবং সর্বনিম্নতম স্কোরের সাথে একটিটি অন্তর্ভুক্ত করা উচিত। টাইয়ের ক্ষেত্রে, অ্যালগরিদমগুলি যে সমস্ত সম্ভাব্য r
ওজনের (যা উত্তরের মধ্যে অন্তর্ভুক্ত করা উচিত) জন্য আরও ভাল গড় স্কোর রয়েছে win আর কোনও টাই ব্রেকার নেই এবং শেষ পর্যন্ত আমাদের একাধিক বিজয়ী থাকতে পারে।
চশমা
- পুনরাবৃত্তি করতে,
r
অন্তর অন্তর্ভুক্ত[51,562]
। - ডিফল্ট লুফোলস প্রয়োগ হয়।
অনুগ্রহ করে (প্রথম উত্তর পোস্ট করার পরে যুক্ত করা হয়েছে)
আমি ব্যক্তিগতভাবে এমন উত্তরের জন্য একটি অনুদানের প্রস্তাব দিতে পারি যেখানে [51,562]
যথাযথভাবে কম খারাপ স্কোর থাকা সত্ত্বেও সমস্ত অনুমানগুলি সীমার মধ্যে করা হয় ।