File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/ackno/91/w91-0104_ackno.xml
Size: 3,926 bytes
Last Modified: 2025-10-06 13:51:46
<?xml version="1.0" standalone="yes"?> <Paper uid="W91-0104"> <Title>Inherently Reversible Grammars, Logic Programming and Computability</Title> <Section position="6" start_page="28" end_page="29" type="ackno"> <SectionTitle> Acknowledgments </SectionTitle> <Paragraph position="0"> Thanks to Pierre Isabelle, Francois Perrault, Patrick Saint-Dizier, Tomek Strzalkowski and Gertjan van Noord for their comments on an earlier version of this paper. English and content have bigly suffered from my lacking time to impose, as usual, its reading on Elliott Macklovitch.</Paragraph> <Paragraph position="1"> Appendix Examples of finitely reversible grammars that are inherently difficult to reverse In this appendix, we give two examples of grammars that, although they are finitely reversible, are such that one mod~ is easy, while the reverse mode has a high degree of complexity. These examples are closely parallel, in the context of complexity, to the examples of section 6, which were concerned with computability.</Paragraph> <Paragraph position="2"> Number producis, cryptography and reversibility null Consider the binary relation r(x#y) which is true iff x is a string of the form: N*M where N and M are strings, interpreted as integers, of O's and l's and'.' is interpreted as multiplication, and where y is an integer equal to tile product of M and N. 23 We impose a priori that integers M and N be strictly greater than 1.</Paragraph> <Paragraph position="3"> This relation can be defined by a &quot;grammar&quot; G: this essentially simply involves constraining the &quot;syntax&quot; of z and defining multiplication by a set of definite clauses.</Paragraph> <Paragraph position="4"> Implementing r in p-enumeration mode is easy: it involves verifying that x is well-formed, and computing its product according to specification G; In fact, G itself can be used for that purpose, using a standard interpreter.</Paragraph> <Paragraph position="5"> On the other hand, efficiently implementing r in g-enumeration mode is extremely difficult, whatever the interpreter, program transformations, mathematical properties of prime factorization, ..., which are brought to the task. The fact that it is so difficult is the basis of the best known &quot;public key cryptography&quot; algorithm, RSA \[11\].</Paragraph> <Paragraph position="6"> NP-complete problems and reversibility A NP-complete problem is, informally, a problem for which solutions can be checked in polynomial time (relative to the length of the problem), but which requires more than polynomial time for the discovery of a solution \[1\].24 For specificity, let us focus on one NP-complete problem, namely the &quot;3-colorability problem&quot; which consists, given a certain graph x, in finding a coloring y for x using blue, green and red, in such a way that vertices sharing a common arc have different colors.</Paragraph> <Paragraph position="7"> It is possible to state the problem as a definite program G, whose main relation is of the form r(x#y), x and y being suitable term encodings for the graph z and for the solution y. The solution y can be considered as implicitely containing a description of graph x.</Paragraph> <Paragraph position="8"> It is obvious that g-acceptation is computationally easy (polynomial): it consists in verifying that the coloring y respects the coloring condition. On the other hand, p-acceptation is computationally costly: it consists in checking whether graph x has a solution, a problem which is at the present time believed to require exponential time.</Paragraph> <Paragraph position="9"> 23The string N*M and the integer y are suitably encoded as ground terms on H.</Paragraph> <Paragraph position="10"> 24More exactly, which is believed to require more than polynomial time. This belief constitutes the content of the famous P~NP conjecture.</Paragraph> </Section> class="xml-element"></Paper>