Позволять быть алфавитом, то есть непустым конечным множеством. Строка - это любая конечная последовательность элементов (символов) из, Например, это двоичный алфавит и это строка для этого алфавита.
Обычно, пока содержит более 1 элемента, точное количество элементов в не имеет значения: в лучшем случае мы получаем где-то другую константу. Другими словами, не имеет значения, используем ли мы двоичный алфавит, цифры, латинский алфавит или Unicode.
Есть ли примеры ситуаций, в которых важно, насколько велик алфавит?
Я заинтересован в этом потому, что случайно наткнулся на один такой пример:
Для любого алфавита мы определяем случайный оракул быть оракулом, который возвращает случайные элементы из так, что каждый элемент имеет равную вероятность быть возвращенным (таким образом, шанс для каждого элемента ).
Для некоторых алфавитов а также - возможно разных размеров - рассмотрим класс оракулов с доступом к , Мы заинтересованы в машинах оракула этого класса, которые ведут себя так же, как, Другими словами, мы хотим обратить оракула в оракула используя машину Тьюринга. Мы назовем такую машину Тьюринга программой преобразования.
Позволять а также , преобразование в оракула это просто: мы запрашиваем дважды, конвертируя результаты следующим образом: , , , , Понятно, что эта программа работает в время.
Теперь давай а также , Для этих двух языков все конверсионные программы работают в время, то есть нет программ конвертации из в которые бегут в время.
Это может быть доказано противоречием: предположим, что существует конверсионная программа от в работает в время. Это означает, что есть такой, что делает максимум запросы к ,
может сделать меньше чем запросы в определенных путях выполнения. Мы можем легко построить программу конвертации который выполняет , отслеживая, сколько раз был сделан запрос оракула. Позволять быть число оракулов. затем делает дополнительные запросы оракула, отбрасывая результаты, возвращая то, что вернулся бы.
Таким образом, есть именно пути выполнения для , Точно из этих путей выполнения приведет к возврате , Однако,не является целым числом, поэтому у нас есть противоречие. Следовательно, такой программы не существует.
В целом, если у нас есть алфавиты а также с а также тогда существует программа преобразования из в тогда и только тогда, когда все простые числа появляются в главном разложении также появляются в основной факторизации (так что показатели простых чисел при факторизации не имеют значения).
Следствием этого является то, что если у нас есть генератор случайных чисел, генерирующий двоичную строку длины мы не можем использовать этот генератор случайных чисел для генерации числа в с точно равной вероятностью.
Я придумал вышеупомянутую проблему, стоя в супермаркете, размышляя, что есть на ужин. Я задавался вопросом, могу ли я использовать броски монет, чтобы выбрать между выбором A, B и C. Как оказалось, это невозможно.
Ответы:
В теории формального языка есть несколько примеров, когда двухбуквенный и трехбуквенный алфавиты дают качественно различное поведение. Козен приводит следующий хороший пример (перефразированный):
источник
Доказательство Динуром теоремы PCP в значительной степени основано на манипуляции размером алфавита
В частности, общая структура доказательства представляет собой итеративное применение метода питания графов - логарифм по размеру графа количество раз. На каждой итерации график предварительно обрабатывается в регулярный расширяющийся граф, усиливается степенью (которая увеличивает размер алфавита), а затем применяется композиция PCP (превращающая каждое ограничение большого алфавита в систему ограничений над маленький алфавит).
Неявная цель этого процесса состоит в том, чтобы найти способ повторно использовать этап амплификации, пока значение UNSAT не станет постоянной величиной (доказательство теоремы PCP). Ключевым моментом является то, что, если размер алфавита не возвращается каждый раз, результирующий график не является тем, что необходимо для окончательного сокращения.
источник
Требования вашего примера довольно строгие. Если вы расслабитесь, чтобы только потребовать, чтобы преобразование работало вO(1) в ожидании . Можно сэмплировать равномерно из{0,1,2} используя, в ожидании, постоянное количество подбрасываний монет.
Я не эксперт в этом, но один хороший пример, где размер алфавита имеет значение, это кодирование и сжатые структуры данных. Представьте, что вы хотите представить сообщение по алфавиту{0,1,2} в алфавите {0,1} (например, чтобы сохранить его в вашем двоичном компьютере). Вы хотите минимизировать требуемое пространство, но в то же время хотите иметь возможность быстро читать и писать отдельные символы сообщения (скажем, вO(1) ). Подобные проблемы изучались довольно давно. Хорошая отправная точка должна послужить недавней работе Додиса, Патраску и Торупа, а также ссылкам в ней.
источник
В кодах с исправлением ошибок возможно, что есть принципиальное различие между двоичными кодами и кодами над большими алфавитами в том, что некоторые примеры Гилберта Варшамова для кодов, которые исправляют часть ошибок (которые по существу являются жадными или случайными примерами), считаются некоторыми быть стесненным в двоичном случае и, как известно, не стесняться в большом алфавите с помощью кодов алгебраической геометрии. Это побудило некоторых предположить, что стандартное определение кодов с исправлением ошибок для большого алфавита не является правильным аналогом двоичных кодов с исправлением ошибок.
источник
В моем собственном исследовании небольших различий в размерах алфавита я столкнулся с интересным случаем, который привел к существенным различиям в получившейся теории. Грубое описание проблемы обучения вероятностных схем состоит в следующем: ученик может переопределять ворота скрытой цепи и наблюдать полученный вывод, а цель состоит в том, чтобы произвести «функционально эквивалентную» цепь. Для логических цепей всякий раз, когда затвор имеет «влияние» на выход, можно изолировать влиятельный путь от этого затвора до выхода схемы. Для цепей алфавита размером≥ 3 это больше не имеет место - а именно, есть схемы, которые имеют затворы, которые имеют большое влияние на выходное значение, но не влияют на какой-либо один путь к выходу! Мы нашли этот результат довольно удивительным.
Результат несколько технический, но если вам интересно, вы можете сопоставить лемму 8 с разделом 4.1 для соответствующих утверждений теоремы.
источник