CPU-র গ্রিডে ছোট অ্যাসেম্বলি লিখুন যা তাদের মান প্রতিবেশীদের কাছে হস্তান্তর করে, ডেডলক ছাড়াই ইনপুট স্ট্রিমকে টার্গেটে পরিণত করে।
কীভাবে খেলবেন
আপনি খুব ছোট কম্পিউটারের একটি গ্রিড প্রোগ্রাম করেন। প্রতিটি নোড তার নিজের ছোট নির্দেশিকা তালিকা চালায় এবং শুধুমাত্র সরাসরি পাশে থাকা প্রতিবেশীদের সাথে যোগাযোগ করতে পারে, পোর্টের মাধ্যমে মান পাঠিয়ে — তাই গ্রিড জুড়ে যেতে এমন একটি সংখ্যাকে নোড থেকে নোড করে হাতে হাতে রিলে করতে হয়।
প্রতিটি নোডে একটি অ্যাকিউমুলেটর এবং কিছু নির্দেশিকা থাকে: মান সরানো, যোগ, বিয়োগ, জাম্প।
একটি নোড উপরে, নিচে, বামে বা ডানে থাকা প্রতিবেশী থেকে পড়তে বা লিখতে পারে, অথবা ইনপুট এবং আউটপুট স্ট্রিমে লিখতে পারে।
পোর্টগুলো ব্লক করে। ডানে লিখতে চাইলে নোডটি শুধু অপেক্ষা করে যতক্ষণ না তার ডান পাশের নোডটি তার বাম দিক থেকে পড়ে।
এর মানে হলো, দুটি নোডকে শুধু মান নয়, সময়ের দিক থেকেও একমত হতে হবে।
যদি পুরো একটি চক্র কেউ কোনো অগ্রগতি না করে এবং কেউ অপেক্ষায় থাকে, তবে গ্রিডটি ডেডলকে পৌঁছায়।
যখন আউটপুট স্ট্রিম লেভেলের চাওয়া টার্গেটের সাথে মিলে যায়, তখনই পাজলটি সমাধান হয়।
কন্ট্রোল
ডেস্কটপ: প্রতিটি নোডের টেক্সট বক্সে কোড টাইপ করুন, ড্রপডাউন থেকে একটি লেভেল বেছে নিন, তারপর Run চাপুন
ফোন ও ট্যাবলেট: কাজ করে, তবে কোড লেখার জন্য এক্সটার্নাল কীবোর্ড ব্যবহার করার জন্য জোরালভাবে পরামর্শ দেওয়া হচ্ছে
গেম মোড
ডেইলি: আজকের তারিখ থেকে সিড করা একটি শেয়ার্ড পাজল
প্র্যাকটিস: New বোতাম দিয়ে নতুন র্যান্ডমাইজড ইনপুটে সাইকেল করুন
টিপস ও স্ট্র্যাটেজি
অ্যারিথমেটিকের আগে রুট ডিজাইন করুন। বেশিরভাগ ব্যর্থতা এমন মানের কারণে হয় যা তাদের যাওয়ার জায়গায় পৌঁছাতে পারে না, ভুল যোগফলের কারণে নয়।
দুটি নোড একে অপরের অপেক্ষায় থাকা হলো ক্লাসিক ডেডলক। যদি কেউ পড়ার আগেই দুজনেই একে অপরের দিকে লিখতে শুরু করে, তবে কেউই কখনোই এগোতে পারে না।
যেখানে সম্ভব, সেখানে ট্রাফিক একদিকে প্রবাহিত রাখুন। মানগুলো একে অপরের সাথে মিলিত হওয়া গ্রিডের চেয়ে একটি ধারাবাহিক দিকযুক্ত গ্রিড নিয়ে ভাবা অনেক সহজ।
প্রয়োজনে একটি নোডকে বিশুদ্ধ রিলে হিসেবে ব্যবহার করুন। শুধু মান সামনে পাঠানো একটি বৈধ এবং প্রায়শই অপরিহার্য কাজ।
ভুল উত্তর নয়, ব্লকড নোডটি পড়ুন। যখন আউটপুট থেমে যায়, তখন তথ্যপূর্ণ বিষয় হলো কোন নোডটি অপেক্ষায় আছে এবং কার জন্য।
আপনি কী শিখবেন
Node Network একটি প্যারালাল প্রোগ্রামিং পাজল, যা প্রসেসরের একটি মেশ জুড়ে মেসেজ পাসিং এবং ডেডলক এড়িয়ে চলা নিয়ে।
দক্ষতা: প্যারালাল এবং কনকারেন্ট প্রোগ্রামিং, মেসেজ পাসিং, ডেডলক এড়িয়ে চলা
সেরা জন্য: প্রায় ৯ম থেকে ১২ম শ্রেণি (১৪+ বছর বয়সী)
অভিভাবক ও শিক্ষকদের জন্য: কনকারেন্সি এবং ডেডলক, হাতে-কলমে শিখুন।
উৎপত্তি
খুব ছোট কম্পিউটারের একটি গ্রিড, প্রতিটি তার নিজস্ব ছোট নির্দেশ-তালিকা চালায় এবং কেবল ঠিক পাশের প্রতিবেশীদের সঙ্গে কথা বলতে পারে, হলো TIS-100 — Zachtronics, জুলাই 2015 — যা তার ধাঁধাগুলো একটি কাল্পনিক, বিকৃত 1970-এর দশকের যন্ত্রে স্থাপন করেছিল।
যে সীমাবদ্ধতা শেখানো হচ্ছে তা প্রকৃত এবং সমান্তরাল গণনার কেন্দ্রীয়: ভাগাভাগি স্মৃতি ছাড়া, গ্রিড পার হওয়ার প্রয়োজন এমন একটি মানকে হাতে হাতে, নোড থেকে নোডে, বার্তা আদানপ্রদানের মাধ্যমে পৌঁছে দিতে হয়।
আর হাতে হাতে পৌঁছে দিতে গিয়েই আপনি ডেডলকের মুখোমুখি হন — দুটি নোড একে অপরের জন্য অপেক্ষা করছে, দুটিই চিরতরে থেমে। এটি এমন একটি বাগ যা হোয়াইটবোর্ডে সত্যিই ব্যাখ্যা করা যায় না, কারণ পুরো কাঠিন্য হলো প্রতিটি নোড আলাদাভাবে সঠিক আচরণ করছে।
Node Network সম্পর্কে
Node Network একটি প্যারালাল প্রোগ্রামিং পাজল, যা প্রসেসরের একটি মেশ জুড়ে মেসেজ পাসিং এবং ডেডলক এড়িয়ে চলা নিয়ে। এটি PlayPendium-এর জন্য ইন-হাউস তৈরি একটি মৌলিক, ফ্রি ব্রাউজার গেম।