...

суббота, 1 октября 2016 г.

Стать руководителем (в плане назначения должности) и быть им (по факту) – задачи разной сложности

Обходим детектирование виртуальной машины программами в VMWare

[Перевод] Почему успешные в Китае игры не получают популярности на Западе?

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

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

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

Визуальный стиль


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

Именно поэтому многие китайские компании идут на полную переделку стиля (reskinning) своих игр, чтобы они стали более визуально приемлемыми для Запада. Однако стиль относится не только к 2D или 3D-графике, но и к внешнему виду пользовательского интерфейса. Азиатские игры, в отличие от западных, обычно имеют более сложный UI. Как я говорил в моих предыдущих статьях, самый популярный игровой жанр в Китае — это MMORPG. Хотя не все китайские игры относятся к этому жанру, их игровой процесс традиционно довольно сложен, поэтому пользовательский интерфейс выглядит перегруженным. Если же мы посмотрим на верхние строчки в рейтингах западных магазинов приложений, то увидим, что пользователи предпочитают более простой интерфейс. Ещё одна большая проблема при локализации UI — отличающаяся длина текста в разных языках.


Популярный среди китайских игроков визуальный стиль

Game world background


В Китае могут стать очень популярными игры, действие которых разворачивается в эпоху Троецарствия или во времена «Путешествия на Запад». Однако для западных игроков такой антураж мало что скажет. Историческим аналогом эпохи Троецарствия для Запада является европейское Средневековье. Также нам нужно тщательно отслеживать культурный контекст содержания игры, чтобы не «обидеть» новый рынок. Например, у некоторых женских персонажей китайских игр оголены слишком большие участки тела, что может быть оскорбительным для игроков обоих полов на Западе.


Казуальная игра в антураже эпохи Троецарствия

Темп игры


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

Стратегия монетизации


Модель монетизации free-to-play получила популярность в Азии, она широко распространена в Китае, и китайские игроки привыкли к ней. Подход pay-to-win часто применяется в Китае и пользователи принимают его, однако, несмотря на это, он не рекомендуется: pay-to-win — не лучшая стратегия монетизации даже в Китае. По сравнению с западными игроками, предпочитающими платить за разблокировку уровней или контента, игроки в Китае обычно платят за «прохождение» игры: победу над боссом, пропуск сложного уровня, и т.п.

Менталитет


Кроме прочих вышеперечисленных аспектов, уже несколько раз на моих глазах главной причиной провала проекта локализации становилась разница менталитетов. Допустим, ваша игра очень успешна в Китае, и вы хотите выпустить её на Западе. Вы нанимаете западных геймдизайнеров и менеджеров по продукции. Когда ваши западные сотрудники дают вам список изменений, которые должны быть внесены разработчиками, чтобы вписать игру в новый рынок, команда разработчиков, создавшая первоначальный успешный проект, отказывается вносить изменения и работать над проектом вообще. Давайте поставим себя на их место. Если у вас есть успешная на внутреннем рынке игра, зачем вам нужно создавать из неё что-то новое для неизвестного рынка? Когда вы работаете над игрой, зарабатывающей миллионы или миллиарды ежемесячно, зачем вам слушать кого-то, чей рынок меньше вашего? Вы получаете большой бонус за свою текущую работу, так почему бы не вложить в неё больше усилий и не увеличить бонус вместо того, чтобы отвлекаться на нечто с непонятными перспективами? Очевидно, почему локализация в таких условиях проходит не очень гладко. Единственный для высшего руководства способ справиться с этим — заявить, что выход на западный рынок является самой важной стратегией для всей компании. Дайте понять, что эта цель имеет высочайший приоритет для компании и настройте соответствующим образом систему бонусов.

Заключение


Я попытался объяснить различия во вкусе, культуре, отношении к монетизации и разработке между Востоком и Западом. Теперь вы можете понять, почему я отвечаю отрицательно, когда меня спрашивают, стоит ли адаптировать успешные китайские игры для Запада.

Разумеется, если вы справитесь со всеми вышеперечисленными аспектами перед выпуском на западном рынке, вы повысите свои шансы на то, что ваша игра получит такой же успех на Западе, что и на Востоке. Если вы решите пойти таким путём, то я считаю, что лучшей стратегией будет партнёрство с престижным западным издателем, имеющим опыт успешного вывода восточных игр на западный рынок. Он сможет пройти с вами весь процесс адаптации и обеспечит соответствие игры новой целевой аудитории. Я предлагаю вам также оценить затраты и эффективность создания совершенно новой игры для западного рынка, чтобы сравнить и решить, какая из стратегий больше подходит вашей компании.

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

P.S. от переводчика: этой статьёй начинается цикл переводов 4-5 статей об особенностях китайского рынка видеоигр. Найти остальные можно будет по тегу «китайский геймдев».

Комментарии (0)

    Let's block ads! (Why?)

    Markout.ru — дерево заметок в Markdown-формате

    Лет 15 назад я увлекся аутлайнерами (древовидными менеджерами заметок) и постепенно «пилил» свой, начиная с десктопных версий и заканчивая онлайновым деревом заметок в Markdown-формате.

    Я использую его где-то треть моего рабочего времени для ведения дневника, планирования, изучения рынка, конспектирования, написания документации и маркетинговых материалов и так далее. Это — больше личный инструмент менеджера, организации его информации и работы.

    Да, есть много Markdown-редакторов, в том числе и опенсорсных. Но вот такого, который позволил бы удобно работать с деревом заметок, я еще не встречал. К «плоским» заметкам и тегам я так и не привык.

    Итак, что получилось в итоге: markout.ru — менеджер древовидных заметок в Markdown-формате, поддерживающий и расширяющий популярный формат. К слову, работает хорошо даже в мобильных браузерах и на нестабильных интернет-каналах.

    Скриншот markout.ru

    Подробнее о возможностях — под катом:

    Списки задач с иерархией и перетаскиванием


    Достаточно начать любую строку с [ ] или [x], с соответствующим количеством пробелов, чтобы организовать тудушку, пункты которой можно помечать кликом как выполненные и перетаскивать их, в том числе и под другие пункты.

    Соответственно, из следующей записи…

    [x] задача 1
    [ ] задача 2
    [x] подзадача 2.1
    [] подзадача 2.1
    [x] подзадача 2.1.1
    [] задача 3

    … мы получим вот такую динамическую тудушку, где можно также помечать пункты различными цветами и стилями (добавляются в конец соответствующей строки в виде [color=red], допустим).

    Список задач

    Редактор таблиц


    Как известно, в markdown таблицей является все, что начинается с символа |

    Соответственно, из следующей записи…

    |Колонка 1|Колонка 2|Колонка 3
    |Ячейка 1.1|Ячейка 1.2|Ячейка 1.3
    |Ячейка 2.1|Ячейка 2.2|Ячейка 2.3

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

    Редактор таблиц

    Удобная работа с изображениями


    Во-первых, их легко линковать. Можно использовать как стандартные markdown-ссылки, так и упрощенный формат, указав идентификатор картинки в квадратных скобках.

    Во-вторых, их можно вставлять прямо из буфера обмена в тех браузерах, которые это поддерживают (Google Chrome, допустим).

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

    Редактор картинок

    Шаблоны


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

    Шаблоны заметок

    История изменений


    По мере работы накапливается полная история изменений всех блокнотов, шифрованная для шифрованных блокнотов. Ее можно посмотреть как на уровне отдельного документа, так и на уровне блокнота в целом.

    История изменений

    Своя разметка


    Можно создавать свои варианты разметки на уровне блокнота. Можно удобно, допустим, вставлять шаблонную информацию вроде адресов, номеров телефонов или даже создавать целые формы ввода.

    Пользовательская разметка

    Шифрация


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

    Скачиваемые бекапы


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

    Совместная работа


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

    Более подробно — на официальном сайте: https://markout.ru/

    Комментарии (0)

      Let's block ads! (Why?)

      Счастливы вместе: Как сбор обратной связи от клиентов делает их лояльнее

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

      Клиенты любят, когда их мнение спрашивают


      Известен эксперимент издания Harvard Business Review, проведенный еще в начале двухтысячных годов. Исследователи проанализировали мнения о крупной финансовой компании со стороны двух групп ее клиентов. В первую группу вошли 945 человек — они участвовали в программе повышения лояльности, в рамках которой представители компании звонили им с предложением пройти опрос о качестве услуг. По завершению разговора клиентам предлагалось оценить свою удовлетворенность качеством услуг, большая часть респондентов заявила о «высоком уровне удовлетворенности». Вторая группа служила контрольной — в нее вошли 1064 случайно отобранных клиента, которых не опрашивали, чтобы узнать их мнение о качестве услуг.

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

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

      Этот факт активно используют многие компании — например, автопроизводители. К примеру, одному моему знакомому позвонили из российского представительства «Ленд Ровер» — он как раз купил себе новую машину — и предложили пройти небольшой опрос. «Это займет не больше 40 минут» — сказала милая девушка на другом конце провода. Выделить столько времени удалось далеко не сразу, но девушка была настроена крайне решительно. В итоге разговор состоялся и клиента расспросили обо всем опыте общения с автомобилями, начиная с дедушкиного ушастого «Запорожца», на котором его в трехлетнем возрасте возили на огород.

      Такое внимание к деталям очень понравилось моему знакомому, который с тех пор превратился в настоящего фаната. Пассажиров, которые собираются сесть в белоснежный кожаный салон его «Рейндж Ровера», он спрашивает о том, какой марки их джинсы: от дешевых джинсов на сиденьях остаются синие следы. Еще один пример — покупателю российских часов Ракета позвонили, чтобы узнать, доволен ли он приобретением, все ли хорошо в процессе использования. Довольный покупатель не замедлил поделиться своим отношением к бренду.

      image

      Сотрудники любят довольных клиентов


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

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

      Таким образом, инвестиции в повышение удовлетворенности клиентов окупаются дважды — снячала прямо в виде роста выручки и сокращения оттока, а затем косвенно в виде повышении морального духа сотрудников компании.

      Как это работает на практике


      В блоге на Хабре мы уже рассказывали о том, как организовали платную поддержку своего продукта — биллинга для операторов связи «Гидра». Поскольку услуги техподдержки дают нашей компании львиную долю выручки, нам необходимо постоянно отслеживать их качество и корректно учитывать затраченное оплачиваемое время. Для решения последней задачи настроена система логирования.

      image

      Скриншот системы мониторинга времени, затраченного сотрудниками отдела поддержки

      Для сбора обратной связи об удовлетворенности после каждого обращения клиенту предлагается оценить свой опыт взаимодействия со службой поддержки. Оценками служат смайлики — зеленый, желтый и красный. Клиент выбирает подходящий смайлик одним кликом мышки. Из-за простоты этой системы оценок поступает много, обратная связь надежная. Существует «внутренний SLA», согласно которому из 100 последних оценок как минимум 96 должно приходиться на зеленые смайлы. Информация по удовлетворенности пользователей «Гидры» открыта и доступна на специальной странице, а сотрудникам техподдержки она видна постоянно на специальном настенном экране.

      image

      Скриншот страницы отзывов

      По каждой негативной оценке проводится разбирательство с получившим ее сотрудником. Регулярный сбор обратной связи позволяет выявлять не только единичные проблемы, но и системные ошибки, которые возникают регулярно и приносят неудобства пользователям. Это недовольство может накапливаться и очень долго не выливаться, но по достижении крайней точке возможен взрыв недовольства, и тогда ситуация для компании может выглядеть примерно вот так.

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

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

      Заключение


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

      Важный плюс здесь — простота реализации. Для того, чтобы наладить сбор обратной связи не нужно выполнять никаких сложных действий, хватит простого предложения кликнуть на нужный смайлик. Масштабных изменений в бизнес-процессах не потребуется — к примеру, система автоматизации обработки заявок «Гидра OMS» позволяет добавить нужные шаги в пару кликов. А если столь малые усилия могут приносить настолько мощный результат — то не предпринять их в условиях экономических сложностей и растущей конкуренции бизнес просто не может себе позволить.

      Автор: Дмитрий Коплович, руководитель «Латеры»

      Комментарии (0)

        Let's block ads! (Why?)

        Как посчитать перестановки. Лекция в Яндексе

        Некоторое время назад в московский офис Яндекса приезжал Игорь Пак — ученый с множеством научных работ, выпускник мехмата МГУ и аспирантуры Гарварда. Сейчас Игорь работает в Калифорнийском университете. Его лекция в Яндексе была посвящена различным классам последовательностей и перестановкам. В том числе прямо по ходу лекции он представил выкладки, опровергающие гипотезу Нунана и Зайлбергера — одну из ключевых в области перестановок.

        Под катом — подробная текстовая расшифровка и большинство слайдов.

        Доклад у меня про не самые стандартные вещи. К сожалению, перечислительную комбинаторику изучают не очень серьезно — в России она не входит в стандартную университетскую программу. В первой, вводной половине доклада я буду приводить знаменитые классические вопросы из перечислительной комбинаторики. А во второй половине пойдут более сложные вещи из тех, что мы недавно поняли. Если вы будете меня останавливать и задавать вопросы — ничего страшного.

        О чем вообще перечислительная комбинаторика? Обычно мы изучаем последовательности натуральных чисел. Они бывают разные. Я выписал полдюжины последовательностей из энциклопедии «Online Encyclopedia of Integer Sequences». Я буду говорить по-русски, но все слайды составлены на английском.

        Некоторые последовательности более комбинаторные, некоторые — менее. Например, число конечных групп, самая первая последовательность в этой энциклопедии, — не очень комбинаторная. Так получается, что есть две группы порядка 4. Следующая, более простая последовательность — простые числа. Число разбиений целого числа n, сумма слагаемых — мы увидим их попозже. Следующая последовательность — числа Фибоначчи. Потом число инволюций, числа Каталана, числа связных графов.

        Вопрос такой: есть ли формула, которая описывает числа в каждой последовательности? Это сложный вопрос — он связан со значением формулы. Я расскажу о разных последовательностях и о том, какими бывают формулы. Потом попытаюсь это унифицировать, рассказать теорию. Мы изучаем последовательности и пытаемся понять формулы для содержащихся в них чисел.

        Я начну со стандартного введения. Сам я не буду ничего определять — лучше приведу цитаты двух авторов. Первая цитата — Ричарда Стэнли, читать ее долго, но смысл такой: он считает, что самое интересное — это явные формулы, когда можно написать, что «что-то равно сумма чего-то умножить на что-то».

        Херб Уилф говорит, что нет, формулы не имеют отношения к тому, сумма это или произведение, что так их определить нельзя, что формула — на самом деле алгоритм. Для нас его идея очень важна. Формула — некий алгоритм, который считает числа, стоящие в последовательности, за время, полиномиальное от n.

        Но на самом деле более старая идея — в том, чтобы понять, хороша формула или нет. Смотрят на формулы, на асимптотику. Если мы можем по формуле понять, что это за число, с точностью плюс-минус 3%, то это хорошая формула. Я перечислил три стандартных определения того, что такое формула. Для нас будут очень важны все три, но алгоритмический подход будет наиболее важен.

        Начнем с асимптотики. Это очень старая вещь, известная для всех последовательностей. Например, числа Фибоначчи растут очень конкретным экспоненциальным образом, числа Каталана тоже растут экспоненциально — там есть полиномиальный множитель. Речь идет о совсем старых теоремах. Это теорема распределения простых чисел, которой больше ста лет. Для числа разбиений тоже есть замечательная асимптотическая формула. Ее не очень легко доказать, но понять экспоненциональный член — немножко легче.

        Для числа инволюций уже нужно немножко анализа, не слишком сложного. А вот формула для числа групп порядка <= n — очень сложная. Чтобы ее доказать, нужно знать классификацию простых конечных групп, это уже не совсем комбинаторика, совсем не комбинаторика.

        Зато последняя формула, наоборот, очень простая. Число графов на n вершинах — примерно 2 в степени (…) коэффициент, n/2. И смысл ее очень простой: случайный граф является связным с большой вероятностью, которая стремится к 1, когда n стремится к бесконечности.

        Эти формулы замечательные, но это аналитические формулы, не комбинаторные. И они не дают нам понимания, как посчитать эти числа. А это то, чем мы занимаемся. И чтобы понять, чем именно мы занимаемся, я начну с очень стандартного классического примера — чисел Фибоначчи.

        Я дам одно из их определений. Число Фибоначчи число последовательностей из нулей и единиц длиной n минус 1, в которых нет двух стоящих подряд единиц. Например, последовательностей длины 2, в которых нет двух единиц подряд, будет ровно 3. Вот они: 00, 01, 10. Последовательностей длины 3, в которой нет двух стоящих подряд единиц, будет пять.

        Дальше есть три формулы. Первая формула — рекуррентное от нас соотношение на числа Фибоначчи, что следующее есть сумма двух предыдущих. Вторая формула выписывает числа Фибоначчи в качестве суммы биномиальных коэффициентов. Третья формула — совсем явная: она пишет их как сумму двух степеней — золотого сечения и его обратного.

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

        Но если нужно посчитать 117-ое число Фибоначчи, то третья формула достаточно бесполезна. Чтобы его посчитать, нужно очень четко знать, чему именно равно это золотое сечение — его надо посчитать с большим количеством знаков. А это опять сложно. Как вы это будете делать? Если подумать, это не очень хорошая формула. Формула про сумму биномиальных коэффициентов отличная, но для расчетов первая формула лучше и проще. Считаешь одну за другой и все получится.

        Уже видно, в чем вопрос. Какая формула лучше — не совсем очевидно. С точки зрения эстетики, может, третья формула лучше, а уж с точки зрения асимптотики — наверняка. Она сразу говорит, какая у числа Фибоначчи асимптотика. Но первая формула лучше для расчетов, а вторая больше подходит для того, чтобы доказывать некоторые теоремы.

        Число беспорядков — очень старая последовательность. Возьмем такое число перестановок, что элемент i всегда переходит в какой-то элемент, не равный i. Если у вас перестановка длины 2, всегда существует только одна такая перестановка. Единичная перестановка не подходит, {21} подходит. Когда у вас перестановка длины три, существует ровне две перестановки, оба цикла. Остальные не подходят совсем — у них есть неподвижная точка.

        И в общем опять три формулы. Первая замечательная: это число является ближайшим целым числом к числу n!/e. Перед нами очень простая формула. Простая, но асимптотическое достижение замечательное. Значение e очень сложно посчитать на компьютере, а чтобы явно посчитать число беспорядков длины 117, нужно знать e с очень большой точностью. Вторая формула объясняет первую. Грубо говоря, если вынести n! наружу, получится n! умножить на сумму первых k членов ряда Тейлора. С одной стороны, это объясняет первую формулу, а с другой стороны, тут стоят целые числа — их легко можно явно посчитать.

        На самом деле, самая лучшая формула для расчетов — третья. Она дает немного неожиданное рекуррентное соотношение, которое проще всего посчитать и которое совершенно ничего не объясняет. Доказать такую формулу из определения — не очень очевидное упражнение. Непонятно, что с этим (–1) в степени n делать. Такая вот история. Для числа беспорядков видно, что не совсем понятно, какая формула хорошая, а какая плохая.

        Ménage numbers, французское слово. Задача выглядит так: устраивается старомодный званый обед XIX века, позвали n супружеских пар и хотят их всех рассадить, чтобы выполнились два условия. Первое условие — мужчины чередуются с женщинами. Второе условие — супруги не сидят рядом. Задача XIX века, может, кто-то до сих пор собирает такие званые обеды. Говорят, на свадьбах такое делают.

        Как посчитать это число? Если у вас есть только две супружеские пары, то усадить их не получится. Чтобы супруги сидели вместе, они должны быть друг напротив друга — значит, не будет чередования. Последовательность начинается с нуля, когда есть две супружеские пары. Но когда у нас три супружеские пары, таких рассадок уже довольно много. Вот одна из них. Предположим, у нас есть супружеские пары 1А, 2В и 3С. А, В и С мы посадим по-порядку, а 1, 2 и 3 посадим более сложным образом. Видно, что 3 сидит между А и В и не является супругом ни А, ни В.

        Эту задачу можно решить. С исторической точки зрения имеется два решения. Первое — сложное, длинное и рекуррентное — исторически было получено раньше, в 1891 году. Второе решение — явная формула суммы биномиальных коэффициентов, факториалов, множителей и т. д. Когда это соотношение было получено, никто особо не обрадовался. Считалось, что это не очень нужная формула, хотя по ней легко все посчитать. А вот как только Тушард в 1934 году получил формулу в виде переменной суммы биномиальных коэффициентов, все подумали, что задача решена. Хотя с вычислительной точки зрения вторая формула гораздо лучше.

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

        Вопрос в том, есть ли какая-то формула для этой функции. Часто для последовательности нет хорошей формулы, а для функции есть. Здесь приведен пример, когда для чисел Фибоначчи у нас совсем хорошая формула — очень рациональная для производящей функции. Но для чисел Каталана берется число триангуляций n+2-угольника. Их Эллер придумал и изучал в Санкт-Петербурге в 1750-х годах. Производящая функция в данном случае будет не рациональная, а алгебраическая.

        Давайте посмотрим другие примеры — скажем число инволюций. Инволюция — перестановка, которая в квадрате равна единице. Это значит, что она состоит из циклов длины либо 1, либо 2. Для числа таких инволюций нет хорошей формулы, которая бы позволила представить это как сумму биномиальных коэффициентов. Однако существует очень хорошее рекуррентное соотношение. Понятно, как такое доказывать?

        Берем последний элемент n. Он либо является неподвижной точкой — тогда число перестановок получается на 1 меньше, — либо находится в транспозиции с каким-то еще элементом. Есть n-1 способов выбрать такой элемент, и остается n-2 элемента, с которыми после этого нужно что-то сделать. Из определения получается такое простое рекуррентное соотношение. У него есть замечательная производящая функция, которую можно явно написать. Заметим, что это экспоненциальная производящая функция. Мы берем tn>an/n! — как будто смотрим производящую функцию для вероятностей.

        И тут есть хорошая формула et+t2/2.

        Вот новый способ посмотреть на явную формулу. Для числа разбиений n есть несколько способов представить n в качестве суммы слагаемых. Например, 4 = 3 + 1= 2 + 2 и т. д. — всего существует пять способов записать 4 в виде суммы слагаемых. Но производящая функция тоже замечательная. Это тоже придумал Эллер, в 1738 году. Бесконечное произведение — вот что это будет. Перед нами не такая хорошая функция, как мы видели раньше. Если у нас есть бесконечное произведение, то не очень понятно, что с ним делать. Речь идет о довольно сложной функции.

        — Скажите для графов.

        — Для связных графов на n вершинах имеется рекуррентное отношение, но оно квадратичное и коэффициенты у него будут биномиальными. Квадратичное соотношение для графов есть, но я его не помню наизусть. Посчитать его можно довольно быстро, но оно не входит в эту тему.

        Теория. Мы хотим расклассифицировать как можно больше последовательностей. Берем несколько классов. Первый класс — рациональные последовательности. Они рациональны, если их прозводящая функция рациональна, то есть представляет из себя соотношение двух полиномов. На самом деле это совершенно эквивалентно простому рекуррентному соотношению на данные числа, которое обобщает числа Фибоначчи. Вот самое простое, что можно придумать. На удивление, существует довольно много последовательностей, которые удовлетворяют этим рекуррентным соотношениям. А вот последовательностей проще, чем рациональные функции, — довольно мало. У всех рациональных последовательностей очень простая асимптотика, их очень легко изучать, про них все известно.

        Следующий уровень — алгебраический. Это алгебраические последовательности, которые обобщают формулу A(t) = 1 – √(1 – 4t)/2t.

        Предположим, наша производящая функция удовлетворяет некоему алгебраическому уравнению с полимиальными коэффициентами. Таких последовательностей тоже довольно много: у чисел Каталана есть такая последовательность, у числа Моцкина, еще у многих других. Но оказывается, что это не самый большой класс. Мы будем изучать класс побольше — биномиальные суммы. Мы берем суммы, много биномиальных коэффициентов. Я пишу — суммировать по всем векторам на решетке, но на самом деле то, где альфа и бета, — некие линейные функции. Если в биномиальном коэффициенте какая-то функция становится отрицательной, то мы считаем, что это 0. Интересно только, когда эти числа конечные. И таких случаев довольно много.

        В этом примере приведен как раз такой случай. Перед нами сумма каких-то биномиальных коэффициентов. Здесь — от 0 до n/2, но можно и отпустить, сделать больше, просто биномиальный коэффициент исчезнет, станет нулем.

        В результате у нас появляется много разных последовательностей, биномиальных сумм. В них входят и числа беспорядков, и числа рассадок за столом. Все это можно понять с точки зрения таких биномиальных коэффициентов. Сверху много факториалов, снизу тоже — все можно понять. Речь идет о большом классе, но нас интересует еще больший класс: P-рекурсивные последовательности. Их можно определить двумя способами. Самый понятный способ — когда существует рекурсивное соотношение на эти числа, когда коэффициенты являются не константами, как в рациональном случае, а полиномами, зависящими от n. Если вы помните, это сложное и не очень точно записанное рекуррентное соотношение, придуманное Лукасом, — является типичным. Но такие соотношения есть для многих других последовательностей.

        Типичный пример — n!.. Он по определению –1! * n.

        Другой пример — числа Каталана. Вы помните, что это какое-то отношение двух биномиальных коэффициентов. Получится некая рациональная функция, которая зависит от n. Значит, ее можно записать как рекуррентное соотношение, которое должно равняться нулю.

        Это не очень сложная теорема. Она означает, что производящая функция удовлетворяет такому обыкновенному дифференциальному уравнению с полиномиальными коэффициентами. Вот вам другой способ понять, как устроены последовательности. Для нас Р-рекурсивные последовательности будут самым главным классом. В него входят последующие теоремы, которые написаны внизу и состоят в том, что все предыдущие классы лежат внутри этого. Речь про самый большой класс. Для алгебраических последовательностей это не совсем очевидно, а доказать такое для остальных немного проще.

        Конечно, этот класс не включает все примеры. Скажем, простые числа сюда не входят — для них нет никакого полиномиального соотношения. Точно так же нет полиномиального соотношения для числа связных графов. С ними — более сложный пример, который сюда не относится. Плохо, что есть такие примеры, когда число разбиений сюда не входит, но замечательно, что Р-рекурсивные последовательности просто по определению можно посчитать за полиномиальное время. То, что здесь написано, будет важно для нас. У нас есть класс последовательностей, все из которых можно посчитать.

        Прежде чем мы начнем их считать, приведу некое следствие. Оно состоит в том, что в данном классе уже все хорошо с точки зрения асимптотики. Если у вас есть Р-рекурсивная последовательность, то асимптотическое поведение уже очень хорошее: имеется константа, n!, какие-то степени, λnnα(log n)β. Все замечательно работает, но, к сожалению, эта теорема не доказана. Некоторые считают ее теоремой, но она ей является только в частных случаях. Однако для нас, в принципе, как раз и важен такой частный случай — что если есть неотрицательная Р-рекурсивная целочисленная последовательность, растущая не выше, чем экспонента, то поведение у нее очень простое: λnnα(log n)β. У нее хорошая и простая асимптотика. Этот класс очень большой и включает много разных комбинаторных последовательностей, которые мы хотим изучать. Р-рекурсивные последовательности — самый важный для нас класс.

        Есть еще один более общий класс, про который довольно мало что известно. Речь идет о последовательностях, у которых производящая функция удовлетворяет алгебраическому дифференциальному уравнению. Если взять какое-то количество производных этой производящей функции, то все вместе они будут удовлетворять некоему полиномиальному уравнению. Это более общий класс. К сожалению, результатов про его асимптотику существует довольно мало. Вот один пример. Возьмем альтернирующие перестановки, которые начинаются с какого-то числа, а потом идут больше-меньше, больше-меньше. Например, существует ровно две таких перестановки длиной 3 — 1, 3, 2 и 2, 3, 1. Существует пять перестановок длиной 4 и т. д.

        Для числа таких перестановок есть довольно сложное рекуррентное соотношение. Его можно переписать как уравнение, которое является не обыкновенным дифференциальным, а алгебраическим дифференциальным: 2A' = A2 + 1. В таком виде оно решается — производящую функцию можно будет записать явным образом: tan(t) + sec(t). Перед нами стандартный пример комбинаторной задачи, у которой есть явное решение для производящей функции, но про сами числа ничего хорошего сказать нельзя, это очень плохие числа. Их можно посчитать, но все последовательности, которые удовлетворяют алгебраическим дифференциальным уравнениям, можно посчитать за полиномиальное время — n-й член последовательностей считается прямо из определения. Если вы возьмете уравнение и распишете его, то главный член в этом соотношении всегда будет с коэффициентами.

        В качестве примера или иллюстрации того, что эти алгебраические дифференциальные уравнения — довольно сложная штука, приведу теорему Якоби. Якоби доказал, что такая функция Дирихле удовлетворяет некому алгебраическому дифференциальному уравнению, но оно довольно сложное и занимает больше, чем одну строчку, поэтому я решил его не выписывать. Эта задача была решена 150 лет назад, но, с другой стороны, если взять не tn2, а tn3, то такая задача открыта — и открыта она уже 150 лет. Неизвестно, удовлетворяет ли эта сущность алгебраическому дифференциальному уравнению. Сформулировать очень легко, а доказать очень сложно. Речь идет о настолько сложном классе, что про него довольно сложно что-то сказать. Мы про него ничего не знаем.

        Расскажу о классе 4. Про него многое известно, в частности про асимптотики и т. д. Конец примеров и теорий. Прежде чем я начну рассказывать более сложные вещи про перестановки, отвечу на вопросы.

        — А в четвертом экспоненциальная проводящая функция?

        — Это неважно. Это легко понять из рекуррентного соотношения, там можно всегда на n умножать.

        — Вопрос про производящую функцию. Если использовать аппарат периодических чисел, наверное, они лучше будут сходиться?

        — Понятия не имею. Вопрос не в том, как они сходятся, а в том, можно ли формально записать в неком явном виде то, какому уравнению они будут удовлетворять.

        Если у вас последовательность представлена как сумма n! * tn, она вообще нигде не сходится. С комбинаторной точки зрения это замечательная производящая функция, мы с ней классно работаем, она defined, коэффициент n! удовлетворяет полиномиальному уравнению, все хорошо. Вопрос сходимости нас не волнует никак, это формальная функция.

        — Если по ультраметрике все решается, может, некоторые случаи решаются радикально проще?

        — Ничего не могу сказать. Я не очень понимаю, о чем вы говорите.

        Будут ли еще вопросы? Я вам рассказал примерно двухсеместровый курс комбинаторики за полчаса. Все ли вы выяснили?

        — То есть если мы можем вычислить все за конечное время или записать формулу — то это хорошее понимание?

        — Я про это пока ничего не сказал, но в принципе, да, все эти классы можно посчитать за полиномиальное время. Но существуют последовательности, например число всех графов на n вершинах — 2 в степени биномиальный коэффициент n/2, — которые не входят в этот список и растут быстрее, чем факториал. Конечно, посчитать такую последовательно очень легко — вопрос в том, что мы захотим сделать с теорией. Я расписал четыре главных класса. Один класс — самый большой, про него известно поменьше. Но для всех них можно все посчитать за полиномиальное время.

        С другой стороны, понятно, что существуют последовательности, где подсчет будет очень сложным. Если мы возьмем, например, число групп порядка n, то как вы будете их считать? Давайте возьмем что-нибудь проще, связные графы, только вместо labeled напишем unlabeled. Это значит, что вы берете графы с точностью до изоморфизма. И как вы будете это считать? Проверить изоморфизм в такой модели не сложно: en туда или сюда — не проблема. Просто число этих графов такое большое, что вы устанете перебирать каждый. Хотелось бы понять, какие последовательности можно посчитать, а какие нельзя. Во всех этих графах — можно.

        Теперь рассмотрим классы перестановок. С этого момента я буду говорить только о перестановках. Дам следующее определение. Сотрудники Яндекса меня отругали — я не знал нужного слова по-русски. Я буду использовать слово «паттерн». Мы говорим, что одна перестановка содержит другую, когда она, записанная как 0-1-матрица, содержит другую как подматрицу. Например, перестановка (5674321) содержит подматрицу (321) — ее просто видно.

        С другой стороны, она не содержит (4321), потому что в этой перестановке нет убывающей подпоследовательности длины 4. А (321) — содержит. Выкидываем первый столбец, пятый, седьмой, то же самое со строками.

        Так вот, эту маленькую перестановку мы будем называть паттерном. Мы ее или несколько таких зафиксируем, после чего начнем изучать последовательность числа перестановок, которые не содержат ни одного паттерна. Не содержать паттерна — значит избегать его, σ avoids ω.

        Это очень важное определение. Я хочу, чтобы кто-то поднял руку и сказал: «Да, я понял».

        Окей, еще раз. Мы скажем, что одна перестановка содержит другую, если соответствующая 0-1-матрица содержит другую. Есть две перестановки — большая и маленькая, и видно, как одна содержит другую как подперестановку. После чего мы считаем перестановки, которые избегают некоторых других перестановок. Простой пример. Предположим, паттерн — перестановка (12). Сколько существует перестановок длины 7, которые избегают такого паттерна? Одна. Профессор Карасев знает, что если избегать паттерна (12), то перестановка должна быть всюду убывающей, никакие два не должны возрастать. А такая перестановка только одна: (7654321).

        Но у нас может быть не один, а несколько паттернов. Тогда мы пытаемся избегать их всех.

        Давайте приведу более конкретный пример. Рассмотрим перестановки, которые избегают паттерна (123), то есть в перестановке нет возрастающей подпоследовательности длины 3. Зная стандартную комбинаторику, можно ответить так: это значит, что она состоит из объединения двух убывающих последовательностей, которые таким образом перемешаны. Оказывается, это старая теорема Макмахона 1915 года — что число таких перестановок равняется числу Каталана. Поэтому если взять другую перестановку длины 3, неважно какую, то для всех из них это будет число Каталана. И число перестановок, которые избегают паттерна (213), тоже будет числом Каталана. Это теорема Кнута, которую он доказал, но с точностью до симметрии, что есть два типа паттернов длиной 3: один такой и один такой. Остальные получаются переворотом. Или можно вычесть 4, 4, 4 — всю перестановку. Тогда подсчет будет точно таким же.

        Я не доказал теорему, это хорошее упражнение, особенно вот эта часть не так очевидно считается. Но посчитать можно. Это настолько знаменитая теорема, что у нее сейчас имеются десятки доказательств. Некоторые из них очень красивые, объективные, некоторые довольно сложные, рекуррентные, но перед нами довольно стандартная теорема, с которой все начинается.

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

        И общая задача — понять, как от множества паттернов зависит класс, куда попадают эти последовательности. Мы считаем перестановки, которые не содержат каких-то подперестановок, и пытаемся понять, как они устроены.

        Гипотеза Нунана и Зайлбергера, которой много лет, звучит примерно так: если у нас есть любой набор паттернов, то последовательность числа перестановок, которые избегают этого набора паттернов, всегда будет Р-рекурсивной, а эквивалентная производящая функция будет удовлетворять обыкновенному дифференциальному уравнению.

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

        Я не могу вам привести 31 тысячу перестановок — даже не буду пытаться. Чуть-чуть объясню, откуда все берется, но мы не пытались ничего улучшить. Может, можно сделать меньше. Что такое несколько тысяч перестановок между друзьями? Ерунда. Тем более, что речь о перестановках всего 80 элементов. Такова наша главная теорема.

        Чтобы вы попытались ее понять, сначала объясню историю, а потом приведу кое-какие теоремы, иллюстрирующие, откуда все берется и как это в принципе доказать. Вопрос, о котором идет речь, — старый. Он возник в 90-х годах, когда эта область стала бурно развиваться. Не буду рассказывать, что такое усиленная версия, но Апкинсон доказал: вопрос Нунана и Зайлбергера эквивалентен вопросу Гесселя — гипотезе 1990 года. Но сам Зайлбергер передумал и в какой-то момент решил, что гипотеза, скорее всего, неверна. Но уже в этом конкретном случае, если есть только одна перестановка длины 4, (1324), последовательность перестановок, не содержащих такой паттерн, не будет Р-рекурсивной. Однако это открытая задача.

        Наш пример состоит из 31 тысячи перестановок, а здесь только одна перестановка длины 4. Казалось, какая ерунда, можно сесть и посчитать, а вот не получается. Даже для Р-рекурсивных последовательностей очень сложно что-то доказать. Если последовательность Р-рекурсивна, то вы можете привести соотношение в явном виде. Если последовательность не Р-рекурсивна, то как вы это докажете? В этом и состоит сложность.

        Что же мы на самом деле сделали? Мы доказали более сильный результат. Он состоит в том, что для довольно большого класса функций существует два таких набора паттернов F и F’, что разница между числом перестановок, содержащим один и другой по модулю 2, как раз и будет той самой функцией, которую мы выбрали. Для примерного понимания: это будет вычислимая функция. Для всех вычислимых и очень плохих функций мы можем придумать два очень плохих набора паттернов.

        Теорема 2. Предположим, у нас есть два набора паттернов, F и F’. Мы хотим понять, всегда ли их разница является четной? Речь про разницу для числа перестановок, которое содержит один паттерн, минус число перестановок, содержащее другой паттерн. Иначе говоря, у них всегда будет одна и та же четность или нет?

        Оказывается, это неразрешимая задача. Нет никакой машины Тьюринга, которая может решить ее — в которую вы положите F и F’ в качестве входящих данных и исходящий ответ будет «Да» или «Нет». В какой-то момент четность поменяется.

        Задача о том, какова четность у числа перестановок, избегающих данного набора паттернов, может быть сколь угодно сложной. Я привел именно такой пример — не очень хотел много писать, тут и без того много степеней двойки. Думаю, что их может быть и больше.

        Следовательно, для любого k существует два таких набора перестановок, что в первый раз они поменяют четность очень далеко. Если бы они поменяли ее близко, можно было бы написать машину Тьюринга и проверить четность до этого места. Значит, существует два набора, у которых много-много одинаковой четности. А потом — раз, стали разные. Для этого нет никакой причины, но именно так все и работает.

        Перейдем к другому, стандартному следствию из той же теоремы разрешимости. Существует два набора перестановок, для которых нельзя ни доказать, ни опровергнуть, что четность у них всегда одинаковая. Она не зависит от вашей аксиоматики. Такие наборы паттернов — в них можно засунуть любую логику. Это примерно то же самое, что и континуум-проблема. Речь тоже идет о задаче, которая является независимой от теоремы Франклина и Чойза.

        Значит, посчитать число очень сложно, но мы не можем доказать, что это сложно. Мы можем доказать это только по модулю 2.

        Мы до сих пор не знаем, является ли справедливым выражение Р = NP. Зато мы знаем много других вычислительных задач: мы опять же не знаем, чему они соответствуют, но можем много чего написать.

        Что такое NP? Например, если задача содержит Гамильтонов цикл, то она лежит в NP. Если я дам вам Гамильтонов цикл и скажу проверить, является ли он на самом деле Гамильтоновым, то такую задачу можно выполнить за полиномиальное время.

        Дальше имеется ⊕P. Мы говорим, что хотим посчитать четность числа Гамильтонова цикла в графе. Это очень простая и естественная вещь. Но оказывается, что задача Р = ⊕P довольно похожа на Р = NP — или нет. Если сказанное было бы правдой, если бы Р равнялось ⊕P — тогда вся полиномиальная иерархия схлопывается, все можно решить за полиномиальное время на машине с вероятностями. То есть оказывается, что способность указать четность числа Гамильтоновых циклов в графе очень показательно. Если вы такое можете сделать, то вы можете вообще все посчитать, в частности — число Гамильтоновых циклов в графе и т. д. Четность — очень ценная вещь.

        Мне нужно то же самое, но когда у нас все экспоненциальное. Помните, что нам надо за полиномиальное время посчитать n-й элемент последовательности. Но imput size n состоит из log (n) bits, то есть n можно записать с помощью log (n) нулей и единиц. Поэтому задача, которая решается за полимиальное время от n, на самом деле решается за экспоненциальное время от input. Поэтому нам нужно все абсолютно то же самое, но вместо P ≠ ⊕P мы пишем EXP ≠ ⊕EXP. Можно подумать, что у нас input вводится в unary, not in binary. Такой вот вам двухминутный курс Computation Complexity.

        Вот наша третья теорема, которую мы доказали. Если EXP ≠ ⊕EXP, то существует конечный набор — тоже примерно 31 тысяча — таких паттернов, что последовательность числа перестановок, не содержащих эти паттерны, не может быть получена за время, полиномиальное от n. В частности, есть случаи, когда не будет ни defined, ни AD, но это теорема 1 без дополнительного условия, а это — при условиях из Computation Complexity. Речь идет об условной теореме, а теорема один была безусловная. В каком-то смысле та сильнее, в каком-то смысле — эта.

        Значит, если у вас есть задача и вы, например, уверены, что посчитать четность некого числа связных графов на n элементах с точностью до изоморфизма — сложно и невозможно за полиномиальное время, то посчитать последовательность этих перестановок тоже очень сложно.

        Я привел один из возможных ответов на старый вопрос 1982 года: существует ли какая-то разумная комбинаторная последовательность, для которой не было бы алгоритма подсчета за полиномиальное время? Насколько она естественная или нет? У нас все-таки 31 тысяча перестановок длины 80 — тут можно спорить, естественная эта задача или нет. Но, по крайней мере, весь класс довольно естественный и мы при дополнительных условиях из Computation Complexity можем сказать, что да, эти числа нельзя посчитать за полиномиальное время, и что даже четность нельзя посчитать за полиномиальное время.

        Давайте я пропущу всякие автоматы и приведу лемму, понять которую довольно легко. Это очень важная лемма, на ее доказательство мы потратили несколько часов, а придумывали мы ее где-то полгода. Итак, лемма 1. Возьмем полиномиальную рекурсивную последовательность. Запишем бесконечную последовательность из нулей и единиц — будем просто смотреть на четность элементов этой Р-рекурсивной последовательности. Первая четная — поставим 0, вторая нечетная — поставим 1 и в итоге напишем бесконечное слово из нулей и единиц. И оказывается, что существует конечное слово из нулей и единиц, которое не является подсловом указанной бесконечной последовательности. Вот такая лемма. В принципе, не сложная, но очень важная.

        Вернемся к определению Р-рекурсивной последовательности. Если все эти соотношения равны нулю, то и r0(n)an + r1(n)an-1 будет равно нулю. Но так это не работает. Поскольку надо делить, лемма получается довольно сложной, но не слишком.

        Решение такое. Мы строим явную машину Тьюринга. Она в неком формальном смысле записывает последовательность 0, 1, 0,0, 0,1, 1,0 1,1, 0,0,0, 0,0,1 0,1,0, которая противоречит сказанному и содержит всевозможные конечные подслова.

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

        Мы берем матрицу размером не больше, чем 8х8. Но это блочные матрицы, и в них мы расставляем какие-то буквы, соответствующие неким блокам 10х10, которые мы запрещаем. Один набор содержит немного больше, чем другой, но в итоге у нас получаются матрицы примерно такого размера:

        Единственные матрицы, которые избегают всех подматриц, — те, которые идут вдоль диагонали и прямо кодируют то, что машина Тьюринга делает. Общая идея состоит в том, что мы берем машину Тьюринга и симулируем ее с помощью простых комбинаторных объектов, паттернов. Мы делаем так, чтобы большие матрицы, которые избегают подматриц, имели некий вид, похожий на то, как работала сама машина Тьюринга.

        Не могу ничего сказать про доказательство — оно довольно длинное и техничное. Мы используем довольно много всего. Я сказал про блоки 8х8 и про матрицы 10х10. Гипотеза, которую я могу сформулировать… Помните лемму 1 про последовательность нулей и единиц? Это очень слабый результат. Его достаточно для нашей теоремы, но мы думаем, что если эта последовательность Р-рекурсивна, то число возможных подслов из нулей и единиц, имеющихся там в принципе, — не больше, чем линейное. Мы не можем это доказать, даже полиномиально. Все, что мы можем, касается числа меньше, чем 2n. Но также мы можем взять число меньше, чем 1 + εn или чем какое-то ε, но мы не можем доказать, что для числа из подслов нулей и единиц у Р-рекурсивной последовательности найдется субэкспоненциальная функция. И как раз эту гипотезу мы доказали.

        Мы доказательство еще даже не опубликовали пока. Оно усиливает предыдущую теорему. Мы умеем доказывать, что наш набор не только не будет Р-рекурсивным, но не будет даже ADE. Это последний класс, который мы сформулировали. С помощью паттернов можно задавать очень плохие последовательности. Ключевая идея состоит в том, что не существует последовательности, удовлетворяющей алгебре дифференциальных уравнений, которые являются четными только для K! + K и только для таких n.

        Это очень быстрорастущая последовательность. Речь про функцию Дирихле, там были n2. Это случай, когда одни были нечетными, а остальные — четными. Это К! + К, и мы говорим, что последовательность, нечетная в этом случае и четная в остальных случаях, никогда не удовлетворяет алгебре дифференциальных уравнений. Вот я вам и рассказал про лемму, которую мы доказали и используем.

        Откуда все это берется? Как до такого можно додуматься? Есть две причины, по которым мы до этого додумались. Одна состоит в том, что мы довольно хорошо понимаем, как работает замощение или Wang tiles. Мы замощаем огромный квадрат маленькими квадратиками 1х1. Предположим, границы квадрата расписаны неким периодическим образом. Имеется конечный набор этих Wang tiles, маленьких подквадратиков. Речь про очень стандартную и знаменитую задачу: можно ли замостить всю плоскость в случае, когда у нас нет границы, а есть просто набор? Это неразрешимая задача, а кроме того, это еще и знаменитая теорема.

        Но в случае, когда у нас есть конечный квадрат с зафиксированными границами, эту задачу тоже довольно много изучали. Про нее все понятно. Эта задача такая же, как наша, они немножко похожи. В ней все можно делать сколь угодно сложно. Но из-за того, что объекты проще, про них все довольно хорошо известно.

        Задачу Концевича не буду рассказывать.

        Быстро расскажу несколько гипотез. Первая такая: я вам дам два набора запрещенных паттернов и число перестановок, которые запрещают 1. Верно ли, что оно всегда равно тому, которое не содержит другое? Мы считаем, что такая задача неразрешима, но это не следует из того, что мы доказали. Из того, что мы доказали, следует, что она неразрешима по модулю 2, то есть что четность неразрешима. Может быть, они сразу начинают быть очень разными, расти очень по-разному? Мы не знаем, верно это или нет.

        С другой стороны, мы считаем, что если у нас есть только одна перестановка, то все задачи разрешимы. Можно понять, что число таких равно числу таких. Это, может быть, даже можно понять за полиномиальное время — мы не знаем. У нас набор из 31 тысячи паттернов. Что будет, когда перестановка только одна, сказать сложно.

        Однако мы думаем, что Зайлбергер прав и последовательность перестановок, не содержащих такую подперестановку, не будет Р-рекурсивной.

        Последняя гипотеза говорит о том, что задача посчитать числа, которые не содержат паттерны, сложна в своем вычислительном классе. Даже чтобы ее просто сформулировать, потребуется некоторое время.

        Собственно, все. Всем спасибо.

        Комментарии (0)

          Let's block ads! (Why?)

          [Перевод] Закат Stack Overflow

          Как тролли захватили ваш любимый сайт вопросов и ответов по программированию

          Сайт Stack Overflow был создан в 2008 году Джеффом Этвудом и Джоэлем Спольским как более открытая альтернатива возникшим ранее аналогичным сайтам, таким как, например, Experts-Exchange. Название для сайта было выбрано голосованием в апреле 2008 года читателями популярного блога по программированию Coding Horror, который вёл Этвуд.

          Многие годы сайт Stack Overflow был одним из самых популярных ресурсов для программистов, пытающихся решить какую-то проблему. Поскольку вопросы, размещавшиеся на Stack Overflow, часто оказывались среди первых, которые выдавал Google в каком-либо поиске, относившемся к программированию, то пользователи массово приходили на сайт и начинали задавать свои собственные вопросы.

          На июль 2015 года у Stack Overflow было более 4 млн. зарегистрированных пользователей и почти 10 млн. вопросов (без учёта удалённых пользователей и вопросов). Однако в исследовании 2013 года было выявлено, что 77% пользователей задают только один вопрос, 65% отвечают только на один вопрос и лишь 8% пользователей дают ответы на более чем 5 вопросов. В настоящей статье я хотел бы рассмотреть возможные причины такого чрезвычайно низкого процента.


          Джоэль Спольский и Джефф Этвудом на конференции MIX09 в 2009 году

          Stack Overflow ненавидит новых пользователей


          Новые пользователи ощущают себя особенно неуютно, входя на Stack Overflow. Процитируем Иона Бишопа:
          Stack Overflow всегда был ресурсом с уровнем выше среднего для нахождения ответов на вопросы по программированию. В частности, на этом сайте я нашёл немало полезных ответов на действительно трудные вопросы, многие из которых помогли мне преодолеть проблемы на работе или с программными проектами, которыми я занимался «для души». Поэтому я решил зарегистрироваться на сайте, чтобы увидеть, могу ли быть чем-нибудь полезен. Никогда прежде ни один сайт не производил на меня худшего первого впечатления.

          Чтобы сохранить это сообщество максимально «чистым» и организованным, новые пользователи с самого начала имеют очень мало прав. По замыслу это, конечно, хорошая идея. На практике это делает трудной задачу хоть как-то развиваться для новых пользователей. Я прочитал несколько вопросов сегодня и хотел бы написать несколько комментариев для оригинального поста. К сожалению, я не в состоянии оставить мои комментарии, поскольку новые пользователи не имеют права комментировать не свои собственные статьи (пользователь обязан заработать «репутацию», чтобы получить такое право). Размещение моего комментария как «ответ» на оригинальный вопрос представляется мне не очень подходящей формой, поэтому я не делаю этого.

          Постранствовав по сайту, я нашёл несколько вопросов, на которые я, как мне кажется, мог ответить. Как только я вошёл, чтобы ответить на эти вопросы, вдруг ворвался кто-то ещё (в некоторых случаях, несколько человек) и просто избил меня. У меня не было никакой возможности дать полезный ответ. Мало того, что вы должны очень хорошо знать обсуждаемый предмет, но вы также должны быть очень быстрыми в предоставлении указанного ответа. В конце концов, я дал ответ на вопрос, но понял, что мой подход не будет работать. Прежде чем я смог принять меры и подкорректировать мой ответ, моя записка была уже заминусована несколькими людьми, некоторые из которых оставили язвительные замечания. Ну, очень тёплый приём нового пользователя! Я впоследствии удалил мой ответ.
          Источник



          Вопросы новичков воспринимаются весьма недоброжелательно

          Stack Overflow также ненавидит большинство других своих пользователей


          Не только новые пользователи испытывают чувство враждебности на сайте. Некто на Hacker News выразил общее ощущение, получаемое многими программистами (опытными или не очень) при их попытках участвовать в активности Stack Overflow.
          Когда я только начал программировать, я мог использовать SO, не задавая вопросов, поскольку то, что мне хотелось выяснить, было довольно простым. Это было замечательно, потому что многие ответы помогли мне понять больше о «необъятной вселенной» проблем, с которыми я мог бы встретиться в ходе разработок, и эти ответы подтолкнули меня глубже изучить язык.

          После того как я начал задавать вопросы, я старался отвечать на комментарии, отмечал и плюсовал лучшие ответы. Я хотел быть хорошим участником этого сообщества. И взаимность была частью этого: в конце концов, я решил, что сам могу отвечать на вопросы; помню, какое было прекрасное ощущение, когда первый раз увидел +25 в моём профиле, потому что кто-то принял мой ответ.

          В наши дни, если я задаю вопрос, то это потому, что я потратил немало времени на поиск ответа и не смог найти его сам. Что же происходит, когда я задаю вопрос на SO:

          1. Я задаю вопрос, размещаю код и полученное сообщение об ошибке.
          2. Вопрос заминусован.
          3. Отвечаю на комментарий, в котором говорится, что мой вопрос уже был ранее (это не так, что я и разъясняю, чтобы избежать ситуации «снято как повтор»).
          4. Отвечаю на комментарий об отсутствующей точке с запятой, которая была удалена, когда я вырезал/вставлял/форматировал мой код. (Хотя сообщение об ошибке ясно показывает, что проблема не в отсутствующей точке с запятой).
          5. У вопроса появился лайк.
          6. Ответ! Написано, что я должен читать документацию, и дана ссылка на раздел, не имеющий отношения к теме вопроса (документацию я, разумеется, уже читал).
          7. Наконец, полезный ответ! Выглядит довольно хорошо; я тестирую его, и — проблема решена. Я принимаю и лайкаю ответ.
          8. Замечаю, что менее чем через 1 минуту после принятого мною ответа пришёл дублирующий. Его автор выражает недовольство, сообщая, что его запись была размещена раньше. Я ссылаюсь на отметку времени, показывающую, что другой отправитель был первым, и получаю ответ, что это баг, связанный с часовыми поясами.
          9. Позже я перепроверяю и замечаю сообщение: «Вопрос снят, как неточный, ответ на него невозможен».
          10. Перепроверяю ещё раз и вижу, что кто-то заминусовал мой вопрос.
          11. Отправляю письмо модератору, чтобы снять минусование.
          Источник


          Стивен К. Хикс указал 8 причин, почему он почувствовал себя не в состоянии больше участвовать в этом сообществе, после того как был очень активным пользователем довольно долгое время:
          — Вечная проблема в сентябре. Многие новые пользователи Stack Overflow [SO] чрезвычайно редко соблюдают правила сообщества. Я не знаю, как решить эту проблему, но раздражает видеть вопросы, звучащие как послание о помощи. SO позиционирует себя как сайт с очень лаконичными вопросами и ответами. Он — не дискуссионный форум. [Он, скорее, поддержка и подарок]. Другая проблема в том, что снова и снова идут повторы, несмотря на сердитых модераторов, борющихся с этим. Одним из примеров являются вопросы о том, где найти бесплатные данные по котировке акций.

          — Вопросы, относящиеся к разработке ПО, которые, по сути, не являются техническими, часто заминусовываются и/или снимаются. Примером может быть вопрос о специфическом наборе данных [для целей обучения/разработки], который был снят по причине, что он «не соответствует сообществу». Хотя существует сайт StackExchange, связанный с наборами данных, куда мог бы быть перенаправлен этот вопрос, сам вопрос, несомненно, относится к разработке ПО. Написав «сайт StackExchange,…, куда мог бы быть перенаправлен этот вопрос», я имел в виду полностью функционирующий сайт, а не тот, что в настоящее время «разработан» / на Зоне 51. Снятие вопроса как «нерелевантного» не помогает ни автору, ни тем людям, которые ищут аналогичный набор данных.

          — Минусование как средство для снятия вопроса. Пользователь, чтобы получить право голосовать за снятие вопроса, должен иметь 250 репутационных баллов. Если вы участвуете в сообществе, то на их накопление не требуется много времени. Минусование должно быть способом отметить, что имеет место ошибочная, дезориентирующая или бесполезная информация. Если пользователь полагает, что вопрос должен быть снят, но его репутации недостаточно для этого, то следует написать комментарий и привести аргументы за снятие.

          — Минусование правильных, но отличающихся от привычных ответов. Проблема возникает, когда вопросы могут иметь несколько ответов. Пример: обычным ответом на вопрос об оптимизации Java-приложения является предложение использовать более эффективный алгоритм. За этот ответ проголосует, скорее всего, большинство. Однако другим правильным ответом является предложение переписать процесс на языке более низкого уровня и подсоединить его через программный канал [Socket, inproc, JNI и т.п.] к основному приложению. Такое предложение лучше применимо для довольно необычных ситуаций, но оно всё же является правильным и осуществимым. Из моего опыта могу сказать, что этот второй ответ будет заминусован, несмотря на то, что он даёт правильную информацию. Я обсуждал ситуацию с одним модератором [Shog9], и, по его мнению, такая стратегия является вполне приемлемой стратегией заминусовывания ответа, заслуживающего уважения.

          — Сдвинутые по времени / повторные ответы. Поскольку я прекратил свою активность в сообществе, я не могу сказать, насколько часто это происходит. Однако при появлении вопроса часто возникает лавина ответов. Через некоторое время кто-то помещает повтор ответа и получает за него голосов больше, чем за первоначальный ответ. Такое труднее выявить, но оно происходит и очень раздражает.

          — Неправильно приписываемая репутация ответам: если есть другие ответы, которые помогают вам в ответе на вопрос, то, пожалуйста, цитируйте тех других авторов. Это — проявление вежливости и правдивости. [Также тех, кого вы цитируете, необходимо отметить за их ответ].

          — Здесь ещё один из странных случаев на Stack Overflow. Некоторые из вопросов, отнесённых к «Точным повторам», являются, на самом деле, не повторами в силу небольших, но важных различий. Я не могу сейчас привести пример, но комментаторы часто быстро без тщательной проверки решают, что имеет место точный повтор. Иногда такое обвинение не подкреплено никаким доказательством. Ссылки на другие вопросы считаются достаточным доказательством.

          — Значение репутации: после глобального пересчёта создатели сайта сделали решительное заявление, что участие не оценивается на сайте. Пересчёт обесценил вопросы, и новая политика была применена ретроспективно. Это привело к потере репутации. Создатели сайта заявили, что «репутация была бесполезной», что противоречило их предыдущей формулировке, что репутация является «показателем того, насколько сообщество доверяет вам». Основываясь на предшествующем заявлении, можно было бы утверждать, что пользователь, имеющий 500 репутационных баллов, оценивается как Джон Скит [хорошо известный в сообществе пользователь и автор многих технических книг].

          Источник


          Стоит ли теперь удивляться, что многие программисты, которые много лет были зарегистрированы на Stack Overflow, всё чаще уходят с платформы?

          Господство привилегированных троллей


          В блоге Michael’s Techbox анонимный комментатор оставил следующее замечание:
          Сайты Stack Exchange объявлены местом «бесплатного и открытого» обмена информацией, но в действительности они захвачены некоторым небольшим количеством участников, которые просто пытаются получить оценочные баллы, «бейджики» и статус модератора, желая выступать «экспертами» и претендовать на удалённую работу.
          Например, посмотрите на активность этого пользователя, которая вместо выдачи полезных технических ответов состоит исключительно из осуждения ответов других людей:

          Источник

          В блоге The Programming Works было высказано аналогичное мнение

          Я когда-то высказался на этом посту: «Если у вас есть вопрос по программированию, то Stack Overflow, вероятно, самое лучшее место, чтобы задать ваш вопрос». Так было, когда SO стартовал несколько лет назад; теперь — нет.
          Сейчас ваши шансы получить полезный ответ на ваш вопрос на SO близки к нулю. Вместо этого вы получите ворох комментариев, утверждающих, что ваш вопрос, например, не соответствует SO или неправильно сформулирован или ещё что-то — и ничего полезного.
          SO сейчас — ещё один зоопарк троллей и агрессивно-самоуверенных новичков.

          Источник


          Оба материала иллюстрируют, по-моему, коренную проблему Stack Overflow. Имеется некоторое количество демократически избранных модераторов, которые, как предполагалось, обязаны следовать некоторым довольно чётко сформулированным указаниям о том, как быть хорошими модераторами. Сайт имеет также весьма большое число пользователей с привилегиями:
          • 39 000 пользователей с репутацией 2 000 или больше имеют возможность редактировать вопросы других людей.
          • 26 000 пользователей с репутацией 3 000 или больше имеют возможность снимать вопросы. Пять голосов за снятие переводят вопрос в состояние «заблокирован».
          • 6 900 пользователей с репутацией 10 000 или больше имеют возможность удалять вопросы.

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


          Смеёмся нервно — как иначе на это реагировать?

          В то время как я пишу эту статью, Jason Sachs (известный также как Jason S) находится под № 503 в списке пользователей с самой высокой за все времена репутацией — 70 688 баллов. Он также является одним из наиболее уважаемых пользователей Stack Overflow, которые решили прекратить затрачивать свою энергию на этом сайте. Вспоминая вышедший в 1995-м году выпуск сериала Seinfeld, он называет этих маленьких фюреров «супными фэнами»:

          Поклонники сериала Seinfeld помнят его выпуск в ноябре 1995-го года «Супный фэн», в котором герой узнаёт о ресторанчике, где готовят фантастические супы. Ресторанчик ведёт экстравагантная персона, у которой есть чрезвычайно строгие требования к своим клиентам; если клиент не выдерживает надлежащий ритуал и моления, то хозяин кричит: «Не будет тебе супа!» — и у вас стремительно отнимают тарелку с супом, прежде чем вы сможете что-то возразить.

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


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

          … или такой комментарий:
          Я вижу, что люди обычно снимают или минусуют вопрос немедленно, если считают этот вопрос хоть сколько-нибудь неправильным; требуется лишь 5 человек, чтобы признать ваш пост неправильным, хотя более 20-ти других пользователей сайта будут считать ответ правильным. Сообществу не нравится это, но не бывает никаких поясняющих комментариев, если вы не запросите их. Просто снять, спасибо, и приходите снова.
          Источник

          … или такой комментарий:
          Майкл Рихтер сделал хорошую работу по выявлению этой тенденции и её причин в своём посте «Почему я больше не участвую в работе StackOverflow» — он называет пользователей сайта, стремящихся к очень высокой репутации, «тусовкой распальцованных школяров» .
          Источник

          … или такой комментарий:
          Я думаю, что вы полностью правы, утверждая: «Этот сайт был предназначен обеспечить образцовый ресурс, позволяющий программистам найти ответы на их вопросы. Целые книги (причём очень хорошие) могут быть написаны на основе содержания самых лучших вопросов/ответов, размещённых здесь.» К сожалению, все они утонули в море бессмыслицы. Успех сайта привлекает к нему людей с вопросами о программировании (таких посетителей великое множество на Гугле). Это снижает способность системы к саморегулированию. Возникает потребность иметь нечто вроде «вступительного экзамена» для тех, кто желает отправить вопрос.
          Источник

          В своём блоге Джефф Этвуд, соучредитель Stack Overflow, объясняет значение слова «троллинг»:
          Классический тролль:
          1. Приходит, чтобы породить конфликт.
          2. Его, на самом деле, не заботит тема обсуждения.
          Некоторых троллей, может показаться, заботит тема, потому что они высказывают пусть крайние, но взгляды на неё и подолгу рассуждают о ней в мельчайших деталях для тех, кто готов их воспринимать. Такое может продолжаться дни, недели, месяцы … Но всё это — обман.

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


          Основываясь на этом определении, я предложил бы альтернативное название для «супных фэнов» или «тусовки распальцованных школяров»: «сверхпривилегированные тролли». Да, вы прочитали правильно. Мало того, что сайт Stack Overflow страдает от фанатичных троллей, но и он является сообществом, где тролли, на самом деле, главные. Неудивительно, что враждебность и инфантильное поведение стали нормой, определяющей взаимодействие на Stack Overflow! Ясно, что никто не стережёт самих сторожей.

          Meta.StackOverflow — сообщество, предназначенное для вопросов о StackOverflow. Это то место, куда, как вам говорят, можно обратиться с любыми претензиями к Stack Overflow, но там проблема, возможно, ещё хуже.

          Латинская фраза «Quis custodiet ipsos custodes?» или «Кто устережёт самих сторожей?» является крылатым выражением в сатире и политической литературе, по крайней мере, с античного времени. Это означает, что любая система легко перестаёт выполнять функции, для которых она была создана, если её хранители имеют неограниченную власть.

          Чтобы ещё более ухудшить ситуацию, сетевое программное обеспечение Stack Exchange автоматически удаляет вопросы, которые отвечают следующим критериям:

          • Снят более 9 дней назад
          • Не снят как повтор
          • Счёт <= 0
          • Не заблокирован
          • Нет ответов со счётом > 0
          • Нет принятого ответа
          • Нет подвешенных вновь открытых голосов
          • Редактирование в последние 9 дней не проводилось

          Следствием этого является то, что многие хорошие вопросы не только снимаются, прежде чем кто-либо может ответить, но и то, что многие из них, в конечном итоге, исчезают всего лишь через 9 дней.

          Я думаю, что любой вопрос на Stack Overflow может быть охарактеризован, как не относящийся к теме сайта, если достаточно, чтобы только привилегированные тролли проголосовали за его снятие.

          Есть ли какая-нибудь альтернатива?


          Quora может показаться очевидным выбором, но этот сайт имеет много проблем, схожих с проблемами Stack Overflow, хотя и менее очевидным образом. Например, заминусованные ответы умело укрыты от большинства пользователей, и не редкость удаление ответов без какого-либо объяснения или уведомления и/или без видимых следов для всех, кроме автора ответа. Quora даёт некоторым пользователям абсолютно анонимные полномочия редактировать сайт так, как они считают целесообразным, но почти никто, кажется, не знает об этом.

          Таким образом, в то время как Quora может показаться более демократичным и более здравым сайтом, на самом деле это только поверхностное впечатление. Троллинг и прямой мелкий авторитаризм привилегированных пользователей не менее часто встречается и на этом сайте. По многим из тех же самых причин, по каким антиутопия Хаксли «Дивный новый мир» представляется более страшной и беспокоящей, чем антиутопия Оруэлла «1984», сообщество на Quora страшит и беспокоит больше, чем на сайте Stack Overflow.

          По крайней мере, Stack Overflow не заботится о том, чтобы скрыть свою тоталитарную природу от тех, кто готов уделить больше, чем несколько минут внимания внутренней работе сайта. По крайней мере, диктаторы на Stack Overflow как-то публично известны и должны дать открытое объяснение, когда они решают снять какой-то вопрос. И, возможно, ещё более важно то, что Stack Overflow не выводит нас из себя бесчисленными дурацкими вопросами типа: «Шерил Сандберг когда-нибудь что-нибудь откладывает на потом?». Несмотря на все недостатки, его слабые попытки сделать управляемым контроль качества, осуществляемый сообществом, не так плохи, как то же на сайте Quora.

          Комментарии (0)

            Let's block ads! (Why?)