-
Data: 2016-02-09 14:42:55
Temat: Re: Problemik algorytmiczny
Od: Adam M <a...@m...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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 ;-) )
On Tuesday, February 9, 2016 at 6:44:25 AM UTC-5, M.M. wrote:
> On Tuesday, February 9, 2016 at 12:00:58 PM UTC+1, slawek wrote:
> > On Tue, 9 Feb 2016 02:35:31 -0800 (PST), "M.M."
> > > No nie wiem... po lekkich modyfikacjach by się znalazły
> > zastosowania.
> >
> > Mnie zaciekawiło w tym to, że mogę (widząc takie punkty narysowane na
> > kartce papieru) łatwo wskazać gdzie to mniej więcej jest.
> Jakkolwiek działa mózg, to na pewno bardzo szybko przetwarza
> obrazy. Mózg po ułamku sekundy wie gdzie jest gęsto i gdzie
> jest przybliżony środek gęstości.
>
> > Więc jak to robi mózg?
> Nie wiem jak to robi mózg, może liczy równolegle odległość pomiędzy
> najbliższą parą odcinków?
>
>
> > I czy mózg naprawdę robi to dobrze, czy tylko mu się
> > wydaje że robi to dobrze?
> By trzeba poszukać jakiś badań. Jak to robi 100 przypadkowych osób i
> jak to robią najlepsze znane algorytmy.
>
>
> > Czy to jest problem łatwy dla AI lub dla I
> > bez A... ale trudny do zalgorytmizowania? Czy też algorytm/teoria
> > już są i tylko ja o tym nie wiem?
> Nigdy nie czytałem o algorytmie który daje optymalne rozwiązanie. Po
> chwili zastanowienia, to by trzeba jakoś sprytnie przesuwać ten okrąg
> po powierzchni 2D i dostosowywać jego rozmiar. Może da się to zrobić w
> czasie N?
>
> A jakby zastosować 'metodę zegarkową'? Wychodzę z założenia, że optymalne
> rozwiązanie powinno zawierać punkty na swoim obwodzie.
> 1) Dla każdego punktu
> a) rysujemy okrąg tak aby ten punkt leżał na jego obwodzie;
> b) zwiększamy okrąg rozciągając go w kierunku godziny 12tej, aż
> obejmie zadaną ilość punktów;
> c) potem obracamy nim w kierunku godziny 1szej, aż zmieni się ilość
> punktów jeśli zmalała ilość punktów, to okrąg zwiększamy, jeśli
> wzrosła, to zmniejszamy
>
> Powyższy algorytm raczej nie da optymalnego rozwiązania, ale powinien dać
> całkiem dobre. Będzie działał w czasie N^2.
>
> Inne założenie: optymalny okrąg musi mieć na swoim obwodzie 3 punkty. Czyli
> rysujemy minimalny okrąg dla każdej pary punktów. Jeśli zawiera za dużo
> punktów, to przerywamy. Jeśli zawiera za mało, to zwiększamy tak, aby
> po kolei dotykał trzeciego punktu. W ten sposób przeiterujemy wszystkie
> potencjalnie optymalne okręgi. Wybieramy najmniejszy. Złożoność N^3 - nie
> taka zła, a intuicja podpowiada mi, że to będzie optymalny algorytm.
>
>
> > Co do możliwych danych: dwa niezbyt odległe od siebie skupiska i
> > trzecie daleko od tamtych dwóch. Różne warianty co do liczby punktów
> > w każdym z nich.
> Myślę że ten algorytm N^3 poradzi sobie.
>
>
> > A i jeszcze coś: gdzie będą punkty n+2, n+3,... Będzie jakiś punkt
> > stały, tj co z przejściem do nieskończoności?
> Czyli punkty dane wzorem matematycznym, a nie tabelką? Hmmmm... jak
> się ułożą w ciąg rosnący szybciej niż liniowo (po x i y), to będzie
> stały punkt. Poza tym przypadkiem może być trudne w analizie.
>
>
> Pozdrawiam
Następne wpisy z tego wątku
- 09.02.16 14:59 M.M.
- 09.02.16 18:06 bartekltg
- 10.02.16 10:46 M.M.
- 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 <=