가지치기(Pruning)

가지치기(Pruning) 가지치기는 백트래킹 과정에서 더 이상 유망하지 않은(promising하지 않은) 경로를 조기에 차단하는 기법이다. 즉, 특정 경로가 해결책으로 이어질 가능성이 없다고 판단되면, 그 경로를 더 이상 탐색하지 않고 바로 다른 경로를 탐색합니다. 가지치기의 중요성 효율성 향상: 불필요한 탐색을 줄여 알고리즘의 실행 시간을 크게 단축한다. 자원 절약: 메모리 사용량을 줄이고 CPU 자원을 효율적으로 사용한다. 실용성 증대: 가지치기 없이는 현실적으로 해결하기 어려운 복잡한 문제도 해결 가능하게 만든다. 가지치기 적용 방법 가지치기를 적용하는 핵심은 ‘유망성 테스트(promising test)‘이다. 각 단계에서 현재 상태가 최종 해결책으로 이어질 가능성이 있는지를 판단하는 함수를 만들어 사용한다. ...

December 29, 2024 · 6 min · Me