all-bidirectional-search-paths

"Stewart Wallace" <[email protected]> Sat, 1 Nov 2008 06:50:28 +1100
Newsgroups gmane.lisp.allegro
Message-ID <7DE13923AC241B42B44533608AC70AE65F1E78@TPMA3B.cityofsydney.nsw.gov.au>
This is a multi-part message in MIME format.


------_=_NextPart_001_01C93B91.ECEA0914
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I'm puzzled by the behaviour of this function which I'm running in
AllegroCL.  I'm running it as follows against a very small data set.  I
know there is more than one path between MajorNode1 and MajorNode2 but
even the "all" version of this function only ever returns a single
shortest path (even when I omit maxiumum-depth):

=09=20
	GENERATOR - (setf nextN (defsna-generator nextNode ()=20=20
	  (:undirected :p (!mp1:hasNextNode))))
=09
=09=20
	SEARCH - (all-bidirectional-search-paths !mp1:MajorNode_1
!mp1:MajorNode_2 nextN)
=09=20
	RESULTS - (({MajorNode_1} {MinorNode_14} {MinorNode_15}
	  {MinorNode_10} {MinorNode_11} {MajorNode_2}))
	#<TRIPLE-STORE::BIDIRECTIONAL-SEARCH-VISITOR  @
	  #x21fa85da>
=09
=09=20
	Am I missing something?  I gather from the doco that this should
return more than just the first or shortest path.
=09=20
	Thanks,
=09=20
=09=20
=09=20
=09=20
	Stewart Wallace
=09=20
=09
________________________________________________________________________
_______________________
	This email and any files transmitted with it are intended solely
for the use of the addressee(s)
	and may contain information that is confidential or subject to
legal privilege. If you receive this
	email and you are not the addressee (or responsible for delivery
of the email to the
	addressee), please note that any copying, distribution or use of
this email is prohibited
	and as such, please disregard the contents of the email, delete
the email and notify the sender
	immediately.
=09
________________________________________________________________________
_______________________



___________________________________________________________________________=
____________________
This email and any files transmitted with it are intended solely for the us=
e of the addressee(s)
and may contain information that is confidential or subject to legal privil=
ege. If you receive this
email and you are not the addressee (or responsible for delivery of the ema=
il to the
addressee), please note that any copying, distribution or use of this email=
 is prohibited
and as such, please disregard the contents of the email, delete the email a=
nd notify the sender
immediately.
___________________________________________________________________________=
____________________


------_=_NextPart_001_01C93B91.ECEA0914
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.3790.4324" name=3DGENERATOR></HEAD>
<BODY=20
style=3D"WORD-WRAP: break-word; webkit-nbsp-mode: space; webkit-line-break:=
 after-white-space">
<DIV dir=3Dltr align=3Dleft><FONT face=3DArial size=3D2><SPAN=20
class=3D731412811-31102008>I'm puzzled by the behaviour of this function wh=
ich I'm=20
running in AllegroCL.&nbsp; I'm running it as follows against a very small =
data=20
set.&nbsp; I know there is more than one path between MajorNode1 and MajorN=
ode2=20
but even the "all" version of this function only ever returns a single shor=
test=20
path (even when I omit maxiumum-depth):</SPAN></FONT></DIV>
<DIV>
<DIV>
<BLOCKQUOTE type=3D"cite">
  <DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN class=3D731412811-31102008>GENERAT=
OR - (setf=20
  nextN (defsna-generator nextNode ()&nbsp; <BR>&nbsp; (:undirected :p=20
  (!mp1:hasNextNode))))<BR></SPAN></FONT></DIV>
  <DIV><SPAN class=3D731412811-31102008><FONT face=3DArial><FONT size=3D2><=
SPAN=20
  class=3D795214919-31102008><FONT=20
  color=3D#0000ff>&nbsp;</FONT></SPAN></FONT></FONT></SPAN></DIV>
  <DIV><SPAN class=3D731412811-31102008><FONT face=3DArial><FONT size=3D2>S=
EARCH -=20
  (all-bidirectional-search-paths !mp1:MajorNode_1 !mp1:MajorNode_2=20
  nextN)</FONT></FONT></SPAN></DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN class=3D731412811-31102008>RESULTS=
 -=20
  (({MajorNode_1} {MinorNode_14} {MinorNode_15}<BR>&nbsp; {MinorNode_10}=20
  {MinorNode_11}=20
  {MajorNode_2}))<BR>#&lt;TRIPLE-STORE::BIDIRECTIONAL-SEARCH-VISITOR&nbsp;=
=20
  @<BR>&nbsp; #x21fa85da&gt;<BR></SPAN></FONT></DIV>
  <DIV><SPAN class=3D731412811-31102008><FONT face=3DArial><FONT size=3D2><=
SPAN=20
  class=3D795214919-31102008><FONT=20
  color=3D#0000ff>&nbsp;</FONT></SPAN></FONT></FONT></SPAN></DIV>
  <DIV><SPAN class=3D731412811-31102008><FONT face=3DArial><FONT size=3D2>A=
m I missing=20
  something?&nbsp; I gather from the doco that this should return more than=
 just=20
  the first or shortest path.</FONT></FONT></SPAN></DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008>Thanks,</SPAN></FONT></DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN class=3D731412811-31102008>Stewart=
=20
  Wallace</SPAN></FONT></DIV>
  <DIV><FONT face=3DArial size=3D2><SPAN=20
  class=3D731412811-31102008></SPAN></FONT>&nbsp;</DIV><PRE>_______________=
___________________________________________________________________________=
_____
This email and any files transmitted with it are intended solely for the us=
e of the addressee(s)
and may contain information that is confidential or subject to legal privil=
ege. If you receive this
email and you are not the addressee (or responsible for delivery of the ema=
il to the
addressee), please note that any copying, distribution or use of this email=
 is prohibited
and as such, please disregard the contents of the email, delete the email a=
nd notify the sender
immediately.
___________________________________________________________________________=
____________________
</PRE><BR></DIV></BLOCKQUOTE></DIV></DIV><PRE>_____________________________=
__________________________________________________________________
This email and any files transmitted with it are intended solely for the us=
e of the addressee(s)
and may contain information that is confidential or subject to legal privil=
ege. If you receive this
email and you are not the addressee (or responsible for delivery of the ema=
il to the
addressee), please note that any copying, distribution or use of this email=
 is prohibited
and as such, please disregard the contents of the email, delete the email a=
nd notify the sender
immediately.
___________________________________________________________________________=
____________________
</PRE></BODY></HTML>

------_=_NextPart_001_01C93B91.ECEA0914--