Interakční sítě - Interaction nets

Interakční sítě jsou grafický model výpočtu, který navrhl Yves Lafont v roce 1990 jako zobecnění důkazních struktur lineární logiky . Systém interakční sítě je určen sadou typů agentů a sadou pravidel interakce. Interakční sítě jsou inherentně distribuovaným modelem výpočtu v tom smyslu, že výpočty mohou probíhat současně v mnoha částech interakční sítě a není nutná žádná synchronizace. Ten je v tomto modelu výpočtu zaručen silnou konfluenční vlastností redukce. Interakční sítě tak poskytují přirozený jazyk pro masivní paralelismus. Interakční sítě jsou jádrem mnoha implementací lambda kalkulu , jako je efektivní uzavřená redukce a optimální, v Lévyho smyslu, Lambdascope.

Definice

Sítě interakcí jsou struktury podobné grafům skládající se z agentů a hran .

Agent typu a s arity má jeden hlavní port a pomocné porty . K nejvýše jedné hraně lze připojit jakýkoli port. Porty, které nejsou připojeny k žádné hraně, se nazývají volné porty . Volné porty společně tvoří rozhraní interakční sítě. Všechny typy agentů patří do sady zvané podpis .

Interakční síť, která se skládá pouze z hran, se nazývá kabeláž a obvykle se označuje jako . Strom s kořenem je indukčně definována buď jako hrana , nebo jako činidlo svým volným hlavním portem a jeho pomocných porty připojené ke kořenům jiných stromů .

Graficky lze primitivní struktury interakčních sítí reprezentovat následovně:

Primitiva interakčních sítí

Když jsou dva agenti navzájem propojeni svými hlavními porty, tvoří aktivní pár . Pro aktivní páry lze zavést pravidla interakce, která popisují, jak se aktivní pár přepisuje do jiné interakční sítě. Interakční síť bez aktivních párů se říká, že je v normální formě . Podpis (s ním definovaným) spolu se sadou pravidel interakce definovaných pro agenty společně tvoří systém interakce .

Interakční kalkul

Textová reprezentace interakčních sítí se nazývá interakční kalkul a lze ji považovat za programovací jazyk.

Induktivně definované stromy odpovídají výrazům v interakčním kalkulu, kde se nazývá jméno .

Libovolnou interakční síť lze překreslit pomocí dříve definovaných zapojení a stromových primitiv takto:

Interakční síť jako konfigurace

který v interakčním kalkulu odpovídá konfiguraci

,

kde , a jsou libovolné výrazy. Uspořádaná sekvence na levé straně se nazývá rozhraní , zatímco pravá strana obsahuje neuspořádanou multiset rovnic . Zapojení se překládá na jména a každé jméno se musí v konfiguraci vyskytnout přesně dvakrát.

Stejně jako v -calculus má interakční kalkul pojmy -konverze a substituce přirozeně definované v konfiguracích. Konkrétně lze oba výskyty libovolného názvu nahradit novým názvem, pokud se v dané konfiguraci nevyskytuje. Konfigurace jsou považovány za ekvivalentní až do -konverze. Substituce je zase výsledkem nahrazení jména v termínu jiným termínem, pokud má v termínu přesně jeden výskyt .

Libovolné pravidlo interakce lze graficky znázornit takto:

Pravidlo interakce

kde a interakční síť na pravé straně je překreslena pomocí kabeláže a stromových primitiv, aby se promítla do interakčního kalkulu jako Lafontova notace.

Interakční kalkul definuje redukci na konfiguracích podrobněji, než je vidět z přepisování grafů definovaného na interakčních sítích. Jmenovitě, pokud , následující redukce:

se nazývá interakce . Pokud má jedna z rovnic formu , lze použít indirection, což má za následek nahrazení jiného výskytu jména v určitém termínu :

nebo .

Rovnice se nazývá zablokování, pokud se vyskytne v termínu . Obecně se berou v úvahu pouze interakční sítě bez zablokování. Společně interakce a indirection definují redukční vztah na konfiguracích. Skutečnost, že konfigurace klesá do své normální podoby, aniž by zbyly rovnice, se označuje jako .

Vlastnosti

Interakční sítě těží z následujících vlastností:

  • lokalita (lze přepsat pouze aktivní páry);
  • linearita (každé pravidlo interakce lze použít v konstantním čase);
  • silný soutok známý také jako jednokroková diamantová vlastnost (pokud a poté a pro některé ).

Tyto vlastnosti společně umožňují masivní paralelismus.

Interakční kombinátory

Jedním z nejjednodušších interakčních systémů, který dokáže simulovat jakýkoli jiný interakční systém, je systém kombinátorů interakcí . Jeho podpis je s a . Pravidla interakce pro tyto agenty jsou:

  • nazývá mazání ;
  • nazývá se duplikace ;
  • a volal zničení .

Graficky lze pravidla mazání a duplikace znázornit takto:

Příklady interakčních sítí

s příkladem nekončící interakční sítě, která se redukuje sama na sebe. Jeho nekonečná redukční sekvence vycházející z odpovídající konfigurace v interakčním kalkulu je následující:

Nedeterministické rozšíření

Interakční sítě jsou v podstatě deterministické a nemohou přímo modelovat nedeterministické výpočty. Aby bylo možné vyjádřit nedeterministickou volbu, je třeba rozšířit interakční sítě. Ve skutečnosti stačí zavést pouze jednoho agenta se dvěma hlavními porty a následujícími pravidly interakce:

Nedeterministický agent

Tento rozlišující agent představuje nejednoznačnou volbu a lze jej použít k simulaci jakéhokoli jiného agenta s libovolným počtem hlavních portů. Například umožňuje definovat booleovskou operaci, která vrací true, pokud je některý z jejích argumentů pravdivý, nezávisle na výpočtu probíhajícím v ostatních argumentech.

Viz také

Reference

Další čtení

  • Asperti, Andrea; Guerrini, Stefano (1998). Optimální implementace funkčních programovacích jazyků . Cambridge Tracts v teoretické informatice. 45 . Cambridge University Press. ISBN 9780521621120.
  • Fernández, Maribel (2009). "Interakční modely výpočtu". Modely výpočtu: Úvod do teorie vypočítatelnosti . Springer Science & Business Media. 107–130. ISBN 9781848824348.

externí odkazy