Score
0
Best
-
세탁기 한 대, 건조기 한 대, 그리고 쌓인 빨래. 마지막 빨래가 가장 빨리 나오는 세탁 순서를 고르세요.
모든 빨래는 세탁을 먼저, 건조를 나중에 해야 하고 기계는 각각 한 대뿐입니다. 세탁기는 비는 즉시 다음 빨래를 시작하지만, 건조기는 그 빨래가 세탁기에서 나와야 돌릴 수 있습니다. 기다리는 동안 건조기는 그냥 놀고 있습니다. 당신이 정하는 것은 순서 하나뿐입니다.
세탁할 순서대로 빨래를 누르면 두 줄이 채워집니다. 위가 세탁기, 아래가 건조기이고, 아래 줄의 빈 칸이 건조기가 아무것도 하지 않는 시간입니다. 큰 숫자는 마지막 빨래가 나오는 시각입니다. 다시 누르면 줄에서 빠집니다.
순서가 마음에 들면 돌리기를 누르세요. 그 더미에서 가능한 가장 빠른 시각과 정확히 같으면 통과입니다. 놓치면 하트가 하나 줄고, 시간이 어디로 샜는지 보이도록 최적 순서를 보여 줍니다.
세 라운드마다 빨래가 하나 늘어납니다. 세 번 놓치면 끝이고 시계가 다 돌아도 끝입니다. 점수는 통과한 라운드 수입니다.
이것은 기계 두 대를 차례로 거치는 흐름 작업 문제이고, 정확한 최적해를 손으로 구할 수 있는 몇 안 되는 일정 문제 중 하나입니다. 규칙의 이름은 존슨 규칙(1954년)이고 외울 만큼 짧습니다. 빨래를 두 무리로 나누세요 — 세탁 시간이 건조 시간보다 짧거나 같은 것, 그리고 세탁이 더 긴 것. 앞 무리를 먼저, 세탁 시간이 짧은 순으로 돌립니다. 그다음 뒤 무리를 건조 시간이 긴 순으로 돌립니다. 그러면 건조가 가장 긴 빨래는 최대한 뒤로 가고, 건조가 가장 짧은 빨래가 하루를 마무리합니다.
왜 되는지는 증명보다 감으로 잡는 편이 쉽습니다. 하루를 끝내는 기계는 건조기입니다. 그러니 목표는 건조기에게 일감이 최대한 일찍 생기게 하고, 맨 끝에 남는 일감은 최대한 적게 만드는 것입니다. 세탁이 빠르고 건조가 느린 빨래는 시작에 완벽합니다 — 세탁기를 금방 비우고, 세탁기가 아직 돌아가는 동안 건조기가 일을 시작합니다. 반대로 세탁이 느리고 건조가 빠른 빨래는 마무리에 완벽합니다 — 뒤에서 기다리는 사람이 없고, 건조기에 들어가면 순식간에 끝납니다. 나머지는 이 양 끝에서 저절로 정리됩니다.
규칙의 값어치는 숫자로 나옵니다. 무작위로 만든 수천 개의 더미에서 존슨 순서는 가능한 최단 시각에 100% 닿습니다. 이건 통계가 아니라 정리(定理)입니다. 규칙의 절반만 익혀 세탁 시간 순으로만 늘어놓으면 약 48%, 보이는 순서대로 그냥 돌리면 약 10%로 무작위와 별 차이가 없습니다.
이름을 붙여 둘 함정은 근시안적 욕심입니다. 매 단계에서 완료 시각이 가장 덜 늦어지는 빨래를 고르는 방식인데, 신중해 보이지만 여기서 측정한 것 중 가장 나쁩니다 — 최단에 닿는 비율이 약 4%로 무작위보다도 못합니다. 초반에는 무엇을 넣든 완료 시각이 거의 변하지 않아서 의미 없는 동점 규칙으로 고르게 되고, 선택이 중요해질 무렵에는 마무리에 좋은 빨래를 이미 다 써 버렸기 때문입니다. 한 걸음씩 더듬지 말고 규칙대로 정렬하세요.