# Facebook II - Mapping the Internet — Data

来源：https://www.kaggle.com/competitions/facebook-ii/data

本地 Meta Kaggle 快照；不是本次实时页面。

# Dataset Description

<p><br>
There are 15 graphs in the training set and 5 in the test set. These are directed, dynamic, real-world Internet topology graphs with nodes that correspond to&nbsp;<a title="Autonomous Systems" href="http://en.wikipedia.org/wiki/Autonomous_System_(Internet)">Autonomous
 Systems</a>&nbsp;(AS). &nbsp;Each graph is sampled at a fixed time interval, \\(\Delta t\\), apart. &nbsp;The 5 test graphs represent the status of the network at the 5 time points after the final training graph, but are&nbsp;<em>not</em>&nbsp;supplied to participants.&nbsp;</p>
<table border="0" align="center" style="width:200px; margin-left:auto; margin-right:auto">
<tbody>
<tr>
<td>Graph</td>
<td>Time</td>
<td>Supplied?</td>
</tr>
<tr>
<td>train1</td>
<td>&nbsp;\\( t_0 \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train2</td>
<td>&nbsp;\\( t_0 &#43;\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train3</td>
<td>&nbsp;\\( t_0 &#43; 2\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train4</td>
<td>&nbsp;\\( t_0 &#43; 3\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train5</td>
<td>&nbsp;\\( t_0 &#43; 4\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train6</td>
<td>&nbsp;\\( t_0 &#43; 5\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train7</td>
<td>&nbsp;\\( t_0 &#43; 6\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train8</td>
<td>&nbsp;\\( t_0 &#43; 7\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train9</td>
<td>&nbsp;\\( t_0 &#43; 8\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train10</td>
<td>&nbsp;\\( t_{0} &#43; 9\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train11</td>
<td>
<p>&nbsp;\\( t_{0} &#43; 10\Delta t \\)</p>
</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train12</td>
<td>&nbsp;\\( t_{0} &#43; 11\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train13</td>
<td>&nbsp;\\( t_{0} &#43; 12\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train14</td>
<td>&nbsp;\\( t_{0} &#43; 13\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>train15</td>
<td>&nbsp;\\( t_{0} &#43; 14\Delta t \\)</td>
<td>&nbsp;Y</td>
</tr>
<tr>
<td>test1</td>
<td>&nbsp;\\( t_{0} &#43; 15\Delta t \\)</td>
<td>&nbsp;N&nbsp;</td>
</tr>
<tr>
<td>test2</td>
<td>&nbsp;\\( t_{0} &#43; 16\Delta t \\)</td>
<td>&nbsp;N</td>
</tr>
<tr>
<td>test3</td>
<td>&nbsp;\\( t_{0} &#43; 17\Delta t \\)</td>
<td>&nbsp;N</td>
</tr>
<tr>
<td>test4</td>
<td>&nbsp;\\( t_{0} &#43; 18\Delta t \\)</td>
<td>&nbsp;N</td>
</tr>
<tr>
<td>test5</td>
<td>&nbsp;\\( t_{0} &#43; 19\Delta t \\)</td>
<td>&nbsp;N</td>
</tr>
</tbody>
</table>
<p>Edges may appear and disappear as routing patterns change over time.&nbsp;&nbsp;Some nodes are peers (A-&gt;B means A can exchange traffic through B for free) and some are connected by regular edges (A-&gt;B means A pays B to route their traffic). &nbsp;Peers have weights of
 zero in the training data and regular edges have weights of one.&nbsp;</p>
<p>We have shuffled the AS numbers and replaced them with distorted versions of the AS names. In other words, the names are arbitrary with respect to reality, but consistent within the data. &nbsp;For example, if the original graph has the AS number/name</p>
<p style="padding-left:30px">26 CORNELL - Cornell University,</p>
<p>it would be remapped to a random new number and its corresponding name, say (hypothetically),</p>
<p style="padding-left:30px">11 HARVARD - Harvard University,</p>
<p>with the text altered in some fashion. &nbsp;The AS remapping is done to discourage reverse engineering the graph. &nbsp;The text alteration is done to test participants' ability to turn messy, real-world data in to a computable format. &nbsp;Some AS names are not available.
 For these, we have left the AS number intact.</p>
<p>For the prediction task, you are given a path which, at one point in the training time period,&nbsp;<em>was</em>&nbsp;an optimal path from node A to B. Here, “optimal” accounts for the peer relationships with zero-weight edges (i.e. it is the weighted shortest path).
 &nbsp;Many paths can have the same best optimal weight and are all considered optimal, regardless of the path length.</p>
<p><strong>The training set graphs give links in the form:</strong></p>
<p style="padding-left:30px">Messy AS Name 1 | Messy AS Name 2 | Edge weight&nbsp;</p>
<p><strong>The test set paths have the form:</strong></p>
<p style="padding-left:30px">Messy AS Name Start | Messy AS Name | ... |&nbsp;Messy AS Name | Messy AS Name End</p>
<p>Example real data from the training set:</p>
<pre>64649 | B--NSAORWKCPAEST Southern Cross Broadcasting. | 1<br>4715 | FISHNET-NZ Otago Regional Office | 1<br>NIC éc,ioxM S.C. | BCS CBS Technologies SA | 1<br>KOCAS-KW Kuwait Oil Company (K.S.C.) | 64998 | 0</pre>
<p>You are supplied with 10000 paths (paths.txt). &nbsp;The task is then to predict, for all 5 test graphs, the probability that the given&nbsp;path is STILL an optimal path.</p>
<p><span>Compute your probabilities as a&nbsp;</span><span>matrix of size 10000 x 5 (10000 path probabilities, predicted at each of the 5 test times), sorted according to the original order of the test set. Concatenate the five 10000 x 1 columns to get a 50000 x
 1 column vector, and prepend a header row, &quot;Probability&quot;, to create a 50001-row column vector. To be explicit, if your probabilities for path \\(i\\) at time \\(j\\) are \\( p_{i,j} \\), the format should look like:</span></p>
<p>$$ \left( \begin{array}{c}&nbsp;<br>
\text{Probability}\\<br>
p_{1,1}\\<br>
p_{2,1}\\<br>
\vdots \\<br>
p_{10000,1}\\<br>
p_{1,2}\\<br>
p_{2,2}\\<br>
\vdots \\<br>
p_{10000,2}\\<br>
\vdots \\<br>
p_{10000,5}\\<br>
\end{array} \right) $$</p>