2012-01-24 2 views
3

피드백 루프를 방지하거나보고하는 추상 라우팅 네트워크에 권장되는 구현은 무엇입니까? 예를 들어C++에서 피드백 라우팅 방지 클래스 디자인

:

  • A는 B를
  • B 변조는 C
  • C는

이 exmaple은 피드백 루프를 생성 변조하여 변조한다. A의 최종 값은 할당 될 때까지 알 수 없으며이 시스템 A는 A에 종속 된 값을 정확하게 변조 할 수 없으므로 A의 최종 값을 얻습니다.

실제 구현은 이러한 종류의 피드백 루프를 생성하지 않는 한 모든 값이 다른 값을 변조 할 수있는 곳을지나갑니다.

이 문제를 해결하는 데 도움이되는 라이브러리 또는 컨테이너 유형이 있습니까?

답변

2

프로그래밍 관점에서 보면 유향 그래프를보고 비순환인지 여부를 확인하려고합니다. C++을 사용한다면, Boost Graph Library가이를위한 확실한 선택 일 것입니다. 그래프에서 토폴로지 정렬을 시도하면 그래프에 사이클이 포함 된 경우 (비순환 그래프 만 토폴로지별로 정렬 될 수 있기 때문에) /가 실패하면 실패합니다 (boost::not_a_dag 던짐).

+0

대단히 감사합니다.이 답변은 완벽했습니다. –