<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">OALibJ</journal-id><journal-title-group><journal-title>Open Access Library Journal</journal-title></journal-title-group><issn pub-type="epub">2333-9705</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/oalib.1101479</article-id><article-id pub-id-type="publisher-id">OALibJ-68390</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Biomedical&amp;Life Sciences</subject><subject> Business&amp;Economics</subject><subject> Chemistry&amp;Materials Science</subject><subject> Computer Science&amp;Communications</subject><subject> Earth&amp;Environmental Sciences</subject><subject> Engineering</subject><subject> Medicine&amp;Healthcare</subject><subject> Physics&amp;Mathematics</subject><subject> Social Sciences&amp;Humanities</subject></subj-group></article-categories><title-group><article-title>
 
 
  On a Logical Model of Combinatorial Problems
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Anatoly</surname><given-names>D. Plotnikov</given-names></name><xref ref-type="aff" rid="aff1"><sub>1</sub></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><label>1</label><addr-line>Department of Social Informatics and Information Systems, Dalh East-Ukrainian National University, Luhansk, Ukraine</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>a.plotnikov@list.ru</email></corresp></author-notes><pub-date pub-type="epub"><day>29</day><month>05</month><year>2015</year></pub-date><volume>02</volume><issue>05</issue><fpage>1</fpage><lpage>6</lpage><history><date date-type="received"><day>21</day>	<month>April</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>10</month>	<year>May</year>	</date><date date-type="accepted"><day>19</day>	<month>May</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
   
   The paper proposes a logical model of combinatorial problems; it also gives an example of a problem of the class NP that cannot be solved in polynomial time on the dimension of the problem. 
  
 
</p></abstract><kwd-group><kwd>Logical Model</kwd><kwd> Combinatorial Problem</kwd><kwd> Class P</kwd><kwd> Class NP</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Suppose we have a n-set<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x5.png" xlink:type="simple"/></inline-formula>. The problem is called combinatorial if it needs to find a sample S of the elements A satisfying specified conditions. Elements of the set A can be numbers, symbols, geometric objects, etc.</p><p>Logic is the natural language of mathematics. Therefore, the construction of logical models of combinatorial problems helps to better understand the features of a problem, estimate the possible ways and the complexity of the solving.</p><p>Any mass problem is characterized by some lists of parameters (in our case, this is the set A) and by predicate P(S), which determines the properties of the solution S [<xref ref-type="bibr" rid="scirp.68390-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.68390-ref2">2</xref>] . In complexity theory, it introduces the concept of problems, which form the class NP.</p><p>The problem belongs to the class NP if the solution can be checked for the time described by a polynomial <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x6.png" xlink:type="simple"/></inline-formula> on the problem dimension n. There are many problems that belong to the class NP [<xref ref-type="bibr" rid="scirp.68390-ref1">1</xref>] - [<xref ref-type="bibr" rid="scirp.68390-ref3">3</xref>] , which can be solved for the polynomial time<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x7.png" xlink:type="simple"/></inline-formula>. The set of all these problems form the class P. The central question of complexity theory is the problem of the relation of classes P and NP, i.e., P = NP or P &#185; NP.</p><p>The purpose of this paper is to offer a general logical model of combinatorial problems, the solution of which is a disordered sample, as well as to estimate the complexity of solving certain problems.</p></sec><sec id="s2"><title>2. The General Logical Model</title><p>Usually, each combinatorial problem is defined as a triple (A, P(S), W(S)), where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x8.png" xlink:type="simple"/></inline-formula> is n-set of solution elements, P(S) is a predicate that determines whether some subsets <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x9.png" xlink:type="simple"/></inline-formula> satisfy conditions of the problem, W(S) is a cost function of S.</p><p>Each subset <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x10.png" xlink:type="simple"/></inline-formula> we associate with the n-dimensional Boolean tuple<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x11.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x12.png" xlink:type="simple"/></inline-formula> (i = 1, 2, &#215;&#215;&#215;, n) if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x13.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x14.png" xlink:type="simple"/></inline-formula> otherwise. The predicate P(S) equals to 0 or 1 for each concrete subset S. Therefore, the value of the predicate P(S) for each tuple B defines the value of a Boolean function f(B), depending on n of Boolean variables. Such Boolean function is called a pointer of feasible solutions (PFS).</p><p>Thus, the combinatorial problem can be represented as the three: (A, f(B), W(B)), where W(B) = W(S).</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref> shows schematically the relation between PFS and the cost function.</p>Consider a Few Examples<p>Example 1. (The maximum independent set problem). Let there be an undirected graph<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x15.png" xlink:type="simple"/></inline-formula>, where we want to find the maximum independent set of vertices. Here <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x16.png" xlink:type="simple"/></inline-formula> is the set of graph vertices, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x17.png" xlink:type="simple"/></inline-formula>is the set of graph edges.</p><p>It is obvious that here A = V is the set of solution elements, the predicate P(S) is defined by a procedure that determines whether a subset of vertices <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x18.png" xlink:type="simple"/></inline-formula> is independent, i.e. whether the vertices of S are pairwise non-adjacent. The cost function W(S) calculates the number of elements in S.</p><p>We associate each subset <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x19.png" xlink:type="simple"/></inline-formula> with a Boolean tuple<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x20.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x21.png" xlink:type="simple"/></inline-formula> if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x22.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x23.png" xlink:type="simple"/></inline-formula> otherwise. Then the predicate P(S) = P(X) defines a Boolean function f(B). We will define f(B).</p><p>We associate each vertex <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x24.png" xlink:type="simple"/></inline-formula> with the conjunction of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x25.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x26.png" xlink:type="simple"/></inline-formula> are variables corresponding to all vertices of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x27.png" xlink:type="simple"/></inline-formula>, adjacent to a vertex <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x28.png" xlink:type="simple"/></inline-formula> graph G. Obviously, the disjunction</p><disp-formula id="scirp.68390-formula907"><graphic  xlink:href="http://html.scirp.org/file/68390x29.png"  xlink:type="simple"/></disp-formula><p>is the desired pointer of feasible solutions f(B).</p><p>Thus, the solution to the problem is to find a tuple B, which has the maximum number of unities, on which the function f(B) equals to one (true).</p><p>For example, suppose, there is the undirected graph <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x30.png" xlink:type="simple"/></inline-formula> as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>, in which we must find the maximum number of independent vertices.</p><fig-group id="fig1"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Illustration of the proposed model.</title></caption><fig id ="fig1_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/68390x31.png"/></fig></fig-group><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Undirected graph</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/68390x32.png"/></fig><p>We associate each vertex <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula> with a Boolean variable <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula> <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula> if the vertex <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula> belongs to the set of independent vertices and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x38.png" xlink:type="simple"/></inline-formula> otherwise. We find:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x39.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x40.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x41.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x42.png" xlink:type="simple"/></inline-formula>,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x42.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x43.png" xlink:type="simple"/></inline-formula>.</p><p>So, we must find the values of Boolean variables<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x44.png" xlink:type="simple"/></inline-formula>, corresponding to the vertices <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x45.png" xlink:type="simple"/></inline-formula> of the graph G, for where the function</p><disp-formula id="scirp.68390-formula908"><graphic  xlink:href="http://html.scirp.org/file/68390x46.png"  xlink:type="simple"/></disp-formula><p>is maximum provided that the Boolean function</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x47.png" xlink:type="simple"/></inline-formula>.</p><p>Example 2. (The Hamiltonian cycle problem). Let there be an undirected graph<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x48.png" xlink:type="simple"/></inline-formula>, for which it is necessary to find a Hamiltonian cycle if it exists. The graph G is Hamiltonian if there exists a simple cycle that includes all the vertices of the graph.</p><p>It is obvious that here A = E is the set of solution elements―the set of graph edges. Predicate P(S) defines procedure that determines whether the basic condition of Hamiltonian graph is executed, namely, a subset of edges <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x49.png" xlink:type="simple"/></inline-formula> is a subgraph, in which each vertex is incident with at most two edges. The cost function W(S) determines whether a subgraph S is a simple cycle of the graph G.</p><p>In this case it is convenient initially to construct a function<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x50.png" xlink:type="simple"/></inline-formula>, the inverse to the pointer of feasible solutions f.</p><p>We associate each edge <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x51.png" xlink:type="simple"/></inline-formula> <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x52.png" xlink:type="simple"/></inline-formula> with Boolean variable<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x53.png" xlink:type="simple"/></inline-formula>. We believe <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x54.png" xlink:type="simple"/></inline-formula> if the edge <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x55.png" xlink:type="simple"/></inline-formula> belongs the selected set of edges S, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x56.png" xlink:type="simple"/></inline-formula> otherwise.</p><p>The function <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x57.png" xlink:type="simple"/></inline-formula> is unity on such the tuple of Boolean variables<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x58.png" xlink:type="simple"/></inline-formula>, which correspond to the collection of three or more edges incident to the same vertex of G. For example, if the vertex <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x59.png" xlink:type="simple"/></inline-formula> of the graph G is incident <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x60.png" xlink:type="simple"/></inline-formula> edges <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x60.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x61.png" xlink:type="simple"/></inline-formula> then there is</p><disp-formula id="scirp.68390-formula909"><graphic  xlink:href="http://html.scirp.org/file/68390x62.png"  xlink:type="simple"/></disp-formula><p>conjunctions in the form</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x63.png" xlink:type="simple"/></inline-formula>,</p><p>which correspond to tuples containing three edges that incident to the same vertex. Obviously, one should not write conjunction with more than three variables, as they are absorbed by conjunctions of the three variables.</p><p>Writing down all such conjunctions for vertices with local degree equals to or more than three, we obtain the inverse function for PFS. For the graph shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>, we have:</p><p>Therefore, the function<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x70.png" xlink:type="simple"/></inline-formula>, inverse for PFS, would be:</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x71.png" xlink:type="simple"/></inline-formula>.</p><p>Hence, we have the final form for the pointer of feasible solutions:</p><disp-formula id="scirp.68390-formula910"><graphic  xlink:href="http://html.scirp.org/file/68390x72.png"  xlink:type="simple"/></disp-formula><p>As for the function W(B), then it is given by the procedure which establishes that the considered subgraph is a Hamiltonian cycle. This can be executed by depth-first search (DFS) in the graph.</p><p>Example 3. (The satisfiability problem). In the satisfiability problem, some Boolean function <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x73.png" xlink:type="simple"/></inline-formula> is given, and requires to establish the existence of such Boolean variables<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x73.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x74.png" xlink:type="simple"/></inline-formula>, which deliver a unit value function F. It is generally believed that function F is defined as a conjunctive normal form (CNF).</p><p>Obviously, in this case literals of Boolean variables are the elements of the solution, that is, the variables <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x75.png" xlink:type="simple"/></inline-formula> with negation or without negation. Literals x and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x75.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x76.png" xlink:type="simple"/></inline-formula> called alternative (contraries). Any tuple of non-alternative literals would represent a feasible solution to the problem. Since each tuple B of n Boolean variables determines the feasible set of literals, then the pointer of feasible solutions f(B) = 1 for all tuples. In other words, in this case, the PFS is a constant unity.</p><p>The cost function is defined by the given Boolean function, that is,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x77.png" xlink:type="simple"/></inline-formula>.</p></sec><sec id="s3"><title>3. On the Complexity of Solutions</title><p>In the process of solving the problem, we have two stages:</p><p>• Input of initial data of the problem;</p><p>• The proper stage of solving the problem.</p><p>The number of symbols, which is required for recording initial data, is the dimension of the problem. To solve the problem, it is obviously necessary at least once “view” all of its initial data. Therefore, the complexity of solving any problem cannot be less than O(n), where n is the dimension of the problem. An example of such a problem can be a problem to find the maximum element of the array M.</p><p>In principle, the problem of the search of the maximum element of an array (PME) M can be represented in the form of our logical model. For example, the binary address of the cell of the array can be considered as a set of abstract Boolean variables. The pointer of feasible solutions in this case is a constant 1. The cost function is given by the comparison procedure given numbers. Clearly, to solve this problem, it is necessary to consider all elements of the array, since we do not know how its values of these elements are arranged in an array.</p><p>Next, we consider the following example.</p><p>Let there be a Boolean tuple of length 4 (a tetrad)<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x78.png" xlink:type="simple"/></inline-formula>. We associate each such tuple with the number T = w<sub>1</sub> + w<sub>2</sub> + w<sub>3</sub> + w<sub>4</sub>―a weight of the tetrad X. Summands <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x79.png" xlink:type="simple"/></inline-formula> <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x80.png" xlink:type="simple"/></inline-formula> is calculated as follows:</p><p>• if x<sub>1</sub> = 0 then w<sub>1</sub> := 5 else w<sub>1</sub> := 13;</p><p>• if x<sub>1</sub> = 0 and x<sub>2</sub> = 0 then w<sub>2</sub> := 7;</p><p>• if x<sub>1</sub> = 0 and x<sub>2</sub> = 1 then w<sub>2</sub> := 10;</p><p>• if x<sub>1</sub> = 1 and x<sub>2</sub> = 0 then w<sub>2</sub> := 12;</p><p>• if x<sub>1</sub> = 1 and x<sub>2</sub> = 1 then w<sub>2</sub> := 4;</p><p>• if x<sub>3</sub> = 0 then w<sub>3</sub> := 3 else w<sub>3</sub> := 8;</p><p>• if x<sub>3</sub> = 0 and x<sub>4</sub> = 0 then w<sub>4</sub> := 2;</p><p>• if x<sub>3</sub> = 0 and x<sub>4</sub> = 1 then w<sub>4</sub> := 15;</p><p>• if x<sub>3</sub> = 1 and x<sub>4</sub> = 0 then w<sub>4</sub> := 3;</p><p>• if x<sub>3</sub> = 1 and x<sub>4</sub> = 1 then w<sub>4</sub> := 17.</p><p>We assume that the values of the summands<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x81.png" xlink:type="simple"/></inline-formula>, depending on the specified conditions, are determined by some random process. We believe that the weight of the tetrad T equals to T = w<sub>1</sub> + w<sub>2</sub> + w<sub>3</sub> + w<sub>4</sub>.</p><p>Also suppose that there is a pointer of feasible solutions<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x82.png" xlink:type="simple"/></inline-formula>, it’s presented in the table below. Furthermore, in this table, weights of the corresponding tetrads are calculated.</p><p>It is easy to see that we have an equilibrium Boolean function, that is, on half of tuples, this Boolean function equals to 0, and the other half equals to 1. The formula for calculating the given Boolean function (the pointer of feasible solutions) has the form:</p><disp-formula id="scirp.68390-formula911"><graphic  xlink:href="http://html.scirp.org/file/68390x90.png"  xlink:type="simple"/></disp-formula><p>Let it be required to find a tuple X of the maximum weight at which f(X) = 1.</p><p>In general, the considered problem (we call it as “Heavy tuple (HT)”) can be formulated as follows.</p><p>Suppose we have n Boolean variables<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x91.png" xlink:type="simple"/></inline-formula>. For simplicity, we assume that n = 4k (k &#179; 1). For each tuple <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x91.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x92.png" xlink:type="simple"/></inline-formula> of Boolean variables<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x91.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x92.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x93.png" xlink:type="simple"/></inline-formula>, we define its weight w(S) as the sum of the weights of its tetrads.</p><disp-formula id="scirp.68390-formula912"><graphic  xlink:href="http://html.scirp.org/file/68390x94.png"  xlink:type="simple"/></disp-formula><p>In addition, let be the given the equilibrium Boolean function<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x95.png" xlink:type="simple"/></inline-formula>, whose value can be computed in polynomial time by n:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x95.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x96.png" xlink:type="simple"/></inline-formula>.</p><p>It is required to find a tuple <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x97.png" xlink:type="simple"/></inline-formula> of the maximum weight <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x97.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x98.png" xlink:type="simple"/></inline-formula> such that f(S) = 1.</p><p>The same problem in the decision form was formulated in [<xref ref-type="bibr" rid="scirp.68390-ref4">4</xref>] . It was also shown that the problem belongs to the class NP. A difference problem “Heavy tuple” from problems, presented in Examples 1-3, is the absence of knowledge of the predicate P(S), that is, we do not know the properties that must be satisfied of every feasible solution.</p><p>Theorem 1. The problem “Heavy tuple” cannot be solved in polynomial time on the dimension of the problem.</p><p>Obviously, the problem HT is formulated as an analogue of the problem of finding the maximum element of the given array (PME).</p><p>In fact, in the problem “Heavy tuple”, addresses (binary tuples) of the array of feasible solutions are determined by the pointer of feasible solutions f. Calculation of the address in this case can be performed by brute force only, because otherwise we have a problem searching for the function<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x99.png" xlink:type="simple"/></inline-formula>, the inverse of the PFS , that is, find a tuple of values of Boolean variables, where the pointer of feasible solutions equals to 1. The procedure for calculating such an address is not associated with the weight of the array element. Only after obtaining the address of the array element, we find (calculate) its value. The same sequence of operations is used for PME.</p><p>Assuming that we can calculate the tuple S, where there is the maximum weight. However, such tuple may not be the feasible solution, as the pointer f(S) = 0. Since we do not know the predicate P(S) explicitly, this does not allow considering other ways to solve the “preview” of all elements of a given array of feasible solutions, the number of which is not less than<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/68390x100.png" xlink:type="simple"/></inline-formula>.</p><p>Corollary 1. The class P does not coincide with the class NP, that is, P &#201; NP.</p></sec><sec id="s4"><title>4. Conclusion</title><p>The proposed combinatorial model allows considering not only the well-known combinatorial problems, but also considering new problems such as “Heavy tuple” with single point of view. The most important consequence of the proposed model is to establish the inequality of classes P and NP on the example of the problem “Heavy tuple”. The conclusions, obtained in the study of this problem, cannot be extended to problems, considered in Examples 1-3, as predicate P(S) explicitly specified in them.</p></sec><sec id="s5"><title>Cite this paper</title><p>Anatoly D. Plotnikov, (2015) On a Logical Model of Combinatorial Problems. Open Access Library Journal,02,1-6. doi: 10.4236/oalib.1101479</p></sec></body><back><ref-list><title>References</title><ref id="scirp.68390-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Garey, M.R. and Johnsonm D.S. (1979) Computers and Intractability. W. H. Freeman and Company, San Francis-co.</mixed-citation></ref><ref id="scirp.68390-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Papadimitriou, C.H. and Steiglitz, K. (1982) Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall Inc., Upper Saddle River, NY.</mixed-citation></ref><ref id="scirp.68390-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Crescenzi, P. and Kann,V. (1997) Approximation on the Web: A Compendium of NP Optimization Problems. Proceedings of International Workshop RANDOM’97, Bologna, 11-12 July 1997, 111-118.</mixed-citation></ref><ref id="scirp.68390-ref4"><label>4</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Plotnikov</surname><given-names> A.D. </given-names></name>,<etal>et al</etal>. (<year>2013</year>)<article-title>On the Structure of the Class NP</article-title><source> Computer Communication &amp; Collaboration</source><volume> 1</volume>,<fpage> 19</fpage>-<lpage>25</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref></ref-list></back></article>