danek
2019-11-13 15:51

Z dziwnych przemyśleń to niemutowalność chyba rozwiązuje trochę paradoks statku tezeusza

Chramar

Tak trochę nie jestem przekonany, bo ten paradoks zakłada chyba mutowalność. To trochę jakby „rozwiązać” paradoksy związane z podróżami w czasie mówiąc, że nie można podróżować w czasie :D

Afish

@Chramar: A jak definiujesz mutowalność? Jeżeli jest to niemożność stwierdzenia z zewnątrz wystąpienia zmiany, to problem dalej pozostaje. Jeżeli traktujesz ją dosłownie, czyli że w środku obiektu nic nie może się zmienić, to wtedy chyba masz rację.

jarekr000000

Niemutowalność rozwiązuje ładnie problem modelowania OO zwany jako Punkt Koło Elipsa

wartek01

@danek: akurat paradoks statku Tezeusza dotyczy obiektów mutowalnych, więc niemutowalność w żaden sposób go nie dotyka. Poza tym cały paradoks wynika z - jak bardzo często w przypadku paradoksów - niedopowiedzenia. Z jednej strony mamy "statek Tezeusza", który jest identyfikowany po fakcie bycia posiadanym przez Tezeusza. Z drugiej strony to, czy statek jest statkiem Tezeusza definiujemy przez jego skład.

WhiteLightning

Potencjalne rozwiazanie: wezmy przez analogie byt: komputer Jarka (jakis PC). Czy jesli Jarek bedzie przekladal w nim czesci itp. ktokolwiek bedzie mial watpliwosci w ktoryms momencie, ze to wciaz komputer Jarka ? Czy jesli Jarek bedzie go dawal do serwisu, i wymianiel w nim rozne czesci na inne nawet do momentu wymiany calosci czy to zmieni cokolwiek? nie. Moim zdaniem to wciaz bedzie komputer Jarka. BTW. byla jakas ciekawa odmiana tego gdzie kopiowalismy mozg/osobe i czy to ta sama osoba oraz gdybysmy kopiowali mozg dokladnie powiedzmy po atomie w ktorym momencie pojawi sie swiadomosc ?

Magiczny

@WhiteLightning: określenie "komputer Jarka" jest to określenie przynależności a nie opis tożsamości obiektu. Bo jak Jarek kupi nowy komputer z zupełnie nowymi częściami, to to też bedzie "komputer Janka".

jarekr000000

Jak dla mnie w fp koncepcja niemutowalności w praktyce oznacza, że nie operujemy pojęciem typu komputer PC Jarka (lub dojarka jarka) - tylko mamy niemutowalny snapshot. Jest ten zrzut (przekrój) powiązany jakoś z bytem rzeczywistym (przez jakieś id przykłądowo), ale nie do końca staramy się ten byt rzeczywisty w programie odwzorować. To znaczy, że na spokojnie operujemy wieloma kopiami tego bytu naraz (bo to są takie zdjęcia - migawki). Oczywiście to niejako zrzuca problem na kolejną warstwę - bo teraz kwestia to nie z czego sie składa statek Tezeusza, tylko co nam wskazuje, że to o czym tu mówimy, i czego np. ID posiadamy to jest statek Tezeusza.

wartek01

@WhiteLightning @Magiczny - właśnie o to chodzi, że jeśli do całego równania dorzucisz stan obiektu to problem znika. Ot, jeśli wymienisz maszt na statku to jest to ciągle ten statek - ale nie jest już taki sam jak przed wymianą. Natomiast jeśli skopiujesz statek dokładnie kawałek po kawałku to będzie to inny statek, ale już taki sam jak oryginał. Właśnie próba rozważania statku jako obiektu bezstanowego prowadzi do paradoksu.

Magiczny

Abstrahując: czy tylko mi się wydaję że w drugim paragrafie z linka do wiki: "(...)wynika z niej, że dokładna kopia (...) jest tym samym obiektem" jest nielogiczna?
W końcu właśnie potwierdziliśmy, że to nie konkretne części są istotą tożsamości.

jarekr000000

Jak będziecie drążyć koncepcjęidentyczności to dojdziecie do ciekawych miejsc, https://pl.wikipedia.org/wiki/Homotopia

wartek01

Tak, według nas to nie jest logiczne bo jest tam takie ciche założenie, że tożsamość to skład obiektu.

Magiczny

No ale właśnie drugi akapit ma niby wynikać ze zgody z tezą z pierwszego. A w pierwszym właśnie ta tożsamość nie jest składem obiektu.

Magiczny

Ok. W angielskiej wiki jest już inaczej jest ta zależność opisana. W PL wersji ktoś to trochę nieudanie imo streścił..

WhiteLightning

tak teraz mysle. w programowaniu obiektowym to bylby ten sam obiekt, ale w innym stanie Czyli mamy klase statek majaca pola na kazdy obiekt ew. grupe obiektow. Czyli mamy np. maszt, kadlub, zagiel, gretingi itp. (mozna rozpisac z dokladnoscia do deseczki, ale to tylko zaciemnia a wychodzi na jedno). I jesli np. wymianiamy maszt na inny to wciaz mamy ten sam obiekt, ale jednak zmieniony. Bo jakbysmy zrobili equalsa po hashu z wersja obiektu przed zmiana masztu to wyszloby ze to juz cos innego.

vpiotr

@Chramar: moze sie myle ale wlasnie w ten sposob rozwiazanych jest kilka rzeczy w obecnej fizyce. Nie mozna sie cofnac w czasie, przekroczyc predkosci swiatla czy byc w dwoch miejscach jednoczesnie. Ani wyjechac z Warszawy w piatek o 17.

jarekr000000

@vpiotr: mozna być w domu i w pracy jednocześnie :-(

Chramar

@vpiotr: Tak naprawdę to te fizyczne tematy nie są "rozwiązane", tylko przyjęto do nich takie a nie inne założenia. Mocno się ich trzymamy i nazwaliśmy prawami, bo w naszym trójwymiarowym świecie tak wszystko działa - nie dorównasz prędkości światła, jeśli masz masę, nie cofniesz się w czasie, nie wyjedziesz z Warszawy w piątek o 17. Tak samo każdy paradoks bazuje na jakichś założeniach i to one powodują, że w jakimś problemie paradoks występuje. Na Wiki jest fajna lista paradoksów, na końcu jest głupawy "paradoks kota i kanapki posmarowanej masłem", w którym założeniami jest a) kot zawsze spada na 4 łapy i b) kromka zawsze spada na stronę posmarowaną masłem. Tylko, że to nie jest zasada, wiemy to intuicyjnie.

Tak naprawdę taką dyskusję można prowadzić w nieskończoność, bo każdy może sobie wymyślić dowolne założenia i tworzyć własne paradoksy. Wracając już do oryginalnego postu, to również na Wiki są pokazane przykładowe "rozwiązania" paradoksu statku Tezeusza i każde z nich bazuje na nieco innych założeniach. :D Fajna taka dyskusja, lubię :)

yarel

Puszczę wodze fantazji ;) Czym jest identyczność? Bez zdefiniowania można będzie mnożyć paradoksy i rozwiązania. W matematyce jest to proste, bo sobie definiujemy czym jest równość -> relacja między parami obiektów. Obiekty są w relacji, jeśli ... (i tu jedziemy z nadawaniem znaczenia równości). Dla mutowalnych obiektów identyczność mogłaby oznaczać, że stany obiektów są takie same w czasie. Jeśli mamy dwa obiekty i procesy zmian ich stanów A_t, B_t, to te procesy powinn być sobie równe po trajektoraich, czyli dla każdego t<T (=chwila obecna) A_t=Bt. W systemach IT, pewnie wszystko nam jedno, czy request zostanie obsłużony na serwerze A czy na serwerze B, o ile obiekty obsługujące request będą w danej chwili miały taki sam stan (replikacja synchroniczna?) i takie samo zachowanie. Przy innym zachowaniu w t+1 nie byłoby spełniony warunek A{t+1}=B_{t+1}. Przykład z homotopią przytoczony przez @jarekr000000 daje inną możliwość, obiekt A może "dogonić" stan obiektu B(w skończonym czasie, replikacja asynchroniczna?) i możemy uznać, że "są homotopijnie identyczne" jeśli mają takie samo zachowanie (obsłużą nasz request). Jak ma się to do statku Tezeusza? Ano tak, że nie mamy zdefiniowanego znaczenia identyczności.