কেন সিএনএফ স্যাট এবং ডিএনএফ নয়?


22

আমি প্রায় পুরোটা স্যাট সলভার ডিএনএফের পরিবর্তে সিএনএফ কেন ব্যবহার করি তা আমি বুঝতে পারি না। আমার কাছে মনে হচ্ছে ডিএনএফ ব্যবহার করে স্যাট সমাধান করা সহজ। সর্বোপরি, আপনাকে কেবল ইমপ্লিটেন্টসগুলির সেটটি স্ক্যান করতে হবে এবং চেক করতে হবে যেগুলির মধ্যে একটিতে ভেরিয়েবল এবং এর অবজ্ঞা উভয়ই নেই। সিএনএফ এর জন্য, এর মতো সহজ পদ্ধতি নেই


5
সমস্ত বাধা সমাধানকারীরা ইনপুট হিসাবে সিএনএফ ব্যবহার করে না। কেউ কেউ পছন্দ করেন না, কারণ মূল সীমাবদ্ধতার সেটটির কাঠামো সংরক্ষণ করা হয়েছে।
ডেভ ক্লার্ক

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

10
@ ভিজেএন: প্রকৃতপক্ষে, কোনও বুলিয়ান সূত্রের জন্য সন্তোষজনক কার্যনির্বাহী সন্ধান করার সমস্যাটিকে বোঝাতে "স্যাট" ব্যবহার করা হয় । সিএনএফ-স্যাট হ'ল সবচেয়ে আকর্ষণীয় বিশেষ কেস, যাতে আমরা বিশেষত সিএনএফ-স্যাটকে সিনেকডোচের ধরণের হিসাবে উল্লেখ করতে "স্যাট" ব্যবহার করি। ডিএনএফ-স্যাট অবশ্যই সিএনএফ-ট্যাকটোলজি দক্ষভাবে দ্রবণযোগ্য, একইভাবে দক্ষভাবে সমাধানযোগ্য। প্রশ্নটি অনুধাবন করার ভিত্তিতে মনে হচ্ছে না।
নিল দে বৌড্রাপ

উত্তর:


56

স্যাট থেকে পাঠ্যপুস্তক হ্রাস 3SAT চাই, Karp কারণে একটি অবাধ বুলিয়ান সূত্র রূপান্তরিত একটি "সমতুল্য" CNF বুলিয়ান সূত্র মধ্যে Φ ' বহুপদী আকারের , যেমন যে Φ Satisfiable হয় যদি এবং কেবল যদি Φ ' Satisfiable হয়। (যথাযথ ভাবে বললে এই দুটি সূত্র কারণ সমতুল্য নয় Φ ' অতিরিক্ত ভেরিয়েবল আছে, কিন্তু এর মান Φ ' আসলে যারা নতুন ভেরিয়েবলের উপর নির্ভর করে না।)ΦΦ ΦΦΦΦ

ডিএনএফ সূত্রগুলিতে স্বেচ্ছাসেবক বুলেটিন সূত্রগুলি থেকে অনুরূপ কোনও হ্রাস পরিচিত নয়; সমস্ত পরিচিত রূপান্তরগুলি সূত্রের আকার তাত্ক্ষণিকভাবে বাড়িয়ে তোলে। তাছাড়া, পি = এনপি না থাকলে এ জাতীয় কোনও হ্রাস সম্ভব না!


আফিক সিএনএফ এবং তদ্বিপরীতভাবে ডিএনএফের রূপান্তর হ'ল পি বনাম এনপি-র মত হ'ল না যদিও এটি সম্ভবত কিছু গুরুত্বপূর্ণ জটিলতা শ্রেণীর বিভাজনের সাথে সম্পর্কিত (সম্ভবত এনপি থেকে "বৃহত্তর" শ্রেণিগুলির জন্য) ... সমস্যাটি এটি হতে পারে আকারে তাত্পর্যপূর্ণ ধাক্কা ... এবং যে কোনও ক্ষেত্রে সিএনএফ এবং ডিএনএফের মধ্যে রূপান্তর কোনও সিদ্ধান্তের সমস্যা নয় ... এটিকে সিদ্ধান্তের সমস্যায় পরিণত করার একাধিক উপায় রয়েছে ...
vzn

10
আমি মনে করি জেফির বক্তব্য ছিল ডিএনএফ-স্যাট পি-তে রয়েছে, সুতরাং পি = এনপি না থাকলে এনপি-সম্পূর্ণ হতে পারে না।
লুক ম্যাথিসন

2
"সমস্ত জ্ঞাত রূপান্তর" বর্তমান জ্ঞান অনুসারে সঠিক নয়, আফ্রিকার মধ্যে ডিএনএফ <=> সিএনএফ সূত্র / রূপান্তরগুলির জন্য অ্যালগোরিদম নির্বিশেষে ঘনিষ্ঠ স্পেস ব্লোপ প্রয়োজন ... অনুমান করুন যে এটি সিএনএফের আলোচনার মতো বলে মনে হয়েছিল <=> ডিএনএফ রূপান্তরটি অত্যন্ত প্রাসঙ্গিক ছিল এই প্রশ্নের কাছে এবং এই উত্তরটি এতে ইঙ্গিত দেয় ... সাহিত্যের কোথাও সংক্ষেপে "ডিএনএফ-স্যাট" ব্যবহার করা হয়? এটি নিজে দেখে দেখে মনে করবেন না ... এটি আমার কাছে অন্তর্নিহিত বিভ্রান্তি বলে মনে হচ্ছে ... ডিএনএফ-সন্তোষজনক সিদ্ধান্তের একটি সমস্যা, ডিএনএফ <-> সিএনএফ রূপান্তর একটি ফাংশন সমস্যা এবং উত্তরটি সেই পার্থক্যটিকে খুব স্পষ্ট করে না; একটি দুর্দান্ত উত্তর হবে ...
vzn

@ জে ff ই: আপনি এখানে "স্বেচ্ছাচারিত বুলিয়ান সূত্র" বলতে কী বুঝিয়েছেন তা বোঝাতে কি আপত্তি আছে? কার্পের কাগজ পৃষ্ঠা, 92 পৃষ্ঠাটি দেখে, সন্তুষ্টির বিষয়টি সিএনএফ সূত্রে সংজ্ঞায়িত করা হয়েছে। এটি ওপি-র প্রশ্নের আপনার উত্তরকে প্রভাবিত করে না, তবে আমি তা নিশ্চিত করার চেষ্টা করছি যে স্বেচ্ছাসেবী বুলিয়ান সূত্রগুলির (যেমন সিএনএফ-তে প্রয়োজনীয় সূত্রগুলি) আর কোনও সাধারণ ফলাফল নেই। ধন্যবাদ
lyes 21

22

বেশিরভাগ গুরুত্বপূর্ণ বিষয়গুলি বলা হয়েছিল তবে আমি কয়েকটি বিষয়কে গুরুত্ব দিতে চাই।

  1. একটি ডিএনএফ সূত্রের সন্তুষ্টিযোগ্যতা হ'ল পি
  2. একটি সিএনএফ সূত্রের সন্তুষ্টিযোগ্যতা হ'ল এনপি
  3. যদি কোনও সিএনএফ সূত্রটি টাউটোলজি হয় তবে তা পরীক্ষা করা হয়
  4. যদি ডিএনএফ সূত্রটি টাউটোলজি হয় তবে পরীক্ষা করা হয় কোএনপি
  5. ডিএনএফ অবহেলা করলে সিএনএফ এবং এর বিপরীতে ফলন হয়

সুতরাং স্যাট সমাধানকারীরা সিএনএফ ব্যবহার করে কারণ তারা সন্তোষজনকতা লক্ষ্য করে এবং লিনিয়ার সময়ে সন্তোষজনকতা সংরক্ষণ করার সময় কোনও সূত্র কোনও সিএনএফ-এ অনুবাদ করা যায়।



1
পছন্দ করুন উদাহরণস্বরূপ, । যদি আপনি একই ভেরিয়েবল যুক্ত দুটি ধারাগুলি দু'বার অস্বীকার করেন, তবে টাউটোলজির একক উপস্থাপনা রয়েছে, যা খালি খালি সেট। {{¬xx}}
মিকোলাস

3
@ টেফুন যখন আমি সম্মত হই যে সংজ্ঞাগুলি সাধারণত ধারাগুলিতে পুনরাবৃত্তিশীল ভেরিয়েবলগুলিকে অস্বীকার করে তবে আমি মনে করি না যে আমি কখনও এমন সংজ্ঞা দেখেছি যা দফার খালি সেটটিকে অস্বীকার করবে। (এবং আপনি কেন এটি করতে চান তা আমার কাছে স্পষ্ট নয়)
মিকোলাস

2
@ তায়েফুন ১) আপনি কি আমাকে এমন একটি প্রকাশনার দিকে ইঙ্গিত করতে পারেন যা বলে যে সিএনএফ-তে কোনও টটোলজির নেই বা খালি দফাটি সিএনএফ নয়? ২) আপনি যদি খালি দফাগুলির সেটটি অস্বীকার করেন, তবে আপনার খালি ধারাটিও অস্বীকার করা উচিত এবং আপনি মিথ্যাও উপস্থাপন করতে পারবেন না CN) আপনি যদি সিএনএফ-এ সত্য এবং / অথবা মিথ্যা অনুমতি না দেন তবে আপনি প্রতিনিধিত্ব করতে সক্ষম হওয়ার সম্পত্তি হারাচ্ছেন সমস্ত বুলিয়ান ফাংশন, আপনি কেন এটি করতে চান?
মিকোলাস

1
"কোনও প্রদত্ত ধারাতে ভেরিয়েবল এবং আক্ষরিকের পুনরাবৃত্তি হওয়া উচিত নয়।" --- যা খালি সূত্র বা ধারাগুলি অস্বীকার করে না। বিটিডাব্লু আপনি যদি খালি ধারাটি অস্বীকার করেন তবে আপনি আর রেজোলিউশন খণ্ডন প্রমাণগুলি আর করতে পারবেন না, যা স্বয়ংক্রিয় যুক্তির যথেষ্ট গুরুত্বপূর্ণ অংশ constitu
মিকোলাস

18

স্যাট solvers সিএনএফ "ব্যবহার" করে না - এগুলি (প্রায়শই) সিএনএফকে ইনপুট হিসাবে দেওয়া হয় এবং তাদের দেওয়া সিএনএফ সমাধানের জন্য যথাসাধ্য চেষ্টা করে। আপনার প্রশ্নটি যেমন উল্লেখ করেছে, প্রতিনিধিত্ব সব কিছু - কোনও ডিএনএফ একই আকারের সিএনএফের তুলনায় সন্তুষ্ট কিনা তা বলা সহজ।

এটি স্যাট সলভাররা কেন তাদের প্রদত্ত সিএনএফকে কেবল ডিএনএফ হিসাবে পরিণত করতে এবং ফলস্বরূপ ডিএনএফ সমাধান করতে পারে না তা নিয়ে প্রশ্ন উত্থাপন করে এবং প্রতিনিধিত্বমূলক বিষয়গুলি বোঝার জন্য এটি চেষ্টা করা একটি ভাল অনুশীলন।


11

Th সেপ্টেম্বর ২০১৩: আরও উত্তর যুক্ত হয়েছে, পৃষ্ঠার নীচে চেক করুন


মূলত, একটি DNF সূত্র ক্লজ একটি বিচ্ছিন্ন অবস্হা হয় , যেখানে প্রতিটি দফা আমি = আমি , 1আমি , লিটারেল একটি conjuction হয়। আসুন একটি দফা কল আমি পরস্পরবিরোধী যদি এবং কেবল যদি এটি উভয় একটি আক্ষরিক রয়েছে এবং তার অস্বীকৃতি ¬ । এটি সহজেই দেখা যায় যে প্রতিটি বিবাদবিরোধী ধারাটি কেবল 2 এন - কে এনকোড করেc1...cmci=li,1...li,kcil¬l2nkসূত্র সমাধান। সুতরাং পুরো ডিএনএফ হ'ল সমাধানগুলির একটি গণনা। একটি সূত্রে তাত্পর্যপূর্ণভাবে অনেকগুলি সমাধান থাকতে পারে, সুতরাং সংশ্লিষ্ট ডিএনএফ সূত্রে তাত্পর্যপূর্ণভাবে অনেকগুলি ধারা থাকতে পারে। এই সিএনএফ সূত্রে রূপান্তর করার চেষ্টা করুন:

l1l2l3l4

l5l6l7l8

l9l10l11l12

l13l14l15l16

l17l18l19l20

to its corresponding DNF formula: you'll get too many clauses. In one word: CNF is compact, while DNF is not; CNF is implicit, while DNF is explicit.

The following problem is NP-complete: given a DNF instance, is there an assignment of variables that falsifies all the clauses?


4
To get the correct LaTeX formatting, replace \and and \or with \land and \lor (or \wedge and \vee).
Jeffε

2
নিয়মিত সিএনএফ-এ রূপান্তরকরণের সাথে অন্তর্নিহিত আরও কমপ্যাক্টের কিছুই নেই, ওপি প্রশ্নের আসল কীটি এই যে সত্য যে আপনি সেই "সমতুল্য" সিএনএফ ফাংশনগুলি সহায়ক ভেরিয়েবলগুলির সাথে তৈরি করতে পারেন। সন্তুষ্টির জন্য পরীক্ষার পরিবর্তে ভিন্ন সমস্যা সমাধানের জন্য আপনি ডিএনএফ-এর সাথে প্রায় একই ধরণের অনুমান করতে পারেন। (সমতা-অসন্তুষ্টির ফাংশন? ...)
ডিভাইডবিজারো

1
This insight by Giorgio Camerani is not good. The same exponential increase in the number of clauses can happen if you convert something to CNF. Pick this same example and replace "and"s with "or"s. The conversion from this small DNF expression to the CNF will be huge just the same. They have a bit of a ying-and-yang relationship to them.
dividebyzero

@dividebyzero: I've devoted a separate answer to address your comments.
Giorgio Camerani

6

I just realized one more thing, which hopefully deserves a separate answer. The presumption of the question is not entirely true. A binary decision diagram (BDD) could be seen as a compact/refined representation of DNF. There have been some SAT solvers using BDDs but I believe they no longer appear.

There is a nice paper by Darwiche and Marquis studying different properties of various representations of Boolean functions.


4

This further answer is meant as a feedback to dividebyzero's comment to my previous answer.

As dividebyzero says, it is certainly true that CNF and DNF are two sides of the same coin.

When you have to find a satisfying assignment, DNF is explicit as it manifestedly shows you its satisfying assignments (DNF Satisfiability belongs to P), whereas CNF is implicit as it wraps and winds to hide its satisfying assignments from your eyes (CNF Satisfiability is NPcomplete). We do not know any procedure which is able to unwrap and unwind any CNF formula into some equisatisfiable DNF formula which is not exponentially sized. This was the point of my previous answer (whose example was meant to show the exponential blow-up, although admittedly such example was not the best possible choice).

Conversely, when you have to find a falsifying assignment, CNF is explicit as it manifestedly shows you its falsifying assignments (CNF Falsifiability belongs to P), whereas DNF is implicit as it wraps and winds to hide its falsifying assignments from your eyes (DNF Falsifiability is NPcomplete). We do not know any procedure which is able to unwrap and unwind any DNF formula into some equifalsifiable CNF formula which is not exponentially sized.

At one extremity we have Contradictions, i.e. unsatisfiable formulas. At the opposite extremity we have Tautologies, i.e. unfalsifiable formulas. In the middle, we have formulas which are both satisfiable and falsifiable.

In any CNF formula with n variables, every clause of length k manifestedly encodes 2nk falsifying assignments.

In any DNF formula with n variables, every term of length k manifestedly encodes 2nk satisfying assignments.

A CNF formula without clauses is a Tautology, because it does not have any falsifying assignment. A CNF formula containing the empty clause (which subsumes every other clause) is a Contradiction, because the empty clause (which has k=0) indicates that all the 2n assignments are falsifying. Any other CNF formula is either a Contradiction or one of those formulas in the middle (and it is NPcomplete to distinguish between these 2 cases).

A DNF formula without terms is a Contradiction, because it does not have any satisfying assignment. A DNF formula containing the empty term (which subsumes every other term) is a Tautology, because the empty term (which has k=0) indicates that all the 2n assignments are satisfying. Any other DNF formula is either a Tautology or one of those formulas in the middle (and it is NPcomplete to distinguish between these 2 cases).

With a CNF formula, distinguishing between the 2 cases above means being able to tell whether all the falsifying assignments collectively brought by the presence of clauses overlap in such a way to cover all the 2n assignments (in which case the formula is a Contradiction, otherwise it is satisfiable).

With a DNF formula, distinguishing between the 2 cases above means being able to tell whether all the satisfying assignments collectively brought by the presence of terms overlap in such a way to cover all the 2n assignments (in which case the formula is a Tautology, otherwise it is falsifiable).

Under this light it becomes more clear why CNF Satisfiability and DNF Falsifiability are equivalent in terms of computational hardness. Because they actually are the very same problem, as the underlying task is exactly the same: to tell whether the union of several sets equals the space of all possibilities. Such task leads us to the wider realm of counting, which is in my humble opinion one of those avenues to be fervently explored in order to hope to make some non-negligible progress on these problems (I doubt that further research on resolution-based solvers may eventually bring groundbreaking theoretical advancements, while it certainly continues to bring surprising practical advancements).

The difficulty of such task is that those sets overlap wildly, in an inclusion - exclusion fashion.

The presence of such overlapping is precisely where the hardness of counting resides. Moreover, the fact that we let those sets overlap is the very reason that allows us to have compact formulas whose solution space is nevertheless exponentially large.


4

I've decided to turn all these answers in this thread (especially Giorgio Camerani’s answer) into a nice table so that the duality is visible at a single glance:

DNFCNFtautology/unfalsifiabilitycoNP-completeP(each clause has a pair of P and ¬P)satisfiabilityP(sat. assignments are explicit)NP-completefalsifiabilityNP-completeP(fals. assignments are explicit)unsatisfiabilityP(each clause has a pair of P and ¬P)coNP-completeconversion to normal form, retaining equivalence()()conversion to normal form, retaining satisfiability()FPconversion to normal form, retaining falsiabilityFP()

(): These search problems, as well as DNF to CNF conversion (or vice versa for that matter), require exponential time due to the sheer size of the output. They are in FPSPACE; in fact, they are solvable by a function with a polynomial-time bit-graph, which is as efficient as it gets for an exponential-size-output function, but I’m not aware of this class having a name. Usual notions of poly-time reductions only work sensibly for functions with polynomial-size output; applying them blindly to the present case would make all these search problems FEXP-complete, again due to the size of the output.

(): These search problems are solvable by an exponential-time function with a polynomial-time bit-graph as in (). However, they are also solvable in FPNP[1], and conversely, they are NP-hard under poly-time Turing reductions (many-one reductions make no sense here, as we are comparing a search problem with a decision problem).

Shortest answer to the question: showing satisfiability (solving SAT) via DNF can only be done in exponential time according to the table above.


1
What is a "PL formula" and what does "NF" mean?
Joshua Grochow

4
There are a few issues here. (1) I think by "unfalsifiability" you mean "tautology". (2) KNF should be CNF.
Huck Bennett

2
Still not clear what you mean by "NF (retain satisfiability)". Does that mean an algorithm A such that A(φ) is satisfiable if φ is, but if φ is unsatisfiable then A(φ) can be either, and furthermore for all satisfiable formulae φ, A(φ) has the same output? That's what I would think from your notation, but this problem wouldn't be in P for CNFs. So what do you mean?
Joshua Grochow

1
(1) "predicate logic" should be "propositional logic". (2) The conversions to normal forms are not decision problems, but function problems (or rather, search problems, as the "normal forms" are not unique). So, the decision classes given in the table are inappropriate.
Emil Jeřábek supports Monica

1
What is the Δ3P doing there?
Emil Jeřábek supports Monica
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.