Chcę zrozumieć teorię typów, ale najpierw muszę wiedzieć, jak ją zastosować. Czy może być więcej nieoczywistych zastosowań teorii typów poza systemami typu w programowaniu? Czy mogą być inne aplikacje, powiedzmy w profilowaniu osobowości i tym
Chcę zrozumieć teorię typów, ale najpierw muszę wiedzieć, jak ją zastosować. Czy może być więcej nieoczywistych zastosowań teorii typów poza systemami typu w programowaniu? Czy mogą być inne aplikacje, powiedzmy w profilowaniu osobowości i tym
Typy własne są rozszerzeniem Rachunku konstrukcji [1], które pozwalają językowi wyrażać algebraiczne typy danych zakodowane za pomocą kodowania Scott. Kodowanie Scott daje możliwość dopasowania do wzorca O(1), który jest jednym z głównych czynników motywujących do włączenia definicji indukcyjnych...
Uczę się, jak konwertować NFA na DFA i chcę się upewnić, że robię to dobrze. Oczywiście powrót w innym kierunku nie jest niczym. Czy ktoś zna algorytm sprawdzający, czy DFA jest równoważne z
Uwaga: Wiem, że podobne pytania brzmią już tutaj i na Stackoverflow. Ale wszystkie dotyczą kolizji, o co nie proszę. Moje pytanie brzmi: dlaczego collision- mniej odnośnika O(1)w pierwszej kolejności? Załóżmy, że mam tę tabelę skrótów: Hash Content ------------- ghdjg Data1 hgdzs Data2 eruit...
Próbowałem dowiedzieć się, czy problem zatrzymania jest rozstrzygalny w przypadku trójwymiarowych jednowymiarowych automatów komórkowych. Definicja Niech f(w,i)f(w,i)f(w,i) oznacza konfigurację systemu w kroku czasowym iii . Bardziej formalnie f:A∗×N→A∗f:A∗×N→A∗f:A^*\times \mathbb{N} \to A^* ,...
Z mojego czytania wynika, że większość gramatyk dotyczy generowania nieskończonej liczby łańcuchów. Co jeśli pracowałeś na odwrót? Jeśli podano n łańcuchów o długości m, powinno być możliwe stworzenie gramatyki, która wygeneruje te łańcuchy i tylko te łańcuchy. Czy istnieje znana metoda...
Wdrażam algorytm Naive Bayesa do kategoryzacji tekstu z wygładzaniem Laplaciana. Problem, który mam, polega na tym, że prawdopodobieństwo zbliża się do zera, ponieważ mnożę wiele małych ułamków. Dlatego prawdopodobieństwo ostatecznie daje zero. Jest tak, ponieważ w dokumentach i zestawach...
Napisałem ten kod w Pythonie i zastanawiałem się, czy czasami po prostu się nie kończy (zakładając, że mamy nieskończoną pamięć / czas i nie ma ograniczenia głębokości rekurencji). Intuicyjnie myślisz, że kończy się, ponieważ w pewnym momencie musisz mieć szczęście , a jeśli się nie skończy, masz...
Z tego odniesienia: Ścisła pozytywność Surowy warunek dodatni wyklucza deklaracje takie jak data Bad : Set where bad : (Bad → Bad) → Bad A B C -- A is in a negative position, B and C are OK Dlaczego A jest ujemne? Również dlaczego B jest dozwolone? Rozumiem, dlaczego C jest...
Nie znam poprawnej terminologii do zadawania tego pytania, dlatego opiszę to wieloma słowami, proszę o wyrozumiałość. Tło , więc jesteśmy na tej samej stronie: programy często zawierają pamięci podręczne - kompromis czas / pamięć. Częstym błędem programisty jest zapomnienie o aktualizacji pamięci...
Chcę przedstawić dowody dla części programu Haskell, który piszę w ramach mojej pracy magisterskiej. Jednak jak dotąd nie udało mi się znaleźć dobrej pracy referencyjnej. Książka wprowadzająca Grahama Huttona Programowanie w Haskell ( Google Books ) - którą czytam podczas nauki Haskell - porusza...
Ten dowód jest dowodem indukcyjnym i wygląda następująco: P (n) jest twierdzeniem, że „Quicksort poprawnie sortuje każdą tablicę wejściową o długości n”. Przypadek podstawowy: każda tablica wejściowa o długości 1 jest już posortowana (blokada P (1)) Krok indukcyjny: fix n => 2. Napraw...
Próbuję nauczyć się o obliczeniach kwantowych i mam przyzwoite rozumienie algebry liniowej. Przeszedłem przez bramę NIE, co nie było takie złe, ale potem dotarłem do bramy Hadamard. I utknąłem. Głównie dlatego, że chociaż „rozumiem” manipulacje, nie rozumiem, co naprawdę robią ani dlaczego chcesz...
Dowiedziałem się dzisiaj, że analiza algorytmów różni się w zależności od modelu obliczeniowego. To jest coś, o czym nigdy nie myślałem ani nie słyszałem. Przykładem podanym mi przez użytkownika @chi , który dalej to ilustruje : Np. Rozważ zadanie: dany zwraca x i . W pamięci RAM można to...
Rozważmy maszynę skończoną jak zwykle, ale przy każdym przejściu może ona także aktualizować licznik liczb całkowitych, dodając lub odejmując liczbę. Powiedzmy, funkcja przejścia w postaci δ(q,a)=(p,k)δ(q,a)=(p,k)\delta(q,a) = (p,k) przechodzi do nowego stanu ppp i dodaje kkk do licznika,...
Opisuję podejście do izomorfizmu grafowego, które prawdopodobnie ma fałszywie dodatnie, i jestem ciekawy, czy istnieje literatura wskazująca, że to nie działa. Biorąc pod uwagę dwa przylegania macierzy , co prawda naiwne Sposób sprawdzania izomorfizmie jest sprawdzenie, czy dla każdego rzędu U z...
Pochodząc z języka C ++ nie rozumiem, dlaczego jako obywatel pierwszej klasy potrzebne są typy / wyrażenia typu? Jedynym znanym mi językiem obsługującym tę funkcję jest Aldor. Czy ktoś ma literaturę na temat typów jako obywatel pierwszej klasy lub wie, dlaczego jest to...
Oto problem: Jest połączony wykres z węzłami reprezentującymi wiele osób. Każdy węzeł / osoba ma opinię na dany temat, np. Atut vs clinton, papierowe książki kontra kindle itp Celem jest, aby każdy węzeł na wykresie podzielał tę samą opinię, wybierając konkretny podzbiór węzłów, w określonej...
Jestem stosunkowo nowy w teorii typów i programowaniu zależnym. Studiowałem rachunek różniczkowy konstrukcji (CoC) i inne systemy czystego typu. Szczególnie interesuje mnie wykorzystanie go jako pośredniej reprezentacji zabezpieczającej system kompilatora. Rozumiem, że typy (ko) rekurencyjne są...
Z grubsza, wykres bezkierunkowy jest bardzo podobny do wykresu skierowanego, gdzie dla każdej krawędzi (v, w) zawsze jest krawędź (w, v). To sugeruje, że akceptowalne może być wyświetlanie nieukierunkowanych wykresów jako podzestawu kierowanych wykresów (być może z dodatkowym ograniczeniem, że...