言語・プログラミング - 講談社 - KS情報科学専門書作品一覧

  • Python数値計算プログラミング
    -
    《Pythonで数値計算の基本をより実践的に!》 □NumPy、SciPyを動かしながら、数値計算の基本を学ぶフルカラーテキスト! □浮動小数点演算の基礎から偏微分方程式の数値解法までを一冊に凝縮! □Pythonスクリプトはサポートページにて無料公開! 【サポートページ】 https://github.com/tkouya/inapy 【目次】 第1章 数値計算と数学ソフトウェア 第2章 数の体系,コンピュータ,浮動小数点数 第3章 Pythonことはじめ 第4章 丸め誤差の評価方法と多倍長精度浮動小数点計算 第5章 初等関数の計算 第6章 基本線形計算 第7章 連立一次方程式の解法1 ―直接法 第8章 連立一次方程式の解法2 ―疎行列と反復法 第9章 行列の固有値・固有ベクトル計算 第10章 非線形方程式の解法 第11章 補間と最小二乗法 第12章 関数の微分と積分 第13章 常微分方程式の数値解法 第14章 偏微分方程式の数値解法
  • 1週間で学べる! Julia数値計算プログラミング
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 いま話題の新しい言語「Julia」を7日間で速習! プログラミングが初めてでも読みやすい解説を通じて、具体的課題に適用しながら基礎から応用まで身につける。簡単、気軽に誰でも科学技術計算ができる! ◇おもな目次◇ 1日目 Julia言語に触れてみよう――「高級電卓」としてのJulia  1.1 インストールしてみよう  1.2 実行してみよう  1.3 電卓のように使ってみよう  1.4 変数を使ってみよう 2日目 数式をコードにしてみよう――Julia言語の基本機能  2.1 関数を作ってみる:function  2.2 条件分岐をしてみる:if文  2.3 繰り返し計算をしてみる:for文  2.4 行列とベクトルを扱う:配列  2.5 型について考える:型と多重ディスパッチ  2.6 パラメータや変数をまとめる:struct  2.7 一通りのセットとしてまとめる:module  2.8 微分方程式を解く:パッケージの使用  2.9 数式処理(代数演算)をする:他の言語のライブラリを呼ぶ 3日目 円周率を計算してみよう――簡単な計算と結果の可視化  3.1 計算を始める前に  3.2 正多角形による方法:漸化式で計算  3.3 無限級数による方法:結果のプロットと複数の方法の比較  3.4 数値積分による方法:区分求積法ほか  3.5 モンテカルロ法:乱数を使う  3.6 球衝突の方法:シミュレーションの可視化 4日目 具体例1:量子力学――微分方程式と線形代数  4.1 時間依存のない1次元シュレーディンガー方程式:固有値問題を解く  4.2 時間依存のない2次元シュレーディンガー方程式:特殊関数を使う  4.3 波動関数の時間発展:行列演算を行う 5日目 具体例2:統計力学――乱数を使いこなす  5.1 手作り統計力学:ヒストグラム表示  5.2 イジング模型のモンテカルロシミュレーション:可視化と動画作成 6日目 具体例3:固体物理学――自己無撞着計算と固有値問題  6.1 強束縛模型:対角化とフーリエ変換  6.2 超伝導平均場理論:自己無撞着計算 7日目 自分の問題を解いてみよう  7.1 用途別必要機能まとめ  7.2 妙に遅いとき:高速化の方針  7.3 さらに速く:並列計算をする ※この商品は紙の書籍のページを画像にした電子書籍です。文字だけを拡大することはできませんので、タブレットサイズの端末での閲読を推奨します。また、文字列のハイライトや検索、辞書の参照、引用などの機能も使用できません。
  • Kaggleに挑む深層学習プログラミングの極意
    4.5
    ★最強最短の近道は、これだ!★ ・画像・自然言語処理の機械学習コンテストに取り組みながら、深層学習の具体的な知識をいち早く身につけよう! ・レジェンドたちの豊富な経験に基づくスキルアップのノウハウも満載! 【主な内容】 第1章 機械学習コンテストの基礎知識 1.1 機械学習コンテストのおおまかな流れ 1.2 機械学習コンテストの歴史 1.3 機械学習コンテストの例 1.4 計算資源 第2章 探索的データ分析とモデルの作成・検証・性能向上 2.1 探索的データ分析 2.2 モデルの作成 2.3 モデルの検証 2.4 性能の向上 第3章 画像分類入門 3.1 畳み込みニューラルネットワークの基礎 3.2 コンテスト「Dogs vs. Cats Redux」の紹介 3.3 最初の学習:CNNアーキテクチャ 3.4 最初の学習:データセットの準備と学習ループ 3.5 最適化アルゴリズムと学習率スケジューリング 3.6 データ拡張 3.7 アンサンブル 3.8 さらにスコアを伸ばすために 第4章 画像検索入門 4.1 画像検索タスク 4.2 学習済みモデルを使ったベースライン手法 4.3 ベースラインを実装する 4.4 距離学習を学ぶ 4.5 画像マッチングによる検証 4.6 クエリ拡張を学ぶ 4.7 Kaggleコンテストでの実践 第5章 テキスト分類入門 5.1 Quora Question Pairs 5.2 特徴量ベースのモデル 5.3 ニューラルネットワークベースのモデル
  • 機械学習スタートアップシリーズ ゼロからつくるPython機械学習プログラミング入門
    -
    ★★理論と実装のバランスがよい、「機械学習 with Python」の決定版★★ ■機械学習モジュールが普及することにより、かえって学びづらくなった機械学習アルゴリズムの基本を徹底マスター! ■scikit-learnを使わない、numpyとpandasのみのコーディングで、実装力がスキルアップ! ■ブラックボックスの中身を理解し、一生モノの知識を身につけよう! 【本書のサポートページ】すぐに実践できるコードがWeb公開! https://github.com/hhachiya/MLBook  【機械学習スタートアップシリーズ】 https://www.kspub.co.jp/book/series/S042.html 【主な内容】 第1章 機械学習とは何か 第2章 Python入門 第3章 数学のおさらい(線形代数、最適化、確率、統計) 第4章 回帰分析(線形回帰分析、ロジスティック回帰分析) 第5章 分類(線形判別分析、サポートベクトルマシン、ナイーブベイズ法、決定木) 第6章 カーネルモデル 第7章 ニューラルネットワーク 第8章 強化学習 第9章 教師なし学習(主成分分析、因子分析、クラスター分析)
  • これからのロボットプログラミング入門 第2版 Pythonで動かすMINDSTORMS EV3
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ★ビジュアルプログラミングからオブジェクト指向プログラミングへ。さあ、はじめよう!★ MicroPython ver2.0に対応した改訂版。LEGO MINDSTORMS EV3を用いるロボットプログラミングもPythonで自由自在! ソースコードの解説が丁寧だから大丈夫。プログラムを書いて、すぐロボットが動くからSTEM教育の導入としても最適。センサ、機構、ライントレース、Open Roberta Labなどの発展的な話題も豊富。 いま、テキストベースのプログラミング言語Pythonが注目されています。人工知能(AI)を応用したアプリケーション開発やビッグデータ解析、ロボットアプリケーション開発などの分野でよく使用されており、さらに初心者のプログラミング学習にも向いています。したがって、Pythonを学ぶことは、ロボットプログラミングを始めたい人にとって大いに意味があります。 本書では、EV3ソフトウェアとPythonでプログラムを書きます。2つのプログラムの対応がよくわかるように、EV3ソフトウェアのプログラムを説明した後に、Python のプログラムを説明します。Pythonのプログラムの説明では、EV3ソフトウェアのプログラム中のブロックに相当する手続きがどこで使われているかについても説明します。 【主な内容】 1章 はじめに 2章 プログラミングの準備をしよう 3章 ロボットプログラミングをはじめよう 4章 ロボットを動かしてみよう (基本プログラム/ ステータスライトを光らせる/ 音を鳴らす/ ディスプレイに文字を描画する/ モーターを回転させる) 5章 センサーを使って動かそう (EV3 で使用できるセンサー/ タッチセンサーを使おう/ カラーセンサーを使おう/ ジャイロセンサーを使おう/ 超音波センサーを使おう/ モーター回転センサーを使おう) 6章 オリジナルロボットを作ろう (ロボット製作のための力学・機構/ 力学・機構のための数学的準備/ 力学の基礎/ 基本的な機構/ 車輪移動機構/ ロボットアームとエンドエフェクター) 7章 実践してみよう (ボタンを押してすぐに実行する/ 複雑な動作をプログラミングするためのテクニック/ ライントレース/ 線の検出) 8章 Open Roberta Lab (Open Roberta Labとは/ 画面の説明/ プログラミング/ 保存と読み込み/ シミュレーター/ ロボットの設定/Open Roberta Lab からEV3 を動かす) 付録A リファレンス ※この商品は紙の書籍のページを画像にした電子書籍です。文字だけを拡大することはできませんので、タブレットサイズの端末での閲読を推奨します。また、文字列のハイライトや検索、辞書の参照、引用などの機能も使用できません。
  • 実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門
    4.4
    「基本をより実践的に!」学べる新シリーズの第一弾は、「統計モデリングの世界」へのファーストブック。基礎から学べる超入門!・チュートリアル形式だから、すぐに実践できる!・統計、確率、ベイズ推論、MCMCの基本事項から、やさしくサポート!・brmsやbayesplotなどのパッケージの使い方も、しっかり身につく!・一般化線形モデル(GLM)→一般化線形混合モデル(GLMM)→動的線形モデル(DLM)→動的一般化線形モデル(DGLM)を体系的に学べる!【本書のサポートページ】https://logics-of-blue.com/r-stan-bayesian-model-intro-book-support/ 【実践Data Scienceシリーズ】 「基本をより実践的に!」を合言葉に、データサイエンスで用いられる各種手法の基本を、プログラミングの実装とともに解説していきます。はじめて学ぶ大学生、大学院生、ソフトウェアエンジニアに向けた注目の新シリーズです。【主な内容】1部 【理論編】ベイズ統計モデリングの基本 1.はじめよう! ベイズ統計モデリング 2.統計学の基本 3.確率の基本 4.確率分布の基本 5.統計モデルの基本 6.ベイズ推論の基本 7.MCMCの基本/2部 【基礎編】RとStanによるデータ分析 1.Rの基本 2.データの要約 3.ggplot2によるデータの可視化 4.Stanの基本 5.MCMCの結果の評価 6.Stanコーディングの詳細/3部 【実践編】一般化線形モデル 1.一般化線形モデルの基本 2.単回帰モデル 3.モデルを用いた予測 4.デザイン行列を用いた一般化線形モデルの推定 5.brmsの使い方 6.ダミー変数と分散分析モデル 7.正規線形モデル 8.ポアソン回帰モデル 9.ロジスティック回帰モデル 10.交互作用/4部 【応用編】一般化線形混合モデル 1.階層ベイズモデルと一般化線形混合モデルの基本 2.ランダム切片モデル 3.ランダム係数モデル/5部 【応用編】状態空間モデル 1.時系列分析と状態空間モデルの基本 2.ローカルレベルモデル 3.状態空間モデルによる予測と補間 4.時変係数モデル 5.トレンドの構造 6.周期性のモデル化 7.自己回帰モデルとその周辺 8.動的一般化線形モデル:二項分布を仮定した例 9.動的一般化線形モデル:ポアソン分布を仮定した例
  • 実践Data Scienceシリーズ PythonではじめるKaggleスタートブック
    4.4
    シリーズの第2弾は、初学者向けのKaggle入門書の決定版! ★「Kaggleで勝つ」準備をしよう!★ 初学者が「Kaggleに何となく興味ある」状態から「実際のコンペに参加できる」状態になれるような内容を目指しました。 ・サンプルコードの詳細な解説があるから、しっかり身につく! ・優勝チームと専業Kagglerのコンビによる、安定のわかりやすさ! ・充実の本音対談で、やさしくサポート! ・初学者や手探りでやっているが体系的な知識を得たい人に最適。 【本書のサポートページ】 https://github.com/upura/python-kaggle-start-book 【実践Data Scienceシリーズ】 https://www.kspub.co.jp/book/series/S069.html 【主な内容】 第1章 Kaggleを知る 1.1 Kaggleとは 1.2 Kaggleで用いる機械学習 1.3 Kaggleのアカウントの作成 1.4 Competitionsページの概要 1.5 環境構築不要な「Notebooks」の使い方 第2章 Titanicに取り組む 2.1 まずはsubmit! 順位表に載ってみよう 2.2 全体像を把握! submitまでの処理の流れを見てみよう 2.3 次の一手を見い出す! 探索的データ分析をしてみよう 2.4 ここで差がつく! 仮説に基づいて新しい特徴量を作ってみよう 2.5 勾配ブースティングが最強?! いろいろな機械学習アルゴリズムを使ってみよう 2.6 機械学習アルゴリズムのお気持ち?! ハイパーパラメータを調整してみよう 2.7 submitのその前に! 「Cross Validation」の大切さを知ろう 2.8 三人寄れば文殊の知恵! アンサンブルを体験しよう. 第3章 Titanicの先に行く 3.1 複数テーブルを扱う 3.2 画像データを扱う 3.3 テキストデータを扱う 第4章 さらなる学びのために 4.1 参加するコンペの選び方 4.2 初学者にお勧めの戦い方 4.3 分析環境の選択肢 4.4 お勧めの資料・文献・リンク 付録A サンプルコード詳細解説 A.1 第2章 Titanicに取り組む A.2 第3章 Titanicの先に行く
  • 実践Data Scienceシリーズ Pythonではじめるテキストアナリティクス入門
    4.0
    ★基礎技術と分析アプローチがわかる入門書の決定版!★ ・「spaCy+GiNZA」による一気通貫の分析がすぐに実践できる ・観光/金融・経済/ソーシャルメディアの分析事例をていねいに解説 ・つまずきやすい「環境構築」もしっかりサポート 【本書はこんな人におすすめです】 ・Pythonの基本が身についたので、次はテキストアナリティクスを学んでみたい ・大学の講義やプログラミングスクールなどで自然言語処理について少し触れたが、もう少し詳しく学びたい ・テキストアナリティクスにつまずいたことがあったり、ブランクがあったりして再挑戦してみたい 【本書「巻頭言」より抜粋】 アイディア次第でさまざまな分析が可能になるのがテキストアナリティクスの面白さです.その反面,多くの場合,簡単に結果が出るものではありません.諦めずに試行錯誤を続けることが重要です.基本的には多様な可能性に思いを巡らせることが有効です.それには経験の蓄積が活きてきますので,やればやるほど成果を出しやすくなります.自分で実際にデータを処理し,試行錯誤をしてみるのがテキストアナリティクスのスキルを向上させる近道です.その考えから,本書では試してみることを重要視しています. ――那須川哲哉(日本アイ・ビー・エム株式会社東京基礎研究所主席研究員) 【サポートページ】 https://github.com/tksakaki/kspub_ds_text_analytics 【主な内容】 第I部 テキストアナリティクスの基礎 第1章 テキストアナリティクスことはじめ 第2章 プログラミングの補足知識 第3章 環境構築 第4章 基礎技術   第II部 テキストアナリティクスの実践 第5章 データ収集 第6章 観光テキストの解析 第7章 金融・経済テキストの解析 第8章 ソーシャルメディアテキストの解析 第III部 応用技術・発展的な内容 第9章 実践的なテクニック 第10章 深層学習技術 第11章 環境構築の要らないテキストアナリティクス 付録 本書で利用するPythonライブラリ 【編著者紹介】 榊 剛史 株式会社ホットリンク 開発本部R&D 部長 東京大学未来ビジョン研究センター 客員研究員 中国・清華大学による世界的なAI研究者2000人に選出。2006年電力会社にて情報通信業務に従事した後、東京大学博士課程に入学。2013年松尾研究室にて博士号取得。2015年~株式会社ホットリンクに入社。
  • Juliaプログラミング大全
    -
    ★国内きってのJulianによる、かゆいところに手が届く名解説!★ ★基礎から実践まで、幅広いトピックを網羅した。必携の決定版!★  本書はJuliaの知識を前提としません。本書で初めてJuliaを学ぶ読者のために、基礎から実践まで幅広いトピックを取り扱っています。Juliaに興味を持って本書を手にとった方は、きっと科学技術計算に役立つ新しいプログラミング言語としてJuliaに興味を持った方がほとんどでしょう。本書はそうした人たちに向けて書かれています。したがって、一般的なプログラミング言語の書籍より、やや科学技術寄りの内容を多く取り扱っています。具体的には、理数系の学生や、技術計算・データ解析などを専門とする技術者や研究者を主なターゲットとしています。  本書は大きく分けて4つのパートに分かれます。第1部は、Juliaの導入です。第2部で言語の基礎的な構文・型システム・機能を解説します。続く第3部は、標準ライブラリを中心としたライブラリの紹介です。最後の第4部は、パッケージ管理と開発・性能改善などの実践的な知識を扱います。 【主な内容】 第1部 導入 第1章 Julia観光 第2章 環境構築 第3章 ファーストステップ 第2部 データと言語の基礎 第4章 数値と算術 第5章 コレクション 第6章 文字列 第7章 スコープと構文 第8章 型システム 第9章 多重ディスパッチ 第10章 メタプログラミング 第3部 ライブラリ 第11章 科学技術計算 第12章 並行プログラミング 第13章 システムプログラミング 第14章 外部プログラムの実行 第15章 他のプログラミング言語との連携 第4部 開発 第16章 パッケージ管理と開発 第17章 開発実践ガイド 第18章 性能の改善 付録A Markdown 付録B TOML 付録C GitとGitHubの基本
  • GPUプログラミング入門 -CUDA5による実装
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 初学者にも、上級者にも、必ず役立つ! 世界初の入門書!・NVIDIA社協力のもと、新アーキテクチャ「Kepler」および「CUDA5」をもとに解説。・数値計算への応用例も多彩で、付録にサンプルプログラムを26ページ掲載。・FortranによるCUDAプログラミングも紹介。
  • ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで
    -
    通読して学習するRust入門書! 単なる文法の解説にはとどまらない。 実践的なソフトウェアの実装と、Rustの安全性を支える理論の学習を通して、ゼロから徹底的にマスターできる! サンプルコードもサポートページから提供! 第1章 環境構築とHello, world! 第2章 Rustの基本 第3章 所有権・ライフタイム・借用 第4章 トレイト 第5章 モジュール・ドキュメント・テスト 第6章 正規表現 第7章 シェル 第8章 デバッガ 第9章 線形型システム
  • Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ブロックチェーンを用いたスマートコントラクト構築に必須の言語であるSolidityの入門書。SE、エンジニア、アプリ開発者必携! 【目 次】 第1章 ブロックチェーン,イーサリアム,スマートコントラクト入門 第2章 イーサリアム,solidityのインストール 第3章 Solidity入門 第4章 グローバル変数と関数 第5章 式と制御構造  第6章 スマートコントラクトの作成 第7章 関数,修飾子,fallback 第8章 例外,イベント,ロギング 第9章 Truffleの基礎と単体テスト 第10章 コントラクトのデバッグ ※この商品は紙の書籍のページを画像にした電子書籍です。文字だけを拡大することはできませんので、タブレットサイズの端末での閲読を推奨します。また、文字列のハイライトや検索、辞書の参照、引用などの機能も使用できません。
  • Pythonでスラスラわかる ベイズ推論「超」入門
    -
    ★数学とプログラミングを対比させながら、一歩一歩わかりやすく! 実務に即してPyMC5プログラミングでベイズ推論を使いこなせるようになる。 最初の一冊として、データサイエンティストにおすすめ! 【サポートサイト】 https://github.com/makaishi2/python_bayes_intro 【主な内容】 第1章 確率分布を理解する 1.1 ベイズ推論における確率分布の必要性 1.2 確率変数と確率分布 1.3 離散分布と連続分布 1.4 PyMCによる確率モデル定義とサンプリング 1.5 サンプリング結果分析 1.6 確率分布とPyMCプログラミングの関係 第2章 よく利用される確率分布 2.1 ベルヌーイ分布(pm.Bernoulliクラス) 2.2 二項分布(pm.Binomial クラス) 2.3 正規分布(pm.Normal クラス) 2.4 一様分布(pm.Uniform クラス) 2.5 ベータ分布(pm.Beta クラス) 2.6 半正規分布(pm.HalfNormal クラス) 第3章 ベイズ推論とは 3.1 ベイズ推論利用の目的 3.2 問題設定 3.3 最尤推定による解法 3.4 ベイズ推論による解法 3.5 ベイズ推論の精度を上げる方法 3.6 ベイズ推論の活用例 第4章 はじめてのベイズ推論実習 4.1 問題設定 (再掲) 4.2 最尤推定 4.3 ベイズ推論 (確率モデル定義) 4.4 ベイズ推論 (サンプリング) 4.5 ベイズ推論 (結果分析) 4.6 ベイズ推論 (二項分布バージョン) 4.7 ベイズ推論 (試行回数を増やす) 4.8 ベイズ推論 (事前分布の変更) 4.9 ベータ分布で直接確率分布を求める 第5章 ベイズ推論プログラミング 5.1 データ分布のベイズ推論 5.2 線形回帰のベイズ推論 5.3 階層ベイズモデル 5.4 潜在変数モデル 第6章 ベイズ推論の業務活用事例 6.1 ABテストの効果検証 6.2 ベイズ回帰モデルによる効果検証 6.3 IRT (Item Response Theory)によるテスト結果評価
  • Pythonではじめるベイズ機械学習入門
    4.0
    ★確率的プログラミング言語がすぐに使える!★ ・Pythonでのコーディングを前提に、PyMC3、Pyro、NumPyro、TFP、GPyTorchをカバー。 ・回帰モデルの基本から潜在変数モデル・深層学習モデルまでを幅広く解説。 【主な内容】 第1章 ベイジアンモデリングとは 1.1 データ解析とコンピュータ 1.2 ベイジアンモデリングの基礎 1.3 代表的な確率分布 1.4 近似推論手法 第2章 確率的プログラミング言語(PPL) 2.1 ベイジアンモデリングとPPL 2.2 自動微分・最適化アルゴリズム 2.3 PyMC3の概要 2.4 Pyroの概要 2.5 NumPyroの概要 2.6 TensorFlow Probabilityの概要 2.7 GPyTorchの概要 第3章 回帰モデル 3.1 線形回帰モデル:線形単回帰モデル 3.2 線形回帰モデル:線形重回帰モデル 3.3 一般化線形モデル:ポアソン回帰モデル 3.4 一般化線形モデル:ロジスティック回帰モデル 3.5 階層ベイズモデル 3.6 ガウス過程回帰モデル:ガウス尤度 3.7 ガウス過程回帰モデル:尤度の一般化 第4章 潜在変数モデル 4.1 混合ガウスモデル 4.2 行列分解モデル 4.3 状態空間モデル 4.4 隠れマルコフモデル 4.5 トピックモデル 4.6 ガウス過程潜在変数モデル 第5章 深層学習モデル 5.1 ニューラルネットワーク回帰モデル 5.2 変分自己符号化器 5.3 PixelCNN 5.4 深層ガウス過程 5.5 正規化流
  • ブロックチェーン技術概論 理論と実践
    -
    ブロックチェーンの決定版教科書! 基礎から実践まで、豊富なイラストでよくわかる。学生からSE、エンジニアまでブロックチェーンを学びたい全ての人のためのテキスト。 トラストレスとは? 分権とは? コンセンサスとは? 知っているようできちんと知らないキーワードがしっかりわかる。最新の暗号技術、匿名化技術、ゲーム理論、分散処理技術の基礎知識と合わせながら学ぶことができる。 大学の講義や企業の技術者教育に用いることができるよう、15章立てで構成。章末の演習問題付き。本文カラー。 〔 目 次 〕 Chapter 1 ブロックチェーン技術の原点 Chapter 2 ブロックチェーンの概要 Chapter 3 スマートコントラクトと分散台帳 Chapter 4 ブロックチェーンを構成する暗号技術の基礎 Chapter 5 ビットコインのシステム構成と仕組み Chapter 6 ビットコインの仕組みの詳細 Chapter 7 P2Pネットワーク Chapter 8 さまざまなノード実装 Chapter 9 トークンの表現と利用 Chapter 10 ブロックチェーンのスケーラビリティ Chapter 11 暗号技術とスマートコントラクト Chapter 12 ブロックチェーンと匿名化技術 Chapter 13 ブロックチェーンを利用したシステム構成 Chapter 14 ブロックチェーン特有のリスク Chapter 15 ブロックチェーンのビジネスへの導入 付録 数学的基礎
  • 問題解決力を鍛える!アルゴリズムとデータ構造
    4.4
    ★この本を買わずして何を買う!!★ 競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。 【推薦の言葉】 プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。 また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。 ――河原林健一(国立情報学研究所副所長) 【全体を通して、アルゴリズムの設計技法を重視した構成】 まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。 その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。 そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。 最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。

最近チェックした本