プロが教える店舗&オフィスのセキュリティ対策術

例えば、パイ=3.14159265とあって
3.14の部分は一切計算することなく、小数点3桁目から6桁だけ計算する感じです。答えとしては159265になります。

おそらくは簡単にできないのでしょうが、パイは原理的にこういった計算をコンパクトな数式で表すことは不可能なのでしょうか?
もしくは、量子コンピュータに最適化されたアルゴリズムなどは作れないのでしょうか?

これが比較的短い数式で表せるなら、
パイの途中からの計算式+(小数点A桁から10万行まで)こんな感じで通信ができれば情報圧縮転送にとても便利な気がします。

A 回答 (5件)

BBPなんて知らんかった。

勉強になるなあ。というのはさておき

> 情報圧縮

「A桁」のAを表すのに何文字必要か、ということをお忘れではないかな。

 たとえば、πの16進展開を使い、16進数をASCIIコードとみなす、というプロトコルをあらかじめ決めてあるものとして、
「お肉とおサカナ、どっちになさいますか?」
に"ニク"と答える代わりに、
「648桁目から2桁」

 Aがわずか3桁の数値済んだのは物凄い偶然(てか、そうなるように質問を選んだ)。サカナと答えるために必要なAの値は(多分)数百万になるだろう。なぜなら、「πの小数展開は乱数列と変わりがない」と仮定すれば、Aの値を表すのに必要な文字数は、伝えたいメッセージの文字数と概ね同程度になる。だから、「小数点A桁から10万桁」の"A"のところには10万文字ぐらいが入ることになる。
 というわけで、情報圧縮にはならんです。
    • good
    • 0

>10進 BBP アルゴリズムも存在するらしいよ


ありがとうございます。不勉強なもので(^^;
    • good
    • 0

#1 に示した Wikipedia の項を読むとわかるけど, π に対する 10進 BBP (B と B は直接関係ないみたいだか

の P?) アルゴリズムも存在するらしいよ>#2.
    • good
    • 0

効率的かどうか知らないけど


BBPがご希望に近いかも。
16進数の各桁ってとこも気になるけど・・・
    • good
    • 0
    • good
    • 0
この回答へのお礼

大変興味深いお話ありがとうございます!
こんな方法があるのですね。

ただ、本当に残念なのですが以下記述があり情報の圧縮転送に使うには難しそうな気がしてきました。
量子コンピュータでも同じ様に長時間の計算時間が掛かるのかは気になりますが・・・

BBPは π の任意の桁の値を直接計算することができ、その間のすべての桁を計算しなければならない数式よりも少ない計算量で計算できるが、BBPは線形的( O ( n ( log ⁡ n ) O ( 1 ) ) {\displaystyle O(n(\log n)^{O(1)})}[10])であり、n の値が大きくなるほど計算に要する時間が長くなる。つまり、ある桁が「先に」あるほどBBPの計算に要する時間は長くなり、標準の π 計算アルゴリズムと同じようになっていく[11]。

お礼日時:2023/10/17 22:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A