Google 대중 교통은 너무 이상적입니다. 어떻게 바꾸겠습니까?

StackOverflow https://stackoverflow.com/questions/2241461

  •  19-09-2019
  •  | 
  •  

문제

A 지점에서 B 지점으로 이동하고 싶다고 가정 해 봅시다. Google Transit Directions를 사용하면 다음을 알려줍니다.

Route 1:
1. Wait 5 minutes
2. Walk from point A to Bus stop 1 for 8 minutes
3. Take bus 69 till stop 2 (15 minues)
4. Wait 2 minutes
5. Take bus 6969 till stop 3(12 minutes)
6. Walk 7 minutes from stop 3 till point B for 3 minutes.

총 시간 = 5 대기 + 40 분.

Route 2:
1. Wait 10 minutes
2. Walk from point A to Bus stop I for 13 minutes
3. Take bus 96 till stop II (10 minues)
4. Wait 17 minutes
5. Take bus 9696 till stop 3(12 minutes)
6. Walk 7 minutes from stop 3 till point B for 8 minutes.

총 시간 = 10 대기 + 50 분.

모든 Route 1에서 모두 더 좋아 보입니다. 그러나 실제로 실제로 일어나는 것은 버스 69가 교통으로 인해 3 분 뒤에 3 분 뒤에 있었고 6969 년 버스가 없습니다. 다음 버스 6969는 적어도 30 분 후에 5 개의 대기 + 70 분 (30m 포함)입니다. 추위 나 열에서 기다리십시오). Google이 실제로이 가능성을 광고했다면 좋지 않습니까? 내 질문은 지금 : 일정의 불확실성을 고려할 때 상위 3 개 경로를 표시하기위한 더 나은 알고리즘은 무엇입니까?

감사!

도움이 되었습니까?

해결책

불확실성을 고려하면 더 이상 "최상의 경로"가 없지만 대중의 총 시간을 최소화하는 "최상의 전략"이있을 수 있습니다. 그러나 선형 지침으로 표시 될 수는 없지만 일반적인 계획의 형태입니다. 즉, 버스 정류장 X로 이동, 버스 Y의 10:00까지 기다리십시오. Z ... "이것은 사용자에게 제시하기가 어렵습니다 (생산 비용이 많이 들면서).

고정 된 지침의 경우 실제로 작동 할 확률을 계산할 수 있습니다. 그러나 사용자가 수락하고자하는 확실성 수준은 무엇입니까? 80% 성공률에 만족 하시겠습니까? 당신이 당신의 연결 중 하나를 놓칠 때, 당신의 카드 하우스는 최악의 경우에 떨어집니다. 예를 들어 2 시간마다 떠나는 기차를 놓치면.

나는 핀란드에서 장거리 버스 여행을 계산하기 위해 비슷한 프로그램을 수년간 썼으며 모든 버스가 일정이 예정되어 있다고 가정했을 때 전학 시간이 방금보고되었습니다. 그런 다음 기본적으로 전송 시간이 15 분 미만인 모든 계획은 너무 위험했기 때문에 무시되었습니다 (때로는 주어진 경로에서 하루에 1 ~ 2 개의 장거리 버스가있었습니다).

다른 팁

다양한 유형의 여행 요소에 대한 수준의 불확실성을 표현하는 가중치를 추가하는 것은 어떻습니까?

더블린 시티의 버스 서비스는 적시에 악명 높으며, 더블린 버스 일정과 관련하여 40%의 오류 마진을 추가하여 최고 및 최악의 시나리오를 제공 할 수 있습니다. 러시 시간에 만성 교통 지연을 고려할 수도 있습니다. 그런 다음 사용자는 실제로 연결할 확률이 20 또는 80%가 될 수 있음을 알 수 있습니다.

"가장 올바른"요소로 "최고의"여정을 정렬 할 수 있으며이 데이터를 사용자에게 표시된 결과에 포함시킬 수 있습니다.

내 두 센트 :)

영국 철도 시스템의 경우 각 교환 노드에는 '허용 할 최소 전송 시간'이 관련되어 있습니다. 경로 플래너의 인터페이스 여기 그런 다음 사용자가 기본값을 수락하거나 30 분 증분을 추가 할 수있는 고급 옵션이 있습니다.

예에서, 2 단계에서 10 분 동안 '최소 전송 시간'을 설정하면 제안 된 바와 같이 경로 1을 방지 할 수 있습니다. 물론 이것은 가능한 최소 여행 시간이 증가한다는 것을 의미하지만 이것이 트레이드 오프입니다.

경험적으로. 실제 도착 시간 대 예약 된 도착 시간을 기록하고 각각의 평균 및 표준 편차를 계산하십시오. 가능한 경로를 고려할 때, 주어진 다리가 다음 다리를 놓칠 수있을 정도로 늦게 도착할 확률을 계산하고 평균 대기 시간을 만들 수 있습니다. P(on time)*T(first bus) + (1-P(on time))*T(second bus). 여러 개의 다리를 고려해야한다면 더욱 복잡해집니다. 각 다리는 독립적으로 늦을 수 있으며 놓칠 수있는 여러 다리를 놓칠 수 있지만 일반적인 원칙은 유지됩니다.

치명적인 실패는 첫 번째 수표 여야합니다.

이것은 경로의 중요한 부분 인 날의 마지막 버스에 연결하려고 할 때 특히 중요합니다. 라이더 필요합니다 그것이 일어나고있는 일이라는 것을 아는 것은 너무 산만 해지지 않고 위험을 알고 있습니다.

그 후 그것은 최악의 단일 미스를 평가할 수 있습니다.

그런 다음 정말로 공상을 원한다면 대기점이있는 인근 또는 대중 교통 스테이션의 범죄 통계를 살펴보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top