eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingRównoległe przeszukiwanie drzewa › Re: Równoległe przeszukiwanie drzewa
  • X-Received: by 10.140.102.203 with SMTP id w69mr626237qge.0.1450361016842; Thu, 17
    Dec 2015 06:03:36 -0800 (PST)
    X-Received: by 10.140.102.203 with SMTP id w69mr626237qge.0.1450361016842; Thu, 17
    Dec 2015 06:03:36 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    mv3no17373927igc.0!news-out.google.com!x65ni50qgx.1!nntp.google.com!21no470231q
    gx.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 17 Dec 2015 06:03:36 -0800 (PST)
    In-Reply-To: <n4ue68$5sk$1@node2.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.47.3;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.47.3
    References: <n4ua7n$20o$1@node2.news.atman.pl>
    <a...@g...com>
    <n4ue68$5sk$1@node2.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <d...@g...com>
    Subject: Re: Równoległe przeszukiwanie drzewa
    From: "M.M." <m...@g...com>
    Injection-Date: Thu, 17 Dec 2015 14:03:36 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:209047
    [ ukryj nagłówki ]

    On Thursday, December 17, 2015 at 2:43:38 PM UTC+1, bartekltg wrote:
    > On 17.12.2015 14:28, M.M. wrote:
    > > On Thursday, December 17, 2015 at 1:36:08 PM UTC+1, Borneq wrote:
    > >> Normalnie, przy rekurencyjnym przeszukiwaniu zaczyna się od najbardziej
    > >> lewego poddrzewa, potem wybiera najbardziej lewą gałąź itd.
    > >> A jak przeszukiwać w ten sposób że drzewo (niekoniecznie binarne)
    > >> najpierw przeszukuje się do głębokości 1, potem do 2, w międzyczasie się
    > >> rozgałęzia, więc więcej gałęzi szukamy. Czy to problem, gdzie przydadzą
    > >> się coroutiny?
    > >> W szachach jest podobnie, ale tam szukanie na głębokość n+1, zawiera w
    > >> sobie szukanie całych poddrzew poczynając od korzenia, z drugiej strony
    > >> inaczej trzeba by zapamiętywać pozycje, a przy współczynniku
    > >> rozgałęzienia kilkadziesiąt, koszt szukania od nowa jest pomijalny.
    > >> Ale co gdy mamy rozgałęzienie zwykle 2, czasami trzy?
    > >
    > > Odpowiadam mniej/więcej to samo co Bartek. Stos, jakbyś się uparł, można
    > > też zastosować, ale nie jeden, lecz dwa :) Można użyć flagi 'odwiedzony'
    > > zamiast kolejki, ale wtedy musi być tyle flag, ile wątków i oznacza
    > > stały* narzut pamięciowy. W przypadku kolejki na pamięć jest zapotrzebowanie
    > > jest tylko wtedy gdy wątki przeszukują.
    >
    > Dobrze, masz flagę, ale jak przechodzisz drzewo?
    Można, ale zupełnie inna sprawa czy to ma praktyczny sens :)


    struct Node {
    void *data
    int *children;
    uint flags
    };


    Node tree[SIZE];

    root = 0;
    tree[root].flags = 1<<CURR_THREAD;
    tree[not_root].flags = 0; // sory za metakod

    int queue;
    do {
    queue = 0;
    for( i=0 ; i<SIZE ; i++ ) {
    if( tree[i].flags & CURR_THREAD ) {
    tree[i].flags ^= 1<<CURR_THRED;
    queue++;
    print( i );
    for( j=0 ; tree[i].children[j] >= 0 ; j++ ) // dowolna kolejność
    tree[ tree[i].children[j] ].flags |= 1<<CURR_THREAD;
    }
    }
    } while( queue > 0 );

    Pozdrawiam

    >
    > Co do wątków, mam podejrzenie, że 'równoległe' pojawia się
    > w poście z braku znajomośći poprzwnego sformułowania - "w szerz",
    > nie dlatego, by zbobić to wielowątkowo.
    Hmmmm.



    > Wyglada, że chce przeszukać drzewo do zadanej głębokośći lub do
    > głębokości, na której znajduje się rozwiązanie, ale nie głębiej.
    > Właśnie do tego BFS zostało stworzone;-)
    To w mojej wersji jeszcze trzeba dać to ograniczenie głębokości :)


    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: