Предположим, что есть какая-то разновидность задач из любой области — от «почистить картошку» до «вылечить депрессию» или «стать богатым», и есть методы, которые предназначены для решения задач данной разновидности, или же советы, которые должны помогать в их решении. Как понять, насколько тот или иной метод или совет хорош/эффективен/качественен, как можно сравнивать разные методы или советы?
Похоже, что люди используют выражения «хороший/эффективный метод» и «этот метод лучше» в довольно разных смыслах и не всегда отдают себе в этом отчет. Далее я перечислю ряд известных мне факторов, которые нужно учитывать, чтобы определиться с тем, какой конкретно смысл вы собираетесь придать понятию «хорошести/эффективности» метода и как вы собираетесь эту величину оценивать.
Также я приведу несколько простых примеров, чтобы продемонстрировать, как в разных контекстах используются совершенно разные варианты понятия «хорошести» метода.
В конце я предложу вариант подхода к оценке качества методов решения задач, основанный на ожидаемой полезности.
Вопросы к методу
Далее для простоты я буду предполагать, что мы говорим о каком-то достаточно четко определенном виде задач, и что такого вида задачи можно либо решить, либо не решить, третьего не дано (несложно распространить данные соображения и на другие виды задач, но пока ограничимся этими).
- Кто из тех, кто сталкивается с задачами данного вида, узнает из каких-либо источников о существовании и содержании данного метода их решения? Почему остальные не узнают? (Пример: о методе знает лишь какая-то «элитная» прослойка общества, потому что он плохо описан и его распространением мало кто озабочен.)
- Сколько из тех, у кого есть задача данного вида, и кто узнал о данном методе ее решения, подумали о том, что стоит попробовать его к этой задаче применить? Если не подумали, то почему? (Примеры: им известны другие методы; им не понравился данный метод; они не поняли, что данный метод предназначен для решения их задачи; они не поняли, как применять данный метод.)
- Сколько из тех, кто подумал о том, чтобы применить данный метод к задаче, действительно попробовали это сделать? Если нет, то почему? (Пример: сознательно они подумали, что стоило бы им воспользоваться, но подсознательно — что он слишком сложен.)
- Сколько из тех, кто попробовал применить данный метод к задаче, довел дело до конца? А если бросили в процессе, то почему и на какой стадии? (Примеры: какая-то стадия оказалась слишком сложной; их отвлекли другие задачи.)
- Сколько из тех, кто довел применение данного метода к задаче до конца, не ошибались в процессе? Если ошибались, то почему и на какой стадии? (Пример: какая-то стадия — слабое место метода, потому что ее сложно корректно выполнить.)
- Сколько из тех, кто корректно довел до конца применение данного метода к задаче, получили требуемый результат — решили эту задачу? Если нет, то почему? (Примеры: метод неточный — он не всегда срабатывает, даже если задача в принципе разрешима; задача стохастическая — в том смысле, что она не всегда может вообще быть решена; метод на самом деле предназначен для какой-то другой задачи; метод вообще некорректен.)
- Сколько из тех, кто решил данным методом задачу, в дальнейшем использовали этот же метод для решения других задач такого вида, если сталкивались с ними? Если нет, то почему? (Пример: нашли другой метод или вернулись к прежде использованным методам.)
- Каковы возможные побочные последствия от применения данного метода? (Примеры: у применивших его снижается способность решать задачи какого-то другого типа каким-то другим методом; применившие его вскорости заболевают или умирают.)
- Сколько из тех, кто решил данным методом задачу, считают этот метод плохим/удовлетворительным/хорошим? Если нет, то почему? (Примеры: есть методы лучше/хуже; метод слишком энергозатратный; метод занимает слишком много времени; от него болит голова.)
- Сколько людей, знающих о данном методе, знают также о том или ином альтернативном ему методе решения задач того же вида? Сколько из них пробовали использовать этот альтернативный метод?
- Как менялись вышеупомянутые факторы с течением времени?
Конечно, часть из вопросов можно относить не к оценкам самого метода, а к оценкам тех или иных способов передачи знаний о методе. Но грань между методом и способами его передачи может быть довольно зыбкой.
Примеры оценок
Теперь, пользуясь вышеприведенными вопросами, можно легко отследить, когда критерии оценки качества метода слишком субъективны или зависят от контекста. Приведем примеры возможных утверждений о качестве метода, от менее информативных до более информативных:
- “Не знаю как для вас, но для меня этот метод самый лучший” (крайний субъективизм в оценке, хотя можно сделать предположение, что метод подойдет людям, достаточно сильно похожим на говорящего);
- “Метод хороший, просто вы дураки” (опять же, смахивает на субъективизм);
- “Метод хороший, потому что вон тот человек им воспользовался и достиг успеха” (схоже с предыдущими, но говорящий не может быть уверен даже в том, что именно данный метод привел к наблюдаемому успеху);
- “Метод хороший, если правильно его применять” (мы можем относить или не относить сложность обучения людей использованию данного метода к характеристикам его качества; говорящий, похоже, не относит, и помимо этого он может игнорировать и другие аспекты качества метода);
- “Метод хороший, но я предпочитаю пользоваться более привычным” (возможно, именно говорящему сложно перестроиться на новый метод, но может оказаться и так, что у метода есть объективные недостатки по сравнению с другим, такие как средняя сложность обучения);
- “Метод лучше подходит для группы X, чем для группы Y” (разделение людей на группы в зависимости от того, какие методы им проще использовать, действительно может быть полезным);
- “Метод A чаще приводит к результату, чем метод B” (явное сравнение методов друг с другом дает больше всего информации об их относительном качестве, но нужно иметь в виду предыдущий пункт).
Подход к оценке
В разных областях могут уже быть свои удобные стандарты для сравнения методов. Но можно ли их как-то обобщить? Что их все должно объединять?
Я приведу свой пример подхода на основе идеи ожидаемой полезности, который подойдет для оценки методов в хорошо контролируемых условиях, но может послужить основой и для подходов к оценке методов в более сложных системах.
Предположим, что задачи данного вида встречаются в жизни каждому человеку из некоторого сообщества, неоднократно, и их решение приносит пользу, а провал приносит вред.
Пусть у нас есть некоторый конечный набор людей $X$, конечный набор задач $A$ данного вида, с которыми они сталкивались в течение какого-то промежутка времени, и конечный набор методов $M$, которые мы хотим сравнить между собой.
Пусть задачи рассматриваемого вида имеют такой характер, что глядя со стороны на агента $X$, столкнувшегося с задачей $A$, мы можем с высокой вероятностью распознать:
- Какой из методов $m(X,A)$ был использован при решении;
- Была ли задача решена успешно ($s(X,A) = 1$) или нет ($s(X,A) = 0$);
- Какова предполагаемая награда $u(X,A)$ за успешное решение этой задачи;
- Каков предполагаемый штраф (описываемый отрицательным числом $v(X,A)$) в случае провала.
Здесь предполагается, что затраты $c(x,A)$ на попытку решения задачи выбранным методом уже учтены в награде и штрафе, т. е. $u(X,A) = u_1(X,A) - c(X,A)$ и $v(X,A) = v_1(X,A) - c(X,A)$. Эти затраты могут включать в себя время, деньги, испытанный агентом вред и др., для расчетов все это нужно конвертировать в один тип условных единиц.
Обозначим за $n(M,X)$ итоговое количество использований метода $M$ агентом $X$.
Введем функции:
$f(X,A) = s(X,A) u(X,A) + (1 - s(X, A)) v(X,A)$ — описывает полезность применения агентом $X$ метода $m(X,A)$ к задаче $A$, она просто равна награде в случае успеха и штрафу в случае неудачи;
$g(M,X) = \sum\limits_{A,\ m(X,A)=M} f(X,A)/n(M,X)$ — описывает среднюю полезность использования агентом $X$ метода $M$ при решении задач; определена только при $n(M,X)>0$.
Тогда сравнивать методы можно по величине $g(M,X)$ для каждого агента $X$ по отдельности, либо по величине $g(M) = \sum\limits_{X,\ n(M,X)>0} g(M,X)$ для всех агентов, которые ими пользовались.
Чем больше разброс эффективности того или иного метода между агентами, тем больше внимания мы должны уделить субъективным характеристикам агентов, влияние которых на эффективность мы подозреваем. Если эти характеристики можно подсчитать для каждого агента, то можно будет попробовать провести кластеризацию сообщества по ним и проверить степень их влияния.
Если эффективность того или иного метода у агента сильно зависит от времени применения, и со временем она более-менее повышалась, это может говорить о высокой роли обучения/опыта для данного метода. Но нужно также рассмотреть альтернативную гипотезу о том, что как-то менялись сами задачи с течением времени.
Дополнительная информация об агентах — вроде той, что я упоминал в своем списке вопросов, позволит получить еще больше информации для сравнения.
Особенность описанного мной подхода в том, что награда и штраф (и входящие туда затраты на решение) должны быть описаны численно в одних и тех же единицах измерения. Это не всегда удобно. Однако, можно использовать этот подход по отдельности для каждого значимого для нас параметра, получая векторные характеристики методов, и уже потом думать о том, как координаты таких векторов использовать при сравнениях.
Например, можно просто измерить средние затраты времени на использование метода (награда = штраф = -время) и среднюю успешность решения задачи методом (награда = 1, штраф = 0), и сравнивать методы по двум этим параметрам по отдельности.
P. S. Специалисты по статистике наверняка могут подсказать множество других нюансов, которые я не затрагивал.