自己紹介 情報科学の研究をしています 専門はプログラミング言語とか型理論とか 研究のひとつは Java の改良ですが Java でプログラムは書きません ( けません ) ML 歴 16 年 OCaml 歴は 11 年くらい の著者です
|
|
|
- えの いくのや
- 7 years ago
- Views:
Transcription
1 ML 平成廿一年東都大駱駝会 京都大学五十嵐淳
2 自己紹介 情報科学の研究をしています 専門はプログラミング言語とか型理論とか 研究のひとつは Java の改良ですが Java でプログラムは書きません ( けません ) ML 歴 16 年 OCaml 歴は 11 年くらい の著者です
3 いきなり鶴亀算 OCaml プログラマとラクダが合わせて 7 匹いる 足の数が合わせて 20 本である時 OCaml プログラマとラクダはそれぞれ何匹いるか 小学生の解法全員ラクダだとすると足の数は 4 x 7 = 28 本実際には 20 本あるから 8 本分ラクダが多いラクダ一匹を OCaml プログラマに置き換えると足は 2 本減るから 4 人置き換えれば丁度よい OCaml プログラマ 4 匹 ラクダ 3 匹
4 いきなり鶴亀算 OCaml プログラマとラクダが合わせて 7 匹いる 足の数が合わせて 20 本である時 OCaml プログラマとラクダはそれぞれ何匹いるか 中学生の解法 OCaml プログラマの数を x ラクダの数を y とすると x + y = 7 2x + 4y = 20 これを解いて x = 4, y = 3
5 中学生の解法のエラいところ 未知数の導入 未知数を使った式で状況をとにかく表現 簡単に解ける問題 ( 連立一次方程式 ) に帰着
6 今日のおはなし ML 型推論の仕組み 長所 短所を知る MLの型検査と型推論 ML 型推論の仕組み 多相型などにはほとんど踏みこみません ML 型推論礼賛 ML 型推論に毒づく解毒剤まとめ
7 ML の型検査 型推論
8 ML の型検査 プログラムの つじつまが合っているか の検査 if の条件部には真偽値がくるか 関数の引数は適当か プログラム実行前に行われる ( 静的検査 ) 型検査を通過 データの 種類 にまつわるエラーが実行時に発生しないことが保証される 0 での除算などのエラーはその限りではない 型安全性
9 型 プログラム ( 断片 ) の分類のためのラベル int 型 実行結果が整数である ( あろう ) ような式 bool 型 実行結果が真偽値であるような式 int bool 型 実行結果が 整数を引数として真偽値を返すような 関数値であるような式 分類にあてはまる式が つじつまの合った式 1+1 は int 型の式 fun x x > 3 は int bool 型の式 if 3 then 4 else 5 は型が与えられない式
10 型付け規則 何がつじつまの合った式なのかを型を使って規定 整数定数式には int 型を与える 式 e1 と e2 ともに int 型が与えられるなら 式 e1+e2 には int 型を与える 式 e1 と e2 に それぞれ S T 型 S 型が与えられるなら 適用式 e1 e2 には T 型を与える x は S 型であるという仮定の下で式 e に T 型が与えられるなら fun x e には S T 型を与える
11 型推論 変数に対する型宣言のないプログラムから を知る 変数の型プログラムの型 fun x x > 1 の型は? x は int 型で 全体は int bool 型です!
12 ML 型推論の仕組み Hindley の写真 Milner の写真 J. Roger Hindley (b. 1938) Robin Milner (b. 1934) Luís Damas (b. 19??) John Alan Robinson (b. 1930)
13 問題設定の確認 入力 : 式 ( と これまでに定義された関数などの型 ) 出力 : 各変数の型と式の型 または エラー
14 基本的なアイデア : 中学生の鶴亀算 わからないことは変数で表す 型変数 (α, β,...) の導入 状況をとにかく式で表す 状況 : 部分式の型同士の関係 型付け規則の役割 各部分式の型の間に成立すべき関係の規定 具体的な問題全てに共通する背景知識簡単な問題に帰着 ML の場合 : 一階の単一化 (unification) 問題
15 例題 (1): fun f f(3) + 2 f の型は α, 各部分式 3, f(3), 2, f(3)+2, fun f f(3)+2 の型を β1,...,β5 とおく 型付け規則から方程式を立てる 整数定数式の型付け規則 β1 = int 関数呼び出し式の型付け規則 α = β1 β2 整数定数式の型付け規則 β3 = int 足し算式の型付け規則 β2 = int, β3 = int, β4 = int funの型付け規則 β5 = α β4 解く! α = int int, β1 =... = β4 = int β5 = (int int) int
16 例題 (2): fun f f(3) + f f の型は α, 各部分式 3, f(3), f(3)+f, fun f f(3)+f の型を β1,...,β4 とおく 型付け規則から方程式を立てる 整数定数式の型付け規則 β1 = int 関数呼び出し式の型付け規則 α = β1 β2 整数定数式の型付け規則 α = int 足し算式の型付け規則 β2 = int, α = int, β3 = int funの型付け規則 β4 = α β3 解く! 解けない!
17 鶴亀算でいうと Ocaml プログラマとラクダが合わせて 7 匹いる 足の数が合計で 20 本であった レントゲン写真を撮ってみると胃が 14 個見える Ocaml プログラマとラクダはそれぞれ何匹いるか ちなみにラクダには胃が 3 つある ( 生物学的には 4 つでひとつは退化しているらしい ) OCaml プログラマの数を x ラクダの数を y とすると x + y = 7 2x + 4y = 20 x + 3y = 14 この方程式には解がない
18 例題 (2): fun f f(3) + f... 整数定数式の型付け規則 β1 = int 関数呼び出し式の型付け規則 α = β1 β2 整数定数式の型付け規則 α = int 足し算式の型付け規則 β2 = int, α = int, β3 = int funの型付け規則 β4 = α β3 解く! 解けない! って よく見たら f を関数として使ったり 整数として使ったりしてるじゃん 型検査を通してはいけないプログラム
19 例題 (3): fun f f(3) f の型は α, 各部分式 3, f(3), fun f f(3) の型を β1,...,β3 とおく 型付け規則から方程式を立てる 整数定数式の型付け規則 β1 = int 関数呼び出し式の型付け規則 α = β1 β2 funの型付け規則 β3 = α β2 解く! 別解が無数にある! 解 1: α = int int, β3=(int int) int 解 2: α = int string, β3=(int string) string 解 3: α = int int list, β3=(int int list) int list...
20 ふたたび鶴亀算でいうと Ocaml プログラマとラクダが合わせて 7 匹いる 目の数は合計で 14 個であった OCaml プログラマとラクダはそれぞれ何匹いるか OCaml プログラマの数を x ラクダの数を y とすると x + y = 7 2x + 2y = 14 これを解いて x = 7 y ( 解のパラメータ表示 ) この関係を満たす自然数 x, y ならなんでもよい
21 例題 (3): fun f f(3)... 整数定数式の型付け規則 β1 = int 関数呼び出し式の型付け規則 α = β1 β2 funの型付け規則 β3 = α β2 解く! fun 式の型 β3 = (int β2) β2 上の式を満たす β3 β2 ならなんでもよい 多相性!
22 方程式の一般形と解法 型に関する等式の集合 等式の例 : β int = (bool * α) δ 両辺 : int, bool などの基本型と型変数を や * で繋いでいった型 一般的には 一階 (first-order) の単一化問題 と呼ばれる ( 解ける場合には ) 解が必ず求まる方法 ( 詳細は省略 ) がある![Robinson65] しかも 最も一般的 な解が求まる! 全ての解のパラメータ表示
23 ここまでのまとめ ML の型推論は単一化問題に帰着できる 式が型付けできるかどうか = 式から導かれる単一化問題の解の有無 解が複数ある場合 : 多相的なプログラム
24 ML 型推論礼賛
25 プログラムにいちいち型書かなくてもよくて しかも安全なんてちょー便利じゃん だよね
26 ML 型推論の性質 型推論の完全性 ( 主要型の推論 ) うまく変数の型を与えれば型検査に通るようなプログラムは必ず型推論に成功する 型宣言はいつでも省略可 最も一般的な型 ( 主要型 ) を推論 型推論の健全性 型推論に成功したプログラムは必ず型エラーなく実行できる
27 主要型 式に与えうる型のバリエーション全てを網羅するような ( 多相 ) 型 fun x (x, x) に与えうる型 int int*int string string*string int list int list * int list 主要型は : α α * α 主要型の推論 は単一化を解くアルゴリズムの性質の系
28 ML 型推論に毒づく ここにはイギリスのロックバンド Black Sabbath のアルバム Heaven and Hell のジャケットがあると思ってください
29 つーか ML ってプログラム見ても型書いてなくて 何すんだかわかんねーんだけど だよね ここにはイギリスのロックバンド Black Sabbath のアルバム Heaven and Hell のジャケットがあると思ってください
30 つーか ML ってプログラム見ても型書いてなくて 何すんだかわかんねーんだけど だよね トップレベルの関数くらいは型が宣言されていた方が親切かもしれません ( 特に一週間後のあなたに ) ここにはイギリスのロックバンド Black Sabbath のアルバム Heaven and Hell のジャケットがあると思ってください
31 つーか ML ってさあ エラーメッセージが腐ってない? こないだもさぁ ここにはイギリスのロックバンド Black Sabbath のアルバム Heaven and Hell のジャケットがあると思ってください
32 let f x ls = (List.fold_left x (+) ls, x + 1);; Characters xx-yy:... x + 1);; ^ This expression has type (int -> int -> int) -> 'a -> int -> int -> int but is here used with type int こ この巨大な型はいったい!? (20 分後 デバグを終えて ) 間違えてんのここじゃねーし!( 怒 )
33 解毒剤
34 親切なエラーメッセージを出す研究 方程式を解く順序を工夫する エラーは ( 型 ) 変数消去ができなくなった時に発生する 型推論が いかに失敗したか をうまく説明 適当な経験則でエラー箇所を推測 (& 修正の提案 ) 経験則の例 : 場合分けの各枝で型が合わない場合は多数決で (!) どの枝が悪いか決める エラーに関連するプログラムを抽出して見せる ( プログラムスライシング )
35 方程式を解く順序を工夫する fold_left : (α β α) α β list α x : α1, (+) : int int int fold_left x (+) ls, x + 1 fold_left x fold_left x (+) x +... α1 = α β α α = int int int α1 = int α を消去 α1 を消去即エラー α1 = (int int int) β (int int int) α1 = int
36 万能な順序付けは難しい 多くの ML 処理系では式の位置で解く順番が決まる 例えばペアの要素順を変えるだけで ぐっとわかりやすくなる let f x ls = (x + 1, List.fold_left x (+) ls);; Characters xx-yy:... List.fold_left x (+) ls);; ^ This expression has type int but is here used with type 'a -> 'b -> 'a 本当は いつでも 正しいあたり から解き始めたい
37 難しい というか 根本的な解決は無理な話では? 問題設定のどこ ( 個体数 足の数 胃の数 ) が間違っていたのか答える方法がないのと同じ? Ocaml プログラマとラクダが合わせて 7 匹いる 足の数が合計で 20 本であった レントゲン写真を撮ってみると胃が 14 個見える Ocaml プログラマとラクダはそれぞれ何匹いるか 結局 大体うまくいく経験則に頼るしかない
38 まとめ 方程式はエラい ML 型推論もかなりエラい 実行時の安全性保証主要な型の推論 何が間違いなのかを知るのは難しい経験則に基いた対策はいろいろ考えられている 実用上充分な決定版はまだない ラクダの胃の数は 3 つ 第三 第四の胃がくっついている
39 おまけ : 型推論実装演習のはなし 学生に ML 型推論を OCaml で実装させてます 対象 : 学部 3 回生 (Scheme の経験はあり ) 期間 : 週 6 コマの演習 x 6 週間のうち最後の 2 週間 多相性はオプション 正しく実装するのは難しいです 方程式の構成と単一化の解消を交互にやるのがミスりやすい 結果 : はじくべきプログラムをはじけない 対策 : テスト用の正例 反例両方を提供
40 学生の実装の傑作 No.1 # let s x y z = x z (y z);; (* 正しい結果 *) val s : ('a 'b 'c) ('a 'b) 'a 'c = <fun> (* 学生 X の提出したプログラムの出力 *) val s : 'a 'b 'c 'd = <fun> Obj.magic か!?
Microsoft Word - 漸化式の解法NEW.DOCX
閑話休題 漸化式の解法 基本形 ( 等差数列, 等比数列, 階差数列 ) 等差数列 : d 等比数列 : r の一般項を求めよ () 3, 5 () 3, () 5より数列 は, 初項 3, 公差の等差数列であるので 5 3 5 5 () 数列 は, 初項 3, 公比 の等比数列であるので 3 階差数列 : f の一般項を求めよ 3, より のとき k k 3 3 において, を代入すると 33 となるので,は
Microsoft PowerPoint - mp11-02.pptx
数理計画法第 2 回 塩浦昭義情報科学研究科准教授 [email protected] http://www.dais.is.tohoku.ac.jp/~shioura/teaching 前回の復習 数理計画とは? 数理計画 ( 復習 ) 数理計画問題とは? 狭義には : 数理 ( 数学 ) を使って計画を立てるための問題 広義には : 与えられた評価尺度に関して最も良い解を求める問題
Parametric Polymorphism
ML 2 2011/04/19 Parametric Polymorphism Type Polymorphism ? : val hd_int : int list - > int val hd_bool : bool list - > bool val hd_i_x_b : (int * bool) list - > int * bool etc. let hd_int = function (x
# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu
II 4 : 2001 11 7 keywords: 1 OCaml OCaml (first-class value) (higher-order function) 1.1 1 2 + 2 2 + + n 2 sqsum 1 3 + 2 3 + + n 3 cbsum # let rec sqsum n = # if n = 0 then 0 else n * n + sqsum (n - 1)
Microsoft PowerPoint - mp11-06.pptx
数理計画法第 6 回 塩浦昭義情報科学研究科准教授 [email protected] http://www.dais.is.tohoku.ac.jp/~shioura/teaching 第 5 章組合せ計画 5.2 分枝限定法 組合せ計画問題 組合せ計画問題とは : 有限個の もの の組合せの中から, 目的関数を最小または最大にする組合せを見つける問題 例 1: 整数計画問題全般
数学2 第3回 3次方程式:16世紀イタリア 2005/10/19
数学 第 9 回方程式とシンメトリ - 010/1/01 数学 #9 010/1/01 1 前回紹介した 次方程式 の解法は どちらかというと ヒラメキ 的なもので 一般的と言えるものではありませんでした というのは 次方程式 の解法を知っても 5 次方程式 の問題に役立てることはできそうもないからです そこで より一般的な別解法はないものかと考えたのがラグランジュという人です ラグランジュの仕事によって
【FdData中間期末過去問題】中学数学2年(連立方程式計算/加減法/代入法/係数決定)
FdData 中間期末 : 中学数学 年 : 連立方程式計算 [ 元 1 次方程式 / 加減法 / 代入法 / 加減法と代入法 / 分数などのある連立方程式 / A=B=C, 元連立方程式 / 係数の決定 ] [ 数学 年 pdf ファイル一覧 ] 元 1 次方程式 次の方程式ア~カの中から, 元 1 次方程式をすべて選べ ア y = 6 イ x y = 5 ウ xy = 1 エ x + 5 = 9
微分方程式による現象記述と解きかた
微分方程式による現象記述と解きかた 土木工学 : 公共諸施設 構造物の有用目的にむけた合理的な実現をはかる方法 ( 技術 ) に関する学 橋梁 トンネル ダム 道路 港湾 治水利水施設 安全化 利便化 快適化 合法則的 経済的 自然および人口素材によって作られた 質量保存則 構造物の自然的な性質 作用 ( 外力による応答 ) エネルギー則 の解明 社会的諸現象のうち マスとしての移動 流通 運動量則
情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤
情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤 2017.12.7 前回の演習問題の解答例 1. 四則演算のできる計算機のプログラム ( 括弧も使える ) 2. 実数の扱える四則演算の計算機のプログラム ( 実数 も というより実数 が が正しかったです ) 3. 変数も扱える四則演算の計算機のプログラム ( 変数と実数が扱える ) 演習問題 1 で行うべきこと
ML 演習 第 4 回
ML 演習第 4 回 おおいわ Mar 6, 2003 今回の内容 補足 Ocaml のモジュールシステム structure signature functor Ocaml コンパイラの利用 2 識別子について 利用可能文字 先頭文字 : A~Z, a~z, _ ( 小文字扱い ) 2 文字目以降 : A~Z, a~z, 0~9, _, 先頭の文字の case で 2 つに区別 小文字 : 変数,
4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ
4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は
Microsoft PowerPoint - 10.pptx
m u. 固有値とその応用 8/7/( 水 ). 固有値とその応用 固有値と固有ベクトル 行列による写像から固有ベクトルへ m m 行列 によって線形写像 f : R R が表せることを見てきた ここでは 次元平面の行列による写像を調べる とし 写像 f : を考える R R まず 単位ベクトルの像 u y y f : R R u u, u この事から 線形写像の性質を用いると 次の格子上の点全ての写像先が求まる
メソッドのまとめ
メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド
メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが
# let st1 = {name = "Taro Yamada"; id = };; val st1 : student = {name="taro Yamada"; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n
II 6 / : 2001 11 21 (OCaml ) 1 (field) name id type # type student = {name : string; id : int};; type student = { name : string; id : int; } student {} type = { 1 : 1 ;...; n : n } { 1 = 1 ;...; n = n
学習指導要領
(1) 数と式 ア数と集合 ( ア ) 実数数を実数まで拡張する意義を理解し 簡単な無理数の四則計算をすること 絶対値の意味を理解し適切な処理することができる 例題 1-3 の絶対値をはずせ 展開公式 ( a + b ) ( a - b ) = a 2 - b 2 を利用して根号を含む分数の分母を有理化することができる 例題 5 5 + 2 の分母を有理化せよ 実数の整数部分と小数部分の表し方を理解している
Java知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
PowerPoint Presentation
応用数学 Ⅱ (7) 7 連立微分方程式の立て方と解法. 高階微分方程式による解法. ベクトル微分方程式による解法 3. 演算子による解法 連立微分方程式 未知数が複数個あり, 未知数の数だけ微分方程式が与えられている場合, これらを連立微分方程式という. d d 解法 () 高階微分方程式化による解法 つの方程式から つの未知数を消去して, 未知数が つの方程式に変換 のみの方程式にするために,
オートマトンと言語
オートマトンと言語 回目 4 月 8 日 ( 水 ) 章 ( 数式の記法, スタック,BNF 記法 ) 授業資料 http://ir.cs.yamanashi.ac.jp/~ysuzuki/public/automaton/ 授業の予定 ( 中間試験まで ) 回数月日 内容 4 月 日オートマトンとは, オリエンテーション 4 月 8 日 章 ( 数式の記法, スタック,BNF) 3 4 月 5 日
コンパイラ演習 第 7 回
コンパイラ演習 第 7 回 (2010/11/18) 秋山茂樹池尻拓朗前田俊行鈴木友博渡邊裕貴潮田資秀小酒井隆広山下諒蔵佐藤春旗大山恵弘佐藤秀明住井英二郎 今日の内容 Type Polymorphism ( 型多相性 ) の実現について Polymorphism 大きく分けて 3 種類ある Parametric polymorphism Subtyping polymorphism Ad-hoc polymorphism
プログラミング実習I
プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 [email protected] 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.
様々なミクロ計量モデル†
担当 : 長倉大輔 ( ながくらだいすけ ) この資料は私の講義において使用するために作成した資料です WEB ページ上で公開しており 自由に参照して頂いて構いません ただし 内容について 一応検証してありますが もし間違いがあった場合でもそれによって生じるいかなる損害 不利益について責任を負いかねますのでご了承ください 間違いは発見次第 継続的に直していますが まだ存在する可能性があります 1 カウントデータモデル
情報実習Ⅱ
情報実習 Ⅱ 第 7 回 ( これまでの復習 ) 課題資料 Java のクラスの概形 クラス フィールドコンストラクタメソッド main メソッドローカル変数宣言オブジェクト生成オブジェクトへのメッセージ ( メソッド呼び出し ) 変数 : 基本型, 参照型 これまでの 習得事項 まだ初歩的な内容だけだが これらを利用するだけでも多くの実用的なプログラムが記述できる キーボード入力 : Scanner
微分方程式 モデリングとシミュレーション
1 微分方程式モデリングとシミュレーション 2018 年度 2 質点の運動のモデル化 粒子と粒子に働く力 粒子の運動 粒子の位置の時間変化 粒子の位置の変化の割合 速度 速度の変化の割合 加速度 力と加速度の結び付け Newtonの運動方程式 : 微分方程式 解は 時間の関数としての位置 3 Newton の運動方程式 質点の運動は Newton の運動方程式で記述される 加速度は力に比例する 2
デバッグの工夫
バグを減らす デバッグの工夫 ~ プログラミング実習で生き残るために ~ 2013/02/12 金森由博 よくあるプログラミングの風景 課題めんどくさい とりあえず適当に書くか エラーチェック めんどくさい あとまわし ちゃんと動くかわかんないけど全部書いちゃお ふー やっと全部書けた コンパイルしよ!? エラーメッセージの意味がわからん!! はぁ やっとコンパイルが通った 実行しよ えっ!? なんでセグメンテーション違反!?
PowerPoint プレゼンテーション
計算機実習 Ⅰ FORTRAN 担当 2018.05.29 本日の課題 プログラムの基本ルールを理解し 以下が含まれるプログラムを作成する (1) 文法の基礎 ( フローチャートなど ) (2) 変数宣言 (3) 入出力 (4) 四則演算 (5) 組込関数 (6) 判定文 (7) リダイレクション PROGRAM MAIN INTEGER I, J, K REAL A, B, C CHARACTER
モデリングとは
コンピュータグラフィックス基礎 第 5 回曲線 曲面の表現 ベジェ曲線 金森由博 学習の目標 滑らかな曲線を扱う方法を学習する パラメトリック曲線について理解する 広く一般的に使われているベジェ曲線を理解する 制御点を入力することで ベジェ曲線を描画するアプリケーションの開発を行えるようになる C++ 言語の便利な機能を使えるようになる 要素数が可変な配列としての std::vector の活用 計算機による曲線の表現
オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,
オートマトン 形式言語及び演習 1 有限オートマトンとは 酒井正彦 wwwtrscssinagoya-uacjp/~sakai/lecture/automata/ 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, } 形式言語 : 数学モデルに基づいて定義された言語 認識機械 : 文字列が該当言語に属するか? 文字列 機械 受理
今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること
C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順
< F2D A793F18CB388EA8E9F95FB92F68EAE2E6A7464>
中学校第 2 学年 数学 - 連立二元一次方程式 - 1 コアについて (1) 連立二元一次方程式 における他単元や他領域等との関連 第 2 学年 (1) 具体的な事象の中に数量の関係を見いだし それを文字を用いて式に表現したり式の意味を読み取ったりする能力を養うとともに 文字を用いた式の四則計算ができるようにする ア簡単な整式の加法 減法及び単項式の乗法 除法の計算をすること 第 1 学年では 一元一次方程式について
Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac
Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN
プログラミング実習I
プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 [email protected] 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,
1 911 9001030 9:00 A B C D E F G H I J K L M 1A0900 1B0900 1C0900 1D0900 1E0900 1F0900 1G0900 1H0900 1I0900 1J0900 1K0900 1L0900 1M0900 9:15 1A0915 1B0915 1C0915 1D0915 1E0915 1F0915 1G0915 1H0915 1I0915
数学 Ⅲ 微分法の応用 大学入試問題 ( 教科書程度 ) 1 問 1 (1) 次の各問に答えよ (ⅰ) 極限 を求めよ 年会津大学 ( 前期 ) (ⅱ) 極限値 を求めよ 年愛媛大学 ( 前期 ) (ⅲ) 無限等比級数 が収束するような実数 の範囲と そのときの和を求めよ 年広島市立大学 ( 前期
数学 Ⅲ 微分法の応用 大学入試問題 ( 教科書程度 )1 問 1 (1) 次の各問に答えよ (ⅰ) 極限 を求めよ 年会津大学 ( 前期 ) (ⅱ) 極限値 を求めよ 年愛媛大学 ( 前期 ) (ⅲ) 無限等比級数 が収束するような実数 の範囲と そのときの和を求めよ 年広島市立大学 ( 前期 ) (2) 次の関数を微分せよ (ⅰ) を正の定数とする (ⅱ) (ⅳ) (ⅵ) ( 解答 )(1) 年群馬大学
スライド 1
ブール代数 ブール代数 集合 { 0, 1 } の上で演算 AND, OR, NOT からなる数学的体系 何のため? ある演算をどのような回路で実現すればよいのか? どうすれば回路が小さくなるのか? どうすれば回路が速く動くのか? 3 復習 : 真理値表とゲート記号 真理値表 A B A B 0 0 0 0 1 0 1 0 0 1 1 1 A B A+B 0 0 0 0 1 1 1 0 1 1 1
Microsoft PowerPoint - 13.ppt [互換モード]
13. 近似アルゴリズム 1 13.1 近似アルゴリズムの種類 NP 困難な問題に対しては多項式時間で最適解を求めることは困難であるので 最適解に近い近似解を求めるアルゴリズムが用いられることがある このように 必ずしも厳密解を求めないアルゴリズムは 大きく分けて 2 つの範疇に分けられる 2 ヒューリスティックと近似アルゴリズム ヒュ- リスティクス ( 発見的解法 経験的解法 ) 遺伝的アルゴリズム
memo
数理情報工学特論第一 機械学習とデータマイニング 4 章 : 教師なし学習 3 かしまひさし 鹿島久嗣 ( 数理 6 研 ) [email protected].~ DEPARTMENT OF MATHEMATICAL INFORMATICS 1 グラフィカルモデルについて学びます グラフィカルモデル グラフィカルラッソ グラフィカルラッソの推定アルゴリズム 2 グラフィカルモデル 3 教師なし学習の主要タスクは
kiso2-03.key
座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v
数学○ 学習指導案
第 1 学年数学科数学 Ⅰ 学習指導案 1 単元名 二次方等式 二次不等式 2 単元の目標 二次方程式を因数分解や解の公式で導くことができるようにする 二次関数のグラフと 軸との共有点の個数を判別する方法を理解する 一次不等式や二次不等式の解法を 一次関数や二次関数のグラフを利用して理解する 二次不等式を含んだ連立不等式の解法を理解する 判別式をさまざまな事象の考察に応用することができるようにする
EBNと疫学
推定と検定 57 ( 復習 ) 記述統計と推測統計 統計解析は大きく 2 つに分けられる 記述統計 推測統計 記述統計 観察集団の特性を示すもの 代表値 ( 平均値や中央値 ) や ばらつきの指標 ( 標準偏差など ) 図表を効果的に使う 推測統計 観察集団のデータから母集団の特性を 推定 する 平均 / 分散 / 係数値などの推定 ( 点推定 ) 点推定値のばらつきを調べる ( 区間推定 ) 検定統計量を用いた検定
Microsoft PowerPoint - mp13-07.pptx
数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) [email protected] ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの
学習指導要領
(1) 数と式 ア数と集合 ( ア ) 実数数を実数まで拡張する意義を理解し 簡単な無理数の四則計算をすること 自然数 整数 有理数 無理数の包含関係など 実数 の構成を理解する ( 例 ) 次の空欄に適当な言葉をいれて, 数の集合を表しなさい ア イ 無理数 整数 ウ 無理数の加法及び減法 乗法公式などを利用した計 算ができる また 分母だけが二項である無理数の 分母の有理化ができる ( 例 1)
頻出問題の解法 4. 絶対値を含む関数 4.1 絶対値を含む関数 絶対値を含む関数の扱い方関数 X = { X ( X 0 のとき ) X ( X <0 のとき ) であるから, 絶対値の 中身 の符号の変わり目で変数の範囲を場合分けし, 絶対値記号をはずす 例 y= x 2 2 x = x ( x
頻出問題の解法 4. 絶対値を含む関数 4.1 絶対値を含む関数 絶対値を含む関数の扱い方関数 X = { X ( X 0 のとき ) X ( X
Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx
情報ネットワーク導入ユニット Ⅰ C 言語 if 文 switch 文 3 章 : プログラムの流れの分岐 if 文 if( 条件 ) 条件が成立すれば実行 if( 条件 ) ~ else 場合分け ( 成立, 不成立 ) if( 条件 A) ~ else if( 条件 B) ~ else if( 条件 C) ~ else 場合分け ( 複数の条件での場合分け ) 等価演算子 : == ( 等しい
切片 ( 定数項 ) ダミー 以下の単回帰モデルを考えよう これは賃金と就業年数の関係を分析している : ( 賃金関数 ) ここで Y i = α + β X i + u i, i =1,, n, u i ~ i.i.d. N(0, σ 2 ) Y i : 賃金の対数値, X i : 就業年数. (
統計学ダミー変数による分析 担当 : 長倉大輔 ( ながくらだいすけ ) 1 切片 ( 定数項 ) ダミー 以下の単回帰モデルを考えよう これは賃金と就業年数の関係を分析している : ( 賃金関数 ) ここで Y i = α + β X i + u i, i =1,, n, u i ~ i.i.d. N(0, σ 2 ) Y i : 賃金の対数値, X i : 就業年数. ( 実際は賃金を就業年数だけで説明するのは現実的はない
アルゴリズムとデータ構造
講義 アルゴリズムとデータ構造 第 2 回アルゴリズムと計算量 大学院情報科学研究科情報理工学専攻情報知識ネットワーク研究室喜田拓也 講義資料 2018/5/23 今日の内容 アルゴリズムの計算量とは? 漸近的計算量オーダーの計算の方法最悪計算量と平均計算量 ポイント オーダー記法 ビッグオー (O), ビッグオメガ (Ω), ビッグシータ (Θ) 2 お風呂スケジューリング問題 お風呂に入る順番を決めよう!
Microsoft PowerPoint - kougi2.ppt
C プログラミング演習 第 2 回 Microsoft Visual Studio.NET を使ってみよう 説明 例題 1. プログラム実行の体験 コンピュータを役に立つ道具として実感する 次ページのプログラムを使って, Microsoft Visual Studio.NETでの C++ ソースファイル編集, ビルド, テスト実行の一連の過程を体験する 例題 1 のプログラムの機能 計算の繰り返し
Microsoft PowerPoint - ad11-09.pptx
無向グラフと有向グラフ 無向グラフ G=(V, E) 頂点集合 V 頂点の対を表す枝の集合 E e=(u,v) 頂点 u, v は枝 e の端点 f c 0 a 1 e b d 有向グラフ G=(V, E) 頂点集合 V 頂点の順序対を表す枝の集合 E e=(u,v) 頂点 uは枝 eの始点頂点 vは枝 eの終点 f c 0 a 1 e b d グラフのデータ構造 グラフ G=(V, E) を表現するデータ構造
Microsoft Word - 201hyouka-tangen-1.doc
数学 Ⅰ 評価規準の作成 ( 単元ごと ) 数学 Ⅰ の目標及び図形と計量について理解させ 基礎的な知識の習得と技能の習熟を図り それらを的確に活用する機能を伸ばすとともに 数学的な見方や考え方のよさを認識できるようにする 評価の観点の趣旨 式と不等式 二次関数及び図形と計量における考え方に関 心をもつとともに 数学的な見方や考え方のよさを認識し それらを事象の考察に活用しようとする 式と不等式 二次関数及び図形と計量における数学的な見
