(1) ์ฃผ์ ๋ฐ ๋ชฉํ
- ์ค๋๋ ์ฌํ ๋๋ถ๋ถ์ ์ ํธ๋ฑ์ ์ ํธ์ ์์์ ์ฃผ๊ธฐ๊ฐ ์ ํด์ง ๊ณ ์ ํ ์ ํธ์ฒด๊ณ๋ฅผ ์ฑํํ๊ณ ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๊ธ๋ณํ๋ ๊ตํต ๋ณํ์ ํ๋ฆ์ ์ ๋์ ์ผ๋ก ๋์ํ์ง ๋ชปํ๋ค๋ ๋จ์ ์ด ์๊ธฐ์ ์ด๋ฌํ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ํ ์ ํธ ์ฒด๊ณ๊ฐ ์ฐ๊ตฌ๋๊ณ ์๋ค. ๋ณธ ํ๋ก์ ํธ์์๋ ์ด๋ฅผ ๋์ฑ ๊ฐ์ ํ๊ณ ์ ํ์ค ์กฐ๊ฑด์ ๋ฐ์ํ๊ณ ์ฌ๋ฌ ๊ธฐ๋ฒ์ ๋น๊ตํ๋ฉฐ ์ต์ ์ ์ ํธ ์ฒด๊ณ๋ฅผ ๊ณ ์ํ์๋ค.
(2) ํ๊ฐ์งํ
- ๊ต์ฐจ๋ก ๋ด ์ฐจ๋ ๋๊ธฐ์๊ฐ
- ๊ต์ฐจ๋ก ๋ด ์ฐจ๋ ๋๊ธฐ์ด
(3) ๊ฐ๋ฐ ํ๊ฒฝ
- GPU : GTX 1070Ti
- SUMO : ๊ตํต์ ํธ์ ์ด library
- state : waiting time, queue length
- action : traffic light selection
- reward : reduced waiting time, queue length difference after action
1 | 2 | 3 | 4 |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- ํ ์ํผ์๋๋น 1000๋์ ์ฐจ๋ ์์ฑ
- ๊ฐ ๊ต์ฐจ๋ก์ ์ง์ ์ฐจ๋์์ 1์ฐจ์ ์ ์ขํ์ , 2,3์ฐจ์ ์ ์ง์ง, 4์ฐจ์ ์ ์ง์ง ๋๋ ์ฐํ์ ์ผ๋ก ๊ตฌ์ฑ
- ์ค์ ๊ตํต๋์ด ๋์ด๋๋ ์๊ฐ๋๋ฅผ ๊ตฌํํ๊ธฐ ์ํ์ฌ, ๋ก๊ทธ์ ๊ท๋ถํฌ๋ฅผ ํตํด ์ง์ ์ฐจ๋๋ณ๋ก ์ฐจ๋์ด ๋ง์ด ์์ฑ๋๋ ์๊ฐ๋ ์ค์
- ์ฐจ๋์ ํฌ๊ธฐ๋ 5m(default) ์๋ค ์ฐจ ๊ฐ๊ฒฉ์ 2.5m
- ๊ฐ ์ง์ ์ฐจ์ ์ 100๊ฐ์ cell๋ก ๊ตฌ์ญํํ์ฌ 1์ด๊ฐ๊ฒฉ์ผ๋ก cell์ ์กด์ฌํ๋ ์ฐจ๋์ ๋ํ ์ ๋ณด ์ทจ๋
- 4์ฐจ์ ์ง์ ์ฐจ๋ 4๊ฐ์ ๊ฐ 100๊ฐ์ cell๋ก ์ด๋ฃจ์ด์ ธ ์์ด์, ์ด 1600๊ฐ์ cell์ 1์ด๋ง๋ค ๊ฐฑ์ ํ์ฌ, ์ฐจ๋์ ์์น, ๋๊ธฐ์๊ฐ, ์๋๋ฅผ ์ธก์
์ฐจ๋ ์กด์ฌ์ฌ๋ถ(queue_length) | ์ฐจ๋ ์๋ | ์ฐจ๋ ๋๊ธฐ์๊ฐ |
---|---|---|
![]() |
![]() |
![]() |
- 1 episode๋น 3600 steps์ผ๋ก ๊ตฌ์ฑ (์ํผ์๋๋น 3600์ด)
- Green Light ์ข ๋ฃํ 3step ๋์ ๋์ผํ ๋ฐฉํฅ์ Yellow Light ์ ํธ ์คํ (ex. N/S Green Light ์ดํ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ์ ํธ๊ฐ ๋ฐ๋๋ฉด ์ ํธ๊ฐ ๋ฐ๋๊ธฐ ์ N/S Yellow Light ์ ํธ ๋ฐ์)
- ์ง์ง ๋ฐ ์ฐํ์ (2~4์ฐจ์ ) 8 steps, ์ขํ์ (1์ฐจ์ ) 4 steps๋ก ์ ํธ ๊ธธ์ด ๊ณ ์
- Green Light ์คํ ์ดํ ์์ 4๊ฐ์ง ๋ฐฉํฅ ์ค ํ 1 ํ์ฌ ์คํ
-
ํน์ ๋ฐฉํฅ์ ์ ํธ๋ง ๊ณ์ํด์ ํํ์ง ์๋๋ก ๋๊ธฐ์๊ฐ, ๋๊ธฐ์ด์ ๊ณต์ ์ฑ ์ง์๋ฅผ ์ ์ฉ (Jain's Fairness)
$$ R = -\left( w_1 \frac{W}{W_{\text{avg}}} + w_2 \frac{Q}{Q_{\text{avg}}} \right) + w_3 \left( \frac{w_1}{w_1 + w_2} F_w + \frac{w_2}{w_1 + w_2} F_q \right) $$ -
์ ์ฒด ์ฐจ์ ์ ๋๊ธฐ์๊ฐ ์ดํฉ, ๋๊ธฐ์ด ์ดํฉ์ ์ค์ผ ์ ์๊ฒ ์์ ๋ณด์๊ฐ์ผ๋ก ์ค์
-
๋๊ธฐ์๊ฐ
- ๊ฐ ์ง์ ์ฐจ๋์ 4๊ฐ์ lane์ ๋ชจ๋ ์ฐจ๋ ๋๊ธฐ์๊ฐ์ ์ดํฉ
- ์ฐจ์ ๋ด ์กด์ฌํ๋ ์ฐจ๋์ ์ฒด๋ฅ ๊ธฐ๊ฐ(step)์ ์ง์ ์์ -๋น ์ ธ๋๊ฐ ์์ ์ผ๋ก ๊ณ์ฐ
- ์ํผ์๋ ์ข ๋ฃ์ ์๋ฅ ์ฐจ๋์ 3600-์ง์ step์ผ๋ก ๊ณ์ฐ
-
๋๊ธฐ์ด
- ๊ฐ ์ฐจ์ ์์ ์ฐจ๋์ด ์กด์ฌํ๊ณ ์๋๋ 0.1๋ณด๋ค ์์ ๊ฒฝ์ฐ, ๋๊ธฐ์ค์ธ ์ฐจ๋์ผ๋ก ํ๋จํด ๋๊ธฐ์ด๋ก count
- ์ฐจ์ ์ ์ฐจ๋์ด ์กด์ฌํ์ง๋ง, ์๋๊ฐ 0.1๋ณด๋ค ๋น ๋ฅด๋ฉด not count
- ๊ฐ ์ฐจ์ ์ ๋์ผํ ์กฐ๊ฑด ์ ์ฉํด์ ๋ชจ๋ ๋๊ธฐ์ด์ sum
- ์ด์ action์ด ๋๋ ํ state๋ฅผ ๋ฐ์ํด์, DQN model input์ผ๋ก ๋ฃ์
- ์ธ state tensor๋ฅผ concat ์ฐ์ฐํ์ฌ ์ ๋ ฅ
- | prev_state+current_state | only current_state |
---|---|---|
wait time | 28.81 | 31.23 |
queue length | 0.294 | 0.396 |
reward | -0.042 | -0.137 |
์ด์ state๋ฅผ ๋ฐ์ํ ๊ฒฐ๊ณผ๊ฐ ๋ ์ข๊ฒ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- | fairness O | fairness X |
---|---|---|
wait time E | 2.24 | 4.87 |
wait time W | 4.13 | 10.32 |
wait time S | 3.74 | 5.71 |
wait time N | 3.31 | 3.49 |
fairness๋ฅผ ๋ฐ์ํ ๊ฒฐ๊ณผ ๊ฐ ์ง์ ์ฐจ์ ์์์ ๋๊ธฐ์๊ฐ์ด ๋ณด๋ค ๋ ๊ท ๋ฑํ๊ฒ ๋น ์ง๋ ๊ฒ์ ์ ์ ์๋ค.