ইম্পেরিয়াল চীনে সমাজের পদমর্যাদাগুলি জন্ম বা ধন-সম্পদ দ্বারা সিদ্ধান্ত নেওয়া হয়নি, তবে একজন ব্যক্তির ইম্পেরিয়াল পরীক্ষায় দক্ষতার দক্ষতার দ্বারা সিদ্ধান্ত নেওয়া হয়েছিল। স্বর্গের divineশ্বরিক শাসক জেড সম্রাট তাঁর সমস্ত বিষয়গুলির মূল্য নির্ধারণের জন্য পরীক্ষা করার জন্য এবং পরবর্তী সময়ে কাকে ruleশিক আদেশ দেওয়ার জন্য চীনকে শাসন করার আহ্বান জানিয়েছেন।
আমলকীর বিধি:
- ডিভাইন আমলাতন্ত্র অ-নেতিবাচক পূর্ণসংখ্যার মান সম্পন্ন র্যাঙ্ক নিয়ে গঠিত, যার শুরু 0 হয়। আমলাতন্ত্রীর প্রতিটি সদস্য (বট) এক পদে অন্তর্ভুক্ত। প্রতিটি পদমর্যাদাসহ অনেক সদস্যকে ধরে রাখতে পারে, তবে উপরের সমস্ত র্যাঙ্ক খালি না হলে খালি থাকতে পারে না
- গেমের শুরুতে, সমস্ত সদস্যের 0 নম্বর হয়
- প্রতিবার, আমলাদের প্রতিটি সদস্যকে একটি পরীক্ষার উত্তর দিতে হবে। পরীক্ষায় একটি তালিকার বুলিয়ান মানগুলি সঠিকভাবে অনুমান করা থাকে। তালিকার দৈর্ঘ্য সদস্যের উপরে থাকা র্যাঙ্কের সংখ্যা।
- পরীক্ষার প্রশ্নগুলি উপরের র্যাঙ্কের এলোমেলো সদস্য দ্বারা প্রস্তুত করা হয়। সর্বোচ্চ পদমর্যাদার সদস্যরা সরাসরি তাদের প্রশ্নগুলি
JadeEmperor
(নীচে দেখুন) থেকে পান - একজন সদস্য তাদের পরীক্ষায় কমপক্ষে 50% স্কোর করে প্রচারের জন্য যোগ্য। যে সদস্য তাদের পরীক্ষায় ৫০% এরও কম স্কোর করে তারা ডিভোশনের জন্য যোগ্য।
- নীচে র্যাঙ্কে পদোন্নতির জন্য যদি কোনও সদস্য তাদের স্থান গ্রহণের জন্য যোগ্য হন তবেই ডেমোশনের জন্য যোগ্য সদস্য তাদের পদমর্যাদার হার এক হ্রাস পেয়েছে।
- প্রচারের জন্য যোগ্য সকল সদস্যের যতক্ষণ না এই র্যাঙ্কটি ফাঁকা থাকে ততক্ষণ তাদের র্যাঙ্ক এক বাড়িয়েছে।
- যদি সমস্ত যোগ্য সদস্যকে পদোন্নতি বা পদোন্নতি দেওয়া না যায়, তবে অগ্রাধিকারটি সর্বনিম্ন (গণতন্ত্রের জন্য) সম্মানের ক্ষেত্রে যায়। সর্বোচ্চ (প্রচারের জন্য) স্কোর। টাই এলোমেলোভাবে ভেঙে যায়।
- সদস্যের পদমর্যাদায় প্রতিটি প্রতিটিতে প্রায় ১ জন পরিবর্তন করতে পারে change
খেলার নিয়ম:
- গেমের শুরুতে প্রতিটি বট এলোমেলোভাবে একটি আইডি অর্পণ করা হবে, যা তার গতিপথের পরিবর্তে পরিবর্তন হবে না।
JadeEmperor
আইডি আছে -1 অন্যেরা সব দিচ্ছে পরপর অ নেতিবাচক ID উপস্থিত রয়েছে, 0 থেকে শুরু। - সমস্ত বট একই সাথে প্রতিযোগিতা করে
- গেমটি 100 টার্নের জন্য চলে, বটের স্কোরটি তার গড় র্যাঙ্কটি সেই সময়ের মধ্যে ধারণ করে।
- মোট স্কোর 1000 গেমগুলি চালিয়ে এবং ফলাফলগুলির গড় দ্বারা অর্জিত হয়।
- প্রতিটি বট একটি পাইথন 3 শ্রেণি যা নিম্নলিখিত চারটি ফাংশন প্রয়োগ করে:
ask(self,n,ID)
, যাlist
দৈর্ঘ্যের বুলিয়ানগুলির একটিকে ফিরে দিয়ে একটি পরীক্ষা করে । আইডি হ'ল সেই বটের আইডি যাঁর সেই তালিকাটি অনুমান করতে হয়।ask()
যে কোনও বোটের জন্য একক রাউন্ডে বহুবার ডাকা যেতে পারে, তবে তা মোটেও নয়।answer(self,n,ID)
, যাlist
দৈর্ঘ্যের বুলিয়ানগুলির মধ্যে একটি দিয়ে একটি পরীক্ষার উত্তর দেওয়ার প্রয়াস । আইডি হ'ল সেই বটের IDask()
যা পরীক্ষার উত্সাহ দেয়।answer()
প্রতিটি বোটের জন্য প্রতি রাউন্ডে ঠিক একবার বলা হয়।update(self,rankList,ownExam,otherExams)
একবার কন্ট্রোলার সমস্ত প্রো এবং গণনা সম্পাদন করে called এর যুক্তিগুলি হ'ল: পূর্ণসংখ্যার একটি তালিকা, সমস্ত বটের আইডি দ্বারা সমস্ত পদ তালিকাভুক্ত; একটি টিপল, দুটি তালিকাগুলি নিয়ে গঠিত, প্রথমে পরীক্ষার প্রশ্ন, তারপরে বট যে উত্তর দেয় (যদি তা ভুলে যায়); তারপরে টিপলগুলির একটি তালিকা, একইভাবে পরীক্ষা-উত্তর জোড়া নিয়ে গঠিত, এবার বটটি দেওয়া সমস্ত পরীক্ষার জন্য।__init__(self, ID, n)
বট তার নিজস্ব আইডি এবং প্রতিযোগী বট সংখ্যা পাস করে।
- ক্লাসগুলি ব্যক্তিগত ব্যবহারের জন্য অন্যান্য ক্রিয়াকলাপ বাস্তবায়নের অনুমতিপ্রাপ্ত
- আরও ভেরিয়েবলগুলি সংজ্ঞায়িত করা এবং তাদের পূর্ববর্তী পরীক্ষাগুলি সম্পর্কে ডেটা সঞ্চয় করার জন্য স্পষ্টভাবে অনুমোদিত।
- প্রোগ্রামিং মেটা-ইফেক্টগুলি নিষিদ্ধ, যার অর্থ অন্য বটসের কোড, নিয়ামকের কোড সরাসরি অ্যাক্সেসের যে কোনও প্রচেষ্টা ব্যতিক্রম বা অনুরূপ সৃষ্টি করে। এটি কোড হ্যাকিং নয়, পরীক্ষার কৌশলগুলির একটি প্রতিযোগিতা।
- একে অপরকে সাহায্য করার চেষ্টা করা বটগুলি যতক্ষণ না তারা মেটা-এফেক্টের মাধ্যমে এটি না করে কেবল স্পষ্টভাবে অনুমোদিত হয় তবে পুরোপুরি তথ্য দ্বারা পাস করা
update()
- অন্যান্য ভাষাগুলি কেবলমাত্র পাইথন 3 এ রূপান্তরিত হতে পারলেই তাদের অনুমতি রয়েছে।
- লাইব্রেরির নামিটি আমদানি করা হবে
np
। সংস্করণটি 1.6.5 এর অর্থ এটি পুরানো এলোমেলো গ্রন্থাগার ব্যবহার করে। আপনার যদি নপি 1.7 থাকে তবে পুরানো ফাংশনগুলি এর অধীনে উপলব্ধnumpy.random.mtrand
পরীক্ষার জন্য । জমা দেওয়ার জন্য দয়া করে মনে রাখবেন মেট্র্যান্ডটি ফেলা। - রানটাইম চলাকালীন কোনও বট যদি একটি ব্যতিক্রম ঘটায় তবে তা অযোগ্য ঘোষণা করা হয়। যার বট কোডটি এতটাই দ্ব্যর্থহীন যে এটি দৈর্ঘ্য n এর একটি তালিকা উত্পন্ন করে
ask()
বাanswer()
কখন ডাকা হবে তাও বলা অসম্ভব । একটি বট আমাকে ডিপ-কপি আউটপুটগুলিতে বাধ্য করে স্কোর -1 পায়। - শ্রেণীর নামগুলি অনন্য হতে হবে
- প্রতি ব্যক্তি একাধিক বট অনুমোদিত, তবে কেবলমাত্র সর্বশেষতম সংস্করণ পুনরাবৃত্ত আপডেট হওয়া বট গ্রহণ করা হবে।
- যেহেতু বটের মিল সম্পর্কে কিছু বিভ্রান্তি রয়েছে বলে মনে হচ্ছে:
- আপনাকে অন্য বটের একটি অনুলিপি পোস্ট করার অনুমতি নেই । এটিই হ'ল একমাত্র স্ট্যান্ডার্ড লুফোল যা সত্যই এই চ্যালেঞ্জে প্রয়োগ হয়।
- আপনার কাছে অন্য লোকের বট সহ অন্যান্য বটগুলির সাথে ভাগ করা কোড থাকার অনুমতি রয়েছে।
- আপনাকে এমন একটি বট জমা দেওয়ার অনুমতি নেই যা কেবলমাত্র কৌশলটির তুচ্ছ পরিবর্তনের মাধ্যমে (অন্যের থেকে পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক প্রশ্নবিদ্ধের জন্য বীজের পরিবর্তনের মতো) আপনি যদি প্রমাণ করতে না পারেন যে কার্বন কপির বটের সংখ্যা সফলতার জন্য প্রয়োজনীয় ন্যূনতম তাদের কৌশল কার্যকর করা (এটি একটি সহযোগিতার জন্য সাধারণত দুটি বট হবে)।
উদাহরণস্বরূপ:
JadeEmperor
সবসময় খেলার অংশ, কিন্তু প্রতিদ্বন্দ্বিতা করে না; তিনি সর্বোচ্চ র্যাঙ্কের বট পরীক্ষার জন্য জেনারেটরের কাজ করেন। তার পরীক্ষাগুলি এলোমেলো, তবে সমান নয়, স্মার্ট বটগুলিকে অগ্রসর হওয়ার উপায় দেয়।
class JadeEmperor:
def __init__(self):
pass
def ask(self,n,ID):
num=min(np.random.exponential(scale=np.sqrt(np.power(2,n))),np.power(2,n)-1)
bi=list(np.binary_repr(int(num),width=n))
return [x=='0' for x in bi]
মাতালঃ সম্পূর্ণরূপে এলোমেলোভাবে পরীক্ষার ও উত্তর উৎপন্ন হয়। তিনি খেলায় অংশ নেবেন।
class Drunkard:
def __init__(self,ID,n):
pass
def ask(self,n,ID):
return list(np.random.choice([True,False],size=n,replace=True))
def answer(self,n,ID):
return list(np.random.choice([True,False],size=n,replace=True))
def update(self,rankList,ownExam,otherExams):
pass #out
চন্দ্ররেণু শুধু কপি পূর্ববর্তী পরীক্ষার। তিনিও এই খেলায় অংশ নেবেন।
class Plagiarist:
def __init__(self,ID,n):
self.exam=[True]
def ask(self,n,ID):
return (self.exam*n)[0:n]
def answer(self,n,ID):
return (self.exam*n)[0:n]
def update(self,rankList,ownExam,otherExams):
self.exam=ownExam[0]
নিয়ামক কোড এখানে উপলব্ধ । পরীক্ষার জন্য, আপনি একই ফোল্ডারের একটি প্রতিযোগী.পি ফাইলের মধ্যে আপনার নিজের ক্লাস রাখতে পারেন এবং সেগুলি আমদানি করা হবে।
পরীক্ষা শুরু!
অক্টোবর 20 এর জন্য উচ্চতর নির্ভুলতায় (10000 রান) বর্তমান স্কোর:
সুদূর ভবিষ্যতের জন্য প্রতিটি নতুন এন্ট্রি নিয়ে প্রতিযোগিতা পরিচালিত হবে।
ID, n
তবে অন্যান্য পদ্ধতির আর্গুমেন্ট n, ID
?