eGospodarka.pl
eGospodarka.pl poleca

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

  • 191. Data: 2012-10-16 12:51:28
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 16.10.2012 Michoo <m...@v...pl> napisał/a:
    > On 16.10.2012 04:12, Baranosiu wrote:
    >> Dnia 15.10.2012 Michoo<m...@v...pl> napisał/a:
    >>
    >> Dochodzi jeszcze kwestia tego co rozumie się przez zbiór "czynnoiści
    >> elementarnych"
    >
    > Ale one nie muszą być "elementarne". W algorytmie znajdowania przecięci
    > zbiorów może być "posortuj oba zbiory w ciągi rosnące" bez
    > wyspecyfikowania metody, nie trzeba wplatać logiki sortowania do środka.

    Dla zbiorów dyskretnych (a ściślej dla dyskretnych ich reprezentacji w
    maszynie) to jak najbardziej algorytm zadziała, ale nie wszystkie
    zbiory są przeliczalne (a więc nie zawsze dają się posortować) i... z
    algorytmu "dupa" :D Dziedzina KAŻDEGO algorytmu to nie tylko dane na
    jakich on działa, ale także zbiór operacji jakie musi być w stanie
    wykonać maszyna inaczej się nie da (spróbuj znaleźć przecięcie
    zbiorów, jeśli maszyną jest na przykład kucharz, nie da się,
    choć... kucharz może zrealizować algorytm sporządzenia zupy
    pomidorowej :D).



    >
    >> , bo na przykład kiedyś konstruowano komputery
    >> analogowe, które jedną "czynnością elementarną" przechodziły przez
    >> nieskończoną liczbę stanów i algorytm działający na maszynie
    >> analogowej może już nie być algorytmem na maszynie dyskretnej.
    >
    > Dlatego napisałem - "na pewnej abstrakcyjnej maszynie".

    Na "abstrakcyjnej" czyli na żadnej :D Zwykle w informatyce przyjmuje
    się w domyśle maszyny Turinga, ale samo pojęcie algorytmu nie musi ich
    dotyczyć :D


    >> Tak
    >> więc definicja "abstrakcyjnej maszyny" jest też częścią algorytmu a
    >> nie tylko same czynności
    >
    > Mamy maszynę, więc definiujemy w oparciu o nią algorytm. W tym sensie
    > definicja maszyny jest częścią algorytmu. Nie wciągałbym jednak
    > szczegółów maszyny do samego algorytmu.

    Wszystkie współczesne komputery cyfrowe (łącznie z kwantowymi) to
    maszyny Turinga, więc rozróżnienia się nie robi, w tym sensie można
    pominąć szczegóły maszyny, ale samo pojęcie algorytmu to coś więcej
    niż "proces wykonywany przez maszynę cyfrową".


    >> Mnie na studiach uczono (a były to
    >> lata 90-te), że tak na prawdę nie ma jednej uniwersalnej matematycznej
    >> definicji czym jest algorytm, dlatego w różnych kontekstach przyjmuje
    >> się różne "modele" tego pojęcia.
    >
    > Czy nie ma uniwersalnej to bym się kłócił, ale jak to zwykle im coś
    > bardziej uniwersalne tym ogólniejsze. Istnieją więc też "definicje
    > szczegółowe" np. "algorytm na NDTM", "algorytm na DNA", "algorytm na
    > studencie".

    Ok, są, ale to są tylko konkretne modele. Można na przykład
    zdefiniować pojęcie algorytmu w oparciu o maszyny Turinga ale... takie
    pojęcie algorytmu już nie będzie pasowało do "przepisu na zrobienie
    pomidorowej". Ogólnej definicji algorytmu (w sensie matematycznym) nie
    ma, a w informatyce przyjmuje się pewien "podzbiór" tego pojęcia w
    kontekście określonej klasy maszyn, aby się na tym matematykę dało
    uprawiać :D No ale to już wykracza poza główny temat wątku :D


  • 192. Data: 2012-10-16 13:07:59
    Temat: Re: sortowanie
    Od: "slawek" <h...@s...pl>

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

    >Praca rozrusznika serca nie daje się opisać algorytmem. Praca rozrusznika
    >składa się z:
    >- odczytu parametrów
    >- algorytmu obliczenie parametrów pochodnych
    >- algorytmu decyzyjnego "czy kopnąć serce"
    >
    > Wykonywanych w nieskończonej pętli.

    Właśnie opisałeś "algorytm rozrusznika". Gratulacje.

    Skończoność w algorytmach dotyczy zapisu algorytmu (tj. musi się dać
    zapisać). Ograniczenie czasu do skończonego (tj. z jawnym ograniczeniem, bo
    wiadomo że Wszechświat kiedyś tam coś) było - i być może jest - potrzebne
    jedynie dla udowodnienia obliczalności. Nie każdy jednak algorytm służy do
    numeryki.

    >ogólnej" podczas gdy jest to czysta matematyka. Z informatyki należy pobrać
    >ograniczenia rzeczywistej maszyny (skończona pamięć, koszt

    Algorytmy tworzono circa 2000 i więcej lat temu. Komputerów nie było.

    >> Dlatego lepiej określa "czym jest algorytm" definicja: "efektywna metoda
    >> osiągnięcia celu, przedstawiona jako skończony zapis dobrze określonych
    >> instrukcji".

    >Przeraźliwie ogólne. Algorytmem sortowania byłoby "wynajęcie programisty w
    >Indiach".

    Jeżeli spodziewasz się, że będzie to: efektywne i zapewni osiągnięcie celu
    (bo jak widać daje się zapisać w postaci skończonej i zrozumiałej) - to ok,
    to jest BARDZO DOBRY ALGORYTM.

    (Nota bene, jest to często naprawdę dobre rozwiązanie - tj. zlecić komuś
    innemu, aby coś dla nas zrobił.)

    No, może być kłopotliwe... jeżeli nie rozumiesz czegoś z tego co sam
    napisałeś, np.: "wynajęcie programisty w Indiach". Wiesz jak to zrobić?
    Wynajmowałeś kiedyś już? Jesteś w stanie to zrobić? Jeżeli nie - to ten
    fragment (jaki napisałeś) nie jest "dobrze określoną instrukcją" lecz
    mniemanologią niestosowaną. Bo nie potrafisz tej instrukcji wykonać. Więc
    dla ciebie to nie-instrukcja.

    Odwrotnie, jeżeli np. regularnie pośredniczysz w zbieraniu zamówień na
    programy i kontaktujesz się z programistami w Indiach - to jest to "dobrze
    określona instrukcja" (np. spowoduje, że wyślesz e-mail z opisem problemu do
    Indii, zaczniesz negocjować stawki i terminy) - oraz, jednocześnie, jest to
    metoda efektywna - w znaczeniu "dająca, gdy tego potrzeba, spodziewane,
    poprawne rezultaty i to w akceptowalnym czasie".


  • 193. Data: 2012-10-16 13:52:29
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 16.10.2012 13:07, slawek wrote:
    > Użytkownik "Michoo" napisał w wiadomości grup
    > dyskusyjnych:k5jc44$lnn$...@m...internetia.pl...
    >
    >> Praca rozrusznika serca nie daje się opisać algorytmem. Praca
    >> rozrusznika składa się z:
    >> - odczytu parametrów
    >> - algorytmu obliczenie parametrów pochodnych
    >> - algorytmu decyzyjnego "czy kopnąć serce"
    >>
    >> Wykonywanych w nieskończonej pętli.
    >
    > Właśnie opisałeś "algorytm rozrusznika". Gratulacje.
    >
    > Skończoność w algorytmach dotyczy zapisu algorytmu (tj. musi się dać
    > zapisać). Ograniczenie czasu do skończonego (tj. z jawnym ograniczeniem,
    > bo wiadomo że Wszechświat kiedyś tam coś) było - i być może jest -
    > potrzebne jedynie dla udowodnienia obliczalności. Nie każdy jednak
    > algorytm służy do numeryki.

    Algorytm gotowania zupy jest skończony i z numeryką nie ma nic
    wspólnego. Ten w sumie też jest skończony - do końca życia pacjenta ;)

    A poważniej - mnie uczono, że właśnie algorytm ma w skończonym czasie
    dać określony wynik. Więc jeżeli czas jest nieskończony albo wynik
    niedeterministyczny to nie mamy do czynienia z algorytmem. W myśl tego
    był to opis/schemat pracy rozrusznika, ale nie algorytm.

    I ma to sens praktyczny - interesuje nas jak się zachowa rozrusznik w
    cyklu pracy, liczba cykli jest nieistotna dla problemu. Każdy
    nieskończony (w pewnym przypadku) cykl pracy da się przeciąć i uzyskać
    algorytm opisujący pracę zakończoną decyzją czy pracować dalej.

    >
    >> ogólnej" podczas gdy jest to czysta matematyka. Z informatyki należy
    >> pobrać ograniczenia rzeczywistej maszyny (skończona pamięć, koszt
    >
    > Algorytmy tworzono circa 2000 i więcej lat temu. Komputerów nie było.

    tmsidn


    --
    Pozdrawiam
    Michoo


  • 194. Data: 2012-10-16 14:10:21
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 16.10.2012 slawek <h...@s...pl> napisał/a:
    > Użytkownik "Michoo" napisał w wiadomości grup
    > dyskusyjnych:k5jc44$lnn$...@m...internetia.pl...
    >
    >>Praca rozrusznika serca nie daje się opisać algorytmem. Praca rozrusznika
    >>składa się z:
    >>- odczytu parametrów
    >>- algorytmu obliczenie parametrów pochodnych
    >>- algorytmu decyzyjnego "czy kopnąć serce"
    >>
    >> Wykonywanych w nieskończonej pętli.
    >
    > Właśnie opisałeś "algorytm rozrusznika". Gratulacje.
    >
    > Skończoność w algorytmach dotyczy zapisu algorytmu (tj. musi się dać
    > zapisać). Ograniczenie czasu do skończonego (tj. z jawnym ograniczeniem, bo
    > wiadomo że Wszechświat kiedyś tam coś) było - i być może jest - potrzebne
    > jedynie dla udowodnienia obliczalności. Nie każdy jednak algorytm służy do
    > numeryki.


    Skończoność tyczy się nie zapisu (zawsze można się umówić, że ciąg
    n1,n2,n3.... zapiszę symbolem nx i już z nieskończoności zrobiłem
    skończoność :D) tylko właśnie skończonej pesymistycznej złożoności (a
    więc istnienia warunku stopu). Aby tego typu "rozrusznik serca" badać
    pojęciem algorytmu, to trzeba przyjąć, że każde uderzenie serca, to
    pojedyńcze wykonanie trzech wspomnianych czynności "bez pętli"
    (i wtedy każde "kopnięcie serca" to odpalenie algorytmu na innych
    danych). Algorytm jest czymś w rodzaju dowodu twierdzenia, pokazuje
    jak z danych wejściowych (założenie twierdzenia) uzyskać dane
    wyjściowe (teza) przy użyciu środków udostępnianych przez maszynę
    (przyjęta aksjomatyka). Dowód twierdzenia zawsze ma skończoną liczbę
    kroków (nawet jeśli zastosujemy zasadę indukcji matematycznej) tak
    samo jak algorytm ma zawsze skończoną liczbę operacji (nawet jeśli
    działa na nieskończonym zbiorze danych wejściowych).
    To że jakieś działanie da się opisać "swoimi słowami" jeszcze nie
    oznacza, że taki opis to algorytm (tak samo jak nie każde
    "uzasadnienie słowne" jest dowodem twierdzenia matematycznego), czasem
    trzeba nieco "dopasować" opis do teorii :D


  • 195. Data: 2012-10-16 14:17:19
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Dnia Tue, 16 Oct 2012 13:52:29 +0200, Michoo napisal:

    > A poważniej - mnie uczono, że właśnie algorytm ma w skończonym czasie dać
    > określony wynik. Więc jeżeli czas jest nieskończony albo wynik
    > niedeterministyczny to nie mamy do czynienia z algorytmem. W myśl tego był
    > to opis/schemat pracy rozrusznika, ale nie algorytm.

    A czy potrafiłbyś opisać jak to się ma do algorytmów używających random?

    Oczywiście takie MC używa random, ale ma to tylko częściowy wpływ na czas
    algorytmu, bo co najwyżej obiera inne określonej długości ścieżki. Natomiast
    nie wiem jak to się ma do algorytmów w ogólności, w końcu random może wpływać
    nie tylko na to "kiedy algorytm się zakończy" (uczenie durnej sieci neuronowej
    aż błąd będzie mniejszy-niż może się nie skończyć - kiepski algorytm ale
    wciąż algorytm), ale teoretycznie random może wpływać na same elementy
    algorytmu i przez to definiowalność czy i kiedy się skończy zależy - hmm,
    od random, o ile inne prawa nie określają jakieś konwergencji.

    --
    Edek


  • 196. Data: 2012-10-16 14:20:29
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 16.10.2012 14:17, Edek Pienkowski wrote:
    > Dnia Tue, 16 Oct 2012 13:52:29 +0200, Michoo napisal:
    >
    >> A poważniej - mnie uczono, że właśnie algorytm ma w skończonym czasie dać
    >> określony wynik. Więc jeżeli czas jest nieskończony albo wynik
    >> niedeterministyczny to nie mamy do czynienia z algorytmem. W myśl tego był
    >> to opis/schemat pracy rozrusznika, ale nie algorytm.
    >
    > A czy potrafiłbyś opisać jak to się ma do algorytmów używających random?
    >
    > Oczywiście takie MC używa random, ale ma to tylko częściowy wpływ na czas
    > algorytmu, bo co najwyżej obiera inne określonej długości ścieżki. Natomiast
    > nie wiem jak to się ma do algorytmów w ogólności, w końcu random może wpływać
    > nie tylko na to "kiedy algorytm się zakończy" (uczenie durnej sieci neuronowej
    > aż błąd będzie mniejszy-niż może się nie skończyć - kiepski algorytm ale
    > wciąż algorytm), ale teoretycznie random może wpływać na same elementy
    > algorytmu i przez to definiowalność czy i kiedy się skończy zależy - hmm,
    > od random, o ile inne prawa nie określają jakieś konwergencji.
    >
    Oidp (to było jednak kilka lat temu) to wyglądało to tak:
    - jak wynik jest niedeterministyczny to nie jest to algorytm
    - jak wynik jest deterministyczny, ale mamy nałożone na niego pewne
    ograniczenia to jest to algorytm probabilistyczny

    --
    Pozdrawiam
    Michoo


  • 197. Data: 2012-10-16 15:00:28
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-16 14:20, Michoo pisze:
    > On 16.10.2012 14:17, Edek Pienkowski wrote:

    >>
    > Oidp (to było jednak kilka lat temu) to wyglądało to tak:
    > - jak wynik jest niedeterministyczny to nie jest to algorytm
    > - jak wynik jest deterministyczny, ale mamy nałożone na niego pewne
    > ograniczenia to jest to algorytm probabilistyczny

    Taż tak zawsze myślałem. Mamy algorytmu randomizowane(probabilistyczne),
    np qsort, a takie monte carlo to metoda, nie algorytm.

    Ale... gdzie wtedy wstawić test Millera-Rabina?
    Niby do algorytmów, ale przecież może dać zły wynik.

    Do tego właśnie znalazłem to:
    http://en.wikipedia.org/wiki/Monte_Carlo_algorithm

    "In computing, a Monte Carlo algorithm is a randomized algorithm
    whose running time is deterministic, but whose output may be incorrect
    with a certain (typically small) probability."

    Wynik niedeterministyczny, a jednak algorytm (probabilistyczny).


    Zresztą, czy to nie taksonomia i zbieranie znaczków;-)

    pzdr
    bartekltg


  • 198. Data: 2012-10-16 15:02:04
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-16 09:09, kenobi pisze:
    > (tak z ciekawosci chodzi
    > mi o dowiedzenie sie czym sie zajmujesz (bez
    > skrecania w strone danych personalnych))

    Równania różniczkowe cząstkowe.

    Do tego trochę fizyki, trochę numeryki.

    pzdr
    bartekltg


  • 199. Data: 2012-10-16 15:05:28
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Dnia Tue, 16 Oct 2012 14:20:29 +0200, Michoo napisal:

    > On 16.10.2012 14:17, Edek Pienkowski wrote:
    >> Dnia Tue, 16 Oct 2012 13:52:29 +0200, Michoo napisal:
    >>
    >>> A poważniej - mnie uczono, że właśnie algorytm ma w skończonym czasie dać
    >>> określony wynik. Więc jeżeli czas jest nieskończony albo wynik
    >>> niedeterministyczny to nie mamy do czynienia z algorytmem. W myśl tego był
    >>> to opis/schemat pracy rozrusznika, ale nie algorytm.
    >>
    >> A czy potrafiłbyś opisać jak to się ma do algorytmów używających random?
    >>
    >> Oczywiście takie MC używa random, ale ma to tylko częściowy wpływ na czas
    >> algorytmu, bo co najwyżej obiera inne określonej długości ścieżki. Natomiast
    >> nie wiem jak to się ma do algorytmów w ogólności, w końcu random może wpływać
    >> nie tylko na to "kiedy algorytm się zakończy" (uczenie durnej sieci neuronowej
    >> aż błąd będzie mniejszy-niż może się nie skończyć - kiepski algorytm ale
    >> wciąż algorytm), ale teoretycznie random może wpływać na same elementy
    >> algorytmu i przez to definiowalność czy i kiedy się skończy zależy - hmm,
    >> od random, o ile inne prawa nie określają jakieś konwergencji.
    >>
    > Oidp (to było jednak kilka lat temu) to wyglądało to tak:
    > - jak wynik jest niedeterministyczny to nie jest to algorytm
    > - jak wynik jest deterministyczny, ale mamy nałożone na niego pewne
    > ograniczenia to jest to algorytm probabilistyczny

    - w pozostałych przypadkach: nie tylko wykładowca, ale sam najwyższy się
    w tym pogubił

    --
    Edek


  • 200. Data: 2012-10-16 15:09:55
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-16 09:39, Edek Pienkowski pisze:
    > Dnia Mon, 15 Oct 2012 22:54:07 +0200, bartekltg napisal:


    >> Tak, ten konkursik sprawdza zdolności matematyczne/algorytmiczne,
    >> nie jakość kodu. No i?
    >
    > Mi te zadanka pachną olimpiadą. Czy to dobrze czy źle nie oceniam,

    W sumie, nie tylko klimat identyczny, ale i wejście/wyjście.
    Ale to chyba międzynarodowy standard w tego typu zabawach.

    > ale oprócz wymienionych powyżej sprawdzają dwie kluczowe: umiejętność
    > zrozumienia istoty zadania pomijając błędy w definicjach oraz właśnie
    > "eliminację zagmatwania", ponownie w celu zrozumienia istoty zadania.

    Dostajesz bajkę o szpiegach i królewnie, a nie
    'napisz algorytm taki a taki':)

    Sprawdzają coś jeszcze. Umiejętność szybkiego poradzenia sobie
    z problemem. Rano sobie drukniesz, po drodze do roboty przeczytasz,
    w czasie obiadu pomyślisz i wieczorkiem można się godzinkę
    w implementacje pobawić.
    Mało kto ma czas siedzieć cały dzień:]


    > IOW wyglądają na trudniejsze niż są dzięki zagmatwaniau.

    Zerknąłem, co tam wysyłałem w zeszłym roku. Sporo rozwiązań
    to <100 linii. Oczywiście, tych łatwych:)

    pzdr
    bartekltg






strony : 1 ... 10 ... 19 . [ 20 ] . 21 ... 30 ... 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: