분기 한정법과 배낭 문제
안녕하세요! 이제 수업을 거의 다수강해 가고 있네요. 감사합니다!
그런데 분기 한정법과 배낭 문제에 몇가지 질문할 것이 있습니다.
첫번째,
bound : 현재 노드에서 앞으로 얻을 수 있는 최대 이익
이라고 하셨는데,
이 식을 보면
(bound = (현재까지 얻은 이익+나머지 노드들 중 전부 담아도 W를 넘지 않는 이익) + (전부 담으면 W가 넘는 노드 k의 이익))
로 이해가 됩니다.
그런데, w_i배열의 마지막 값이 앞선 원소들의 합보다 월등히 크다면,
위 bound 식이 현재 노드에서 앞으로 얻을수 있는 최대 이익이 될 수 없을 것 같습니다.
그래서 제 생각에는 먼저 이익의 내림차순으로 정렬을 하면 bound의 정의를 만족할 것 같은데 제각 생각한것이 맞을까요?
두번째,
,
위 두 그림에서 (3,1)과 (4,1)이 nonpromising한 이유가 bound 값이 maxprofit보다 작아서 라고 하셨는데,
제 생각에는 (bound = (현재까지 얻은 이익+나머지 노드들 중 전부 담아도 W를 넘지 않는 이익) + (전부 담으면 W가 넘는 노드 k의 이익)) 인데, 그렇다면 항상 (3,1)과 (4,1)에서의 bound 값은 maxprofit보다 크거나 같을 것 같습니다.
그래서 제 생각에는 nonpromising한 이유가 bound 값 때문이 아니라 무게의 합이 W보다 거쳐서 nonpromising 하다고 생각했는데 맞을까요?
항상 강의 잘 듣고 있습니다.
좋은강의에 늘 감사드립니다 :)
답변 1
문제 생각 몇분정도가 좋을까요
0
276
1
self
2
645
1
Two sum
2
342
1
Test_queue 출력 오류
1
557
2
int 범위
2
331
1
시간복잡도
1
1381
1
심화 과정 커리큘럼 질문
1
534
1
Algorithm 3.5 : Print Shortest Path 관련 질문 (플로이드 알고리즘)
0
283
0
코드 중간에 오류 보고 합니다!
1
243
1
쉽지 않네요 ㅠ
0
346
1
배낭문제와 동적계획법
0
520
1
최적 이진검색트리 관계식
0
420
1
플로이드 알고리즘
0
433
2
n-Queens
0
226
1
큰정수의 계산법 강의에서 몫과 나머지
0
237
1
퀵정렬
0
215
1
1.1알고리즘 이란 에서 교환정렬 파이썬으로 바꿀때
0
309
1
마지막 matrixmult 파라미터 값
0
270
2
내장함수에 언더스코프의 의미
0
662
2
def mergesort(S) 부분이 이해가 가지 않습니다.
0
290
3
이진탐색 vs 합병정렬
1
457
2
분할정복에서 큰 정수 곱셈 다른 계산법?
1
327
1
0번째 왜 자꾸 버리시는건가요?
2
347
1
리스트의 합
0
186
1





