★ビジュアルプログラミングからオブジェクト指向プログラミングへ。さあ、はじめよう!★
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 リファレンス
本書で学べること!Jupyter Notebookの導入からPythonの利用方法。株価・為替・経済などのデータの入手方法と分析手法。時系列分析の処理と統計的手法(自己回帰モデル、モンテカルロ手法など)。あゆみ値の本質と価格形成のメカニズム。高頻度取引の世界におけるマーケットメイクの仕組み。
「Python3」は、「ビジネス」「教育」「研究」「ホビー」など、さまざまな用途に使われている、現在もっとも人気のあるプログラミング言語です。
「Maya」や「Metasequoia」のような「3D-CGツール」にも組み込まれており、「3Dオブジェクト」の作成や編集などの作業も、「Python3」でプログラミングすることもできます。
本書は、「Python3」の入門書であると同時に、「Python3」の追加機能パッケージである「pygame」(パイゲーム)を使った、「2Dゲーム開発」の入門書でもあります。
「蛇ゲーム」「共通点を探せ!クイズ」「自動車ゲーム」「ジャンプゲーム」「RPG風ゲーム」の順に、5つのミニゲームを紹介しています。
ゲームを作りながら「Python3」の基礎をマスターしましょう!
■「Python3」と「pygame」について
■「Python3」と「pygame」のインストール
■「蛇ゲーム」の開発
■「共通点を探せ!クイズ」の開発
■「自動車ゲーム」の開発
■「ジャンプゲーム」の開発
■「「RPG風ゲーム」の開発
生物の進化に着想を得た新しい「発散型」の機械学習アルゴリズムを解説!
深層学習を含む多くの機械学習アルゴリズムは、1つの最適化を求める「収束型」のアルゴリズムであるのに対し、近年注目を集めているのが人工生命の研究分野で開発され、従来の探索方法では得られなかったような、多様な解が求められる「発散型」アルゴリズムです。本書はこの発散型アルゴリズムに焦点を当て、進化計算の基礎となる集団的探索の考え方、既存の収束型アルゴリズムとの違い、そして、有用性について説明します。最近注目を浴びるNovelty SearchやQuality Diversity、MC、POETといった新しいアルゴリズムも取り上げます。
吉本プログラミング部と一緒にプログラミングを1から学ぼう!!
楽しく! そして分かりやすい!新感覚のPython解説書!
よしもとに所属する5名のタレントがPythonの入門講義を受け、それを書籍化する対話形式の書籍。
講義の構成やタレントのセリフに芸人ならではのエンタメ性を含めるなどして、読者が楽しく学習を進められる。
Pythonで人工知能による画像処理アプリケーション」を作ることが本書籍のゴール。
講義1 よしもとプログラミング部始動!
講義2 環境構築をしよう!
講義3 プログラミングの基本を学ぼう!
講義4 画面アプリを作ろう!
講義5 機械学習について学ぼう!
講義6 大喜利アプリを作ろう!
好評をいただいている午後対策の定番書「らくらく突破」シリーズに、新たに「Python」の対策書が加わりました。
Pythonは、最近注目を集めているAIやデータサイエンスの分野でよく使われている他、アプリケーションや組み込みソフトウェアの開発など様々な分野で利用できる汎用的なプログラミング言語です。Pythonは、構文がシンプルでわかりやすいので、はじめてプログラミングを学ぶ人にとても適しています。敷居が低くて奥が深い言語なのです。
本書は、はじめてプログラミングを学ぶ方を想定し、「そもそもプログラムとは何か」という根本的な説明からはじめて、Pythonによるプログラミングの知識を少しずつ丁寧に説明していきます。また、理解を助けるイラストや概念図も豊富に掲載し、わかりやすい例と練習問題でPythonの基礎の定着を図り、章末の確認問題で理解度を確認しながら学習を進められます。本書で取り上げているプログラミング例は自分で実際に手を動かして入力して動作を確認してみましょう。理解がぐんと深まります。
本書の目標は、基本情報技術者試験に出題されるレベルのPythonのプログラムを読み取れるようになること。IPA発表のサンプル問題を取り上げ、実際にどうやって問題を読み解いて、取り組んでいったらいいのか、実践的な解説も行っています。
著者は、数多くのプログラミング解説書や基本情報技術者の対策書を手掛け、講師としての指導経験も豊富な矢沢久雄氏。「なぜそうなっているのか」「なぜそうするのか」から解きほぐしていくわかりやすい解説には定評があります。
午後試験の25%という大きな配点を占めるプログラミング言語問題。本書でPythonをマスターして、午後試験を突破しましょう!
【著者からのメッセージ】
機械力学(振動工学)など工業数学の問題を解くには,解析的な方法と数値的な方法があります。ただし,実際的な問題は解析的には解けず,数値的に解かれることが多いです。従来コンピュータを使って問題を解く場合も数値的に解が求められることが一般的でした。身近な例としては,Excelを使った計算などは数値的な方法となります。一方,昨今ではコンピュータでも解析的に数式を取り扱えるようになってきており,例えば、ax2+bx+c=0 のような数式を文字変数を含めたまま解くことができます。つまり,ある変数に値を代入し,残りの変数は未知変数としてその解を求めることができます。本書で紹介するPythonでは,この解析的な計算と従来の数値的な計算の両方をすることができます。もちろんこれらはMathematicaやMATLABなどのソフトウェアでもできますが,無料という点でPythonが多くの方に歓迎されているようです。
板書で秩序立てて数式や数値を交えながら説明する理系の授業などでは,Pythonを利用すれば数式の計算に悩まされることよりも,図表を用いたもっと上流側の物理的考察や力学的解釈に注力でき,教育効率を各段に向上させることが期待されます。また,Excelを駆使しているような職場でも,複素数や変数を交えての計算なども簡単に扱える本ソフトウェアの導入は,仕事の仕方を変貌させる可能性があります。超優秀な数学担当秘書を採用したに等しい高レベルの仕事手法の獲得に感激するでしょう。著者らは,そのような活用を期待して本書を執筆しました。
紙面の制約で本書では中途となったプログラムが多々あり,(詳細はWEB)のサインが入っています。コロナ社のWebページからプログラムの全文をダウンロードできるので,是非活用して下さい。
【各章の説明】
第1章 Python 事始め:Python のダウンロードおよびインストール方法の手引き。
第2章 Python 速習十講:簡単な電卓計算から始め,表計算,グラフの描画,ファイルの出し入れなど、実践に飛び出す準備です。
第3章 PAD によるプログラミング技法:フローチャートに似たソフトウェア設計図であるPAD(Problem Analysis Diagram)を紹介。論理思考過程を視覚化、図面に基づくソフト生産の大切さは時間の経過とともに感得されるでしょう。
第4章 Pythonで解く工業数学:厳選した4テーマ「微分方程式」「ラプラス変換」「フーリエ変換」「固有値問題」について,大学で学ぶ工業数学を例題中心に学ぶ。鉛筆に代えて,ソフトウェアで数学を処理する威力を体感してほしい。
第5章 機械力学:機械・電気系ダイナミクスの基本として,機械力学(振動工学)の問題を解く。
第6章 制御工学:機械・電気系ダイナミクスの基本として,制御工学の問題を解く。
第7章 私設関数:著者らが仕事や教育で使っている重宝な私設関数を紹介する。多いに活用されたい。
本書は理工系学生向けの振動工学の教科書である.プログラム言語であるPythonを用いた数値計算法も多く紹介.また動画を読み込むための二次元バーコードを随所に掲載しており,視覚的に振動工学を学ぶことができる.2色刷.
【主要目次】振動とPythonの基礎/1自由度系の自由振動/1自由度系の強制振動/2自由度系の振動/行列を用いた振動解析/分布質量系の振動/非線形振動
振動とPythonの基礎/1自由度系の自由振動/1自由度系の強制振動/2自由度系の振動/行列を用いた振動解析/分布質量系の振動/非線形振動
RStudio&Jupyter Notebook対応。現場で活用するための最短コース!さまざまな分析の「理論」と「実際の考え方」をR/Pythonで体験学習。
pandasを使ったプログラミングの腕試しができるように、9つのトピックについて全部で51個の問題を用意しました。各問題にはメインとなる模範解答以外にも「別解」を用意し、なるべくいろいろな考え方に触れられるよう構成しています。
近ごろ話題の機械学習、「気になるけどなんだか難しそう……」と思っていません か? 実は、機械学習の基本はとてもシンプルで、プログラミング初心者にも最 適なんです。本書は、プログラミングやPython、機械学習の初心者向けに、マン ガでPython機械学習を解説します。機械学習の代表的な手法である単回帰をはじ め、重回帰やk近傍法、k平均法などの考え方を、「ペットのウサギの理想体重 は?」「予算内の引っ越し先は?」といった身近な問題を通じて解説するので、 やさしく楽しく学べます。Pythonの開発環境もブラウザさえあれば無料で使える Google Colaboratoryを用いるので、面倒な環境構築は一切不要。インターネッ トに接続できるパソコンがあればすぐに学習を開始できます。ほかの機械学習の 書籍だと難しかったという方へも、オススメの一冊です。「そろそろ常識 知っ ておこう! 」シリーズは、会話形式の解説をマンガテイストに進化させ、マン ガ、会話、チュートリアルをシームレスに組み合わせたニュースタイルの解説 書。常識とされながらも覚えにくいテーマをピックアップし、要点をマンガでわ かりやすく解説します。
第1章 Pythonを触ってみよう
第2章 Pythonの基礎
第3章 機械学習を体験してみよう
第4章 機械学習を実践しよう
第5章 データを集めるには
「電源ボタンを押せばBASICが起動して、即プログラミング!」
という時代もありました。ところが、最近のプログラム言語は肥大化し、入り口である「環境の構築」も、初心者にとっては難関になっています。
本書は、「プログラミング環境の構築」や「取りかかり」の解説を中心に、数あるプログラム言語の中から、定番の「Python」や、「Webサイト」や「ドキュメント」を作るためのスクリプトの記述を、分かりやすく解説しています。
プログラミングのはじめ方
●スムーズにプログラミングをはじめるために
●プログラミング言語のトレンド
●「プログラミングの基礎知識」の身につけ方
●「開発環境」なしで、“即プログラミング”
Pythonの使い方
●なんでもできるPythonの魅力
●「Python」をはじめてみよう!
●「AIプログラム」が出来るまで
Webサイトやドキュメントの作り方
●「Webサイト」を作れるようになるまで
●「マークアップ」と「マークダウン
本書は「ほぼ」PythonだけでAWSを利用したサーバーレスアプリケーションを構築するためのガイドブックです。バックエンドにChalice、フロントエンドにTranscrypt、ユニットテストとAPIテストにpytest、UIテストにSeleneを利用します。実装部分をアプリエンジニアが、テスト部分をQAエンジニアが、それぞれの専門を活かして解説します。
「Python」はできることが多く、活用しがいがあるプログラミング言語ですが、初心者は「できることが多すぎて何をしたらいいか分からない」状況に陥りがち。
本書では、「Pythonとはどういう言語なのか」「何ができて何ができないのか」といった基礎的な点を解説し、参考として、初心者でも作れる簡単かつ実用的なプログラムや電子工作に「Python」を利用する方法を紹介しています。
■「Python」とは
これから始める「Python」
なんでもできる「Python」の魅力
Pythonの「ライブラリ」と「開発実行環境」
■「Python」の利用環境を整える
「Python」の環境構築術
■「Python」で便利なプログラム制作
Pythonビジネスソフト開発
「Python」で「Selenium」を使う
データ収集とWebアプリ化
「GUIアプリ」を配布する
■「Python」で電子工作
「Raspberry Pi」の電子工作と「Python」
「Arduino」と「Python」による「サウンド・システム」
■奥深い「Python」の世界
Pythonの「ラムダ式」
「Python+機械学習」でプログラミングが簡単に!
Pythonによる実装で、強化学習×転移学習のパワフルさを体感しよう
《本書の特長》
●強化学習の理論の初歩から丁寧に解説。Pythonによるシミュレーションを実装しながら手法を体感できるので、簡単なプログラミング経験があれば、つまずくことなく読み進めることができます。
●後半では、学習した知識を再利用する技法である「転移学習」と強化学習とを組み合わせた「転移強化学習」について詳しく解説されています。強化学習と同様に、シミュレーションを通して、転移学習による学習の高速化、高精度化を試すことができます。
●理論と実装だけでなく、学習の自動化・省力化のための一段高度なチューニング技法や、コーディングの際に気を付けなければいけない落とし穴ももれなく解説。この1冊で、転移強化学習の基礎から応用までをすみずみまで学べます。
本書で紹介したソースコードは、森北出版Webサイトで公開されています。
第1章 強化学習と転移学習
第2章 強化学習の理論
第3章 強化学習のシミュレーション
第4章 転移学習の理論
第5章 転移学習のシミュレーション
第6章 転移学習の実装上の注意点
第7章 転移強化学習の応用
第8章 完全な自立的転移強化学習に向けて
多分野の実例を通して、微分方程式の活用法を学びます。実際の例として、モード解析、江崎ダイオードを用いた発振回路方程式や、感染症の数理モデル(SIRモデル)の新型コロナウイルス(COVID-19)感染データへの当てはめ等を扱います。
各章末には、合計100題の練習問題が用意されています。微分方程式の標準解法、Pythonを用いた解や流れの可視化、数式処理を用いた厳密解の計算、厳密解が求まらない微分方程式の数値計算について、すべての問題に解答(プログラムコードを含む)が付いています。Pythonを使いながら、微分方程式を現実に応用することが可能となるでしょう。
データサイエンスやAIの世界で欠かせない基礎知識といえる、線形代数。
本書は、そのような応用に必須の知識に焦点をあて、イメージを掴みながら学習できるよう、やさしく解説した入門書です。
手軽にできるPythonプログラミングを交えながら学ぶため、概念や計算方法の理解が深まるだけでなく、それらをプログラムに落とし込む力も身につけることができます。
はじめの章で基本事項を解説しているので、Python初心者でも大丈夫です。
〈このような方におすすめ〉
・データサイエンティストを目指している方
・線形代数を学ぶ必要が出てきたが、普通の数学書を読むのはきついと感じている方
・Pythonを気軽に学び、活用してみたい方
1章 Pythonの環境設定と基本操作
2章 線形代数のイメージ
3章 ベクトルの基本ーノルム、距離、内積
4章 行列の基本ー連立1次方程式を解くために
5章 線形写像/線形変換
6章 アフィン変換ー画像の平行移動、拡大・縮小、回転、せん断、鏡映
7章 固有値・固有ベクトル
Python(パイソン)は初心者が比較的修得しやすく、AI(人工知能)やパターン認識などの先端技術に活用されている優れたプログラミング言語です。
本書では、初心者を対象に、Pythonを使ったプログラミングの勘所をやさしく解説しました。
例題に取り組むことで、プログラミングとはどういうものかを理解し、プログラミング的思考を身につけてもらうことを目的に執筆しました。
読者の皆さんが、楽しみながらPythonの素晴らしさやプログラミングの醍醐味を感じていただけたら、著者として望外の喜びです。
【まえがき」※一部抜粋
制御工学の理解には,理論だけでなくその応用例を学ぶことが近道である.しかし,制御応用を念頭に置いた教科書はさほど見当たらない.本書は,このようなニーズに応えるべく,著者の経験を踏まえ,制御応用時に有用な基礎知識を纏めている.さらに,Pythonを活用した演習によって,制御工学の実践方法を習得することを目指している.
本書では,Python の導入と基本的な使い方を紹介した後,現代制御理論の基礎として,状態空間表現と伝達関数表現の関係,状態変換と正準形式,時間応答の計算,安定性,各種制御系設計の方法,ディジタル制御での実装について述べる.本書を通して制御理論的な解説は最小限にとどめており,応用時に必要となる内容に重きを置いて記述した.本書では現代制御理論の設計方法を中心に記述しているが,制御応用時に必要なポイントには,古典制御も随所に盛り込んでいる.各章の最後には重要点をポイントとしてまとめ,章末問題で理解度をチェックできるようにした.
本書を通じて,理論と計算の両者をバランスよく修得し,応用に役立てて頂ければ幸いである.
基礎的な点群処理から、ICPアルゴリズム、物体認識、PointNetまでをPythonで学ぼう!★章末問題付き★
・Open3Dを使用し、Pythonプログミングとともに平易に解説。
・サンプルコードをサポートページから提供したので、すぐに実践できる!
・最終章では、RGBD画像、ボクセルデータ、メッシュデータ、多視点画像の3次元データ処理も解説。
【主な内容】
第1章 はじめに
第2章 点群処理の基礎
第3章 特徴点・特徴量の抽出
第4章 点群レジストレーション(位置合わせ)
第5章 点群からの物体認識
第6章 深層学習による3次元点群処理
第7章 点群以外の3次元データ処理
目次
第1章 はじめに
1.1 3次元世界について
1.2 本書について
1.3 3次元計測原理
1.4 3次元センサの紹介
章末問題
第2章 点群処理の基礎
2.1 ファイル入出力
2.2 描画
2.3 回転・並進・スケール変換
2.4 サンプリング
2.5 法線推定
章末問題
第3章 特徴点・特徴量の抽出
3.1 特徴点(キーポイント)
3.2 大域特徴量
3.3 局所特徴量
章末問題
第4章 点群レジストレーション(位置合わせ)
4.1 最近傍点の探索(単純な方法)
4.2 最近傍点の探索(kd-treeによる方法)
4.3 ICPアルゴリズム
4.4 ICPアルゴリズムの実装(Point-to-Point)
4.5 ICPアルゴリズムの実装(Point-to-Plane)
章末問題
第5章 点群からの物体認識
5.1 特定物体認識と一般物体認識
5.2 特定物体の姿勢推定
5.3 一般物体の姿勢推定
5.4 プリミティブ検出
5.5 セグメンテーション
章末問題
第6章 深層学習による3次元点群処理
6.1 深層学習の基礎
6.2 PyTorch Geometricによる3次元点群の扱い
6.3 PointNet
6.4 点群の畳み込み
6.5 最新研究動向
章末問題
第7章 点群以外の3次元データ処理
7.1 RGBD画像処理
7.2 ボクセルデータ処理
7.3 メッシュデータ処理
7.4 多視点画像処理
7.5 Implicit Functionを用いた3次元形状表現
章末問題