-
Data: 2015-12-17 15:03:36
Temat: Re: Równoległe przeszukiwanie drzewa
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 17.12.15 15:13 M.M.
- 17.12.15 17:09 Borneq
- 18.12.15 16:52 platformowe głupki
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Ceny mieszkań stabilne a zdolność kredytowa rośnie. O ile nie masz dzieci