サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
hagi.is.s.u-tokyo.ac.jp
この授業の目的は、プログラミング言語C、Scheme、アセンブリの基礎を習得し、それらの言語を通じて、情報科学に必要な基礎学力を高めることにあります。 合格の目安は、オプショナルと明記されていない課題を全て解くことです。 連絡事項 3月14日までに以下の課題について十分なレポートを提出していない受講者は、原則として、補講に出席することなく単位を取得することはできません。補講で指示されたレポートの締切は4月9日です。 アルゴリズムとデータ構造: 71 72 74 75 76 79 Scheme処理系: 62 アセンブリ: 104 105 106 109 112 補講の詳細は以下の通りです。上記の補講対象者以外も補講に参加することはできます。 日時: 3月30日(木) 13:30–18:00 3月31日(金) 13:30–18:00 場所: 駒場キャンパス 情報教育棟 2F E25 小演習室1
hagi.is.s.u-tokyo.ac.jp/~egi
さわって覚えるパターンマッチプログラミング 目的 従来のプログラミング言語では集合や多重集合のような1つの定まった形を持たないデータ型に対するパターンマッチを行うためには、 一度順序をもったコレクション型であるリストとしてこれらのデータを捉え直してパターンマッチするしかありませんでした。 多くのプログラマは、この煩雑な作業を当たり前のことだと認識していますが、これは実はかなりのプログラミングの際の潜在的な精神的なストレスになっています。 Egisonは強力なパターンマッチをユーザーが記述できる新しい関数型言語です。 ユーザーが集合や多重集合のような(正規形を持たない)データ型のパターンマッチの方法を定義し、 それを使用したプログラムを直感的に記述することができます。 本ワークショップでは、実際にEgisonでプログラミングをしながら、Egisonについて深く学んでいきます。 E
Egisonの価値 パターンマッチについて考えることは,思っているより非常に重要なことである. 新しい強力なパターンマッチの表現をみつけることは,関数型言語や論理型言語, オブジェクト指向言語などのアイデアと較べるとそこまで重要なことではないという認識があるような気がする. しかし,そんな認識は間違っていて, 新しく開発された超強力なパターンマッチ機能をもつEgisonが, 実はどれだけ影響力を秘めた言語であるかということを今回は書いてみようと思う. プログラミング言語には大雑把に分けて, 計算機を制御するための道具としての捉え方と, アルゴリズムを表現するための道具としての捉え方があるように思う. 前者の捉え方は,入出力やメモリ管理,並列計算,ネットワーク関連の処理などの コンピュータの機能を組み合わせて, 役に立つ便利なアプリケーションを作るハッカー的な捉え方である. 後者の捉え方は,
Egison - プログラミング言語→ English Version Egisonとは? Egisonは強力なパターンマッチ機能をもつ関数型言語です. Egisonを使うと,純粋に帰納的には表せないデータ,例えば,集合や,多重集合, また環や群といった代数構造などのパターンマッチを直感的に表現することができます. Egisonのその他に以下のような特徴があります. 遅延評価 インストールの方法 EgisonはHaskellを使って実装されています. EgisonはHackageのパッケージとして配布されています. Egisonをインストールするには,GHCと Cabal-installがインストールされている必要があります. Haskell Platformをインストールすれば, その両方が自動でインストールされます. Hasekll Platformをインストールしたら,コマ
hagi.is.s.u-tokyo.ac.jp/~yh
様相論理と時相論理 Kripke構造 • K = 〈S, R, L〉 S: 状態の集合(無限かもしれない) R: 状態間の遷移関係 R ⊆ S×S L: 状態から命題記号の集合への写像 L(s) は、状態 s∈S において成り立つ 命題記号の集合を与える。 Kripke構造 • K = 〈S, R, L〉 • G = 〈S, R〉 有向グラフ Kripke構造 • K = 〈S, R, L〉 • L : S→2Atom Atom : 命題記号の 全体 P Q Q Q P, Q P Atom = {P, Q} 様々なKripke構造 • 木 • 森 • 無限木 P Q Q Q P, Q Q P Q P,Q 様相論理式 ϕ, ψ ::= P 命題記号 | ¬ϕ 否定 | ϕ∧ψ 連言 | ϕ∨ψ 選言 | □ϕ 必然 | ◇ϕ 可能 意味論 s |= P iff P ∈ L(s) s |= ¬
平成21年度 情報科学基礎実験 本演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、情報科学に必要な基礎学力を高めることにあります。 重要なお知らせ 課題 C入門 レポート課題 C演習 レポート課題1 C演習 レポート課題2 ポインタに関する補足資料 C演習の課題に関する補足資料 アルゴリズムとデータ構造演習 レポート課題1 アルゴリズムとデータ構造演習 レポート課題2 アルゴリズムとデータ構造演習 レポート課題3 アルゴリズムとデータ構造演習 レポート課題4 計算機システム演習 レポート課題1 計算機システム演習 レポート課題2 計算機システム演習 レポート課題3 計算機システム演習 レポート課題4 計算機システム演習 参考資料5 Scheme演習 レポート課題1 Scheme演習 レポート課題2 Scheme演習 レポート課題3 Scheme演習
何故モデル検査が必要なのか? • 多くのソフトウェアが分散処理・並行処理を基 本としている – 複数の計算主体が並行動作をしながら共有資源 を用いて機能を実現している • システム全体が安全な動作をしない可能性が 高い – 資源を奪い合う競合状態に陥る可能性が高い – 非決定的な振る舞いについて、誤りがテストなど では現れない可能性が高い 1 非決定的な振舞 • 複数スレッド間の並列動作 • 複数機器間の並列動作 • ネットワーク環境の変化 2 複数スレッド間の並列動作 3 int a; (ロックは適切にとっているものとする.) スレッド間共有データ while (true) { if (a < 10) { a++; } } スレッド1 while (true) { a--; } a = 10; thread1.run(); thread2.run(); while (true) { b
Name Last modified Size Description Parent Directory 12-Jul-1993 11:47 - 7bits/ 01-Jun-1994 11:22 - cp/ 12-Jul-1993 12:47 - essay/ 10-Jun-1999 14:01 - h/ 12-Jul-1993 12:35 - kaisetsu/ 10-Dec-1997 21:21 - misc/ 28-Dec-1995 09:39 - seminar/ 05-Jan-1995 11:04 -
Makefileの書き方 ここでは、GNUのmakeコマンド用のMakefileの書き方を 簡単に説明します。 GNU以外のmakeでは、多分期待通りに動作しません。 また、より詳しい説明については、InfoやGNUのウェブサイトを参照してください。 makeは、実行されたディレクトリにある Makefileという名前のファイルによって挙動を決定します。 Makefileの最初には、次の行を書きます。 SHELL = /bin/sh この行がなくてもmakeは動作しますが、 誰が実行しても同じ挙動になるようにこう書いておくべきです。 (自分がbash愛好者だからといって、 bashを指定するべきではありません。) 後は、「作成したいファイル名(ターゲット)」を行の先頭に書いて、 「:」「作成に使うファイル名(ソース)」を順に書きます。 ソースは複数でも構いません。(実は、ターゲットも複数で
本演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、講義「アルゴリズムとデータ構造」の理解を深めることにあります。 重要なお知らせ 特に重要な連絡事項はここに掲載されます。 課題について 課題には、A課題とB課題があります。(課題番号の末尾が種類を表します。) B課題が基礎的な課題で、A課題が発展的な課題となっています。 B課題を全問解くことが、単位取得の目安です。 C入門第1回(10月10日) C入門第2回(10月17日) C入門第3回(10月24日) C入門第4回(10月31日) C第1回(11月7日) C第2回(11月14日) C第3回(11月21日) C第4回(11月28日) C第5回(12月5日) Scheme第1回(12月12日) Scheme第2回(12月19日) Scheme第3回(1月9日) Scheme第4回(1月16日) C補講
課題1-B: 1:Emacsを使って、test.txtとtest2.txtを作成せよ。 2:catでファイルの中身に行番号を付けて出力せよ。 また、test.txtとtest2.txtを連結して output.txtを作成せよ。 3:output.txtの中身のうち「red」という文字列を含む行のみを出力する コマンドを答えよ。 4:3の結果を更にソートするにはどうすればよいか。パイプを使って1行で記述せよ。 5:test.txtとtest2.txtの内容に行番号を付けた上で連結し、 「blue」を含む行だけを抜き出しソートした結果をoutput.txtに書き込む、 という動作を行うコマンドを1行で記述せよ。 6:教科書の28ページにあるリスト1-5をコンパイルし、動作を確認せよ。 (提出しなくてよい。) 7:教科書の36ページにあるリスト1-6をコンパイルし、動作を確認せよ。
目次 分子計算の理論 分子計算の解析と設計支援 自律的DNA計算の分子実装 固相法を利用したオートメーション化されたDNA計算 分子メモリ 進化リアクターの概念に基づく分子コンピュータ シグナル伝達経路のモデリングと細胞計算への応用 DNAナノテクノロジー 業績リスト はじめに 分子計算とは、分子を用いて人間の意図した情報処理を行うこと、すなわち、 分子によってコンピュータを作ろうという試みである[萩谷01計測と制御][萩谷00信学会誌] [萩谷00遺伝的アルゴリズム][Hagiya99NGC]。分子で計算を行な おうという考えは古くからあったが、実際にDNAなどの生体分子を用いてコン ピュータを構築しようとする研究は、1994年のAdlemanの仕事を契機として始 まった[Adleman94Science]。特にDNAを用いた分子計算をDNA計算という。 分子レベルの情報処理に関する研究
−分子レベルの情報処理機構の設計論− (領域番号 766 分子計算設計論) 領域代表者: 萩谷昌己 (東京大学・大学院情報理工学系研究科・教授) 「分子計算」は,生体分子が潜在的に持つ計算能力を分析し, それを利用して目的の機能や構造を合成することを目指す学問領域です. DNA,RNA,タンパク質等の生体分子の形態変化・自己会合・拡散・ 変異等の化学反応を活用して,並行並列・分散・自己組織化・ 進化等の情報処理機構を実現することを目標としています. 「分子プログラミング」とは, 分子計算の技術をさらに一歩進めるための, 分子計算に対するシステマティックな設計論のことを意味します. 本研究領域「分子プログラミング」は, 生体分子及びその化学反応を設計する過程をプログラミングとみなし, 計算モデルや計算量などの情報科学の技術を駆使して, 上述したような情報処理機構を実現するために, 生体分子お
hagi.is.s.u-tokyo.ac.jp/~hagiya
Masami Hagiya is a professor at Department of Computer Science, Graduate School of Information Science and Technology, University of Tokyo. He is in Room 411, Science Building No.7, Department of Computer Science, Graduate School of Information Science and Technology, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-8656, JAPAN. TEL: +81-3-5841-4113 (PHS) TEL: +81-3-5841-4115 (laboratory) E-
このページを最初にブックマークしてみませんか?
『HAGIYA Laboratory』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く