- About Scala
- In the Enterprise
- Scala Community
- Language Research
- In the Press
- The Scala Team
- Scala's Prehistory
- Contact Us
- Learning Scala
- Tour of Scala
- Scala API
- Setup & Getting Started
- Programming Guides
- Other Guides
- Code Examples
- Scala Developers
Re: Human perception of complexity
Sun, 2011-11-27, 17:13
Am 27.11.2011 16:21, schrieb Rex Kerr:
8OFiuTSMRWy9Jai+ThP5obZ_+cdEe0cLiwg [at] mail [dot] gmail [dot] com" type="cite">let's just add the implicit rules (not just the number of *visible* elements) and your example's count skyrockets.
On Sun, Nov 27, 2011 at 5:08 AM, HamsterofDeath <h-star [at] gmx [dot] de" rel="nofollow">h-star [at] gmx [dot] de> wrote:
Am 27.11.2011 10:11, schrieb Rex Kerr:On Mon, Nov 21, 2011 at 12:06 PM, Dennis Haupt <h-star [at] gmx [dot] de" target="_blank" rel="nofollow">h-star [at] gmx [dot] de> wrote:is that even valid english? i've never seen or heard something nested like this. anyway, if it is, this should also count:
i thought about this.
i think something's "descriptive complexity" is the smallest number of language elements necessary to describe it. it completely depends on the language you are using to describe it.
Alas, this is not well-aligned with subjective measures of complexity.
"The girl the boy the dog bit hit cried."
Generated via very simple rules and using very few language elements, but I think once you figure out what this is saying that you will find that there is higher descriptive complexity version that is much easier to understand.
This is one reason why Bernd's proposal is a research proposal (and would take serious effort).
dog bites boy. boy hits girls. girl cries.
it's one word shorter than your version and easier to understand. it is also less cuddled and can be read in one direction instead of forcing the reading to jump back and forth.
It's valid English with perfect grammar, but it uses a form that so difficult to parse that you didn't quite manage to do it properly. The key building block is that
can be used as a modifier (with a transitive verb) as well as an independent clause (in the case of a reflexive verb), as in
"Throw away the cookie the dog bit."
Now we have a nesting rule:
noun-verb -> (noun-(noun-verb))-verb
which is perfectly valid but really hard to parse.
So, what does
The girl the boy the dog bit hit cried
The girl cried when hit by the boy who was bitten by the dog.
The difference between this and your version, is that yours tells a story via the linking of events; mine (both the original and the expansion) uses the events only as modifiers to distinguish which girl and boy. (Even that the girl cried _because_ the boy hit her is only implied; if she cried because she didn't get what she wanted for her birthday, but everyone knew that she was "the girl who was hit by a boy", the sentence would work:
You know that girl who was hit by the boy who was bitten by a dog? Well, she cried.
Anyway, point is--very simple recursive rules can rapidly lead to something which is infuriatingly incomprehensible. Programmers are better than most at unwrapping these things, I'd expect, but it still points out that descriptive complexity is a sorely inadequate measure of perceived complexity.