Dywergencja (informatyka)

W informatyce mówi się, że obliczenia są rozbieżne , jeśli nie kończą się lub kończą w wyjątkowym stanie . W przeciwnym razie mówi się, że jest zbieżny . W dziedzinach, w których oczekuje się, że obliczenia będą nieskończone, takich jak rachunki procesowe , mówi się, że obliczenia rozchodzą się, jeśli nie są produktywne (tj. Kontynuują wytwarzanie działania w skończonym czasie).

Definicje

Różne poddziedziny informatyki używają różnych, ale matematycznie precyzyjnych definicji tego, co oznacza zbieżność lub rozbieżność obliczeń.

Przepisanie

W abstrakcyjnym przepisaniu abstrakcyjny system przepisywania nazywany jest zbieżnym, jeśli jest zarówno konfluentny , jak i końcowy .

Zapis t n oznacza, że ​​t redukuje się do postaci normalnej n przy zerowej lub większej liczbie redukcji , t ↓ oznacza, że ​​t redukuje się do jakiejś postaci normalnej przy zerowej lub większej liczbie redukcji, a t ↑ oznacza, że ​​t nie redukuje się do postaci normalnej; to ostatnie jest niemożliwe w kończącym się systemie przepisywania.

W rachunku lambda wyrażenie jest rozbieżne, jeśli nie ma postaci normalnej .

Semantyka denotacyjna

W semantyce denotacyjnej funkcję obiektu fa : ZA B można modelować jako funkcję matematyczną gdzie ⊥ ( dół ) wskazuje, że funkcja obiektu lub jej argument jest rozbieżny.

Teoria współbieżności

W rachunku komunikowania się procesów sekwencyjnych rozbieżność to drastyczna sytuacja, w której proces wykonuje niekończącą się serię ukrytych działań. Rozważmy na przykład następujący proces, zdefiniowany przez notację CSP :

Ślady tego procesu definiuje się jako:

Rozważmy teraz następujący proces, który ukrywa zdarzenie tick procesu Clock :

Z definicji proces P nazywany jest procesem rozbieżnym.

Zobacz też

Notatki