Ciąg reżyserski

W matematyce , w obszarze rachunku lambda i obliczeń , dyrektorzy lub ciągi dyrektorskie są mechanizmem śledzenia wolnych zmiennych w terminie . Mówiąc luźno, można je rozumieć jako rodzaj zapamiętywania zmiennych swobodnych; to znaczy jako optymalizacji do szybkiego lokalizowania zmiennych wolnych w algebrze terminów lub w wyrażeniu lambda. Ciągi Director zostały wprowadzone przez Kennawaya i Sleepa w 1982 roku, a dalej rozwijane przez Sinot, Fernández i Mackie jako mechanizm do zrozumienia i kontrolowania kosztu złożoności obliczeniowej redukcji beta .

Motywacja

W redukcji beta definiuje się wartość wyrażenia po lewej stronie jako wartość wyrażenia po prawej stronie:

lub (Zastąp wszystkie x w E (ciało) przez y )

Chociaż jest to koncepcyjnie prosta operacja, złożoność obliczeniowa tego kroku może być nietrywialna: naiwny algorytm przeszukałby wyrażenie E pod kątem wszystkich wystąpień zmiennej swobodnej x . Taki algorytm ma wyraźnie O ( n ) długości wyrażenia E . W ten sposób jest się zmotywowanym do śledzenia w jakiś sposób wystąpień wolnych zmiennych w wyrażeniu. Można próbować śledzić pozycję każdej wolnej zmiennej, gdziekolwiek występuje w wyrażeniu, ale może to oczywiście stać się bardzo kosztowne pod względem przechowywania; ponadto zapewnia poziom szczegółowości, który tak naprawdę nie jest potrzebny. Ciągi Director sugerują, że poprawnym modelem jest śledzenie wolnych zmiennych w sposób hierarchiczny, poprzez śledzenie ich użycia w terminach składowych.

Definicja

Rozważmy, dla uproszczenia, termin algebrę , czyli zbiór wolnych zmiennych, stałych i operatorów, które można dowolnie łączyć. Załóżmy, że wyraz t ma postać

gdzie f jest funkcją o arity n , bez wolnych zmiennych , a są to mogą zawierać lub nie zawierać wolnych zmiennych Niech V oznacza zbiór wszystkich zmiennych wolnych, które mogą wystąpić w zbiorze wszystkich terminów. Reżyserem jest więc mapa

od wolnych zmiennych do potęgi zbioru X . Wartości przyjmowane przez listą indeksów, których występuje dana zmienna przykład, jeśli zmienna swobodna w i ale w żaden inny sposób σ .

Zatem dla każdego terminu wszystkich terminów się funkcję i zamiast pracować tylko z terminami t , t \ in T } jeden działa z parami . Zatem złożoność czasowa znalezienia wolnych zmiennych w t jest wymieniana na złożoność przestrzenną utrzymywania listy terminów, w których występuje zmienna.

Sprawa ogólna

Chociaż powyższa definicja jest sformułowana w terminach algebry , ogólna koncepcja ma zastosowanie bardziej ogólne i może być zdefiniowana zarówno dla algebr kombinatorycznych , jak i dla właściwego rachunku lambda , w szczególności w ramach jawnego podstawienia .

Zobacz też

  1. Bibliografia _ Sinot, M. Fernández i I. Mackie. Efektywne redukcje za pomocą ciągów reżyserskich . w Proc. Techniki i zastosowania przepisywania . Springer LNCS tom 2706, 2003