Uwaga: Zamiast pedantic odpowiedź.
Istnieje wiele przypadków, w których D (f) = f (D definiowane jako dekompresja). Kompresja nie jest jednak tak precyzyjnie zdefiniowana. W przypadku większości algorytmów kompresji różne implementacje algorytmu kompresji dają różne pliki wyjściowe (o różnych rozmiarach). Rozważ dwa programy, 1 i 2. Aby zapewnić pełną interoperacyjność, konieczne jest, aby D1 (F) było równe D2 (F) dla wszystkich ważnych F. Podobnie, konieczne jest, aby D2 (C2 (f)) == D2 (C1 (F)) == D1 (C1 (F)) == D1 (C2 (F)), dla wszystkich ważnych F. Jednak zupełnie nie jest konieczne, aby C1 (F) == C2 (F), a to w rzeczywistości rzadko walizka.
Jest więc mało prawdopodobne, aby skompresować takie kwerendy, aby uzyskać ten sam plik, chyba że użyje się tego samego programu, który został użyty do jego wygenerowania (co jest mało prawdopodobne, ponieważ takie kwanty są zwykle wykonane ręcznie, z C (F) nigdy nawet nie testowane).
O ile jest możliwe (naprawdę banalne!), Aby wytworzyć program, dla którego C (F) == F dla jakiegoś F, większość ludzi ma tendencję do wskazywania jako quines, lepiej zdefiniowanego przypadku, w którym D (F) == F (od D1 (F) == D2 (F) dla wszystkich poprawnych, zgodnych dekompresji formatu F, zakładając, że F jest prawidłowe).
Są więc prawdopodobne przypadki, w których C (F) == F, ale ogólnie jest to niewłaściwe pytanie, a zamiast tego należy poprosić o przypadki, w których D (F) == F ... które inne osoby odpowiedział na to pytanie.
Fajnie! A propos, czy masz kopię artykułu z drugiego linku? Facet powiedział, że go zgubił ... Naprawdę byłbym wdzięczny za przeczytanie tego! Dziękuję za odpowiedź! –
@Bruno Reis: Przepraszam, obawiam się, że nie. –
Schludny. Warto zauważyć, że chociaż dekompresja pierwszego wyniku daje wynik, to kompresja nie działa. Odpowiedź Briana na ten temat oczywiście się rozwija. –