Dyskusja:Problem wydawania reszty

message: dla nominalow 1 10 11 
wydanie kwoty 20 przez algorytm zachllanny daje falszywe rozwiazanie
mimo, ze
"każda możliwa do zadania kwota dzieli się przez któryś z dostępnych nominałów"
ps co to jest "możliwa do zadania kwota"?
Kbsc 16:43, 24 cze 2007 (CEST)
replies: text: # Co rozumiesz przez fałszywe rozwiązanie...? Algorytm zachłanny, jak to się często bywa, daje wynik nieoptymalny (tu: wyznacza rozwiązanie z dziesięciu monet zamiast z dwu – 11 plus dziewięć razy 1 zamiast dwa razy 10), jednak wyda poprawną resztę. Gorzej, że przy pewnych układach danych może w ogóle nie znaleźć rozwiązania (przykład poniżej).
replies: text: ::::::zadanie brzmi: "wydać żądaną kwotę przy użyciu minimalnej liczby monet" wiec algorytm zachłanny nie daje rozwiązania.Kbsc

text: # Podejrzewam, że "możliwa do zadania kwota" to jest niezręcznie napisane "kwota wymaganej reszty, jaka może pojawić się na wejściu algorytmu wskutek zewnętrznych uwarunkowań". Np. jeśli automat przyjmuje tylko monety 2 i 10, sprzedaje "cos", i wszystkie "cosie" mają ceny parzyste, to reszta musi też być parzysta. Jeśli ceny są całkowite i przyjmowane monety takoż, to i reszta musi być całkowita. I autor twierdzi, że wystarczającym warunkiem rozwiązalności zadania jest, by każda taka kwota dzieliła się przez co najmniej jeden z dostępnych nominałów.  Ale w tym się myli. Nie wystarczy nawet podzielność przez najmniejszy dostępny nominał! Kontrprzykładem jest kwota 6 przy nominałach 2 i 5. Algorytm zachłanny wyda najpierw 5, po czym nie będzie w stanie wydać pozostałej jedności. Najprostszym warunkiem, gwarantującym wykonalność zadania, jest by najmniejszy dostępny nominał był wspólnym dzielnikiem wszystkich możliwych kwot oraz dostępnych nominałów.

text: CiaPan (Odp.) 20:27, 11 lip 2007 (CEST)
replies: text: :ponadto sformulowanie problemu jest zle.
Kbsc 09:10, 12 lip 2007 (CEST)
replies: text: :::Dziękuję za wskazanie błędów i poprawki. Co rozumiesz jako "błędne sformułowanie problemu"? Chętnie poprawię. bryn (dyskusja) 14:13, 18 lip 2007 (CEST)
w standardowym problemie mamy zadane zbior nominalów .Monet kazdego nominalu jest dosc. a nie zbior monet.
Kbsc 18:25, 26 lip 2007 (CEST)

message: Sugerowałbym też zamieszczenie szkicowych dowodów poprawności dla tych algorytmów... de2k 10:23, 8 kwi 2008 (CEST)
replies: text: Sugerowałbym powstrzymanie się przed umieszczaniem dowodów, a nawet ich szkiców. Nawet szczegółowe opisy algorytmów są moim zdaniem przesadą. No, chyba że w postaci osobnej strony, dopiętej *pod* zasadniczym artykułem – ale nie w artykule. Encyklopedia to nie podręcznik! --CiaPan (Odp.) 10:45, 9 kwi 2008 (CEST)
replies: text: :Ale Wikipedia nie jest zwykłą encyklopedią... Artykuły na Wikipedii są chyba z definicji bardziej rozbudowane i zawierają więcej informacji niż zwykła encyklopedia... --Loonatic (dyskusja) 19:08, 16 lut 2009 (CET)
thread_title:  Dowód 

message: Właśnie jestem w trakcie pisania szybkiego referatu na powyższy temat. Tutaj: http://arxiv.org/abs/0809.0400v1 znajduje się praca naukowa wyjaśniająca wszystkie wątpliwości. Znajduje się tam też algorytm pozwalający na stwierdzenie, czy możemy w danym systemie monetarnym używać algorytmu zachłannego, czy nie.
thread_title:  Źródło naukowe 

message: Czy tylko mi się wydaje że wyniki są jakieś nieprawidłowe? Sowa
thread_title:  Błąd w przykładzie algorytmu dynamicznego