|
|
@ -472,22 +472,22 @@ |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 28, |
|
|
|
"execution_count": 30, |
|
|
|
"metadata": {}, |
|
|
|
"outputs": [ |
|
|
|
{ |
|
|
|
"name": "stdout", |
|
|
|
"output_type": "stream", |
|
|
|
"text": [ |
|
|
|
"i8 grrrrrrrgrrrgrrr\n", |
|
|
|
"i6 grrrgrrrrgrrgrrr\n", |
|
|
|
"i1 grrrrrrgrr\n", |
|
|
|
"c30 rrrrrr\n", |
|
|
|
"i0 grrrgrrrgrrrrrgrr\n", |
|
|
|
"i7 rrrggrr\n", |
|
|
|
"i1 grrrrrrgrr\n", |
|
|
|
"i2 rrggrrr\n", |
|
|
|
"i3 grrrrgrrrrgrrrrgrrrr\n", |
|
|
|
"i6 grrrgrrrrgrrgrrr\n", |
|
|
|
"i7 rrrggrr\n", |
|
|
|
"i8 grrrrrrrgrrrgrrr\n", |
|
|
|
"i9 rrrr\n", |
|
|
|
"i2 rrggrrr\n", |
|
|
|
"c30 rrrrrr\n", |
|
|
|
"u00 GGGGrGGGG\n", |
|
|
|
"u20 GGrGGG\n", |
|
|
|
"u30 GGGGrGGG\n", |
|
|
@ -501,7 +501,7 @@ |
|
|
|
"self.nodes = [self.net.getNode(node_id) for node_id in self.node_ids]\n", |
|
|
|
"self.node2init = {}\n", |
|
|
|
"# 유턴노드를 제외한 모든 노드 (우회전, 삼지교차로직진 : g, 그외 : r)\n", |
|
|
|
"for node_id in set(self.node_ids) - set(self.u_turn_ids):\n", |
|
|
|
"for node_id in sorted(set(self.node_ids) - set(self.u_turn_ids)):\n", |
|
|
|
" node = self.net.getNode(node_id)\n", |
|
|
|
" conns = [(c.getJunctionIndex(), c) for c in node.getConnections()]\n", |
|
|
|
" conns = [c for c in conns if c[0] >= 0]\n", |
|
|
@ -552,938 +552,6 @@ |
|
|
|
" print(node_id, ''.join(self.node2init[node_id]))" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 5, |
|
|
|
"metadata": {}, |
|
|
|
"outputs": [ |
|
|
|
{ |
|
|
|
"name": "stdout", |
|
|
|
"output_type": "stream", |
|
|
|
"text": [ |
|
|
|
"2-2. 비보호우회전(g)을 배정했습니다.\n", |
|
|
|
"c30 rrrrrr\n", |
|
|
|
"i0 grrrgrrrgrrrrrgrr\n", |
|
|
|
"i1 grrrrrrgrr\n", |
|
|
|
"i2 rrggrrr\n", |
|
|
|
"i3 grrrrgrrrrgrrrrgrrrr\n", |
|
|
|
"i6 grrrgrrrrgrrgrrr\n", |
|
|
|
"i7 rrrggrr\n", |
|
|
|
"i8 grrrrrrrgrrrgrrr\n", |
|
|
|
"i9 rrrr\n", |
|
|
|
"u00 ggggrgggg\n", |
|
|
|
"u20 ggrggg\n", |
|
|
|
"u30 ggggrggg\n", |
|
|
|
"u31 ggggrggg\n", |
|
|
|
"u32 gggggggr\n", |
|
|
|
"u60 ggggggggr\n" |
|
|
|
] |
|
|
|
} |
|
|
|
], |
|
|
|
"source": [ |
|
|
|
"self.initialize_state() # 2-2 신호 초기화\n", |
|
|
|
"for node_id in self.node_ids:\n", |
|
|
|
" print(node_id, ''.join(self.node2init[node_id]))" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 5, |
|
|
|
"metadata": {}, |
|
|
|
"outputs": [ |
|
|
|
{ |
|
|
|
"name": "stdout", |
|
|
|
"output_type": "stream", |
|
|
|
"text": [ |
|
|
|
"2-2. 비보호우회전(g)을 배정했습니다.\n", |
|
|
|
"2-3. 직진 및 좌회전(G)을 배정했습니다.\n" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"data": { |
|
|
|
"text/html": [ |
|
|
|
"<div>\n", |
|
|
|
"<style scoped>\n", |
|
|
|
" .dataframe tbody tr th:only-of-type {\n", |
|
|
|
" vertical-align: middle;\n", |
|
|
|
" }\n", |
|
|
|
"\n", |
|
|
|
" .dataframe tbody tr th {\n", |
|
|
|
" vertical-align: top;\n", |
|
|
|
" }\n", |
|
|
|
"\n", |
|
|
|
" .dataframe thead th {\n", |
|
|
|
" text-align: right;\n", |
|
|
|
" }\n", |
|
|
|
"</style>\n", |
|
|
|
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
|
" <thead>\n", |
|
|
|
" <tr style=\"text-align: right;\">\n", |
|
|
|
" <th></th>\n", |
|
|
|
" <th>inter_no</th>\n", |
|
|
|
" <th>node_id</th>\n", |
|
|
|
" <th>phase_no</th>\n", |
|
|
|
" <th>ring_type</th>\n", |
|
|
|
" <th>move_no</th>\n", |
|
|
|
" <th>inc_edge_id</th>\n", |
|
|
|
" <th>out_edge_id</th>\n", |
|
|
|
" <th>state</th>\n", |
|
|
|
" </tr>\n", |
|
|
|
" </thead>\n", |
|
|
|
" <tbody>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>8</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>8</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>9</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>10</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>7</td>\n", |
|
|
|
" <td>571500487_02</td>\n", |
|
|
|
" <td>571500487_01.32</td>\n", |
|
|
|
" <td>ggggGgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>11</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>12</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>6</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>13</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>14</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>5</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>15</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>u00</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrgggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>26</th>\n", |
|
|
|
" <td>177</td>\n", |
|
|
|
" <td>u20</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>8</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>27</th>\n", |
|
|
|
" <td>177</td>\n", |
|
|
|
" <td>u20</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>28</th>\n", |
|
|
|
" <td>177</td>\n", |
|
|
|
" <td>u20</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>17</td>\n", |
|
|
|
" <td>571542810_01.51</td>\n", |
|
|
|
" <td>571542810_02</td>\n", |
|
|
|
" <td>ggGggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>29</th>\n", |
|
|
|
" <td>177</td>\n", |
|
|
|
" <td>u20</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>18</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>46</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>8</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>47</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>48</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>7</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>49</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>50</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>5</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>51</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>52</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>6</td>\n", |
|
|
|
" <td>571556452_01</td>\n", |
|
|
|
" <td>571556452_02</td>\n", |
|
|
|
" <td>ggggGggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>53</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u30</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>54</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>8</td>\n", |
|
|
|
" <td>571500475_02</td>\n", |
|
|
|
" <td>571500475_01.26</td>\n", |
|
|
|
" <td>ggggGggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>55</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>56</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>7</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>57</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>58</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>5</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>59</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>60</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>6</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>61</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u31</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggrggg</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>62</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>8</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>63</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>571540303_02</td>\n", |
|
|
|
" <td>-571540303_02</td>\n", |
|
|
|
" <td>gggggggG</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>64</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>7</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>65</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>66</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>5</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>67</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>68</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>6</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>69</th>\n", |
|
|
|
" <td>178</td>\n", |
|
|
|
" <td>u32</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>gggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>100</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>6</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>101</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>18</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>102</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>5</td>\n", |
|
|
|
" <td>571500535_02</td>\n", |
|
|
|
" <td>-571500535_02</td>\n", |
|
|
|
" <td>ggggggggG</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>103</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>104</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>7</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>105</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>106</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>A</td>\n", |
|
|
|
" <td>8</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>107</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>u60</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>B</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>NaN</td>\n", |
|
|
|
" <td>ggggggggr</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" </tbody>\n", |
|
|
|
"</table>\n", |
|
|
|
"</div>" |
|
|
|
], |
|
|
|
"text/plain": [ |
|
|
|
" inter_no node_id phase_no ring_type move_no inc_edge_id \\\n", |
|
|
|
"8 175 u00 1 A 8 NaN \n", |
|
|
|
"9 175 u00 1 B 4 NaN \n", |
|
|
|
"10 175 u00 2 A 7 571500487_02 \n", |
|
|
|
"11 175 u00 2 B 3 NaN \n", |
|
|
|
"12 175 u00 3 A 6 NaN \n", |
|
|
|
"13 175 u00 3 B 1 NaN \n", |
|
|
|
"14 175 u00 4 A 5 NaN \n", |
|
|
|
"15 175 u00 4 B 2 NaN \n", |
|
|
|
"26 177 u20 1 A 8 NaN \n", |
|
|
|
"27 177 u20 1 B 4 NaN \n", |
|
|
|
"28 177 u20 2 A 17 571542810_01.51 \n", |
|
|
|
"29 177 u20 2 B 18 NaN \n", |
|
|
|
"46 178 u30 1 A 8 NaN \n", |
|
|
|
"47 178 u30 1 B 4 NaN \n", |
|
|
|
"48 178 u30 2 A 7 NaN \n", |
|
|
|
"49 178 u30 2 B 3 NaN \n", |
|
|
|
"50 178 u30 3 A 5 NaN \n", |
|
|
|
"51 178 u30 3 B 2 NaN \n", |
|
|
|
"52 178 u30 4 A 6 571556452_01 \n", |
|
|
|
"53 178 u30 4 B 1 NaN \n", |
|
|
|
"54 178 u31 1 A 8 571500475_02 \n", |
|
|
|
"55 178 u31 1 B 4 NaN \n", |
|
|
|
"56 178 u31 2 A 7 NaN \n", |
|
|
|
"57 178 u31 2 B 3 NaN \n", |
|
|
|
"58 178 u31 3 A 5 NaN \n", |
|
|
|
"59 178 u31 3 B 2 NaN \n", |
|
|
|
"60 178 u31 4 A 6 NaN \n", |
|
|
|
"61 178 u31 4 B 1 NaN \n", |
|
|
|
"62 178 u32 1 A 8 NaN \n", |
|
|
|
"63 178 u32 1 B 4 571540303_02 \n", |
|
|
|
"64 178 u32 2 A 7 NaN \n", |
|
|
|
"65 178 u32 2 B 3 NaN \n", |
|
|
|
"66 178 u32 3 A 5 NaN \n", |
|
|
|
"67 178 u32 3 B 2 NaN \n", |
|
|
|
"68 178 u32 4 A 6 NaN \n", |
|
|
|
"69 178 u32 4 B 1 NaN \n", |
|
|
|
"100 210 u60 1 A 6 NaN \n", |
|
|
|
"101 210 u60 1 B 18 NaN \n", |
|
|
|
"102 210 u60 2 A 5 571500535_02 \n", |
|
|
|
"103 210 u60 2 B 2 NaN \n", |
|
|
|
"104 210 u60 3 A 7 NaN \n", |
|
|
|
"105 210 u60 3 B 4 NaN \n", |
|
|
|
"106 210 u60 4 A 8 NaN \n", |
|
|
|
"107 210 u60 4 B 3 NaN \n", |
|
|
|
"\n", |
|
|
|
" out_edge_id state \n", |
|
|
|
"8 NaN ggggrgggg \n", |
|
|
|
"9 NaN ggggrgggg \n", |
|
|
|
"10 571500487_01.32 ggggGgggg \n", |
|
|
|
"11 NaN ggggrgggg \n", |
|
|
|
"12 NaN ggggrgggg \n", |
|
|
|
"13 NaN ggggrgggg \n", |
|
|
|
"14 NaN ggggrgggg \n", |
|
|
|
"15 NaN ggggrgggg \n", |
|
|
|
"26 NaN ggrggg \n", |
|
|
|
"27 NaN ggrggg \n", |
|
|
|
"28 571542810_02 ggGggg \n", |
|
|
|
"29 NaN ggrggg \n", |
|
|
|
"46 NaN ggggrggg \n", |
|
|
|
"47 NaN ggggrggg \n", |
|
|
|
"48 NaN ggggrggg \n", |
|
|
|
"49 NaN ggggrggg \n", |
|
|
|
"50 NaN ggggrggg \n", |
|
|
|
"51 NaN ggggrggg \n", |
|
|
|
"52 571556452_02 ggggGggg \n", |
|
|
|
"53 NaN ggggrggg \n", |
|
|
|
"54 571500475_01.26 ggggGggg \n", |
|
|
|
"55 NaN ggggrggg \n", |
|
|
|
"56 NaN ggggrggg \n", |
|
|
|
"57 NaN ggggrggg \n", |
|
|
|
"58 NaN ggggrggg \n", |
|
|
|
"59 NaN ggggrggg \n", |
|
|
|
"60 NaN ggggrggg \n", |
|
|
|
"61 NaN ggggrggg \n", |
|
|
|
"62 NaN gggggggr \n", |
|
|
|
"63 -571540303_02 gggggggG \n", |
|
|
|
"64 NaN gggggggr \n", |
|
|
|
"65 NaN gggggggr \n", |
|
|
|
"66 NaN gggggggr \n", |
|
|
|
"67 NaN gggggggr \n", |
|
|
|
"68 NaN gggggggr \n", |
|
|
|
"69 NaN gggggggr \n", |
|
|
|
"100 NaN ggggggggr \n", |
|
|
|
"101 NaN ggggggggr \n", |
|
|
|
"102 -571500535_02 ggggggggG \n", |
|
|
|
"103 NaN ggggggggr \n", |
|
|
|
"104 NaN ggggggggr \n", |
|
|
|
"105 NaN ggggggggr \n", |
|
|
|
"106 NaN ggggggggr \n", |
|
|
|
"107 NaN ggggggggr " |
|
|
|
] |
|
|
|
}, |
|
|
|
"execution_count": 5, |
|
|
|
"metadata": {}, |
|
|
|
"output_type": "execute_result" |
|
|
|
} |
|
|
|
], |
|
|
|
"source": [ |
|
|
|
"self.initialize_state() # 2-2 신호 초기화\n", |
|
|
|
"self.assign_signals() # 2-3 신호 배정\n", |
|
|
|
"self.match6[self.match6.node_id.isin(self.u_turn_ids)]" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 6, |
|
|
|
"metadata": {}, |
|
|
|
"outputs": [ |
|
|
|
{ |
|
|
|
"name": "stdout", |
|
|
|
"output_type": "stream", |
|
|
|
"text": [ |
|
|
|
"['c30', 'i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9', 'u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n", |
|
|
|
"['i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9']\n", |
|
|
|
"['c30', 'u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n", |
|
|
|
"15\n", |
|
|
|
"8\n", |
|
|
|
"7\n", |
|
|
|
"\n", |
|
|
|
"['u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n", |
|
|
|
"['c30']\n" |
|
|
|
] |
|
|
|
} |
|
|
|
], |
|
|
|
"source": [ |
|
|
|
"print(self.node_ids)\n", |
|
|
|
"print(self.parent_ids)\n", |
|
|
|
"print(self.child_ids)\n", |
|
|
|
"print(len(self.node_ids))\n", |
|
|
|
"print(len(self.parent_ids))\n", |
|
|
|
"print(len(self.child_ids))\n", |
|
|
|
"print()\n", |
|
|
|
"print(self.u_turn_ids)\n", |
|
|
|
"print(self.coord_ids)\n" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 7, |
|
|
|
"metadata": {}, |
|
|
|
"outputs": [ |
|
|
|
{ |
|
|
|
"name": "stdout", |
|
|
|
"output_type": "stream", |
|
|
|
"text": [ |
|
|
|
"c30 rrrrrr\n", |
|
|
|
"u00 ggggrgggg\n", |
|
|
|
"u20 ggrggg\n", |
|
|
|
"u30 ggggrggg\n", |
|
|
|
"u31 ggggrggg\n", |
|
|
|
"u32 gggggggr\n", |
|
|
|
"u60 ggggggggr\n" |
|
|
|
] |
|
|
|
} |
|
|
|
], |
|
|
|
"source": [ |
|
|
|
"for node_id in self.child_ids:\n", |
|
|
|
" state = ''.join(self.node2init[node_id])\n", |
|
|
|
" print(node_id, state)" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 8, |
|
|
|
"metadata": {}, |
|
|
|
"outputs": [ |
|
|
|
{ |
|
|
|
"data": { |
|
|
|
"text/html": [ |
|
|
|
"<div>\n", |
|
|
|
"<style scoped>\n", |
|
|
|
" .dataframe tbody tr th:only-of-type {\n", |
|
|
|
" vertical-align: middle;\n", |
|
|
|
" }\n", |
|
|
|
"\n", |
|
|
|
" .dataframe tbody tr th {\n", |
|
|
|
" vertical-align: top;\n", |
|
|
|
" }\n", |
|
|
|
"\n", |
|
|
|
" .dataframe thead th {\n", |
|
|
|
" text-align: right;\n", |
|
|
|
" }\n", |
|
|
|
"</style>\n", |
|
|
|
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
|
" <thead>\n", |
|
|
|
" <tr style=\"text-align: right;\">\n", |
|
|
|
" <th></th>\n", |
|
|
|
" <th>inter_no</th>\n", |
|
|
|
" <th>node_id</th>\n", |
|
|
|
" <th>move_no</th>\n", |
|
|
|
" <th>inc_dire</th>\n", |
|
|
|
" <th>out_dire</th>\n", |
|
|
|
" <th>inc_edge_id</th>\n", |
|
|
|
" <th>out_edge_id</th>\n", |
|
|
|
" <th>turn_type</th>\n", |
|
|
|
" </tr>\n", |
|
|
|
" </thead>\n", |
|
|
|
" <tbody>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>0</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>i0</td>\n", |
|
|
|
" <td>1</td>\n", |
|
|
|
" <td>동</td>\n", |
|
|
|
" <td>남</td>\n", |
|
|
|
" <td>571545870_02</td>\n", |
|
|
|
" <td>571542797_02</td>\n", |
|
|
|
" <td>left</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>1</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>i0</td>\n", |
|
|
|
" <td>2</td>\n", |
|
|
|
" <td>서</td>\n", |
|
|
|
" <td>동</td>\n", |
|
|
|
" <td>571510153_02</td>\n", |
|
|
|
" <td>571545870_01</td>\n", |
|
|
|
" <td>straight</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>2</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>i0</td>\n", |
|
|
|
" <td>3</td>\n", |
|
|
|
" <td>남</td>\n", |
|
|
|
" <td>서</td>\n", |
|
|
|
" <td>-571542797_02</td>\n", |
|
|
|
" <td>571510153_01</td>\n", |
|
|
|
" <td>left</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>3</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>i0</td>\n", |
|
|
|
" <td>4</td>\n", |
|
|
|
" <td>북</td>\n", |
|
|
|
" <td>남</td>\n", |
|
|
|
" <td>-571500487_01</td>\n", |
|
|
|
" <td>571542797_02</td>\n", |
|
|
|
" <td>straight</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>4</th>\n", |
|
|
|
" <td>175</td>\n", |
|
|
|
" <td>i0</td>\n", |
|
|
|
" <td>5</td>\n", |
|
|
|
" <td>서</td>\n", |
|
|
|
" <td>북</td>\n", |
|
|
|
" <td>571510153_02</td>\n", |
|
|
|
" <td>571500487_01</td>\n", |
|
|
|
" <td>left</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>...</th>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" <td>...</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>123</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>i6</td>\n", |
|
|
|
" <td>12</td>\n", |
|
|
|
" <td>북서</td>\n", |
|
|
|
" <td>남동</td>\n", |
|
|
|
" <td>571500535_02.18</td>\n", |
|
|
|
" <td>571542115_01</td>\n", |
|
|
|
" <td>straight</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>124</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>i6</td>\n", |
|
|
|
" <td>13</td>\n", |
|
|
|
" <td>남서</td>\n", |
|
|
|
" <td>북서</td>\n", |
|
|
|
" <td>571500585_02</td>\n", |
|
|
|
" <td>571500535_01</td>\n", |
|
|
|
" <td>left</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>125</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>i6</td>\n", |
|
|
|
" <td>14</td>\n", |
|
|
|
" <td>북동</td>\n", |
|
|
|
" <td>남서</td>\n", |
|
|
|
" <td>571511538_02.121</td>\n", |
|
|
|
" <td>571500585_01</td>\n", |
|
|
|
" <td>straight</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>126</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>i6</td>\n", |
|
|
|
" <td>15</td>\n", |
|
|
|
" <td>북서</td>\n", |
|
|
|
" <td>북동</td>\n", |
|
|
|
" <td>571500535_02.18</td>\n", |
|
|
|
" <td>571511538_01</td>\n", |
|
|
|
" <td>left</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" <tr>\n", |
|
|
|
" <th>127</th>\n", |
|
|
|
" <td>210</td>\n", |
|
|
|
" <td>i6</td>\n", |
|
|
|
" <td>16</td>\n", |
|
|
|
" <td>남동</td>\n", |
|
|
|
" <td>북서</td>\n", |
|
|
|
" <td>-571542115_01</td>\n", |
|
|
|
" <td>571500535_01</td>\n", |
|
|
|
" <td>straight</td>\n", |
|
|
|
" </tr>\n", |
|
|
|
" </tbody>\n", |
|
|
|
"</table>\n", |
|
|
|
"<p>128 rows × 8 columns</p>\n", |
|
|
|
"</div>" |
|
|
|
], |
|
|
|
"text/plain": [ |
|
|
|
" inter_no node_id move_no inc_dire out_dire inc_edge_id \\\n", |
|
|
|
"0 175 i0 1 동 남 571545870_02 \n", |
|
|
|
"1 175 i0 2 서 동 571510153_02 \n", |
|
|
|
"2 175 i0 3 남 서 -571542797_02 \n", |
|
|
|
"3 175 i0 4 북 남 -571500487_01 \n", |
|
|
|
"4 175 i0 5 서 북 571510153_02 \n", |
|
|
|
".. ... ... ... ... ... ... \n", |
|
|
|
"123 210 i6 12 북서 남동 571500535_02.18 \n", |
|
|
|
"124 210 i6 13 남서 북서 571500585_02 \n", |
|
|
|
"125 210 i6 14 북동 남서 571511538_02.121 \n", |
|
|
|
"126 210 i6 15 북서 북동 571500535_02.18 \n", |
|
|
|
"127 210 i6 16 남동 북서 -571542115_01 \n", |
|
|
|
"\n", |
|
|
|
" out_edge_id turn_type \n", |
|
|
|
"0 571542797_02 left \n", |
|
|
|
"1 571545870_01 straight \n", |
|
|
|
"2 571510153_01 left \n", |
|
|
|
"3 571542797_02 straight \n", |
|
|
|
"4 571500487_01 left \n", |
|
|
|
".. ... ... \n", |
|
|
|
"123 571542115_01 straight \n", |
|
|
|
"124 571500535_01 left \n", |
|
|
|
"125 571500585_01 straight \n", |
|
|
|
"126 571511538_01 left \n", |
|
|
|
"127 571500535_01 straight \n", |
|
|
|
"\n", |
|
|
|
"[128 rows x 8 columns]" |
|
|
|
] |
|
|
|
}, |
|
|
|
"execution_count": 8, |
|
|
|
"metadata": {}, |
|
|
|
"output_type": "execute_result" |
|
|
|
} |
|
|
|
], |
|
|
|
"source": [ |
|
|
|
"self.matching" |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"cell_type": "code", |
|
|
|
"execution_count": 10, |
|
|
|