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> <<a href="mailto:oe@ifi.uio.no">
oe@ifi.uio.no</a>> 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>> Sorry to have contributed to the bewildering behavior. Please try
<br>> 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 & Carroll (2000) algorithm and its current PET implementation
<br>fail to prevent an edge from packing into one of its ancestors. 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. 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. 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> all best - oe
<br><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>+++ Universitetet i Oslo (IFI); Boks 1080 Blindern; 0316 Oslo; (+47) 2284 0125<br>+++ CSLI Stanford; Ventura Hall; Stanford, CA 94305; (+1 650) 723 0515
<br>+++ --- <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' and dan, in case there is an interesting<br>issue here.<br>
<br>> > today i managed to kill PET with an (apparently) unusual configuration<br>> > of packed edges, viz.<br>> ><br>> > P [7 0-1 hoptcomp_rule (0) 1 {} {} {1}] < dtrs: 5 parents: ><br>> > (7 hoptcomp
1.0000 0 1<br>> > (5 hoptcomp 1.0000 0 1 {7}<br>> > (1 generic_adj_compar/adj_intrans_compar_nale 0.0000 0 1 []<br>> > ("firmer" 0.0000 0 1))))<br>> ><br>> > i.e. when i build # 7, using a unary rule over # 5, it gets packed into
<br>> > its own daughter. i believe nowhere in the published literature did we<br>> > discuss this case, but the consequences for unpacking are dire, viz. an<br>> > infinite loop (unpacking an edge requires unpacking its daughters). i
<br>> > cannot quite decide tonight, whether the above is a legal configuration<br>> > in the forest, and what its unpacking should be. i am inclined to say<br>> > that our packed-edge-p() should check and block packing into daughters
<br>> > of the current new edge. that could be tested fairly efficiently, as i<br>> > would only have to walk down the daughters chain along the current span<br>> > (or bit-code characterizing semantic coverage), i think.
<br>><br>> Is the edge packing into its own daughter because information that has<br>> been suppressed by the restrictor would have made this fail, or is it<br>> simply because there's a cycle in the grammar? If the former, then
<br>> isn't there a problem with the restrictor? If the latter, then the<br>> expected behaviour on unpacking is an infinite loop -- or if packing is<br>> turned off, an infinite loop before during parsing. [...]
<br>><br>> 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' is not supplying a COMPS values, and then<br>the `hoptcomp' unary rule will cycle freely. 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. 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? the<br>following rule, i think, should actually do the trick:<br><br> R := #1 & [ FOO + ] --> #1 & [ FOO - ]<br><br>assuming e_1 was unspecified for FOO, it should both feed the rule and
<br>subsume the output structure. or not?<br><br> best - oe<br><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>+++ Universitetet i Oslo (ILF); Boks 1102 Blindern; 0317 Oslo; (+47) 2285 7989
<br>+++ CSLI Stanford; Ventura Hall; Stanford, CA 94305; (+1 650) 723 0515<br>+++ --- <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>