Джеймс Миэн (James Meehan) занимался разработками в области искусственного интеллекта. В 70-х годах он сконструировал систему TAILSPIN, которая занималась автоматическим созданием небольших рассказов на английском языке. TAILSPIN работала на основе небольшой (относительно) базы данных, содержащей сведения о "мире", в котором происходили её рассказы, о разных объектах в этом мире и взаимоотношениях между ними. Это так называемый "символический" подход к искусственному интеллекту (symbolic AI).
Однажды TAILSPIN выдала следующий примерно рассказ (в переводе на русский язык):
Генри Ант захотел пить. Он подошёл к берегу реки, на котором сидел его друг Билл Берд. Генри поскользнулся и упал в реку. Гравитация утонула.
Как получилось, что TAILSPIN выдала рассказ с такой странной концовкой? Стали разбираться и разобрались.
В "мире" TAILSPIN объекты делились на "агентов" (agents), которые могут выполнять какие-то действия и с которыми случаются какие-то происшествия, и не-агентов (например, берег реки - это не агент). Модель "мира" TAILSPIN, однако, не умела задавать физические законы, она была для этого слишком примитивна. Для того, чтобы симулировать хотя бы один аспект физического мира -- действие гравитации (чтобы люди не могли летать или ходить по воде, скажем), Миэн использовал следующий трюк: он ввёл служебного "агента" по имени "Гравитация", который всё время выполняет одно и то же действие: тянет любого другого агента вниз.
Однако в тот момент, когда Генри Ант упал в воду, система продолжала рассуждать (используя заложенные в ней правила "развития событий" для любого агента) примерно следующим образом:
- "Гравитация" тянет вниз "Генри Анта".
- "Генри Ант" находится в реке, значит, "Гравитация" тоже находится в реке.
- У "Гравитации" нет рук и ног, поэтому она не может сама выкарабкаться из реки.
- У "Гравитации" нет хороших друзей (в отличие, скажем, от Генри Анта, у которого есть хороший друг Билли Берд), которые находились бы рядом с рекой, поэтому никто её не может вытащить из реки.
- "Гравитация" не умеет плавать (т.к. такой факт не задан в базе данных, как и в предыдущих случаях).
- Следовательно (используя сложное условие-определение того, когда агент тонет), "Гравитация" должна утонуть.
Поэтому Гравитация утонула.