본문 바로가기

카테고리 없음

[Swift]세탁 횟수 문제 구현 3

지난 시간까지 시뮬레이션을 작성해 보았다. 이제 적절한 매개변수를 대입해 결과를 확인해 보자.

 

먼저 매개변수는 총 다섯 개로 다음과 같은데 나의 라이프 사이클 기준으로 몇 가지를 미리 정했다.

  • stuffNumber: 속옷은 총 10 세트 있는 것으로 가정하였다. 양말 10쌍, 팬티 10개, 민소매 10개...
  • washTerm: 세탁 주기는 7(일주일) 일이다.
  • repeatNumber: 반복 횟수는 100번을 하였는데, 100번이면 세탁 주기가 7일이므로, 700일이고 약 2년(100 x 7 ÷ 365 ≈ 1.92)이다.
  • possibility: 그날그날 속옷을 입을 확률인데, 나의 경우 7일 동안 평일에는 거의 속옷을 입고, 주말에는 사용할 수도 있고 않을 수도 있다. 그래서 대략 7일 중 6일 정도 속옷을 입는 것 같아 0.8(6 ÷ 7 ≈ 0.86)로 설정하였다.
  • priority: .lastInFirstOut 또는 .randomly 또는 .byPreference 중 하나로 선택할 것이다.

그럼 priority에 따른 결과를 확인해 보자.

 

먼저 서랍의 가장 바깥쪽의 속옷을 꺼내는 경우이다.

먼저 모든 속옷의 세탁 횟수를 더한 값은 565가 나왔다. 이 값은 possibility(0.8)로부터 초래된 결과로, 100번 세탁, 10개의 속옷에 대해 possibility가 정적이라면 계산상 100 x 7 x 0.8 = 560이 나온다. 여러 번 수행했을 때, 실제로 560 근처에서 작거나 크거나 같기도 하였다.

 

각 속옷의 세탁 횟수를 살펴보면, 서랍의 가장 안쪽에 있던 0, 1, 2번을 제외하고 총 7개의 속옷들만 사용된 것을 알 수 있다. 눈여겨 볼만한 점은 7개의 속옷의 세탁 횟수가 난수와 같이 나왔다는 것이다. 그 이유는 세탁기를 돌릴 때마다 세탁물이 섞이기 때문인데, 이상한 점은 가장 작은 수와 가장 큰 수의 차이다. 최솟값 67과 최댓값 93의 차이는 무려 16이나 된다. 시뮬레이션을 여러 번 돌려본 결과, 그 차이가 더 작을 수도 있고 클 수도 있는데, 80(세탁 횟수 100 x 속옷을 입을 확률 0.8)에서 약 ±15% 정도 벗어나 있다.

 

물론 아래와 같이 repeatNumber를 증가시키면 그 폭은 감소하지만, 속옷을 2년 넘게 입는 경우가 얼마나 될지는 의문이다.

일단 전제를 2년 전도 속옷을 입는다고 가정했기 때문에, repeatNumber를 증가시키는 경우는 생각하지 않기로 한다. 최소/최대 차이가 ±15%(실험적으로 얻은 수치이다)라면, 최솟값이 68, 최댓값이 92이고, 14가 차이 나게 된다. 

 

다시 말해, 일반적으로 서랍의 가장 바깥쪽에 있는 속옷을 사용하면 2년 뒤에 세탁 횟수가 14 정도 차이 날 수도 있다는 뜻이다. 14번의 세탁은 속옷의 내구도 차이를 만들기에 충분하다고 생각한다. 더욱이 관리하는 속옷 중에 같은 크기, 같은 모양, 같은 색의 양말이 여러 개라면 2년 뒤에는 짝짝이 양말을 신을 수도 있게 되는 것이다. 거기에다 어떤 양말 하나가 구멍이라도 나서, 안 쓴 3개를 쓰는 날이 오는 경우, 한쪽은 새 흰색 양말을, 한쪽은 회색 양말(헌 흰색 양말)을 신어야 하는 최악의 상황이 생길 수도 있다.

세탁 횟수가 다른 흰 양말


다음은 무작위로 선택하는 경우이다.

전체 세탁 횟수를 보면 556으로, 이번에도 560에 근접해 있는 것을 알 수 있다. 이번에도 역시 반복 횟수가 충분히 크지 않기 때문에, 최솟값과 최댓값의 차이가 꽤 심하다. 하지만 .lastInFirstOut보다 좋은 것은 10개의 속옷을 전부 사용했다는 것이다. 


마지막으로 선호도에 따라 속옷을 고르는 경우다. 개인적으로 이 경우가 가장 일반적이라고 생각한다. 누구나 취향이 있을 테고, 그 취향이 직/간접적으로 삶에 영향을 미칠 것이기 때문이다.

이번에도 역시 전체 세탁 횟수는 583으로 560에서 약 4% 차이가 날뿐이다. 그리고 선호도에 따라 신었기 때문에 선호도가 높은 순서대로 세탁 횟수가 차이가 난다. 위의 결괏값으로 미루어 봤을 때, 최댓값과 최솟값의 차이는 무려 74만큼 난다. .lastInFirstOut에서도 최악의 상황까지 고려해가며 안절부절못했는데, 이번에는 그 최악의 상황이 훨씬 일찍 닥치는 것이다. 

 

살펴본 바와 같이, 일반적인 방법으로 세탁을 하면 세탁 횟수의 차이로 여러 가지 문제에 직면할 수 있게 된다. 여기서 나의 목표가 정해진 것이다. 바로 "아무 생각 없이 속옷을 세탁해도 세탁 횟수를 일정하게 만드는 것"이다. 과연 그것이 가능할까? 가능하다면 어떻게 해야 할까?? 더 이상 흰 양말 여러 개를 갖고 어떤 것이 더 희고 어떤 것이 더 닳았는지 그만 따지고 싶다.