[alicebot-archcomm] [motion] <shuffle>

Andrew Teal alicebot-archcomm@list.alicebot.org
Fri, 17 May 2002 09:39:04 +0100


I think the idea was either <random type="shuffle"> <type="plain> with
<random> implying type="plain" -- much like <that> implies index="1". There
would then be no problem with flagging up the error, but would there be any
point? To recognise the error would be to know about it, hence no error.
What happens when an old interpreter comes across <that index="n"> ?
Backward compatibility is a new interpreter understanding old aiml, not an
old interpreter failing safe on new aiml -- is the latter possible? Only in
a generic sense ("category aborted"). Or am I missing something? Not for the
first time :-)

I certainly don't think that <random> should be deprecated. Although
<shuffle> would be useful, I feel <random> has a place.

Andrew.



> -----Original Message-----
> From: Noel Bush [mailto:noel@alicebot.org]
> Sent: Friday, May 17, 2002 9:07 AM
> To: Alicebot and AIML Architecture Committee
> Subject: RE: [alicebot-archcomm] [motion] <shuffle>
> 
> 
> On Fri, 2002-05-17 at 11:39, Anne Kootstra wrote:
> > I agree with Conan here that the difference in functionality between
> > <shuffle> and <random> is very subtle. My personal opinion 
> is that most
> > people would prefer to use the <shuffle> tag in stead of 
> the <random>.
> > Effectively depreaciating the <random> tag. However, as 
> Noel mentioned,
> > backwards compatibility is something that should certainly 
> be taken into
> > account.
> 
> Hmm, but what do you think about the other problem I mentioned, that
> "backward compatibility" might create absolutely undesired behavior. 
> Look at this imaginary template:
> 
> <template>
>   Now I will choose another card.
>   I choose
>   <random type="shuffle/plain">
>     <li>Ace of Spades</li>
>     <li>Two of Spades</li>
>     <li>Three of Spades</li>
>     ...
>     <li>King of Diamonds</li>
>   </random>
> </template>
> 
> If you wanted this to choose a different card each time, 
> until the full
> "deck" was exhausted, then which outcome would you prefer when faced
> with Program X, which does not know about random type="shuffle/plain":
> 
> 1) The program uses the "default" behavior, which is the current
> <random>, which can result in the same card being chosen more 
> than once
> before all cards have been chosen once.
> 
> 2) The program signals an error at runtime (or better, when starting
> up), indicating that this type of random is unknown (so you'd 
> better not
> expect to get the behavior you wanted).
> 
> I think most people would prefer outcome 2.  Outcome 1 could in this
> example get the bot accused of cheating.  :-)
> 
> So if the "default behavior" approach cannot work reliably here, there
> is maybe no advantage in making this new function an 
> "attributed random"
> vs. a new tag.  The advantage of a new tag, in fact, would be that it
> indicates a new function, not implying that it is a variant of an old
> one.
> 
> Noel
> 
> _______________________________________________
> alicebot-archcomm mailing list
> alicebot-archcomm@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo/alicebot-archcomm
>