«dynamic-programming» 태그된 질문

재귀 적으로 얻은 하위 문제 솔루션을 결합하여 해결할 수있는 문제에 대한 질문입니다.

3
배낭 문제 — 동적 프로그래밍 솔루션에도 불구하고 NP-complete?
배낭 문제는 동적 프로그래밍으로 쉽게 해결할 수 있습니다. 동적 프로그래밍은 다항식 시간으로 실행됩니다. 그것이 우리가하는 이유입니다. 나는 그것이 실제로 NP-complete 문제라는 것을 읽었으며, 이는 다항식 문제에서 문제를 해결하는 것이 불가능하다는 것을 의미합니다. 내 실수는 어디입니까?

3
동적 프로그래밍을위한 하위 문제 결정
나는 동적 프로그래밍 기술을 여러 번 사용했지만 오늘날 친구는 하위 문제를 정의하는 방법을 물었고 객관적인 공식 답변을 제공 할 방법이 없다는 것을 깨달았습니다. 동적 프로그래밍을 사용하여 해결할 문제에 대한 하위 문제를 공식적으로 정의하는 방법은 무엇입니까?


4
동적 프로그래밍이란 무엇입니까?
이 질문이 바보처럼 들리면 미리 죄송합니다 ... 내가 아는 한 동적 프로그래밍을 사용하여 알고리즘을 작성하면 다음과 같이 작동합니다. 문제를 재발 관계로 표현하십시오. 메모 또는 상향식 접근을 통해 반복 관계를 구현합니다. 내가 아는 한, 나는 동적 프로그래밍에 관한 모든 것을 말했다. 동적 프로그래밍은 재귀 관계를 표현하거나 코드로 변환하기위한 도구 / 규칙 …

5
다이나믹 프로그래밍에 대한 사례 : 예 필요!
나는 한동안 동적 인 프로그래밍 작업을 해왔다. 동적 프로그래밍 재귀를 평가하는 정식 방법은 필요한 모든 값의 테이블을 만들고 행 단위로 채우는 것입니다. 예를 들어 Cormen, Leiserson et al : "Introduction to Algorithms" 를 참조하십시오 . 필자는 2 차원 (행 단위로 채움)으로 테이블 기반 계산 체계에 중점을두고 셀 종속성의 구조, 즉 …

6
동적 프로그래밍과 Brute Force의 차이점
다음 인용문을 보았을 때 동적 프로그래밍 에 대해 읽었습니다. 동적 프로그래밍 알고리즘은 가능한 모든 방법으로 문제를 해결하고 최상의 솔루션을 선택합니다. 따라서 우리는 동적 프로그래밍을 가능한 모든 솔루션을 통해 최상의 솔루션을 선택할 수 있는 지능적이고 무차별 한 방법 이라고 생각할 수 있습니다 . 문제의 범위가 모든 가능한 솔루션을 통과하는 것이 가능하고 …

3
n으로 나눌 수있는 최대 합
StackOverflow 에서이 질문 을 했지만 여기에 더 적절한 장소가 있다고 생각합니다. 이것은 알고리즘 소개 과정 에서 발생하는 문제입니다 . 양의 정수 가 n 인 배열 가 있습니다 (배열을 정렬하거나 요소를 고유하게 할 필요는 없습니다). 추천 O ( N ) 로 나누어 소자의 가장 큰 합을 찾는 알고리즘 N을 .aaannnO(n)O(n)O(n)nnn 예 …

3
스트링 절단에 대한 동적 프로그래밍 연습
나는이 책 에서 다음과 같은 문제를 연구하고 있다 . 특정 문자열 처리 언어는 문자열을 두 조각으로 나누는 기본 연산을 제공합니다. 이 작업에는 원본 문자열을 복사하는 작업이 포함되므로 절단 위치에 관계없이 길이가 n 인 문자열에 n 시간이 걸립니다. 이제 문자열을 여러 조각으로 나누고 싶다고 가정하십시오. 나누기 순서는 총 실행 시간에 영향을 …

3
배열없는 메모
Cormen et al.의 알고리즘 소개 , 섹션 15.3 동적 프로그래밍 요소는 다음과 같이 메모를 설명합니다. 메모 된 재귀 알고리즘은 각 하위 문제에 대한 솔루션에 대한 테이블의 항목을 유지합니다. 각 테이블 항목에는 처음에 항목이 아직 채워지지 않았 음을 나타내는 특수 값이 포함되어 있습니다. 재귀 알고리즘이 전개 될 때 하위 문제가 처음 …

2
재귀 알고리즘의 시간 복잡성을 줄이기 위해 동적 프로그래밍을 언제 사용할 수 있습니까?
동적 프로그래밍은 재귀 알고리즘을 수행하는 데 필요한 시간을 줄일 수 있습니다. 동적 프로그래밍이 알고리즘의 시간 복잡성을 줄이는 데 도움이 될 수 있음을 알고 있습니다. 재귀 알고리즘에 의해 만족된다면 동적 프로그래밍을 사용하는 것이 알고리즘의 시간 복잡성을 감소시킬 것이라는 일반적인 조건인가? 동적 프로그래밍은 언제 사용해야합니까?

2
행렬 사슬 곱셈과 지수
크기가 각각 및 인 두 개의 행렬 와 있고 을 계산 하려면 먼저 식을 로 다시 작성하는 것이 더 효율적입니다 의 크기는 이지만 의 크기는 2 × 2 이므로 만 계산 한 다음 숫자로만 평가 합니다 .AAABBB1000×21000×21000\times22×10002×10002\times1000(AB)5000(AB)5000(AB)^{5000}A(BA)4999BA(BA)4999BA(BA)^{4999}BABABAB1000×10001000×10001000\times1000BABABA2×22×22\times2 이 문제의 일반화 된 버전을 해결하고 싶습니다. 다음을 포함하는 표현식을 최적화하는 합리적으로 효율적인 …

2
시간의 워드 분해
두 개의 문자열 주어지면 연결을 위해 를 씁니다 . 문자열이 주어 정수 , 우리는 물품 의 연결을 위해 사본 . 이제 문자열이 주어지면이 표기법을 사용하여 '압축'할 수 있습니다. 즉 는 로 작성 될 수 있습니다 . 압축 가중치는 그 안에 나타나는 문자 수를 나타내므로 의 가중치는 2이고 ( 의 압축) …

1
배낭 문제의 변형
배낭의 항목 수를 상수 로 제한 해야하는 경우 동적 프로그래밍 상황에서 배낭 문제에 어떻게 접근 p피p합니까? 이것은 같은 문제입니다 (최대 무게 W여W , 모든 항목의 값 vVv 및 무게 w승w ) . 배낭 에 p피p 항목 만 추가 할 수 있으며 배낭 값을 최적화해야합니다. 우리는 3 차원이 필요합니까? 그렇지 않으면 …

2
많은 수의 하위 문제가있는 동적 프로그래밍
많은 수의 하위 문제가있는 동적 프로그래밍. 그래서 인터뷰 거리 에서이 문제를 해결하려고합니다. 그리드 워킹 (50 점 점수) 당신은에 위치하고 있습니다 엔NN 위치에 차원 그리드 ( x1, x2, … , x엔)(x1,x2,…,xN)(x_1,x_2,\dots,x_N) . 격자의 치수는 ( D1, D2, … , D엔(D1,D2,…,DN(D_1,D_2,\dots,D_N )입니다. 한 단계에서 엔NN 차원 중 하나에서 한 단계 앞뒤로 걸을 …

1
이것이 NP-Complete 문제 일 수 있습니까?
다음 문제점 설명을 고려하십시오. 초기 숫자가 주어지면, 당신과 당신의 친구는 교대로 완벽한 정사각형을 뺍니다. 제로에 도착하는 첫 번째 승리. 예를 들면 다음과 같습니다. 초기 상태 : 37 플레이어 1 빼기 16. 상태 : 21 플레이어 2 빼기 8. 상태 : 13 플레이어 1 빼기 4. 상태 : 9 플레이어 2 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.