eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › sortowanie
Ilość wypowiedzi w tym wątku: 567

  • 341. Data: 2012-10-19 00:32:26
    Temat: Re: sortowanie
    Od: "slawek" <s...@h...pl>


    Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości grup
    dyskusyjnych:k5pt27$1pe$...@m...internetia.pl...
    > On 18.10.2012 11:52, slawek wrote:
    >> void very_fast_random(double* a, int n)
    >> {
    >> for(int i = 1; i < n; i++) a[i] = a[i-1];
    >> }
    >
    > I jakie to ma cechy ciągu losowego?

    Przecież miało być szybko kosztem jakości.

    Z wyraźnym wskazaniem na całkowite olanie sprawy czy liczby naprawdę są
    losowe.

    Więc dałem reductio i wyszedł absurd. q.e.d.


  • 342. Data: 2012-10-19 00:37:15
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Ponurą porą Thu, 18 Oct 2012 22:13:36 +0000, Baranosiu wyszeptał:

    > Dnia 18.10.2012 slawek <h...@s...pl> napisał/a:
    >> A Ziemia jest płaska i oparta o cztery forumowe trolle?
    >>
    >> Jeżeli to jest kula (bila) i jeżeli porusza się w naszym Wszechświecie,
    >> ma masę, pęd, moment pędu i ładunek elektryczny (np. równy zero) - to
    >> daruj sobie wmawianie, że składowe wektora prędkości muszą być liczbami
    >> całkowitymi - a nawet jeżeli przez przypadek są (pamiętaj, Heisenberg),
    >> to jeszcze jest czas, który tworzy continuum.
    >>
    >> Pomnóż sobie całkowitą składową prędkości przez niewymierny czas (np. t
    >> = 2 pi) i już jest pozamiatane w sprawie "całkowitych (x,y)".
    >
    > Ale po co skoro można DOKŁADNIE policzyć to (w przestrzeni
    > Newtonowskiej) na liczbach całkowitych? To jest tak, jakby w zadaniu
    > było "policz owce widoczne na obrazku" a ty byś powiedział, że na
    > liczbach całkowitych się nie da, bo nie dość że owce widoczne są tylko z
    > jednej strony, to jeszcze jednej owcy widać tylko 49% a drugiej za to
    > 51%, pozatym być może niektóre są wydrukowane w ultrafiolecie i człowiek
    > nie widzi, ale pszczoła widzi, więc zadanie nie jest jednoznaczne i nie
    > da się go rozwiązać, no i kto widział płaskie (dwuwymiarowe) owce o
    > długości 2.5cm (bo tyle zajmują na kartce), czy w ogóle można je za owce
    > uznać? A skoro już "pamiętaj, Heisenberg" to z tego samego powodu jest
    > prawdopodobieństwo, że do Ciebie dociera inny tekst niż napisał autor
    > (prawdopodobieństwo znikome, ale jednak niezerowe :D).

    Chyba za dużo używacie stuffu robionego przez Heisenberga, tak moim
    skromnym zdaniem. Obaj.

    --
    Edek


  • 343. Data: 2012-10-19 01:13:18
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 19.10.2012 00:32, slawek wrote:
    >
    > Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości grup
    > dyskusyjnych:k5pt27$1pe$...@m...internetia.pl...
    >> On 18.10.2012 11:52, slawek wrote:
    >>> void very_fast_random(double* a, int n)
    >>> {
    >>> for(int i = 1; i < n; i++) a[i] = a[i-1];
    >>> }
    >>
    >> I jakie to ma cechy ciągu losowego?
    >
    > Przecież miało być szybko kosztem jakości.

    Nie, miało być "tak szybko jak się da, ale nie szybciej". Twój algorytm
    jest tak bardzo do przodu, że mu z tyłu trolluje.


    > Z wyraźnym wskazaniem na całkowite olanie sprawy czy liczby naprawdę są
    > losowe.

    Liczby naprawdę losowe uzyskasz z generatora sprzętowego. Zazwyczaj
    wystarczające są liczby _pseudolosowe_. Na określenie "losowości" są
    różne testy, dające jakieś wyobrażenie o "jakości" generatora. rand()
    nie ma najlepszych wyników, ale jest wystarczająco dobry dla typowego
    przypadku a przy tym jednym z najszybszych generatorów. Twój algorytm
    nawet nie stał koło generatora pseudolosowego.

    > Więc dałem reductio i wyszedł absurd. q.e.d.

    Przedstawiłeś inny problem to i wyszedł absurd.


    --
    Pozdrawiam
    Michoo


  • 344. Data: 2012-10-19 01:55:24
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 18.10.2012 Michoo <m...@v...pl> napisał/a:
    > On 17.10.2012 22:28, Baranosiu wrote:
    >> Z technicznego punktu widzenia rejestr to taka sama pamięć jak RAM czy
    >> cache,
    >
    > Zwłaszcza, że RAM jest pamięcią dynamiczną a cache i rejestry pamięcią
    > statyczną(i to też pamięć RAM tak w sumie) więc technicznie to się dość
    > mocno różnią. Logicznie to i to jest pamięcią.

    Pamięci cache czy RAM są realizowane w różnych technologiach (tak samo
    zresztą jak rejestry) ale wszystkie są pamięciami (z punktu widzenia
    funkcjonalności, a czy fizycznie to jest kondensator, którego trzeba
    "odświeżać" czy zatrzask na tranzystorze, to już tylko kwestia kosztu
    produkcji i poboru mocy :D).


    >
    >> a że nie jest podpięty do szyny adresowej
    >
    > Której szyny adresowej? Jest ich w komputerze kilka a jak sam zauważyłeś
    > rejestry są kawałkiem pamięci - jakoś zaadresować je trzeba.

    Miałem na myśli to, że nie mają wspólnej przestrzeni adresowej z RAM-em.

    >> ale już na przykład w
    >> niektórych procesorach RISC (choćby takie małe Atmegi z rdzeniem AVR)
    >> rejestry są jak najbardziej adresowalne.
    >
    > Bo skoro na pokładzie jest tylko kilka kilo SRAM to umieszczanie tam
    > rejestrów jest naturalne. W x86 L1 jest zazwyczaj kilka razy większe a
    > pamięć rejestrów niewiele mniejsza od całej pamięci w małym uC.

    Chodziło też między innymi o dwie dodatkowe funkcjonalności:
    1) DMA może wrzucać dane bezpośrednio do rejestrów procesora.
    2) Funkcje biblioteczne mogą działać zarówno na danych w SRAM jak i na
    danych w rejestrach (ten sam kod, kwestia podania innego wskaźnika do
    danych).

    Podałem przykład AVR-a, bo taki mi przyszedł do głowy (akurat pisałem
    program na taki mikrokontroler :D), ale wiele procesorów ma tego typu
    wynalazki jak "zerowe strony pamięci" czy "adresowalne cache", choć
    nie zawsze te obszary mają w 100% identyczną funkcjonalność jak
    rejestry, no ale z drugiej strony nawet w x86 nie wszystkich rejestrów
    można użyć do wszystkiego (pomijam rejestry tupu program counter czy
    stack pointer, bo ich specjalne przeznaczenie jest oczywiste).

    >> Takie pierdoły jak "register
    >> rename" wynikają z prostego faktu, że nawet tanie mikrokontrolery za
    >> 20zł mają 32 ortogonalne rejestry (nawet Amiga 30 lat temu miała
    >> 16 rejestrów 32-bitowych, choć nie w pełni ortogonalnych) a Intel robi
    >> "wielką rewolucję" że w 64-bitowej maszynie raptem dodaje 8
    >> dodatkowych rejestrów do 4 już istniejących (reszta to indeksowe i
    >> segmentowe) i tylko dlatego, że AMD to zrobiło wcześniej, więc trzeba
    >> było "dogonić" konkurencję :D
    >
    > Ale zauważyłeś że nowe x86 mają takie ciekawostki jak np. prefetch,
    > których w RISC nie ma?

    Prefetch to miał nawet MOS6502 (z 1975 roku!) w Commodore C64 (inna
    rzecz, że tylko jednego bajtu :D) a co dopiero współczesne RISC!
    Chociażby wspomniane procesory Sparc z serii V9 (przykładem jest
    SparcUltra) już w 1995 roku miały wszystko o czym wspomniałeś, łącznie
    z 9-poziomowym pipeline, prefetchem, przełączanymi ramkami rejestrów i
    różnymi innymi "bajerami". Piszę o Sparcach, bo akurat w tamtych
    czasach dużo miałem z nimi do czynienia i dużo na nie programowałem
    ale tego typu rozwiązania były (i są nadal) w RISC-ach
    powszechne. Poczytaj na przykład o najnowszych ARM-ach (czy o
    Intelowych XScale - to są praktycznie klony ARM :D) i się zdziwisz ile
    fajnych rzeczy może mieć procesor, na przykład wykonanie się każdej
    instrukcji może zależeć od ustawienia flag procesora (przykład
    algorytmu Euklidesa dla procesora ARM bez użycia odgałęzień i tylko
    przy użyciu 4 instrukcji maszynowych możesz znaleźć na Wikipedii razem
    z wyjaśnieniem, więc nie będę się szczegółowo rozpisywał :D).
    Wiem że Intel ma genialny marketing i potrafi przekonać
    niezorientowanych w temacie, że jest pionierem i wszystko ma najlepsze
    :D

    >>
    >> Pipeline? W 1996 roku na studiach programowałem procesor
    >> SparcUltra, który (pomijając że w pełni 64-bitowy) wykonywał dwie
    >> instrukcje w jednym cyklu zegara i trzeba było uważać jak się pisało
    >> programy w assemblerze, bo jak się po CALL _adres nie dało instrukcji
    >> NOP, to drugi potok mógł zdążyć wykonać instrukcję za "CALL" zanim się
    >> skok wykonał :D
    >
    > Jeżeli to skutkowało błędami to był to kiepski procesor. W momencie gdy
    > pierwszy dekoder rozkazów trafił na instrukcję skoku (ret, jmp, etc.)
    > pipeline powinien być blokowany (tzn w niepopsutych rozwiązaniach to
    > działa tak, że część drugiej instrukcji się wykona, tak gdzieś do zapisu
    > wyniku).

    Oj i tu się nie zgodzę, bo to jest błąd programisty a nie procesora,
    załóżmy że mamy tego typu program (R1 i R2 to rejestry, znaczenie
    instrukcji chyba oczywiste, składnia tzw. AT&T czyli nazwy rejestrów w
    programie poprzedzone znakiem %):

    call _przykladowa_funkcja
    inc %R1
    [kolejne instrukcje]

    _przykladowa_funkcja:
    adc %R2,%R3
    ret

    I teraz... dlaczego inkrementacja R1 miałaby zostać zmarnowana, skoro
    wewnątrz _przykladowa_funkcja rejestr R1 nie jest wykorzystany? Po
    powrocie z tej funkcji jesteśmy o jedną instrukcję "do przodu" :D Jak
    ktoś nie chce takiego zachowania, to może po call wstawić nop i nie ma
    problemu (można też zlecić assemblerowi automatyczne wstawienie nopów
    po rozgałęzieniach bądź wyświetlanie ostrzeżeń że tego typu sytuacja może
    wystąpić). Projektanci procesora zamiast wstawiać sprzętowe
    zatrzymywanie potoku stwierdzili, że wybór czy blokować potok czy nie
    można zostawić programiście, bo czasem niezablokowanie potoku może dać
    zysk - czy to dobrze czy źle, to już kwestia gustu :D W sumie jeśli już,
    to w assemblerze pisze się bardzo małe fragmenty programu (w większości
    przypadków nie używa się go w ogóle), a kompilatory języków wyższego
    poziomu wygenerują kod assemblerowy, który robi co trzeba :D

    >> "Nikt nie widział eax" bo pewnie nikt do środka nie zaglądał :D A tak
    >> na serio, to Intele nie są procesorami tzw. hardwired (takie są na
    >> przykład ARM-y, AVR-y itd.) tylko mają prosty rdzeń i mikrokodem
    >> załatwiają resztę :D W sumie mogliby udostępnić możliwość ładowania
    >> własnego mikrokodu, wtedy każdy mógłby stworzyć swój assembler (choć
    >> od takich rzeczy, to akurat układy FPGA są lepsze :D).
    >
    > Jesteś pewien, ze ten mikrokod nie jest przynajmniej częściowo wsadem
    > konfiguracyjnym dla bloków FPGA-like wewnątrz procesora? Przy 3GHz
    > klasyczny RISC musiałby pracować chyba szybciej niż podłoże krzemowe na
    > to pozwala...

    No tak się składa, że 4GHz RISC z 32 jednostkami APU powstał w 2005
    roku i jest używany w dużych maszynach IBM, a jego okrojona wersja
    (3.2GHz i 8APU) znalazła w 2006 roku swoje miejsce w konsolach
    PlayStation3 :D Owszem, podłoże krzemowe na to nie pozwala, ale
    podłoże z arsenku galu już jak najbardziej (teoretycznie na arsenku
    galu można osiągnąć prędkości rzędu setek gigaherców, ale problemem
    staje się odprowadzanie ciepła i czas reakcji układów peryferyjnych, w
    ciągu jednego cyklu zegara światło zdążyłoby pokonać drogę niecałego
    metra :D).

    Co do mikrokodu: owszem, można zaktualizować mikrokod w procesorach
    Intela, ale takiej aktualizacji nie może sobie napisać każdy (jedna
    rzecz to brak dostępnej specyfikacji, a druga, to konieczność
    cyfrowego podpisania takiego "wsadu" certyfikatem Intela, bo inaczej
    procesor go nie przyjmie - to jest zabezpieczenie aby wirusy nie mogły
    uwalić procesora :D).


  • 345. Data: 2012-10-19 02:19:03
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 18.10.2012 Michoo <m...@v...pl> napisał/a:
    > On 17.10.2012 22:28, Baranosiu wrote:
    >> Z technicznego punktu widzenia rejestr to taka sama pamięć jak RAM czy
    >> cache,
    >
    > Zwłaszcza, że RAM jest pamięcią dynamiczną a cache i rejestry pamięcią
    > statyczną(i to też pamięć RAM tak w sumie) więc technicznie to się dość
    > mocno różnią. Logicznie to i to jest pamięcią.

    Pamięci cache czy RAM są realizowane w różnych technologiach (tak samo
    zresztą jak rejestry) ale wszystkie są pamięciami (z punktu widzenia
    funkcjonalności, a czy fizycznie to jest kondensator, którego trzeba
    "odświeżać" czy zatrzask na tranzystorze, to już tylko kwestia kosztu
    produkcji i poboru mocy :D).


    >
    >> a że nie jest podpięty do szyny adresowej
    >
    > Której szyny adresowej? Jest ich w komputerze kilka a jak sam zauważyłeś
    > rejestry są kawałkiem pamięci - jakoś zaadresować je trzeba.

    Miałem na myśli to, że nie mają wspólnej przestrzeni adresowej z RAM-em.

    >> ale już na przykład w
    >> niektórych procesorach RISC (choćby takie małe Atmegi z rdzeniem AVR)
    >> rejestry są jak najbardziej adresowalne.
    >
    > Bo skoro na pokładzie jest tylko kilka kilo SRAM to umieszczanie tam
    > rejestrów jest naturalne. W x86 L1 jest zazwyczaj kilka razy większe a
    > pamięć rejestrów niewiele mniejsza od całej pamięci w małym uC.

    Chodziło też między innymi o dwie dodatkowe funkcjonalności:
    1) DMA może wrzucać dane bezpośrednio do rejestrów procesora.
    2) Funkcje biblioteczne mogą działać zarówno na danych w SRAM jak i na
    danych w rejestrach (ten sam kod, kwestia podania innego wskaźnika do
    danych).

    Podałem przykład AVR-a, bo taki mi przyszedł do głowy (akurat pisałem
    program na taki mikrokontroler :D), ale wiele procesorów ma tego typu
    wynalazki jak "zerowe strony pamięci" czy "adresowalne cache", choć
    nie zawsze te obszary mają w 100% identyczną funkcjonalność jak
    rejestry, no ale z drugiej strony nawet w x86 nie wszystkich rejestrów
    można użyć do wszystkiego (pomijam rejestry tupu program counter czy
    stack pointer, bo ich specjalne przeznaczenie jest oczywiste).

    >> Takie pierdoły jak "register
    >> rename" wynikają z prostego faktu, że nawet tanie mikrokontrolery za
    >> 20zł mają 32 ortogonalne rejestry (nawet Amiga 30 lat temu miała
    >> 16 rejestrów 32-bitowych, choć nie w pełni ortogonalnych) a Intel robi
    >> "wielką rewolucję" że w 64-bitowej maszynie raptem dodaje 8
    >> dodatkowych rejestrów do 4 już istniejących (reszta to indeksowe i
    >> segmentowe) i tylko dlatego, że AMD to zrobiło wcześniej, więc trzeba
    >> było "dogonić" konkurencję :D
    >
    > Ale zauważyłeś że nowe x86 mają takie ciekawostki jak np. prefetch,
    > których w RISC nie ma?

    Prefetch to miał nawet MOS6502 (z 1975 roku!) w Commodore C64 (inna
    rzecz, że tylko jednego bajtu :D) a co dopiero współczesne RISC!
    Chociażby wspomniane procesory Sparc z serii V9 (przykładem jest
    SparcUltra) już w 1995 roku miały wszystko o czym wspomniałeś, łącznie
    z 9-poziomowym pipeline, prefetchem, przełączanymi ramkami rejestrów i
    różnymi innymi "bajerami". Piszę o Sparcach, bo akurat w tamtych
    czasach dużo miałem z nimi do czynienia i dużo na nie programowałem
    ale tego typu rozwiązania były (i są nadal) w RISC-ach
    powszechne. Poczytaj na przykład o najnowszych ARM-ach (czy o
    Intelowych XScale - to są praktycznie klony ARM :D) i się zdziwisz ile
    fajnych rzeczy może mieć procesor, na przykład wykonanie się każdej
    instrukcji może zależeć od ustawienia flag procesora (przykład
    algorytmu Euklidesa dla procesora ARM bez użycia odgałęzień i tylko
    przy użyciu 4 instrukcji maszynowych możesz znaleźć na Wikipedii razem
    z wyjaśnieniem, więc nie będę się szczegółowo rozpisywał :D).
    Wiem że Intel ma genialny marketing i potrafi przekonać
    niezorientowanych w temacie, że jest pionierem i wszystko ma najlepsze
    :D

    >>
    >> Pipeline? W 1996 roku na studiach programowałem procesor
    >> SparcUltra, który (pomijając że w pełni 64-bitowy) wykonywał dwie
    >> instrukcje w jednym cyklu zegara i trzeba było uważać jak się pisało
    >> programy w assemblerze, bo jak się po CALL _adres nie dało instrukcji
    >> NOP, to drugi potok mógł zdążyć wykonać instrukcję za "CALL" zanim się
    >> skok wykonał :D
    >
    > Jeżeli to skutkowało błędami to był to kiepski procesor. W momencie gdy
    > pierwszy dekoder rozkazów trafił na instrukcję skoku (ret, jmp, etc.)
    > pipeline powinien być blokowany (tzn w niepopsutych rozwiązaniach to
    > działa tak, że część drugiej instrukcji się wykona, tak gdzieś do zapisu
    > wyniku).

    Oj i tu się nie zgodzę, bo to jest błąd programisty a nie procesora,
    załóżmy że mamy tego typu program (R1 i R2 to rejestry, znaczenie
    instrukcji chyba oczywiste, składnia tzw. AT&T czyli nazwy rejestrów w
    programie poprzedzone znakiem %):

    call _przykladowa_funkcja
    inc %R1
    [kolejne instrukcje]

    _przykladowa_funkcja:
    adc %R2,%R3
    ret

    I teraz... dlaczego inkrementacja R1 miałaby zostać zmarnowana, skoro
    wewnątrz _przykladowa_funkcja rejestr R1 nie jest wykorzystany? Po
    powrocie z tej funkcji jesteśmy o jedną instrukcję "do przodu" :D Jak
    ktoś nie chce takiego zachowania, to może po call wstawić nop i nie ma
    problemu (można też zlecić assemblerowi automatyczne wstawienie nopów
    po rozgałęzieniach bądź wyświetlanie ostrzeżeń że tego typu sytuacja może
    wystąpić). Projektanci procesora zamiast wstawiać sprzętowe
    zatrzymywanie potoku stwierdzili, że wybór czy blokować potok czy nie
    można zostawić programiście, bo czasem niezablokowanie potoku może dać
    zysk - czy to dobrze czy źle, to już kwestia gustu :D W sumie jeśli już,
    to w assemblerze pisze się bardzo małe fragmenty programu (w większości
    przypadków nie używa się go w ogóle), a kompilatory języków wyższego
    poziomu wygenerują kod assemblerowy, który robi co trzeba :D

    >> "Nikt nie widział eax" bo pewnie nikt do środka nie zaglądał :D A tak
    >> na serio, to Intele nie są procesorami tzw. hardwired (takie są na
    >> przykład ARM-y, AVR-y itd.) tylko mają prosty rdzeń i mikrokodem
    >> załatwiają resztę :D W sumie mogliby udostępnić możliwość ładowania
    >> własnego mikrokodu, wtedy każdy mógłby stworzyć swój assembler (choć
    >> od takich rzeczy, to akurat układy FPGA są lepsze :D).
    >
    > Jesteś pewien, ze ten mikrokod nie jest przynajmniej częściowo wsadem
    > konfiguracyjnym dla bloków FPGA-like wewnątrz procesora? Przy 3GHz
    > klasyczny RISC musiałby pracować chyba szybciej niż podłoże krzemowe na
    > to pozwala...

    No tak się składa, że 4GHz RISC z 32 jednostkami APU powstał w 2005
    roku i jest używany w dużych maszynach IBM, a jego okrojona wersja
    (3.2GHz i 8APU) znalazła w 2006 roku swoje miejsce w konsolach
    PlayStation3 :D Owszem, podłoże krzemowe na to nie pozwala, ale
    podłoże z arsenku galu już jak najbardziej (teoretycznie na arsenku
    galu można osiągnąć prędkości rzędu setek gigaherców, ale problemem
    staje się odprowadzanie ciepła i czas reakcji układów peryferyjnych, w
    ciągu jednego cyklu zegara światło zdążyłoby pokonać drogę niecałego
    centymetra :D).

    Co do mikrokodu: owszem, można zaktualizować mikrokod w procesorach
    Intela, ale takiej aktualizacji nie może sobie napisać każdy (jedna
    rzecz to brak dostępnej specyfikacji, a druga, to konieczność
    cyfrowego podpisania takiego "wsadu" certyfikatem Intela, bo inaczej
    procesor go nie przyjmie - to jest zabezpieczenie aby wirusy nie mogły
    uwalić procesora :D).


  • 346. Data: 2012-10-19 03:28:38
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-19 00:37, Edek Pienkowski pisze:
    > Ponurą porą Thu, 18 Oct 2012 22:13:36 +0000, Baranosiu wyszeptał:
    >
    >> Dnia 18.10.2012 slawek <h...@s...pl> napisał/a:
    >>> A Ziemia jest płaska i oparta o cztery forumowe trolle?
    >>>
    >>> Jeżeli to jest kula (bila) i jeżeli porusza się w naszym Wszechświecie,
    >>> ma masę, pęd, moment pędu i ładunek elektryczny (np. równy zero) - to
    >>> daruj sobie wmawianie, że składowe wektora prędkości muszą być liczbami
    >>> całkowitymi - a nawet jeżeli przez przypadek są (pamiętaj, Heisenberg),
    >>> to jeszcze jest czas, który tworzy continuum.
    >>>
    >>> Pomnóż sobie całkowitą składową prędkości przez niewymierny czas (np. t
    >>> = 2 pi) i już jest pozamiatane w sprawie "całkowitych (x,y)".
    >>
    >> Ale po co skoro można DOKŁADNIE policzyć to (w przestrzeni
    >> Newtonowskiej) na liczbach całkowitych? To jest tak, jakby w zadaniu
    >> było "policz owce widoczne na obrazku" a ty byś powiedział, że na
    >> liczbach całkowitych się nie da, bo nie dość że owce widoczne są tylko z
    >> jednej strony, to jeszcze jednej owcy widać tylko 49% a drugiej za to
    >> 51%, pozatym być może niektóre są wydrukowane w ultrafiolecie i człowiek
    >> nie widzi, ale pszczoła widzi, więc zadanie nie jest jednoznaczne i nie
    >> da się go rozwiązać, no i kto widział płaskie (dwuwymiarowe) owce o
    >> długości 2.5cm (bo tyle zajmują na kartce), czy w ogóle można je za owce
    >> uznać? A skoro już "pamiętaj, Heisenberg" to z tego samego powodu jest
    >> prawdopodobieństwo, że do Ciebie dociera inny tekst niż napisał autor
    >> (prawdopodobieństwo znikome, ale jednak niezerowe :D).
    >
    > Chyba za dużo używacie stuffu robionego przez Heisenberga, tak moim
    > skromnym zdaniem. Obaj.

    Właśnie jestem w połowie 4 sezonu i to chyba niezłe porownanie:)
    Ale raczej do pierwszego, Baranosiu się słusznie(tak samo uważam)
    nabija.

    pzdr
    bartekltg



  • 347. Data: 2012-10-19 03:30:49
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-18 21:08, Edek Pienkowski pisze:
    > Ponurą porą Thu, 18 Oct 2012 15:46:20 +0200, bartekltg wyszeptał:
    >
    >> W dniu 2012-10-18 13:09, Edek Pienkowski pisze:
    >>
    >>> Moim zdaniem jednak problem istnieje.
    >>>
    >>> Nie ma dla mnie znaczenia, czy rozwiązanie było ok czy nie w tym
    >>> kontekście. Problem polega na tym, że konkurs jest bardzo zamknięty w
    >>> grupie, która lubi takie same zadania i które mają takie same
    >>> rozwiązania. A to nigdy nie jest dobre.
    >>>
    >>>
    >> I w ramach tego na finale olimpiady fizycznej dzieciaki będą piec
    >> ciasto:-)
    >
    > Lepiej p..ąć nie mogłeś, zapewniam.
    >

    Tylko rozwijam Twoją myśl. Po co robic konkurs zamkniety do fizykow;)
    pzdr
    bartekltg


  • 348. Data: 2012-10-19 07:39:47
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Ponurą porą Fri, 19 Oct 2012 03:30:49 +0200, bartekltg wyszeptał:

    > Tylko rozwijam Twoją myśl. Po co robic konkurs zamkniety do fizykow

    W fizyce wiele rzeczy się robi na właśnie różne sposoby, a nie
    wszyscy tą samą bibliotekę czy to samo uproszczenie. Bujającą
    się plastikową małpkę da się sprowadzić do bryły sztywnej
    lub punktowej masy w pępku...

    --
    Edek


  • 349. Data: 2012-10-19 11:47:57
    Temat: Re: sortowanie
    Od: "slawek" <h...@s...pl>

    Użytkownik "Michoo" napisał w wiadomości grup
    dyskusyjnych:k5q2oo$tk0$...@m...internetia.pl...

    >Nie, miało być "tak szybko jak się da, ale nie szybciej". Twój algorytm
    >jest tak bardzo do przodu, że mu z tyłu trolluje.

    I jest. Bo przecież jeżeli wyjdzie ci 1000 razy pod rząd reszka - to /może/
    być zupełnie normalne, prawdopodobieństwo tego jest małe (2^-1000), ale
    większe od zera.

    Jeżeli chcesz, aby generator miał zagwarantowane, że dwie kolejne liczby
    muszą być różne... to już nie będzie to losowe, tylko według twojego uznania
    (że tak powinno być).

    A skoro /nie/ /można/ /wykluczyć/ iż kolejne liczby losowe będą takie jak
    pierwsza liczba - to generator jest ok.

    Podobnie - jeżeli weźmiesz niezainicjalizowany blok pamięci - coś w nim
    będzie - ale co? Gdy zwisa ci jakość generatora - możesz uznać że tam są
    liczby losowe. (Ale ja tak nie zakładam.)

    Aby się paszczać, że nie mam racji - musiałbyś założyć jakieś kryteria
    jakościowe. A tych w ogóle nie masz, uznajesz tylko pogoń za czasem
    wykonania. Więc, jak w dowcipie o transatlantyku, wychodzi że możesz wsadzić
    sobie jako losowe dowolne liczby (śmieci z pamięci, same zera lub same
    13-ki) - i będzie git.

    >Liczby naprawdę losowe uzyskasz z generatora sprzętowego. Zazwyczaj

    Niestety nie. Ale aby to zrozumieć musiałbyś naprawdę trochę więcej poczytać
    i pomyśleć. Między innymi musiałbyś wiedzieć, jak i po co kalibruje się
    generatory hardwareowe.

    Problem jest głównie ze słowem "naprawdę": zaczynając od definicji "czym
    jest prawda" (nie ma zgody na to wśród filozofów), a kwestią istnienia
    bogini/boga/bogów omnipotencjalnych (czyli znających wszystkie ciągi losowe
    zanim cokolwiek).

    A najprostsze, co jest jeszcze w zasięgu twojego IQ, to fakt że generator
    liczb losowych może być zepsuty. Wtedy nie daje liczb losowych. A jak
    odgadnąć że nie jest zepsuty? Nie da się!



  • 350. Data: 2012-10-19 12:08:17
    Temat: Re: sortowanie
    Od: "slawek" <h...@s...pl>

    Użytkownik "Baranosiu" napisał w wiadomości grup
    dyskusyjnych:k5puuf$uhl$...@n...task.gda.pl...

    >Ale po co skoro można DOKŁADNIE policzyć to (w przestrzeni
    >Newtonowskiej) na liczbach całkowitych? To jest tak, jakby w zadaniu

    Znasz choćby II zasadę dynamiki? Tam są liczby całkowite, prawda? Pochodna
    pędu po czasie to liczy się przez dzielenie dwóch liczb całkowitych... czy
    jednak trochę inaczej?

    Nie trzeba być super kumatym, aby wiedzieć że real world wymaga real numbers
    do opisu niemal każdej zmiennej... z wyjątkiem tych przypadków, gdy są to
    liczby zespolone.

    >było "policz owce widoczne na obrazku" a ty byś powiedział, że na
    >liczbach całkowitych się nie da, bo nie dość że owce widoczne są tylko

    Jeżeli coś kwacze, ma skrzydła i ogólnie zachowuje się jak kaczka - to
    dlaczego mam to nazywać koniem?

    Jeżeli w treści zadania jest bila, jej ruch, lasery (czyli zupełnie
    konkretne urządzenia) - to dlaczego mam udawać, że tego tam nie ma?

    >sobie brać pod uwagę nieoznaczoność Heisenberga i transformacje
    >Lorenza, to oczywiście możesz, ale dopóki zadanie tego nie wymaga
    >wprost, to nie musisz i możesz myśleć po Newtonowsku :D

    Stała Diraca to jakieś 10^-34. Pierwiastek z niej to 10^17. Dla double
    maszynowy epsilon to jakieś 10^-16. Dla double double byłoby odpowiednio
    mniej.

    Czyli przy porównaniach współrzędnych (a < x && x < b) na doublach ogranicza
    epsilon, a na quarduplach będzie to już Heisenberg. Ciekawe samo w sobie.

    I masz ciągle problem jak bardzo kula musi musnąć promień: wystarczy 1%
    szerokości wiązki? A jak to będzie 10^-18 tej szerokości? To w
    patologicznych przypadkach może dawać różne wyniki zliczania przecięć.

strony : 1 ... 30 ... 34 . [ 35 ] . 36 ... 50 ... 57


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: