KR100402528B1 - 최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소비용 경로 탐색 방법 - Google Patents

최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소비용 경로 탐색 방법 Download PDF

Info

Publication number
KR100402528B1
KR100402528B1 KR10-2001-0065920A KR20010065920A KR100402528B1 KR 100402528 B1 KR100402528 B1 KR 100402528B1 KR 20010065920 A KR20010065920 A KR 20010065920A KR 100402528 B1 KR100402528 B1 KR 100402528B1
Authority
KR
South Korea
Prior art keywords
path
cost
node
paths
stored
Prior art date
Application number
KR10-2001-0065920A
Other languages
English (en)
Other versions
KR20020032385A (ko
Inventor
소가겐지
Original Assignee
닛본 덴끼 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닛본 덴끼 가부시끼가이샤 filed Critical 닛본 덴끼 가부시끼가이샤
Publication of KR20020032385A publication Critical patent/KR20020032385A/ko
Application granted granted Critical
Publication of KR100402528B1 publication Critical patent/KR100402528B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13054Expert system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13056Routines, finite state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13138Least cost routing, LCR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13141Hunting for free outlet, circuit or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13335Simulation, emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Meter Arrangements (AREA)

Abstract

단계 S1의 비용 추정 단계에서, 중간 노드로부터 모든 출구 노드까지의 비용이 추정되고, 단계 S2의 경로 생성 단계에서 현재의 탐색 경로를 인접 경로로 연장함으로써 각 경로들이 생성된다. 단계 S3의 경로 저장 단계에서, 생성된 경로에 대해 체크가 수행되고, 저장부에 빈 엔트리가 있는 경우, 경로가 저장된다. 단계 S4의 경로 선택 단계에서, 저장부의 모든 중간 노드 및 입구 노드의 엔트리에 저장되어 있고, 아직 선택되지 않은 경로 중, 경로 비용 및 최소 추정 비용의 합계가 최소인 경로가 현재의 탐색 경로로 선택된다. 단계 S6의 경로 출력 단계에서, 출구 노드에 저장된 경로가 탐색 결과로서 출력된다.

Description

최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소 비용 경로 탐색 방법{MINIMUM COST PATH SEARCH APPARATUS AND MINIMUM COST PATH SEARCH METHOD USED BY THE APPARATUS}
본 발명은 최소 비용 경로 탐색 장치 및 이를 이용한 최소 비용 경로 탐색 방법에 관한 것으로, 특히 네트워크에서 입구 노드로부터 출구 노드까지의 최소 비용 경로를 탐색하기 위한 방법에 관한 것이다.
통상, 이러한 종류의 최소 비용 경로 탐색 방법으로서 다이크스트라(Dijkstra) 방법이 일반적으로 알려져 있다. 다이크스트라 방법은 하나의 출구 노드에 대해 단지 하나의 최소 비용 경로만을 탐색한다.
다이크스트라 방법은 네트워크와 관련된 전형적인 최적화 문제들 중의 하나인 최단 경로 문제로서 널리 이용되는 수학적 프로그래밍 방법이다. 이것은 출발지 노드로부터 목적지 노드까지의 최단 경로를 찾아내는 최단 경로 문제를 해결하기 위한 방법이다.
이 경우에, 소스 노드로부터 목적지 노드까지의 최단 경로는 특정 노드에서 2개로 분할되어 분할에 의해 생성된 2개의 경로 각각이 그 집합에서 최단 경로가 된다는 최적화 원리를 이용함으로써 최단 경로가 수학적으로 얻어진다. 즉, 다이크스트라 방법은 공집합으로 시작하는 처리로 시작하여, 한번에 하나의 최단 경로 노드를 찾아내어 최단 경로 부분 집합의 원소를 증가시킴으로써, 최종적으로 전체노드에 대한 최단 경로를 찾아낸다.
비용의 상승 순서로 모든 경로를 탐색하기 위한 다른 방법이 "교차로내(intra-intersection) 비용이 고려된 도로망에서의 경로 탐색 방법 및 멀티미디어를 이용한 경로 안내 시스템에의 응용", Information Processing Society of Japan, pp. 970-979, Vol. 33, No. 7, July 1992에 개시되어 있다. 상기 공개 문헌에 설명된 방법은 모든 경로를 탐색하기 위해 탐색 동안에 찾아낸 경로들을 저장한다.
상기 언급한 탐색 방법은 우선 링크 우회 리스트, 입력 대 출력 리스트 및 비용 차이 리스트를 생성하고, 이들 리스트를 이용하여 목적지 지점까지의 최소 비용 경로 트리를 만들어간다.
그러나, 다이크스트라 방법이 이용되는 종래 방법은 하나의 출구 노드에 대해 단지 하나의 최소 비용 경로만을 탐색한다. 그러므로, 복수의 경로를 비용의 상승 순서대로 탐색하는 것이 불가능하다.
최소 비용 경로를 만들어가는 방법은 모든 경로를 탐색한다. 그러므로, 이것은 탐색 동안에 경로를 저장할 대용량의 저장 장치를 필요로한다. 또 다른 문제는 필요한 저장 장치의 용량을 탐색이 시작되기 이전에는 결정할 수 없다는 점이다. 특히, 많은 브랜치(branch)가 존재하는 토폴로지(topology)에서는, 일부 경우에 저장되어야 할 경로가 저장될 수 없다. 이 경우에, 경로들이 비용 순서대로 얻어지지 않으므로, 찾아낸 경로가 탐색시 포함되지 않을 수도 있다.
본 발명의 목적은 상기 문제들을 해결할 수 있고, 제한된 용량의 저장 장치에서 각 출구 노드에 대한 임의의 수의 최소 비용 경로를 비용의 상승 순서대로 탐색할 수 있으며, 경로 탐색을 신속하게 수행할 수 있는 최소 비용 경로 탐색 장치 및 최소 비용 경로 탐색 방법을 제공하는 것이다.
본 발명에 따른 최소 비용 경로 탐색 장치는 네트워크에서 입구 노드로부터 출구 노드까지의 최소 비용 경로를 탐색하는 최소 비용 경로 탐색 장치이다. 최소 비용 경로 탐색 장치는 중간 노드로부터 출구 노드까지의 비용을 미리 추정하기 위한 비용 추정기; 입구 노드로부터 중간 노드까지의 중간 경로에 대해 중간 노드에 인접한 노드로 연장되는 각 경로를 생성하기 위한 경로 생성기; 저장되는 경로의 개수를 제어하면서, 경로 생성기에 의해 생성된 경로로부터 저장될 경로를 선택하기 위한 경로 저장 메모리; 경로 저장 메모리에 의해 저장된 경로들로부터 하나의 최적 경로를 선택하기 위한 경로 선택기; 및 경로 저장 메모리에 저장된 경로가 없는 경우에, 얻어진 경로를 출력하기 위한 경로 출력부을 포함한다.
본 발명에 따른 최소 비용 경로 탐색 방법은 네트워크에서 입구 노드로부터 출구 노드까지의 최소 비용 경로를 탐색하는 최소 비용 경로 탐색 방법이다. 최소 비용 경로 탐색 방법은 중간 노드로부터 출구 노드까지의 비용을 미리 추정하는 단계; 입구 노드로부터 중간 노드까지의 중간 경로에 대해 중간 노드에 인접한 노드로 연장되는 각 경로를 생성하는 단계; 저장되는 경로의 개수를 제어하면서, 경로 생성 수단에 의해 생성된 경로로부터 저장될 경로를 선택하는 단계; 저장된 경로들로부터 하나의 최적 경로를 선택하는 단계; 및 저장된 경로가 없는 경우에, 얻어진경로를 출력하는 단계를 포함한다.
본 발명의 상기 및 다른 목적들, 특징들 및 장점들은 첨부된 도면을 참조한 이하의 상세한 설명으로부터 더욱 명백하게 될 것이다.
도 1은 본 발명의 실시예에 따른 최소 비용 경로 탐색 장치의 구성을 도시한 블럭 다이어그램.
도 2는 본 발명의 실시예에 따른 최소 비용 경로 탐색 방법의 동작을 도시한 플로우차트.
도 3은 도 1의 경로 저장부의 동작을 도시한 플로우차트.
도 4는 본 발명의 실시예에 적용가능한 토폴로지(topology)의 예를 도시한 도면.
도 5는 도 4에 도시된 토폴로지에 대한 다이크스트라(Dijkstra) 방법을 이용하여 계산된 추정 비용을 도시한 도면.
<도면의 주요 부호에 대한 간단한 설명>
1 : 비용 추정기
2 : 경로 생성기
3 : 경로 저장부
4 : 경로 선택기
5 : 경로 출력부
6 : 저장부
본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
(제1 실시예)
도 1은 본 발명의 제1 실시예에 따른 최소 비용 경로 탐색 장치의 구성을 도시한 블럭 다이어그램이다. 도 1을 참조하면, 본 실시예의 최소 비용 경로 탐색 장치는 비용 추정기(1), 경로 생성기(2), 경로 저장부(3), 경로 선택기(4), 경로 출력부(5) 및 저장부(6)을 포함한다.
비용 추정기(1)는 중간 노드로부터 모든 출구 노드까지의 모든 노드들의 비용을 추정한다. 경로 생성기(2)는 현재 탐색 경로로부터 인접 노드까지의 경로를 생성한다. 경로 저장부(3)는 경로 생성기(2)에 의해 생성된 경로를 체크하고, 종료 노드에 대한 소정 개수까지의 경로를 저장부(6)에 저장한다.
경로 선택기(4)는 모든 중간 노드 및 입구 노드의 엔트리에 저장된 경로들에서, 아직 선택되지 않았고 경로 비용의 총합 및 최소 추정 비용이 최소인 경로를 선택한다. 경로 출력부(5)는 출구 노드에 저장된 경로들을 탐색 결과로서 출력한다. 이 경우에, 경로 출력부(5)는 각 출구 노드에 대해 얻어지는 만큼의 다수의 많은 경로들을 비용의 상승 순서대로 출력한다.
도 2는 본 실시예에 따른 최소 비용 경로 탐색 방법의 동작을 도시한 플로우차트이다. 도 3은 도 1에 도시된 경로 저장부(3)의 동작을 도시한 플로우차트이다. 도 1 내지 도 3을 참조하여, 이하에 본 실시예에 이용된 최소 비용 경로 탐색 방법의 동작을 설명한다.
우선, 비용 추정기(1)가 중간 노드로부터 모든 출구 노드까지의 노드들의 비용을 추정한다(도 2의 단계 S1). 이 경우에, 비용 추정기(1)는 각 중간 노드에 대해, 그 노드로부터 출구 노드까지의 노드들의 추정 비용의 최소값을 최소 추정 비용으로 저장한다. 비용은 이하의 3가지 방법들 중 하나에 따라 추정된다. (1) 탐색 방법의 사용자가 비용을 입력한다. (2) 네트워크에 대한 최단 경로 문제로서 널리 이용되는 수학적 프로그래밍 방법, 예를 들면 다이크스트라 방법과 같은 방법을 이용하여 최소 비용을 계산한다. (3) 고정값을 입력한다.
다음으로, 경로 생성기(2)는 현재 탐색 경로의 인접 노드까지 연장되는 경로를 생성한다(도 2의 단계 S2). 최초 경로 생성시, 경로 생성기(2)는 입구 노드를 현재의 탐색 경로로 하여 경로 생성을 실행한다.
경로 저장부(3)는 우선 경로 생성기(2)에 의해 생성된 경로들을 체크한다(도 3의 단계 S11). 경로 체크 동안에, 경로 저장부(3)는 하나의 경로가 동일한 노드를 2번 이상 통과하는지 여부를 체크한다.
하나의 경로가 동일한 노드를 2번 이상 통과하면, 경로 저장부(3)는 경로를 거절하고 폐기한다(도 3의 단계 S12). 하나의 경로가 동일한 노드를 2번 이상 통과하지 않으면, 경로 저장부(3)는 경로를 수락하고, 저장부(6)에 저장된 경로의 개수를 체크한다(도 3의 단계 S13). 경로의 개수를 체크하는 경우, 경로 저장부(3)는 경로의 종료 노드의 엔트리에 저장된 경로 개수를 체크한다. 유의할 점은 각 노드에 대해 소정 개수의 경로가 저장부(6)에 저장되고, 이 개수는 토폴로지내의 모든 노드에 대해 일정하다는 점이다.
하나 이상의 빈 엔트리가 존재하는 경우, 경로 저장부(3)는 경로의 루트 및 경로 비용으로 간주되는 경로의 링크 상의 전체 통과 비용을 저장한다(도 3의 단계 S14). 비어있는 엔트리가 없는 경우, 경로 저장부(3)는 최대 비용 경로를 폐기한다(도 3의 단계 S15). 최대 비용 경로를 폐기하는 경우, 경로 저장부(3)는 경로의 종료 노드의 엔트리에 저장된 경로들 중에서 최대 비용 경로를 폐기한다.
종료 노드의 엔트리에 저장된 경로를 폐기한 후, 경로 저장부(3)는 결과적으로 빈 엔트리내에 새로운 경로의 루트 및 경로 비용을 저장한다. 경로 저장부(3)는 경로 생성기(2)에 의해 생성된 모든 경로에 대해 상기 동작을 반복적으로 실행한다(도 3의 단계 S11 내지 S16).
모든 중간 노드 및 입구 노드에 대해 저장부(6)에 저장된 경로들 중에서, 경로 선택기(4)는 아직 선택되지 않았고 경로 비용 및 최소 추정 비용의 합계가 최소인 경로를 현재의 탐색 경로로 선택한다(도 2의 단계 S4). 그러한 경로가 성공적으로 선택되면(도 2의 단계 S5), 제어는 단계 S2로 리턴하여 경로를 생성한다.
그러한 경로가 선택될 수 없는 경우, 제어는 경로 출력부(5)으로 넘겨져 출구 노드의 엔트리에 저장된 경로들을 탐색 결과로서 출력하고(도 2의 단계 S6), 경로 탐색을 종료한다. 상기 설명한 경로 탐색 동작에서, 저장부(6)내의 각 노드에 대해 미리 결정된 만큼의 다수의 경로들이 각 출구 노드에 대해 비용의 상승 순서대로 출력된다.
도 4는 본 실시예에서 이용되는 토폴로지의 예를 도시한 도면이다. 도 5는 다이크스트라 방법을 이용하여 도 4에 도시된 토폴로지에 대해 계산된 추정 비용을 도시한 도면이다. 도 1, 도 4 및 도 5를 참조하여, 본 실시예에서 이용되는 최소 비용 경로 탐색 방법의 동작을 설명한다.
도 4에서, 입구 노드는 a로 표시하고, 출구 노드는 b 및 c로 표시하며, 중간 노드는 A, B, C, D 및 E로 표시하였다. 링크 옆의 숫자는 통과 비용을 나타낸다. 예를 들면, "1"이라는 비용은 노드 a 및 노드 A간의 링크를 통과하는데 필요하다. 유의할 점은, 본 실시예에서, 2개의 경로까지가 각 노드의 엔트리에 저장될 수 있다는 점이다.
우선, 비용 추정기(1)가 각 중간 노드로부터 각 출구 노드까지의 추정 비용을 계산하고, 최소 추정 비용을 저장한다. 예를 들면, 도 5는 다이크스트라 방법에 의해 생성된 추정 결과를 도시하고 있다. 제1 경로 생성시, 경로 생성기(2)는 입구 노드 a를 현재의 탐색 경로로 하여 입구 노드 a에 인접한 노드 A로 경로를 연장함으로써 경로 a→A를 생성한다.
경로 저장부(3)는 경로 a→A를 체크한다. 동일한 노드를 2번 이상 통과하지 않는 경로 a→A는 수락된다. 저장 경로부(3)은 저장된 경로의 개수를 체크하여, 경로의 종료 노드인 노드 A의 엔트리에 어떠한 경로도 저장되지 않은 것을 찾아낸다. 그러므로, 경로 저장부(3)는 저장부(6)의 노드 A의 엔트리에 경로 a→A 및 경로 비용 "1"을 저장한다.
경로 a→A만이 노드 A의 엔트리에 저장되고 이 경로는 아직 선택되지 않았으므로, 경로 선택기(4)는 이 경로를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 리턴시킨다.
제2 경로 생성시, 경로 생성기(2)는 경로 a→A를 현재의 탐색 경로로 하여 3개의 경로, 즉 a→A→B, a→A→C, 및 a→A→a를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 a를 2번 통과하는 경로 a→A→a를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 B 및 노드 C의 엔트리 각각에 경로 a→A→B(경로 비용=4) 및 경로 a→A→C(경로 비용=2)를 각각 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 B의 엔트리에 저장된 경로 a→A→B(경로 비용+최소 추정 비용=6) 및 노드 C의 엔트리에 저장된 경로 a→A→C(경로 비용+최소 추정 비용=5)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→C를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
제3 경로 생성시, 경로 생성기(2)는 경로 a→A→C를 현재의 탐색 경로로 하여 3개의 경로 a→A→C→E, a→A→C→B, 및 a→A→C→A를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 A를 2번 통과하는 경로 a→A→C→A를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 E 및 노드 B의 엔트리에 경로 a→A→C→E(경로 비용=6) 및 경로 a→A→C→B(경로 비용=3)를 각각 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 B의 엔트리에 저장된 경로 a→A→B(경로 비용+최소 추정 비용=6) 및 경로 a→A→C→B(경로 비용+최소 추정 비용=5)와, 노드 E의 엔트리에 저장된 경로 a→A→C→E(경로 비용+최소 추정 비용=7)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→C→B를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
제4 경로 생성시, 경로 생성기(2)는 경로 a→A→C→B를 현재의 탐색 경로로 하여 4개의 경로 a→A→C→B→c, a→A→C→B→D, a→A→C→B→A, 및 a→A→C→B→C를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 A를 2번 통과하는 경로 a→A→C→B→A 및 노드 C를 2번 통과하는 경로 a→A→C→B→C를 거절하고, 상기 경로들을 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 C 및 노드 D의 엔트리에 경로 a→A→C→B→c(경로 비용=5) 및 경로 a→A→C→B→D(경로 비용=4)를 각각 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 B의 엔트리에 저장된 경로 a→A→B(경로 비용+최소 추정 비용=6), 노드 E의 엔트리에 저장된 경로 a→A→C→E(경로 비용+최소 추정 비용=7), 및 노드 D의 엔트리에 저장된 경로 a→A→C→B→D(경로 비용+최소 추정 비용=7)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→B를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
제5 경로 생성시, 경로 생성기(2)는 경로 a→A→B를 현재의 탐색 경로로 하여 4개의 경로 a→A→B→c, a→A→B→D, a→A→B→A, 및 a→A→B→C를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 A를 2번 통과하는 경로 a→A→B→A를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 c, 노드 D 및 노드 C의 엔트리에 경로 a→A→B→c(경로 비용=6), 경로 a→A→B→D(경로 비용=5), 및 경로 a→A→B→C(경로 비용 5)를 각각 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 C의 엔트리에 저장된 경로 a→A→B→C(경로 비용+최소 추정 비용=8), 노드 E의 엔트리에 저장된 경로 a→A→C→E(경로 비용+최소 추정 비용=7), 및 노드 D의 엔트리에 저장된 경로 a→A→C→B→D(경로 비용+최소 추정 비용=7)와 경로 a→A→B→D(경로 비용+최소 추정 비용=8)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→C→E를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
경로 a→A→C→B→D 및 경로 a→A→C→E는 동일한 스코어(경로 비용+최소 추정 비용=7)를 갖는다. 2개의 경로들이 동일한 스코어를 갖는 경우, 경로 선택기(4)는 이들 중 하나를 선택한다.
제6 경로 생성시, 경로 생성기(2)는 경로 a→A→C→E를 현재의 탐색 경로로 하여 3개의 경로 a→A→C→E→b, a→A→C→E→D, 및 a→A→C→E→C를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 C를 2번 통과하는 경로a→A→C→E→C를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 b의 엔트리에 경로 a→A→C→E→b(경로 비용=7)를 저장한다.
한편, 노드 D의 엔트리에 저장되는 경로 a→A→C→E→D(경로 비용=9)에 대해, 경로 저장부(3)는 경로의 개수를 체크하여, 노드 D에 대해 최대 2개의 노드를 이미 저장하고 있다는 것을 찾아내어 최대 비용 경로를 폐기한다. 이 경우에, 경로 저장부(3)는 경로 a→A→C→B→D(경로 비용=4), a→A→B→D(경로 비용=5) 및 a→A→C→E→D(경로 비용=9)를 비교하여, 최대 비용 경로 a→A→C→E→D를 폐기하고, 노드 D의 엔트리에 나머지 노드들을 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 C의 엔트리에 저장된 경로 a→A→B→C(경로 비용+최소 추정 비용=8), 및 노드 D의 엔트리에 저장된 경로 a→A→C→B→D(경로 비용+최소 추정 비용=7)와 경로 a→A→B→D(경로 비용+최소 추정 비용=8)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→C→B→D를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
제7 경로 생성시, 경로 생성기(2)는 경로 a→A→C→B→D를 현재의 탐색 경로로 하여 2개의 경로 a→A→C→B→D→B, 및 a→A→C→B→D→E를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 B를 2번 통과하는 경로 a→A→C→B→D→B를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 E의 엔트리에 경로 a→A→C→B→D→E(경로 비용=7)를 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 C의 엔트리에 저장된 경로 a→A→B→C(경로 비용+최소 추정 비용=8), 노드 E의 엔트리에 저장된 경로 a→A→C→B→D→E(경로 비용+최소 추정 비용=8), 및 노드 D의 엔트리에 저장된 경로 a→A→B→D(경로 비용+최소 추정 비용=8)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→B→C를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
경로 a→A→B→C, a→A→C→B→D→E, 및 a→A→B→D는 동일한 스코어(경로 비용+최소 추정 비용=8)를 갖는다. 2개 이상의 경로들이 동일한 스코어를 갖는 경우, 경로 선택기(4)는 이들 중 하나를 선택한다.
제8 경로 생성시, 경로 생성기(2)는 경로 a→A→B→C를 현재의 탐색 경로로 하여 3개의 경로 a→A→B→C→B, a→A→B→C→E, 및 a→A→B→C→A를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 B를 2번 통과하는 경로 a→A→B→C→B 및 노드 A를 2번 통과하는 a→A→B→C→A를 거절하고, 상기 경로들을 폐기한다.
노드 E의 엔트리에 저장되는 경로 a→A→B→C→E(경로 비용=9)에 대해, 경로 저장부(3)는 경로의 개수를 체크하여, 노드 E에 대해 최대 2개의 노드를 이미 저장하고 있다는 것을 찾아내어 최대 비용 경로를 폐기한다. 이 경우에, 경로 저장부(3)는 경로 a→A→C→E(경로 비용=6), a→A→C→B→D→E(경로 비용=7) 및 a→A→B→C→E(경로 비용=9)를 비교하여, 최대 비용 경로 a→A→B→C→E를 폐기하고, 노드 E의 엔트리에 나머지 노드들을 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 E의 엔트리에 저장된 경로 a→A→C→B→D→E(경로 비용+최소 추정 비용=8), 및 노드 D의 엔트리에 저장된 경로 a→A→B→D(경로 비용+최소 추정 비용=8)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→B→D를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
경로 a→A→C→B→D→E, 및 a→A→B→D는 동일한 스코어(경로 비용+최소 추정 비용=8)를 갖는다. 2개 이상의 경로들이 동일한 스코어를 갖는 경우, 경로 선택기(4)는 이들 중 하나를 선택한다.
제9 경로 생성시, 경로 생성기(2)는 경로 a→A→B→D를 현재의 탐색 경로로 하여 2개의 경로 a→A→B→D→B 및 a→A→B→D→E를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 B를 2번 통과하는 경로 a→A→B→D→B를 거절하고, 상기 경로를 폐기한다.
경로 저장부(3)는 경로의 개수를 체크하여, 노드 E에 대해 최대 2개의 노드를 이미 저장하고 있다는 것을 찾아내어 최대 비용 경로를 폐기한다. 이 경우에, 경로 저장부(3)는 경로 a→A→C→E(경로 비용=6), a→A→C→B→D→E(경로 비용=7) 및 a→A→B→D→E(경로 비용=8)를 비교하여, 최대 비용 경로 a→A→B→D→E를 폐기하고, 노드 E의 엔트리에 나머지 노드들을 저장한다.
이제, 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 노드 E의 엔트리에 저장된 경로 a→A→C→B→D→E(경로 비용+최소 추정 비용=8)이다. 경로 선택기(4)는 이 경로를 현재의 탐색 경로로 선택하고, 제어를 경로 생성기(2)로 되돌려준다.
제10 경로 생성시, 경로 생성기(2)는 경로 a→A→C→B→D→E를 현재의 탐색 경로로 하여 3개의 경로 a→A→C→B→D→E→b, a→A→C→B→D→E→D 및 a→A→C→B→D→E→C를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 C를 2번 통과하는 a→A→C→B→D→E→C 및 노드 D를 2번 통과하는 경로 a→A→C→B→D→E→D를 거절하고, 상기 경로들을 폐기한다. 경로 저장부(3)는 경로들의 개수를 체크하여, 저장부(6)에 빈 엔트리가 있다는 것을 찾아낸 후, 노드 b의 엔트리에 경로 a→A→C→B→D→E→b(경로 비용=8)를 저장한다. 아직 선택되지 않았고 입구 노드 및 중간 노드의 엔트리에 저장된 경로들은 존재하지 않으므로, 제어는 경로 출력부(5)으로 넘어간다.
경로 출력부(5)는 노드 b의 엔트리에 저장된 2개의 경로 a→A→C→E→b 및 a→A→C→B→D→E→b, 및 출구 노드 c의 엔트리에 저장된 2개의 경로 a→A→C→B→c 및 a→A→B→C를 출력한다. 상기 동작은 출구 노드 b 및 출구 노드 c에 대해 각각 2개의 경로를 비용의 상승 순서대로 출력한다.
상기 설명한 바와 같이, 탐색 동안에 중간 노드 및 출구 노드의 엔트리에 경로를 저장하는 경우, 경로의 개수가 제한된 상태에서 저장될 경로를 선택하는 것은 제한된 용량의 저장 장치내에서 각 출구 노드에 대한 특정 개수의 최소 비용 경로들이 비용의 상승 순서대로 얻어질 수 있다. 뿐만 아니라, 비용을 미리 추정하고탐색시 경로에 대한 엔트리의 개수를 제한하여 탐색 범위를 좁힘으로써, 경로를 신속하게 탐색할 수 있다.
(제2 실시예)
다음으로, 본 발명의 제2 실시예에 따른 최소 비용 경로 탐색 방법을 설명한다. 제2 실시예의 최소 비용 경로 탐색 방법은 저장된 경로의 개수 및 경로가 경로 저장부(3)의 처리에서 선택되는 방식이 상이하므로, 제1 실시예에서 선택된 경로들과는 다른 경로들을 선택한다. 이것만 제외하고는, 제2 실시예의 최소 비용 경로 탐색 방법은 제1 실시예와 유사하다. 장치 구성은 제1 실시예와 유사하다.
제2 실시예에서, 저장될 수 있는 경로의 개수는 전체 토폴로지에서 일정하다. 이러한 설계 변화로 인해, 모든 출구 노드에 대한 임의의 개수의 경로들을 비용 상승 순서대로 얻을 수 있다. 제2 실시예의 동작을 이하에 설명한다. 유의할 점은 비용 추정 및 경로 생성이 제1 실시예와 동일하다는 점이다.
제2 실시예의 경로 저장부(3)는, 우선 경로 생성기(2)에 의해 생성된 경로들을 체크한다. 경로 체크 동안에, 경로 저장부(3)는 하나의 경로가 동일한 노드를 2번 이상 통과했는지 여부를 체크한다. 하나의 경로가 동일한 노드를 2번 이상 통과하면, 경로 저장부(3)는 상기 경로를 거절하고 폐기한다.
하나의 경로가 동일한 노드를 2번 이상 통과하지 않으면, 경로 저장부(3)는 상기 경로를 수락하고, 이미 저장된 경로의 개수를 체크한다. 경로의 개수를 체크하는 경우, 경로 저장부(3)는 전체 토폴로지에 저장된 경로의 개수를 체크한다. 하나 이상의 빈 엔트리가 존재하는 경우, 경로 저장부(3)는 상기 경로를 저장한다.즉, 경로 저장부(3)는 경로의 루트 및 경로 비용 및 최소 추정 비용의 합계를 저장한다.
빈 엔트리가 전혀 없다면, 경로 저장부(3)는 최대 비용 경로를 폐기한다. 최대 비용 경로를 폐기하는 경우, 경로 저장부(3)는 그 경로를 포함하고 있는 경로들, 상기 경로의 종료 노드의 엔트리에 저장된 경로들, 및 경로 비용 및 최소 추정 비용의 합계가 입구 노드 및 중간 노드의 경로 중에서 최대인 경로들 중 하나를 폐기한다. 하나의 경로를 폐기한 후, 경로 저장부(3)는 루트 및 경로 비용 및 최소 추정 비용의 합계를 결과적인 빈 엔트리에 저장한다. 이것은 경로 생성기(2)에 의해 생성된 모든 경로에 대해 반복적으로 실행된다.
본 실시예의 경로 선택기(4)는 현재 탐색 경로로서, 전체 토폴로지에 저장된 경로들에서, 종료 노드가 입구 노드 또는 중간 노드이고 전체 경로 비용 및 추정 최소 비용이 최소인 경로를 선택한다. 선택된 경로는 저장부(6)으로부터 삭제된다. 그러한 경로가 선택되면, 제어는 경로 생성기(2)로 리턴된다. 그러한 경로가 선택될 수 없으면, 제어는 경로 출력부(5)으로 넘어간다.
본 실시예의 경로 출력부(5)는 전체 토폴로지에 저장되고 종료 노드가 출구 노드인 경로를 탐색 결과로서 출력한 후, 경로 탐색을 종료한다. 상기 설명한 바와 같이, 본 실시예의 경로 탐색 동작은 전체 토폴로지에서 소정 개수의 경로들을 비용의 상승 순서대로 출력한다.
다음으로, 도 4에 도시된 토폴로지의 예를 참조하여, 본 실시예의 최소 비용 경로 탐색 방법의 동작을 설명한다. 유의할 점은, 본 실시예에서 4개의 경로까지가 전체 토폴로지에 저장될 수 있다는 점이다.
우선, 비용 추정기(1)가 제1 실시예에 설명된 바와 동일한 동작을 수행한다. 다이크스트라 방법이 본 실시예에 이용되는 경우, 도 5에 도시된 결과가 산출된다. 제1 경로 생성시, 경로 생성기(2)는 입구 노드 a를 현재의 탐색 경로로 하여 입구 노드 a에 인접한 노드 A로 경로를 연장함으로써 경로 a→A를 생성한다.
경로 저장부(3)는 경로 a→A를 체크한다. 동일한 노드를 2번 이상 통과하지 않는 경로 a→A는 수락된다. 저장 경로부(3)은 저장된 경로의 개수를 체크하여, 전체 토폴로지에서 어떠한 경로도 저장되지 않은 것을 찾아낸다. 그러므로, 경로 저장부(3)는 노드 A의 엔트리에 경로 a→A 및 경로 비용 "1"과 최소 추정 비용 "4"의 합 "5"를 저장한다.
경로 a→A만이 전체 토폴로지에서 저장되고 이 경로의 종료 노드, 즉 노드 A는 중간 노드이므로, 경로 선택기(4)는 이 경로를 저장부(6)에서 삭제하고, 이 경로를 현재의 탐색 경로로 하여, 제어를 경로 생성기(2)로 리턴시킨다.
제2 경로 생성시, 경로 생성기(2)는 경로 a→A를 현재의 탐색 경로로 하여 3개의 경로, 즉 a→A→B, a→A→C, 및 a→A→a를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 a를 2번 통과하는 경로 a→A→a를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)에 빈 엔트리가 있다는 것을 찾아낸 후, 경로 a→A→B(경로 비용+최소 추정 비용=6) 및 경로 a→A→C(경로 비용+최소 추정 비용=5)를 저장한다.
이제, 저장된 경로들은 경로 a→A→C(경로 비용+최소 추정 비용=5) 및 경로a→A→B(경로 비용+최소 추정 비용=6)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→C를 저장부(6)에서 삭제하고, 이 경로를 현재 탐색 경로로 하여, 제어를 경로 생성기(2)로 되돌려준다.
제3 경로 생성시, 경로 생성기(2)는 경로 a→A→C를 현재의 탐색 경로로 하여 3개의 경로 a→A→C→A, a→A→C→B, 및 a→A→C→E를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 A를 2번 통과하는 경로 a→A→C→A를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 경로 a→A→C→B(경로 비용+최소 추정 비용=5) 및 경로 a→A→C→E(경로 비용+최소 추정 비용=7)를 저장한다.
이제, 저장된 경로는 경로 a→A→C→B(경로 비용+최소 추정 비용=5), 경로 a→A→B(경로 비용+최소 추정 비용=6) 및 경로 a→A→C→E(경로 비용+최소 추정 비용=7)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소인 경로 a→A→C→B를 저장부(6)에서 삭제하고, 이 경로를 현재의 탐색 경로로 하여, 제어를 경로 생성기(2)로 되돌려준다.
제4 경로 생성시, 경로 생성기(2)는 경로 a→A→C→B를 현재의 탐색 경로로 하여 4개의 경로 a→A→C→B→A, a→A→C→B→C, a→A→C→B→c, 및 a→A→C→B→D를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 A를 2번 통과하는 경로 a→A→C→B→A 및 노드 C를 2번 통과하는 경로 a→A→C→B→C를 거절하고, 상기 경로들을 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 경로 a→A→C→B→C(경로 비용+최소 추정 비용=5) 및 경로 a→A→C→B→D(경로 비용+최소 경로 비용=7)를 저장한다.
이제, 저장된 경로는 경로 a→A→C→B→c(경로 비용+최소 추정 비용=5), 경로 a→A→B(경로 비용+최소 추정 비용=6), 경로 a→A→C→E(경로 비용+최소 추정 비용=7), 및 경로 a→A→C→B→D(경로 비용+추정 최소 비용=7)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소이고 그 종료 노드가 중간 노드인 경로 a→A→B를 저장부(6)에서 삭제하고, 이 경로를 현재의 탐색 경로로 하여, 제어를 경로 생성기(2)로 되돌려준다.
제5 경로 생성시, 경로 생성기(2)는 경로 a→A→B를 현재의 탐색 경로로 하여 4개의 경로 a→A→B→A, a→A→B→C, a→A→B→c, 및 a→A→B→D를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 A를 2번 통과하는 경로 a→A→B→A를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 없다는 것을 찾아낸 후, 최대 비용 경로를 폐기한다.
이 경우에, 경로 저장부(3)는 경로 a→A→C→E(경로 비용+최소 추정 비용=7), a→A→C→B→D(경로 비용+최소 추정 비용=7), a→A→B→C(경로 비용+최소 추정 비용=8), 및 a→A→B→D(경로 비용+최소 추정 비용=8)의 비용을 비교한다. 나머지 저장된 경로 a→A→C→B→c(경로 비용+최소 추정 비용=5) 및 이제 저장되는 경로 a→A→B→c(경로 비용+최소 추정 비용=6)의 종료 노드가 출구 노드이므로, 이들은 폐기되지 않는다.
그러므로, 추천 경로들 중 단지 2개의 경로들만이 저장된다. 나머지 경로들a→A→B→C(경로 비용+최소 추정 비용=8) 및 경로 a→A→B→D(경로 비용+최소 추정 비용=8)는 최대 비용 경로로서 폐기된다.
이제, 저장된 경로들은 경로 a→A→C→B→c(경로 비용+최소 추정 비용=5), 경로 a→A→B→C(경로 비용+최소 추정 비용=6), 경로 a→A→C→E(경로 비용+최소 추정 비용=7), 및 경로 a→A→C→B→D(경로 비용+최소 추정 비용=7)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소이고 그 종료 노드가 중간 노드인 경로 a→A→C→E를 저장부(6)에서 삭제하고, 이 경로를 현재의 탐색 경로로 하여, 제어를 경로 생성기(2)로 되돌려준다. 경로 a→A→C→E 및 경로 a→A→C→B→D는 동일한 스코어(경로 비용+최소 추정 비용=7)를 갖는다. 2개의 경로들이 동일한 스코어를 갖는 경우, 경로 선택기(4)는 이들 중 하나를 선택한다.
제6 경로 생성시, 경로 생성기(2)는 경로 a→A→C→E를 현재의 탐색 경로로 하여 3개의 경로 a→A→C→E→C, a→A→C→E→b, 및 a→A→C→E→D를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 C를 2번 통과하는 경로 a→A→C→E→C를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 전혀 없다는 것을 찾아내어, 최대 비용 경로를 폐기한다.
이 경우에, 경로 저장부(3)는 경로 a→A→C→B→D(경로 비용+추정 최소 비용=7), 및 a→A→C→E→D(경로 비용+추정 최소 비용=12)의 비용을 비교한다. 나머지 저장된 경로 a→A→C→B→c(경로 비용+추정 최소 비용=5) 및 a→A→B→c(경로 비용+추정된 최소 비용=6)의 종료 노드 및 이제 저장되는 경로 a→A→C→E→b(경로비용+추정된 최소 비용=7)의 종료 노드가 출구 노드이므로, 이들은 폐기되지 않는다.
그러므로, 추천된 경로들 중 단지 하나의 경로만이 저장된다. 나머지 경로, a→A→C→E→D(경로 비용+추정 최소 비용=12)는 최대 비용 경로로서 폐기된다.
이제, 저장된 경로는 경로 a→A→C→B→c(경로 비용+최소 추정 비용=5), 경로 a→A→B→c(경로 비용+추정된 최소 비용=6), 경로 a→A→C→E→b(경로 비용+추정된 최소 비용=7), 및 경로 a→A→C→B→D(경로 비용+최소 추정 비용=7)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소이고 종료 노드가 중간 노드인 경로 a→A→C→B→D를 저장부(6)에서 삭제하고, 이 경로를 현재 탐색 경로로 하여, 제어를 경로 생성기(2)로 되돌려준다.
제7 경로 생성시, 경로 생성기(2)는 경로 a→A→C→B→D를 현재의 탐색 경로로 하여 2개의 경로 a→A→C→B→D→E, 및 a→A→C→B→D→B 를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 B를 2번 통과하는 경로 a→A→C→B→D→B를 거절하고, 상기 경로를 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여, 저장부(6)내에 빈 엔트리가 있다는 것을 찾아낸 후, 경로 a→A→C→B→D→E(경로 비용+최소 추정 비용=8)를 저장한다.
이제, 저장된 경로는 경로 a→A→C→B→c(경로 비용+최소 추정 비용=5), 경로 a→A→B→c(경로 비용+최소 추정 비용=6), 경로 a→A→C→E→b(경로 비용+최소 추정 비용=7), 및 경로 a→A→C→B→D→E(경로 비용+최소 추정 비용=8)이다. 경로 선택기(4)는 경로 비용 및 최소 추정 비용의 합계가 최소이고 그 종료 노드가 중간노드인 경로 a→A→C→B→D→E를 저장부(6)에서 삭제하고, 이 경로를 현재의 탐색 경로로 하여, 제어를 경로 생성기(2)로 되돌려준다.
제8 경로 생성시, 경로 생성기(2)는 경로 a→A→C→B→D→E를 현재의 탐색 경로로 하여 3개의 경로 a→A→C→B→D→E→C, a→A→C→B→D→E→b 및 a→A→C→B→D→E→D를 생성한다. 경로 저장부(3)는 이들 경로들을 체크하여, 노드 C를 2번 통과하는 a→A→C→B→D→E→C 및 노드 D를 2번 통과하는 경로 a→A→C→B→D→E→D를 거절하고, 상기 경로들을 폐기한다. 경로 저장부(3)는 경로의 개수를 체크하여 저장부(6)에서 빈 엔트리가 있다는 것을 찾아낸 후, 경로 a→A→C→B→D→E→b(경로 비용+최소 추정 비용=8)를 저장한다.
이제 저장된 경로는 경로 a→A→C→B→c(경로 비용+최소 추정 비용=5), 경로 a→A→B→c(경로 비용+최소 추정 비용=6), 경로 a→A→C→E→b(경로 비용+최소 추정 비용=7) 및 경로 a→A→C→B→D→E→b(경로 비용+최소 추정 비용=8)이다. 저장된 경로 중에서 그 종료 노드가 중간 노드인 경로가 없으므로, 경로 선택기(4)는 제어를 경로 출력부(5)에 넘겨준다.
경로 출력부(5)는 4개의 저장된 경로 a→A→C→B→c, a→A→B→c, a→A→C→E→b 및 a→A→C→B→D→E→b를 출력한다. 상기 동작은 모든 출구 노드에 대한 특정 개수, 본 예에서는 4개의 경로들을 비용 상승의 순서대로 출력한다.
최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소 비용 경로 탐색 방법은 이하와 같은 장점들을 가지고 있다. 즉, 네트워크에서 입구 노드로부터 출구노드까지의 최소 비용 경로를 탐색하는 경우, 본 발명에 따른 장치 및 방법은 각 중간 노드로부터 출구 노드까지의 비용을 미리 추정하고, 경로를 중간 노드에 인접한 경로로 연장함으로써 한 노드로부터 중간 노드까지의 경로를 생성하며, 저장되는 경로의 개수를 제어하면서 생성된 경로들 중에서 저장될 하나 이상의 경로를 선택하고, 저장된 경로들에서 최적 경로를 선택하며, 저장된 경로가 없는 경우에 경로들을 출력한다. 이러한 방법은 제한된 용량의 저장 장치에서 각 출구 노드에 대한 소정 개수의 최소 비용 경로가 비용의 상승 순서대로 신속하게 탐색될 수 있게 한다.
본 발명을 특정 양호한 실시예와 관련하여 설명했지만, 본 발명의 범주는 이들 특정 실시예로 한정되지는 않는다. 오히려, 본 발명의 범주는 이하의 특허청구범위의 사상 및 범위에 드는 모든 다른 방법, 변형 및 등가를 포함한다.

Claims (12)

  1. 네트워크에서 입구 노드로부터 출구 노드까지의 최소 비용 경로를 탐색하는 최소 비용 경로 탐색 장치에 있어서,
    중간 노드로부터 상기 출구 노드까지의 비용을 미리 추정하기 위한 비용 추정기;
    상기 입구 노드로부터 상기 중간 노드까지의 중간 경로에 대해, 상기 중간 노드에 인접한 노드로 연장되는 각 경로를 생성하기 위한 경로 생성기;
    저장되는 경로의 개수를 제어하면서, 상기 경로 생성기에 의해 생성된 상기 경로들 중에서 저장될 경로를 선택하기 위한 경로 저장 메모리;
    상기 경로 저장 메모리에 의해 저장된 상기 경로들 중에서 하나의 최적 경로를 선택하기 위한 경로 선택기; 및
    상기 경로 저장 메모리에 경로가 저장되지 않은 경우에, 얻어진 경로를 출력하기 위한 경로 출력부
    을 포함하는 최소 비용 경로 탐색 장치.
  2. 제1항에 있어서, 상기 비용 추정기는 상기 추정 비용으로서 외부에서 입력된 비용을 이용하는 최소 비용 경로 탐색 장치.
  3. 제1항에 있어서, 상기 비용 추정기는 수학적인 프로그래밍 방법인 다이크스트라(Dijkstra) 방법을 이용하여 상기 최소 비용을 계산하는 최소 비용 경로 탐색 장치.
  4. 제1항에 있어서, 상기 비용 추정기는 상기 추정 비용으로서 소정 고정값을 이용하는 최소 비용 경로 탐색 장치.
  5. 제1항에 있어서, 상기 경로 저장 메모리는 각 노드에 대한 저장될 경로의 개수를 제한하는 최소 비용 경로 탐색 장치.
  6. 제1항에 있어서, 상기 경로 저장 메모리는 전체 노드에 대한 저장될 경로의 개수를 제한하는 최소 비용 경로 탐색 장치.
  7. 네트워크에서 입구 노드로부터 출구 노드까지의 최소 비용 경로를 탐색하는 최소 비용 경로 탐색 방법에 있어서,
    중간 노드로부터 상기 출구 노드까지의 비용을 미리 추정하는 단계;
    상기 입구 노드로부터 상기 중간 노드까지의 중간 경로에 대해, 상기 중간 노드에 인접한 노드로 연장되는 각 경로를 생성하는 단계;
    저장되는 경로의 개수를 제어하면서, 상기 경로 생성 수단에 의해 생성된 상기 경로들 중에서 저장될 경로를 선택하는 단계;
    상기 저장된 경로들 중에서 하나의 최적 경로를 선택하는 단계; 및
    경로가 저장되어 있지 않은 경우에, 얻어진 경로를 출력하는 단계
    를 포함하는 최소 비용 경로 탐색 방법.
  8. 제7항에 있어서, 상기 비용 추정 단계는 상기 추정 비용으로서 외부에서 입력된 비용을 이용하는 최소 비용 경로 탐색 방법.
  9. 제7항에 있어서, 상기 비용 추정 단계는 수학적인 프로그래밍 방법인 다이크스트라 방법을 이용하여 최소 비용을 계산하는 최소 비용 경로 탐색 방법.
  10. 제7항에 있어서, 상기 비용 추정 단계는 상기 추정 비용으로서 소정 고정값을 이용하는 최소 비용 경로 탐색 방법.
  11. 제7항에 있어서, 상기 경로를 선택하는 단계는 각 노드에 대한 저장될 경로의 개수를 제한하는 최소 비용 경로 탐색 방법.
  12. 제7항에 있어서, 상기 경로를 선택하는 단계는 전체 노드에 대한 저장될 경로의 개수를 제한하는 최소 비용 경로 탐색 방법.
KR10-2001-0065920A 2000-10-25 2001-10-25 최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소비용 경로 탐색 방법 KR100402528B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00324808 2000-10-25
JP2000324808A JP2002133351A (ja) 2000-10-25 2000-10-25 最小コスト経路探索装置及びそれに用いる最小コスト経路探索方法

Publications (2)

Publication Number Publication Date
KR20020032385A KR20020032385A (ko) 2002-05-03
KR100402528B1 true KR100402528B1 (ko) 2003-10-17

Family

ID=18802275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0065920A KR100402528B1 (ko) 2000-10-25 2001-10-25 최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소비용 경로 탐색 방법

Country Status (5)

Country Link
US (1) US20020059213A1 (ko)
EP (1) EP1206144A3 (ko)
JP (1) JP2002133351A (ko)
KR (1) KR100402528B1 (ko)
CN (1) CN1350244A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220074343A (ko) * 2020-11-27 2022-06-03 한국도로공사 통행요금 생성을 위한 최단경로 산출 방법

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040008382A (ko) * 2002-07-18 2004-01-31 정문영 최저요금 사업자 루트 접속기
CN100346608C (zh) * 2003-11-06 2007-10-31 华为技术有限公司 一种路径搜索方法
JP4128131B2 (ja) * 2003-11-19 2008-07-30 富士通株式会社 フォールスパス検出プログラム
SE0303576D0 (sv) * 2003-12-23 2003-12-23 Ericsson Telefon Ab L M Cost determination in a multihop network
ITMI20040052A1 (it) * 2004-01-16 2004-04-16 Marconi Comm Spa Metodo per la selezione di una strategia per il re-instradamento di circuiti in una rete di comunicazione e rete con tale metodo
CN100383785C (zh) * 2004-08-29 2008-04-23 华为技术有限公司 一种传输网管系统中路径的搜索方法
FR2881862B1 (fr) * 2005-02-07 2007-04-13 Michelin Soc Tech Procede et dispositif de determination d'itineraire avec points d'interet
US8738821B2 (en) * 2005-11-18 2014-05-27 International Business Machines Corporation Selecting a path comprising ports on primary and secondary clusters to use to transmit data at a primary volume to a secondary volume
KR100791748B1 (ko) * 2005-11-28 2008-01-04 유영근 탐색영역 제한 방법과 최소 기대 소요값을 구하는 방법 및최단경로 탐색방법
KR100798658B1 (ko) * 2007-04-20 2008-01-28 (주)지오매틱코리아 미래형 주상복합건물에서의 최적보행자 경로산정 알고리즘
JP5119762B2 (ja) * 2007-06-22 2013-01-16 村田機械株式会社 経路探索システム及び方法、搬送システム並びにコンピュータプログラム
EP2048830A1 (en) * 2007-10-10 2009-04-15 Alcatel Lucent Method for routing in optical communication networks
AU2008338259A1 (en) * 2007-12-17 2009-06-25 Leximancer Pty Ltd Methods for determining a path through concept nodes
US9049145B2 (en) * 2008-06-18 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for calculating MPLS traffic engineering paths
KR100994075B1 (ko) 2008-07-08 2010-11-12 한국과학기술연구원 보행로봇의 최적경로 계획방법
JP4730440B2 (ja) 2009-01-01 2011-07-20 ソニー株式会社 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
KR101554515B1 (ko) * 2009-01-07 2015-09-21 삼성전자 주식회사 로봇의 경로계획장치 및 그 방법
CN101848139B (zh) * 2009-03-26 2011-12-28 林定伟 一种量化的多线程网络智能选径方法
JP5759164B2 (ja) * 2010-12-20 2015-08-05 株式会社スクウェア・エニックス ゲーム用人工知能
US20140058787A1 (en) * 2011-05-05 2014-02-27 Ron BANNER Plan Choosing in Digital Commercial Print Workflows
JP5720441B2 (ja) * 2011-06-30 2015-05-20 富士通株式会社 経路検索プログラム、経路探索装置及び経路探索方法
US9811130B2 (en) * 2011-09-12 2017-11-07 The Boeing Company Power management control system
WO2012149795A1 (zh) * 2011-09-30 2012-11-08 华为技术有限公司 一种确定多层网络中连接路由的方法和装置
CN102542432B (zh) * 2011-12-20 2015-11-25 纽海信息技术(上海)有限公司 库存管理系统及方法
US8972057B1 (en) * 2013-01-09 2015-03-03 The Boeing Company Systems and methods for generating a robotic path plan in a confined configuration space
CN103472828A (zh) * 2013-09-13 2013-12-25 桂林电子科技大学 基于改进蚁群粒子群算法的移动机器人路径规划方法
CN103472832A (zh) * 2013-09-16 2013-12-25 苏州工业园区职业技术学院 基于双核两轮微电脑鼠全数字伺服控制器
CN103472835B (zh) * 2013-09-16 2017-01-04 苏州工业园区职业技术学院 基于双核四轮微电脑鼠快速冲刺控制器
JP6298322B2 (ja) * 2014-02-27 2018-03-20 株式会社ゼンリン 経路探索装置、経路探索方法およびプログラム
US20170165835A1 (en) * 2015-12-09 2017-06-15 Qualcomm Incorporated Rapidly-exploring randomizing feedback-based motion planning
JP6770839B2 (ja) * 2016-07-08 2020-10-21 株式会社クボタ 経路探索プログラムと、経路探索システムと、この経路探索システムを組み込んだ作業車
CN107677285B (zh) * 2017-04-11 2019-05-28 平安科技(深圳)有限公司 机器人的路径规划系统及方法
JP7235060B2 (ja) * 2019-02-01 2023-03-08 日本電気株式会社 経路計画装置、経路計画方法、及びプログラム
CN110147040B (zh) * 2019-04-10 2022-05-20 中国人民解放军陆军工程大学 无人机携能传输的飞行轨迹与功率分配联合优化方法
CN111930113A (zh) * 2020-06-30 2020-11-13 创新工场(北京)企业管理股份有限公司 一种为自主导航机器人设置行驶路径的方法与装置
CN115657687B (zh) * 2022-12-21 2023-03-10 广东技术师范大学 一种可移动机器人的路径优化方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4669113A (en) * 1985-04-26 1987-05-26 At&T Company Integrated network controller for a dynamic nonhierarchical routing switching network
CA2111634C (en) * 1992-12-17 1999-02-16 Toshio Nishida Private branch exchange
JP3672341B2 (ja) * 1993-07-21 2005-07-20 富士通株式会社 通信網分離設計方式とその管理方式
NZ296159A (en) * 1994-11-30 1998-12-23 British Telecomm Identifying preferred route in communication network by comparing data relevant to multiple routes and from both directions
JP3173983B2 (ja) * 1995-12-28 2001-06-04 松下電器産業株式会社 経路選出方法およびシステム
JP2964957B2 (ja) * 1996-08-15 1999-10-18 日本電気株式会社 高速ルーティング制御方式
KR100194608B1 (ko) * 1996-11-20 1999-06-15 이계철 Atm 통신망에서의 멀티캐스트 경로 할당방법
US5899986A (en) * 1997-02-10 1999-05-04 Oracle Corporation Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer
JP3147043B2 (ja) * 1997-06-18 2001-03-19 日本電気株式会社 コストルーティング装置及びコストルーティング方式並びにコストルーティング制御プログラムを記録した記録媒体
US6633544B1 (en) * 1998-06-24 2003-10-14 At&T Corp. Efficient precomputation of quality-of-service routes
JP3403335B2 (ja) * 1998-06-26 2003-05-06 日立ソフトウエアエンジニアリング株式会社 仮想地理空間オブジェクト生成システム及び記録媒体
DE19842850B4 (de) * 1998-09-18 2004-09-09 Siemens Ag Verfahren zum Konfigurieren einer Nebenstellenanlage
US6349403B1 (en) * 1998-12-18 2002-02-19 Synopsys, Inc. Interative, gridless, cost-based layer assignment coarse router for computer controlled IC design
US6263277B1 (en) * 2000-08-07 2001-07-17 Alpine Electronics, Inc. Route searching method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220074343A (ko) * 2020-11-27 2022-06-03 한국도로공사 통행요금 생성을 위한 최단경로 산출 방법
KR102470845B1 (ko) 2020-11-27 2022-11-28 한국도로공사 통행요금 생성을 위한 최단경로 산출 방법

Also Published As

Publication number Publication date
US20020059213A1 (en) 2002-05-16
JP2002133351A (ja) 2002-05-10
CN1350244A (zh) 2002-05-22
KR20020032385A (ko) 2002-05-03
EP1206144A2 (en) 2002-05-15
EP1206144A3 (en) 2006-12-27

Similar Documents

Publication Publication Date Title
KR100402528B1 (ko) 최소 비용 경로 탐색 장치 및 이것에 의해 이용되는 최소비용 경로 탐색 방법
US6377551B1 (en) QoS based route determination method for communications networks
US7379424B1 (en) Systems and methods for routing packets in multiprocessor computer systems
US6098107A (en) Dynamic algorithms for shortest path tree computation
EP1609275B8 (en) Data networking
US6992988B2 (en) System and method for deadlock-free routing on arbitrary network topologies
EP0674460A2 (en) A method of routing multiple virtual circuits
CN101753425B (zh) 在多约束下求取网络中多条最短简单路径的启发式方法
US5577030A (en) Data communication routing method and device
US7002958B1 (en) Method for load-balancing with FIFO guarantees in multipath networks
Scano et al. Adaptations of k-shortest path algorithms for transportation networks
KR20070055708A (ko) 탐색영역 제한 방법과 최소 기대 소요값을 구하는 방법 및최단경로 탐색방법
Mahey et al. Capacity and flow assignment of data networks by generalized Benders decomposition
CN108429699B (zh) 基于二维路由的拥塞规避机制及装置
JP5271817B2 (ja) 経路探索方法、装置及びプログラム
US6731608B2 (en) Complex node representations in PNNI systems
Schroeder et al. Computing the minimum cut and maximum flow of undirected graphs
Brandes et al. A linear time algorithm for the arc disjoint Menger problem in planar directed graphs
CN100490440C (zh) 一种实现路由器外部路由计算的方法
RU2700547C1 (ru) Способ нахождения надежных кратчайших путей в сети связи
Blanchy et al. A preemption-aware on-line routing algorithm for MPLS networks
US7061869B2 (en) Apparatus and method for graceful reassignment of out-of-kilter communications paths
Bermond et al. Traffic grooming in bidirectional WDM ring networks
Xiao et al. Approximation and heuristic algorithms for delay constrained path selection under inaccurate state information
Sanjabi et al. Heuristic Bidirectional Dijkstra Algorithm Using Piece-Wise Linear Function

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090925

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee