投稿

ラベル(IT)が付いた投稿を表示しています

エンタングルする自然

3月のマルレクは、「自然科学概論 -- エンタングルする自然」というテーマで行います。 https://science-entanglement.peatix.com/ 21世紀の科学・技術の変化を牽引する力の一つが、「自然の至る所に、エンタングルメントは存在し作用している」という「エンタングルメントの遍在」という認識の拡大だという視点から、新しい自然科学のオーバービューを行いたいと思います。 次のようなトピックスを取りあげる予定です。  ● エンタングルメント小史 -- 「パラドックス」から「原理」へ  ● エンタングルメントの科学的認識の理論へのインパクト  ● 量子通信・量子暗号 -- エンタングルメントの技術的応用  ● 物質理論とエンタングルメント  ● 物理学の新しい展開 -- 時空を生み出すエンタングルメント  それぞれのトピックに深入りはしません。いま、何が起きているか、それがどう言う意味を持っているのかを、「概論」として、わかりやすく伝えられたらと思っています。 今回のセミナーの Hard Coreは、最後の「物理学の新しい展開」のトピックなのですが、その内容は、次のセミナーに引継ぎたいと思います。  4月 マルレク基礎「シャノンの情報理論を学ぼう! -- 情報とエントロピー」  5月 マルゼミ      「物理学の新しい展開 -- 時空を生み出すエンタングルメント 」 ご期待ください。

コロナの年の講演記録

コロナの年、何をしてきたかまとめてみました。 毎月一回のペースでセミナーを開催しました。 3月以降のセミナーは、全てオンラインでした。 YouTubeの利用を拡大しました。 MaruLabo Top Page    (MaruLaboサイト) Maruyama Lectures  (YouTubeサイト) 21/02/26 マルゼミ「 チューリングマシンの拡大と複雑性理論 」 20/01/29 マルレク基礎「 チューリングマシンを学ぼう! 」 20/12/25 マルゼミ「 MIP*=RE入門 」 20/11/27 マルレク「 コンピュータサイエンスの現在 — MIP*=RE定理とは何か 」 20/10/15 マルレク「 量子コンピュータ入門 — 量子コンピュータと人工知能 」 20/09/18 マルレク「 人工知能と計算科学 」 20/08/28 マルゼミ「 量子通信入門 」 20/08/18 公開資料 「 MIP*=RE References 」 20/07/26 マルレク基礎「 エンタングルメントで理解する量子の世界 」 20/06/30 楽しい数学 「 2のn乗の話(チューリングマシンの話) 」 20/06/20 マルレク基礎「 ケット|k> で理解する量子の世界 」 20/05/15 マルレク基礎「 たとえ話で理解する量子の世界 」 20/05/05 マルレク「 AWSでの形式手法の利用 」 20/03/27 マルゼミ「 論理学入門 II — ラムダ計算と関数型言語 」  20/02/17 マルレク「 量子コンピュータの現在 — 量子優越性のマイルストーンの達成 」 20/01/28 マルゼミ「 論理学入門 I 」 19/11/28 マルレク「I T技術とCoqの世界 – 証明 = プログラム = 計算の意味を考える 」 19/11/07 ハンズオン「 はじめてのCoq 」

大規模システム開発の問題 4 -- 開発コスト

イメージ
9/24のマルレクでは、ソフトウェアの開発の世界の話題を取り上げます。 https://deep-spec.peatix.com/   システムの大規模化・複雑化は、開発コストを増大させます。先日正式に稼働を始めたみずほ銀行のシステムMINORIは、開発に4000億円以上を投入したと言われています。 顧客に便利なサービスを事故なく提供できるのなら、必要なコストと考えてもいいと思います。それに、僕の周辺には、こうした金融機関の巨大投資を歓迎する人は、たくさんいました。IT業界にお金が流れてくるのですから。 ただ、金融の世界もITの世界も、どんどん変化していきます。開発コストの高騰は、変化への迅速な対応への足かせになる可能性があります。 もちろん、安かろう、早かろうで、バグですぐにこけるようなシステムを作っていたら、それは企業の価値を毀損することになります。ただ、大規模システムでの開発コストの低減が、今後も大きな課題になるのは確実です。 ここでは、開発コストの高騰を放置すれば、どういう事態になるかを警告した、アメリカ国防総省のDARPAのレポートを紹介したいと思います。 みずほ銀行の4000億円の開発費なんか、可愛いもんだと思うような、かつ、「ほんとかよ!」と思うような、シュールな分析がされています。DARPAすごいです。 Formal Model-Based Design & Manufacture: -- A Template for Managing Complexity in Large-Scale Cyber-Physical Systems" " https://www.innovation4.cn/library/r16328 (僕がブックマークしていた、資料のリンクが切れていて、ググり直しました。DARPAの資料を中国のサイトで読むことになってしまいました。) 直接には、F35(図1)のような軍用機の開発コストを分析しています。 図2を見てください。ここでは、大規模システムとして、三つの分野を取り上げています。CPUの開発(ピンク)、自動車の開発(グリーン)、そして軍用機の開発(パープル)です。 横軸は、部品数・ソースコードの量で計ったシステムの「複雑さ」、縦軸は、設

大規模システム開発の問題 3 -- CPUの設計

イメージ
9/24のマルレクでは、ソフトウェアの開発の世界の話題を取り上げます。 https://deep-spec.peatix.com/   ソフトウェアの開発だけでなくハードウェアの開発も、大規模化・複雑化が進んでいます。ここではCPUの開発での話題を取り上げます。 CPUの設計では、動作の徹底的なシミレーションは可能ですが、最終成果物であるCPUチップに対して、アジャイルのような開発手法はとれません。 今回のマルレクのテーマである「形式手法」は、ハードウェアの正しい動作を保証する手段として、ハードウェアの開発では重要な役割を果たしていて、すでに広く用いられていると語られてきました。 ただ、実態は、必ずしもそうでなかったようです。 RISCVチップの検証を、初めて完全に形式的手法で行うことに成功したチッパラは、次のように語っています。 http://bit.ly/2MbSdin 「ソフトウェアに関する経験しかない研究者にとっては、この業界がハードウェアに対して行なっている形式的方法というものが、いたるところで制限されたものだということに驚くことになるだろう。 そこでの形式方法というのは、典型的には、モデルのチェックと充足性の解決に基づいたもので、結局分析は明示的な状態空間の探索に還元される。 検証作業は、フルシステムの(比較的)小さなコンポーネント、例えば、プロセッサの浮動小数点ユニットに集中している。確かに、浮動小数点演算の実装アルゴリズムの完全な検証は、それ自体、英雄的な努力を必要とするのだが、これらの個々の結果は、システム全体の定理には組み込まれない。」 彼の指摘は、昨年来話題になっている、SpectreやMeltdownといった CPUアーキテクチャー設計自体の不備をつく攻撃に対する、CPUの深刻な脆弱性を考えると重要な意味を持っています。 現在のほとんど全てのCPUは「投機的実行 Speculative execution」をサポートしています。投機的実行は、条件付き分岐命令に出会うと、条件の計算が終わるのを待たずに、二つの可能な分岐をキャッシュ上で先読みして実行します。条件の計算が終わって、どちらの分岐が選択されるのか確定した時点で、一方の「当たり」のキャッシュの計算結果が採用され、一方

大規模システム開発の問題 2 -- 分散システム

イメージ
9/24のマルレクでは、ソフトウェアの開発の世界の話題を取り上げます。 https://deep-spec.peatix.com/   システムの構築方法が変わるにつれ、開発の方法も変化します。現代のシステムは、規模の大小を問わず、またユーザ(場合によっては開発者も!)がそれを意識する否かを問わず、ネットワークをまたいでサービスを交換するのが、基本的なスタイルになっています。 こうした分散システムの開発には、そうではないモノリシックなシステムの開発とは異なる注意が必要になります。分散システム上でプログラムを正しく実行させるのは、そうでないシステム上でプログラムを正しく実行させるより、本当は、難しいのです。 先日も、AWSで大規模な障害が起きましたが、ここで取り上げたいのはそうしたことではありません。 クラウド事業者は、基本的には、分散システム設計のプロで、何が設計の肝で、トラブルにどう対応すればいいのかをよく理解していると、僕は信じています。 問題は、一般のユーザー企業も、普通のプログラマーも、そのことを意識するか否かをとわず、事実上の分散システムを作ることが、今では当たり前になっていることです。 こうした分散システムの構築の難しさによるトラブルは、枚挙にいとまがありません。 2002年4月に起きた、みずほ銀行の大規模な障害は、システム内のネットワーク、第一勧業銀行・富士銀行・日本興業銀行間を結ぶネットワークをコントロールする「リレーコンピュータ」のバグが原因でした。 写真は、2015年7月8日のシステム障害で、創設以来223年間、途絶えたことのなかった取引の中止に追い込まれたニューヨーク証券取引所の前でボーッとする人。 単純な例ですが、分散システムでのプログラミングの難しさを示した図があります。 https://github.com/…/d…/blob/master/verdi/slides/verdi-2.pdf  から。 分散システム上のノードは、故障で死んでるかもしれないし(ノード S2)、メッセージの通信がタイムアウトを起こしてメッセージが伝わっていないかもしれません(ノード S1)、またある瞬間をとれば、メッセージは送り出されているのに、まだ受け手のノードには届いていないかもしれません。 分

大規模システム開発の問題 1 -- 航空機のソフト開発

イメージ
今回は、大規模開発の問題の事例の一回目として、航空機でのソフト開発を取り上げようと思います。 2018年10月29日、インドネシアでライオン・エアのボーイング737MAX が離陸直後に墜落、乗客乗員189名全員が死亡しました。 2019年3月10日には、エチオピアで、エチオピア航空の同じボーイング737MAX 8が、やはり離陸直後に墜落。乗客乗員157名全員が死亡しました。 墜落の原因は、MCASという自動操縦システムの不具合だと言われています。 「MCASを始動させるシグナルは、機首の角度を調べる2個のセンサー(AoA=迎え角センサー)から出る。2個のうち1個は正常だったが、残る1個が故障して異常に高い角度を示していた。MCASは高い角度のほうに反応するので、機首が上がりすぎていると判断し、強制的に下げようとしたのである。」 http://bit.ly/2k56eCK この事故の関連では、ブルームバーグ紙が、ボーイング社は737MAXのソフトウェア開発をインドのHCLという会社に委託していて、その中には大学を出たばかりの時給9ドルの若者がいたことをすっぱ抜いて話題になりました。(ボーイング社は、今回の不具合にこの若者が関わったことを否定しています。) 現代の航空機は、「空飛ぶソフトウェア」と言われるほど、大規模なシステムなのですが、その高価なシステム開発に、時給1000円の人が使われていたのは、ちょっと驚きでしたが、僕が気になったのは、他のところです。 ブルームバーグの記事  http://bit.ly/2k56eCK  を読んでも、「仕様」はボーイング社が提供し、HCL社は「コード」を納品したことは書いてあるのですが、先の記事を見ても、不具合の原因が「仕様」の側にあったのか「コーダー」の側にあったのか判然としません。これは大事なところです。 古い、ある意味「ハード」だけで動いていた飛行機には、Fail Safe のノウハウが二重三重に生かされていたと言います。ところが、現在の旅客ジェットは、ソフトウェアの塊であるだけでなく、それ自身が「空飛ぶ大規模分散システム」になっています。 個人的には、二つのセンサーの一方(場合によったら両方)が故障したり、異なる値を返した時の処理に疑問を持っています。

ビッグ・データとビッグ・ソフトウェア

この間、大規模システムでのディープラーニング技術の応用事例を調べていたのだが、こういう文章に出会う。 「ビッグ・ソフトウェアは、人間が一人で設計、展開、運用することができない(?)ような、非常に多くの動く部分で構成されたソフトウェアのクラスである。これらは、そもそもは単一のマシンに格納できないビッグデータを呼び起こすことを目的としていた。 」 まあいいだろう。現代は、ビッグ・ソフトウェアの時代なのは確かだ。確かに、大規模システムの管理は難しい。 「ここにこそ、AIが登場する。我々は、ディープラーニングが大規模システム管理の未来だと考えている。ニューラルネットは、大量のデータから、干し草の山から、針を見つけることができる。ニューラルネットは、従来のシステム管理者の能力を大幅に拡張し、その役割を変革するツールとなる。」 これも、まあいいだろう。大規模システムの管理に使えるツールがあるなら、なんでも使えばいい。ただ、次の未来像は怪しい。 「AIが学ぶにつれて、最後には、自己修復型データセンターが標準になる。 AIは、手元のリソースに適応したより優れたモデルを発見するので、最終的にはインフラストラクチャを改善および再構築するためにコードを修正することができる。」 ディープラーニングには、プログラムのロジックが理解できない。コードを読んでバグを見つけて、それを修正するなんて、ディープラーニングには、逆立ちしたってできないのだ。 多少、鼻が歪んでいても、目がつり上がっていても、ディープラーニングは、それを同じ人間だと同定できる。それはそれで素晴らしい。ただ、ソフトウェアの場合には、それがどんなに大きなソフトウェアでも、一箇所でもバグがあれば、それがシステム全体をダウンさせる可能性がある。 ビッグ・データとビッグ・ソフトウェアを、どちらも「ビッグ」だからと、同じ仲間だと考えるのは大きな間違いだ。 幸いなことに、このビッグ・ソフトウェアの分野では、ディープラーニングではない「Yet Another AI」技術が、花開こうとしている。 どういうムーブメント(ディープラーニングに対して、「ディープ・スペシフィケーション」 Deep Specification と言ったり、あるいは、数学基礎論にならって、「ソフトウェア基礎論」と言ったりする)かは

AI+RPAの大規模事例紹介(2) -- テレコム業界

AI+RPAの大規模事例紹介(2) -- テレコム業界 今回は、 Orange Silicon Valley社 (  https://www.orangesv.com/ )のSkymind社との共同の取り組みを紹介します。https://skymind.ai/case-studies/orange  ここで問題となっているのは、SIM Box Fraud というSIMの不正利用です。アメリカでは年間数十億ドルの被害が出ているといいます。 不正なSIMボックスは、国際電話をハイジャックし、それらをインターネットを介して携帯電話装置に転送し、携帯電話装置はその後それらを携帯電話ネットワークに返します。その結果、通話はローカルであるように見え、セルラー事業者は、長距離通話のルーティングおよび着信に対する支払いを受けないことになります。それだけではなく、SIM Boxは、基地局に過重な負担をかけ、他のユーザーの通話の質を低下させます。 Skymind社とOrange Silicon Valley社のプロジェクトでは、ニューラル・ネットワークのAutoencoder を用いて、不正利用のパターンを学習し異常な活動を見つけ出し、発信記録を不正の確率でランクづけます。 現在のところニューラルネットが利用されているのは、今の所ここまでで、高い確率で不正だとランクづけられたデータは、優先的に、これまでの経験で作られた「決定木(decision tree)」に基づいたルールエンジンに渡され、不正かそうでないかの細かいチェックを受けることになります。 りょうしゃ

RPA

最近、思わず笑ったblogの文章があります。  「RPAは馬鹿だが、AIは賢い。」    "AI vs. RPA" 2019/02/14   https://www.enfo.se/blogg/ai-vs-rpa 言いたいことの気持ちはわかります。ここには「AIは、RPAなんかよりもっと賢いはずだ」という気持ちがにじみ出ています。 この記事は今年になってからのものです。こうした認識は、以前から見られたものです。  「RPAには "NO" というべきか」   "Should I say “NO” to RPA" 2017/03/06  http://bit.ly/2NUgYCk この記事は、RPA = Robotic Process Automationに対して、単純なロボットには出来ない「知的」なプロセスの自動化 IPA = Intelligent Process Automation を勧めたものです。  「ごめん。あなたのbotは馬鹿じゃない?」  "Sorry, But Your Bots Are Stupid" 2018/11/19  http://bit.ly/30vUOrd ベンチャー市場で多額の資金を調達しているRPAのボットは、本当は、馬鹿なので「知的」と呼んじゃいけないと主張しています。  「RPAは死んだ」  "RPA is Dead"  2019/04/16  http://bit.ly/2JzvX0j 長いことプロセスの自動化を研究してきた著者が、プロセスの自動化には長い歴史がある、現在もてはやされているRPAには新しいことは何もないと言っています。(このシリーズは、もっと続くのですが) もちろん、こうした議論だけではありません。  「RPAとAIの収束がビジネス・プロセス自動化を推進する」  "The convergence of RPA and AI can boost Business Process Automation"  2019/02/16 http://bit.ly/2SeMWYb  僕は、日本での次のような議論を、「AI = ディープラーニング技

Yet Another AI

現在のAI技術の主流は、ディープラーニング技術なのですが、それ以外のもう一つのAI技術("Yet Another AI")として、論理的・数学的推論をコンピュータで行おうというAI技術の流れが存在します。今回は、そうした技術を取り上げます。 ディープラーニングは、生物のニューロンとそのネットワークをモデルにしています。視覚や聴覚・嗅覚といった生物の知覚のシステムを機械でシミュレートし、また、生物の全身の筋肉を連携させてバランスをとって運動する運動能力を機械・ロボットで実現するにはとても優れた技術です。それは、生物との類似で言えば、蜜を求めて花を回るハチや、上空から獲物を見つけて急降下するハヤブサの、体内のニューラル・ネットワークの働きと同等のものを機械の上で実現しようという技術だと思っていいと思います。 ただ、人間には、そうした、ほとんど全ての生物に共通する感覚・運動能力とは別に、感覚と運動とをワンクッション置いて統合する機能があります。確かに、ハチも「迷う」かもしれないし、ハヤブサも「賢い」かもしれないのですが、人間は、知覚系の入力から条件反射的に運動系を動作させて行動するだけではありません。人間は、考えます。考えることができることが、人間の知能の大きな特徴だと僕は考えています。 そうした人間の「考える」知能の中核は「推論」する能力にあります。もう少し、抽象的に言えば、人間は論理的・数学的に推論する能力を持っています。それは、「人工知能」技術の重要な対象だと僕は考えています。 ディープラーニング技術は、「推論」する人間をシミュレートできるでしょうか? 答えはおそらくノーです。 ドンキーカーでも自動運転するBMVでも、ディープラーニング技術はとても重要です。ただ、彼らに右側通行か左側通行かといった「交通法規」を覚えさせるのに、ディープラーニングは役立つでしょうか? 多分、もっと上位の層で、ルールを覚えさせることが必要になります。 ネットワークのセキュリティでも、異常検出にディープラーニング的アプローチは役に立ちます。ただ、異常らしきものを検出したとして、それにどう対応すべきかは、「自動化」「機械化」しようと思ったら、たくさんのルールの構築が必要になります。 「推論する機械」の可能性の問題は、意外と我々の身近なところに現

AI = ディープラーニング ? -- AI「ブーム」の現在とRPA

次回の7/29マルレクは、次のような人にぜひ聞いてもらいたいと思っています。 ・会社のエライ人に「人工知能がはやっているようだから、わが社でもなんかやりたい。なんかプロジェクト考えて。」と言われて困っている人。 ・「人工知能プロジェクト」を立ち上げたけど、ビジネスに落とし込むうまい着地点が見つからなくて困っている人。 みなさんが感じている困難には理由があります。それは、会社に優秀な「データ・サイエンティスト」がいないからでしょうか? 多分、そうではありません。 「人工知能ブーム」でうまれた「人工知能万能論」に近い期待の中で、未来の人工知能技術の可能性と、現在のディープラーニング技術の可能性との混同が生まれて、ディープラーニング技術でなんでもできるのではという「幻想」が生まれています。 残念ながら、現在の大きな問題は、人工知能技術の一部としてのディープラーニング技術は、皆が信じ込んでいるほど万能ではないということです。 丸山は、ディープラーニング技術が与えるものは、これまでの手法では処理が難しかったデータ(画像データ、音声データ等)や、非常に大量のデータ(時系列データを含む)から、データに含まれる特徴量を抽出する「センサー」だと考えています。そのセンサーの精度は、他の手法では達成できない素晴らしいものです。 ただ、優れた「センサー」がいくら揃っても、それだけでは役に立つシステムはできません。「センサー」が抽出した特徴量をどのように生かすかは、「センサー」自身の設計とは別の次元の問題、システムの設計の問題です。 冷静に判断しなくてはいけないことは、このシステム設計のレベルでは、ディープラーニング技術は役に立たないということです。「ディープラーニング」が「万能」だと考えていると、このレベルでもAI技術で何かできるのではと考えたくなる人も現れるのですが、それはうまくいきません。ただ、人工知能技術ではなく、従来のシステムを設計した人間のノウハウは生かすことができるのです。 「人工知能ブーム」の中で生み出された「人工知能を応用したシステム」と言われるもののほとんど全てがこうしたものです。それは、悪いことではありません。 僕の当面のアドバイスは、「ディープラーニング技術で出来ることをリアルに正確に把握することで、ディープラーニング技術を現実

現在のコンピュータと量子コンピュータがハイブリッドする未来

7/6 ハンズオン「量子コンピュータで学ぶ量子プログラミング入門」https://lab-kadokawa82.peatix.com/ の演習の目標である「量子テレポーション」について、少し補足しようと思う。 「量子テレポーション」。なんとも奇妙な名前なのだが、それもそのはずで、命名者は、SF映画の「スタートレック」から、この名前を取ったらしい。 「量子テレポーテーション」技術は、「スタートレック」のように、物体そのものを瞬間移動することができるわけではない。それが可能とするのは、情報を移動することだけである。それは、現代のネットワーク技術が情報の移動をおこなっているのと同じである。 少し違うのは、「量子テレポーテーション」が、一つ一つの量子が持つ情報(それをqubitという。qubit = quantum bit 「量子ビット」の略である)を送り出し、受け取ることができることであり、またその為に「エンタングルメント」という量子の性質を利用することである。 重要なことは、量子情報理論の情報通信技術への応用においては、本格的な量子コンピューが登場する以前に、この「量子テレポーテーション」等の「量子通信技術」が、実用化するだろうということである。 では、どこに、この「量子通信」技術は使われるのであろうか? それは、現在のコンピュータとコンピュータを接続する為にである。 量子コンピュータの時代というと、現代のコンピュータが全て量子コンピュータに置き換わる時代を想像するかもしれないのだが、それは正しくないだろう。現代のコンピュータ技術は、引き続き有用なものとして残り続けるだろう。 「量子コンピュータ」との対比で、現代のコンピュータを「古典コンピュータ」と呼ことがある。古典コンピュータと古典コンピュータとの通信に、まず「量子通信」技術が使われ始めるのである。 現代の通信技術の中核である「光通信」技術と「量子通信技術」は、実は、親和性が高い。また現代の通信技術の重要な課題であるセキュリティについても、「量子通信技術」では「量子暗号」技術と組み合わせると、飛躍的なセキュリティの向上が可能になる。 「量子通信」の導入によって、古典コンピュータと量子コンピュータのハイブリッドの時代が始まると、僕は考えている。 幸いなことに、すでに我々は、

チューリングの予言と現代のAI技術

今から約70年前の1950年、アラン・チューリングは、次のような予言を行いました。 私は、次の問題を考えることを提案する。 「機械は考えることが出来るか?」 この「機械は考えることが出来るか?」というオリジナルな問題は、議論にも値しないほどあまりに意味のないものだと、私は信じている。  ....... それにもかかわらず、この世紀の終わりには、言葉の使い方と教育を受けた一般の人々の意見は大きく変化して、 矛盾しているとは少しも思うことなく、機械の思考について語ることが出来るようになるだろうと、私は信じている。                              -- Alan Turing                                   1950年 チューリングの人々の意識の変化についての予言は、的中しました。 それは、かれの天才的な洞察力を示す素晴らしいものだと思います。 いまでは、誰もが 矛盾しているとはほとんど思わず、 「機械の思考=人工知能」について語っています。ある人たちは、「人工知能」技術を「万能の技術」と信じ始め、ある人々は、機械が人間を凌駕する時代の到来について語っています。「シンギュラリティーがくるぞ」と。そこまで行かなくとも、この数年で、人工知能に対する期待は、IT技術者を中心に、多くの人に共有されるようになりました。 ただ、大事な問題が残っています。 我々は、「考える機械」には、まだたどりつけてはいないということです。 こうした中で、僕は、次のような議論が出ていることに注目しています。  「日本の労働生産性はRPA(ロボットによるプロセス自動化)とAI(人工知能)で上がる。人間は(生まれた余剰時間で)創造性を発揮できるだろう。これが日本復活のシナリオだ」 ソフトバンクグループの孫正義社長(兼会長)は6月13日、RPAツール大手の米Automation Anywhereが都内で開いたイベント「IMAGINE TOKYO 2019」でそう話しました。 なぜ、注目したかについては、次のメールでお話しします。 次回のマルレクのテーマは、「Yet Another AI (もう一つのAI技術)-- RPAは「推論エンジン」の夢を見るか?」です

予習用資料?

6/21 マルレク・サブゼミ「3時間で学ぶShorのアルゴリズム入門」のための予習用資料公開しました。 6/21マルレク・サブゼミ に多数のお申し込みありがとうございます。参加予定の方、お時間があったら、目を通していただけますか?https://www.marulabo.net/docs/miniguide/ 短い資料です(パワポ・スライド 50枚)。Shorのアルゴリズムには触れていません。量子情報理論の基本をまとめたものです。 今回参加されない方も、量子コンピュータを勉強する上での ミニ・ガイドとして利用いただけたらと思います。

「丸山不二夫レクチャーズ」リンク

MaruLaboのページ  https://www.marulabo.net/  を更新して、この5-6年の間の講演資料のリンクを整理しました。ご利用ください。 資料をダウンロードしなくても、ページで資料が読めるようになっています!  というのは嘘で、それが目標なのですが、大きすぎてGoogle Driveで表示できない資料(よくありました)は、まだ「表示できないからダウンロードして」というのが、かなり出ています。 現在、ページでの資料の表示が可能になるように、全力で(嘘)、ファイルの分割作業に取り組んでいます。(ぼちぼちやります) 採録した「最古」の資料は、これかな? 「大規模分散システムの現在」 http://bit.ly/2InvU5F  2013年7月のものです。今では、「大規模分散システムの遠い過去」ですね。 IT業界長いので、10年前、15年前、 ... にさかのぼれば、まだ山のように書いたものはあるのですが。今は、「古文書」です。少し、悲しいです。  「シジフォス」  「賽の河原の石積み」  「祇園精舎の鉦の音」 うーん。 まあ、いいか。 「袖擦り合うも他生の縁」(パラレル・ワールドだ!)。 「これも因果と諦めて」、前に進むしかないですね。 (ほんとかな?)

6/21 マルレク・サブゼミ 「3時間で学ぶ Shorのアルゴリズム入門」について

6/3 マルレク「暗号技術の現在」のフォロー・アップのセミナーとして、6月21日次のセミナーを開催します。  日時; 2019年6月21日 19:00~22:00  場所: 五番町グランドビル 7F / KADOKAWA セミナールーム  テーマ:「3時間で学ぶ Shorのアルゴリズム入門」  申し込みページ: https://shor.peatix.com/view 講演概要 6/3のマルレク「暗号技術の現在」では、暗号技術が現在の「公開キー暗号/RSA暗号」から「ポスト量子暗号」に大きく変わろうとしているという話をしました。こうした変化を引き起こした最大の原因は、25年前に発見された「Shorの素因数分解アルゴリズム」です。 RSA暗号は、大きな素数p,q 二つの積である大きな数Nが、たとえNを知っていても、現在のコンピュータでは、その素因数p,qを求めることがとても難しいという事実をその基礎にしています。公開キー暗号は、コンピュータでも分解できないこのNを、事実上、皆の前に公開するという暗号方式です。Shorは「量子コンピュータを使えば」、Nの素因数分解が極めて高速に可能になることを発見しました。それは、「公開キー暗号/RSA暗号」が、簡単に破られるということを意味しています。 ではなぜ、こうした発見が25年間も「暗号技術に対する脅威」とは見なさなかったのでしょうか? その理由は簡単なものです。それは、「量子コンピュータ」が、すぐにも実現する技術とは見なされなかったからです。現時点でも、大きなNに対して、Shorのアルゴリズムでその素因数を求められる量子コンピュータは存在しません。 ただ、20年後40年後は、どうなっているでしょう?  近年になって、量子コンピュータの「実現可能性」について、大きな認識の変化があります。基本的には、いままでよりかつてなく多くの人が「いつか、確実な時期はわからないが、量子コンピュータは実現するだろう」と考えるようになってきました。Shorのアルゴリズムに対する関心が、新たに高まっているのは、そうした背景があります。NSAやNISTが、「ポスト量子暗号」への動きを本格化しているのは、当然のことだと思います。 1. 量子コンピュータではなぜ高速な計算ができるのか?  量子コンピュータでは

6/3 マルレク「暗号技術の現在」の講演資料です。

イメージ
6/3 マルレク「暗号技術の現在」の講演資料です。ご利用ください。 http://bit.ly/30YB8gP お申し込みは、次のサイトからお願いします。残席わずかです。 https://qcrypt.peatix.com/   --------------------------------   「暗号技術の現在」 はじめにから   -------------------------------- 暗号には「秘密」がつきものであった。1955年、数学者のJohn Nashは、 NSAに対して「鍵の計算に指数関数的時間のかかる」方法を使えば、「誰にも破れない暗号を簡単に作れるようになる」という手紙を送っている。1970年代の初めには、イギリスの情報機関GCHQの科学者たちが、今日の公開キー暗号と同じものを作り上げていた。それはNSAも知っていた。ただ、それらは全て「機密」とされ、世に知られることはなかった。 なぜ、「機密」にされたかといえば、securityの問題は、第一義的に”National Security”の問題だからということなのだが、なぜそうした技術が、広く実用化されなかったという点に関して言えば、別の問題があったことに気づく。それは、当時のコンピュータには、少なくとも経済的には、こうした複雑な計算を実行する計算能力が十分ではなかったのである。 現在の暗号化技術の基本が出来上がるのは、1976/1977年のことである。その技術の真価は、80年代のコンピュータのコンシューマライゼーション(PC-AT, Windows, …)を経て、90年代半ばのインターネットのグローバルな拡大、経済活動のグローバル・ネットワーク化、個人のネットワークへの登場を通じて、全面的に開花する。この技術なしでは、今日のネットワークの成功はなかったろう。 このことは、同時に、暗号化技術が、もはや、もっぱら ”National Security”のみにかかわる技術ではなくなったことを意味する。今では、誰もが暗号化技術を必要とし、誰もがそれを、オープンな「標準技術」として利用できる。それは、大きな変化である。 暗号化技術は、その時代で利用可能なコンピュータの計算能力、その時代で利用可能な通信基盤に大きく依存している。それは歴史的に変化するものだと僕は考え

Moscaの定理

イメージ
「ひとつ、ふたつ、みっつ、あとはたくさん。」 幼児は、数えることを学んでも、すぐに50まで数えられるわけではない。未来の技術予測に関しては、僕らも、それに似ているのかもしれない。 確かに、経済人には、もっと長い展望で物事を考えている人はいるのかもしれないのだが。ただ、その経済人が暗号通貨に興味を持っているなら、是非、知ってほしい「定理」がある。 それは「Moccaの定理」という定理だ。 NISTが「ポスト量子暗号」のインフラづくりの緊急性を訴える時、繰り返し強調している「定理」である。決して理解が難しい定理ではない。 ただ、それを理解するには、僕らの技術的日常に染み込んでいる「ひとつ、ふたつ、みっつ」の世界から、要するに数年先のことしか考えないという世界から、すうっとその先に時間感覚を広げないといけない。 こういう定理だ。 xを、我々の現在の暗号技術が、何年有効であってほしいか、その年数とする。 yを、量子コンピュータの攻撃に耐える暗号インフラを構築するのに必要な年数とする。 zを、大規模な量子コンピュータが構築されるまでの年数とする。 【 Moscaの定理】 この時、x+y>z なら、暗号は破られる。 yについては、NISTは、現在の公開キー暗号のインフラを作ってきた経験から、y=20年はかかるだろうと予測している。 もしも、僕の作った暗号通貨MaruCoinが、50年は安全でいてほしいと思ったとする。x=50だ。 一方で、僕は、大規模な量子コンピュータシステムは、あと30年ぐらいでできると考えている。z=30だ。 x+y = 50+20 > 30 (z) 要するに、僕のMaruCoinは、量子コンピュータが暗号破りに使えるようになった 30年後から、40年間も破られ続けるということになる。 それは、僕のコインが50年は安全でいてほしいという希望と、量子コンピュータが30年後には実現するかもしれないという予想が矛盾していることを示している。 もちろん、未来の予測と希望からできている式なので、x,y,zの値は、自由に選べる。 僕は、僕のコインがボロボロにされるのは嫌だから、zを80まで増やすことにする。要するに、21世紀中には量子コンピュータなんかできないと考えることにする。

ビットコイン、イーサリウムと新一万円札は、どちらが長持ちするか?

イメージ
楕円関数暗号への投資の抑制を訴え、楕円関数暗号が量子コンピュータの前には「多くの人がかってそうなるだろうと期待したような長期間にわたって有効なソリューションではない」というNSAの警告に耳を傾ける必要があると思う。  NSA "Commercial National Security Algorithm Suite"   http://bit.ly/2YExs1M 多くの人は、こうした警告を知らないか、あるいはその警告がビットコイン、イーサリウムといった暗号通貨の暗号技術の脆弱性に対する警告であることに気づいていないように思う。 誤解を避ける為に言っておきたいのだが、僕は何も、暗号通貨やブロックチェーン技術がダメだと言いたいわけではない。(実際、僕の友人の多くも、こうした技術にコミットしている) 確かに、現在実装されている暗号化が、現在のコンピュータの計算能力では解けないのは、確かだと思う。すぐにでも、暗号通貨に、破局が訪れるというつもりはない。しかし、問題なのは「現在のコンピュータ」の計算能力の問題ではなく、これから台頭するだろう「量子コンピュータ」の計算能力である。 もう一つ大事なことは、量子コンピュータの「攻撃」に耐える暗号化の標準を NSAもNISTも策定中だということである。こうした量子耐性を持つ暗号化アルゴリズムを利用すれば、暗号通貨もブロックチェーンも、そのアイデアの本質的な部分は、存続していくと思う。 ただ、その存続のためには、強い暗号が必要なのだ。 「RSA-2048暗号は、2026年までにはその1/7が破られ、2031年には1/2が破られるだろう」    https://eprint.iacr.org/2015/1075.pdf というMoscaの予想が正しいとすると、2024年に発行予定の新一万円札が登場して10年も経たないうちに、ビットコインもイーサリウムも、ボロボロに破られるということになる。 その時期がいつになるのかは、僕には正確にはわからない。僕は、Moscaより、もう少し先のことだろうと考えているのだが、それが2050年代だとしても、問題は深刻である。 注意しておきたいのは、現在では、量子コンピュータは、国家か大企業のプロジェクトのレベルでしか

ビットコイン、イーサリウムと楕円曲線暗号

イメージ
ビットコイン、イーサリウム等の暗号貨幣のほとんどは、暗号化に楕円曲線暗号を用いている。 多くの人は、大きな数の素因数分解の難しさを基礎とするRSA暗号より、離散対数問題を解くことの難しさを基礎とする楕円曲線暗号の方が、強い暗号(その上暗号化の鍵のビット数も減らせて効率的)だと信じているように見える。 ただ、量子コンピュータからの「攻撃」に対して、楕円曲線暗号の方がRSA暗号より強いかと言えば、答えはノーである。楕円曲線暗号を、量子コンピュータは破ることができるのである。 このことについては、今度のマルレクで触れたいと思う。暗号貨幣・ブロック・チェイン技術について関心のある方も、ぜひ今度のマルレクに参加してほしいと思う。 https://qcrypt.peatix.com/ NSAの楕円曲線暗号についての次のような重要な勧告は、明確にビットコイン、イーサリウム等の暗号通貨のセキュリティの現状についての警告なのだが、そのことに皆が気づいているわけではないように思う。 「Suit Bの楕円曲線アルゴリズムへの移行を、まだ行なっていないパートナーならびにベンダーは、現時点で、そのための大きな支出せずに、その代わりに、来るべき量子耐性アルゴリズムへの移行を準備することを、我々は勧めてきた。」 「不幸なことに、楕円曲線の利用の拡大は、量子コンピューティング研究の絶え間ない進歩の事実と衝突するものである。すなわち、量子コンピューティングの研究は、楕円曲線暗号化は、多くの人がかってそうなるだろうと期待したような長期間にわたって有効なソリューションではないことを明らかにした。こうして、我々は、戦略の見直しを余儀なくされてきた。 」  NSA "Commercial National Security Algorithm Suite" http://bit.ly/2YExs1M Shorのアルゴリズムは、多くの人は素因数分解の量子アルゴリズムと考えているようなのだが、それはコインの片面でしかない。重要なことは、同じアルゴリズムが離散対数問題も解くということである。 Shorの原論文のタイトルは、"Polynomial-Time Algorithms for Prime Factorization and Di