Model obliczeń - Model of computation
W informatyce , a dokładniej w teorii obliczalności i teorii złożoności obliczeniowej , model obliczeniowy to model, który opisuje, w jaki sposób obliczane są dane wyjściowe funkcji matematycznej, biorąc pod uwagę dane wejściowe. Model opisuje sposób organizacji jednostek obliczeń, pamięci i komunikacji. Złożoność obliczeniowa o algorytm może być zmierzone dane model obliczeń. Korzystanie z modelu pozwala na badanie wydajności algorytmów niezależnie od odmian, które są specyficzne dla poszczególnych implementacji i konkretnej technologii.
Modele
Modele obliczeniowe można podzielić na trzy kategorie: modele sekwencyjne, modele funkcjonalne i modele współbieżne.
Modele sekwencyjne obejmują:
- Maszyny skończone
- Maszyny pocztowe (maszyny post-Turinga i maszyny tagowe ).
- Automaty do wciskania
- Zarejestruj maszyny
- Maszyny Turinga
Modele funkcjonalne obejmują:
Modele współbieżne obejmują:
- Model aktora
- Automat komórkowy
- Sieci interakcji
- Sieci procesowe Kahna
- Bramki logiczne i układy cyfrowe
- Sieci Petriego
- Synchroniczny przepływ danych
Niektóre z tych modeli mają zarówno warianty deterministyczne, jak i niedeterministyczne . Modele niedeterministyczne nie są przydatne do obliczeń praktycznych; są wykorzystywane w badaniu złożoności obliczeniowej algorytmów.
Modele różnią się siłą wyrazu; na przykład każda funkcja, która może być obliczona przez maszynę skończoną, może być również obliczona przez maszynę Turinga , ale nie odwrotnie.
Zastosowania
W dziedzinie analizy algorytmów w czasie wykonywania powszechne jest określanie modelu obliczeniowego w kategoriach dozwolonych operacji prymitywnych, które mają koszt jednostkowy, lub po prostu operacji kosztu jednostkowego . Powszechnie używanym przykładem jest maszyna o dostępie swobodnym , która ma koszt jednostkowy dostępu do odczytu i zapisu do wszystkich komórek pamięci. Pod tym względem różni się od wspomnianego modelu maszyny Turinga.
Kategorie
Istnieje wiele modeli obliczeń, różniących się zbiorem dopuszczalnych operacji i kosztem ich obliczeń. Należą do następujących szerokich kategorii:
- Maszyna abstrakcyjna i równoważne jej modele (np. rachunek lambda jest odpowiednikiem maszyny Turinga ) - wykorzystywane w dowodach obliczalności i górnych granic złożoności obliczeniowej algorytmów.
- Modele drzew decyzyjnych - stosowane w dowodach dolnych granic złożoności obliczeniowej problemów algorytmicznych.
Zobacz też
- Układarka ( maszyna 0-operandowa)
- Maszyna akumulatorowa ( maszyna 1-operandowa)
- Maszyna rejestrująca (2,3,... maszyna operandowa)
- Maszyna o dostępie swobodnym
- Model sondy komórkowej
- Model zapytań Robertsona-Webba
- Hierarchia Chomskiego
- kompletność Turinga
Bibliografia
Dalsza lektura
- Fernández, Maribel (2009). Modele obliczeń: wprowadzenie do teorii obliczalności . Studia licencjackie z informatyki. Skoczek. Numer ISBN 978-1-84882-433-1.
- Dziki, John E. (1998). Modele obliczeniowe: odkrywanie mocy obliczeniowej . Addisona-Wesleya. Numer ISBN 978-0201895391.