দ্রষ্টব্য: এটি আমার অন্যান্য উত্তরের ধারাবাহিকতা এবং সংশোধন ।
হ্রাস নিয়ে সমস্যা
সিদ্ধান্তের সমস্যাটি স্মরণ করুন:
সেখানে একটি নিখুঁত একটি একটি প্রদত্ত আচ্ছাদন টালি দ্বারা আচ্ছাদন নেই (n+1)×(n+2) সঙ্গে গ্রিড n অনন্য টাইল?
সুতরাং একটি (n+1)×(n+2) গ্রিডের জন্য আমরা কেবল n ভেরিয়েবল ব্যবহার করতে পারি ।
কিন্তু:
- আমাদের হ্রাসের জন্য অনেকগুলি অনন্য পরিবর্তনশীল প্রয়োজন, চেয়ে অনেক বেশি O(n)।
- তদুপরি, আমাদের তারগুলি খোলা সমাপ্ত, যা বাড়ে:
- আমরা কীভাবে জানি যে আমরা খোলা জায়গাগুলি টাইল করতে পারি?
প্রথম সমস্যাটি সমাধান করার জন্য, আমরা কৃত্রিমভাবে গেম-বোর্ডকে অনেক বড় করে তুলি; মূলত আমরা আমাদের প্রয়োজনীয় ভেরিয়েবলের সংখ্যার সমান তৈরি করি, তারপরে আকারের একটি গ্রিড তৈরি করব ( n + 1 ) × ( n + 2 ) , এবং আমাদের গ্রিডটি নীচের বাম কোণে রাখি। এটি চতুষ্কোণিকভাবে আঘাত হানাবে।n( n + 1 ) × ( n + 2 )
দ্বিতীয় সমস্যার জন্য, আমাদের গ্যাজেটগুলিকে কিছুটা পুনর্বিবেচনা করতে হবে।
নিয়ম অনুসারে আমরা বোর্ডের বাকী অংশ সফলভাবে টাইল করতে পারি তা প্রমাণ করার জন্য এটি কিছুটা দু: খজনক মনে হতে পারে। সুতরাং আমরা একই কৌশলের সঙ্গে চলতে শুরু এক আসলে আকারের গেম-বোর্ড জেনারেট করতে ব্যবহার করেন :( n + 1 ) × ( n + 2 )
প্রথমে আমরা সম্ভাব্য সমস্ত টাইলসের একটি সেট তৈরি করি। এই সমস্ত টাইলস বোর্ডে রাখতে হবে। তারপরে আমরা টাইলগুলি সরিয়ে, এবং তাদের স্কোয়ারের পিছনে ছেড়ে যাই।
তবে, আমাদের গ্যাজেটগুলি কোনও নির্দিষ্ট সেট টাইলস স্থাপনের গ্যারান্টি দেয় না; টাইলস স্থাপন রাজ্যের উপর নির্ভর করে। সুতরাং গ্যারান্টি দেওয়ার জন্য আমাদের অবশ্যই গ্যাজেটগুলি সাবধানতার সাথে সংশোধন করতে হবে কোন রাজ্যটি চয়ন করা হোক না কেন, নির্দিষ্ট টাইলস অপসারণের হবে।
তারপরে আমাদের গ্যাজেটগুলির উপরে যাই।
তারের এবং ক্লজ-গেট দুটি কারণে সমস্যাযুক্ত।
- আমরা জানি না যে তারের বা ক্লজ-গেটের চারপাশের স্কোয়ারগুলি সঠিকভাবে টাইল করা যেতে পারে; সর্বোপরি, কিছু তারের বাম দিকে, অন্যকে ডানদিকে চাপানো যেতে পারে এবং অবশিষ্ট সাদা-স্পেস স্কোয়ারগুলি টাইলিং অপ্রয়োজনীয় হয়ে যায়। আমরা এই সমস্যাটিকে "প্রবাহ" সমস্যা হিসাবে উল্লেখ করব।
- টাইলস সেট থেকে কোন টাইলগুলি সরিয়ে নেওয়ার কোনও উপায় নেই ; এক রাজ্যে, তারের বা ক্লজ-গেটে স্কোয়ারগুলির একটি সেট, টাইল করা হবে, অন্য একটি রাজ্যে, সম্পূর্ণ আলাদা স্কোয়ারের সেট টাইল করা হবে।
এই সমস্যাগুলি সমাধান করার জন্য:
- প্রথমত, আমরা সমস্ত সম্ভাব্য টাইলসের একটি সেট তৈরি করি। এই সমস্ত টাইলস বোর্ডে স্থাপন করতে হবে; আমরা বোর্ডে রাখার সাথে সাথে আমরা সেট থেকে টালি সরিয়ে ফেলব। যদিও আমরা প্রথমে জানি না , যেহেতু আমরা এখনও সূচনার সম্পূর্ণ বিবরণ দিতে পারি নি, আমরা প্রয়োজনীয় হিসাবে এন বাড়ানোর সাথে সাথে সমস্ত নতুন টাইল সম্ভাবনা যুক্ত করতে পারি । এই সেট থেকে আমরা সমস্ত টাইল সরিয়ে ফেলার গ্যারান্টিযুক্ত অবশ্যই থাকতে হবে (কমপক্ষে, সূত্রটি সন্তুষ্টিজনক হলে স্থানযোগ্য হওয়ার নিশ্চয়তা থাকতে হবে)। আমরা টাইল-সেট থেকে টাইল সরিয়ে, টাইল-সেট থেকে টাইলটিকে "স্রাব" করতে, গেম বোর্ডে রাখার আমাদের বাধ্যবাধকতাটি সঞ্চারিত করার জন্যএনএন
- নির্দিষ্ট টাইলস অপসারণের গ্যারান্টি দেওয়ার জন্য আমাদের গ্যাজেটগুলি সাবধানতার সাথে ডিজাইন করতে হবে, কোন রাজ্যই নির্বাচন করা হোক না কেন।
- আমাদের অবশ্যই আমাদের গ্যাজেটগুলি বন্ধ করতে হবে, যাতে তারা বোর্ডের চারপাশে টাইলসগুলি তাদের রাজ্যের উপর নির্ভর করে ঠেলা না দেয়; বরং তাদের সমস্ত রাজ্যের অবশ্যই নির্দিষ্ট নির্দিষ্ট সংজ্ঞাযুক্ত অঞ্চল গ্রহণ করতে হবে।
- বিকল্পভাবে, তাদের সমস্ত রাজ্যের অবশ্যই একটি ভাল সংজ্ঞায়িত অঞ্চল গ্রহণ করতে সক্ষম হওয়ার নিশ্চয়তা থাকতে হবে ; এটি একটি সন্তোষজনক টাইলিংয়ের গ্যারান্টি দেয় তবে কোনও নির্দিষ্ট টাইলিংয়ের নিশ্চয়তা দেয় না। এইভাবেই ডোমিনোসা খেলা তৈরি হয়:
- প্রথমে টাইলস একটি সেট তৈরি করা হয়;
- তারপরে টাইলগুলি এলোমেলো কনফিগারেশনে রেখে দেওয়া হবে,
- প্রতিটি টাইল স্থাপন করা হয়, এটি টালি সেট থেকে সরানো হয়।
- তারপরে টাইলগুলি তাদের স্কোয়ারের পিছনে রেখে বোর্ড থেকে সরানো হবে।
- এই গ্যারান্টি নয় যে অভিপ্রেত কনফিগারেশন হবে নির্বাচন করা যেতে,
- পরিবর্তে, এটি গ্যারান্টি দেয় যে উদ্দেশ্যে করা কনফিগারেশনটি চয়ন করতে সক্ষম , এবং এইভাবে একটি সমাধান বিদ্যমান। আমরা এখানে একই জিনিস করতে পারি।
- সূত্রের সমস্ত গ্যাজেটগুলি স্থাপনের পরে, ডিফল্টরূপে অনন্য স্কোয়ার স্থাপনের পরিবর্তে , সমস্ত "সাদা স্থান" -এর পরিবর্তে, আমরা নিশ্চিত করে নিই যে শ্বেত স্পেসটি একটি মাত্রা সহ একটি আয়তক্ষেত্রাকার ক্ষেত্র, অথবা একটি দ্বিমাত্রিকের সাথে সাদা স্থানকে আয়তক্ষেত্রগুলিতে ভেঙে ফেলতে হবে , এবং আমরা টাইলসেটে বাকী টাইলস সহ কেবল সাদা স্থানটি টাইল করি।⋆
- সেট থেকে সমস্ত টাইলস রাখার পরে, আমরা জানি যে সবকিছু ঠিকঠাক।
- কিছু টাইলস স্পষ্টত স্থানযোগ্য, যেমন দেয়ালগুলির মধ্যে রয়েছে, অন্যরা কেবল তখনই প্লে করতে পারবেন যদি সূত্রটি সন্তুষ্ট হয়, গ্যাজেটের মধ্যে সম্পর্কের প্রকৃতির কারণে।
- তারপরে আমরা টাইলগুলি সরিয়ে, এবং তাদের স্কোয়ারের পিছনে ছেড়ে যাই।
তারপরে আমাদের গ্যাজেটগুলির উপরে যাই।
গ্যাজেট জোর করে
আমরা প্রতিটি বিল্ডিং ব্লকগুলিকে নিজের সাথে জুড়ি দেওয়া যায় না তা নিশ্চিত করে একটি স্বেচ্ছাসেবী সংখ্যা তৈরি করতে পারি।
উদাহরণস্বরূপ, আসুন আমরা বলি যে আমরা একটি টাইল চাপাতে চাই , যাতে আমরা 1 ⋆ একটি বিল্ডিং ব্লক হিসাবে ব্যবহার করতে পারি । (নোট, 1 ⋆ একটি অবাধ পরিবর্তনশীল, যা আমরা নিজেই জুড়ি হিসাবে জোর করতে চান, অগত্যা না বিল্ডিং ব্লক আমরা ব্যবহৃত হিসাবে 1( 1 ⋆ , 1 ⋆ )1 ⋆1 ⋆1 মান পূর্বে)
গ্যারান্টি যে আমাদের -building-ব্লক মজুদ ( 1 ⋆ , 1 ⋆ ) , আমরা এটা নিম্নলিখিত কনফিগারেশন নীচে প্রাচীর বিরুদ্ধে স্থাপন করবে: আমরা সংরক্ষিত সংখ্যা স্থাপন করবে, এটি কল দিন 1 ⋆ একটি মত প্রাচীর বিরুদ্ধে আপ-ট্যাক (যেমন আকৃতির ⊥ ); প্রাচীরের বিপরীতে 3 , এবং মাঝখানে দ্বিতীয় সারিতে একটি। তারপর আমরা অন্য দুটি সংখ্যার স্থাপন করবে, তাদের কল দিন 2 ⋆ এবং 3 ⋆ ; এগুলি এই গ্যাজেটের কাছে অনন্য। আমরা এগুলি বাম এবং ডানদিকে 1 top উপরে রাখি ⋆1 ⋆( 1 ⋆ , 1 ⋆ )1 ⋆⊥32 ⋆3 ⋆1 ⋆ ।
নীচে চিত্রিত, ভাগ করা কালো সীমানা গেম বোর্ডের নীচে, বাম থেকে ডানে বর্ণনা description
- গ্যাজেটের কনফিগারেশন। প্রতি এবং 3 ⋆2 ⋆3 ⋆ এখানে এই গ্যাজেটে অনন্য।
- কেন্দ্র টালি 3 সম্ভব রাজ্যের ।1⋆
এই কাজ করার পর, আমরা নিশ্চিত করতে পারে না যে, আমাদের গ্যাজেট পারেন , টাইল একটি নির্দিষ্ট সেট দিয়ে টালিকৃত করা যখন নিশ্চয়তা আমাদের গ্যাজেট আবশ্যক বাধ্য জোড়া।( 1 ⋆ , 1 ⋆) )
- আমরা জানি যে ঘটতে হবে, কারণ নিম্ন মধ্যম 3 সম্ভব টালি দ্বারা আচ্ছাদন রাজ্যের 1 ⋆ যেমন, টালি ( 1 ⋆ , 1 ⋆ )( 1 ⋆ , 1 ⋆) )1⋆( 1 ⋆ , 1)⋆ ) , উপরোক্ত ডানে চিত্রে দেখানো হয়েছে।
- অবশিষ্ট টাইল করতে যেমন টালিকৃত করা এবং ( 1 ⋆ , 3 ⋆ ) , গ্যাজেট আচ্ছাদন। সুতরাং, আমরা আমাদের গ্লোবাল টাইল সেট থেকে এই টাইলগুলি সরাতে পারি। নীচে সচিত্র।( 1 ⋆ , 2) ⋆ )( 1 ⋆ , 3) ⋆ )
বাম থেকে ডানে বর্ণনা:
- বাম, শীর্ষ: বাম রাজ্য, বাম, নীচে: অবশিষ্ট স্কোয়ারগুলির একটি বৈধ টাইলিং।
- মধ্য, শীর্ষ: মধ্য রাজ্য, মধ্য, নীচে: অবশিষ্ট স্কোয়ারগুলির একটি বৈধ টাইলিং।
- ডান, শীর্ষ: ডান অবস্থা, ডান, নীচে: অবশিষ্ট স্কোয়ারগুলির একটি বৈধ টাইলিং।
মনে রাখবেন, যে অবশিষ্ট বর্গের টালি দ্বারা আচ্ছাদন নয় বাধ্য , যেহেতু তারা পরিবর্তে নিকটবর্তী প্রতিবেশীদের সঙ্গে টালি করতে কিন্তু যেহেতু এটি রাজ্যের সব খেলা-বোর্ড একটি বৈধ টালি দ্বারা আচ্ছাদন, আমরা তাদের কাছ থেকে অপসারণ করতে পারেন টাইলস সেট করুন এবং ধরে নিন যে সেগুলি ঠিক সেইভাবে টাইল হবে। যেহেতু আমরা জানি যে বৈধ সম্ভাব্য টাইলিং রয়েছে তাই সূত্রটি সন্তুষ্ট হলে আমাদের কমপক্ষে একটি গেম বোর্ডের সম্ভাব্য টাইলিং রয়েছে। এগুলি এইভাবে টাইল করা হবে এমন কোনও গ্যারান্টি না থাকলেও, গ্যারান্টি রয়েছে যে ( 1 ⋆ , 1 ⋆ ) টাইলটি বাধ্য করা হবে।1⋆( 1 ⋆ , 1)⋆ )
দ্রষ্টব্য: আপনি যদি এতে সন্তুষ্ট না হন, বা "বনাম টাইল করতে সক্ষম হচ্ছেন" "টাইল করতে বাধ্য হচ্ছেন" এর পার্থক্যে বিভ্রান্ত হন তবে আপনি কেবল গ্যাজেটের চারপাশে একটি প্রাচীর স্থাপন করতে পারেন , আমরা একইভাবে ক্লজ-গ্যাজেটের জন্য নীচে একটি 3 × 2 প্রাচীর তৈরি করুন।3 × 23× 2
এই গ্যাজেটটি বন্ধ নেই, কারণ এটি হওয়ার দরকার নেই (তবে আপনি চাইলে করতে পারেন)। এটি হওয়ার দরকার নেই, কারণ এটির একটি সম্ভাব্য কনফিগারেশন রয়েছে, যা আমরা টাইল-সেট থেকে মুছে ফেলতে পারি। যদিও এটি অন্যরকম কনফিগারেশন করা সম্ভব হতে পারে তবে এটি সমস্যার সন্তুষ্টিটিকে প্রভাবিত করে না।
নিম্নলিখিত টাইলসটি টাইল করার গ্যারান্টিযুক্ত (এভাবে টাইল-সেট থেকে সরানো যেতে পারে): ( 1 ⋆ , 1 ⋆) )
নিম্নলিখিত টাইলসটি টাইলস হতে সক্ষম হওয়ার গ্যারান্টিযুক্ত (এভাবে টাইল-সেট থেকে সরানো যেতে পারে): ( 1 ⋆ , 2 ⋆ ) , ( 1 ⋆ , 3 ⋆ )
যদি আপনি এই গ্যাজেটটি কোনও প্রাচীর দিয়ে বন্ধ করতে চান তবে ( 1 ⋆ , 2 ⋆ ) , ( 1 ⋆ , 3 ⋆ ) আচ্ছাদন হওয়ার গ্যারান্টিও দেওয়া হবে।
নতুন ওয়্যার এবং ক্লজ গেটস
প্রবাহিত সমস্যা এবং টাইল সেটটি খালি করার কারণে আমাদের তারেরটি আবার ডিজাইন করতে হবে।
প্রবাহ সমস্যা সমাধানের একটি উপায়, কেবল সহজ বাম-ডান অবস্থার পরিবর্তে তারটিকে একটি সার্কিট বানানো; অর্থাৎ এটি একটি লাইনের পরিবর্তে বিজ্ঞপ্তিযুক্ত হবে এবং তাই বৃত্তের উপরের অংশটি ডানদিকে চাপানো হলে নীচের অংশটি বাম দিকে ঠেলে দেওয়া হবে। এটি প্রবাহ সমস্যা সমাধান করে।
এই পথটি অনুসরণ করে, আমরা উভয় সমস্যার সমাধান করতে তার এবং ক্লজ গেটটি পরিবর্তন করতে পারি।
সংরক্ষণযোগ্য এবং এফটিএফ
আসুন দুটি নতুন সার্বজনীন মান, এবং এফ চালু করি । এই দুটি মান সর্বজনীন; গ্রিডে প্রকৃত মানগুলি যেমন বর্গমূল্য 2 এবং 3 (কনভেনশন অনুসারে, আমরা 1 টি সংরক্ষণ করেছিটিএফ231 দেয়ালগুলির জন্য একটি বিল্ডিং ব্লক হিসাবে ), বা আপনি যা কিছু বেছে নিন। এগুলি যথাক্রমে সত্য এবং মিথ্যা উপস্থাপন করে।
আমরা নিম্নরূপে টাইলস , ( টি , টি ) , ( এফ , এফ ) জোর করে রিজার্ভ করি ; নীচের চিত্র, বাম থেকে ডানে বর্ণনা:(T,F)(T,T)(F,F)
- আমরা কোনো অত্যাচার হিসাবে একই প্রকল্প ব্যবহার টালি ব্যবহার টি হিসাবে 1 ⋆ । প্রতি 2 ⋆ এবং 3 ⋆(1⋆,1⋆)T1⋆2⋆3⋆ এখানে এই গ্যাজেটে অনন্য।
- আমরা কোনো অত্যাচার হিসাবে একই প্রকল্প ব্যবহার টালি ব্যবহার এফ যেমন 1 ⋆ প্রতিটি 2 ⋆ এবং 3 ⋆ এখানে এই গ্যাজেটে অনন্য।(1⋆,1⋆)F1⋆2⋆3⋆
- আমরা একটি অত্যাচার হিসাবে একই প্রকল্প ব্যবহার , টালি ব্যবহার এফ যেমন 1 ⋆ কেন্দ্র, এবং ব্যবহার টি আপ-ট্যাক এর অন্য অবস্থানে। এটি ( এফ , টি ) টাইল করতে বাধ্য করে। 2 ⋆ এবং 3 ⋆ সঙ্গে টালি করতে পারবেন টি , তাই আমরা তাদের টালি-সেট থেকে মুছে ফেলুন। প্রতিটি 2 ⋆ এবং 3 ⋆ এখানে এই গ্যাজেটে অনন্য।(1⋆,1⋆)F1⋆T(F,T)2⋆3⋆T2⋆3⋆
টেলিগ্রাম
প্রতিটি তারের মান দিয়ে শুরু হবে এবং শেষ হবে, আসুন আমরা একে বলি যা তারের সাথে অনন্য। প্রতিটি দফা জন্য তারের অংশগ্রহণ টেলিগ্রাম দুই তারের-মূল্যবোধ, থাকবে এক্স ⋆ , এবং এক্স ' ⋆ , যা প্রতিটি তারের অনন্য, এবং একই ধারা অংশগ্রহণ। বাম থেকে ডানে বিবরণ সহ নীচের চিত্র।A⋆x⋆x′⋆
- একটি তারে যা একটি ধারাতে অংশ নেয়। তারটির উচ্চতা এবং এর দৈর্ঘ্য 2 ∗ p + 3 হয় , যেখানে পি তারের অংশীদারিগুলির অংশ হিসাবে সংযুক্ত থাকে The তারে বামদিকে দুটি এ ⋆ স্কোয়ার এবং দুটি ডানদিকে প্যাড করে থাকে । এটি অবশ্যই চারদিকে প্রাচীর দ্বারা বেষ্টিত, নীল রূপরেখা দ্বারা নির্দেশিত। দ্রষ্টব্য, যে 1 ⋆ এই তারের জন্য অনন্য, এবং কেবল তারে ব্যবহৃত হবে, এবং যে ধারাটিতে এটি অংশ নেয়।22 ∗ পি + 3পিএকজন ⋆1 ⋆
বাম থেকে ডানে নীচে বর্ণিত দুটি রাজ্যের নীচে চিত্রিত।
- সত্যিকারের অবস্থায় একটি তারে যা একটি ধারাতে অংশ নেয়। তারটিকে সত্য বলে বিবেচনা করা হয়, যখন বর্গক্ষেত্রকে একটি টি স্কোয়ারের সাথে জোড়া দেওয়া হয় এবং x ′ ⋆ বর্গগুলি এফ স্কোয়ারগুলির সাথে জোড়া হয় । এটি অন্য রাজ্যে মিথ্যা হিসাবে বিবেচিত হয়, যেখানে টাইলিংগুলি বিপরীত হয়। নোট কিভাবে টালি দ্বারা আচ্ছাদন একবার বাধ্য হয় একজন ⋆ টালি নির্বাচন করা হয়নি: ( টি , এফ )x ⋆টিএক্স'⋆এফএকজন ⋆( টি, এফ) ইতিমধ্যে তার আগে বাধ্য, এইভাবে টাইল বাকি অনুভূমিক হতে হবে।
- মিথ্যা অবস্থায় একই তার।
অধিকতর ধারাগুলিতে অংশ নেওয়ার সময়, আরও বেশি মান , এবং x ′ ⋆ থাকে , প্রতিটি দফাটির জন্য একটি জোড় তারে অংশ নেয় They তারা শীর্ষে এবং নীচে থাকে, যেমন টি এবং এফ বর্গগুলি প্রতিটি x ⋆ , x পৃথক করে ' ⋆ জোড়া।x ⋆এক্স'⋆টিএফx ⋆ , x'⋆
দুটি একই রাজ্য।
এই গ্যাজেটটি বন্ধ রয়েছে , সুতরাং কোনও "প্রবাহ সমস্যা" নেই।
যে কোনও রাজ্যে কীভাবে, আমরা নিম্নোক্ত টাইলগুলি সংগ্রহ করি তা রাষ্ট্রের বিবেচনা করুন: , ( A ⋆ , T ) , ( A ⋆ , F )( এ ⋆ , এ ⋆ )( এ ⋆ , টি)( এ ⋆ , এফ) ।
কিছু টাইলস রয়েছে তবে আমরা যে সম্পর্কে নিশ্চিত নই; একটি অবস্থায় আমরা মুছে ফেলতে পারি । । । টাইল সেট থেকে, অন্য অবস্থায় থাকা অবস্থায় আমরা ( 1 ⋆ , F ) , ( 1 ′ ⋆ , টি ) , ( 2 ) মুছে ফেলতে পারি( 1 ⋆ , টি) , ( ঘ'⋆,F),(2⋆,T),(2′⋆,F)...(1⋆,F),(1′⋆,T),(2⋆,F),(2′⋆,T)...টাইল সেট থেকে, তাই আমরা আসলে কোন টাইলস সরাতে পারি? উত্তরটি হ'ল: ক্লজ গেটে একই সমস্যা রয়েছে তবে টাইলসের বিপরীতে সেট রয়েছে। এটি সর্বদা অবশিষ্ট, বিপরীত এবং অবিকৃত টাইলগুলি সংগ্রহ করবে, যেমন আমরা পরবর্তী বিভাগে দেখব। যেহেতু এগুলির প্রত্যেকটি একটি ক্লজ গেটের সাথে যুক্ত, তাই আমরা উভয়টিকে সরাতে সক্ষম হব।
দফা
এরপরে আমরা নতুন ক্লজ গেটের প্রথম পুনরাবৃত্তি তৈরি করব। এটা একটা নিয়ে গঠিত গ্যাজেট, দেয়াল দ্বারা আবদ্ধ। গ্যাজেটের অভ্যন্তরে, আমরা শীর্ষ-কেন্দ্রে একটি এফ রাখি , এবং নীচের কোণে দুটি টি স্কোয়ার রাখি ; একটি নীচে-বামে, এবং একটি নীচে-ডানদিকে। অবশিষ্ট স্কোয়ারগুলি তিনটি ভিন্ন তারের তারের ভেরিয়েবলের প্রতিনিধিত্বকারী মান হবে। আমাদের এই কল করা যাক একটি ⋆ , খ ⋆ , এবং গ ⋆ । এফ টেলিগ্রাম-ভেরিয়েবল আরেকটির সাথে যুক্ত করতে বাধ্য হবে এবং অবশিষ্ট টেলিগ্রাম-ভেরিয়েবল এর সাথে যুক্ত হবে টি মান। চিত্রের নীচে, বাম থেকে ডানে বিবরণ।2×3FTa⋆,b⋆,c⋆FT
- বাম: নতুন ক্লজ-গেটের প্রথম পুনরাবৃত্তির জন্য কনফিগারেশন।
- ডান টাইলিংয়ের সম্ভাব্য তিনটি রাজ্য ।এফ
এই তিনটি রাজ্য তিনটি সম্ভাব্য ঝুঁকির দিকে নিয়ে যায়। চিত্রের নীচে, বাম থেকে ডানে বিবরণ।
- বাম, শীর্ষ : টাইল্ড বাম, বাম, নীচে: অবশিষ্ট স্কোয়ারগুলি টাইলিং করুন।এফ
- মধ্য, শীর্ষ : টিলে ডানদিকে, মধ্য, নীচে: অবশিষ্ট স্কোয়ারগুলি টাইলিং করুন।এফ
- ডান, শীর্ষ : টালি, ডান, নীচে: অবশিষ্ট স্কোয়ারগুলি টাইলিং করুন।এফ
যেহেতু ক্লজের একটি ওয়্যার-ভেরিয়েবলের সাথে জোড় করা হবে , তারের ভেরিয়েবলটি আর তারের সাথে এফ দিয়ে যুক্ত করা যাবে না ; এইভাবে সত্য তারের জোর। বিপরীতভাবে, অবশিষ্ট ওয়্যার-ভেরিয়েবলগুলি যে টি দিয়ে টালি দেয় তারা তাদের তারের মধ্যে এফ দিয়ে টাইল করতে বাধ্য হবে । এটি ঠিক 1- ইন- 3 - এস এ টি ক্লজ হিসাবে একই সীমাবদ্ধতা ।এফএফ টিএফ1- ইন- 3 - এস এ টি
মনে রাখবেন, এবং গ ⋆ টেলিগ্রাম-ভেরিয়েবল আছে, কিন্তু তারা একে একটি পড়ুন পারে এক্স ⋆ অথবা একটি এক্স ' ⋆ টেলিগ্রাম-পরিবর্তনশীল; একটি ব্যবহার এক্স ' ⋆ মূলত টেলিগ্রাম-পরিবর্তনশীল অস্বীকার করা হয়।একটি ⋆ , b ⋆ ,গ ⋆এক্স⋆এক্স'⋆এক্স'⋆
একটি সংযোজন: টাইলস সেট থেকে কোন টাইলগুলি সরিয়ে ফেলা যায় তা জানার বাধ্যবাধকতাটি সঞ্চার করতে, আমাদের এই ধারাটি "ডাবল এবং বিপরীতমুখী" করতে হবে। আমি এই দ্বারা কি বোঝাতে আরেকটি করা হয় সঙ্গে গ্যাজেট, 3 এর negations প্রতিনিধিত্বমূলক অতিরিক্ত ভেরিয়েবল একটি ⋆ , খ ⋆ , এবং গ ⋆ । আমাদের এই কল করা যাক একটি ' ⋆ , খ ' ⋆ , এবং গ ' ⋆ । এগুলি অবশ্যই একটি ⋆ , b of এর অবহেলিত পরিবর্তনশীল-তারের মান হতে হবে ⋆3 × 23a ⋆ , b ⋆ ,গ ⋆একটি'। , খ'⋆ ,গ'⋆ এবং গ ⋆ । এই 3 × 2 গ্যাজেটটি আলাদা, এটিরকেন্দ্রেএকটি টি থাকবেএবংকোণেদুটি এফ মান থাকবে; ক্লজ গ্যাজেটের ঠিক বিপরীতে এ পর্যন্ত বর্ণনা করা হয়েছে। এই জাতীয় ধারাটিকে "দ্বিগুণ" করে আমরা উপরে উল্লিখিত গ্যাজেটের মতো একই প্রতিবন্ধকতাগুলি আবার যুক্ত করি। তবে, আমরা ( টি , এক্স ⋆ ) , ( টি , এক্স ′ ⋆ ) , ( এফ , এক্স ⋆ ) , ( এফ , এক্স ) এর সমস্ত সংমিশ্রণও স্রাব করিa ⋆ , b ⋆ ,গ ⋆3 × 2টিএফ প্রতিটি পরিবর্তনশীল জন্য টালি সেট থেকে (এবং এইভাবে জন্য একটি ⋆ , খ ⋆ , এবং গ ⋆ ভাল, কারণ তারা সব, টেলিগ্রাম-ভেরিয়েবল পর হয়)। নীচে চিত্রিত, বাম থেকে ডানে বর্ণনা।( টি, x ⋆ ) , ( টি, এক্স'⋆ ),( চ, x ⋆ ) , ( এফ, এক্স'⋆ )একটি ⋆ , খ ⋆ ,গ ⋆
- একটি "ডাবল এবং বিপরীতমুখী" ধারা। নীচের অংশটি উপরে বর্ণিত ধারাটি; শীর্ষ বিভাগটি সদ্য বর্ণিত বিপরীত ধারা cla নতুন ধারাটিতে ঠিক একই যুক্তিযুক্ত বাধা রয়েছে; এটি নীচের অংশটির সংকোচনশীল। একসাথে, এই সম্মিলিত গ্যাজেটগুলি এবং তারের সমস্ত ( টি , এক্স ⋆ ) , ( এফ , এক্স ⋆ ) , ( টি , এক্স ′ ⋆ ) , ( এফ , এক্স ′ ⋆ ) সমস্ত সংমিশ্রণ( টি, x ⋆ ) , ( এফ, x ⋆ ) , ( টি, এক্স'⋆ ),( চ, এক্স'⋆ ) টালি-সেট থেকে, জন্য ধারাটিতে অংশ নেওয়া প্রতিটি তারের পরিবর্তনশীল।
- বাম-সর্বাধিক চিত্রের মাঝখানে নীল রেখাটি দেখার-সহজ করার জন্য রয়েছে; বাস্তবে এটি আর কোনও রাজ্যের অনুমতি ছাড়াই সরানো যেতে পারে।
সুতরাং, সমস্ত উদাহরণস্বরূপ প্রতিশ্রুতি অনুসারে ডিসচার্জ হয়ে যায় তা দেখানোর জন্য আসুন আমরা একটি উদাহরণ নিই। নীচে চিত্রিত, বাম থেকে ডানে বিবরণ।
- একক ধারাতে অংশ নেওয়া তারের চিত্র; একটি দফার জন্য একটি রাষ্ট্র নির্বাচন করা হয়। এখানে, আমরা ব্যবহার করছেন , যখন একটি ⋆ এবং খ ⋆1 ⋆ = খ ⋆একটি ⋆খ ⋆ এই দফা অন্যান্য টেলিগ্রাম-মানের প্রতিনিধিত্ব করছে।
- ধারাটিতে প্রদত্ত রাষ্ট্রের জন্য, মান প্রতিবেশী টি এর সাথে যুক্ত হতে বাধ্য হয়1 ⋆টি ।
- এর ফলে তারের হতে যেমন টেলিগ্রাম ইতিবাচক পরিবর্তনশীল এর সাথে যুক্ত করতে বাধ্য হয় সত্য মূল্যবান (আপনি বলতে পারেন বাধ্য করা , ও নেতিবাচক পরিবর্তনশীল এর সাথে যুক্ত করতে বাধ্য হয় এফটিএফ , যেমন উপরে বর্ণিত)।
- এই বাহিনীর contrapositive ধারা (ধারা এর উপরের অংশে) সঙ্গে যুক্ত করা হবে টি দফা মধ্যে। এখন যদি আপনি তারের দিকে তাকান, তারের মধ্যে থাকা প্রতিটি টালি স্রাবের গ্যারান্টিযুক্ত: হয় কেবল তারের মধ্যেই সঞ্চারিত হয়, বা সংশ্লিষ্ট ক্লজ-গ্যাজেটে। এই অবস্থায়, আমাদের টাইলস রয়েছে (( এ ⋆ , এ ⋆ ) , ( এ ⋆ , টি ) , ( এ ⋆ , এফ ) , ( ১ ⋆ , টি ) , ( ১1'⋆টি( এ ⋆ , এ ⋆ )( এ ⋆ , টি)( এ ⋆ , এফ)( 1 ⋆ , টি) , ( 1 ′ ⋆ , এফ ) , এবং ( 1 ′ ⋆ , টি ) ।( 1 ⋆ , এফ)( ঘ'⋆ , এফ)( ঘ'⋆ , টি)
অন্য রাজ্যের চেষ্টা করে আমরা নীচের চিত্রটি পেয়েছি, বাম থেকে ডানে বর্ননা।
- ধারাটি অন্য রাজ্যে রয়েছে, টাইলিং ( 1 ⋆ , টি দুটি উপায়ের একটিতে)।
- অতএব, ( 1 ⋆ , এফ তারের উপর চাপ দেওয়া হয়েছে,
- বাকী তারের সাথে আনুপাতিকভাবে টালি নিয়ে যাওয়া এবং তারেরটিকে মিথ্যা হিসাবে মান্য করা।
- অবশেষে, ক্লজ-গ্যাজেটের সংকোচনশীল / উপরের অংশে, অবশ্যই টাইল লাগাতে হবে, কারণ ( 1 ′ ⋆ , টি ) তারে নেওয়া হয়। এই অবস্থায়, আমাদের কাছে টাইলস রয়েছে (( এ ⋆ , এ ⋆ ) , ( এ ⋆ , টি ) , ( এ ⋆ , এফ ) , ( ১ ⋆ , টি ) , ( ১ ⋆ , )( ঘ'⋆ , এফ)( ঘ'⋆ , টি)( এ ⋆ , এ ⋆ )( এ ⋆ , টি)( এ ⋆ , এফ)( 1 ⋆ , টি)( 1 ⋆ , এফ) , , এবং ( 1 ′ ⋆ , টি ) । এগুলি অন্য রাজ্যের মতো একই ধরণের টাইলস থেকে বের হয় ।( ঘ'⋆ , এফ)( ঘ'⋆ , টি)
সুতরাং যে কোনও রাজ্যে, আমরা একই টাইলগুলি স্রাব করি। অতএব, যদি সন্তুষ্টিজনক অ্যাসাইনমেন্ট থাকে তবে তার এবং ধারাটি এক সাথে সফলভাবে নির্দিষ্ট টাইলগুলি স্রাব করে।
এই গ্যাজেটটি বন্ধ আছে , সুতরাং কোনও প্রবাহের সমস্যা হবে না।
ক্লজ-গ্যাজেটটি তারের গ্যাজেটের সাথে একসাথে সর্বদা একই টাইল-জোড়া মানগুলি স্রাবের গ্যারান্টিযুক্ত এবং আমরা কোনভাবে এটি টাইল করব তা না জানলেও আমরা এগুলি স্রাব করতে পারি।
এখন আমাদের সমস্ত গ্যাজেট মানদণ্ড পূরণ করে।
তৈয়ার
আমাদের চূড়ান্ত গঠনে আমরা তিনটি সারি গ্যাজেট তৈরি করি, প্রত্যেকটি একটি অনুভূমিক প্রাচীর দ্বারা পৃথক।
- নীচে, আমরা ফোর্সিং-গ্যাজেটগুলি রাখি, যা দুটি টাইল লম্বা। বিল্ডিং ব্লকের জন্য, এবং এবং এফের সংমিশ্রনের জন্য আমাদের জোর করে গ্যাজেট দরকার । আমরা জোর করে গ্যাজেটগুলি একে অপরের সাথে সরাসরি রাখি।টিএফ
- মাঝারি সারিতে আমরা তারের গ্যাজেটগুলি আনুভূমিকভাবে রাখি যা দুটি টাইল লম্বা। তারের গ্যাজেটগুলি উল্লম্ব প্রাচীরের সাথে একে অপরের থেকে পৃথক করা উচিত।
- উপরের সারিতে আমরা ক্লজ গ্যাজেটগুলি রাখি যা চারটি টাইল লম্বা। ক্লজ গ্যাজেটগুলি উল্লম্ব প্রাচীর দ্বারা একে অপরের থেকে পৃথক করা উচিত।
চিত্রগুলি অনুসরণ করে, প্রতিটি চিত্রের উপরে বর্ণনা। সম্পূর্ণ রেজোলিউশনের জন্য চিত্রগুলি ক্লিক করুন। চিত্রগুলি পুনরুত্পাদন / উত্পন্ন করতে উত্স কোড পৃষ্ঠার নীচে তালিকাভুক্ত করা হয়েছে।
Φ ( এক্স ) = ( এক্স )1, ¬ x2, এক্স3) ∧ ( এক্স2, ¬ x3, এক্স4) ∧ ( এক্স1, এক্স2, ¬ x4)( ¬ x1, এক্স2, এক্স3, ¬ x4) সাক্ষী হিসাবে
প্রথমে আমরা অনুভূমিক দেয়ালগুলি গ্যাজেটের সারিগুলি পৃথক করে শুরু করি। আমরা স্কোয়ারগুলি এবং জোড়াগুলি দেয়ালগুলির মধ্যে টাইল করতে বাধ্য করি show
এরপরে, আমরা গ্যাজেটগুলি দেখাই। নীল রূপরেখা গ্যাজেটগুলির সীমানা উপস্থাপন করে; জোর-গ্যাজেটগুলির জন্য নীল রঙিন ন্যাশযুক্ত, যেহেতু তারা প্রাচীর দ্বারা ঘিরে থাকবে না। নোট গ্যাজেটের মাঝখানে রেখাটি কোনও প্রাচীর দ্বারা বেষ্টিত নয়; এটি দেখার-সুবিধার জন্য রয়েছে; উপরের বর্ণনা অনুসারে লাইনটি দূরে সরিয়ে নিয়ে যাওয়া এ ধরণের মধ্যে আর কোনও রাজ্য হওয়ার অনুমতি দেয় না, তবে আমরা এই বিক্ষোভের জন্য নীল রেখাটি প্রদর্শন করি। দ্রষ্টব্য: আমরা প্রযোজ্য সময়ে সংখ্যার অর্থ পাঠযোগ্যতা দিতে স্কোয়ার-নাম ব্যবহার করি। প্রতিটি নাম একটি সংখ্যার মান উপস্থাপন করে।
এখানে আমরা উল্লম্ব দেয়াল পূরণ করুন।
এখানে আমরা সাক্ষীর সমাধান পূরণ করি; অর্থাত্ যদি এটি তৈরির জন্য স্যাট সমাধানটি ব্যবহার করে তবে এটি টাইলিং সমাধান solution
এন
এখানে আমরা একটি তুচ্ছ বৈধ টাইলিং সহ অবশিষ্ট স্কোয়ারগুলি পূরণ করি।
এখানে আমরা গ্রিডের নীচের ডানদিকে দেখায়।
এখানে আমরা গ্রিডের উপরের ডানদিকে দেখায়। উল্লম্ব টাইলস আর ফিট করে না তা নোট করুন; সুতরাং আমরা শীর্ষ সারিটি অনুভূমিকভাবে টাইল করি, যদি প্রয়োজন হয়।
এবং অবশেষে উপরের বাম কোণে।
টেক্সের মাধ্যমে একবারে পুরো গেম-বোর্ড তৈরি করা পিডিএফ্লেটেক্স থেকে মেমরির বাইরে থাকা ত্রুটিগুলি ব্যর্থ করে, তাই আপনি যদি এটি দেখতে চান তবে আপনাকে ক্লিপগুলি তৈরি করতে হবে এবং সেগুলি একসাথে প্যাচ করতে হবে। নোটবুক ভিউয়ারটি অবশ্যই পরীক্ষা করে দেখুন ।
টিকজেড সূত্র
গেম জেনারেটর:
graphtex.py
টেক্সকে পিডিএফ্লেটেক্স, পিডিএফকায়রো (পপ্প্লার) এবং আরএসভিজি-রূপান্তর (libsvg) ব্যবহার করে টেক্সকে এসভিজিতে রূপান্তরিত করে
dominosa.py
রূপান্তর যুক্তি, গেম-সমাধানের যাচাইকরণ এবং অঙ্কন যুক্তিযুক্ত
dominosa_demo.py
একটি এক্সিকিউটেবল ডেমো যা উপরের উত্তরে ব্যবহৃত চিত্রগুলি উত্পন্ন করে। চিত্রগুলি বর্তমান-কার্য-ডিরেক্টরিতে ফেলে দেয়।
dominosa_demo.ipynb
একটি আইপথন ডেমো যা উপরের উত্তরে ব্যবহৃত চিত্রগুলি উত্পন্ন করে।