[quiz] [QUIZ #1] Patching my own Stupidity

Tel abrahamson.j at gmail.com
Thu May 4 03:46:18 UTC 2006


While you make a good point about it being much more difficult for programs
to catch the DIV0, it's also hard to get a human to correctly write a
response to it.

Mathematically, 1/0 is meaningless. The best you can get is by taking limits
to get answers like "does not exist" or "infinite", but you couldn't expect
humans to answer that any better without a disclaimer (which could then,
feasibly, be picked up by a program as well).

Sure, it could be done, but is it worth it? Maybe.

I do agree though -- my catpcha are sad -- but it'd be very much possible to
write some more difficult ones. The deck one was a halfhearted attempt at
such and is hardly the upper limit. I tried to make sure this was very easy
to do, but didn't focus on actually doing it. My bad.

All that being said, I'm not going to defend my code too much. It's very
simplistic and I'm not good enough to push it too far past that within a
reasonable amount of time. However, I'd love to see a more complete answer.

On 5/3/06, Pascal Bourguignon <pjb at informatimago.com> wrote:
>
> Tel writes:
> > (defvar *query-strings* '((* "what is ~r times ~r?"
> >                          (gennumber gennumber))
> >                         (* "what is the product of ~r and ~r?"
> >                          (gennumber gennumber))
> >                         (* "what is the area of a ~r by ~r rectangle?"
> >                          (gennumber gennumber))
> >                         (* "If you have ~r card~:p in a deck, then give
> the deck away,
> > how many cards do you have?~*"
> >                          (gennumber 0))
> >                         (+ "what is ~r plus ~r?"
> >                          (gennumber gennumber))
> >                         (+ "what is the sum of ~r, ~r, and ~r?"
> >                          (gennumber gennumber gennumber))
> >                         (+ "if you have ~r apricot~:p and buy ~r more,
> how many do you have?"
> >                          (gennumber gennumber))
> >                         (- "what is ~r less ~r?"
> >                          (gennumber gennumber))
> >                         (- "what is the difference between ~r and ~r?"
> >                          (gennumber gennumber))
> >                         (- "if you have ~r dollar~:p but owe ~r, you
> effectively have how many?"
> >                          (gennumber gennumber))
> >                         (/ "what is ~r over ~r?"
> >                          (gennumber gennumber))
> >                         (/ "what is the quotient of ~r and ~r"
> >                          (gennumber gennumber))
> >                         (/ "if you could split ~r watch~:*~[es~;~:;es~]
> into ~r equal
> > group~:p, how many are in each group?"
> >                          (gennumber gennumber))))
>
> Really guys, these are no captcha.  Have a look at the student program
> in PAIP (norvig.com).  It could easily solve these kind of problems,
> with very little or no added rules and code.
>
>
> Why remove the division by 0?  On the contrary, this is something that
> could discriminate between a human and an computer, more than "what's
> the difference between three and two".  Even if some human would
> answer: EDIV0.
>
>
> --
> __Pascal Bourguignon__                     http://www.informatimago.com/
>
> Pour moi, la grande question n'a jamais été: «Qui suis-je? Où vais-je?»
> comme l'a formulé si adroitement notre ami Pascal, mais plutôt:
> «Comment vais-je m'en tirer?» -- Jean Yanne
>



--
~ja.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/quiz/attachments/20060503/95842436/attachment.html>


More information about the Quiz mailing list