탐욕스러운 알고리즘은 언제 동전 변경 문제를 해결할 수 있습니까?


24

다른 교단 동전의 집합을 감안할 때 및 값 v v 값 v를 나타내는 데 필요한 최소 코인 수를 찾으려고합니다.c1,...,cn

예를 들어 주화 1,5,10,20의 경우 합계 6의 경우 2 개의 주화와 합계 19의 경우 6 개의 주화가 제공됩니다.

내 주요 질문은 언제이 문제를 해결하기 위해 탐욕스러운 전략을 사용할 수 있는가하는 것입니다.


보너스 포인트 :이 진술이 정확하지 않습니까? (From : 욕심 많은 알고리즘이 최소 동전 변경 문제에 충분한 지 확인하는 방법은 무엇입니까? )

그러나이 논문은 욕심 알고리즘이 첫 번째 가장 큰 denom + 두 번째로 큰 denom 값에 대해 작동하는 경우 모두 작동하며 욕심 알고리즘 대 최적 DP 알고리즘을 사용하여 확인하는 것이 좋습니다. http://www.cs.cornell.edu/~kozen/papers/change.pdf

추신. 그 스레드의 답변은 엄청나게 무섭습니다. 그래서 나는 질문을 새롭게했습니다.


들면 이진 배낭 문제 쉽게 제형 기준있다 : 그리 디 알고리즘은 문제가 해결되면 모든 교위한 . 동전 교환이 쉽지 않습니다 (임의 적분 변수가있는 배낭). Magazine, Nemhauser 및 Trotter의 설명이 필요하십니까? ci>Σj=1i−1cj
— Dmitri Chubarov

2
Dexter Kozen의 논문에 따르면 욕심 많은 알고리즘이 모든 대한 최적과 일치하면 임의의 v에 대한 최적의 솔루션을 제공 할 것이라고 합니다. 나는이 진술에 아무런 문제가 없다고 본다. v<cn−1+cnv
— Dmitri Chubarov

@Dmitri Chubarov 감사합니다. 이제 보너스 q의 작동 방식을 이해합니다. 강한 유도와 비슷합니까? 다른 질문에 관해서는 해결책과 바람직하게 증거를 제공하는 답변을 원합니다.
— The Unfun Cat

나는 그 질문을 반박하고 아무도 뛰어 들지 않는다면 주말 동안 몇 가지 예를 들어 MNT를 요약한다.
— Dmitri Chubarov

참조 이 관련 질문 . 특히, Shallit 의 링크 된 논문이 흥미로울 수 있습니다.
— Raphael

답변:


13

욕심 알고리즘에 의해 변경된 동전 수가 모든 양에 대해 최적 인 경우 동전 시스템은 표준 입니다.

종이 D. 피어슨. 변화하는 문제에 대한 다항식 시간 알고리즘. Operations Reseach Letters, 33 (3) : 231-234, 2005 는 동전 시스템이 표준인지 여부를 결정하기위한 알고리즘을 제공합니다. 여기서 n 은 다른 종류의 동전의 수입니다. 초록에서 :O(n3)n

그런 다음 가장 작은 반례를 포함해야하는 일련의 가능한 값 을 도출합니다 . 각 테스트 될 수 O ( N ) 우리에게주는 연산 O ( N 3 ) 알고리즘.O(n2)O(n)O(n3)

용지가 너무 짧습니다.

비정규 코인 시스템의 경우, 욕심 많은 알고리즘이 차선의 수의 코인을 생성 하는 양 가 있습니다. c 를 반례 라고합니다 . 가장 작은 카운터 예가 가장 큰 단일 코인보다 크면 코인 시스템이 단단 합니다.cc

변경-제작 문제에 대한 정식 동전 시스템 (Canonical Coin Systems) 문서 는 최대 5 개의 동전을 가진 동전 시스템이 표준이되는 필요하고 충분한 조건을 제공하며, n 동전 의 단단한 동전 시스템 이 표준 동전 인지를 결정하기위한 알고리즘을 제공합니다 .O(n2)n

이 se.math 질문에 대한 토론도 있습니다 .


감사. 질문이 생각보다 훨씬 복잡하다는 것을 알았습니다. 이것이 실제 기준을 게시하지 않은 이유일까요? "모든 동전이 서로의 배수라면 욕심 많은 알고리즘이 최적의 결과를 제공합니다"라는 생각은 너무 간단했습니다.
— 불행한 고양이

나는 실책을 기억하지 못하고 논문을 다시 읽을 시간이 없었기 때문에 실제 기준을 게시하지 않았습니다. 물론 내 대답을 자유롭게 편집해야합니다.
— Mark Dominus

나는 답변과 기사를 두 번 읽었지만 의가 독점 기준 을 찾을 수 없었다 canonical coin system. 예를 들어 제안 된 시스템을 테스트하는 방법을 추가 할 수 있다면 좋을 것입니다.1,5,10,20
— 대부
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.