検索結果

  • 問題解決力を鍛える!アルゴリズムとデータ構造
    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章) といった設計技法が活躍します。
  • プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~
    3.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 [本当の力がつくアルゴリズムの本] プログラミングコンテストの問題を通してアルゴリズムのしくみや考え方を楽しく習得。 プログラミングコンテストにて世界トップレベルの成績を誇る著者たちが、コンテストで得た知識やノウハウを難易度別にまとめました。初心者が取り組めるアルゴリズムの基本問題から、世界中のプログラマを悩ませた難問まで。“プログラミング脳”を活性化するための問題を厳選して紹介します。 「プログラミングコンテスト」は上級者だけのものではありません。多くの場合は初級者向けの問題も用意され、幅広い参加者が楽しめるよう配慮されています。良い成績を収められなくてもプログラミング能力を向上させることにつながり、何より、楽しく充実した時間を過ごせます! 本書を読むにあたって必要なものは「基礎的なプログラミング能力」だけです。掲載したソースコードはC++ですが基本的な機能のみで記述しており、C++での開発経験がなくても読みやすいように配慮しました。 難易度別に分けて構成し、内容の多いトピックは難易度ごとに何度か扱っています。各トピックは説明と例題からなっています。 第2版となる本書では、4つの新しいトピック「平面・空間を扱う“計算幾何”」「工夫を凝らして賢く“探索”」「分けて解いてまとめる!“分割統治法”」「“文字列”を華麗に扱う」を追加した他、より理解を深めるための練習問題の紹介や、さらなる高みを目指す読者のために発展的内容の紹介を行い、より一層充実した内容になっています。 現役プログラマだけでなくプログラマを目指している方にもぜひ読んでいただきたい1冊です!
  • アルゴリズム実技検定 公式テキスト[上級]~[エキスパート]編
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 世界最高峰の競技プログラミングコンテストサイトのAtCoderが主催するアルゴリズム実技検定試験「PAST」の公式対策本! ■アルゴリズム実技検定(PAST)とは AtCoder株式会社が主催する検定試験で、IT人材に求められるプログラミングスキルを可視化することを目的としています。プログラミングの基礎知識から、各種アルゴリズムの解説、数学的な問題解決方法まで、試験対策を行うことでこれからのソフトウェアエンジニアに要求される知識を見につけることができます。 ■PASTの上級~エキスパート認定まで対応 さまざまなアプローチが考えられるアルゴリズム実技検定の問題において、より適切なアルゴリズムを選択し、高速なプログラムを作成できることを目指します。 複数のアルゴリズムを用いた解法を身につけ「上級」「エキスパート」合格の点数を勝ち取ろう! [監修] 高橋 直大(たかはし なおひろ):1988年生まれ。慶應義塾大学大学院政策メディア研究科修士課程修了。現在、AtCoder株式会社代表取締役社長。Microsoft主催のImagine Cupで世界3位、TopCoder Openで世界2位、2022年にはGoogle Hash Codeで優勝など、複数の世界大会で上位入賞を経験し、15年以上プログラミングコンテストに参加し続けている。 [著者] 大槻 兼資(おおつき けんすけ):1988年生まれ。2014年東京大学大学院情報理工学系研究科修士課程修了。修士(情報理工学)。現在、株式会社 NTTデータ数理システム顧問、モノグサ株式会社コンテンツアーキテクト。数学や情報科学の諸分野の啓蒙活動に従事。著書に『問題解決力を鍛える!アルゴリズムとデータ構造』講談社 (2020) がある。趣味は競技プログラミング、虫食算作り、国内旅行など。 杉江 祐哉(すぎえ ゆうや):20歳のときに競技プログラミングに出会い、以降tsutajというユーザー名でAtCoder等のコンテストに参加。北海道大学競技プログラミングサークル所属時、アルゴリズムやデータ構造に関する勉強会資料の公開やオリジナル問題の出題・プログラミング合宿の開催など精力的に活動した。現在はモノグサ株式会社でソフトウェアエンジニアとして従事する一方、競技プログラミングの作問支援ツールの開発も行っている。 中村 謙弘(なかむら けんこう):ニートの時に競技プログラミングに出会い、AtCoderでプログラミングを学ぶ。ソフトウェアエンジニアとして国内外の企業に勤務する傍ら、kenkooooというユーザー名でAtCoder等のコンテストに参加している。好きなプログラミング言語はRust。
  • アルゴリズム的思考力が身につく! プログラミングコンテストAtCoder入門
    -
    AtCoder株式会社は、日本発のプログラミングコンテスト運営会社として2012年6月20日に設立され、年々活動の幅を拡げてきました。 AtCoderの開催するコンテストは、「与えられた問題を解決するアルゴリズムを考え、それを正しく実装する」ことを競技化したものです。 本書は「AtCoderでアルゴリズムを学びたい」「AtCoderのコンテストに参加したい」という方に向けたAtCoderの入門書です。 AtCoderのコンテストで出題された過去問を用いて、問題の解き方を体系的に解説しました。一つひとつの問題を解説する際には、「なぜそのように考えるのか」が明快になるように心がけました。 筆者は、プログラマのための技術情報共有サービスサイトQiitaに、次のタイトルの記事を投稿しています(2018年3月)。 「AtCoderに登録したら次にやること~これだけ解けば十分闘える!過去問精選10問~」 この記事は、AtCoderの過去問10問を実際に解くことで、読者がAtCoderへスムーズに入門できるように試みたものです。 本書はこの記事にいくつかのトピックを追加して、さらにC++とPython3の両言語で学べるようにして、できあがりました。 AtCoderのコンテストは、参加者の人生を大きく変える力があります。 コンテストの問題を解いていくことで、アルゴリズム的思考力が身につきます。コンテストでよい成績を修めてレーティングを上げると、参加者の市場価値も高まります。また、コンテストに参加することで他の参加者とのつながりを得て、交流を深めることもできます。そしてなにより、AtCoderのコンテストは、ゲームのように楽しいものです。 ~「まえがき」より~
  • Optunaによるブラックボックス最適化
    4.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。 チューニングを自動化するブラックボックス最適化について詳説  本書は,機械学習に欠かせないハイパーパラメータ調整(チューニング)を自動化するブラックボックス最適化について一からわかりやすく,そして,詳しく説明した書籍です.合わせて,Python言語上で動作するフレームワーク“Optuna”によるブラックボックス最適化の実行を,Optunaの開発者ら自ら詳しく説明しており,基礎を理解しながら実践に即した知識を身につけることができます.  いまや機械学習は多種多様な応用が広く図られており,技術者/研究者,学生全般にとって必修といえるスキルになっていますが,その際に手間を要するのが,ハイパーパラメータ調整です.特に,深層学習(ディープラーニング)では,ハイパーパラメータの数が多い傾向があるうえに,その調整が性能を大きく左右するといわれています.多くの技術者が,これにかなりの時間が費やされてしまっているのが実情です.ブラックボックス最適化は汎用性も高く,機械学習のハイパーパラメータ調整に限らず,工学や日常生活にかかわる多くのことを最適化できます.例えば,本書ではミドルウェアのパフォーマンス調整や,お菓子のレシピ作成にブラックボックス最適化を応用する方法も紹介しています.  ハイパーパラメータ調整の手間を大幅に削減するブラックボックス最適化とそのPythonベースのフレームワークOptunaについて,応用例からアルゴリズムまでを一からわかりやすく説明した書籍です.機械学習に留まらず,科学技術のあらゆる分野で登場するブラックボックス最適化に入門するにあたって最適な書籍です. CHAPTER 1 ブラックボックス最適化の基礎 1.1 ブラックボックス最適化とは? 1.2 目的関数と最適化 1.3 グリッドサーチとランダムサーチ 1.4 SMBO 1.5 ブラックボックス最適化の利用対象 CHAPTER 2 はじめてのOptuna 2.1 環境構築 2.2 簡単な数式の最適化 2.3 機械学習のハイパーパラメータのOptunaによる最適化 CHAPTER 3 Optunaを使いこなす 3.1 多目的最適化 3.2 制約付き最適化 3.3 可視化機能を用いた探索空間の調整 3.4 探索点の手動指定 3.5 分散並列最適化 3.6 サンプラーの選択 3.7 枝刈り CHAPTER 4 ブラックボックス最適化の応用例 4.1 機械学習のハイパーパラメータの最適化:音声認識ソフトウェアMozilla DeepSpeech 4.2 パイプラインフレームワークとハイパーパラメータ最適化 4.3 継続的なモデル改善でのOptunaの使い方 4.4 オンライン広告入札システムの実行環境の最適化 4.5 クッキーレシピの最適化 4.6 ニューラルアーキテクチャサーチ CHAPTER 5 Optunaの最適化の仕組み 5.1 Optunaの柔軟なインタフェース 5.2 独立サンプリング 5.3 独立サンプリングの課題 5.4 同時サンプリング 5.5 パラメータ選択の全体像 CHAPTER 6 ブラックボックス最適化のアルゴリズム 6.1 探索点選択における共通の枠組 6.2 単目的最適化における探索点選択のアルゴリズム 6.3 多目的最適化における探索点選択のアルゴリズム 6.4 探索点選択アルゴリズムの使い分け
  • 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 ニューラルネットワークベースのモデル
  • パズルで鍛えるアルゴリズム力
    3.0
    ※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-12680-3)も合わせてご覧ください。 さまざまな問題を解決するためには,適切なアルゴリズムを判断したり,ときには自分で生み出したりできる力が必要です。そして,自在に使いこなせるようになるためには,知識をためるだけではなく実践してみることも大切です。 本書では,「テンパズル」「数独」「4×4オセロ」といったさまざまなパズルのソルバーを実装することで,楽しく効率的にアルゴリズムの設計力が磨けます。各アルゴリズムの概要は,図解でしっかり解説。数学的解法といった発展的な内容も盛り込みました。競技プログラミングに挑戦したい方の第一歩としてもお勧めの1冊です。

    試し読み

    フォロー

最近チェックした本