 |
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysłany: Pią 1:25, 16 Lis 2007 Temat postu: Pytanie do algorytmików... |
|
|
mam takie zadanie:
firma produkuje urządzenia o "n" parametrach (np. kolor, wielkość...), ma ich wyprodukować "m" (każde urządzenie może mieć inaczej ustawione parametry).
problem jest taki ze przestawienie parametru w linii produkcyjnej kosztuje mamy podaną tabelkę "k[n]" z informacja o kosztach przestawienia każdego z parametrów.
jak to posortować żeby koszt tych przestawień był minimalny..
---------
od razu mówię ze posortowanie po najdroższych parametrach..a potem mniejszych nie zadziała bo:
..1..|..2..|..3..|..4.. - numer obiektu
----------------------
..0..|..0..|..1..|..1.. - param 0
..a..|..b..|..a..|..b.. - param 1
wystarczy zamienić obiekt 3 z 4 żeby otrzymać lepsza konfiguracje.
----------
jak ktoś zarzuci pomysłem lub chociażby linkiem do podobnego problemu będę wdzięczny.
|
|
Powrót do góry |
|
 |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Robson
zielony żul
Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów
Skąd: Z Lasu :]
|
Wysłany: Pią 2:19, 16 Lis 2007 Temat postu: |
|
|
A jak wielkich danych sie spodziewasz? I jaki jest oczekiwany czas liczenia?...
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysłany: Pią 9:45, 16 Lis 2007 Temat postu: |
|
|
ilosc parametrów to ok 5-10 ("n")
ilosc obiektów 10000-100000 ("m")
algorytm nie moze byc wolniejszy niz n*mlog(m), może podawać czasem błędne wyniki ale nie gorsze niz +10% do kosztów.
edit:
jeśli znasz sie na grafice, to jest mi to potrzebne do posortowania obiektów przed wyświetleniem. dla kazdego obiektu znam shadery, textury, VertexDeclaration..., przełączanie każdego parametru kosztuje, wiec warto to posortować.
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Robson
zielony żul
Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów
Skąd: Z Lasu :]
|
Wysłany: Pią 10:36, 16 Lis 2007 Temat postu: |
|
|
A szukałeś na Gamasutrze, albo DevNetcie? Moze juz ktos opisywał taki feature...?
PS. Pomysle nad tym... ale pewnie Rogal ma na to gotowe rozwiazanie :P
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Rogal
Zjeb z kaszanką
Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów
Skąd: koło podbiegunowe
|
Wysłany: Pią 11:40, 16 Lis 2007 Temat postu: |
|
|
Trochę mocno nieprecyzyjna treść, więc nie wiem czy dobrze rozumiem, ale jeśli tak to to działa w ten sposób:
1. Sortujemy parametry po koszcie, rosnąco.
2. Załóżmy, że znamy sposób w jaki optymalnie wyprodukować produkty korzystając tylko z k parametrów. Wtedy optymalny sposób wyprodukowania korzystając z k+1 parametrów wygląda tak:
Kod: |
=algorytm dla k normalnie= =algorytm dla k odwrotna kolejność=
0 0 0 .................. 0 1 1 1 ........................... 1 |
Jeśli parametr k+1 może przyjmować więcej niż 2 wartości to nad każdą wartością robimy algorytm dla k naprzemiennie, raz w kolejności normalnej, raz w odwrotnej.
Przykładowo, dla 3 parametrów, gdzie pierwszy = {0,1}, drugi = {a,b,c}, trzeci = {A,B} będziemy dostawać
Kod: |
k=1:
01
k=2:
011001
aabbcc
k=3:
011001100110
aabbccccbbaa
AAAAAABBBBBB |
Dość łatwo udowodnić, że to działa. Po pierwsze dlatego, że zawsze zmieniamy dokładnie 1 parametr, po drugie dlatego, że dbamy o to, by droższe parametry zmieniać rzadziej od tańszych.
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysłany: Pią 14:10, 16 Lis 2007 Temat postu: |
|
|
dzięki, o to dokładnie mi chodziło.
@Robson szukałem artykułów na ten temat i większość z nich opisuje ten temat pobieżnie nie zdradzając tajemnic:)
do sortowania mam zamiar użyć sortowania kubełkowego, znacie jakiś lepszy lub widzicie jakieś przeciwwskazania do używania kubełków?
(tablica jest duża ~100000, ilość wartości jest mała ~100)
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysłany: Sob 12:31, 05 Kwi 2008 Temat postu: |
|
|
mam taki problem mamy "n" ludzi
wszyscy ludzie sie znaja i maja jakies stosunki miedzy soba (float [-1...1] )
-1 nie lubią sie
1 lubią sie
mamy k ludzi i znaleźć dla tych ludzi jak najlepszego negocjatora czyli kogoś kto będzie miał jak najlepsze relacje z tymi k ludźmi..
poszukał bym w google ale nie mam pomysłu co wpisać...
edit:
jak ktos ma linka do podobnego problemu to mi wystarczy...
Ostatnio zmieniony przez SZCZUR dnia Sob 12:44, 05 Kwi 2008, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Pawel Str.
pijak
Dołączył: 06 Lut 2006
Posty: 429
Przeczytał: 0 tematów
Skąd: Ze starszego roku / Z Gorlic
|
Wysłany: Sob 13:03, 05 Kwi 2008 Temat postu: |
|
|
Jak definiujesz najlepszego? Największa suma?
Jeżeli tak, to da się to banalnie zrobić w (n-k)*k (iterujesz po wszystkich ludziach i liczysz sumę ich krawędzi, czyli jak dobrymi byliby negocjatorami + standardowe podejście do znajdowania maksimum). Chyba da się też łatwo pokazać, że nie da się tego zrobić w mniej niż (n-k)*k, bo nie sprawdzając tego zbioru danych nie jesteśmy w stanie sprawdzić poprawności rozwiązania (dowód przez wyrocznię).
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysłany: Sob 20:13, 05 Kwi 2008 Temat postu: |
|
|
szkoda
myślałem ze dałoby sie jakoś dane o ludziach przygotować wcześniej (bo te dane sie prawie nie będą zmieniać)
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Pawel Str.
pijak
Dołączył: 06 Lut 2006
Posty: 429
Przeczytał: 0 tematów
Skąd: Ze starszego roku / Z Gorlic
|
Wysłany: Sob 20:57, 05 Kwi 2008 Temat postu: |
|
|
To czegoś tu nie rozumiem. Co się nie będzie zmieniać, a co owszem? Jak będziesz to wywoływał? Trochę za mało informacji dałeś, więc podałem rozwiązanie dla sytuacji jednorazowego szukania optimum.
|
|
Powrót do góry |
|
 |
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|