<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Dear students,</p>
    <p>I updated the first task (Java RMI) with the recommended graph
      sizes, and fixed a small bug in the transitive algorithm.</p>
    <p>Due to the updates, the deadline for the task is shifted by one
      week to <b>23rd March</b>. All other deadlines remain unaffected.<br>
    </p>
    <p><b>Transitive algorithm bug</b><br>
    </p>
    <p>It has been reported that the transitive algorithm provides a
      wrong answer in the case when the source and destination are the
      same node.</p>
    <p>This has been fixed in the provided code, by checking for this
      situation at the top of  SearcherImpl.getDistanceTransitive. You
      can copy this check into your code.<br>
    </p>
    <p><b>Graph sizes</b><br>
    </p>
    <p>
      To see the differences between the five variants, it is best to
      try increasing the number of nodes and look separately at dense
      and sparse graphs.
      The following parameters are the recommended graph sizes. You can
      choose different parameters, as long as the differences between
      the variants are apparent in the results.
    </p>
    <ul>
      <li>For <strong>sparse</strong> graphs, generate graphs with
        number of nodes ranging from 100 to 1000 in steps of 50, with
        number of edges being <strong>three times</strong> the number
        of nodes. For each size, run at least 10 searches.
      </li>
      <li>For <strong>dense</strong> graphs, generate graphs with
        number of nodes ranging from 100 to 700 in steps of 50, with
        number of edges being <strong>a hundred times</strong> the
        number of nodes. For each size, run 10 searches.
      </li>
    </ul>
    <p>When making the comparison chart for the five variants, you can
      make two separate charts, one for sparse and one for dense graphs.</p>
    <p>Vlastimil Dort<br>
    </p>
    <p></p>
  </body>
</html>