-
Data: 2017-10-09 07:58:14
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu niedziela, 8 października 2017 23:30:19 UTC+2 użytkownik Maciej Sobczak
napisał:
> > > Słabe. Oba pojęcia to twory czysto teoretyczne, których nie ma nawet jak
zaimplementować.
> >
> > Masz jakąś szerszą wiedzę na ten temat?
>
> Podałeś linka a tam jest to opisane. Następnym razem podaj takiego linka, z którym
będziesz się zgadzał.
W artykule jest napisane:
"How does the NTM "know" which of these actions it should take? There are two ways of
looking at it. One is to say that the machine is the "luckiest possible guesser"; it
always picks a transition that eventually leads to an accepting state, if there is
such a transition. The other is to imagine that the machine "branches" into many
copies, each of which follows one of the possible transitions."
O ile wiem, nikt do tej pory nie udowodnił, że nie można
sensownie zaimplementować wariantu "luckiest possible guesser"
> > Z punktu widzenia dyskusji istotna jest kwestia, czy pojęcie
> > jest dobrze zdefiniowane.
>
> Bingo. Właśnie tego się od początku czepiam. :-)
No nie. Podałem przykład programu, który w istotny
sposób bazuje na losowości -- i jego działanie jako
takie nie jest w istocie deterministyczne, natomiast
Ty stwierdziłeś, że jest deterministyczne, bo owa losowość
w faktycznej implementacji będzie albo pseudo-losowością,
i wówczas będzie deterministyczna, albo będzie dodatkowym
wejściem do programu, przez co program jako taki również
będzie deterministyczny.
Czyli Twoja argumentacja NIE ODNOSIŁA się do istoty
pojęcia, tylko do (chyba niezbyt dobrze zdefiniowanej?)
koncepcji "implementowalności pojęcia"
> > Czy pisząc "początkowy wątek" masz na myśli Twoją niezgodę
> > na moje stwierdzenie, że "kompilator jest w istocie programem
> > czysto funkcyjnym"?
>
> Tak.
>
> > Jeśli tak, to nie oddalam się ani o jotę, bo w owym stwierdzeniu
> > nie ma ABSOLUTNIE NIC o "naszych komputerach".
>
> I teraz jesteśmy bliżej, bo mamy dokładniej zdefiniowany kontekst.
Wcześniej w tym stwierdzeniu również nie było nic o "naszych komputerach" ;p
> > Stwierdzenie owo jest równoważne powiedzeniu, że kompilator
> > jest zasadniczo rodzajem deterministycznego przekształcenia,
> > i nie wydaje mi się przesadnie kontrowersyjne.
>
> Ale dlaczego ma nie być kontrowersyjne? Przecież może być wiele sposobów na
kompilację (sam fakt, że jest wiele kompilatorów popularnych języków już na to
wskazuje, nie mówiąc o ich różnych opcjach), więc nie ma powodu twierdzić, że
kompilacja musi być deterministyczna.
My, jako ludzie, chcemy, żeby kompilacja była deterministyczna,
bo chcemy wiedzieć, czego możemy się spodziewać po kompilatorach.
> Problem jest tutaj w kryterium poprawności. O ile funkcja square ma dosyć dobrze
określone takie kryterium i w zasadzie to kryterium powoduje, że funkcja square
będzie deterministyczna (bo inny wynik dla tego samego argumentu będzie uznany za
niepoprawny), to poprawność kompilatora nie jest tak dobrze określona. Stąd też
mnogość kompilatorów. Stąd też brak wymagania na to, żeby kompilator był
deterministyczny. A skoro nie musi być deterministyczny, to nie ma powodu przypisywać
mu cechy bycia "czysto funkcyjnym".
Wydaje mi się, że jednak poprawność kompilatora jest dość dobrze
określona. Zaś o ile być może z perspektywy tego czy innego użytkownika
wymaganie, żeby kompilator był deterministyczny, może nie wydawać się
istotne, to z perspektywy osób, które tworzą kompilatory, takie wymaganie
jest jak najbardziej na miejscu. (Pominę tu kwestię ekwiwokacji, związanej
z tym, że raz słowo "kompilator" jest użyte w istotnym sensie, tzn.
odnosi się do programu realizującego przekształcenie, a innym razem
w sensie metonimicznym -- do pakietu oprogramowania, który daje użytkownikowi
różne "opcje")
> > Tobie się ono nie spodobało -- jak zrozumiałem -- z tego wględu,
> > że według Ciebie każdy program jest rodzajem deterministycznego
> > przekształcenia
>
> Tak. Na domniemanych współczesnych komputerach. Możemy od nich odejść, ale jeśli
mamy przy nich pozostać, to trzymam się determinizmu.
Tzn. na domniemanych przez Ciebie współczesnych komputerach.
Ja ze swojej strony w ogóle nie wypowiadałem się o komputerach,
tylko o programach.
Następne wpisy z tego wątku
- 09.10.17 14:25 Maciej Sobczak
- 09.10.17 18:12 fir
- 09.10.17 19:47 g...@g...com
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Jeździ, skręca, hamuje
- 2025-01-06 Białystok => System Architect (Java background) <=
- 2025-01-06 Gliwice => Specjalista ds. public relations <=
- 2025-01-06 Białystok => Solution Architect (Java background) <=
- 2025-01-06 Zielona GĂłra => Konsultant WdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg