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ż
- 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
- F.-R. Sinot. „ Director Strings Revisited: Generic Approach to the Efficient Representation of Free Variables in Higher-order Rewriting ” Journal of Logic and Computation 15 (2), strony 201-218, 2005.