স্যাট সমাধানকারীদের 1-আউট-এর এন সীমাবদ্ধকরণ এনকোডিং


25

আমি কোনও সমস্যা এনকোড করার জন্য একটি স্যাট সলভার ব্যবহার করছি এবং স্যাট উদাহরণের অংশ হিসাবে আমার কাছে বুলিয়ান ভেরিয়েবল যেখানে এটি উদ্দেশ্যযুক্ত যে এর মধ্যে ঠিক একটি সত্য হওয়া উচিত এবং মিথ্যা হওয়া উচিত । (আমি মাঝে মাঝে এটিকে "ওয়ান-হট" এনকোডিং হিসাবে বর্ণিত দেখেছি))x1,x2,,xn

আমি " মধ্যে ঠিক এক হতে হবে" এনকোড করতে চাই । এই সীমাবদ্ধতার এনকোড করার সর্বোত্তম উপায় কী, স্যাট সলভারটিকে যতটা সম্ভব দক্ষতার সাথে চালানো যায়?x1,,xn

আমি এই প্রতিবন্ধকতাটি এনকোড করার জন্য অনেকগুলি উপায় দেখতে পাচ্ছি:

  • পেয়ারওয়াইস সীমাবদ্ধতা। আমি pairwise সীমাবদ্ধতার যোগ করতে পারিনি সবার জন্য তা নিশ্চিত করার জন্য সর্বাধিক এক সত্য, এবং তারপর যোগ তা নিশ্চিত করার জন্য অন্তত একটি সত্য । আই , জে এক্স আমি এক্স 1এক্স 2এক্স এন¬xi¬xji,jxix1x2xn

    এই যোগ ক্লজ এবং কোন অতিরিক্ত বুলিয়ান ভেরিয়েবল।Θ(n2)

  • বাইনারি এনকোডিং আমি পরিচয় করিয়ে পারে নতুন বুলিয়ান ভেরিয়েবল (বাইনারি মধ্যে) প্রতিনিধিত্ব করতে একটি পূর্ণসংখ্যা যেমন যে (কয়েক বুলিয়ান সীমাবদ্ধতা যুক্ত তা নিশ্চিত করার জন্য কাঙ্ক্ষিত সীমার মধ্যে রয়েছে)। তারপরে, আমি টি গাছ এবং অন্য সমস্ত এর মিথ্যা বল প্রয়োগ করে বাধা যুক্ত করতে পারি । অন্য কথায়, প্রতিটি , আমরা প্রয়োগকারী ধারাগুলি যুক্ত ।i 1 , i 2 , , i lg n i 1 i n i x i x j j i = j x jlgni1,i2,,ilgni1inixixjji=jxj

    এটি ধারাগুলি যোগ করে এবং কতগুলি অতিরিক্ত বুলিয়ান ভেরিয়েবল জানি না।Θ(nlgn)

  • সত্য মানগুলির সংখ্যা গণনা করুন। আমি বুলিয়ান অ্যাডারের সার্কিটগুলির একটি বৃক্ষ বাস্তবায়ন করতে এবং প্রতিটি কে মিথ্যা বা সত্যের পরিবর্তে 0 বা 1 হিসাবে বিবেচনা করে এবং এবং সিসিটিনকে SAT দফাগুলিতে রূপান্তর করতে ট্রিসিটিন রূপান্তর ব্যবহার করতে পারি। অর্ধ-সংযোজকগুলির একটি গাছ যথেষ্ট: প্রতিটি অর্ধ-সংযোজকের বহন আউটপুটকে 0 হতে সীমাবদ্ধ করুন এবং গাছে চূড়ান্ত অর্ধ-সংযোজকের চূড়ান্ত আউটপুটকে সীমাবদ্ধ রাখুন The গাছটি কোনও আকারের হতে বেছে নেওয়া যেতে পারে ( ভারসাম্য বাইনারি গাছ, বা ভারসাম্যহীন বা যাই হোক না কেন)।এক্স ix1+x2++xn=1xi

    এটি গেটে করা যেতে পারে এবং এভাবে ধারা এবং নতুন বুলিয়ান ভেরিয়েবল যুক্ত করা যায়।Θ ( n ) Θ ( n )Θ(n)Θ(n)Θ(n)

    এই পদ্ধতির একটি বিশেষ ক্ষেত্র বুলিয়ান ভেরিয়েবল পরিচয় করিয়ে দিতে হয় , যা এই ধারণার সাথে মান থাকা উচিত । এই উদ্দেশ্যটি , , এবং (যেখানে আমরা কে হিসাবে বিবেচনা করি) যোগ করে করা যেতে পারে মিথ্যা প্রতিশব্দ) জন্য । এরপরে, আমরা জন্য বিধিনিষেধগুলি add যুক্ত করতে পারি । এটি মূলত অর্ধ-সংযোজক গাছের সিসিটিন রূপান্তরের সমতুল্য, যেখানে গাছটি সর্বাধিক ভারসাম্যহীন আকার ধারণ করে।y i x 1x 2x i y i¬ x i y i¬ y i - 1 ¬ y ix iy i - 1 y 0 i = 1 , , N ¬ y আমি¬ x আমি +y1,,ynyix1x2xiyi¬xiyi¬yi1¬yixiyi1y0i=1,,n আই=1,2,,এন-1¬yi¬xi+1i=1,2,,n1

  • প্রজাপতি নেটওয়ার্ক। আমি একটি নির্মান করতে পারে প্রজাপতি নেটওয়ার্কের উপর বিট, সীমাবদ্ধ -বিট ইনপুট হতে , সীমাবদ্ধ -বিট আউটপুট হতে , এবং একটি স্বাধীন গেট যে হিসাবে প্রতিটি 2-বিট প্রজাপতি গেট আচরণ হয় অদলবদল করে রাখা একটি নতুন নতুন বুলিয়ান ভেরিয়েবলের উপর ভিত্তি করে কোন সিদ্ধান্ত নেওয়ার সিদ্ধান্ত নিয়ে এটি অদলবদল করে বা তার ইনপুটটি অদলবদল করে না। তারপরে, আমি সারিটিকে এসএটি ক্লোজে রূপান্তর করতে টিসাইটিন রূপান্তর প্রয়োগ করতে পারি।n 000 01 n x 1 x 2x nnn00001nx1x2xn

    এর জন্য গেট প্রয়োজন এবং এর ফলে ক্লজ এবং নতুন বুলিয়ান ভেরিয়েবল যুক্ত হয়।Θ ( n lg n ) Θ ( n lg n )Θ(nlgn)Θ(nlgn)Θ(nlgn)

আমি উপেক্ষা করে অন্য কোন পদ্ধতি আছে? আমার কোনটি ব্যবহার করা উচিত? কেউ কি এটি পরীক্ষা করেছে বা পরীক্ষামূলকভাবে তাদের চেষ্টা করেছে, বা এর কোনওটির সাথে কারও অভিজ্ঞতা আছে? স্যাট সলভার পারফরম্যান্সে এর প্রভাবটি অনুমান করার জন্য ক্লজগুলির সংখ্যা এবং / অথবা নতুন বুলিয়ান ভেরিয়েবলগুলির সংখ্যাটি কি ভাল স্ট্যান্ড-ইন মেট্রিক, বা যদি না হয় তবে আপনি কোন মেট্রিক ব্যবহার করবেন?


আমি কেবল লক্ষ্য করেছি যে এই উত্তরে স্যাট-এর জন্য কার্ডিনালিটির সীমাবদ্ধতাগুলি প্রয়োগ করার জন্য কিছু রেফারেন্স রয়েছে, অর্থাত্, এই সীমাবদ্ধতাটি প্রয়োগ করা যা হ'ল ভেরিয়েবলগুলির মধ্যে ঠিক true সত্য। সুতরাং, আমার প্রশ্নটি একটি বিশেষ ক্ষেত্রে নেমে আসে যেখানে । হতে পারে কার্ডিনালিটির সীমাবদ্ধতার উপরের সাহিত্যগুলি আমার প্রশ্নের উপর আলোকপাত করতে সহায়তা করবে।এন কে = 1knk=1


বেশিরভাগ আধুনিক স্যাট সলভার বক্সের বাইরে কার্ডিনালিটি ক্লজ এবং অন্যান্য বিশেষ (নন-সিএনএফ) সীমাবদ্ধতাগুলিকে সমর্থন করে।
ডেভিড হরভথ

উত্তর:


12

সত্যিকারের n কে ভেরিয়েবলের K কে আউট করার বিশেষ ক্ষেত্রে, কালিবার এবং কোওয়ানের দ্বারা 1 থেকে এন অবজেক্ট নির্বাচন করার জন্য দক্ষ সিএনএফ এনকোডিং-তে বর্ণিত কমান্ডার ভেরিয়েবল এনকোডিং রয়েছে । সরলীকৃত: ভেরিয়েবলগুলি ছোট গ্রুপগুলিতে বিভক্ত করুন এবং এমন ধারাগুলি যুক্ত করুন যার ফলে কমান্ডার ভেরিয়েবলের অবস্থা বোঝায় যে একটি ভেরিয়েবলের গোষ্ঠী সমস্ত মিথ্যা বা সমস্ত-এক-মিথ্যা। তারপরে পুনরাবৃত্তভাবে একই অ্যালগরিদম কমান্ডার ভেরিয়েবলগুলিতে প্রয়োগ করুন। প্রক্রিয়া শেষে দাবী করুন যে চূড়ান্ত কমান্ডার চূড়ান্ত কমান্ডের মধ্যে কয়েকটি হ'ল সত্য। ফলাফলটি হ'ল ও (এন) নতুন ধারা এবং ও (এন) নতুন ভেরিয়েবল।

ডিপিএল ভিত্তিক সলভারগুলিতে দ্বি-পর্যবেক্ষিত-আক্ষরিকের সর্বব্যাপীতা দেওয়া, আমি মনে করি যে এন (এন) এর শৃঙ্খলা বৃদ্ধি এনকোডিং স্কিমগুলির ক্ষেত্রে একটি সিদ্ধান্তকৃত সুবিধা যা আরও ধারা যুক্ত করবে।


2
যদি "ছোট গ্রুপ" এর আকার দুটি থাকে তবে এটি কেবল বাইনারি সংযোজন, যেখানে "কমান্ডার" ফলাফল বিট, এবং বহনটি মিথ্যা বলে দৃ .়ভাবে জানানো হয়। পুনরাবৃত্তভাবে সম্পন্ন, এই পদ্ধতিটি সম্পূর্ণ সাধারণ (N এর 1 এর জন্য কাজ করে) এবং বাস্তবিকভাবে ব্যবহারিকভাবে সম্ভব হয়।
d8d0d65b3f7cf42

3

ম্যাগনাস বিজার্কের একটি গবেষণাপত্রে দুটি কৌশল বর্ণনা করা হয়েছে যা চেষ্টা করার মতো হতে পারে।

1-আউট-অফ- , একসাথে এক-গরম এবং বাইনারি উভয় এনকোডিং ব্যবহার করা যেতে পারে। সুতরাং, আমরা আছে এক্স 1 , ... , x এর এন এক গরম এনকোডিং, এবং Y 1 , ... , Y একটি বাইনারি এনকোডিং, যেখানে যেমন = এলজি এন । আমরা খুব সহজেই "অন্তত একটি" বাধ্যতা এনকোড করতে, একটি একক ধারা: ( এক্স 1এক্স এন ) । আমরা দুটি এনকোডিংগুলিকে 2 lg এন এর সাথে সামঞ্জস্য রাখতে বাধ্য করতে পারিnx1,,xny1,,ybb=lgn(x1xn)2lgnধারা: আমরা কেবল এক্স i যুক্ত করি বা x ixi¬yj , i এর বাইনারি এনকোডিংয়ের j তম বিটটি0 বা 1। শেষ অবধি, "সর্বাধিক এক" সীমাবদ্ধতা স্বয়ংক্রিয়ভাবে অনুসরণ করে। এটি বাকী স্যাট উদাহরণটি যেকোন এনকোডিংটি বেশি সুবিধাজনক হিসাবে ব্যবহার করার অনুমতি দেয়।xiyjji

জন্য -out-of- এন , এক ইনপুট একটি বাছাই নেটওয়ার্কের আবেদন করতে পারেন এক্স 1 , ... , x এর এন সাজানো আউটপুট পেতে Y 1 , ... , Y এন , এবং তারপর একটি দফা আবশ্যক করার যোগ Y সত্য এবং y k + 1 টি মিথ্যা। বেশ কয়েকটি সরল বাছাই করার নেটওয়ার্ক রয়েছে যাদের কেবল ( n lg 2 n ) তুলনামূলক ইউনিট প্রয়োজন। অতএব, আমরা একটি এনকোডিং পেয়েছি যা ( এন এলজি 2) ব্যবহার করেknx1,,xny1,,ynykyk+1O(nlg2n) ধারা এবং অস্থায়ী পরিবর্তনশীল।O(nlg2n)

কাগজটি হ'ল

ম্যাগনাস বিজার্ক। সফল স্যাট এনকোডিং কৌশল । 25 জুলাই 2009।

নিম্নলিখিত কাগজ 1-আউট-of- জন্য এনকোডিং একটি বিস্তারিত তালিকা আছে এবং k -of- -out এন , তাদের প্রতিটি কিছু পরীক্ষামূলক মূল্যায়ন সঙ্গে। সিদ্ধান্তগুলি সম্পূর্ণ পরিষ্কার নয় (কমান্ড এনকোডিংটি তাদের পরীক্ষাগুলিতে বেশ ভাল দেখাচ্ছে)।nkn

অ্যালান এম। ফ্রিছ, পল এ জিয়ানারোস। অতি-সীমাবদ্ধতার স্যাট এনকোডিংস: কিছু পুরানো, কিছু নতুন, কিছু দ্রুত, কিছুটা ধীরে ধীরে । ModRef 2010।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.