Skip to content

Instantly share code, notes, and snippets.

@unot
Last active August 29, 2015 14:22
Show Gist options
  • Save unot/5577e0b33e57e38130a0 to your computer and use it in GitHub Desktop.
Save unot/5577e0b33e57e38130a0 to your computer and use it in GitHub Desktop.
情報処理研修資料

情報処理研修

発表者:細木、宇埜


目次

  • 情報処理基礎
  • 画像処理
  • ソフトウェア開発
  • ネットワーク
  • セキュリティ
  • 知的財産

情報処理基礎

  • 基数
  • 補数
  • 論理シフト
  • データ構造
  • アルゴリズム

情報処理基礎:基数

数値を表現する際に、各桁の重み付けの基礎として用いる数

2進数

2を基数として数値を表現したもの。

電子回路は10進数を直接扱うようにはできていない

 → 全ての数値を__2進数__に置き換え、「0」と「1」の2種類の数字をスイッチのON/OFFに対応させて処理をしている

 例: 2進数の表現

2進数のままでは桁数が多くなるなどして取り扱いにくいので、3桁ごとにまとめて__8進数__、4桁ごとにまとめて__16進数__に変換して表現する場合もある


情報処理基礎:補数

電子回路では引き算を実現することが難しい

 → 負数の足し算で表現する

負数表現

一般的に__「2の補数」__で表現される

基数の補数 : 基数のべき乗からある数を引いたもの

減基数の補数(基数-1の補数) : 基数のべき乗-1

  • 10進数の場合
    • 基数の補数 → 10の補数
    • 減基数の補数(基数-1の補数) → 9の補数
  • 2進数の場合
    • 基数の補数 → 2の補数
    • 減基数の補数(基数-1の補数) → 1の補数

2の補数


情報処理基礎:論理シフト

2進数の全ビットを左右にずらすこと。

  • 左にnビットシフト → \(2^n\) 倍になる
  • 右にnビットシフト → \(2^(-n)\) 倍になる

従って、ビットをずらすだけで掛け算や割り算がおこなえる

算術シフト


情報処理基礎:データ構造 (1)

プログラムの中でどのようにデータを保持するか。どのデータ構造を選択するかで、プログラムの効率が変わることがある。

配列:メモリ上の連続した数値を表現したもの

リスト:各要素が次のデータの位置を指定する

配列


情報処理基礎:データ構造 (2)

�木構造:データに親子関係を持たせる

木構造


情報処理基礎:データ構造 (3)

スタック__と__キュー:一時的にデータを蓄えるデータ構造

スタック

キュー


情報処理基礎:アルゴリズム (1)

アルゴリズム:問題を解くための明確な手順

よいアルゴリズムとは

  • 誰が見てもわかりやすい
  • どんな場合でも正しく処理する(ユーザーがどんな使い方をしても)
  • プログラムの効率がよい
  • 同じような処理は、違うプログラムを作っているときでも再利用できる

情報処理基礎:アルゴリズム (2)

フローチャート:アルゴリズムの流れを図示したもの

フローチャート


情報処理基礎:アルゴリズム (3)

順次・分岐・反復

制御構造

これらを組み合わせてアルゴリズムを構成する


情報処理基礎:アルゴリズム (4)

有名なアルゴリズム

  • 並び替え
    • バブルソート
    • シェルソート
    • ヒープソート
  • 階乗・探索など
    • 再帰
  • 最大公約数
    • ユークリッド互除法
  • 素数探索
    • エラトステネスの篩
  • 最短経路探索
    • ダイクストラ法
  • 確率理論の応用
    • モンテカルロ法

情報処理基礎:コンピューターの性能

マルチコアCPU

マルチコアプロセッサー

MIPS


画像処理

  • 画像のデジタル化
  • �ガンマ補正
  • フィルタ処理
  • 色補正
  • 中間調処理

画像処理:画像のデジタル化

  • 標本化
  • 一定の周期で値を取得する(サンプリング)
  • 量子化
  • 取得した値を所定の階調で表現する

画像の表現方法 1

  • 解像度
  • 階調数・ビット深度 ビット深度1 ビット深度2

画像の表現方法 2

  • カラー/グレー/モノクロ カラー画像
  • 圧縮

画像処理:階調補正

トーンカーブ


画像処理:フィルタ処理

カスタムフィルタ


画像処理:色補正

RGB→CMYK の変換は単純な方程式では実現できず、LUT (LookUp Table) を使って補間演算しなければならない。

 → LUTを作成するために、RGBとCMYKの対応関係をニューロネットワークで機械学習

カラーマネジメント


画像処理:中間調処理

ハーフトーンスクリーン

<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
/* Slideshow styles */
</style>
</head>
<body>
<textarea id="source">
class: center, middle
# `\(\LaTeX{}\)` in remark
---
# Display and Inline
1. This is an inline integral: `\(\int_a^bf(x)dx\)`
2. More `\(x={a \over b}\)` formulae.
Display formula:
`$$e^{i\pi} + 1 = 0$$`
</textarea>
<script src="http://gnab.github.io/remark/downloads/remark-latest.min.js" type="text/javascript"></script>
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML&delayStartupUntil=configured" type="text/javascript"></script>
<script type="text/javascript">
var slideshow = remark.create();
// Setup MathJax
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
}
});
MathJax.Hub.Queue(function() {
$(MathJax.Hub.getAllJax()).map(function(index, elem) {
return(elem.SourceElement());
}).parent().addClass('has-jax');
});
MathJax.Hub.Configured();
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment