Сети взаимодействия - Interaction nets

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

Определения

Сети взаимодействий представляют собой графоподобные структуры, состоящие из агентов и ребер .

Агент типа и с арностью имеет один главный порт и вспомогательные порты . Любой порт может быть подключен не более чем к одному краю. Порты, не подключенные ни к одному из ребер, называются свободными портами . Бесплатные порты вместе образуют интерфейс сети взаимодействия. Все типы агентов принадлежат к набору, называемому сигнатурой .

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

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

Примитивы сетей взаимодействия

Когда два агента соединены друг с другом своими основными портами, они образуют активную пару . Для активных пар можно ввести правила взаимодействия, которые описывают, как активная пара перезаписывается в другую сеть взаимодействия. Сеть взаимодействия без активных пар называется нормальной . Подпись (с определенной на ней) вместе с набором правил взаимодействия, определенных для агентов, вместе составляют систему взаимодействия .

Исчисление взаимодействий

Текстовое представление сетей взаимодействия называется исчислением взаимодействий и может рассматриваться как язык программирования.

Индуктивно определенные деревья соответствуют терминам в исчислении взаимодействий, где называется именем .

Любую сеть взаимодействия можно перерисовать с использованием ранее определенных примитивов проводки и дерева следующим образом:

Сеть взаимодействия как конфигурация

что в исчислении взаимодействий соответствует конфигурации

,

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

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

Любое правило взаимодействия можно графически представить следующим образом:

Правило взаимодействия

где , а сеть взаимодействия с правой стороны перерисовывается с использованием примитивов проводки и дерева для преобразования в исчисление взаимодействий с использованием нотации Лафонта.

Исчисление взаимодействий определяет сокращение конфигураций более подробно, чем это видно из переписывания графа, определенного для сетей взаимодействия. А именно, если , следующее сокращение:

называется взаимодействием . Когда одно из уравнений имеет форму , может применяться косвенное обращение, приводящее к замене другого вхождения имени в некоторый термин :

или .

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

Характеристики

Сети взаимодействия обладают следующими свойствами:

  • местность (можно переписать только активные пары);
  • линейность (каждое правило взаимодействия может применяться в постоянное время);
  • сильное слияние, также известное как свойство одношагового алмаза (если и , то и для некоторых ).

Вместе эти свойства обеспечивают массовый параллелизм.

Комбинаторы взаимодействия

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

  • называется стиранием ;
  • называется дублированием ;
  • и называется аннигиляцией .

Графически правила стирания и дублирования можно представить следующим образом:

Примеры сетей взаимодействия

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

Недетерминированное расширение

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

Недетерминированный агент

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

Смотрите также

Рекомендации

дальнейшее чтение

  • Асперти, Андреа; Геррини, Стефано (1998). Оптимальная реализация языков функционального программирования . Кембриджские трактаты в теоретической информатике. 45 . Издательство Кембриджского университета. ISBN 9780521621120.
  • Фернандес, Марибель (2009). «Модели вычислений, основанные на взаимодействии». Модели вычислений: введение в теорию вычислимости . Springer Science & Business Media. С. 107–130. ISBN 9781848824348.

Внешние ссылки