এই চ্যালেঞ্জের লক্ষ্যটি হ'ল চেষ্টা করা সম্ভবতম সংখ্যায় একটি শব্দ অনুমান করতে সক্ষম একটি প্রোগ্রাম লিখতে। এটি লিঙ্গো টিভি শো ( http://en.wikedia.org/wiki/Lingo_(US_game_show) এর ধারণার উপর ভিত্তি করে ।
বিধি
কমান্ড লাইনে প্রথম যুক্তি হিসাবে একটি শব্দের দৈর্ঘ্য দেওয়া হয়েছে, প্লেয়ার প্রোগ্রামটি তার একক চরিত্রের পরে তার স্ট্যান্ডার্ড আউটপুটটিতে অনুমান লিখে শব্দটি অনুমান করার জন্য পাঁচটি প্রচেষ্টা নিষ্পত্তি করে \n
।
অনুমান করার পরে, প্রোগ্রামটি তার স্ট্যান্ডার্ড ইনপুটটিতে একটি স্ট্রিং দেয়, তার পরে একটি একক \n
অক্ষরও থাকে।
স্ট্রিংটির অনুমানের শব্দের সমান দৈর্ঘ্য রয়েছে এবং নিম্নলিখিত অক্ষরের ক্রমটি সমন্বিত:
X
: যার অর্থ যে প্রদত্ত চিঠিটি অনুমান করার জন্য শব্দটিতে উপস্থিত নেই?
: যার অর্থ যে প্রদত্ত চিঠিটি অনুমান করার জন্য শব্দটিতে উপস্থিত রয়েছে তবে অন্য কোনও স্থানে রয়েছেO
: যার অর্থ এই অবস্থানের চিঠিটি সঠিকভাবে অনুমান করা হয়েছে
উদাহরণস্বরূপ, যদি অনুমান করতে শব্দ dents
, এবং প্রোগ্রাম শব্দ পাঠায় dozes
, এটা পাবেন OXX?O
কারণ d
এবং s
সঠিক হয়, e
ভুল হয়, এবং o
এবং z
উপস্থিত না।
সাবধান যে যদি একটি চিঠি অনুমান করার শব্দ তুলনায় মনন প্রয়াস আরও উপস্থিত বার, এটা হবে না হিসেবে চিহ্নিত করা ?
এবং O
শব্দ অনুমান করার জন্য চিঠির occurences সংখ্যা বেশি বার। উদাহরণস্বরূপ, যদি অনুমানের শব্দটি হয় cozies
এবং প্রোগ্রামটি প্রেরণ করে তবে tosses
এটি প্রাপ্ত হবে XOXXOO
কারণ এটির সন্ধানের জন্য কেবল একটিই রয়েছে s
।
শব্দ একটি ইংরেজি শব্দ তালিকা থেকে চয়ন করা হয়। প্রোগ্রাম দ্বারা প্রেরিত শব্দটি যদি সঠিক দৈর্ঘ্যের একটি বৈধ শব্দ না হয় তবে প্রচেষ্টাটিকে একটি স্বয়ংক্রিয় ব্যর্থতা হিসাবে বিবেচনা করা হয় এবং কেবলমাত্র X
ফিরে আসে।
প্লেয়ার প্রোগ্রামটি ধরে নেওয়া উচিত যে নামক wordlist.txt
এবং প্রতি লাইনে একটি শব্দ যুক্ত একটি ফাইল বর্তমান কার্যনির্বাহী ডিরেক্টরিতে উপস্থিত রয়েছে এবং প্রয়োজনীয় হিসাবে পড়া যেতে পারে।
অনুমানগুলি কেবল বর্ণানুক্রমিক লো-কেস অক্ষর ( [a-z]
) দ্বারা গঠিত হওয়া উচিত ।
প্রোগ্রামের জন্য অন্য কোনও নেটওয়ার্ক বা ফাইল অপারেশন অনুমোদিত নয়।
গেমটি তখন শেষ হয় যখন কেবল একটি স্ট্রিং নিয়ে O
আসে বা প্রোগ্রামটি 5 টি প্রচেষ্টা করার পরেও শব্দটি অনুমান করতে সক্ষম হয় না।
স্কোরিং
একটি গেমের স্কোর প্রদত্ত সূত্র দ্বারা দেওয়া হয়:
score = 100 * (6 - number_of_attempts)
সুতরাং প্রথম চেষ্টাটিতে যদি শব্দটি সঠিকভাবে অনুমান করা হয় তবে 500 পয়েন্ট দেওয়া হবে। শেষ চেষ্টাটি 100 পয়েন্টের মূল্যবান।
শব্দটি অনুমান করতে ব্যর্থতা শূন্য পয়েন্ট দেয়।
খাঁদ
প্লেয়ার প্রোগ্রামগুলি প্রতিটি শব্দের দৈর্ঘ্যের জন্য 4 থেকে 13 বর্ণের মধ্যে 100 টির মতো এলোমেলো শব্দ অনুমান করার চেষ্টা করে তাদের মূল্যায়ন করা হবে।
র্যান্ডম শব্দের নির্বাচন অগ্রিম দ্বারা সম্পন্ন হবে সুতরাং সমস্ত এন্ট্রি একই শব্দ অনুমান করতে হবে।
বিজয়ী প্রোগ্রাম, এবং গৃহীত উত্তর, সর্বোচ্চ স্কোর পৌঁছানোর এক হবে।
Https://github.com/noirotm/lingo কোডটি ব্যবহার করে একটি উবুন্টু ভার্চুয়াল মেশিনে প্রোগ্রামগুলি পরিচালনা করা হবে । যেকোন ভাষায় প্রয়োগগুলি যতক্ষণ না তাদের সংকলন এবং / অথবা চালানোর জন্য যুক্তিসঙ্গত নির্দেশাবলী দেওয়া হয় ততক্ষণ তা গৃহীত হয়।
আমি গিট সংগ্রহস্থলে রুবিতে কয়েকটি পরীক্ষার বাস্তবায়ন সরবরাহ করছি, তাদের কাছ থেকে অনুপ্রেরণা নিতে নির্দ্বিধায়।
এই প্রশ্নটি পর্যায়ক্রমে প্রকাশিত উত্তরের জন্য র্যাঙ্কিংয়ের সাথে আপডেট করা হবে যাতে চ্যালেঞ্জাররা তাদের এন্ট্রিগুলি উন্নত করতে পারে।
সরকারী চূড়ান্ত মূল্যায়নটি 1 জুলাই অনুষ্ঠিত হবে ।
হালনাগাদ
wordlistN.txt
4 এবং 13 এর মধ্যে এন এর বর্তমান শব্দ দৈর্ঘ্যের জন্য শব্দ তালিকার গতি বাড়ানোর জন্য এন্ট্রিগুলি এখন ফাইলগুলির উপস্থিতি ধরে নিতে পারে ।
উদাহরণস্বরূপ, এখানে wordlist4.txt
চারটি অক্ষরের শব্দের সমন্বয়যুক্ত একটি ফাইল রয়েছে এবং wordlist10.txt
দশটি অক্ষরের শব্দ রয়েছে containing
প্রথম রাউন্ডের ফলাফল
2014-07-01 তারিখে, নিম্নলিখিত ফলাফল সহ তিনটি এন্ট্রি জমা দেওয়া হয়েছে:
4 5 6 7 8 9 10 11 12 13 Total
./chinese-perl-goth.pl 8100 12400 15700 19100 22100 25800 27900 30600 31300 33600 226600
java Lingo 10600 14600 19500 22200 25500 28100 29000 31600 32700 33500 247300
./edc65 10900 15800 22300 24300 27200 29600 31300 33900 33400 33900 262600
** Rankings **
1: ./edc65 (262600)
2: java Lingo (247300)
3: ./chinese-perl-goth.pl (226600)
সমস্ত এন্ট্রি অবিচ্ছিন্নভাবে সম্পাদন করেছে, একটি স্পষ্ট বিজয়ীর সাথে, @ এডসি 65 এর সি ++ এর এন্ট্রি।
সমস্ত প্রতিযোগী বেশ দুর্দান্ত। আমি @ চীনা-পার্ল-গোথকে মারতে এমনকি এখনও সক্ষম হয়েছি।
যদি আরও এন্ট্রি জমা দেওয়া হয় তবে আরেকটি মূল্যায়ন হবে। আপনি যদি আরও ভাল করতে পারেন বলে মনে করেন বর্তমান এন্ট্রিগুলিও উন্নত করা যায়।