Definicja zbioru dopuszczalnych operacji używanych do obliczeń i odpowiadających im kosztów. Niektóre przykłady modeli obejmują maszyny Turinga, funkcje rekurencyjne, rachunek lambda i systemy produkcyjne.
Czytałem ostatnio o rachunku Lambda, ale o dziwo nie mogę znaleźć wyjaśnienia, dlaczego nazywa się on „Lambda” lub skąd pochodzi to wyrażenie. Czy ktoś może wyjaśnić pochodzenie tego terminu?
Jestem studentem CS. Rozumiem, jak Turing wymyślił swoją abstrakcyjną maszynę (modelującą osobę wykonującą obliczenia), ale wydaje mi się to niewygodną, nieelegacyjną abstrakcją. Dlaczego uważamy „taśmę” i maszynę piszącą symbole, zmieniającą stan, przesuwającą taśmę tam iz powrotem? Jakie jest podstawowe znaczenie? DFA jest elegancki - wydaje się, że dokładnie przechwytuje to, …
Zgadzam się, że maszyna Turinga może „rozwiązać wszystkie możliwe problemy matematyczne”. Jest tak, ponieważ jest to tylko reprezentacja algorytmu na maszynie: najpierw zrób to, a następnie zrób to, a na końcu wyślij to. Chodzi mi o to, że wszystko, co można rozwiązać, może być reprezentowane przez algorytm (ponieważ jest to …
W obliczeniach kwantowych jaki jest równoważny model maszyny Turinga? Jest dla mnie całkiem jasne, w jaki sposób można zbudować obwody kwantowe z bram kwantowych, ale jak możemy zdefiniować kwantową maszynę Turinga (QTM), która może faktycznie korzystać z efektów kwantowych, a mianowicie działać na układach wielowymiarowych?
Zastanawiając się nad tym, jak przyjazny dla wielu wątków musi być nasz program, mój zespół zastanawiał się, czy nie da się nic zrobić na jednordzeniowym procesorze. Stwierdziłem, że przetwarzanie grafiki wymaga masowo równoległego przetwarzania, ale argumentują, że takie rzeczy jak DOOM zostały wykonane na jednordzeniowych procesorach bez GPU. Czy jest …
Złożoność algorytmu została zaprojektowana w taki sposób, aby była niezależna od szczegółów niższego poziomu, ale opiera się na modelu imperatywnym, np. Dostęp do tablicy i modyfikowanie węzła w drzewie zajmuje O (1). Nie dotyczy to wyłącznie języków funkcjonalnych. Dostęp do listy Haskell zajmuje liniowy czas. Modyfikowanie węzła w drzewie wymaga …
Klasycznie istnieją 3 popularne sposoby myślenia o obliczeniach: maszyna Turinga, obwody i rachunek lambda (używam tego jako haczyka dla większości widoków funkcjonalnych). Wszystkie 3 były owocnymi sposobami myślenia o różnych typach problemów, a różne dziedziny stosują różne formuły z tego powodu. Kiedy jednak pracuję z obliczeniami kwantowymi, zawsze myślę tylko …
Jakie różnice i zależności występują między algorytmami losowymi a algorytmami niedeterministycznymi? Z Wikipedii Randomizowane algorytm jest algorytmem, w którym stosuje się stopniem losowości jako część logiki. Algorytm zwykle wykorzystuje jednolicie losowe bity jako pomocnicze dane wejściowe do kierowania jego zachowaniem, w nadziei na osiągnięcie dobrej wydajności w „przeciętnym przypadku” względem …
Natknąłem poniżej rachunku przez Alana M. Turinga tutaj : „Pogląd, że maszyny nie mogą wywoływać niespodzianek, jest, jak sądzę, spowodowany błędem, któremu szczególnie podoba się filozofów i matematyków. Jest to założenie, że jak tylko fakt zostanie przedstawiony umysłowi, wszystkie konsekwencje tego faktu stają się widoczne umysł jednocześnie z nim. Jest …
Wikipedia, jak również inne źródła, które znalazłem, wskazują voidtyp C jako typ jednostki, a nie typ pusty. Uważam to za mylące, ponieważ wydaje mi się, że voidlepiej pasuje do definicji typu pustego / dolnego. voidO ile wiem, nie zamieszkują żadnych wartości . Funkcja z typem zwracanym void określa, że funkcja …
Ostatnio w mojej klasie CS zapoznałem się z Maszyną Turinga. Po zajęciach spędziłem ponad 2 godziny, próbując dowiedzieć się, jaki jest związek między taśmą a maszyną. Byłem całkowicie nieświadomy istnienia taśm komputerowych lub tego, jak taśmy i maszyny współdziałały do dziś. Nadal nie rozumiem, dlaczego maszyna odczytuje taśmy, ale skaner …
Zgodnie z zaleceniem przesyłam ponownie z Przepełnienia stosu . Ostatnio zastanawiałem się nad następującym problemem. Rozważ kod standardowego „Hello world!” program: main() { printf("Hello World"); } Teraz prawie każda zmiana w tym kodzie sprawi, że będzie on całkowicie bezużyteczny, w rzeczywistości prawie każda zmiana uniemożliwi kompilację kodu. Na przykład: main(5 …
Niedawno usłyszałem ciekawą analogię, która stwierdza, że dowód Turinga na nierozstrzygalność problemu zatrzymania jest bardzo podobny do paradoksu fryzjerskiego Russella. Zastanawiałem się więc: matematycy w końcu zdołali ujednolicić teorię zbiorów, przechodząc od naiwnego sformułowania pola przez Cantora do bardziej złożonego systemu aksjomatów (teoria zbiorów ZFC), dokonując po drodze istotnych wyłączeń …
Szukam wyjaśnienia, w jaki sposób można udowodnić, że dwa modele obliczeń są równoważne. Czytałem książki na ten temat, z tym wyjątkiem, że pominięto dowody równoważności. Mam podstawowe pojęcie o tym, co to znaczy, że dwa modele obliczeń są równoważne (widok automatów: jeśli akceptują te same języki). Czy istnieją inne sposoby …
Rozważając modele maszynowe obliczeń, hierarchię Chomsky'ego zazwyczaj charakteryzuje (w kolejności), automat skończony, automat push-down, automat liniowo związany i maszyny Turinga. W przypadku pierwszego i ostatniego poziomu 1 (języki zwykłe i języki z wyliczaniem rekurencyjnym) nie ma różnicy w sile modelu, czy rozważamy maszyny deterministyczne czy niedeterministyczne, tj. DFA są równoważne …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.