コンピュータ概論 B ー ソフトウェアを中心に ー #13 アルゴリズム・計算可能性 京都産業大学 安田豊.

Slides:



Advertisements
Similar presentations
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
逐次ソート 2011/05/16. ソート(sort) 順序集合の要素a 1 … a n の上下関係を整 える 一般的には、整数の集合 N を考えればよ い ソートの計算量が問題となる どのような入力に対し、どのようなアル ゴリズムが最適か?
コンピュータ概論B ー ソフトウェアを中心に ー #03 プログラムの実行形態 (前回の復習+残り)
ラスタグラフィックス (raster graphics)
極小集合被覆を列挙する 実用的高速アルゴリズム
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
アルゴリズムとデータ構造 第8回 ソート(3).
コンパイラ 2011年10月17日
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
第11回 整列 ~ シェルソート,クイックソート ~
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
データ構造とアルゴリズム 第10回 mallocとfree
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
1. アルゴリズムと計算量.
2009/10/9 良いアルゴリズムとは 第2講: 平成21年10月9日 (金) 4限 E252教室 コンピュータアルゴリズム.
第10回 ソート(1):単純なソートアルゴリズム
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
情報科学1(G1) 2016年度.
データ構造とアルゴリズム 分割統治 ~ マージソート~.
データ構造と アルゴリズム 知能情報学部 新田直也.
岩井 儀雄 コンピュータ基礎演習  ー探索、整列ー 岩井 儀雄
非線形方程式の近似解 (2分法,はさみうち法,Newton-Raphson法)
コンパイラ 2012年10月15日
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
アルゴリズムとチューリングマシン 「もの」(商品)としてのコンピュータ 「こと」(思想)としてのコンピュータ アルゴリズム
アルゴリズムとデータ構造1 2006年6月16日
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
わんくま同盟茶藝部顧問 Microsoft MVP for VC episthmh
コンピュータ概論B ー ソフトウェアを中心に ー #09 データベース (後編)
Introduction to Soft Computing (第11回目)
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
5.RSA暗号 素因数分解の困難性を利用した暗号.
アルゴリズムとプログラミング (Algorithms and Programming)
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラミング 4 整列アルゴリズム.
2009/10/23 整列アルゴリズム (1) 第4講: 平成21年10月23日 (金) 4限 E252教室 コンピュータアルゴリズム.
プログラミング 4 探索と計算量.
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
アルゴリズムとデータ構造1 2006年7月11日
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
補講:アルゴリズムと漸近的評価.
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
5.チューリングマシンと計算.
アルゴリズムとプログラミング (Algorithms and Programming)
基本情報技術概論(第5回) 埼玉大学 理工学研究科 堀山 貴史
ソートのプログラムの流れ 配列の中身を小さい順に並び替える a[1],a[2],…a[n]の値を順に出力する
平面走査法を使った 一般線分の 交点列挙アルゴリズム
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
ヒープソート.
2008年6月5日 非線形方程式の近似解 2分法,はさみうち法,Newton-Raphson法)
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
Q q 情報セキュリティ 第6回:2005年5月26日(金) q q.
コンパイラ 2012年10月11日
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
参考:大きい要素の処理.
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
分散メモリ型並列計算機上での行列演算の並列化
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
プログラミング論 バイナリーサーチ 1.
Presentation transcript:

コンピュータ概論 B ー ソフトウェアを中心に ー #13 アルゴリズム・計算可能性 京都産業大学 安田豊

コンピュータは万能か? プログラミングできれば何でもできる – 本当だろうか? まず – 何でもプログラミングできるのだろうか? – 問題の内容が分かっていれば書けるはず プログラムさえ出来れば完成か? – できあがったプログラムは必ず答えを出せるのだ ろうか? そこに計算量の問題があります

アルゴリズム 教科書 pp.120- 算法 − 問題解決のための処理方法 – アルゴリズム自体は自然言語で記述可能 – それを手続き的に表現すれば – 手続き型プログラミング言語に載り – ノイマン型計算機で実行可能となる アルゴリズムを考えるのは人間の仕事 – コンピュータはアルゴリズムを生成しない

アルゴリズムの例 x,y (x>y) 二数の最大公約数を得る – ユークリッドの互除法 1.x / y の余りを z とし、 2.z = 0 なら最大公約数は y そのもの 3.z≠0 なら y→x, z→y として 1. に戻る 停止性:有限時間に必ず終了する 確定性:必ず同じ解に到達する 効率:計算機の処理速度は無限に速くない – プログラムには待てる時間以内に必ず処理が終 了することが求められる

アルゴリズムの効率 教科書 pp.121 アルゴリズムの効率化 – コンピュータ資源の有効な利用に直結 – 計算過程の再利用と加工(ノイマン型計算 機処理の本質)にて – 可能な限り反復処理を削減する

計算可能性 教科書 pp.121 計算なら何でも出来る? – できるものとできないものがある 計算可能性 – アルゴリズムが無い場合=計算不可能 – 複数存在する ( 普通のこと ) アルゴリズムのうち、 たいていは計算量が異なる – 時間計算量 ( 計算実行時間 ) の有限性 – 領域計算量 ( メモリ所要量 ) の有限性

計算量 有限であっても実用的でなければ –ex. 入力に対する時間計算量の増加 (要素数 n の並び替えに要する時間 t が) – 指数関数的に増える : t = a n 「難しい問題」と呼び、すぐに解けなくなる – 多項式のオーダーで増える : t = a*n 2 +b*n 「易しい問題」 – 例えば a=2,b=4 なら n=10 で 1024 : 600 n=25 で : 1350 n=50 で : 5200

効率の良いアルゴリズム 教科書 pp.122- 囲み記事 – アルゴリズム次第で – 離散フーリエ変換: n*n のオーダーから n log n の オーダーへ – 巡回セールスパーソン問題:指数関数的増加から 多項式のオーダーへ トレードオフ – 時間計算量と領域計算量 – わかりやすさと効率 (教科書 pp.123 ) – アルゴリズムの開発、プログラミングの時間と、 演算時間のトータルでの問題解決時間が重要

計算量と処理時間 指定した値 i は m 個の要素 x の何番目かを調 べる作業を j 入力に対して行う – 頭から最後まで x n < i のものを数える ( 単純だが毎回常に m*j 時間かかる ) – 並べ替えておいて、頭から比較して x n = i になっ た時の n をとる ( 並べ替え時間が一回、あとは (m/2)*j 程度か? ) – 並べ替えておいて、二分探索で x n = i になった時 の n をとる ( 並べ替え時間が一回、 log 2 m * j 程度か? ) 万能の手法はない

ソート ソート ( 並べ替え ) にも多様なアルゴリズムが バブルソート – 両隣を比較し続けて交換する処理を n 回繰り返す – 計算量は n 2 で増える クイックソート – 全体を指標値の上下で二つに分け、その後上下 パートごとに同様の処理を繰り返す – 平均計算量 n log 2 n 、最悪ケースは n 2 他に何種類も研究されています(追求すると 面白い)

将来へ 教科書 pp.182- – ネットワーク技術を抜きに将来は語れませんが、 A クラスで扱いましたのでここでは説明しません 技術は? – ノイマン型主流の趨勢はしばらく続く – ノイマン型の計算・記憶の二大機能はますます発 展 – 通信機能強化、高速・無線(携帯化・遍在化) – 世界で最も DSL の安い国である事を忘れずに

将来へ 家庭内利用の普及 – 他の技術との融合( pp.182 最後) –Cocoon :中身は Linux –SHARP のホームサーバ PC のさらなる進出 電子出版 大規模電子図書館 インターネットと個人・組織・社会・人類の 付き合い – その存在はもはや消せない事をわすれずに

将来へ 新しいコンピュータ – 非ノイマン型への期待 (教科書の a,b,c 分類はノイマン型も含 む) 新しいアプローチ – 超並列、グリッド –AI 、ファジイ、ニューロ – 非同期回路

将来へ 教科書 pp.187- 技術とのかかわり – 正しく理解し、結果を正しく評価する – 現在の技術の特徴と限界を知り、新しい技術を創る 情報化社会 (*) とのかかわり (* 曖昧なので、余り好きな表現ではないですが ) – コンピュータとネットワークのある世界での個人としての 自立を求められている – コンピュータとネットワークを手にして、人間にできるこ とはなんだろう?(人間が自分たちの幸福のためにできる ことはなんだろう?) – 人とコンピュータ、人と人との協働の可能性を忘れない