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ě:
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:
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:
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:
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:
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é
- Geometrie interakce
- Přepisování grafů
- Lambda kalkul
- Gramatika lineárního grafu
- Lineární logika
- Kontrolní síť
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
- de Falco, Marc. "tikz-inet. Sada maker založených na tikz pro kreslení interakčních sítí" .
- de Falco, Marc. "INL. Laboratoř interakčních sítí" .
- Vilaça, Miguel. "INblobs. Editor a interpret pro Interaction Nets" .
- Asperti, Andrea. „Boloňský optimální stroj vyšších řádů“ .
- Salikhmetov, Anton. "JavaScriptový modul pro interakční sítě" .
- Salikhmetov, Anton. "Makro lambda kalkul" .




