좋은 결과를 정하기 전에 가능한 결과를 고르기
배송 로봇은 정해진 시간 안에 물품을 가져가야 합니다. 출발지에서 목적지로 가는 후보는 세 가지입니다. A는 빠르지만 배터리를 많이 쓰고 제한 구역을 지납니다. B는 시간과 소모량이 중간이며, C는 느리지만 배터리를 적게 씁니다. ‘가장 빠르다’는 장점만으로 실행 가능한 경로라고 판단할 수 없습니다.
이 활동의 목표는 제시된 세 경로 중 제한 시간과 배터리 조건을 만족하는 경로를 찾고, 그중 가장 빠른 길을 고르는 것입니다. 도로망 전체에서 모든 가능한 길을 찾는 일반적인 최단 경로 알고리즘과는 범위가 다릅니다. 탐색 범위를 명시하면 ‘최적’이라는 말의 의미도 분명해집니다.
탈락 이유도 중요한 결과
배터리 6칸, 제한 시간 10분, 제한 구역 통행 불가로 시작해 봅시다. A는 배터리와 통행 조건을 만족하지 못합니다. B는 두 자원 조건과 통행 조건을 충족합니다. C는 배터리가 충분하지만 시간이 부족합니다. 따라서 이 입력에서 가능한 후보는 B 하나입니다.
다음 단계 버튼은 한 후보씩 검사한 실제 결과를 보여줍니다. 가능한 길이 하나도 없으면 프로그램은 그 사실을 표시합니다. 그때는 억지로 경로를 고르는 대신 어떤 자원을 늘리거나 조건을 재검토해야 하는지 생각해야 합니다.
나의 선택을 설명할 수 있는가?
실험을 실행하기 전에 경로 하나를 예상해 보세요. 결과가 다르면 어느 조건을 놓쳤는지 확인하고, 같더라도 다른 후보를 제외한 이유까지 설명해 봅니다. 조건이 바뀐 뒤에도 예전 정답을 고집한다면 경로 이름만 기억한 것입니다. 이 활동에서 배우려는 것은 선택 결과를 현재 조건에 연결하는 습관입니다.
