計算機科学における正当性(Correctness)とは、アルゴリズムがその仕様に照らして正しいことを意味する。「機能的」正当性とは、アルゴリズムの入出力動作に関する正当性である(すなわち、各入力に対して正しく出力を生成すること)。形式的検証を参照されたい。

完全正当性(Total Correctness)は、アルゴリズムが常に停止することも要求される。一方、部分正当性(Partial Correctness)は単に返ってくる答えが正しいことのみを要求する(常に答えが返ってくるとは限らない)。停止問題には汎用的解法はないので、完全正当性はより深い問題をはらんでいる。

例えば、整数を 1 から順に調べて奇数の完全数を探すとした場合、部分正当性を備えたプログラムを書くのは極めて簡単である(素因数分解を行って n が完全数かどうかを調べる)。しかし、そのプログラムが完全正当性を備えているとするには数論において未知の知識を必要とする。

正当性の証明は数学的証明でなければならず、アルゴリズムもその仕様記述も形式的に与えられなければならない(形式的仕様記述)。特にその証明は、そのアルゴリズムを特定のマシン上でプログラムとして実装したものについて正当性を意味するものではない。その場合メモリ量の限界を考慮する必要がある。

証明論におけるカリー・ハワード対応は、直観主義論理における機能的正当性の証明がラムダ計算における特定プログラムに対応するとしている。このような証明の変換を「プログラム抽出; program extraction」と呼ぶ。

関連項目

編集

📚 Artikel Terkait di Wikipedia

構造化プログラミング

論文の前半では、プログラムサイズの肥大化に伴い、各プログラム部品およびそれらを組み合わせた際のプログラムの正当性(program correctness)の立証(demonstration)に必要な労力が指数的に増加して完遂が不可能になるというソフトウェア危機の問題について述べてい

PC

ホスファチジルコリン。 parsec - パーセク(小文字で pc) Public Comment - パブリックコメント。 Political Correctness - ポリティカル・コレクトネス。 Privy Council - 枢密院。 Price Card - プライスカード(値札)。 Profit

ハーラン・ミルズ

chief programmer teams, top-down design, structured programming, program correctness, and other fundamental ideas in software engineering Linger and Hevner

アメリカ合衆国ドル

David (2016年4月21日). “Trump: Tubman on the $20 bill is ‘pure political correctness’ | CNN Politics” (英語). CNN. 2024年10月22日閲覧。 ^ Breuninger, Kevin (2021年1月25日)

エンドツーエンド原理

Sunshine, C. A. (1975), “Issues in Communication Protocol Design – Formal Correctness. Draft”, INWG Protocol Note 5 (IFIP WG 6.1 (INWG))  ^ Blumenthal, M.

イーダ・ノダック

discovery of element 43 (1), I have received a few letters questioning the correctness of the next to last paragraph, in the section entitled Nemesis.... I

アメリカ合衆国における進歩主義

Can Benefit From Political Correctness” (英語). The Moscow Times. 2024年8月14日閲覧。 ^ “Peculiarities Of The Political Correctness Phenomenon In The English And