Профессор Кришнамуртхи о формальных методах: почему математически идеальные модели вредят пользователям?

Stanford Online 2,4 тыс. 58 мин 4 мин 07.05.2024
Главное

Шрирам Кришнамуртхи, профессор компьютерных наук в Университете Брауна, уверен: создатели инструментов формальной верификации совершают фундаментальную ошибку, игнорируя человеческий фактор. В рамках семинара в Стэнфордском университете он представил результаты многолетних исследований, доказывающих, что математически безупречные алгоритмы могут быть бесполезны и даже вредны, если они не учитывают особенности человеческого восприятия и когнитивные искажения.

🧩 От математической логики к «человеческим SAT-солверам» 0:09

Кришнамуртхи начинает выступление с интерактивного упражнения, предлагая аудитории решить задачи на выполнимость логических формул (SAT). Этот простой тест служит метафорой: любые технические вопросы безопасности или сетевой инженерии в конечном итоге сводятся к вопросам выполнимости. Инструменты вроде Alloy (разработанный в MIT) позволяют преобразовывать сложные спецификации систем в логические формулы, которые затем обрабатываются солверами.

Процесс работы с такими инструментами обычно выглядит так:

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

📉 Провал «минимализма»: когда математика мешает пониманию 6:31

Одной из классических идей в верификации является поиск «минимальных» контрпримеров. Логика проста: чем меньше объектов на экране, тем легче найти ошибку. Команда Кришнамуртхи даже разработала системы Aluminum (для поиска минимальных моделей) и Amalgam (для отслеживания происхождения данных), за которые получила академические награды.

Однако последующее исследование на реальных пользователях (студентах и работниках Mechanical Turk) показало катастрофические результаты:

  1. Пользователи отвергли «улучшенные» инструменты: Большинство участников исследования предпочли вернуться к стандартному Alloy, который выдавал «грязные» и сложные примеры.
  2. Минимализм вводит в заблуждение: Студенты, использовавшие минимальные модели, чаще совершали ошибки в коде. Кришнамуртхи утверждает, что слишком лаконичные примеры не давали достаточного контекста для понимания сути проблемы.

По мнению спикера, это стало болезненным уроком: то, что заставляет «математиков пускать слюни» (элегантная минимизация), на практике оказывается абсолютно непригодным для обучения и работы людей.

👁️ Принцип контрастных случаев и обучение через негатив 14:09

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

В ходе экспериментов с абстрактными моделями («общество блобов») были сделаны важные выводы:

🧠 Эффект Струпа в визуализации данных 22:24

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

В качестве примера приводится «Эффект Струпа» — задержка реакции, когда цвет слова не совпадает с его значением (например, слово «красный», написанное синим цветом). Аналогично, если в визуализации криптографического протокола сообщения между Алисой и Бобом перемешаны или лишены временной последовательности («дорожек» или swim lanes), мозг пользователя тратит лишние ресурсы на расшифровку картинки вместо анализа сути.

Новый инструмент автора, Forge, стремится решить это через:

🚦 Ловушка «естественного» языка в логике (LTL) 31:12

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

Проблема заключается в «вернакулярном заблуждении» (vernacular misconception): мы берем слово из обычного языка и наделяем его строгим техническим смыслом.

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

🎓 Радикальный тезис: любой разработчик — это учитель 40:45

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

«Когда компилятор выдает сообщение об ошибке, он не просто констатирует факт. Он пытается научить вас правилам формальной системы и особенностям вашего собственного артефакта одновременно».

Автор признает, что даже его собственные проекты с благими намерениями, такие как DrRacket (бывший DrScheme), после 15 лет разработки провалили формальные тесты на удобство для студентов. Это подчеркивает главную мысль лекции: добрых намерений недостаточно — инструменты формальных методов должны проходить жесткую валидацию с точки зрения когнитивных наук и теорий обучения.

💬 Цитаты

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

Шрирам Кришнамуртхи 12:12

«Любой, кто создает инструмент, на самом деле занимается образовательным бизнесом.»

Шрирам Кришнамуртхи 42:16

«Если вы не можете сформулировать свойства системы, инструменты верификации просто будут сидеть и молчать.»

Шрирам Кришнамуртхи 4:05
👥 Спикеры
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
SAT-солвер
Программа, которая определяет, существует ли такая комбинация значений переменных, при которой логическая формула становится истинной.
Формальные методы
Математические техники для спецификации, разработки и верификации программного и аппаратного обеспечения.
LTL (Linear Temporal Logic)
Логика, позволяющая описывать изменение истинности утверждений во времени (например, «всегда», «когда-нибудь»).
Эффект Струпа
Задержка в чтении слов, когда цвет шрифта не совпадает с написанным словом.
📊 Цифры
🗓 Хронология
  1. 1955 Начало исследований в области перцептивной психологии, легших в основу теории контрастных случаев.
  2. 1995 Создание первой версии системы DrScheme для обучения программированию.
  3. 2010 Проведение формального пользовательского исследования DrRacket, показавшее неудачу многих дизайнерских решений.
  4. 2026 Текущий момент (в контексте симуляции), Forge активно используется для обучения в университетах.
⚖️ Другая сторона
Инженерия Шрирам Кришнамуртхи Alloy Forge Linear Temporal Logic Формальные методы