-
Data: 2016-02-10 10:46:57
Temat: Re: Problemik algorytmiczny
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Tuesday, February 9, 2016 at 6:06:03 PM UTC+1, bartekltg wrote:
> On 09.02.2016 14:59, M.M. wrote:
> > On Tuesday, February 9, 2016 at 2:42:57 PM UTC+1, Adam M wrote:
> >> Problem jest ciekawy i metoda rozwiazania zelzy do ilosci punktow:
> >> - przy malej ilosci punkow metoda brut-froce lub kazda z wyzej wymienionych
metod poradzi sobie calkiem niezle
> >> - przy duzej ilosci punktow lepsze jest podejscie graficzno-matematyczne.
> >> tworzymy graficzna reprezentacje rozlozenia punktow i lagorytmy analizy obrazu
pozwalaja wybrac nam wrunki graniczne do przeszukiwania (miejsca gdzie jest
najwieksze zageszczenie punktow - najbardziej ciemne miejsca). Metoda ta jednak ma
jedna podstawowa wade - gdy rozmieszczenie punktow jest losowo rownomierne (bialy
szum) graficzna metoda wyznaczenia warunkow brzegowych wyszukiwania padnie na twarz -
ale w tym przypadku chyba kazda metoda padnie na twarz i losowe wybranie punktu
bedzie najlepsze/najtansze obliczeniowo (bo i tak punkty sa rozlozone losowo ale
rownomiernie ;-) )
> >
> >
> > Czy moje założenie, że optymalne rozwiązanie musi mieć na obwodzie okręgu 3
> > punkty, jest prawdziwe?
>
> Tak.
> Na płaszczyźnie;-)
>
> I to daje rozwiązanie n^4, przy jakimś sprytnym sposobie zliczania
> punktów w okręgu nieco mniej.
>
> Jeśli zaczepisz się o dwa punkty i zwiększasz promień,
> wygląda na to, ze da się w n^3 log(n)
>
> W metryce miejskiej to ładniej widać. Zaczepiasz się górnym
> i lewym bokiem o dowolną parę, dodajesz tyle punktów,
> ile potrzeba, dostajesz w wyniku rozmiar kwadratu.
>
>
> Przy okręgach pewnym ułatwieniem będzie zauważanie, że
> dwa sposród obowiązkowych 3 punktów na promieniu są
> oddalone o co najmniej 120deg.
>
> Ostatecznie:
> wybieram dwa punkty. A i B. Są one na okręgu.
>
> Dla każdego innego punktu C wyznaczam promień okręgu,
> w którym się on jeszcze mieści. Tu trzeba się skupić.
>
> Najmniejszy promień jest jak odległość |AB|
> i może rosnać w obie strony. Okręgi można to sobie
> parametryzować kątem, odległosćią od |AB|, co tak kto lubi,
> byleby łatwo zyanczać środek takiego okręgu i jego promień.
>
> niech będzie to d, odelgłość ś(c)odka okręgu od AB.
> R = sqrt(d^2 + (|AB|/2)^2), środek też łatwo wyznaczyć.
>
> Co istotne, d ma znak, dla dodatnich niech okrąg puchnie w prawo,
> dla ujemnych - w lewo.
>
> Każdy punkt C ma wartość _jedną_ (*) krytyczną d. Po jednej jej stronie
> jest w okręgu, po drugiej jest poza.
>
> W czasie O(n) wyzanczamy d dla każdego c.
> W czasie O(n log (n)) sortujemy je.
>
> W czasie O(n) przechodzimy powstałą tabelkę dwoma wskaźnikami,
> zmieniając d. Aktualizujemy wartość promienia, jeśli jest mniejszy
> i mamy >=50% miast.
>
> Wszystko powtorzyliśmy O(n^2), łącznie mamy więc
> O(n^3 log n)
>
> Nie jest źle. A można wprowadzić sporo obcięć,
> jak te z warunku o 120deg czy nie przeszukiwać d dla których
> R jest większe niż już znalezione, i, co ważniejsze, nie brać
> punktów A,B, które są oddalone o więcej niż aktualnie najlepsze R.
> To ostatnie sporo poprawi, jeśli szybko znajdziemy przyzwoite
> rozwiązanie.
>
>
> *) uwagal na punkty leżące wewnętrz odcinka AB:)
Zapomniałem w pośpiechu wymnożyć złożoność przez log(N).
Ma ktoś ochotę zaimplementować ten algorytm?
Pozdrawiam
Następne wpisy z tego wątku
- 12.02.16 14:49 slawek
- 12.02.16 16:31 M.M.
- 12.02.16 17:56 bartekltg
- 12.02.16 19:47 slawek
- 12.02.16 20:05 slawek
- 12.02.16 20:12 slawek
- 12.02.16 21:03 M.M.
- 12.02.16 23:12 bartekltg
- 13.02.16 00:04 bartekltg
- 13.02.16 00:40 M.M.
- 13.02.16 12:07 M.M.
Najnowsze wątki z tej grupy
- 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
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-05-31 Skoro jest tak dobrze i TANIO to dlaczego jeszcze nie jeździmy na takich akumulatorach?
- 2025-05-31 Warszawa => IT Data Analyst (obszar Power BI) <=
- 2025-05-31 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-05-31 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-05-31 Gdańsk => PHP Developer <=
- 2025-05-31 Lublin => Delphi Programmer <=
- 2025-05-31 co to za obcęgi? [OT]
- 2025-05-30 Rondo :)
- 2025-05-30 Warszawa => Senior Account Manager <=
- 2025-05-30 Warszawa => Senior C++ Developer (analiza numeryczna i modelowanie) <=
- 2025-05-30 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-05-30 Warszawa => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-30 Gdańsk => Programista Delphi <=
- 2025-05-30 Warszawa => Software Engineer .Net <=
- 2025-05-30 Warszawa => Inżynier oprogramowania .Net <=