Jump to content

Обобщенный распределительный закон

Обобщенный дистрибутивный закон (GDL) — это обобщение распределительного свойства , которое приводит к общему алгоритму передачи сообщений . [1] Это синтез работ многих авторов в области теории информации , цифровых коммуникаций , обработки сигналов , статистики и искусственного интеллекта . Закон и алгоритм были представлены в полуучебнике Шриниваса М. Аджи и Роберта Дж. МакЭлиса с таким же названием. [1]

Введение

[ редактировать ]

«Распределительный закон в математике — это закон, связывающий операции умножения и сложения, выраженный символически: ; то есть мономиальный множитель распределяется или применяется отдельно к каждому члену биномиального коэффициента , в результате чего получается продукт " - Британника [2]

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

Более формально это объясняется в примере ниже:

где и являются вещественнозначными функциями, и (сказать)

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

Если мы применим распределительный закон к правой части уравнения, мы получим следующее:

Это означает, что можно охарактеризовать как продукт где и

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

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

1. Алгоритмы декодирования
Алгоритм, подобный GDL, использовался Галлагером для декодирования кодов с низкой плотностью проверки на четность. На основе работы Галлагера Таннер представил граф Таннера и выразил работу Галлагера в форме передачи сообщений. Граф кожевников также помог объяснить алгоритм Витерби .

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

2. Алгоритм вперед-назад
Алгоритм вперед-назад помог в качестве алгоритма отслеживания состояний в цепи Маркова . И здесь также использовался алгоритм GDL, подобный общности.

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

Проблема MPF

[ редактировать ]

MPF или маргинализация функции продукта — это общая вычислительная задача, которая в качестве частного случая включает в себя множество классических задач, таких как вычисление дискретного преобразования Адамара , декодирование с линейного кода без памяти максимальным правдоподобием по каналу и умножение цепочки матриц . Сила GDL заключается в том, что он применим к ситуациям, в которых сложение и умножение являются обобщенными.Коммутативное полукольцо является хорошей основой для объяснения такого поведения. Он определен на множестве с операторами» " и " " где и являются коммутативными моноидами и выполняется распределительный закон.

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

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

Теперь глобальное ядро определяется как:

Определение проблемы MPF : для одного или нескольких индексов. , вычислить таблицу значений - маргинализация глобального ядра , что является функцией определяется как

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

Ниже приведен пример проблемы MPF. Позволять и быть такими переменными, что и . Здесь и . Данными функциями, использующими эти переменные, являются и и нам нужно посчитать и определяется как:

Здесь локальные домены и локальные ядра определяются следующим образом:

локальные домены локальные ядра

где это целевая функция и это целевая функция.

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

локальные домены локальные ядра

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

и целевая функция в локальной области является

Это преобразование Адамара функции . Следовательно, мы видим, что вычисление преобразования Адамара является частным случаем проблемы MPF. Можно продемонстрировать больше примеров, чтобы доказать, что проблема MPF образует частные случаи многих классических проблем, как описано выше, подробности которых можно найти по адресу [1]

GDL: алгоритм решения задачи MPF

[ редактировать ]

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

Например,

Пример 1. Рассмотрим следующие девять локальных доменов:

Для приведенного выше набора локальных доменов можно организовать их в дерево соединений, как показано ниже:

Пример соединения деревьев
An example of a junction of tree

Аналогично, если задан другой набор, подобный следующему

Пример 2. Рассмотрим следующие четыре локальных домена:

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

5. ,
6. ,

Аналогично для этого набора доменов дерево соединений выглядит, как показано ниже:

Еще один пример дерева соединений
Another example of a junction tree

Алгоритм обобщенного распределительного закона (GDL)

[ редактировать ]

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

=

где означает, что является смежной вершиной с в дереве.

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

Основная работа алгоритма

[ редактировать ]

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

Планирование передачи сообщений и вычисления состояния

[ редактировать ]

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

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

Например, давайте рассмотрим дерево соединений, построенное на основе набора локальных областей, приведенных выше, то есть набора из примера 1,
Теперь таблица планирования для этих доменов (где целевая вершина ).










Таким образом, сложность Single Vertex GDL можно показать как

арифметические операции
Где (Примечание: объяснение приведенного выше уравнения будет дано далее в статье)
это этикетка .
это степень (т.е. количество вершин, смежных с v).

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

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

Построение дерева соединений

[ редактировать ]

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

где n — количество элементов в этом наборе. Для большей ясности и подробностей, пожалуйста, обратитесь к ним. [3] [4]

Теорема о расписании

[ редактировать ]

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

ПРИМЕЧАНИЕ: выше приведены все возможные направления, по которым сообщение может перемещаться по дереву.

Расписание GDL определяется как конечная последовательность подмножеств . Что обычно представлено { }, Где набор сообщений, обновляемых в течение раунд запуска алгоритма.

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

и если есть путь из к

Вычислительная сложность

[ редактировать ]

Здесь мы попытаемся объяснить сложность решения задачи МПФ количеством математических операций, необходимых для расчета. т.е. мы сравниваем количество операций, требуемых при расчете с использованием обычного метода (здесь под нормальным методом мы подразумеваем методы, которые не используют передачу сообщений или деревья соединений в коротких методах, не использующих концепции GDL) и количество операций с использованием обобщенный распределительный закон.

Пример: рассмотрим простейший случай, когда нам нужно вычислить следующее выражение .

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

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

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

Ниже приводится сложность решения дерева соединений с использованием передачи сообщений.

Перепишем использованную ранее формулу к следующему виду. Это уравнение для отправки сообщения из вершины v в вершину w.

----уравнение сообщения

Аналогично перепишем уравнение для расчета состояния вершины v следующим образом

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

дополнения и

умножения.

(Мы представляем как .)

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

дополнения и

умножения

Общее количество арифметических операций, необходимых для отправки сообщения по краям дерева будет

дополнения и

умножения.

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

дополнения и

умножения

Таким образом, общая сумма вычислений равна

----

где является ребром, и его размер определяется выражением

Формула выше дает нам верхнюю границу.

Если мы определим сложность ребра как

Поэтому, можно записать как

Теперь мы рассчитаем сложность ребра для задачи, определенной на рисунке 1, следующим образом:

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

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

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

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

  1. ^ Jump up to: а б с Аджи, С.М.; МакЭлис, Р.Дж. (март 2000 г.). «Обобщенный распределительный закон» (PDF) . Транзакции IEEE по теории информации . 46 (2): 325–343. дои : 10.1109/18.825794 .
  2. ^ «распределительный закон» . Британская энциклопедия. Британская онлайн-энциклопедия . Британская энциклопедия Inc. Проверено 1 мая 2012 г.
  3. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 19 марта 2015 г. Проверено 19 марта 2015 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка ) Алгоритмы дерева соединений
  4. ^ http://www-anw.cs.umass.edu/~cs691t/SS02/lectures/week7.PDF. Архивировано 26 мая 2012 г. на Wayback Machine. Алгоритм дерева соединений.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5040fd2de589273369a82acc4ba811f7__1712416740
URL1:https://arc.ask3.ru/arc/aa/50/f7/5040fd2de589273369a82acc4ba811f7.html
Заголовок, (Title) документа по адресу, URL1:
Generalized distributive law - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)