sounds good. thanks Stephan! i can spare some time to look into the implementation soon.<br><br>best,<br><br>Yi<br><br><div><span class="gmail_quote">On 7/24/07, <b class="gmail_sendername">Stephan Oepen</b> &lt;<a href="mailto:oe@ifi.uio.no">
oe@ifi.uio.no</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">hei!<br><br>&gt; Sorry to have contributed to the bewildering behavior.&nbsp;&nbsp;Please try
<br>&gt; the new version of the grammar once I check it in.<br><br>after talking to dan more and searching my email archive (in lieu of a<br>functional memory), i believe we keep seeing the bug documented below.<br>the Oepen &amp; Carroll (2000) algorithm and its current PET implementation
<br>fail to prevent an edge from packing into one of its ancestors.&nbsp;&nbsp;while<br>it may be the case that we tend to only hit that problem when there is<br>something not quite right in a grammar, in principle the configuration
<br>i sketched below seems perfectly legitimate.&nbsp;&nbsp;we should extend the test<br>for packability to reject host edges that are dominated by a new edge;<br>seeing that we only need to walk down the daughters chain as long as we
<br>stay within the same start and end vertices, and that we can test edges<br>by identity, this should not add noticeable overhead.<br><br>looking at the code, i would suggest a test like tItem::containedp() at<br>the top of the for() iterating over candidate hosts in packed_edge(); i
<br>could see myself write that, but not until late august or so.&nbsp;&nbsp;bernd or<br>zhang yi, if you feel you have cycles to spare, i need not reserve this<br>bug fix for myself :-).<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all best&nbsp;&nbsp;-&nbsp;&nbsp;oe
<br><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>+++ Universitetet i Oslo (IFI); Boks 1080 Blindern; 0316 Oslo; (+47) 2284 0125<br>+++&nbsp;&nbsp;&nbsp;&nbsp; CSLI Stanford; Ventura Hall; Stanford, CA 94305; (+1 650) 723 0515
<br>+++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- <a href="mailto:oe@ifi.uio.no">oe@ifi.uio.no</a>; <a href="mailto:oe@csli.stanford.edu">oe@csli.stanford.edu</a>; <a href="mailto:stephan@oepen.net">stephan@oepen.net</a> ---<br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<br><br><br>[--- end of forwarded message ---]<br><br>Date: Sat, 19 Mar 2005 17:55:56 -0800<br>From: <a href="mailto:oe@csli.stanford.edu">oe@csli.stanford.edu</a> (Stephan Oepen)<br>To: <a href="mailto:j.a.carroll@sussex.ac.uk">
j.a.carroll@sussex.ac.uk</a><br>Cc: <a href="mailto:koji_tukamoto@yahoo.co.jp">koji_tukamoto@yahoo.co.jp</a>, <a href="mailto:dan@csli.stanford.edu">dan@csli.stanford.edu</a><br>Cc: <a href="mailto:developers@delph-in.net">
developers@delph-in.net</a><br>Subject: Re: unary rules and packing<br><br>hi again, john, and thanks for the quick reply!<br><br>i decided to copy `developers&#39; and dan, in case there is an interesting<br>issue here.<br>
<br>&gt; &gt; today i managed to kill PET with an (apparently) unusual configuration<br>&gt; &gt; of packed edges, viz.<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp; P [7 0-1 hoptcomp_rule (0) 1 {} {} {1}] &lt; dtrs: 5&nbsp;&nbsp;parents: &gt;<br>&gt; &gt;&nbsp;&nbsp; (7 hoptcomp 
1.0000 0 1<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; (5 hoptcomp 1.0000 0 1 {7}<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1 generic_adj_compar/adj_intrans_compar_nale 0.0000 0 1 []<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (&quot;firmer&quot; 0.0000 0 1))))<br>&gt; &gt;<br>&gt; &gt; i.e. when i build # 7, using a unary rule over # 5, it gets packed into
<br>&gt; &gt; its own daughter.&nbsp;&nbsp;i believe nowhere in the published literature did we<br>&gt; &gt; discuss this case, but the consequences for unpacking are dire, viz. an<br>&gt; &gt; infinite loop (unpacking an edge requires unpacking its daughters).&nbsp;&nbsp;i
<br>&gt; &gt; cannot quite decide tonight, whether the above is a legal configuration<br>&gt; &gt; in the forest, and what its unpacking should be.&nbsp;&nbsp;i am inclined to say<br>&gt; &gt; that our packed-edge-p() should check and block packing into daughters
<br>&gt; &gt; of the current new edge.&nbsp;&nbsp;that could be tested fairly efficiently, as i<br>&gt; &gt; would only have to walk down the daughters chain along the current span<br>&gt; &gt; (or bit-code characterizing semantic coverage), i think.
<br>&gt;<br>&gt; Is the edge packing into its own daughter because information that has<br>&gt; been suppressed by the restrictor would have made this fail, or is it<br>&gt; simply because there&#39;s a cycle in the grammar? If the former, then
<br>&gt; isn&#39;t there a problem with the restrictor? If the latter, then the<br>&gt; expected behaviour on unpacking is an infinite loop -- or if packing is<br>&gt; turned off, an infinite loop before during parsing. [...]
<br>&gt;<br>&gt; Or am I missing something?<br><br>for the current case, i now believe we are seeing a bug in the grammar:<br>its `adj_intrans_compar_nale&#39; is not supplying a COMPS values, and then<br>the `hoptcomp&#39; unary rule will cycle freely.&nbsp;&nbsp;dan, what do you think?
<br>after all, the generic lexical entries have hardly been used since the<br>YY days, for all i know.<br><br>however, i still think there is a general problem.&nbsp;&nbsp;without assuming a<br>cycle in the grammar, how can we guarantee that a unary rule R applied
<br>to some edge e_1 does not result in a structure subsumed by e_1?&nbsp;&nbsp;the<br>following rule, i think, should actually do the trick:<br><br>&nbsp;&nbsp;R := #1 &amp; [ FOO + ] --&gt; #1 &amp; [ FOO - ]<br><br>assuming e_1 was unspecified for FOO, it should both feed the rule and
<br>subsume the output structure.&nbsp;&nbsp;or not?<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best&nbsp;&nbsp;-&nbsp;&nbsp;oe<br><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>+++ Universitetet i Oslo (ILF); Boks 1102 Blindern; 0317 Oslo; (+47) 2285 7989
<br>+++&nbsp;&nbsp;&nbsp;&nbsp; CSLI Stanford; Ventura Hall; Stanford, CA 94305; (+1 650) 723 0515<br>+++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- <a href="mailto:oe@csli.stanford.edu">oe@csli.stanford.edu</a>; <a href="mailto:oe@hf.uio.no">oe@hf.uio.no</a>; <a href="mailto:stephan@oepen.net">
stephan@oepen.net</a> ---<br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br><br>[--- end of forwarded message ---]<br></blockquote></div><br>