시작하기무료로 시작하기

교통 모델: 모델 입력 정의하기

이제 모든 모델 구성 요소를 함께 만들어 보겠습니다.

시카고시의 교통 흐름을 개선하기 위해 신호등 최적화를 요청받았습니다. 이런 상황에서는 이산 사건 시뮬레이션 모델이 유용합니다.

첫 단계로 교차로 사이 도로 길이의 평균을 측정했더니 평균 100m, 표준편차 약 20m로 결론났습니다. 이는 운전자가 대략 80~120m마다 신호등을 마주친다는 뜻입니다.

시카고의 제한 속도는 시속 30마일(약 시속 50km)입니다. 시 관계자에 따르면 평균적으로 빨간불은 최대 90초까지 유지된다고 합니다. 모델의 입력과 출력부터 정의해 보세요.

이 연습은 강의의 일부입니다

Python으로 배우는 이산 사건 시뮬레이션

강의 보기

연습 안내

  • inputs["Dist_between_intersections_m"] 배열의 평균과 표준편차를 설정하세요.
  • 가우시안 분포를 적용해 RandomGener["Distance"] 값을 생성하세요.
  • 난수 메서드를 사용해 RandomGener["WaitTime"]에 들어갈 정수를 생성하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define the model inputs
inputs = {"Dist_between_intersections_m": [____, ____],
    	  "Speed_limit_ms": 50 * 1000 / (60 * 60),
          "Max_waitTime_traffic_lights_sec": 90}
random_generated = {"Distance": [], "WaitTime": []}

for i in range(5000):
	# Use the random package to generate pseudo-random values
    random_generated["Distance"].append(random.____(inputs['Dist_between_intersections_m'][0],inputs['Dist_between_intersections_m'][1]))
    random_generated["WaitTime"].append(random.____(0, inputs['Max_waitTime_traffic_lights_sec']))

# Plot the randomly generated distance "events"
plt.hist(random_generated["Distance"], bins=100)
plt.xlabel('# Events')
plt.ylabel('# Distance travelled (m)')
plt.show()
코드 편집 및 실행