アルゴリズムデザインコンテスト2018(ADC2018)回答チェックツール (nlcheck.py)

ダウンロード

nlcheck.py チェックツール本体
nlclean.py おまけ機能1(最短経路へのLINEの引き直し)を使用するのに必要なファイル
nldraw.py おまけ機能2(グラフィック出力)を使用するのに必要なファイル

使用方法

書式例: nlcheck.py --input FILE1 --target FILE2

引数: (-i, -t以外はオプション)
      -h|--help  
      -d|--debug  
      -v|--verbose  
      -i|--input FILE1  : 問題ファイル(入力)
      -t|--target FILE2 : 回答ファイル(入力)
      -c|--clean FILE3  : 最短経路で線を引き直した回答ファイル(出力)
      -p|--png FILE4    : 回答のグラフィックデータファイル(出力、PNG形式)
      -g|--gif FILE5    : 回答のグラフィックデータファイル(出力、GIF形式)
        (注) 回答ファイルはファイルの末尾以外に空行を含めないこと。

実行例:
     % nlcheck.py --input Q1.txt --target A1.txt
     judge =  [True, 0.0070921985815602835]

     % nlcheck.py --input Q1.txt --target A1_ng.txt
     check_5: found disjoint line(s)
     judge =  [False, 0.0]

     Trueなら正解、Falseなら不正解。
     数値は解の品質の値(不正解の場合0.0)

注意事項:
     このプログラムを実行するためには、PythonとNumPyが必要です。
     また、回答のグラフィックファイルを出力するにはpython-gdが必要です。
     Python、NumPy、python-gdのインストール方法は、ネット検索してみて
     ください。

使用目的

ADC2018の各参加チームは、本ツールを使用して、事前に以下の確認を行って 頂く様にお願いします。

  1. 自作問題のフォーマットの確認
    当日提供予定の自作問題とその回答を本ツールにかけてTrueが返ることを 確認する。問題のフォーマット確認が目的であるため、回答は当日使用予定の ソルバーの出力でなくても構わない。

  2. ソルバーの出力フォーマットの確認
    自作の問題を当日使用予定のソルバーで解き、問題とソルバーの出力した回答を 本ツールにかけてTrueが返ることを確認する。ソルバーの出力のフォーマット 確認が目的であるため、問題は当日提供予定のものでなくても構わない。

チェックの内容

おまけ機能

以下の機能が実装されていますので、必要に応じてご活用下さい。

  1. 最短経路へのLINEの引き直し
    LINEの番号順に、最短経路にLINEを引き直す機能です(-cオプション)。SATなどを 使用して解を求める場合に、LINEの端点と接続されていない線が引かれる場合が ありますが、その様な不要な(規則に違反する)LINEも削除されます。

  2. グラフィック出力
    回答ファイルを、PNG形式、または、GIF形式のグラフィックデータとして出力します。
    (-p、または、-gオプション)


Copyright (c) 2018 DAシンポジウム実行委員会