English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гость
1 / ?
назад к урокам

Вопрос — это пространство

Каждый вопрос очерчивает пространство

Вопрос просит не просто об одной вещи. Он открывает пространство возможных ответов, и каждый кандидатный ответ — это точка где-то в этом пространстве.

«Выбери место, где поужинать» открывает огромное пространство: каждый ресторан, кафе, уличная еда и кухня на Земле. «Выбери вегетарианское место в пешей доступности, открытое сейчас, дешевле пятнадцати долларов» открывает крошечное пространство: возможно, три точки.

Один и тот же намерение, но радикально разная геометрия. Второй вопрос совершил реальную работу: он сжал пространство до того, как кто-либо начал поиск.

Вот весь урок в одном предложении: хороший вопрос — это тот, который сужает пространство ответов до области, стоящей того, чтобы её искать. Размытый вопрос оставляет огромное пространство & вынуждает к медленному, блуждающему поиску. Точный вопрос даёт вам небольшое пространство, которое можно просканировать одним взглядом.

Мы сделаем это точным с помощью четырёх элементов геометрии: разбиение пространства, нарезка его ограничениями & деление пополам с помощью хорошо подобранных вопросов «да/нет».

Широкое против Узкого

Рассмотрим два способа попросить о помощи в отладке программы:

- В1: «Почему мой код не работает?»

- В2: «Почему этот цикл выводит 9 элементов, когда в списке их 10, на Python 3.12?»

Опишите пространство ответов, которое открывает каждый вопрос, & объясните геометрически, почему В2 — лучший вопрос. Что сделали дополнительные детали в В2 с размером пространства?

Разбиение пространства на области

Разбиение большого вопроса на области

Когда пространство слишком велико для прямого поиска, его разбивают (партиционируют): делят на непересекающиеся области, которые вместе покрывают всё целое. Ответ на подвопрос означает выбор одной области и игнорирование остальных.

Допустим, вопрос звучит так: «Почему выручка упала в прошлом квартале?». Пространство ответов огромно. Разбейте его: (а) меньше клиентов, (б) те же клиенты тратят меньше, (в) изменение ценообразования или биллинга, (г) ошибка в данных. Эти четыре области покрывают пространство и не пересекаются. Каждая из них — это более мелкий вопрос, с которым можно работать отдельно.

Хорошая декомпозиция обладает двумя свойствами, заимствованными прямо из геометрии: области покрывают всё пространство (ничто не упущено) и они не пересекаются (ничто не учитывается дважды). Если пропустить часть пространства, истинный ответ может скрыться в этом пробеле. Если области пересекаются, вы тратите усилия на поиск по одной и той же территории дважды.

Каждый подвопрос сужает поиск до одной области. Ответив на него, вы отбрасываете всё, что находится за пределами этой области: это большое и дешёвое сокращение пространства поиска.

Чистая декомпозиция

Город задаёт вопрос: «Почему время экстренного реагирования увеличивается?»

Аналитик предлагает разделить его на: (а) вызовы дольше доходят до бригады, (б) бригады дольше едут после выезда, и (в) бригады дольше завершают работу и освобождаются.

Объясните, почему это считается хорошей декомпозицией пространства ответов на вопрос. Какие два геометрических свойства должны иметь области, и как ответ на один подвопрос сужает поиск?

Каждое требование сужает пространство

Ограничения как полуплоскости

Представьте пространство ответов как плоскость, где каждая точка — это кандидат в ответы. Ограничение — это требование, и каждое требование проводит линию через плоскость, оставляя только одну из сторон. В геометрии эта оставленная сторона называется полуплоскостью.

«Меньше пятнадцати долларов» — это одна линия; оставляем дешёвую сторону. «В пределах пешей доступности» — вторая линия; оставляем ближнюю сторону. «Сейчас открыто» — третья. Каждое добавляемое вами требование — это ещё один срез.

Ответ, удовлетворяющий всем требованиям, находится в пересечении всех оставленных сторон. Пересечение достаточного количества полуплоскостей даёт маленькую ограниченную область: аккуратную зону, внутри которой находится единственный правильный ответ.

Constraints as half-planes with a bounded feasible region

Два режима отказа

Недостаточно ограничений (слишком мало «срезов»): область остаётся неограниченной. Она уходит в бесконечность, поэтому бесконечно много размытых ответов «подходят». Запрос «Дай мне хорошую идею» является неограниченным. Вы получаете шум, потому что ничего не было исключено.

Избыток ограничений (слишком много или противоречивые «срезы»): область становится пустой. Полуплоскости не имеют общей точки, поэтому ни один ответ не подходит. Запрос «Число, которое одновременно чётное и нечётное» сужает пространство до ничего.

Хорошо поставленный вопрос находится между этими крайностями: достаточно ограничений, чтобы ограничить область, но не так много, чтобы они противоречили друг другу и сделали область пустой.

Ограниченная, неограниченная, пустая

Менеджер просит дизайнера сделать «логотип». Позже он просит «логотип, который является одной буквой, в одном цвете, работает при размере 16 пикселей и также использует не менее четырёх цветов».

Используя модель полуплоскостей, опишите допустимую область для каждого запроса. Какой запрос является неограниченным и почему, какой — пустым и почему, и что означает каждый из этих сбоев для ответа, который может дать дизайнер?

Лучший разрез делит пространство пополам

Двоичный поиск: каждый вопрос «да/нет» делит пространство пополам

Некоторые вопросы можно ответить «да» или «нет». С геометрической точки зрения, вопрос «да/нет» проводит одну линию и указывает, на какой стороне находится ответ: он отбрасывает целую область одним движением.

Лучший вопрос «да/нет» — это тот, который делит пространство пополам, потому что тогда, какой бы ответ вы ни получили, вы отбрасываете ровно половину оставшегося. Спрашивайте «это в верхней половине?» снова и снова, и пространство будет сжиматься геометрически быстро.

Это бинарный поиск. Начинаем с N кандидатов. После одного хорошего вопроса остаётся N/2. После двух — N/4. После k вопросов — N / 2^k. Вы завершаете процесс, когда остаётся один кандидат, поэтому вам нужно наименьшее k, при котором 2^k не меньше N.

Это наименьшее k — это потолок log2(N). Для тысячи кандидатов: 2^9 = 512 (мало) & 2^10 = 1024 (хватает), значит, log2(1000) примерно 9,97, и вам нужно 10 вопросов. А миллиард кандидатов? log2 от миллиарда примерно 30. Деление пополам настолько мощно, что переход от тысячи к миллиарду добавляет всего около двадцати вопросов.

Урок для задавания вопросов: острый вопрос «да/нет» ценнее всего, когда он делит оставшееся пространство поровну. Кривой вопрос, исключающий лишь малую часть, тратит ход впустую.

Гарантия нахождения

Вы играете в игру на угадывание. Кто-то выбирает целое число от 1 до 1000. Вы можете задавать только вопросы «да/нет», и вы играете оптимально (каждый вопрос делит оставшихся кандидатов как можно более равномерно).

В худшем случае, каково минимальное количество вопросов «да/нет», которое ГАРАНТИРОВАННО позволит вам определить число? Назовите итоговое число и объясните логику деления пополам / log2, лежащую в его основе.

Когда ответы дешевы, сокращения бесценны

Вопрос — это теперь работа

Соедините четыре элемента. Вопрос открывает пространство. Декомпозиция разбивает его на части. Ограничения сужают его до ограниченной области допустимых решений. Хорошие вопросы «да/нет» сокращают его вдвое. Каждое из этих действий — это акт сужения поиска до того, как вы ищете ответ.

Большую часть истории ответом была дорогая часть. Вы платили эксперту, проводили эксперимент, рылись в архивах. Поэтому мы ценили людей, способных давать ответы.

Этот баланс сместился. Автоматизированные системы теперь генерируют правдоподобные ответы тысячами, практически бесплатно. Когда ответы дешевы и доступны в избытке, создание еще одного — не достижение. Тем, что остается в дефиците, является знание какой ответ стоит иметь: и это навык постановки вопросов, а не навык генерации ответов.

В терминах геометрии: машина с удовольствием выдаст вам любую точку в пространстве. Ценность, которую вы добавляете, заключается в проведении ограничений, сужающих пространство до той единственной области, где должен находиться хороший ответ. Недостаточно ограничив — и вы утонете в правдоподобном шуме (неограниченная область). Чрезмерно ограничив — и не получите ничего (пустая область). Формулирование ограничений, которые сужают область до точно нужного размера, — это редкий человеческий навык.

Таким образом, рычаг воздействия — это не «получить ответ». Это «сформулировать ограничения, которые сделают пространство ответов достаточно малым, чтобы любая точка в нем была ценной».

Куда сместилась ценность

Аналитик теперь может сгенерировать сто черновых стратегий за минуты практически без затрат.

Используя геометрию пространства поиска из этого урока, объясните, почему ценность аналитика сместилась от генерации ответов к формулировке вопроса. Что именно аналитик делает с пространством ответов и почему недостаточное или чрезмерное ограничение этого пространства приводит к провалу?

Геометрия вопросов: краткое изложение

Что вы узнали

Вопрос — это не запрос одного ответа. Это пространство возможных ответов, а искусство задавать вопросы — это искусство сужения этого пространства:

- Пространство поиска: каждый вопрос открывает множество кандидатных ответов. Точный вопрос открывает небольшое множество; размытый — огромное множество, по которому вам придётся блуждать.

- Декомпозиция как разбиение: разделите большое пространство на области, покрывающие его без пересечений; каждый подвопрос сужает ваш выбор до одной области.

- Ограничения как границы: каждое требование — это полуплоскость; ответ находится в их пересечении. Слишком мало разрезов оставляет неограниченную область (бесконечное число размытых ответов); противоречивые разрезы оставляют пустую область (ничего не подходит).

- Сужение путем деления пополам: хорошо подобраный вопрос «да/нет» делит пространство пополам. Чтобы определить число от 1 до 1000, потребуется ceil(log2(1000)) = 10 вопросов; для миллиарда — всего около 30.

И вот в чём выгода: когда автоматизированные системы делают ответы дешёвыми, дефицитным навыком становится не производство ответов, а постановка ограничений, сужающих пространство до единственной нужной области. Научитесь проводить такие срезы, и вы превратите обширный, блуждающий поиск в короткий.