---
title: cs-15. 全体まとめ
tags:  #コンピューターサイエンス  
author: [kunihikokaneko](https://convert.docswell.com/user/6674398749)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJ86Q5DGED.jpg?width=480
description: トピックス：情報化社会の到来，情報化社会での知の蓄積と流通，コンピュータでできること，コンピュータの特質，コンピュータ活用での基礎   コンピューターサイエンス URL: https://www.kkaneko.jp/cc/cs/index.html
published: December 17, 21
canonical: https://convert.docswell.com/s/6674398749/KNJXEZ-2021-12-17-134355
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJ86Q5DGED.jpg)

cs-15. 全体まとめ
（コンピューターサイエンス）
URL: https://www.kkaneko.jp/cc/cs/index.html
金子邦彦
謝辞：この資料では「いらすとや」のイラストを使用しています
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LJL9XYMX7R.jpg)

アウトライン
• 情報化社会の到来
• 情報化社会での知の蓄積と流通
• コンピュータでできること
• コンピュータの特質
• コンピュータ活用での基礎
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/47MZLNY3JW.jpg)

15-1 情報化社会の到来
（コンピューターサイエンス）
金子邦彦
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/P7R6KD9RE9.jpg)

情報化社会
• コンピュータを個人が持つ
• コンピュータがさまざまな仕事を行う
• コンピュータがネットワーク化される
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/PJXML1QYEX.jpg)

スマートスピーカ―を手作りする記事
Jasper ソフトウエア（http://jasperproject.github.io/）と、
小型コンピュータ RaspberryPi のセット
安価、手軽に、スマートスピーカーを手作りできる
キーワード：音声コントロール、小型コンピュータ、スマートハウス、
音声によるSNSへの投稿
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/3JKGL2947D.jpg)

人や自転車などの，オブジェクトの発見・検知
元画像
人工知能による読み取り結果
• 人間の「目」の一部機能をコンピュータで再現．
画像の中のオブジェクトを，人工知能が発見・検知
• SSD (Single Shot MultiBox Detector) は公開の技術
https://arxiv.org/abs/1512.02325
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/LE3N34WDE5.jpg)

車両の発見・検知
人工知能は，車両の場所と向き（前なのか後ろなのか）を素早
く発見できるようになってきた
（Dlib を使用）
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/8EDW4QK27G.jpg)

顔と表情の読み取り
https://cloud.google.com/vision
Googleによるオンラインデモ
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/V7P9MLKLJ8.jpg)

人工知能による翻訳
https://www.deepl.com/
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/2JVM9QV6JQ.jpg)

フェイクビデオ
＋
写真
→
ビデオ
人工知能により
合成されたビデオ
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/5EGGZWL2EL.jpg)

11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/4JQXL3Y9EP.jpg)

15-2 情報化社会での
知の蓄積と流通
（コンピューターサイエンス）
金子邦彦
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/K746D1ZRE1.jpg)

情報化社会での知の流通、共有
• インターネットが、くまなく普及
• 知（データやソフトウエア）が，公開（オープ
ン）され、広く流通，共有される
• 知は蓄積され，大規模に，次世代に継承される
• あらゆる人が知の発信者
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/LJ1VZGRVEG.jpg)

Google Earth は，無料で利用可能なオ
ンラインの地球儀
Google
Earth の起動
① ウェブブラウザで次の URL を開く
https://earth.google.com
② 「Earthを起動」をクリック
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GJWL9K13E2.jpg)

Google Earth の検索機能
メニューの
「検索」
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4EZM9ZPGJ3.jpg)

Google Earth で「福山城」を検索したところ
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/Y76NKZMQ7V.jpg)

無料データの例 －
インター
ネット
無料で利用できる地図
コンピュータ
無料の地図（広島県部分を抜粋）
今や地図は「オープン化」している
・国土地理院
・OpenStreetMap
個々人のもとへ
・Google Map
※ 中には，独自の情報を重ね合わせて
再配布を条件付きで許可している場合も
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/G755PWZ274.jpg)

オープンなデータ、オープンなソフ
トウエア
• インターネットで公開されたデータやソフトウ
エア
• 一定の条件下で無料で利用可能
• 利用では、マナーも大切
・作者が定める利用条件を確認
・著作権を尊重
・「うまく動かない」からといって作者に苦情をい
うのはマナー違反になることも
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/9J2N6QR1ER.jpg)

WikiPedia
世界中が編集に参加している百科事典
https://ja.wikipedia.org/
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/DEYP9WD4EM.jpg)

OpenStreetMap
世界中が編集に参加している地図
https://openstreetmap.jp/
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/VJN5L96678.jpg)

15-3 コンピュータで
できること
（コンピューターサイエンス）
金子邦彦
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/YE9Y42LRJ3.jpg)

① データの作成、保管、整理、処理
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/GE86Q5XG7D.jpg)

さまざまなソフトウエア
• オフィスソフト
電子メール，
オンライン
ストレージ
なども
Word (ワープロ) Excel (表計算) PowerPoint (プレゼン)
https://portal.office.com でオンライン利用
• Windows に標準添付のもの
ファイルマネージャ
（エクスプローラー）
Web ブラウザ
エディタ
（メモ帳）
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/LEL9XY8XJR.jpg)

表計算ソフトウエア
• データの記録、保管、共有
• 表計算の機能
＝ 集計・集約、グラフ作成など


# Page. 25

![Page Image](https://bcdn.docswell.com/page/4JMZLN63EW.jpg)

② 算法（アルゴリズム）をもとに，
コンピュータが問題を解く
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/PJR6KDPR79.jpg)

方程式を解く
4x + 1 = 0 を解きたい
Python の拡張機能 scipy を利用
次のように入れて，実行ボタンを押す．結果 -0.25 を確認
from scipy import optimize
def foo(x):
return 4 * x + 1
print( optimize.fsolve(foo, 10) )
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/PEXML13Y7X.jpg)

方程式を解く
コンピュータが
x2 - 2 = 0
を解いている
コンピュータが
x2 – 2x - 4 = 0
を解いている
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/3EKGL2Y4JD.jpg)

最適化
• ある制約のもとで，
ある尺度での値が最適になるように，
調整を行うこと
最適なポイント
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/L73N349D75.jpg)

線形計画法の例
・資源
・生産物
キリマンジャロ、コロンビア
ブラックコーヒー(x)、ミルクコーヒー(y)
・資源と生産物の関係
キリマンジャロ = 0.15 x + 0.05 y
コロンビア
= 0.05 x + 0.1 y
・資源に関する制約
キリマンジャロ 最大 50
コロンビア
最大 40
・目的 150 x + 120 y をなるべく多くすること
一次式
一次式
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/87DW4QG2JG.jpg)

線形計画法の例
最大の収益は
62000 だと分かる
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/VJP9ML3LE8.jpg)

③ ビジュアルな表現、シミュレーション
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/2EVM9Q46EQ.jpg)

３次元コンピュータグラフィックス
モデリング
シミュレーション
Blender を用いた街並み再現
Blender は、一定の条件下で、無料で利用できる
3次元コンピュータグラフィックスのソフトウエア
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/57GGZW127L.jpg)

３次元スキャナで読み込んだ３次元データの
例
◆ ３次元データは，
インターネットで，容
易に入手可能
• http://sourceforge.n
et/projects/pointclo
uds/files/PCD%20d
atasets/
• https://github.com/P
ointCloudLibrary/da
ta
• http://pointclouds.or
g/media/
Lauranaデータ
biwi face データ 01
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/4EQXL3D97P.jpg)

Blender でのシミュレーションの例
モデリング
シミュレーション
Blender ３次元ゲームエンジン機能を用いた
物理シミュレーション（落下、衝突、ころがり）
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/KJ46D1GR71.jpg)

円周率の算出のためのシミュレーション
半径1の円の中にある点の数を数える
点の数が 60 なら，円の面積は 60 * 4 / 100
点は１００個
縦の長さ２，横の長さ２の正方形
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/LE1VZGDV7G.jpg)

15-4 コンピュータの特質
（コンピューターサイエンス）
金子邦彦
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/GEWL9KY372.jpg)

① コンピュータを使うからといって，計算が完
璧に正確というわけではない
print(1/3)
0.00000000000000003333333333
3333333333333333333333333...
が誤差！
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/47ZM9ZXGE3.jpg)

② 算法（アルゴリズム）は分かっていても、解
くのに時間がかかる問題がある
このことは暗号の基礎
③ コンピュータを使っても解くことが不可能な
問題がある
チューリングマシンの停止問題
など
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/YJ6NKZ4QJV.jpg)

暗号を解読する Python プログラム
Diffie-Hellman法の暗号を解読するプログラム
参考ウェブページ
http://nbviewer.jupyter.org/github/yoavram/CS1001.py/blob/master/recitation4.ipynb
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/GJ55PWQ2J4.jpg)

暗号作成より，暗号解読の方が手間がかかる
• 暗号解読の算法（アルゴリズム）は発見済み ということが多い
→ プログラムを作成可能
• しかし，プログラムが答えを出すまでに時間がかかる場合がある
すでに，2012 年に，このようなレポートが．
https://www.dit.co.jp/service/security/report/03.html
英大小文字+数字+記号を組み合わせた ZIP のパスワード
６桁の解読時間： ２分２４秒
＝ 超危険
８桁の解読時間： １４日
＝ 危険
１０桁の解読時間： ３４１年
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/LE3N34V1E5.jpg)

15-5 コンピュータ活用での基礎
（コンピューターサイエンス）
金子邦彦
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/8EDW4Q8K7G.jpg)

データの共有
データを共有する場合のイメージ
コンピュータ
利用者Ａ
ネット
ワーク
利用者Ｂ
利用者Ｃ
記憶
装置
情報システム
42


# Page. 43

![Page Image](https://bcdn.docswell.com/page/V7P9ML83J8.jpg)

リレーショナルデータベースシステム
自在なデータ操作
検索
集計・集約
並べ替え
リレーショナル
リレーショナル
データベース
データベース
管理システム
リレーショナルデータベースシステム
データの種類ごとに分かれた、
たくさんのテーブルが格納される
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/2JVM9QNNJQ.jpg)

プログラムとは
• プログラムとは、コンピュータが自動で動く
ための手順を書いたもの
• プログラムの起動によって、コンピュータが
動き始める
44


# Page. 45

![Page Image](https://bcdn.docswell.com/page/5EGGZWK5EL.jpg)

プログラミング
• プログラムを設計し製作すること（プログラミ
ング）はクリエイティブ
• プログラムを作ることは，「部品」を組み立て
て，作品を作り上げることに似ている
• プログラムをマスターすることは、コンピュー
タをマスターすることに直結．コンピュータを
自在に操ることができるようになる
45


# Page. 46

![Page Image](https://bcdn.docswell.com/page/4JQXL3NLEP.jpg)

• 複数のプログラミング言語を学
ぶことは大事．
賛成できますか？
プログラミング
言語は複数ある
• 「１つを知っていれば，どの言
語も大体似ているので，応用が
利く」という考え方もある．
• 「やりたいこと，学びたいこと
に向いた言語を，そのときどき
で選ぶのが，一番良い」とも．
• 人によって「好きな言語が違
う」ということも
46


# Page. 47

![Page Image](https://bcdn.docswell.com/page/K746D1G5E1.jpg)

なぜプログラミング言語は
たくさんあるのでしょうか？
それぞれ
特徴があ
る
Java
R
SQL
MATLAB /
Octave
どのコン 初心者向
コン
ピュータ け．その ピュータ
でも同じ おかげで， の性能を
「データ
処理」に
特化した
「データ
ベース」
に特化し
「数値計
算」，
「信号処
プログラ 多数の拡 最大限引
ムが動く． 張機能も． き出す．
コマンド
言語
たコマン
ド言語
理」など
に特化し
たコマン
ド言語
普及度は
トップレ
ベル．
Python
C / C++
47


# Page. 48

![Page Image](https://bcdn.docswell.com/page/LJ1VZGD2EG.jpg)

Python プログラム見本
x = 100
if (x &gt; 20):
print(&quot;big&quot;)
else:
print(&quot;small&quot;)
s=0
for i in [1, 2, 3, 4, 5]:
s=s+i
print(s)
• すぐに実行できる
• さまざまな「パッケージ」で
機能を拡張できる
• Windows でも Linux でも，ほ
ほ同じプログラムで動く
48


# Page. 49

![Page Image](https://bcdn.docswell.com/page/GJWL9KY2E2.jpg)

式の抽象化と関数
100 * 1.1
a * 1.1
150 * 1.1
400 * 1.1
類似した複数の式
変数 a を使って，複数
の式を１つにまとめる
（抽象化）
式「a * 1.1」を含む
関数 foo を定義
関数 foo を使用．
100, 150, 400 は引数
49


# Page. 50

![Page Image](https://bcdn.docswell.com/page/4EZM9ZX4J3.jpg)

式の抽象化と関数
抽象化前
類似した複数の式
実行結果
抽象化後
関数の定義と使用
同じ
実行結果になる
50


# Page. 51

![Page Image](https://bcdn.docswell.com/page/Y76NKZ4G7V.jpg)

• プログラミングでの根本問題は
何でしょうか？
誤り（バグ）の無いプログラムの
作成
私の意見
• プログラミングの一番の基礎は
何でしょうか？
• 抽象化を行うこと．
• 抽象化により，繰り返し同じこ
とを書くことが減り，バグを防
げる．
• プログラムの変更も簡単に．
51


