Why Meanings Must Be Fuzzy
    By Mark Changizi | August 19th 2010 10:43 AM | 10 comments | Print | E-mail | Track Comments
    About Mark

    Mark Changizi is Director of Human Cognition at 2AI, and the author of The Vision Revolution (Benbella 2009) and Harnessed: How...

    View Mark's Profile
    A word is vague if it has borderline cases. Yul Brynner (the lead in "The King and I") is definitely bald, I am (at the time of this writing) definitely not, and there are many people who seem to be neither. These people are in the “borderline region” of ‘bald’, and this phenomenon is central to vagueness.

    Nearly every word in natural language is vague, from ‘person’and ‘coercion’ in ethics, ‘object’ and ‘red’ in physical science, ‘dog’ and ‘male’ in biology, to ‘chair’ and ‘plaid’ in interior decorating.
    Vagueness is the rule, not the exception. Pick any natural language word you like, and you will almost surely be able to concoct a case -- perhaps an imaginary case -- where it is unclear to you whether or not the word applies.

    Take ‘book’, for example. "The Bible" is definitely a book, and a light bulb is definitely not. Is a pamphlet a book? If you dipped a book in acid and burned off all the ink, would it still be a book? If I write a book in tiny script on the back of a turtle, is the turtle’s back a book?

    We have no idea how to answer such questions. The fact that such questions appear to have no determinate answer is roughly what we mean when we say that ‘book’ is vague.

    And vagueness is intimately related to the ancient sorites paradox, where from seemingly true premises that (i) a thousand grains of sand makes a heap, and (ii) if n+1 grains of sand make a heap, then n make a heap, one can derive the false conclusion that one grain of sand makes a heap.

    Is vagueness a problem with our language, or our brains?

    Or, could it be that vagueness is in some way necessary…

    When you or I judge whether or not a word applies to an object, we are (in some abstract sense) running a program in the head.

    The job of each of these programs (one for each word) is to output YES when input with an object to which the word applies, and to output NO when input with an object to which the word does not apply.

    That sounds simple enough! But why, then, do we have vagueness? With programs like this in our head, we’d always get a clear YES or NO answer.

    But it isn’t quite so simple.

    Some of these “meaning” programs, when asked about some object, will refuse to respond. Instead of responding with a YES or NO, the program will just keep running on and on, until eventually you must give up on it and conclude that the object does not seem to clearly fit, nor clearly not fit.

    Our programs in the head for telling us what words mean have “holes” in them. Our concepts have holes. And when a program for some word fails to respond with an answer -- when the hole is “hit” -- we see that the concept is actually vague.

    Why, though, is it so difficult to have programs in the head that answer YES or NO when input with any object? Why should our programs have these holes?

    Holes are an inevitability for us because they are an inevitability for any computing device, us included.

    The problem is called the Always-Halting Problem. Some programs have inputs leading them into infinite loops. One doesn’t want one’s program to do that. One wants it to halt, and to do so on every possible input. It would be nice to have a program that sucks in programs and checks to see whether they have an infinite loop inside them. But the Always-Halting Problem states that there can be no such infinite-loop checking program. Checking that it is a program always halts is not generally possible.

    That’s why programs have holes in them -- because it’s computationally impossible to get rid of them all.

    And that’s why our own programs in the head have holes in them. That’s why our concepts have holes, or borderline cases where the concept neither clearly applies nor clearly fails to apply.
    Furthermore, notice a second feature of vagueness: Not only is there no clear boundary between where the concept applies and does not, but there are no clear boundaries to the boundary region.

    We do not find ourselves saying, “84 grains of sand is a heap, 83 grains is a heap, but 82 grains is neither heap nor non-heap.”

    sorites sandpile problem

    This facet of vagueness -- which is called “higher-order vagueness” -- is not only something we have to deal with, but is also something which any computational device must contend with.
    If 82 grains is in the borderline region of ‘heap’, then it is not because the program-in-the-head said “Oh, that’s a borderline case.” Rather, it is a borderline case because the program failed to halt at all.

    And when something fails to halt, you can’t be sure it won’t halt. Perhaps it will eventually halt, later.

    The problem here is called the Halting Problem, a simpler problem than the Always-Halting Problem mentioned earlier. The issue now is simply whether a given program will halt on a given input (whereas the “Always” version concerned whether a given program will halt on every input).

    And this problem also is not generally solvable by any computational device. When you get to 82 grains from 83, your program in the head doesn’t respond at all, but you don’t know it won’t ever respond.

    Your ability to see the boundary of the borderline region is itself fuzzy.

    Our concepts not only have holes in them, but unseeable holes. …in the sense that exactly where the borders of the holes are is unclear.

    And these aren’t quirks of our brains, but necessary consequences of any computational creature -- man or machine -- having concepts.


    This has been adapted from "The Brain from 25000 Feet" (Kluwer, 2003). This is an intentionally over-simplified presentation of my theory of vagueness in natural language. For the initiated, I recommend reading Chapter 4 of that book, which can be linked here:

    Mark Changizi is Director of Human Cognition at 2AI Labs. He is the author of three books, including his recent "The Vision Revolution" (Benbella, 2009) and his upcoming "Harnessed: How Language and Music Mimicked Nature and Transformed Ape to Man" (Benbella, 2011).


    Gerhard Adam
    Why, though, is it so difficult to have programs in the head that answer YES or NO when input with any object? Why should our programs have these holes?
    I think that often these "programs" do simply answer YES or NOT depending on our own level of understanding as well as the belief framework against which we evaluate information.

    However, I think that the reason we deal in vagueness may well relate to the evolution of language itself.  Admittedly this is pure speculation, but might it not make sense that language is imprecise simply because we can never be sure that anyone we're conversing with shares a common enough base of experiences that allows for anything more specific?  So by having a sufficient degree of vagueness, we can make ourselves more readily understood by tapping into a similar experience in our partner.

    After all, this is precisely the problem in communication encountered by any specialty field where the terminology becomes an issue because few people (except the specialists) share the background to understand what's going on.
    Mundus vult decipi
    Bonny Bonobo alias Brat
    According to Descartes everything in our world and universe is uncertain or vague, because the only thing that is certain is 'I think therefore I am', or if you're an IBM computer with artificial intelligence 'I think IBM therefore I am IBM'.
    My article about researchers identifying a potential blue green algae cause & L-Serine treatment for Lou Gehrig's ALS, MND, Parkinsons & Alzheimers is at
    Gerhard Adam
    ...if you're an IBM computer with artificial intelligence 'I think IBM therefore I am IBM'.
    I thought that was a marketing rep.
    Mundus vult decipi
    Is there any clear evidence that the brain runs algorithms that would need to "halt" at the kind of level you are talking of. Such that the halting and non halting problems are relevant to how the brain operates at "runtime". For all the popularity of the computational model of the mind, I would have thought not.

    I appreciate that the halting problem limits what problems it can reasonably evolve and grow solution mechanisms to, and to what extent those solutions solve the problems. Just that is the real runtime not closer to feeding stuff through a bunch of probability filters with fixed duration, rather than waiting around for things to halt or not?

    Well, it's all metaphor anyway, but in the article you are talking about the brain, a lump of meat with a certain physical structure, rather than an abstraction like the mind.

    I really like the connections you're drawing here, but isn't it overcomplicating things to say that we have computational "holes" in our mental concepts because there is no empirical way of defining what a "heap" of something is? That's a problem that a Turing machine has, but does any reasonable human being actually have trouble in the real world knowing when something qualifies as a "heap" or not? Not in my experience... you don't look at a pile of sand and think, "hm, how many particles are in there? I MUST know before I know how to arbitrarily categorize this system." You just "know it when you see it" based on pragmatic context or utility, right? Mentally drawing a line between 82 grains of X [heap] and 81 grains of X [not heap] has no useful purpose in any embodied/cognitive context I can think of that our brains evolved on the savannahs to deal with. But comparing and distinguishing two different quantities of "stuff" on the level of detail that our everyday senses supply -- ie, knowing the difference between a "pinch" and a "heap," or mountain and a molehill -- DOES have practical value for an organism situated in a dynamic environment, and everyone does it all the time without any problem, and no one LITERALLY, sensorially, confuses a mountain for a molehill, or a book for a pamphlet, because of getting tripped up on "fuzzy meanings" or suffering a mental version of the Halting Problem. Doesn't it make more sense to just say that such concepts are objectively "vague" only because they're essentially CONTEXT-based, and their contextual utility simply doesn't apply in certain "pedantic" borderline cases (eg, comparing two large landforms that are more or less similar -- are they "hills" or "mountains"? At the end of the day, who cares what you call them, when you still have to cross/tunnel through/worship/map/whatever two large similar landforms, regardless whether they're "hills" or "mountains")?

    Of course, I'm not the neuroscientist here... :)

    Mark Changizi

    but does any reasonable human being actually have trouble in the real world knowing when something qualifies as a "heap" or not?
    Yes! Not all of the time. Not most of the time, even. But often enough. For heap, and nearly any content word.

    For example, it is a practical enough problem -- and a real one -- that engineers invented and built technology with fuzzy logics, as well as other techniques using probability theory. be a closer match to our own human judgment of the degree of application of a concept to an object.

    The other main drive for understanding vagueness comes not from practicality, but from those in logic and philosophy, wondering about its implications for what 'meaning' actually is. Traditionally, meanings are modeled as simple sets, the set of objects to which the word applies, and the concept's negation is just the set of everything else. That's nice, and allows us to use logic to say lots of powerful things. But, the worry has long been that real human concepts, no matter how much a context is specified, aren't like this. Even if people in real life do very well at dealing with vagueness, it nevertheless seems ineliminably there. We deal with them well, but why are they there at all?

    My argument in the paper is more subtle than the piece above. Computational agents -- brains -- can avoid vagueness if they "wish" either by having concepts too difficult for them to run (undecidable concepts, something mathematicians regularly have) or by confining concepts to a very small subset of functions from the set of all computable functions. I argue that no rational agent would "want" either of these scenarios, and that the only way out is to be stuck with concepts that are vague. Given the logico-mathematical constraints that apply to any computationally finite agent, any "smart" agent's gonna *want* vague concepts.
    That's a problem that a Turing machine has,
    My argument is not about Turing machines. Rather, it is about *any* machine
    at all, so long as it can compute no more and no less than the set of
    Turing-machine functions. And we are such machines. (Take that, Penrose!)

    Evolution and learning somehow put programs in our heads, and since neither is magic, our programs will have inputs where they don't reply with a 'yes' or 'no'. Of course, it doesn't mean our brains actually enter infinite loops. Any reasonable computational agent would have some means of control-alt-deleting out, giving up on the run, and concluding (perhaps falsely if it would eventually have halted) that it is or may be a borderline case.

    you don't look at a pile of sand and think, "hm, how many particles are
    in there?

    True. :) That's just the classical Greek way of describing the paradox. But we can rephrase it in more human / natural terms. Starting from something that's clearly a heap, and agreeing that removing a "little bit" shouldn't change it from heap to not heap, we're immediately seemingly led to the conclusion that even a wee bit of sand all by itself -- way too little to amount to a heap -- counts as a heap.

    Best -Mark

    Hi Mark,

    Your article has a promising opening, up to the sentence "Or, could it be that vagueness is in some way necessary…"

    But, the remainder is confused, incorrectly conflating (a) vagueness, (b) infinite programs, and (c) uncomputable problems.

    To take (b) & (c) first. To the extent that I can make sense of what you are saying, at one point in your article, the "holes in our heads" are programs that run forever on some inputs; but, in the next breath, the "holes in heads" are being equated with uncomputable problems, such as the Halting Problem. But these are entirely different things. An uncomputable problem is one for which a computer program is a logical impossibility. It is not a problem for which a program can be written but which runs forever. (Of course, we have to know what is meant by a 'program' in this context, and Alan Turing provided the conventional assumptions in this regard.)

    Turning to (a) & (b), you ask us to imagine that, at some level of abstraction, the meaning of a word such as "red" is operationalized as a program in our heads; for some inputs to the program, a UK phone box for example, the program runs and activates the Yes neuron; for other inputs, an Irish post box for example, it activates the No neuron. In a borderline case, a house brick for example, you would have us believe that the program doesn't terminate, and is interrupted at some point, to activate some non-commital response. Why not simply assume, again at some level of abstraction, that both the Yes and No neurons are activated to some degree. (This, of course, is the essence of fuzzy logic, and it has numerous advantages over your proposal, including the ability to explain our relative judgments, e.g. that it is truer to say that cranberry juice is red than it is to say that a house brick is red. However, it is not my intention here to argue in favour of any of the details of any particular multi-valued logic.)

    As far as I can fathom, you invoke your much less elegant 'infinite program' explanation because, once you follow this with a confused connection to uncomputable problems, your article then gives the illusion of having established what you set out to establish: that vagueness is, in some sense inevitable ("necessary').

    For what it's worth, I suspect that vagueness is inevitable to our intelligence. The world is made of stuff. Reifying this stuff into objects and grouping similar objects into classes, even though the stuff resists crisp classification, makes for more economic reasoning & communication, which has a survival advantage. For example, at the cost of some inaccuracies, we can efficiently decide roughly what sort of objects we should fight with, flee from, feed on & fornicate with, and we can efficiently tell others roughly what we have concluded.

    Mark Changizi

    Hi Derek,

    I'm not following your critique here, nor can I find where I am making the conflations you suggest. Let me say it differently, to see if it helps resolve any miscommunication.

    For each of your concepts you possess a program in the head assigned to determine its extension.

    Ideally, every input to the program would lead to a YES or NO.

    But it is not generally possible to guarantee this, because the set of algorithms (by which I mean here always-halting programs) is not decidable. Presuming that you (and evolution) are bound by the limits of Turing machines (I call it "Church-bound"), your concept-programs will sometimes have inputs that never halt. (They'll have "holes".)

    Now, something I don't discuss in this above piece -- adapted from my "very brief introduction to my vagueness theory" in the chapter on vagueness from my first book -- is that there is a way of getting an always-halting program, simply by confining oneself to some decidable subset of algorithms. I argue in the chapter that confining oneself in this way would radically reduce the richness of one's concepts. Instead, if computational agents were designed to have the smartest concepts possible, they would "want" to be able to choose from the bag of all possible programs.

    But in allowing themselves the choice of the best program for among all possible programs, they'll end up choosing programs that don't halt on all inputs.

    The uncomputable problem mentioned thus far is TOT, or the set of total recursive functions (or "algorithms", as I've termed it).

    This problem -- along with the constraint that the agent "wants" to choose from any program, rather than a recursive proper subset -- leads to the holes (inputs that never halt).

    And the result has many prima facie similarities to what we call vagueness, most centrally the borderline region (the "hole"), and also the higher-order vagueness that the boundaries of the borderline region are not generally determinable (because, now, of the halting problem).

    [ The full argument is here: . ]



    Hi Mark,

    Thanks for the reply.

    I finally got around to reading the chapter of your book that you referred to.

    Thankfully, it reassured me that you are not conflating (b) and (c), programs that run forever on certain inputs and uncomputable problems such as the Halting Problem and the All-Halting Problem.

    Your treatment of vagueness aside, I can even agree with the majority of what you say, in effect that it is impossible that all the programs in our heads be algorithms.

    Still keeping your treatment of vagueness to one side, the least plausible part of your argument for me is the No-RE Subset part. I'd make the following observations:

    1. When it comes to programs for our everyday concepts, there is an evolutionary disadvantage to having programs in our heads that are infinite on certain inputs, at least common inputs, viz any such agent is paralyzed by inaction, unless and until that agent also evolves timer threads that kill programs that have run for too long. In other words, agents that restrict their programs for concepts to an RE Subset may have an early survival advantage.

    2. You give no arguments for, and no examples of, natural language predicates for which while-loops would be a necessary part of the grammar (assuming that we exclude the fact that they are needed to prop up your account of vagueness). The examples on page 268 are not examples of natural language predicates.

    3. AI simulations of our capacity for classification have arguably fallen within an RE Subset, an example being the non-recurrent artificial neural networks that have been used for classification tasks.

    For me, then, the No-RE Subsets part is weak. But let's put this to one side because, even if you are right, this still doesn't warrant for me the other conflation, (a) and (b): that the holes explain vagueness.

    Of course, we have some fundamental differences.

    I think (I'm not certain) that you assume that the true extensions of natural language predicates are determinate. I don't think much hangs in your accout on whether they are determinate or not. But our difference is more fundamental: I don't think there is a true extension, be it determinate or otherwise.

    Relatedly, you do not see vagueness as being 'independently' useful. I think it is. It's what makes our language productive (generative). Without vagueness and the plasticity it affords, we would be inundated with new coinages: in almost no situation would we be able to think or communicate without coining new words. Faced with a pile of concrete bricks and a pile of traditional house bricks, I can ask you to move the red ones; you would move the house bricks as intended. Without vagueness, I'd need a word to describe the colour of the house bricks: a word for a variegated hue that is reddish, brownish, orangeish and often tinged with darker blackish and greyish colours. It is in this sense that vagueness is advantageous, probably essential and all but ineliminable. It enables us to use a finite, discrete vocabulary to reason and communicate about a continuous world.

    Let's imagine an alternative account of vagueness to the one given in your chapter. For example, we could have an account that says that our natural language predicates are associated with a set of properties (nether necessary nor sufficient). Or perhaps they are associated with prototypical instances and a similarity measure. I'm sure that such accounts can be more fully adumbrated by experts in language acquisition, cognitive psychology and evolutionary psychology. So I won't attempt to spell them out myself in any detail.

    Now let's look at some examples and issues which I think are problems for your account, but not for this style of alternative account.

    Imagine a room that contains Yul Brynner and Sean Connery. Told to give a dollar to the bald man, you'd give it to Yul. Now imagine a room that contains Sean Connery and Roger Moore. Told to give a dollar to the bald man, you'd give it to Sean.

    What are we to make of this by your account? That in the first scenario Bald(Sean) fails to halt as does NotBald(Sean), but that in the second scenario they both halt, returning Yes and No respectively. How do you account for the fact that the demands of the communication (singular reference in this example) affect the extensions?

    Using the alternative account, this one is easy. The definite, singular noun phrase implies reference to one contextually-salient individual so you select whichever of the two movie stars who satisfies most of the properties or is most similar to the prototypical instance(s) in each context. That's Yul in the first case, and Sean in the second.

    This isn't an isolated example: it's fundamental.

    Let's take another issue. I don't think you've adequately explained why non-vague concepts are so rare. Sure, the complex ones may depend on the primitive ones, and if the primitive ones are vague, then so will be the complex ones (page 288). But, why don't we occasionally select algorithms for primitive concepts? Why are all the colour predicates vague? And all the measure predicates (long, tall, thick,...)? And all the texture predicates (rough, furry,...)? And, when used non-mathematically, all the shape predicates (round, rectangular,...)? Why don't we find that at least one of these is determinate? By your account, we can pick any program, so surely we should occasionally stumble upon an algorithm. By the alternative account, these primitives, like all concepts, are associated with properties or prototypes, and we use them to circumscribe the extension constructively (as in the baldness examples above) for the purposes of thought and communication.

    Another issue. I don't see that your account gives any explanation to why the 'holes' are usually in some sense contiguous in some dimension. If we can choose any program for 'bald', for example, why does no one seem to have a program Bald (and a program not-Bald) that says Yes (and No for not-bald) for Yul; fails to terminate for Sean; and then goes back to saying Yes (and No for not-bald) for Jack (Nicholson). You need an explanation for why if it flips between Yul and Sean, it does not flip back between Sean and Jack. Within your account, you have no explanation for this. By the alternative, the decreasing number of properties satisfied or the decreasing similarity to the prototype(s) give us a continuum along which we can draw the boundary in context, again at the service of thought and communication.

    This, of course, is related to degrees of vagueness. By your own admission (page 285), you have no account of degrees of vagueness and expect to borrow one from some other account. The advantage of the kind of alternative account that I have sketched is that it does explain degrees of vagueness, and does not need all your apparatus to explain other aspects of vagueness, such as its 'essentialness'.

    Finally, let's take the Sorites Paradox. This is one big red herring. It's a logician's trick. It seeks to use the word 'heap' without context, in particular with no communicative purpose. A prototypical heap has at least two, and preferably many, individual objects, with some of the objects resting on top of others. But, within the right contexts, we can use the word 'heap' of arrangements that get ever further from this. What constitutes a heap depends on the context and the purpose. One should resist making judgments (at the behest of logicians) when given neither. For example, again using singular, definite reference, I might ask you to clear away the heap of sand, the heap of salt, and the heap of clothes. The sand might be piled 2 metres high in my driveway; the salt might be piled only 2cm high on the table; and the clothing might consist of just two items, one atop the other, or even just one item, perhaps a sweater, discarded in such a way that some parts rest on other parts, giving the arrangement more than usual vertical extent. My successfully referring to the 2 metre pile of sand, or 2cm pile of salt, or one or two items of clothing will depend on there being no other contextually-salient arrangement of sand, salt or clothing that is discernibly more prototypical. To reiterate, it's not that 'heap' is determinate with an unknowable boundary; rather, in a context an interlocutor includes or excludes items from the extension as much as discernibly possible to achieve successful communication.

    In summary, vagueness is advantageous to the point of being all but ineliminable: we are constrained to using a finite, discrete vocabulary to describe a continuous world. We use language constructively in context for the purposes of thought and communication: we will include or exclude items from the extension to serve those purposes. And we can fashion a theory of vagueness, one that explains the data, especially the degrees of vagueness, from ideas to be found (and tested!) within cognitive science.


    Mark Changizi
    Hi Derek,

    Thanks for the great comments.

    On the "no-RE-Subsets" hypothesis (and the associated
    rationality criterion), I agree that one of the costs
    of conforming to it is that one ends up with programs
    that for some inputs don't halt (and for which one
    would need "control-alt-delete" mechanisms for giving
    up). But the benefits are that one thereby has access
    to "very much richer" possible extensions. Although
    I give no example of natural language predicates where
    'while' loops are needed, our understanding of natural
    language extensions is woeful, so it's not as if we
    can look at the code and look for 'while' loops. I do
    give reason for thinking that 'while' loops are everyday
    parts of our thinking, and are plausibly part of our
    cognitively impenetrable natural language predicate
    programs. And I wouldn't take ANN classification as
    evidence, nor the cultural tendencies of AI-simulation
    types, who may not have thought to allow non-algorithms.

    On your view, context is fundamental to the explanation
    of vagueness, a long-held position within arguments of
    vagueness.  A significant portion of researchers on
    vagueness however, argue that vagueness fundamentally
    is not about context (e.g., Roy Sorensen, and Timothy
    Williamson). Fix the context arbitrarily tightly, and
    vagueness still remains. I have been fairly swayed by
    their arguments (which they apply to all predicates,
    and to the Sorites as well), although they are still,
    to my knowledge, debating this. If they are correct --
    and I refer you to those debates -- then context
    shifting examples of vagueness like you explain aren't
    explaining the nub of vagueness.  (And it's true that
    my own theory doesn't handle context shift, other to
    say that context shifts effectively mean a new program
    is being accessed. E.g., words like 'bald' really stand
    for a suite of "cousin" predicates, each with a program
    in the head that is determined by context.)
    On why we don't find at least *some* non-vague primitive
    concepts, it's not clear on what basis one "should
    occasionally stumble upon an algorithm." Even if
    one were somehow randomly sampling (via some criterion)
    programs among the set of all programs, what fraction of
    those chosen would be always halting? It will depend on
    how one fleshes out "randomly sampling", but for most
    ways of considering it the answer is probably: no
    always-halting programs will almost ever occur. Of course,
    evolution won't be randomly sampling, but that's just a
    thought experiment. More to the point, evolution may be
    expected to try to find the most appropriate extension,
    and the only way to get close enough is to allow itself
    the full range of programs to pick from.  ...and so it
    ends up with not-always-halting programs. Also, for color
    terms, it would hardly be surprising that all are vague --
    if one is, all will be. Same for "measure" and "shape"
    predicates. There may only be several dozen atomic
    predicates (e.g., Wierzbicka's semantic primes), and
    so the number of such atomic predicates is not so high
    that one would expect low-probability accidents to arise.