Skip to main content
QUICK REVIEW

[論文レビュー] Proving uniformity and independence by self-composition and coupling

Gilles Barthe, Thomas Espitau|arXiv (Cornell University)|Jan 23, 2017
Distributed systems and fault tolerance参考文献 24被引用数 11
ひとこと要約

本稿では、pRHLプログラム論理内での確率的カップリングと自己合成を用いて、確率的プログラムにおける一様性および確率的独立性を形式的に検証するための新しい手法を紹介する。非関係的性質を関係的判断に還元することで、明示的な確率計算を回避するコンポジショナルでイベントフリーな推論が可能となり、EasyCrypt証明支援ツールを用いて形式的に検証され、ランダムウォークや条件付き独立性を含む実用的な事例研究が行われた。

ABSTRACT

Proof by coupling is a classical proof technique for establishing probabilistic properties of two probabilistic processes, like stochastic dominance and rapid mixing of Markov chains. More recently, couplings have been investigated as a useful abstraction for formal reasoning about relational properties of probabilistic programs, in particular for modeling reduction-based cryptographic proofs and for verifying differential privacy. In this paper, we demonstrate that probabilistic couplings can be used for verifying non-relational probabilistic properties. Specifically, we show that the program logic pRHL---whose proofs are formal versions of proofs by coupling---can be used for formalizing uniformity and probabilistic independence. We formally verify our main examples using the EasyCrypt proof assistant.

研究の動機と目的

  • 既存の手法では困難であるが、頻繁に使用されるが形式的検証が難しい確率的プログラムにおける一様性および確率的独立性の検証の課題に対処すること。
  • 非関係的確率的性質(一様性および独立性)が、確率的カップリングを用いて関係的性質として表現・検証可能であることを示すこと。
  • 個々のイベントの確率を直接計算しないコンポジショナルでイベントフリーな検証手法を提供すること。
  • EasyCrypt証明支援ツールを用いて、ランダムウォークや条件付き独立性を含む実際の例で、そのアプローチを形式的に定式化・検証すること。
  • 自己合成とカップリングが、複雑な確率的性質に対してスケーラブルでモジュラーな推論を可能にすることを示すこと。

提案手法

  • 同じプログラムの2つの独立した実行を比較することで、一様性を関係的性質に還元し、任意の出力値の確率が両実行で等しくなることを要件とする。
  • 独立性の検証には、自己合成を用いて2つの実行を比較し、カップリング構成によって結合分布が周辺分布に分解されることを確立する。
  • 関係的判断が、2つのプログラム実行の出力が、所望の確率的インヴァリアントを保持するようにカップリングされることを表現するpRHL論理を活用する。
  • 主な技術的要素として、独立したサンプリングのためのアイデンティティカップリングと、実行間での確率変数を一致させるためのカスタム同型写像を用い、分布の正しいカップリングを可能にする。
  • 自己合成されたプログラムの手動構築と慎重なインヴァリアントの発見を伴い、EasyCrypt証明支援ツールを用いて実装および検証された。
  • pRHL内での構造的ルールおよびコンポジショナルな証明技法の使用を可能にするため、モジュラーな推論を支援する。

実験結果

リサーチクエスチョン

  • RQ1個々の出力の確率を計算せずに、有限集合上の一様性をプログラム変数に対して検証できるか?
  • RQ2結合確率および周辺確率を明示的に計算せずに、2つの変数間の確率的独立性を確立できるか?
  • RQ3非関係的確率的性質が、確率的カップリングに基づく関係的証明技法を用いて表現・検証可能か?
  • RQ4自己合成とカップリングをどのように体系的にpRHLで用いて、一様性および独立性を形式化できるか?
  • RQ5インタラクティブ証明支援ツール(EasyCryptなど)を用いた検証において、実用的な課題とその解決策は何か?

主な発見

  • 本稿では、自己合成を用いて一様性を関係的性質として形式化し、各出力値の確率を個別に計算する必要を減らした。
  • 適切に構築されたカップリングを通じて結合分布が周辺分布に分解されることを示すことで、独立性の検証が可能となり、直接的な確率計算を回避した。
  • 500行のEasyCrypt証明スクリプトを用いて、サイクル上のランダムウォークの形式的定式化と検証に成功し、スケーラビリティを示した。
  • ベイジアンネットワーク風のプログラムにおける条件付き独立性は、サンプリングのカップリングと命令の再順序化により、依存関係を実行間で一致させることで形式的に検証された。
  • 形式的定式化には約1,000行のEasyCryptコードが必要であり、その90%が証明インfraストラクチャーやインヴァリアントに費やされた。これは、インヴァリアント発見の複雑さを示している。
  • pRHLにおけるカップリングに基づく推論は、一様性および独立性の伝統的な確率ベースの検証とは対照的に、モジュラーでコンポジショナルな代替手法を提供することが明らかになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。