-
Data: 2013-04-16 10:47:41
Temat: Re: Podpis cyfrowy większej ilości podmiotów
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 15 kwietnia 2013 23:23:50 UTC+2 użytkownik Edek napisał:
> Bo pokazałeś, że można gorzej?
Bo pokazałem rozsądną implementację :)
> A dlaczego ta ma być intuicjonistyczna? Kolejne słowo, które jednak
> jest dość subiektywne.
Właśnie mało ścisły temat, trudno powiedzieć co jest intuicyjne, co jest
zepsute, a już w ogóle nie wiadomo co jest optymalne. Za tym ze ta jest
intuicyjna przemawia fakt, że wielu programistów do problemu podeszło w
podobny sposób. Potem każdy z nich dodał jakieś usprawnienia. W dalszej
kolejności ktoś zebrał pomysły wielu ludzi i zaimplementował w jednym
programie. Dopiero w jeszcze dalszej były próby reprezentacji bitowej, a z
powodu znanych usprawnień do reprezentacji tablicowej, reprezentacja
bitowa wypadała gorzej, zwłaszcza na 32bitowych komputerach. Różne
sprytne usprawnienia do reprezentacji bitowej pojawiły się stosunkowo
niedawno, a już naprawdę świeża jest próba zebraniach wszystkich usprawnień w
jednym programie. Jeśli dla Ciebie, jako dla jednego programisty, jest
to intuicyjny proces, to oznacza, że jesteś lepszy od tych wszystkich
programistów razem wziętych, którzy przyczynili się do obecnego poziomu
reprezentacji bitowej.
> Strasznie zakodowane...
Rozumiem że "strasznie" używasz w znaczeniu "implementacja zepsuta". Wiele
osób taką reprezentację podało jako pierwszy pomysł. Po zastanowieniu podali
różne usprawnienia. A po próbach z reprezentacją bitową program działał
wolniej...
> czy taki kod szachowy uwzględnia domyślną
> liczbę bierek czy też głównym nurtem idą różne nieco egzotyczne
> sytuacje typu - powiedzmy - trzy wieże po jednej stronie?
Trzy wieże po jednej stronie to akurat nie egzotyczna sytuacja - ale to
mało ważne w naszej dyskusji. To jest po prostu kod rozsądny, jaki
zaproponuje na początku wielu programistów. Niektórzy dodadzą jakieś
usprawnienie, niektórzy kilka usprawnień, jedna osoba raczej nie dojdzie
sama do wszystkich znanych technik.
> > Więc jedna instrukcja warunkowa daje podobny efekt jak cały kod powyżej:
> > if( bierki[DAMA] & maski_atakow[x][y] )
>
> Nie wiem ile grasz w szachy, ale to właśnie jest intuicjonistyczne.
Ale to jest malutki przykładzik. Z reprezentacją bitową są inne problemy i
jest tych problemów znacznie więcej niż z reprezentacją tablicową. Naiwne
zakodowanie na reprezentacji bitowej z powodu innych problemów działa
gorzej niż wyśrubowana implementacja na tablicy pól/bierek.
> Patrząc na szchownicę widzi się właśnie całe formy ruchów a nie
> kombinuje które pole jest które i czy wieża z damą się bronią
> nawzajem, czy tylko król wraz z damą obstawia wieżę, ta pierwsza
> po przekątnej. Podobnie z wymianami.
Taki sam efekt daje zarówno iterowanie w jakimś kierunku szachownicy
jaki i test maskami bitowymi. Chodzi o to, która implementacja jest szybsza.
> W mojej pracy nawet gdyby się okazało, że da się coś zrobić 10x szybciej
> ale trzeba spędzić na kodem tyle czasu to po prostu to się _zazwyczaj_
> nie opyla.
Z tym się nie sprzeczam że to drogi proces.
> > Napiszę jeszcze raz to samo, może programistom często się tylko wydaje
> > że są w okolicach tych 10% od optimum?
>
> Może Tobie się wydaje, że każdy kod można przyspieszyć 2-4x?
Nie chodzi o to co mi się wydaje, tylko o to co widziałem. A widziałem jak
wielu programistów podeszło do problemu. Ich podejście było na oko
2-4 razy gorsze niż optymalne.
> Cieszę się Twoim szczęściem, ale skąd pomysł, że wszyscy mają wciąż oczy
> zamknięte? Używanie masek bitowych robię "z zamkniętymi oczami".
To nie pomysł, to obserwacja. I nie na wszystkich, ale na pewnej
próbie :) Każdy może wziąć jakieś zadanie programistyczne, napisać
swoją implementację, a dopiero potem porównać z najlepszą znaną
implementacją na świecie. Jaki odsetek programistów będzie w 10% od
najlepszej znanej ( 10% od najlepszej znanej, to niekoniecznie 10% od
optymalnej ).
> Heh, rozumiem że to takie testowe turnieje.
Tak, jak się nie ma prywatnego klastra, to można jedynie testować
implementacje/algorytmy na ultra-krótki czas.
> Grałem gdy miałem z 11 lat w zarówno w pełne jak i 3-4 minutówki, ale 5s
> to tylko maszyny. Swoją drogą przestałem grać gdy mnie ograł 9-latek i
> zrozumiałem, że tak na poważnie w lidze szachowej to ja nie mam szans.
U mnie trening działał. Gdy regularnie grywałem, to z miesiąca na miesiąc
grałem lepiej. Gdy odstawiałem szachy na dłuższy czas, to znowu grałem
słabo. Potem interesowałem się tylko szachami komputerowymi.
Pozdrawiam
Następne wpisy z tego wątku
- 16.04.13 12:49 bartekltg
- 16.04.13 15:01 Miroslaw Kwasniak
- 16.04.13 19:10 AK
- 17.04.13 00:36 Edek
- 17.04.13 09:48 M.M.
- 17.04.13 10:30 firr kenobi
- 17.04.13 11:21 M.M.
- 17.04.13 12:21 firr kenobi
- 17.04.13 12:29 firr kenobi
- 17.04.13 13:01 M.M.
- 17.04.13 15:07 firr kenobi
- 17.04.13 15:35 M.M.
- 17.04.13 16:21 Edek
- 17.04.13 16:25 Edek
- 17.04.13 16:53 M.M.
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-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=