KR102185690B1 - Method of deciding one-way roads based on 2-SAT in smart cities - Google Patents

Method of deciding one-way roads based on 2-SAT in smart cities Download PDF

Info

Publication number
KR102185690B1
KR102185690B1 KR1020190155522A KR20190155522A KR102185690B1 KR 102185690 B1 KR102185690 B1 KR 102185690B1 KR 1020190155522 A KR1020190155522 A KR 1020190155522A KR 20190155522 A KR20190155522 A KR 20190155522A KR 102185690 B1 KR102185690 B1 KR 102185690B1
Authority
KR
South Korea
Prior art keywords
roads
road network
driving
cnf
type
Prior art date
Application number
KR1020190155522A
Other languages
Korean (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 제주대학교 산학협력단
Priority to KR1020190155522A priority Critical patent/KR102185690B1/en
Application granted granted Critical
Publication of KR102185690B1 publication Critical patent/KR102185690B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/056Detecting movement of traffic to be counted or controlled with provision for distinguishing direction of travel

Landscapes

  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Educational Administration (AREA)
  • Analytical Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Chemical & Material Sciences (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

Disclosed are a method and device for planning a road network. According to one embodiment of the present invention, the device for planning a road network may receive road information on roads included in a target road network and driving route information on driving paths of vehicles traveling on the target road network, assign an identifier based on a boolean variable, which distinguishes a forward direction and an opposite direction to each of the roads, express the driving routes included in the driving route information as CNF of 2-SAT using the boolean variable, acquire a solution of the CNF using SCC, and determine a direction for one-way traffic for at least some roads based on the acquired solution of the CNF.

Description

스마트 시티에서 2-SAT을 이용한 도로망 일방통행 결정 방법{Method of deciding one-way roads based on 2-SAT in smart cities}Method of deciding one-way roads based on 2-SAT in smart cities}

아래 실시예들은 스마트 시티에서 2-SAT을 이용한 도로망 일방통행 결정 방법에 관한 것이다.The following embodiments relate to a method for determining one-way road network traffic using 2-SAT in a smart city.

스마트 시티는 지능적인 컴퓨터 알고리즘들을 도시 계획에 적용하여 효율적인 자원의 운용과 생활의 편리성을 증진시킨다. 교통은 스마트 시티에서 중요한 문제로서 트래픽에 관련된 빅데이터가 가용해지고 이에 기반한 효율적인 도로망의 운영 계획은 이동시간을 줄이고 연료의 낭비를 줄이는 등 다양한 효과를 가지고 있다. 교통을 원활하게 하기 위해 도로의 일방 통행 제도가 도입될 수 있고, 이는 주로 격자형 도로망에서 사용될 수 있다. 일방 통행에서 사용자들이 쉽게 길을 찾기 위해서는 각 수평 혹은 수직 도로마다 번갈아 진행방향을 설정하는 것이 가능하지만, 최근 네비게이션의 활용성이나 도로 구조에 익숙한 운전자들이 대부분인 상황을 고려할 때, 교통의 흐름을 원활하게 하는 목적으로 진행 방향을 설정할 수도 있다. 더욱이, 도로망에서는 교통 흐름상 많은 부분을 차지하는 흐름들이 있으므로 이들이 일방 통행망을 타고 쉽게 이동할 수 있도록 하는 것이 바람직한 측면이 있다.Smart cities apply intelligent computer algorithms to urban planning to improve efficient resource management and convenience in life. Traffic is an important issue in smart cities, and big data related to traffic is available, and efficient road network operation plans based on this have various effects, such as reducing travel time and waste of fuel. In order to facilitate traffic, a one-way road system can be introduced, which can be mainly used in a grid type road network. In one-way traffic, it is possible to set the direction of travel alternately for each horizontal or vertical road in order for users to easily find the way, but considering the situation in which most drivers are familiar with the use of navigation and road structure, traffic flows smoothly. You can also set the direction of progress for the purpose of Moreover, since there are flows that occupy a large part of the traffic flow in the road network, it is desirable to allow them to easily move through a one-way traffic network.

일 실시예에 따르면, 도로망 계획 장치의 동작 방법은 대상 도로망에 포함된 도로들에 관한 도로 정보, 및 상기 대상 도로망을 주행하는 차량들의 주행 경로에 관한 주행 경로 정보를 수신하는 단계; 정 방향과 반대 방향을 구분하는 부울 변수 기반의 식별자를 상기 도로들 각각에 할당하는 단계; 상기 부울 변수를 이용하여 상기 주행 경로 정보에 포함된 주행 경로들을 2-SAT(satisfiability)의 CNF(Conjunctive Normal Form)로 표현하는 단계; SCC(Strongly Connected Component)를 이용하여 상기 CNF의 솔루션을 획득하는 단계; 및 상기 획득된 상기 CNF의 상기 솔루션에 기초하여, 상기 도로들 중 적어도 일부에 관해 일방 통행을 위한 방향성을 결정하는 단계를 포함한다.According to an embodiment, a method of operating a road network planning apparatus includes: receiving road information about roads included in a target road network, and driving route information about driving paths of vehicles traveling on the target road network; Allocating to each of the roads an identifier based on a boolean variable for distinguishing a forward direction and an opposite direction; Expressing the driving paths included in the driving path information in a Conjunctive Normal Form (CNF) of 2-SAT (satisfiability) by using the Boolean variable; Obtaining a solution of the CNF using a Strongly Connected Component (SCC); And determining a direction for one-way traffic with respect to at least some of the roads, based on the obtained solution of the CNF.

상기 대상 도로망은 수평 도로들 및 수직 도로들을 포함하는 격자형 도로망이고, 상기 식별자를 할당하는 단계는 상기 수평 도로들 중 제1 수평 도로에, 제1 수평 방향에 관해 참 값을 가지고, 상기 제1 수평 방향과 반대 방향의 제2 수평 방향에 관해 거짓 값을 가지는 제1 부울 변수에 대응하는 제1 식별자를 할당하는 단계; 및 상기 수직 도로들 중 제1 수직 도로에, 제1 수직 방향에 관해 참 값을 가지고, 상기 제1 수직 방향과 반대 방향의 제2 수직 방향에 관해 거짓 값을 가지는 제2 부울 변수에 대응하는 제2 식별자를 할당하는 단계를 포함할 수 있다.The target road network is a grid type road network including horizontal roads and vertical roads, and the step of allocating the identifier has a true value for a first horizontal direction to a first horizontal road among the horizontal roads, and the first Allocating a first identifier corresponding to a first boolean variable having a false value with respect to a second horizontal direction opposite to the horizontal direction; And a second boolean variable corresponding to a first vertical road among the vertical roads, which has a true value with respect to a first vertical direction and a false value with respect to a second vertical direction opposite to the first vertical direction. 2 It may include the step of allocating an identifier.

상기 주행 경로들을 상기 CNF로 표현하는 단계는 상기 주행 경로들 중 제1 주행 경로의 경로 유형을 결정하는 단계; 각각 다양한 경로 유형들에 관해 미리 정의된 형식을 갖는 복수의 논리 식들 중 상기 제1 주행 경로의 경로 유형에 대응하는 제1 형식의 논리 식을 선택하는 단계; 상기 복수의 논리 식들에 대응하여 미리 규격화된 절(clause)들 중 상기 제1 형식의 상기 논리 식에 대응하는 제1 절을 선택하는 단계; 및 상기 제1 절에 상기 제1 주행 경로의 제1 식별자를 대입하여, 상기 CNF의 적어도 일부를 표현하는 단계를 포함할 수 있다.The step of expressing the driving paths in the CNF may include determining a path type of a first driving path among the driving paths; Selecting a first type of logical expression corresponding to the route type of the first driving route from among a plurality of logical expressions each having a predefined format for various route types; Selecting a first clause corresponding to the logical expression of the first type from among clauses pre-normalized corresponding to the plurality of logical expressions; And expressing at least a part of the CNF by substituting the first identifier of the first driving route in the first section.

상기 다양한 경로 유형들은 수평 방향으로 직진 주행하는 제1 유형, 수직 방향으로 직진 주행하는 제2 유형, 수평 방향으로 주행 후 수직 방향으로 회전하여 주행하는 제3 유형, 및 수직 방향으로 주행 후 수평 방향으로 회전하여 주행하는 제4 유형을 포함할 수 있다.The various route types include a first type traveling straight in a horizontal direction, a second type traveling straight in a vertical direction, a third type traveling in a vertical direction after traveling in a horizontal direction, and a horizontal direction after traveling in a vertical direction. It may include a fourth type that rotates and travels.

일 실시예에 따르면, 도로망 계획 장치는 프로세서; 및 상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리를 포함하고, 상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는 대상 도로망에 포함된 도로들에 관한 도로 정보, 및 상기 대상 도로망을 주행하는 차량들의 주행 경로에 관한 주행 경로 정보를 수신하고, 정 방향과 반대 방향을 구분하는 부울 변수 기반의 식별자를 상기 도로들 각각에 할당하고, 상기 부울 변수를 이용하여 상기 주행 경로 정보에 포함된 주행 경로들을 2-SAT(satisfiability)의 CNF(Conjunctive Normal Form)로 표현하고, SCC(Strongly Connected Component)를 이용하여 상기 CNF의 솔루션을 획득하고, 상기 획득된 상기 CNF의 상기 솔루션에 기초하여, 상기 도로들 중 적어도 일부에 관해 일방 통행을 위한 방향성을 결정한다.According to an embodiment, the road network planning apparatus includes a processor; And a memory including instructions executable by the processor, and when the instructions are executed by the processor, the processor includes road information on roads included in the target road network, and driving paths of vehicles traveling on the target road network. Receiving driving route information for, assigning an identifier based on a boolean variable for distinguishing the forward direction and the opposite direction to each of the roads, and using the Boolean variable to 2-SAT the driving routes included in the driving route information Expressed in Conjunctive Normal Form (CNF) of (satisfiability), obtained the solution of the CNF using Strongly Connected Component (SCC), and based on the solution of the obtained CNF, at least some of the roads To determine the direction for one-way traffic.

도 1은 일 실시예에 따른 도로망 계획 장치의 동작을 나타낸 도면.
도 2는 일 실시예에 따라 정의된 대상 도로망을 나타낸 도면.
도 3 내지 도 6은 일 실시예에 따른 경로 유형들을 나타낸 도면.
도 7은 일 실시예에 따른 SCC를 이용하여 CNF의 솔루션을 획득하는 과정을 나타낸 도면.
도 8은 일 실시예에 따른 도로망 계획 방법을 나타낸 플로우 차트.
도 9는 일 실시예에 따른 도로망 계획 장치를 나타낸 블록도.
1 is a view showing the operation of a road network planning apparatus according to an embodiment.
2 is a diagram showing a target road network defined according to an embodiment.
3 to 6 are diagrams showing path types according to an embodiment.
7 is a diagram illustrating a process of obtaining a CNF solution using SCC according to an embodiment.
8 is a flow chart showing a road network planning method according to an embodiment.
9 is a block diagram showing an apparatus for planning a road network according to an embodiment.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and embodiments according to the concept of the present invention They may be implemented in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, the first component may be named as the second component, Similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being “directly connected” or “directly connected” to another component, it should be understood that there is no other component in the middle. Expressions that describe the relationship between components, for example, “between” and “just between” or “directly adjacent to” should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate that the specified features, numbers, steps, actions, components, parts, or combinations thereof exist, but one or more other features or numbers, It is to be understood that the presence or addition of steps, actions, components, parts or combinations thereof does not preclude the possibility of preliminary exclusion.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this specification. Does not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. The same reference numerals in each drawing indicate the same members.

도 1은 일 실시예에 따른 도로망 계획 장치의 동작을 나타낸 도면이다. 스마트 시티는 지능적인 컴퓨터 알고리즘들을 도시 계획에 적용하여 효율적인 자원의 운용과 생활의 편리성을 증진시킨다. 교통은 스마트 시티에서 중요한 문제로서 트래픽에 관련된 빅데이터가 가용해지고 이에 기반한 효율적인 도로망의 운영 계획은 이동시간을 줄이고 연료의 낭비를 줄이는 등 다양한 효과를 가지고 있다. 교통을 원활하게 하기 위해 도로의 일방 통행 제도가 도입될 수 있고, 이는 주로 격자형 도로망에서 사용될 수 있다.1 is a diagram illustrating an operation of a road network planning apparatus according to an embodiment. Smart cities apply intelligent computer algorithms to urban planning to improve efficient resource management and convenience in life. Traffic is an important issue in smart cities, and big data related to traffic is available, and efficient road network operation plans based on this have various effects, such as reducing travel time and waste of fuel. In order to facilitate traffic, a one-way road system can be introduced, which can be mainly used in a grid type road network.

일방 통행에서 사용자들이 쉽게 길을 찾기 위해서는 각 수평 혹은 수직 도로마다 번갈아 진행방향을 설정하는 것이 가능하지만, 최근 네비게이션의 활용성이나 도로 구조에 익숙한 운전자들이 대부분인 상황을 고려할 때, 교통의 흐름을 원활하게 하는 목적으로 진행 방향을 설정할 수도 있다. 더욱이, 도로망에서는 교통 흐름상 많은 부분을 차지하는 흐름들이 있으므로 이들이 일방 통행망을 타고 쉽게 이동할 수 있도록 하는 것이 바람직한 측면이 있다.In one-way traffic, it is possible to set the direction of travel alternately for each horizontal or vertical road in order for users to easily find the way, but considering the situation in which most drivers are familiar with the use of navigation and road structure, traffic flows smoothly. You can also set the direction of progress for the purpose of Moreover, since there are flows that occupy a large part of the traffic flow in the road network, it is desirable to allow them to easily move through a one-way traffic network.

예를 들어, 도 1에서 지점(1, 흰색)에서 지점(1, 검은색)으로의 교통 흐름, 및 지점(2, 흰색)에서 지점(2, 검은색)으로의 교통 흐름이 있다고 할 경우, 굵은 화살표와 같이 일방 통행의 방향성을 결정한다면 각 교통 흐름은 한번의 회전(좌회전 또는 우회전)으로 목적지까지 도달할 수 있다. 따라서, 교통 흐름에 맞는 효율적인 도로의 방향성이 부여될 수 있다. 이 때, 방향이 결정되지 않은 도로들에 임의의 방향의 방향성이 부여되거나, 교번하여 방향성이 부여될 수 있다. 또는, 이러한 도로들은 양방향 통행의 도로로 설정될 수도 있다.For example, if there is a traffic flow from a point (1, white) to a point (1, black) in Fig. 1 and a traffic flow from the point (2, white) to the point (2, black), Each traffic flow can reach its destination in one turn (left or right turn) if the direction of one-way traffic is determined as shown by the thick arrow. Accordingly, an efficient road direction suitable for traffic flow can be given. In this case, a direction of an arbitrary direction may be given to roads whose direction is not determined, or a direction may be given alternately. Alternatively, these roads may be set as two-way traffic.

도 1에서는 예시로서 2개의 교통 흐름이 고려되었으나, 이와 같이 우선적으로 고려되어야 할 흐름들이 많을 때에는 각 도로의 방향성을 결정하는 것이 상당히 복잡한 문제가 될 수 있다. 나아가, 이러한 교통 흐름들을 원활하게 하는 일방 통행 계획이 존재하는지에 대해 판단하는 것도 복잡한 문제가 될 수 있다.In FIG. 1, two traffic flows have been considered as examples, but when there are many flows to be considered preferentially, determining the direction of each road can be a very complicated problem. Furthermore, judging whether there is a one-way plan that facilitates these traffic flows can be a complex problem.

도로망 계획 장치(100)는 대상 도로망에 관한 정보를 수신하고, 대상 도로망에 관한 도로망 계획을 생성할 수 있다. 대상 도로망은 다수의 도로망들 중 도로망 계획의 타겟이 되는 도로망을 의미한다. 대상 도로망에 관한 정보는 대상 도로망에 포함된 도로들에 관한 도로 정보(예: 도로의 레이아웃) 및 대상 도로망을 주행하는 차량들의 주행 경로에 관한 주행 경로 정보를 포함할 수 있다. 여기서, 주행 경로 정보는 대상 도로망의 적어도 하나의 주요 교통 흐름을 나타낼 수 있다.The road network planning apparatus 100 may receive information on a target road network and generate a road network plan for the target road network. The target road network refers to a road network that is a target of road network planning among a number of road networks. The information on the target road network may include road information (eg, a layout of a road) about roads included in the target road network, and driving route information about the driving paths of vehicles traveling on the target road network. Here, the driving route information may indicate at least one major traffic flow of the target road network.

도로망 계획 장치(100)는 정 방향과 반대 방향을 구분하는 부울 변수 기반의 식별자를 대상 도로망의 도로들 각각에 할당하고, 주행 경로 정보에 포함된 주행 경로들을 2-SAT(satisfiability)의 CNF(Conjunctive Normal Form)로 표현하고, SCC(Strongly Connected Component)를 이용하여 CNF의 솔루션을 구하여, 도로들 중 적어도 일부에 관해 일방 통행을 위한 방향성을 결정할 수 있다.The road network planning apparatus 100 allocates an identifier based on a boolean variable that distinguishes the forward direction and the opposite direction to each of the roads of the target road network, and assigns the driving routes included in the driving route information to the CNF (Conjunctive) of 2-SAT (satisfiability). Normal Form) and using Strongly Connected Component (SCC) to obtain a CNF solution, it is possible to determine the direction for one-way traffic on at least some of the roads.

도 2는 일 실시예에 따라 정의된 대상 도로망을 나타낸 도면이다. 도로망 계획 장치는 도 2와 같은 대상 도로망에서 우선적으로 고려해야할 흐름들이 주어질 때, 해당 흐름들과 관련된 도로들의 방향성을 결정할 수 있다. 도 2에는 격자형 도로망이 도시되어 있으나, 실시예들이 반드시 격자형 도로망에 한정되는 것은 아니다. 또한, 도 2의 대상 도로망은 완벽한 격자형은 아니며, 일부 블록은 건물 등으로 막혀 있어서 우회가 필요한 것으로 도시되어 있다.2 is a diagram illustrating a target road network defined according to an embodiment. The road network planning apparatus may determine the directions of roads related to the corresponding flows when flows to be considered first in the target road network as shown in FIG. 2 are given. Although a grid type road network is shown in FIG. 2, embodiments are not necessarily limited to the grid type road network. In addition, the target road network of FIG. 2 is not a perfect grid, and some blocks are blocked by buildings, so that a detour is required.

도로들의 각 교차점은 (r-x, cy)의 좌표로 식별될 수 있고, 각 주요 교통 흐름은 시작점(rx1, cy1) 및 도착점(rx2, cy2)로 주어질 수 있다. 도로의 방향성을 결정하는데 주요 교통 흐름은 시작점부터 도착점까지 1회 이하의 회전(좌회전 또는 우회전)을 갖는 것으로 정의된다. 각 도로 세그먼트와 관련하여 Hi 혹은 Vj 의 식별자가 표시되어 있으며, 같은 행이나 열에 있어도 연속되지 않은 세그먼트들을 다른 식별자가 부여된다. 도로 세그먼트는 간단히 도로라고 지칭될 수도 있다. 도 2에서 H31의 경우 H41의 식별자가 부여되어도 무방하다. H31과 H32는 같은 행에 속했지만 다른 식별자를 갖는다.Each intersection of roads can be identified by coordinates of (r- x , c y ), and each major traffic flow can be given as a starting point (r x1 , c y1 ) and an end point (r x2 , c y2 ). In determining the direction of the road, the main traffic flow is defined as having one or less turns (left or right turn) from the start point to the destination point. In relation to each road segment, the identifier of H i or V j is displayed, and different identifiers are assigned to segments that are not consecutive even in the same row or column. A road segment may simply be referred to as a road. In the case of H 31 in Fig. 2, the identifier of H 41 may be assigned. H 31 and H 32 belong to the same line but have different identifiers.

도로망 계획 장치는 대상 도로망의 정보에 기초하여 각 도로 세그먼트의 방향성을 결정할 수 있다. 상술된 것처럼, 방향성이 부여되는 도로 세그먼트는 대상 도로망의 도로 세그먼트 전체 중 적어도 일부일 수 있다. 각 도로 세그먼트의 식별자는 부울(Boolean) 변수에 해당할 수 있고, 각 도로 세그먼트의 방향성은 부울 변수의 값(참/거짓, +/-)으로 나타낼 수 있다. 이 경우, 각 도로 세그먼트의 방향성은 2-SAT로 모델링될 수 있다.The road network planning apparatus may determine the direction of each road segment based on the information of the target road network. As described above, the road segment to which directionality is given may be at least a part of the entire road segment of the target road network. The identifier of each road segment may correspond to a Boolean variable, and the direction of each road segment may be expressed as a value of a Boolean variable (true/false, +/-). In this case, the directionality of each road segment can be modeled as 2-SAT.

예를 들어, 대상 도로망이 수평 도로들 및 수직 도로들을 포함하는 격자형 도로망인 경우, 수평 도로의 경우 오른쪽 방향을 정 방향으로 보고(반대도 가능), 오른쪽 방향을 참(+), 왼쪽 방향을 거짓(-)으로 나타낼 수 있다. 수직 도로의 경우 아래쪽 방향을 정 방향으로 보고(반대도 가능), 아래쪽 방향을 참(+), 위쪽 방향을 거짓(-)으로 나타낼 수 있다. 이에 따라, 도로망 계획 장치는 수평 도로들 중 제1 수평 도로에, 제1 수평 방향에 관해 참 값을 가지고, 제1 수평 방향과 반대 방향의 제2 수평 방향에 관해 거짓 값을 가지는 제1 부울 변수에 대응하는 제1 식별자를 할당하고, 수직 도로들 중 제1 수직 도로에, 제1 수직 방향에 관해 참 값을 가지고, 제1 수직 방향과 반대 방향의 제2 수직 방향에 관해 거짓 값을 가지는 제2 부울 변수에 대응하는 제2 식별자를 할당할 수 있다.For example, if the target road network is a grid-type road network including horizontal roads and vertical roads, in the case of horizontal roads, the right direction is viewed as the forward direction (and vice versa), the right direction is true (+), and the left direction is It can be expressed as false (-). In the case of a vertical road, the downward direction can be viewed as a forward direction (and vice versa), the downward direction as true (+), and the upward direction as false (-). Accordingly, the road network planning apparatus is a first boolean variable having a true value for a first horizontal direction among horizontal roads and a false value for a second horizontal direction opposite to the first horizontal direction. A first identifier corresponding to is allocated, and a first vertical road among vertical roads has a true value for a first vertical direction and a false value for a second vertical direction opposite to the first vertical direction. 2 A second identifier corresponding to a boolean variable can be assigned.

도 3 내지 도 6은 일 실시예에 따른 경로 유형들을 나타낸 도면이다. 도 3 내지 도 6에 나타난 것처럼, 시작점과 도착점의 위치에 따라 각 도로의 필요한 방향성이 달라지게 되는데, 이러한 시작점과 도착점의 패턴에 따라 주행 경로의 경로 유형이 결정될 수 있다. 도 3 내지 도 6은 각각 다른 경로 유형에 해당한다.3 to 6 are diagrams illustrating path types according to an embodiment. As shown in FIGS. 3 to 6, the required direction of each road varies depending on the location of the starting point and the arrival point, and the path type of the driving route may be determined according to the pattern of the starting point and the arrival point. 3 to 6 correspond to different path types, respectively.

각 경로 유형 별로 정해진 패턴의 방향성이 부여될 수 있다. 도 3의 경우 a(+), d(+) 또는 b(+), c(+)의 방향성이 요구된다. 도 4의 경우 a(+), d(-) 또는 b(-), c(+)의 방향성이 요구되고, 도 5의 경우 a(-), d(+) 또는 b(+), c(-)의 방향성이 요구되고, 도 6의 경우 a(-), d(-) 또는 b(-), c(-)의 방향성이 요구된다. 이러한 방향성에 따라, 각 경로 유형 별로 미리 정의된 형식을 갖는 논리 식이 매칭될 수 있다. 예를 들어, 도 3의 경로 유형에 ad+bc의 논리 식이 매칭되고, 도 4의 경로 유형에 ad'+b'c의 논리 식이 매칭되고, 도 5의 경로 유형에 a'd+bc'의 논리 식이 매칭되고, 도 6의 경로 유형에 a'd'+b'c'의 논리 식이 매칭될 수 있다.The direction of a predetermined pattern can be given for each path type. In the case of FIG. 3, the direction of a(+), d(+) or b(+), c(+) is required. In the case of FIG. 4, the direction of a(+), d(-) or b(-), c(+) is required, and in the case of FIG. 5, a(-), d(+) or b(+), c( The direction of -) is required, and in the case of FIG. 6, the direction of a(-), d(-) or b(-), c(-) is required. According to this direction, a logical expression having a predefined format for each path type may be matched. For example, a logical expression of ad+bc is matched with the path type of FIG. 3, the logical expression of ad'+b'c is matched with the path type of FIG. 4, and a'd+bc' is matched with the path type of FIG. The logical expression may be matched, and the logical expression a'd'+b'c' may be matched to the path type of FIG. 6.

도로의 방향성이 불린 변수에 의한 논리 식으로 xy+uv 등과 같이 표현된다면, 이는 부울 대수에 따라 (x+u)(x+v)(y+u)(y+v)와 동치가 된다. 이에 따라, 다수의 흐름이 있을 때 도로의 방향성 요구 사항은 연속적인 논리 곱으로 나타낼 수 있고, DNF(Disjunctive Normal Form)에서 각 절(clause)들은 최대 2개의 논리 변수들의 논리 합으로 표현될 수 있다. 이는 2-SAT문제로 귀착될 수 있고, SCC(Strongly Connected Component)로 변환하여 솔루션을 찾아낼 수 있다. SCC는 Kosraju 알고리즘에 기반할 수 있다.If the direction of the road is expressed as xy+uv, etc. in a logical expression by a called variable, it is equivalent to (x+u)(x+v)(y+u)(y+v) according to the Boolean algebra. Accordingly, when there are multiple flows, the road direction requirement can be expressed as a continuous logical product, and each clause in DNF (Disjunctive Normal Form) can be expressed as a logical sum of up to two logical variables. . This can result in a 2-SAT problem, and a solution can be found by converting to a Strongly Connected Component (SCC). SCC can be based on the Kosraju algorithm.

일 실시예에 따르면, 도로망 계획 장치는 각각 다양한 경로 유형들에 관해 미리 정의된 형식을 갖는 복수의 논리 식들, 및 이러한 복수의 논리 식들에 대응하여 미리 규격화된 절(clause)들을 이용하여 각 주행 경로들을 2-SAT의 CNF로 표현할 수 있다. 예를 들어, 도로망 계획 장치는 주행 경로 정보의 주행 경로들 중 제1 주행 경로의 경로 유형을 결정하고, 미리 정의된 형식을 갖는 복수의 논리 식들 중 제1 주행 경로의 경로 유형에 대응하는 제1 형식의 논리 식을 선택하고, 각 논리 식에 대응하여 미리 규격화된 절(clause)들 중 제1 형식의 논리 식에 대응하는 제1 절(clause)을 선택하고, 제1 절(clause)에 상기 제1 주행 경로의 제1 식별자를 대입하여, CNF의 적어도 일부를 표현할 수 있다.According to an embodiment, the road network planning apparatus uses a plurality of logical expressions each having a predefined format for various route types, and clauses standardized in advance corresponding to the plurality of logical expressions. Can be expressed as CNF of 2-SAT. For example, the road network planning apparatus determines the route type of the first driving route among the driving routes of the driving route information, and corresponds to the route type of the first driving route among a plurality of logical expressions having a predefined format. Select a logical expression of the format, select a first clause corresponding to the logical expression of the first type from among the pre-normalized clauses corresponding to each logical expression, and the above in the first clause At least part of the CNF may be expressed by substituting the first identifier of the first driving route.

도 7은 일 실시예에 따른 SCC를 이용하여 CNF의 솔루션을 획득하는 과정을 나타낸 도면이다. SAT는 주어진 수식을 참으로 만드는 각 논리 변수 값들의 집합이 존재하는지를 결정하는데, 이는 가장 먼저 공인받은 NP 문제이다. 2-SAT문제일 때는 다항 시간(polynomial time)에 답을 구할 수 있는데, 논리 합 (x+y)에서 x가 거짓이면 y가 반드시 참이어야 하고, y가 거짓이면 x가 반드시 참이어야 한다는 성질이 이용될 수 있다.7 is a diagram illustrating a process of obtaining a CNF solution using SCC according to an embodiment. The SAT determines whether there is a set of values for each logical variable that makes a given expression true, which is the first recognized NP problem. In the case of a 2-SAT problem, the answer can be obtained in polynomial time. In the logical sum (x+y), if x is false, y must be true, and if y is false, x must be true. Can be used.

도 7에 나타난 것처럼, 모든 논리 변수(x1 내지 x4)에 대해 각각 참, 거짓의 노드를 만들고 (xi+xj) 항에 대해 ~xi→xj 및 ~xj→xi의 링크를 연결한다.

Figure 112019122946413-pat00001
이후 Kosaraju 알고리즘으로 SCC를 구할 수 있다. 만약 논리 변수 xi와 ~xi가 같은 그룹에 속한다면 답이 없는 것이고, xi에서 ~xj까지 경로만 있으면 xi는 거짓이다. 반대로, ~xi에서 xj로의 경로가 있으면 x는 참이다. 경로가 존재하지 않는다면, Don`t care 항이 된다.As shown in Fig. 7, a node of true and false is created for all logical variables (x1 to x4), respectively, and links of ~x i →x j and ~x j →x i are made for the (x i +x j ) term. Connect.
Figure 112019122946413-pat00001
After that, the SCC can be obtained using the Kosaraju algorithm. If the logical variables x i and ~x i belong to the same group, there is no answer, and if there is only a path from x i to ~x j , x i is false. Conversely, if there is a path from ~x i to x j , then x is true. If the path does not exist, it becomes a Don`t care term.

이와 같은 방식으로 도로망에서의 일방 통행 문제를 2-SAT으로 해결하기 위해서는, 각 논리 변수를 정의하고 그 논리 변수로 이루어진 DNF를 정의하여야 한다. 여기서 각 논리 합 항에서는 논리 변수의 수가 2개 이하여야 한다. 도 2에 도시된 것처럼, 각 도로 세그먼트가 하나의 논리 변수로 정의될 수 있다. 어느 한 방향을 정 방향으로 선택하여 정 방향에는 참, 반대 방향에는 거짓이 되도록 부울 변수가 정의될 수 있다. 예를 들어, 수평 도로의 경우 오른쪽 방향이 참, 수직 도로의 경우 아래 방향이 참이 될 수 있다.In this way, in order to solve the one-way traffic problem in the road network with 2-SAT, each logical variable must be defined and the DNF composed of the logical variables must be defined. Here, in each logical sum term, the number of logical variables must be 2 or less. As shown in FIG. 2, each road segment may be defined as one logical variable. A boolean variable can be defined so that any one direction is selected as the forward direction and is true in the forward direction and false in the opposite direction. For example, in the case of a horizontal road, the right direction may be true, and in the case of a vertical road, the downward direction may be true.

각 도로의 세그먼트의 식별자의 인덱스는 일정한 방향으로 순서대로 부여될 수 있는데, 도 2와 같이 좌에서 우로, 상에서 하로 증가하도록(V1 내지 V3 및 H1 내지 H7) 인덱스가 부여될 수 있다. 또한, 각 도로의 교차점은 (rx, cy)로 정의되는데 인덱스의 크기 비교로 두 교차점 간의 상호 위치 관계를 파악할 수 있다. 각 좌표마다 자신이 속한 수직 혹은 수평 세그먼트의 인덱스를 가지고 있으며, 예를 들어 (a, b)의 수평 세그먼트는 A, 수직 세그먼트는 B라고 표현한다.The indexes of the identifiers of the segments of each road may be sequentially assigned in a certain direction, and as shown in FIG. 2, indexes may be assigned to increase from left to right and from top to bottom (V 1 to V 3 and H 1 to H 7 ). . In addition, the intersection of each road is defined as (r x , c y ), and the mutual positional relationship between the two intersections can be grasped by comparing the size of the index. Each coordinate has the index of the vertical or horizontal segment to which it belongs. For example, the horizontal segment of (a, b) is expressed as A, and the vertical segment is expressed as B.

각 교통 흐름 (a, b)→(c, d) 에 대해 A==C 혹은 B==D 라면, 이는 회전없이 시작점에서 도착점까지 직진 경로가 형성됨을 의미한다. (a, b)→(a, d)에서 b < d라면 a가 속한 H행에서 오른쪽으로 가게 되는데, 이 경우 H가 참이 되어야 하기 때문에, 논리 식은 a가 된다. 이는 (A+0)=(A+xx')=(a+x)(a+x')로 표현될 수 있다. 여기서, x는 임의의 논리 변수이다. b>d라면, 같은 원리로 (A'+x)(A'+x')로 표현될 수 있다. 같은 열에 속한 경우, 즉 b==d인 경우도 같은 방식으로 DNF로 표현될 수 있다.If A==C or B==D for each traffic flow (a, b) → (c, d), this means that a straight path from the start point to the destination point is formed without rotation. In (a, b) → (a, d), if b <d, it goes to the right from row H to which a belongs. In this case, since H must be true, the logical expression becomes a. This can be expressed as (A+0)=(A+xx')=(a+x)(a+x'). Here, x is an arbitrary logical variable. If b>d, it can be expressed as (A'+x)(A'+x') in the same principle. If it belongs to the same column, that is, if b==d, it can be expressed as DNF in the same way.

각 교통 흐름 (a, b)→(c, d) 에 대해 a!=c이고 b!=d 인 경우, a→c, b→d로의 링크가 존재한다면, a와 c, b와 d의 위치에 따라 도 3 내지 도 6과 같이 논리 식을 생성할 수 있다. 반면 a→c의 링크가 존재하지 않는다면, 즉 a 행의 도로가 끊어져 있는 경우(예: 도 2에서 (r3, c1)→(r5, c3)에 해당하는 경로), (r3, c1)→(r3, c3)→(r5, c3) 혹은 (r3, c1)→(r5, c1)→(r5, c3)으로 주행해야 한다.For each traffic flow (a, b)→(c, d), if a!=c and b!=d, links to a→c, b→d exist, the positions of a and c, b and d Depending on, it is possible to generate a logical expression as shown in FIGS. 3 to 6. On the other hand, if the link of a→c does not exist, that is, the road in row a is disconnected (e.g., the path corresponding to (r 3 , c 1 ) → (r 5 , c 3 ) in FIG. 2), (r 3 , c 1 )→(r 3 , c 3 )→(r 5 , c 3 ) or (r 3 , c 1 )→(r 5 , c 1 )→(r 5 , c 3 ).

(r3, c1)과 (r3, c3)이 연결이 되어 있지 않다면 첫 번째 경우는 존재할 수 없으므로 두 번째 방법인 (r3, c1)→(r5, c1)→(r5, c3)만 고려될 수 있다. 만약, 두 번째 경로도 끊어져 있다면 이 교통 흐름에 대해 한번 이하로 회전하면서 도착하는 일방통행 계획은 존재하지 않는다. 첫 번째 경로 혹은 두 번째 경로 중 하나에 대해서만 끊어지지 않는 경로가 존재한다면, 논리 식은 AD와 같은 형태가 될 것이고 이는 AD=AD+xx'=(A+x)(A+x')(D+x)(D+x')와 같은 형태로 나타낼 수 있다.If (r 3 , c 1 ) and (r 3 , c 3 ) are not connected, the first case cannot exist, so the second method is (r 3 , c 1 )→(r 5 , c 1 )→(r Only 5 , c 3 ) can be considered. If the second route is also disconnected, there is no one-way plan that arrives with less than one turn for this traffic flow. If there is an unbroken path only for either the first path or the second path, the logical expression will have the same form as AD, which is AD=AD+xx'=(A+x)(A+x')(D+ It can be expressed in the form of x)(D+x').

따라서, 1) 회전없이(수평 방향으로 직진 주행하는 유형, 및 수직 방향으로 직진 주행하는 유형) 도달 가능한 경우, 2) 수평→수직(수평 방향으로 주행 후 수직 방향으로 회전하여 주행하는 유형), 수직→수평(수직 방향으로 주행 후 수평 방향으로 회전하여 주행하는 유형)의 두 경로로 도달이 가능한 경우, 3) 끊어진 길 때문에 위 두 경로 중 하나로만 도달 가능한 경우를 포함하는 모든 경우가 DNF 로 표현할 수 있으며, 도 2와 같은 복잡한 도로망에서도 주요 흐름들이 주어질 때 일방통행 계획을 효율적으로 수립할 수 있다.Therefore, 1) if it can be reached without rotation (a type that runs straight in the horizontal direction and a type that runs straight in a vertical direction), 2) horizontal → vertical (a type that travels by rotating in a vertical direction after driving in the horizontal direction), vertical → In the case that it is possible to reach the two routes horizontally (the type of driving in the vertical direction and then rotating in the horizontal direction), 3) All cases, including the case where only one of the above two routes can be reached due to a broken road, can be expressed in DNF. In addition, even in a complex road network as shown in FIG. 2, when major flows are given, a one-way plan can be efficiently established.

도 8은 일 실시예에 따른 도로망 계획 방법을 나타낸 플로우 차트이다. 도 8을 참조하면, 단계(810)에서 도로망 계획 장치는 대상 도로망에 관한 도로 정보 및 주행 경로 정보를 수신한다. 도로 정보는 대상 도로망에 포함된 도로들의 레이아웃을 포함할 수 있고, 주행 경로 정보는 대상 도로망의 적어도 하나의 주요 교통 흐름을 포함할 수 있다. 단계(820)에서 도로망 계획 장치는 대상 도로망의 도로들에 부울 변수 기반의 식별자를 할당한다. 따라서, 식별자를 통해 정 방향과 반대 방향이 구분될 수 있다.8 is a flow chart showing a road network planning method according to an embodiment. Referring to FIG. 8, in step 810, the road network planning apparatus receives road information and driving route information about a target road network. The road information may include a layout of roads included in the target road network, and the driving route information may include at least one major traffic flow of the target road network. In step 820, the road network planning apparatus allocates an identifier based on a boolean variable to roads of the target road network. Therefore, the forward direction and the opposite direction can be distinguished through the identifier.

단계(830)에서 도로망 계획 장치는 대상 도로망의 주행 경로들을 2-SAT의 CNF로 표현할 수 있다. 주행 경로들은 도 7과 같이 2개의 논리 변수(부울 변수)들의 논리 합으로 표현되는 2-SAT의 절(clause)들의 연속적인 논리 곱으로 표현될 수 있다. 단계(840)에서 도로망 계획 장치는 SCC를 이용하여 CNF의 솔루션을 획득할 수 있다. 단계(850)에서 도로망 계획 장치는 CNF의 솔루션에 기초하여, 도로들의 적어도 일부에 관해 일방 통행을 위한 방향성을 결정할 수 있다. CNF의 솔루션은 각 논리 변수들의 값(참/거짓)을 포함할 수 있고, 이에 따라 각 방향성이 결정될 수 있다.In step 830, the road network planning apparatus may express the driving paths of the target road network as CNF of 2-SAT. The driving paths may be expressed as a continuous logical product of clauses of the 2-SAT expressed as a logical sum of two logical variables (boolean variables) as shown in FIG. 7. In step 840, the road network planning apparatus may obtain a CNF solution using the SCC. In step 850, the road network planning apparatus may determine a direction for one-way traffic with respect to at least some of the roads based on the solution of the CNF. The CNF solution can include the values (true/false) of each logical variable, and each direction can be determined accordingly.

도 9는 일 실시예에 따른 도로망 계획 장치를 나타낸 블록도이다. 도 9을 참조하면, 도로망 계획 장치(900)는 프로세서(910) 및 메모리(920)를 포함한다. 메모리(920)는 프로세서(910)에 연결되고, 프로세서(910)에 의해 실행가능한 명령어들, 프로세서(910)가 연산할 데이터 또는 프로세서(910)에 의해 처리된 데이터를 저장할 수 있다. 메모리(920)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.9 is a block diagram showing an apparatus for planning a road network according to an embodiment. Referring to FIG. 9, the road network planning apparatus 900 includes a processor 910 and a memory 920. The memory 920 is connected to the processor 910 and may store instructions executable by the processor 910, data to be calculated by the processor 910, or data processed by the processor 910. Memory 920 includes non-transitory computer-readable media, such as high-speed random access memory and/or non-volatile computer-readable storage media (e.g., one or more disk storage devices, flash memory devices, or other non-volatile solid state memory devices). Can include.

프로세서(910)는 도 1 내지 도 8을 참조하여 설명된 하나 이상의 동작을 실행하기 위한 명령어들을 실행할 수 있다. 예를 들어, 프로세서(910)는 대상 도로망에 포함된 도로들에 관한 도로 정보, 및 대상 도로망을 주행하는 차량들의 주행 경로에 관한 주행 경로 정보를 수신하고, 정 방향과 반대 방향을 구분하는 부울 변수 기반의 식별자를 도로들 각각에 할당하고, 부울 변수를 이용하여 주행 경로 정보에 포함된 주행 경로들을 2-SAT(satisfiability)의 CNF(Conjunctive Normal Form)로 표현하고, SCC(Strongly Connected Component)를 이용하여 CNF의 솔루션을 획득하고, 획득된 CNF의 솔루션에 기초하여, 도로들 중 적어도 일부에 관해 일방 통행을 위한 방향성을 결정할 수 있다.The processor 910 may execute instructions for executing one or more operations described with reference to FIGS. 1 to 8. For example, the processor 910 receives road information about roads included in the target road network, and driving route information about the driving paths of vehicles traveling on the target road network, and a boolean variable that distinguishes the forward direction and the opposite direction. The base identifier is assigned to each of the roads, and the driving paths included in the driving path information are expressed in a 2-SAT (satisfiability) CNF (Conjunctive Normal Form) using a boolean variable, and a Strongly Connected Component (SCC) is used. Thus, the CNF solution may be obtained, and, based on the obtained CNF solution, the direction for one-way traffic may be determined for at least some of the roads.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an Arithmetic Logic Unit (ALU), a digital signal processor, a microcomputer, a Field Programmable Gate Array (FPGA). , PLU (Programmable Logic Unit), a microprocessor, or any other device capable of executing and responding to instructions, it may be implemented using one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (8)

도로망 계획 장치의 동작 방법에 있어서,
대상 도로망에 포함된 도로들에 관한 도로 정보, 및 상기 대상 도로망을 주행하는 차량들의 주행 경로에 관한 주행 경로 정보를 수신하는 단계;
정 방향과 반대 방향을 구분하는 부울 변수 기반의 식별자를 상기 도로들 각각에 할당하는 단계;
상기 부울 변수를 이용하여 상기 주행 경로 정보에 포함된 주행 경로들을 2-SAT(satisfiability)의 CNF(Conjunctive Normal Form)로 표현하는 단계;
SCC(Strongly Connected Component)를 이용하여 상기 CNF의 솔루션을 획득하는 단계; 및
상기 획득된 상기 CNF의 상기 솔루션에 기초하여, 상기 도로들 중 적어도 일부에 관해 일방 통행을 위한 방향성을 결정하는 단계
를 포함하고,
상기 주행 경로들을 상기 CNF로 표현하는 단계는
상기 주행 경로들 중 제1 주행 경로의 경로 유형을 결정하는 단계;
각각 다양한 경로 유형들에 관해 미리 정의된 형식을 갖는 복수의 논리 식들 중 상기 제1 주행 경로의 경로 유형에 대응하는 제1 형식의 논리 식을 선택하는 단계;
상기 복수의 논리 식들에 대응하여 미리 규격화된 절(clause)들 중 상기 제1 형식의 상기 논리 식에 대응하는 제1 절을 선택하는 단계; 및
상기 제1 절에 상기 제1 주행 경로의 제1 식별자를 대입하여, 상기 CNF의 적어도 일부를 표현하는 단계
를 포함하는, 동작 방법.
In the operation method of the road network planning device,
Receiving road information on roads included in a target road network and driving route information on a driving route of vehicles traveling on the target road network;
Allocating to each of the roads an identifier based on a boolean variable that distinguishes a forward direction and an opposite direction;
Expressing the driving paths included in the driving path information in a Conjunctive Normal Form (CNF) of 2-SAT (satisfiability) by using the Boolean variable;
Obtaining a solution of the CNF using a Strongly Connected Component (SCC); And
Based on the obtained solution of the CNF, determining a direction for one-way traffic with respect to at least some of the roads
Including,
The step of expressing the driving routes in the CNF
Determining a path type of a first driving path among the driving paths;
Selecting a first type of logical expression corresponding to the route type of the first driving route from among a plurality of logical expressions each having a predefined format for various route types;
Selecting a first clause corresponding to the logical expression of the first type from among clauses pre-normalized corresponding to the plurality of logical expressions; And
Substituting the first identifier of the first driving route in the first section to represent at least a part of the CNF
Containing, operating method.
제1항에 있어서,
상기 대상 도로망은 수평 도로들 및 수직 도로들을 포함하는 격자형 도로망이고,
상기 식별자를 할당하는 단계는
상기 수평 도로들 중 제1 수평 도로에, 제1 수평 방향에 관해 참 값을 가지고, 상기 제1 수평 방향과 반대 방향의 제2 수평 방향에 관해 거짓 값을 가지는 제1 부울 변수에 대응하는 제1 식별자를 할당하는 단계; 및
상기 수직 도로들 중 제1 수직 도로에, 제1 수직 방향에 관해 참 값을 가지고, 상기 제1 수직 방향과 반대 방향의 제2 수직 방향에 관해 거짓 값을 가지는 제2 부울 변수에 대응하는 제2 식별자를 할당하는 단계
를 포함하는, 동작 방법.
The method of claim 1,
The target road network is a grid-type road network including horizontal roads and vertical roads,
Allocating the identifier
A first boolean variable corresponding to a first horizontal road among the horizontal roads, which has a true value with respect to a first horizontal direction and a false value with respect to a second horizontal direction opposite to the first horizontal direction Assigning an identifier; And
A second boolean variable corresponding to a first vertical road among the vertical roads, having a true value with respect to a first vertical direction and a false value with respect to a second vertical direction opposite to the first vertical direction Steps to assign an identifier
Containing, operating method.
삭제delete 제1항에 있어서,
상기 다양한 경로 유형들은
수평 방향으로 직진 주행하는 제1 유형, 수직 방향으로 직진 주행하는 제2 유형, 수평 방향으로 주행 후 수직 방향으로 회전하여 주행하는 제3 유형, 및 수직 방향으로 주행 후 수평 방향으로 회전하여 주행하는 제4 유형을 포함하는,
동작 방법.
The method of claim 1,
The various route types are
The first type running straight in the horizontal direction, the second type running straight in the vertical direction, the third type running in the horizontal direction and then rotating in the vertical direction, and the third type running in the vertical direction and then rotating in the horizontal direction. Containing 4 types,
How it works.
제1항, 제2항 및 제4항 중 어느 한 항의 방법을 수행하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.A computer-readable storage medium storing one or more programs including instructions for performing the method of any one of claims 1, 2 and 4. 프로세서; 및
상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리
를 포함하고,
상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는
대상 도로망에 포함된 도로들에 관한 도로 정보, 및 상기 대상 도로망을 주행하는 차량들의 주행 경로에 관한 주행 경로 정보를 수신하고,
정 방향과 반대 방향을 구분하는 부울 변수 기반의 식별자를 상기 도로들 각각에 할당하고,
상기 부울 변수를 이용하여 상기 주행 경로 정보에 포함된 주행 경로들을 2-SAT(satisfiability)의 CNF(Conjunctive Normal Form)로 표현하고,
SCC(Strongly Connected Component)를 이용하여 상기 CNF의 솔루션을 획득하고,
상기 획득된 상기 CNF의 상기 솔루션에 기초하여, 상기 도로들 중 적어도 일부에 관해 일방 통행을 위한 방향성을 결정하고,
상기 주행 경로들을 상기 CNF로 표현함에 있어서,
상기 프로세서는
상기 주행 경로들 중 제1 주행 경로의 경로 유형을 결정하고,
각각 다양한 경로 유형들에 관해 미리 정의된 형식을 갖는 복수의 논리 식들 중 상기 제1 주행 경로의 경로 유형에 대응하는 제1 형식의 논리 식을 선택하고,
상기 복수의 논리 식들에 대응하여 미리 규격화된 절(clause)들 중 상기 제1 형식의 상기 논리 식에 대응하는 제1 절을 선택하고,
상기 제1 절에 상기 제1 주행 경로의 제1 식별자를 대입하여, 상기 CNF의 적어도 일부를 표현하는,
도로망 계획 장치.
Processor; And
A memory containing instructions executable in the processor
Including,
When the instructions are executed in the processor, the processor
Receiving road information on roads included in the target road network and driving route information on driving routes of vehicles traveling on the target road network,
Allocating an identifier based on a boolean variable that distinguishes the forward direction and the opposite direction to each of the roads,
Expressing the driving paths included in the driving path information in 2-SAT (satisfiability) CNF (Conjunctive Normal Form) using the Boolean variable,
Acquire the solution of the CNF using Strongly Connected Component (SCC),
Based on the solution of the obtained CNF, determine a direction for one-way traffic with respect to at least some of the roads,
In expressing the travel paths in the CNF,
The processor is
Determining a path type of a first driving path among the driving paths,
Selecting a first type of logical expression corresponding to the route type of the first driving route from among a plurality of logical expressions each having a predefined format for various route types,
Selecting a first clause corresponding to the logical expression of the first type from among clauses standardized in advance corresponding to the plurality of logical expressions,
Substituting the first identifier of the first travel route in the first section to represent at least a portion of the CNF,
Road network planning device.
제6항에 있어서,
상기 대상 도로망은 수평 도로들 및 수직 도로들을 포함하는 격자형 도로망이고,
상기 프로세서는
상기 수평 도로들 중 제1 수평 도로에, 제1 수평 방향에 관해 참 값을 가지고, 상기 제1 수평 방향과 반대 방향의 제2 수평 방향에 관해 거짓 값을 가지는 제1 부울 변수에 대응하는 제1 식별자를 할당하고,
상기 수직 도로들 중 제1 수직 도로에, 제1 수직 방향에 관해 참 값을 가지고, 상기 제1 수직 방향과 반대 방향의 제2 수직 방향에 관해 거짓 값을 가지는 제2 부울 변수에 대응하는 제2 식별자를 할당하는,
도로망 계획 장치.
The method of claim 6,
The target road network is a grid-type road network including horizontal roads and vertical roads,
The processor is
A first boolean variable corresponding to a first horizontal road among the horizontal roads, which has a true value with respect to a first horizontal direction and a false value with respect to a second horizontal direction opposite to the first horizontal direction Assign an identifier,
A second boolean variable corresponding to a first vertical road among the vertical roads, having a true value with respect to a first vertical direction and a false value with respect to a second vertical direction opposite to the first vertical direction Assigning an identifier,
Road network planning device.
삭제delete
KR1020190155522A 2019-11-28 2019-11-28 Method of deciding one-way roads based on 2-SAT in smart cities KR102185690B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190155522A KR102185690B1 (en) 2019-11-28 2019-11-28 Method of deciding one-way roads based on 2-SAT in smart cities

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190155522A KR102185690B1 (en) 2019-11-28 2019-11-28 Method of deciding one-way roads based on 2-SAT in smart cities

Publications (1)

Publication Number Publication Date
KR102185690B1 true KR102185690B1 (en) 2020-12-02

Family

ID=73792147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190155522A KR102185690B1 (en) 2019-11-28 2019-11-28 Method of deciding one-way roads based on 2-SAT in smart cities

Country Status (1)

Country Link
KR (1) KR102185690B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115259A (en) * 2021-11-18 2022-03-01 青晨(广州)电子商务科技有限公司 AGV real-time path gauge and collision avoidance method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040040905A (en) * 2002-11-08 2004-05-13 엘지전자 주식회사 Method for guiding route of crossroads in navigation system
KR20070099754A (en) * 2006-04-05 2007-10-10 팅크웨어(주) Method for navigating path of 2-pass formed and system for executing the method
KR20120092042A (en) * 2011-02-09 2012-08-20 하만 베커 오토모티브 시스템즈 게엠베하 Vehicle navigation device and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040040905A (en) * 2002-11-08 2004-05-13 엘지전자 주식회사 Method for guiding route of crossroads in navigation system
KR20070099754A (en) * 2006-04-05 2007-10-10 팅크웨어(주) Method for navigating path of 2-pass formed and system for executing the method
KR20120092042A (en) * 2011-02-09 2012-08-20 하만 베커 오토모티브 시스템즈 게엠베하 Vehicle navigation device and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:JOHN F. KOLEN* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115259A (en) * 2021-11-18 2022-03-01 青晨(广州)电子商务科技有限公司 AGV real-time path gauge and collision avoidance method and system
CN114115259B (en) * 2021-11-18 2024-04-16 青晨(广州)电子商务科技有限公司 AGV real-time path gauge and anti-collision method and system

Similar Documents

Publication Publication Date Title
CN106251706B (en) Flight routing system and method for determining alternative routes for an aircraft
US9068852B2 (en) Vehicle fleet routing system
US8897998B2 (en) Solving traffic congestion using vehicle grouping
US11466996B2 (en) Pathfinding through a road network with turn complexities
US9400767B2 (en) Subgraph-based distributed graph processing
KR102325047B1 (en) Grahp data processing methdo and apparatus thereof
CN104769573A (en) Dynamically allocating network addresses
CN105704195B (en) method and equipment for determining road network partition boundary line
KR20220034748A (en) Vehicle track planning method, device, computer device and computer-readable storage medium
CN112033420A (en) Lane map construction method and device
KR102185690B1 (en) Method of deciding one-way roads based on 2-SAT in smart cities
CN110262472A (en) Paths planning method, device and computer readable storage medium
CN114756483A (en) Subgraph segmentation optimization method based on inter-core storage access and application
CN109696909A (en) Legged type robot paths planning method and device
CN110048947A (en) The adaptive routing method and electronic equipment of data packet in two-dimentional Mesh network
CN107392387A (en) A kind of dispatching method of AGV optimal control times
CN110375735B (en) Path planning method and device
JP2022013830A (en) Road network data generation method, device and computer program for autonomous vehicle
CN113788028B (en) Vehicle control method, device and computer program product
CN112699202B (en) Forbidden road identification method and device, electronic equipment and storage medium
US10042970B2 (en) Sharing global route topologies in detailed routing
CN113688192B (en) Intersection model establishing method, device, equipment and medium
KR20220095452A (en) Computer system of providing service consumption plan for efficient service migration in mobile edge computing environments, and method thereof
CN113624245A (en) Navigation method and device, computer storage medium and electronic equipment
Kala et al. Dynamic distributed lanes: motion planning for multiple autonomous vehicles

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant