1

私の大学のディベート クラブでは、ディベート セッションを割り当てるためのアプリケーションを作成するように依頼されましたが、適切なデザインを考え出すのに苦労しています。Javaでやります。必要なものは次のとおりです。

BP ディベートについて知っておくべきこと: それぞれ 2 人のディベーターと 1 人のジャッジからなる 4 つのチームがあります。4 つのグループには、特定の役職 (gov1、gov2、op1、op2) が割り当てられています。チーム内の順番に意味はありません。

アプリケーションの目的は、出席している討論者を入力として取得し (たとえば、20 人がいる場合は 2 つの討論を行います)、各討論者の履歴に関してチームと役割に割り当てることです。

  • 各討論者は、できるだけ多くの人と討論する (同じチームにいる) 必要があります。
  • 各討論者は、異なる立場で均一に討論する必要があります。
  • ディベートは公平であるべきです - 討論者は異なるレベルの経験を持っており、これは可能な限り均等であるべきです - つまり、2 人の非常に経験豊富なディベーターのチームと若いディベーターのチームであってはなりません。
  • ユーザーが次のようなさまざまな方法で割り当てを制限するオプションが必要です。
    • 特定の立場であるかどうかにかかわらず、2 人が一緒に討論する必要があることを指定します。
    • パートナーに関係なく、1 人の討論者が特定の位置にいる必要があることを指定します。

誰かがこのアプリケーションのデザインのヒントを教えてくれたら、とても感謝しています! また、私は以前に GUI を実装したことがないので、それについてもいくつかの指針をいただければ幸いですが、現時点では大きな問題ではありません。

また、Debater 情報をファイルに保持するという問題もありますが、これも Java で実装したことはありません。それについてもいくつかのヒントが必要です。

4

2 に答える 2

0

基礎となるアルゴリズムと UI の 2 つの部分 (データの入力と保存を数えると 3 つ) があります。

UIについては、私は変です。私はこの手法を使用しています(私の sourceforge プロジェクトへのリンクがあります)。Java バージョンを作成する必要がありますが、それほど難しくはありません。これを使用したことがある人はほとんどいないので奇妙ですが、コーディングの労力を大幅に節約できます。

アルゴリズムの場合、問題は十分に小さいように見えるので、単純なツリー検索でアプローチできます。スコアリング アルゴリズムを使用して、最高のスコアでスケジュールを報告するだけです。

これは、私がそれにどのようにアプローチするかを概観したものです。

于 2010-05-05T22:27:30.933 に答える
0

これは、教科書の制約問題のようです。GUI とはいえ、Prolog のようなテクノロジーには最適です (ECLiPSe prolog には、いくつかの異なる Java 統合ライブラリが同梱されています)。

しかし、Java でこれが必要な場合は、討論者の履歴を SQL データベースに保存し、SQL 言語を使用して制約を構築してみませんか。これらの SQL クエリを Java メソッドとしてラップできます。

于 2010-05-05T20:41:17.657 に答える