Google Miscalculator

This post on a search engine blog pointed out a series of very strange and incorrect search results returned by Google’s search engine. A very complicated “black box,” many of the errors described highlight and reveal some aspect of Google’s search technology.

My favorite was this error from Google Calculator:

Error showing 1.16 as a result for eight days a week

The error, which has been fixed, occurred when users searched for the the phrase “eight days a week” — the name of a Beatles’s song, film, and sitcom.

Google Calculator is a feature of Google’s search engine that looks at search strings and, if it thinks you are trying to ask a math question or a units conversion, will give you the answer. You can, for example, search for 5000 times 23 or 10 furlongs per fortnight in kph or 30 miles per gallon in inverse square millimeters — Google Calculator will give you the right answers. While it would be obvious to any human that “eight days a week” was a figure of a speech, Google thought it was a math problem! It happily converted 1 week to 7 days and then divided 8 by 7: roughly 1.14.

Clearly, the error reveals the absence of human judgment — but we knew that about Google’s search engine already. More intriguing is what this, combined with a series of other Google Calculator errors, might reveal about the Google’s black box software.

When Google launched its Calculator feature, it reminded me of GNU Units — a piece of free/open source software written by volunteers and distributed with an expectation that those who modify it will share with the community. After playing with Google Calculator for a little while, I tried a few “bugs” that had always bothered me in Units. In particular, I tried converting between Fahrenheit and Celsius. Units converts between the amount of degrees (for example, a change in temperature). It does not take into account the fact that the units have a different zero point so it often gives people an unexpected (and apparently incorrect) answer. Sure enough, Google Calculator had the same bug.

Now it’s possible that Google implemented their system similarly and ran into similar bugs. But it’s also quite likely that Google just took GNU Units and, without telling anyone, plugged it into their system. Google might look bad for using Units without credit and without assisting the community but how would anyone ever find out? Google’s Calculator software ran on the Google’s private servers!

If Google had released a perfect calculator, nobody would have had any reason to suspect that Google might have borrowed from Units. One expects unit conversion by different pieces of software to be similar — even identical — when its working. Identical bugs and idiosyncratic behaviors, however, are much less likely and much more suspicious.

Given the phrase “eight days a week”, Units says “1.1428571.”

12 Replies to “Google Miscalculator”

  1. I don’t know if you’ve come across this yourself, but I had the same problem with units for temperature.  After bashing my head against the man page, I discovered that units treats Celsius and Fahrenheit as “non-linear units” requiring a special, completely non-obvious functional syntax.  To convert foo from Celsius to Fahrenheit, the syntax is

    units “tempC($foo)” “tempF”

    and the other way,

    units “tempF($foo)” “tempC”.

    I’m not quite sure how to do it in interactive units, but it’s probably quite similar.

  2. Google’s conversion for temperature makes total sense to me, that is after i figured out what it was doing.  If you do…
    (0 degrees Fahrenheit) + (0 degrees Fahrenheit) in Fahrenheit
    you get…
    (0 degrees Fahrenheit) + (0 degrees Fahrenheit) = 459.67 degrees Fahrenheit

    This seems to be wrong, but what it is doing is converting 0 degrees Fahrenheit to be 255.372222 kelvin
    So if you were to do…
    255.372222 kelvin + 255.372222 kelvin in Fahrenheit
    you would get…
    (255.372222 kelvin) + (255.372222 kelvin) = 459.669999 degrees Fahrenheit

    So its not a bug, its just confusing.

    Think about it this way, 0 Celsius + 0 Celsius should be 0 Celsius, right? But 0 Celsius equals 32 Fahrenheit, but 32 Fahrenheit + 32 Fahrenheit should be 64 Fahrenheit, right? No! It can’t be.  The way google does it is the only way that makes sense.

  3. Skip – temperature is not an additive quantity. If you have two objects at 10 degrees celsius, their “total temperature” is not 20 degrees celsius — it is still 10 degrees.  The definition of temperature is a rather subtle thing.  It is to do with how much the entropy of a system changes when you add a certain amount of heat to it.  It is not a directly measurable quantity like mass or volume. It is usually measured by bringing a calibrated object (a thermometer) to the same temperature and reading it.

    The more basic point here is what is already in the post: both celsius and fahrenheit are relative scales.  If you were to calculate between absolute scales, eg kelvin (the standard in science) and rankine (which nobody uses), a multiplication would be enough.  But converting celsius to fahrenheit requires taking the offset into account.

  4. This “error” has not been fixed — it still behaves as shown in the screenshot.

    Who uses Fahrenheit for scientific purposes anyway?

  5. The first time I did a google search for “how many liters in a gallon” and got an answer instead of search results, it felt like magic. A lovely combination of an automated function and humans adding a widget to it that humans need. Google swiping the feature certainly takes the shine off.

  6. They’re breaking the GPL, are they? I thought it was alright to modify and use GPL’d code without sharing your modifications as long as you don’t distribute it outside your private company.

  7. That’s right Jadd. Google has not distributed this outside of their private company. Users may interact with it from around the world but the software itself runs only on Google’s servers inside Google.

    1. I know this is an old thread, but “nic” is wrong.
      Innocent webcrawlers may see it and be confused.

      when nothing else is specified, you have to follow the rules from math, concerning what operation takes precedence. The multiplication takes precedence over a sum, so:
      is interpreted as -( 2^2 ) which is in fact -4

      If you read the equation as -2*-2 you are reading it wrong.
      That is in fact written as (-2)^2, and if you type that into google, it gives you _4_ as it should.

  8. Is this related to this other bug? :

    10 per 2

    should return “5” — because “per” means division right? — but it returns “0.2”, which is “2 / 10”.

    Any ideas?

Leave a Reply

Your email address will not be published. Required fields are marked *