Słyszałem to twierdzenie dość często i zastanawiam się, czy jest w tym jakiś sens. Najwyraźniej szczegóły są w wątek w Talkchess , ale nie jest widoczny dla niezalogowanych czytelników i nie pozwala mi się zarejestrować. Nie ma szczegółów na ten temat na stronie Wikipedii Houdini.
Czy ktoś może podać podsumowanie zarzutów i dowody na to (i przeciwko)?
Odpowiedź
Tak.
Wyszukiwanie, ocena itp. są prawie identyczne jak w przypadku Stockfish, z godnym uwagi wyjątkiem przepisania na język niderlandzki. Wielu programistów Stockfish, w tym poprzedni opiekunowie, zauważyli jako takie. Aby ukryć jego pochodzenie, dołączono kod, który pomnożył liczbę węzłów przez 8/7. Wykorzystując modularne sztuczki arytmetyczne i zarchiwizowane gry Houdini, ten dokładny kod był obecny w wydanej wersji Houdini. domniemana poprawa wydajności s over Stockfish znikają po usunięciu tej sztuczki.
Wyciekający kod źródłowy został skompilowany przez Eda Schrodera i okazało się, że ma korespondencję 1: 1 z Houdinim w wielu pozycjach testowych, podczas gdy inne, takie jak Simon Guenther, odkryli, że wyciekający kod zachowuje się identycznie w pozycji początkowej, nawet na dużych głębokościach.
Były zmiany, ale Mark Lefler, twórca Komodo, zauważył, że szereg zmian polegało po prostu na dodaniu funkcji odtworzonych z Komodo. W rzeczywistości, w jednym pliku, assessment.cpp, możesz znaleźć konwencje nazewnictwa używane przez dekompilator heksagonalnych promieni.
Inne funkcje były unikalne, ale drugorzędne. Na przykład system licencjonowania nie pochodzi z Stockfish. Jednak kod pochodzi z TurboPack i został przetłumaczony na C ++, więc nie jest jasne, czy to była oryginalna praca.
Dostosowując się do czasu wydania, wersja Stockfisha na GitHub w tamtym czasie wydania Houdini 5 było mniej więcej tak samo mocne jak Houdini 5. Później, kiedy wydano Houdini 6, to też było prawdą. (Źródło: dane elo nextchessmove + dane CCRL)
Innymi słowy, Houdini w żaden znaczący sposób nie opierał się na Stockfish. Głównym powodem, dla którego wygląda inaczej, jest holenderskie tłumaczenie i fakt że Stockfish znacznie się rozwinął od czasu, gdy Houdart ostatnio dotknął bazy kodów Stockfish.
Komentarze
- Czy istnieje wyjaśnienie, dlaczego Houdini wyglądał wtedy tak inaczej? Na przykład , Zauważyłem, że wiele jego gier zostało narysowanych, a ' gra białymi, jego wartość spada nieco poniżej zera, a następnie wraca do 0,00, czego Stockfish nie robi ' nie. Houdini był także najsilniejszym silnikiem CCRL przez kilka miesięcy, jak sądzę.
- Stockfish ma nowe oficjalne wersje co ~ sześć miesięcy. Chociaż istnieje ' nie ma oficjalnej kadencji, wydania pojawiają się powoli, podczas gdy wersja Stockfish w repozytorium GitHub jest stale aktualizowana. W czasie, gdy Houdini 6 został umieszczony na CCRL, Stockf ish był co najmniej 35 elo silniejszy od wersji CCRL ', na podstawie danych NCM . Kod źródłowy wygląda prawie identycznie jak SF ' s, bez zmiany nazwy zmiennej. Ponieważ jednak był oparty na pośredniej wersji Stockfisha, zawierającej kod Komodo, & miał drobne poprawki, grał trochę inaczej niż jakiekolwiek oficjalne wydania SF.
- Hmm, pamiętam czasy, kiedy Houdini był najmocniejszym silnikiem, lepszym nawet od twórców Stockfisha – np mniej więcej w czasie, gdy wygrał 10. sezon TCEC. Jak to możliwe, skoro jest prawie identyczny ze sztokfiszem?
- Kiedyś Houdini, był świat ' Jest najsilniejszy, konsekwentnie zajmuje czołowe miejsce w Stockfish we wszystkich rankingach i TCEC. Jak byś to wyjaśnił?
- @SmallChess To nie zawsze znajdowało się na szczycie Stockfisha. Sztokfisz przegrał sezon 10, ponieważ nie był skonfigurowany do karania słabszych silników, tak jak Komodo i Houdini, więc nie awansował do ligi P. W tym sezonie zyskał miano ” Drawfish ” pomimo gry w najbardziej precyzyjne szachy. Przed powstaniem Fishtest Houdini pokonał Stockfisha, budując na szczycie Robbolito. Jest to dobrze udokumentowane. (Zobacz analizę Richarda Vidy '). Po Fishtest dominacja Stockfisha ' stała się nie do pokonania. Listy rankingowe zazwyczaj nie ' nie korzystają z wersji rozwojowych Stockfisha, które mogłyby być > 40 elo silniejsze
Odpowiedź
Domniemany kod źródłowy może zostały opublikowane online. Rzuciłem okiem na to, wyglądał jak ważny, mocny silnik szachowy.Nie był to klon Stockfisha w tym sensie, że podstawa kodu była zupełnie inna, a na pewno nie 10-minutowe kopiowanie i wklejanie. Stworzenie go zajęłoby nawet najlepszym talentom miesiące (lub lata?) Ciężkiej pracy, więc nie wygląda to na żart. Z pewnością wygląda jak kod źródłowy Houdini. W kodzie nie mogę znaleźć niczego, co mówi inaczej.
Osobiście uważam, że autor Houdiniego musiał bardzo uważnie przestudiować kod źródłowy Stockfisha. Ale … szczerze, kto by tego nie zrobił? Komodo słynie z śledzenia każdego kawałka w Stockfish i stosowania / ulepszania pomysłów we własnym silniku. Wierzę, że każdy, kto poważnie myśli o programowaniu silnika szachowego, traktowałby kod źródłowy Stockfisha jak biblię .
Wydaje mi się, że Houdini nieoczekiwanie pozyskiwał informacje / pomysły itp. od Stockfisha i Robolitto, ale nie był to klon bardziej jak autentyczne wysiłki mające na celu ulepszenie starych pomysłów i opracowanie nowych metod.
Definicja wyrażenia cloning
jest myląca. Autorzy silnika szachowego uważają, że „klon” ma miejsce, jeśli pomysł (lub jakiś kod) skopiowano z serwisu Stockfish. Opinia publiczna pomyśli, że „klon” to bezpośrednie kopiowanie i wklejanie ze Stockfisha (może po prostu zmienić nazwę programu w UCI?).
Musimy wypracować definicję.
PS: kod wyglądał na skradziony produkt:
Commen ts
- Najwyraźniej Houdini ' liczba węzłów na sekundę jest zawyżana o 7/8, co można zweryfikować, sprawdzając jego rzeczywistą prędkość . Innymi słowy, Houdini nigdy nie wysyła węzłów na sekundę, co wynosi 7 modulo 8 (i rzeczywiście nigdy tego nie robi). Masz jakiś pomysł, jak można to wyjaśnić inaczej niż jako nieuczciwe doniesienie?
Odpowiedź
Użytkownik talkchess.com (pod nazwą cucumber
) twierdzi, że wszedł w posiadanie kodu źródłowego Houdiniego i odnotował szereg podobieństw między nim a kodem źródłowym Stockfish. W szczególności zauważają, że plik Makefile zawiera fazę „budowania Stockfisha” i łączą zrzut ekranu z funkcją wyszukiwania, która wygląda na Stockfisha, ale jest przetłumaczona na holenderski:
Nie jest jasne, czy kod źródłowy, który mają, to faktycznie Houdini, chociaż kilka autorzy wątku twierdzą, że skompilowane źródło ściśle odzwierciedla zachowanie rzeczywistego pliku binarnego silnika.
Ponadto cucumber
twierdzi, że uzyskał kod źródłowy nielegalnie .
Wygląda na to, że wszystkie twierdzenia tutaj zależą od tego, czy cucumber
faktycznie zawiera kod źródłowy Houdini 6. Ponieważ wyrazili zamiar a nie publicznego udostępnienia, będzie to trudne do zweryfikowania.
Komentarze
- Myślałem, że został opublikowany?
- ” Nie zamierzam publicznie udostępniać żadnego z Oryginalny kod Houdarta '. Nie zamierzam też udostępniać nikomu całego źródła prywatnie. Tylko to, co wydaje się konieczne. ” – ogórek.
- Jest ' jest możliwe, że został opublikowany w którymś momencie 38-stronicowy (jak na razie) wątek, w którym to przypadku musiałem go przegapić.
- Kod źródłowy został opublikowany na Github, a kompilacja tego kodu tworzy plik wykonywalny, który ' to w zasadzie Houdini 6. Jeśli chodzi o legalność uzyskania tego kodu, prawdopodobnie zależy to od jurysdykcji prawnej. Repozytorium było publicznie dostępne w internecie.
- Dziękuję za odpowiedź, ale czy zamiast tego wątku możesz utworzyć link do zrzutu ekranu, ponieważ ' nie jest dostępny bez logowania in?
Odpowiedź
Widziałem kod i nie ma wątpliwości, że kod został skradziony z Stockfish Here ” to mały fragment, który zapisałem. Nie mam już kodu, odkąd odkryłem, że zawiera on również kod skradziony z komodo (inżynier odwrócenia). Jest wiele takich przykładów,
Ten po prawej pochodzi z Houdini, ten, który zostawiłem, pochodzi z repozytorium Stockfish sprzed kilku lat, a nie aktualnego Dev Stockfisha – zatwierdzenie zaczyna się od ” … cd8dc0a ” https://github.com/official-stockfish/Stockfish/pull/706/commits/cd8dc0a1016cefe332f41fd7645b4b8462b1e466
Udało mi się zbudować dokładny klon z Houndin 6.03 z całego źródła po prawej stronie. To tylko jeden przykład – wiele takich fragmentów jest takich jak ten. Podano dokładną liczbę węzłów i wartość pv, gdy wykonano ” przejście na głębokość xx ” na dowolnej pozycji z Houdini 6.03.
Komentarze
- Skąd wiesz, że wszystko, co zbudowałeś, jest dokładnym klonem Houdini 6.03?