eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
Ilość wypowiedzi w tym wątku: 14

  • 1. Data: 2014-12-21 10:21:57
    Temat: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: Borneq <b...@a...hidden.pl>

    Czy jest jakaś lista dyskusyjna, mailowa czy forum anglojęzyczne, gdzie
    można zapytać się o szczegóły mało znanych algorytmów?
    Przykładem jest alternatywa wyszukiwania przecięć odcinków metodą
    zamiatania - metoda Balabana rekurencyjnego podziału obszaru na pasy.
    Opis jest http://www.cs.sfu.ca/~binay/813.2011/Balaban.pdf
    i znalazłem implementację w Scali:
    https://github.com/mhodovaniuk/segment-intersection
    W tej implementacji wyrzuciłem powiązania ze ScalaFX i JavaFX,
    poprawiłem to, że nie widział przecięć linii poziomej - bo dla poziomej
    nie ustawiał jej flagi że jest pozioma. I dla przykładowych danych, do
    10 odcinków działa, choć ta metoda ma taki urok że daje powtarzające się
    przecięcia - trzeba je wpisać do listy, posortować i dać uniq.
    Ale dla dużych danych , 10 tysięcy odcinków następuje przepełnienie
    stosu. Co prawda treeSearch wywołuje się tylko z 15 razy (każde
    wywołanie jednak obciąża stos pośrednimi listami) natomiast gdy pas już
    jest bardzo wąski woła searchInStrip, które woła siebie bez końca.
    Chodzi o to, że zbiór odcinków w pasie dzieli na zbiór nie
    przecinających się, obejmujących pas - zwanych schodami i pozostałe.
    Problem jest w tym, że metoda ta na wejściu dostaje odcinki, które w
    ogóle nie są w pasie, pas to np. współrzędne x=100..x=101 a my mamy ze
    sto odcinków leżących po lewej stronie pasa. Wybór schodów powoduje że
    jest to zbiór pusty, natomiast zbiór pozostałych to zbiór wejściowy,
    wcale nie zmniejszony, więc po podziale metoda znów siebie woła.
    Z autorem implementacji w Scali na githubie - mhodovaniuk nie można się
    skontaktować, są podane tylko jego projekty a nie kontakt


  • 2. Data: 2014-12-21 16:25:04
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: bartekltg <b...@g...com>

    W dniu niedziela, 21 grudnia 2014 10:22:02 UTC+1 użytkownik Borneq napisał:
    > Czy jest jakaś lista dyskusyjna, mailowa czy forum anglojęzyczne, gdzie
    > można zapytać się o szczegóły mało znanych algorytmów?

    Na dzień dobry spróbowałbym stackoverflow.

    > Przykładem jest alternatywa wyszukiwania przecięć odcinków metodą
    > zamiatania - metoda Balabana rekurencyjnego podziału obszaru na pasy.
    > Opis jest http://www.cs.sfu.ca/~binay/813.2011/Balaban.pdf

    Naprawdę potrzebujesz algorytmu działającego
    w O(N log[N] + K) bo O ((N+K)log[N]) nie wystarcza?

    Znalazłem coś takiego:
    https://code.google.com/p/balaban-segments-intersect
    ions/

    Implementacje tego i innych popularnych algorytmów.
    Ale bez szczególnych przypadków.

    pzdr
    bartekltg


  • 3. Data: 2014-12-21 17:22:34
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: Borneq <b...@a...hidden.pl>

    W dniu 2014-12-21 o 16:25, bartekltg pisze:
    > Naprawdę potrzebujesz algorytmu działającego
    > w O(N log[N] + K) bo O ((N+K)log[N]) nie wystarcza?

    Bardziej niż o logarytmy w wielkim O, chodzi mi o czynnik stały, bo w
    metodzie zamiatania mamy operacje na strukturach AVL i kolejce
    priorytetowej. Zresztą algorytm też skomplikowany, w zasadzie to już mam
    zamiatanie i drzewa AVL, choć nie sprawdzałem prędkości, to jeszcze są
    jakieś różnice względem szukania brute-force.

    >
    > Znalazłem coś takiego:
    > https://code.google.com/p/balaban-segments-intersect
    ions/

    Dzięki za namiary, nie zauważyłem tego.

    Pozdrawiam


  • 4. Data: 2014-12-21 17:51:17
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: bartekltg <b...@g...com>

    W dniu niedziela, 21 grudnia 2014 17:22:38 UTC+1 użytkownik Borneq napisał:
    > W dniu 2014-12-21 o 16:25, bartekltg pisze:
    > > Naprawdę potrzebujesz algorytmu działającego
    > > w O(N log[N] + K) bo O ((N+K)log[N]) nie wystarcza?
    >
    > Bardziej niż o logarytmy w wielkim O, chodzi mi o czynnik stały, bo w

    A skąd wniosek, że ten będzie mieć mniejszą stałą?

    > metodzie zamiatania mamy operacje na strukturach AVL i kolejce
    > priorytetowej.

    AVL to dość szybka struktura. Kolejka piorytetowa
    to już w gogole sprinter.

    A w tym algorytmie:

    "To find Tnt ( So ) we use a collection of vertical
    strips on the plane organized in a tree structure,"

    Jakieś drzewo masz. Jesteś więć do przodu o co
    najwyżej równoważenie.

    > Zresztą algorytm też skomplikowany, w zasadzie to już mam
    > zamiatanie i drzewa AVL, choć nie sprawdzałem prędkości, to jeszcze są

    Twoim celem chyba nie jest wydajne przetwarzanie wielokątów,
    tylko jest to pomocniczy algorytm, do pomysłu na wspomaganie
    wyszukiwania granic na obrazku, wszytko w celu liczenia komórek.
    Nie przekombinowuj na tak głebokim poziomie iteracji.
    Ja bym sprawdził choćby brute forcem czy poziom wyzej dostaje
    sensowne wielokąty/komórki. Siedizsz nad tym tygodnie, a możę
    w ogóle nie tędy droga.

    > jakieś różnice względem szukania brute-force.

    Znaczy daje inne wyniki. To znaczy conajmniej
    jedna implementacje jest sknocona;-)


    > >
    > > Znalazłem coś takiego:
    > > https://code.google.com/p/balaban-segments-intersect
    ions/
    >
    > Dzięki za namiary, nie zauważyłem tego.


    Jest tego więcej:
    https://www.google.com/search?q=Balabana&ie=utf-8&oe
    =utf-8#q=Balaban+algorithm+implementation

    przynajmniej u mnie wię wyświatla.

    pzdr
    bartekltg


  • 5. Data: 2014-12-21 17:56:36
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: "M.M." <m...@g...com>

    On Sunday, December 21, 2014 5:22:38 PM UTC+1, Borneq wrote:
    > W dniu 2014-12-21 o 16:25, bartekltg pisze:
    > > Naprawdę potrzebujesz algorytmu działającego
    > > w O(N log[N] + K) bo O ((N+K)log[N]) nie wystarcza?
    >
    > Bardziej niż o logarytmy w wielkim O, chodzi mi o czynnik stały, bo w
    > metodzie zamiatania mamy operacje na strukturach AVL i kolejce
    > priorytetowej. Zresztą algorytm też skomplikowany, w zasadzie to już mam
    > zamiatanie i drzewa AVL, choć nie sprawdzałem prędkości, to jeszcze są
    > jakieś różnice względem szukania brute-force.

    By się wydawalo, że to tylko przecinanie się odcinków, a tu proszę,
    skomplikowane algorytmy.

    Czy mogę zapytać, co będzie robił program, w którym używasz detekcji
    odcinków? Pytam z czystej ciekawości/próżności.

    Pozdrawiam


  • 6. Data: 2014-12-21 18:08:51
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: Borneq <b...@a...hidden.pl>

    W dniu 2014-12-21 o 16:25, bartekltg pisze:
    > Znalazłem coś takiego:
    > https://code.google.com/p/balaban-segments-intersect
    ions/
    >
    > Implementacje tego i innych popularnych algorytmów.
    > Ale bez szczególnych przypadków.

    Podoba mi się ten program, zrobiony przez samego twórcę algorytmu.
    Mierzy. Np . Bentley-Ottman trwa dłużej niż trivial, za to Balaban
    krócej i można jeszcze krócej wykorzystując dwa rdzenie procesora.


  • 7. Data: 2014-12-21 20:06:23
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: Borneq <b...@a...hidden.pl>

    W dniu 2014-12-21 o 17:56, M.M. pisze:
    > Czy mogę zapytać, co będzie robił program, w którym używasz detekcji
    > odcinków? Pytam z czystej ciekawości/próżności.

    Tam gdzie używałem dużej ilości przycinania odcinków to była błędna
    ścieżka programu - miał dzielić i łączyć obrysy, wróciłem do pierwotnej
    wersji - znajdowania jąder i wokoło m.in. za pomocą Voronoi obrysów.
    Program w ogóle ma na folderze około 2500 obrazków rozmiaru 512x512
    znajdować podejrzane komórki.
    Brute-force działa już znacznie lepiej po szybkim odrzucaniu segmentów,
    które ma nie brać w ogóle pod uwagę. A te odcinki - zamiatanie i Balaban
    to teraz mniej związane z pracą a bardziej hobbystycznie, mam zamiar
    opisać algorytmy i zamieścić kod.

    Pozdrawiam



  • 8. Data: 2014-12-22 16:44:07
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: "M.M." <m...@g...com>

    On Sunday, December 21, 2014 8:06:27 PM UTC+1, Borneq wrote:
    > W dniu 2014-12-21 o 17:56, M.M. pisze:
    > > Czy mogę zapytać, co będzie robił program, w którym używasz detekcji
    > > odcinków? Pytam z czystej ciekawości/próżności.
    >
    > Tam gdzie używałem dużej ilości przycinania odcinków to była błędna
    > ścieżka programu - miał dzielić i łączyć obrysy,
    Rozumiem że chodzi o ścieżkę rozwoju programu. W programie została użyta metoda, z
    której potem trzeba było zrezygnować na rzecz innej metody.

    > wróciłem do pierwotnej
    > wersji - znajdowania jąder i wokoło m.in. za pomocą Voronoi obrysów.
    Brzmi ciekawie, żałuję że nie mam czasu, aby zainteresować się szczegółami
    algorytmu.

    > Program w ogóle ma na folderze około 2500 obrazków rozmiaru 512x512
    Rozumiem, że 2500 obrazków to dużo, więc program działa zbyt wolno i
    szukasz lepszych algorytmów/implementacji. Ciekawi mnie jak wyglądają
    obrazki. To są zdjęcia z aparatu? Sekwencje zdjęć z kamery? Czy są
    generowane jakimś automatem? Możesz podać link do kilku obrazków?


    > znajdować podejrzane komórki.
    Jakie komórki są podejrzane?


    > Brute-force działa już znacznie lepiej po szybkim odrzucaniu segmentów,
    > które ma nie brać w ogóle pod uwagę. A te odcinki - zamiatanie i Balaban
    > to teraz mniej związane z pracą a bardziej hobbystycznie, mam zamiar
    > opisać algorytmy i zamieścić kod.
    Chodzi o pracę naukową czy zawodową?

    Pozdrawiam


  • 9. Data: 2014-12-22 16:53:34
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: Borneq <b...@a...hidden.pl>

    W dniu 2014-12-22 o 16:44, M.M. pisze:
    > Rozumiem że chodzi o ścieżkę rozwoju programu. W programie została użyta metoda, z
    której potem trzeba było zrezygnować na rzecz innej metody.

    tak,

    > obrazki. To są zdjęcia z aparatu? Sekwencje zdjęć z kamery? Czy są
    > generowane jakimś automatem? Możesz podać link do kilku obrazków?

    http://slajdy.meditest.pl/
    tylko teraz nie działa, przykład http://i.imgur.com/sEWFHfY.jpg
    Jest to duże zdjęcie o boku 25-30 tysięcy pocięte na kawałki np. 55x55
    kawałków o boku 512. Zdjęcie wykonane przez aparaturę powiększającą
    obraz jak mikroskop.

    >> znajdować podejrzane komórki.
    > Jakie komórki są podejrzane?

    Duże, niejednorodne jądra, dzielące się jądra i tego typu przypadki.

    > Chodzi o pracę naukową czy zawodową?

    Zawodową


    Pozdrawiam



  • 10. Data: 2014-12-22 20:08:03
    Temat: Re: Gdzie porozmawiać o szczegółach algorytmów ? (Balaban)
    Od: "M.M." <m...@g...com>

    On Monday, December 22, 2014 4:53:37 PM UTC+1, Borneq wrote:
    > http://slajdy.meditest.pl/
    > tylko teraz nie działa, przykład http://i.imgur.com/sEWFHfY.jpg
    > Jest to duże zdjęcie o boku 25-30 tysięcy pocięte na kawałki np. 55x55
    > kawałków o boku 512. Zdjęcie wykonane przez aparaturę powiększającą
    > obraz jak mikroskop.
    Jakbym gdzieś coś podobnego już widział... ale niestety nie przypominam
    sobie co jest pod mikroskopem?


    > Duże, niejednorodne jądra, dzielące się jądra i tego typu przypadki.
    Duże w względem średniej wielkości jądra? Niejednorodne
    pod względem kształtu, koloru, jednego i drugiego?


    Jakie masz efekty na chwilę obecną? Jaka jaki procent podejrzanych
    wychwytujesz? Jak często niepodejrzaną klasyfikujesz jako podejrzaną?


    > > Chodzi o pracę naukową czy zawodową?
    > Zawodową
    Fajna praca.

    Pozdrawiam

strony : [ 1 ] . 2


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: