問題タブ [openstv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# を使用して OpenSTV 選挙用の .BLT ファイルを生成するにはどうすればよいですか?
モデレーター選挙の結果に関する最新の SO ブログ投稿を見て、OpenSTV をダウンロードしました。Jeff は、OpenSTV を使用して選挙を行ったと書いており、投票データを含む投票ファイル (.blt) を一緒に提供しました。
私の質問は、C# で .BLT ファイルを作成するにはどうすればよいですか?
投票ページがそれを行ったと考えることができる2つの方法を次に示します。
- 投票ページは各投票を SQL データベースに追加し、投票が終了した後、どういうわけか、これらの投票は .BLT ファイルにエクスポートされました。どうやって?これどうやってするの?
- または、投票ページがファイルを作成し、誰かが投票するたびに追加しました。投票ページは完全にスケーラブルではないため、これがどのように機能したかではないと確信していますが、C# でこれを行うにはどうすればよいでしょうか?
両方の可能性がどのように機能するか、また C# でそれを行う方法を知りたいと思っています。前もって感謝します。ああ、ジェフがこの質問を見てくれることを願っています。彼はおそらく素晴らしい答えを持っているでしょう...
format - 候補ごとのランク形式をOpenSTVBLT形式に変換します
最近、アンケートを使用して、さまざまなソフトウェアコンポーネントの重要性に関する一連の意見を収集しました。何らかの形のコンドルセット投票方法が全体的なランクを取得するための最良の方法であると考えて、私はそれを分析するためにOpenSTVを使用することを選択しました。
私のデータは表形式で、スペースで区切られ、多かれ少なかれ次のように見えます。
この形式では、番号はランクを示し、順序は候補を示します。 各「候補」には、1から7までのランク(必須)があります。1は最も重要であることを意味し、7は最も重要でないことを意味します。重複は許可されていません。
このフォーマットは、投票用紙フォーマットを直接表現する、出力を表現する最も自然な方法であると私は思いました。
OpenSTV / BLT形式は、概念的に次のように、同じ情報を表す別の方法を使用します。
実際の数値ファイル形式は、ラベルではなく候補の(1ベースの)インデックスを使用するため、次のようになります。
この形式では、番号は候補を示し、順序はランクを示します。実際の実際のBLT形式には、各投票用紙の終わりを示す先頭の重みと後続のゼロも含まれていますが、これについてはあまり気にしません。
私の質問は、最初の形式から(数値の)2番目の形式に変換する最もエレガントな方法は何ですか?
c# - C# から Python アプリ/スクリプトを呼び出す
STV ( Single Transferable Vote ) 投票を実装したい ASP.NET MVC (C#) サイトを構築しています。私は以前に OpenSTV を投票シナリオに使用したことがあり、大きな成功を収めましたが、プログラムで使用したことはありません。
OpenSTV Google Code プロジェクトは、他のアプリケーションから OpenSTV を使用できるようにする Python スクリプトを提供します。
C# ASP.NET MVC サイトからこのような Python 呼び出しを行う方法はありますか?
もしそうなら、どのように?
前もって感謝します!
php - 投票カウント スクリプトが正しく加算されない
選挙の各候補者 (具体的には、Stack Overflow 2014 モデレーター選挙) の 1 位、2 位、3 位の投票数を数えようとしています。データファイルをダウンロードして開きました。ファイル形式の初歩的な解釈に基づいて、投票をカウントするための PHP スクリプトを作成しました。
コマンドラインで実行すると、次の表が出力されます。
私の問題は、これを同じファイルで実行したときに OpenSTV が言うことと一致させることができないことです。「最初の選択肢の数」はすべてわずかに異なります。
私は何を間違っていますか?または、OpenSTV の違いは何ですか?
更新:前の選択肢が設定されていない 2 番目または 3 番目の選択肢でエンコードされた一部の行が考慮されなかったため、スクリプトが壊れていました。これは、選挙でユーザーが以前の選択肢を選択解除したことが原因であると推測しています。
修正版: