投稿

[量子コンピューター]量子コンピューターの種類

イメージ
最終更新日:2020/09/24 こんにちは、マサです。 2020年から量子コンピューターのプログラミングもするようになりました。 エンジニアとしての開発経験は15年を超え、数学は機械学習を使うようになってから4年間勉強を続け、量子力学は学習を始めてから1年になります。 さて、最近は量子コンピューターに関するニュースを見る機会が増えてきました。 量子コンピューターについて調べると、量子コンピューターにはいくつかの種類があることがわかるはずです。 そして、以下のような疑問を抱くと思います。 量子コンピューターにはどんな種類があるのか 量子コンピューターの種類による違いはなにか 今から学習するならどの種類の量子コンピューターを選ぶべきか この記事では、これらの疑問を解決します。 量子コンピュータの種類を理解して、自分の携わるビジネスにあった量子コンピュータの学習を開始してみてください 目次 1. 量子コンピューターの種類 2. 量子コンピューターの種類による違いを理解する 2-1. 量子アニーリング型 2-2. 量子ゲート型 3. どちらを学習するべきか 4. まとめ 1. 量子コンピューターの種類 量子コンピューターの種類を大きく分けると 量子ゲート型 量子アニーリング型 の二つになります。 この二つは、大きく特性が異なります。 量子コンピューターを使うには、この両者の違いをしっかり理解しておく必要があります。 なてい 2. 量子コンピューターの種類による違いを理解する 量子ゲート型と量子アニーリング型では、コンピューターの特性も、得意としていることも、期待されている用途も違います。 まずは量子アニーリング型を説明します。 2-1. 量子ア

[統計]ベルヌーイ分布[python]

イメージ
最終更新日:2020/09/22 こんにちは、マサです。 機械学習を開始してから4年の月日が経ちました。 エンジニアとしての開発経験は15年を超えて、分析、モデルの作成、アプリケーションの実装も行なっています。 機械学習や深層学習は、アプリケーション上で動かすのが当たり前の技術になりつつあります。 いまや分析のスキルは、データサイエンティスト以外でも最低限の知識が求められてきてます。 この記事では、統計学の基礎であるベルヌーイ分布について説明します。 この記事を読むことで ベルヌーイ分布とはなにか サンプルを使った具合的なベルヌーイ分布の理解 pythonを使ったベルヌーイ分布の実装 どんな場合に使われているのか がわかります。 ベルヌーイ分布の理解を深めて、さらなる高度なスキルの理解にも役立ててください。 目次 1. ベルヌーイ分布を理解する 2. サンプルでベルヌーイ分布を理解する 3. pythonでベルヌーイ分布を実装する 4. どんな場合に使われているのか 5. まとめ 開発環境 Google Colab 1. ベルヌーイ分布を理解する ベルヌーイ分布は ベルヌーイ試行の結果の分布 です。 ベルヌーイ試行は、 実行のたびに結果が確率的に変動し、成功・失敗のように2値であるもの です。 例としては、 コイン投げ があげられます。 コイン投げは、投げるたびに結果が異なり、結果は表が出る、裏が出る、のいずれかになるのでベルヌーイ試行です。 他にも、バスケットのフリースローの成功、失敗や、野球のピッチングのストライク、ボールもベルヌーイ試行です。 2. サンプルでベルヌーイ分布を理解する ベルヌーイ分布は成功確率 p というパラメーターを持ちます。 サンプルとして、 表と裏が出る確率が同

[量子コンピューター]みんなの量子コンピュータ[書評]

イメージ
最終更新日:2020/09/18 こんにちは、マサです。 2020年から量子コンピューターのプログラミングを開始しました。 きっかけは、機械学習のモデルトレーニングで量子コンピュータを使いたいと考えたからです。 エンジニアとしての開発経験は15年を超え、数学は機械学習を使うようになってから4年間勉強を続け、量子力学は学習を始めてから1年になります。 先日、「みんなの量子コンピュータ」という本を読みました。 この本は、 現在量子プログラミングを勉強している人 、もしくは これから量子プログラミングをしようかと考えている人 にオススメの本です。 2020年9月現在出版されている 量子コンピューターの本で一番の完成度 だと思います。 理由は 最低限ではあるが線形代数の説明まで書かれている 論理や量子ゲートのの計算過程が丁寧に記述されている 量子アルゴリズムの説明が詳細である この記事では、「みんなの量子コンピュータ」の本についての内容を深掘りします。 この記事を読めば、 あなたにこの本を読む知識が備わっているか 他の本を買うべきか がわかります。 目次 1. 本の対象読者 2. 本の対象外の読者 3. 概要 4. 良い点 5. 悪い点 6. まとめ 1. 本の対象読者 この本の対象読者は 理系大学1年生程度の、数学、物理の知識が身についている人 です。 本書の内容を理解するうえで特に重要なのが、 線形代数 の知識です。 具体的には 行列の足し算 行列の引き算 行列の掛け算 正規直交基底 ユニタリ行列 などの、行列の基本的な性質です。 これらは本書の内容を理解するうえで 非常に大切な知識 なので、 第2章の全てを線形代数

[量子コンピューター]量子コンピューターと日本

イメージ
最終更新日:2020/09/24 こんにちは、マサです。 2020年から量子コンピューターのプログラミングもするようになりました。きっかけは、機械学習のモデルトレーニングで利用できないかと考えたからです。 エンジニアとしての開発経験は15年を超え、数学は機械学習を使うようになってから4年間勉強を続け、量子力学は学習を始めてから1年になります。 さて、最近は量子コンピューターに関するニュースを見る機会も増えてきました。 しかし、出てくるニュースはアメリカ、中国発信がほとんどです。 日本で、量子コンピューターでよく見聞きするのは 「量子コンピューターの完成でシンギュラリティが起きる。日本ヤバイ」 といった、知識のない人の不安を煽る「悲観論ビジネス」の道具としてです。 しかし、知りたいのはこういうPV稼ぎの煽り記事でなく、 客観的な日本の量子コンピューターの状況 ではないでしょうか。 具体的には 日本の量子コンピューターは海外と比べて優位なのか、それとも不利なのか 日本の量子コンピューターを扱う企業で世界と競争している会社はあるのか 日本は今後どのように量子コンピューターと向き合っていくべきなのか です。 この記事では、これらの疑問を解決します。 日本の量子コンピューターの状況が気になっている人は、是非参考にしてください。 目次 1. 基礎技術はあるが世界と比較すると後手に回っている 2. 量子を扱う企業と取り組み 3. 日本が取るべき戦略 4. まとめ 1. 基礎技術はあるが世界と比較すると後手に回っている 日本の状況を知るためには、世界の状況も知っておく必要があります。 量子コンピューターの開発が世界でもっとも進んでいる国が アメリカ です。 IBM、Google、Microsoft、AmazonといったIT企業の巨人から、Rigetti Computing, Zapata Comput

[量子コンピューター]量子コンピューターのプログラミング

イメージ
最終更新日:2020/09/24 こんにちは、マサです。 2020年から量子コンピューターのプログラミングもするようになりました。 エンジニアとしての開発経験は15年を超え、数学は機械学習を使うようになってから4年間勉強を続け、量子力学は学習を始めてから1年になります。 さて、最近は量子コンピューターに関するニュースを見る機会が増えてきました。 なので、 「自分も量子コンピューターでプログラミングをしてみようかな」 と考えている人は多いのではないでしょうか。 しかし、量子コンピューターのプログラミングを開始すると、以下の疑問がでてくると思います。 量子コンピューターのプログラミングってなにすればいいの? 量子力学の知識は必要? 量子コンピューターで使うプログラミング言語は? 量子コンピューターの学習環境ってどう構築するの? どんな仕事があるの? この記事では、これらの疑問を解決します。 今の量子コンピュータは、まだ人を選ぶ段階の技術なので、量子コンピュータプログラミングの学習を考えている人は、是非参考にしてください。 目次 1. 量子コンピュータープログラミングとは 2. 量子力学の知識 3. 量子コンピューターのプログラミング言語 4. 量子コンピューターの学習環境 5. 仕事 6. まとめ 1. 量子コンピュータープログラミングとは 量子コンピューターを使ったプログラミングの目的は 問題を解決する ことです。 現在のコンピュータを使ったプログラミングは WEBサイトやアプリの作成 インフラなどのシステム開発 作業の自動化 などで主に使われています。 しかし、量子コンピューターは、上記の作業には向いてません。今後も使われる可能性は低いです。 量子コンピューターを使ったプログ

[量子コンピューター]量子コンピューターの活用

イメージ
最終更新日:2020/09/23 こんにちは、マサです。 2020年から量子コンピューターのプログラミングもするようになりました。 エンジニアとしての開発経験は15年を超え、数学は機械学習を使うようになってから4年間勉強を続け、量子力学は学習を始めてから1年になります。 最近は、量子コンピューターを巡る動きが活発です。 「量子コンピューターが完成すれば世界が変わる」 こういった流言を信じる人が大勢いる量子コンピューターですが、言い換えれば、それだけ期待されているということでもあります。 そして、今年2020年も、量子コンピューターは色々と動きが出ている年になっています。 まず、大きなニュースとして、 Amazon Braket が一般公開されたことがあげられます。 これにより、今までより安い価格で量子コンピューターを試すことができるようになりました。 現在の量子コンピューターは価格が高く、なにかを試してみようと思っても、一部の大企業以外が量子コンピュータに触れることはほぼ不可能でした。 それが、Amazon Braketの一般公開により、お手軽な価格で試すことができるようになりました。これは、量子コンピューター実用化への大きな一歩といえます(個人レベルでは厳しいですが)。 Amazon以外のIT大手であるMicrosoftやgoogleも量子コンピューターに力を入れています。なので、絶対不可能だと言われていた量子コンピューターが20年後、つまり2040年くらいに実用化される可能性が出てきたように思えます。 一方で、量子コンピューターがどのような分野で活用されることが期待されているかを、将来利用者となる皆さんはキチンと理解しているでしょうか。 世の中の意見をみると、量子コンピューターがやれることを理解せずに、イメージだけで過大評価している人が多いような気がしています。 なので、この記事では、量子コンピューターの活用が期待されている分野について記載します。 量子コンピューターができることを理解して、未来の生活に備えてください。 目次 1. 量子コンピューターの活用が期待される

[GraphQL]graphql-rubyでrspecのテストコードを実装する

イメージ
最終更新日:2020/09/08 こんにちは、マサです。 graphql-rubyでテストコードを実装する機会がありました。なので、graphql-rubyのテストコードの書き方を記載します。 色々と調べると分かりますが、graphql-rubyのテストコードの書き方の情報は少ないです。なので、graphql-rubyのテストコードの書き方に悩んでいる開発者の役に立てば良いと思ってこの記事を書きました。 対象読者 GraphQL経験者 graphql-ruby経験者 rails,rspec経験者 記事の著者について twitter や youtube でソフトウェア開発について話しています。 興味がある方は、フォローもよろしくお願いします。 目次 1. 公式サイトでテストの実装方法を学ぶ 2. シンプルなGraphQLで学習 3. テストコード 4. 引数のあるテストコード 5. contextがあるテストコード 6. mutationのテストコード 7. まとめ 1. 公式サイトでテストの実装方法を学ぶ まずは公式サイトの graphql-rubyのテストについての記事 を読んで全体の概要を理解します。 この記事で分かるのは、 GraphQL-Rubyのテストでやるべきは二つのテスト 一つがスキーマのテスト もう一つが、GraphQLシステム全体を実行する統合テスト です。 特にgraphQLインターフェーステストは、 graphQLインターフェースをテストする最良の方法は、(MySchema.execute(...)を使用して)GraphQLシステム全体を実行する統合テストです。 統合テストを使用することで、GraphQL-Rubyのすべての内部システムが有効であることを確認できます