ホーム » 2012 » 10月 (ページ 3)

月別アーカイブ: 10月 2012

2012年10月
 123456
78910111213
14151617181920
21222324252627
28293031  

検索・リンク

工場見学旅行in台湾、事前説明

電子情報三年の工場見学旅行が海外なので、旅行社による事前の説明会が、開催されました。

1210101537_841x627.JPG

仮想サーバの導入の説明を受ける

以前より、学科のサーバで仮想サーバの導入を検討しており、 Debian上のXenなども試してみた。しかしながら、サーバへの 要求がある度に、設定をする管理者視点では、なかなか面倒そうであった。

そこで、OBの仮想化を実験的に導入している人に相談し、 色々とお薦めポイントを整理していた。その中で、学科サーバであれば、 VMware vSphere ESXi 無償化版あたりが良さそうとのことで、 そのOBが、ESXiのインストールや、ゲストOSインストールの実演を してくれるということで、説明をうけた。

全体像が雰囲気なりに分かっているつもりではいたが、 ESXi自体は USB メディアに入れるとか、VMware 管理クライアントでの インストールや設定のコツが聞けて、早々に試そうという状態。

説明を受ける際には、来年度に情報処理センターで仮想サーバを入れる 予定とのことで、興味があればと担当の人にも同席してもらった。

2012年10月7日(第289回)

収録でお送りしました。

  • 高専祭、大学祭について
    ゲスト:福井高専高専祭実行委員長、仁愛大学世灯祭実行委員長

担当:田中(5E)

キャンパスリサーチ in 電子情報

中学生の方を対象とした実験主体のオープンキャンパス。 電子情報では、Arduinoを用いた制御体験を実施しました。

1210061001_960x720.JPG

(卒研中間発表2日目)(10/05)

  • 10/05 (卒研中間発表2日目) #fnct_sotsu
  • 10/05 空中で動かした時と、地上で動かした時の差は、摩擦だけが原因? 重心などを見れる? 加速度はとれそう… #fnct_sotsu
  • 10/05 四足歩行の自動修正:歩行データで歩かせて方向などがズレていく場合に、方向修正などをさせるためにどうデータを作るか…. #fnct_sostu
  • 10/05 四足歩行ロボットの歩容の多様化に対する研究:動物らしい歩容を作りたい。WalkとTrotに限定して… #fnct_sotsu
  • 10/05 録音スペクトログラムに、横縞状のものが残っている… 自作スペクトログラムと録音ソフトで、差異を確認しよう… 画像的手法の具体性がまだ不明。 #fnct_sotsu
  • 10/05 音声スペクトログラムの画像解析による話者認識:声紋による話者認識で、話者の声を分離に… 時間/周波数/信号成分の強さ。 #fnct_sotsu
  • 10/05 ケプストラム法でスペクトル包絡を求める… #fnct_sotsu
  • 10/05 フォルマント周波数を利用した母音推定の研究:複数話者同時発声のなかで、音源分離につなげたい。個人音声の特徴分析でまずは母音から。 #fnct_sotsu
  • 10/05 現実に近いノイズを、シミュレーションでどうやって作るの? プロジェクタスクリーンを指し棒でたたくなよぉ〜。 #fnct_sotsu
  • 10/05 FM一括変換における劣化要因のシミュレーション:FM一括変換における雑音・歪の原因分析、改善方法を調査しよう… #fnct_sotsu
  • 10/05 斉藤・西・川上・前川研究室合同の卒研中間発表の二日目はじまり… #fnct_sotsu

この記事は、twitter の @TohruSaitohに掲載した #fnct タグ付き記事を、まとめたものです。


データベースの用語など

データベースの2回目ということで、データベースの形式などの説明のあと、 データベースの数学的な表記方法などを示す。

データベースの基本

データベースを利用する際、プログラマにしてみれば、SQLというデータ問い合わせ言語を 用いれば、簡単にデータを扱える。 これにより、応用プログラマにしてみれば、データをプログラムから分離ができ、 実際の内部の構造を知ることなく独立性が得られる。 また、データの一貫性を保つことは、データベースを利用しないと大変であるが、 データベースでは(a)正当性確認,(b)同時実行制御,(c)障害回復などを行ってくれるので、 一貫性のあるデータ管理が容易となる。 一般的には、データベースのACID特性として(a)atomicity原子性,(c)consistency一貫性,(i)isolation独立性,(d)dulability耐久性といった特性が求められる。

データベースに対する視点として、エンドユーザからの要求を応用プログラマが処理する場合、 データベースの一部分だけであったり、複数のデータベースを大きな単独の表で扱えると 便利であったりする。こういう応用プログラマの視点を外部スキーマと呼ぶ。 しかし実際には、複数の表からなるデータベースでは更新なども容易な(正規化された) 表で あるほうが良い。このような視点は、概念スキーマと呼ばれる。 さらにデータベースの内部では、このデータを高速に処理するための インデックスが付加されたり、実際のファイル上に記録されるデータ形式がとられる。 これらは内部スキーマと呼ばれる。 この利用者の視点に応じたスキーマ構成を、3層スキーマ・アーキテクチャと呼ぶ。

これらのデータを扱う際、木構造で表現できるようなものや、さらにそれらが複雑に からみあったネットワーク構造などは、自由にデータを表現できる一方、それらの データを扱うシステムは複雑化してしまう。 そこで、IBMのコッド博士の提唱した、データを簡単な表構造の 組み合わせで表す関係データベースは、処理の簡潔さもあって広く普及している。

データベースの表現

具体的なデータを組み合わせたデータベースは数学的に以下のように表現する。 データの集合A={s,t,u},B={p,q}とした場合、 直積A×Bとは、A×B={(x,y)|x∈A,y∈B}で表される。 例をあげると、AとBの全ての組み合わせであり、 A×B={(s,q),(t,q),(u,q),(s,q),(t,q),(u,q)} となる。 関係とは、直積の部分集合 R(A,B)⊂A×B であり、すべての組み合わせのうち、 実際に存在するものといえる。

makeが無いって!?

なにげなく、cron のLOGメールを見ていたら、 緊急連絡サーバ・バックアップ機の バックアップ処理がエラー表示。

バックアップスクリプトで make を使っているんだけど、

/usr/bin/make: not found

なんてほざいてる。makeが無いってどんなサーバやねん。 それに今まで動いていたじゃん。

バックアップ状況を確認すると、そのサーバは4月中旬以降の バックアップが止まってる。その頃、メジャーアップデートしたっけ!? ということで、"aptitude install make"して、 バックアップスクリプトを手動で動かす。

(卒研中間発表のメモ)(10/04)

  • 10/04 (卒研中間発表のメモ) #fnct
  • 10/04 通信路のジャミングやリトライや通信遮断が、どの程度プログラム側が把握できるのか、実験が必要。 #fnct_卒研中間発表
  • 10/04 成果として、 http://www.ei.fukui-nct.ac.jp/~t-saitoh/… が完成している。データストアの機能実装予定。農家の利用者側が見やすいWebインタフェースなモニタ環境作るぅ? #fnct_卒研中間発表
  • 10/04 @TohruSaitoh 安全マップネタに、他の卒研グループの人から、大量ダメ出し。例年の最終発表レベルが中間発表時点で完成していて、すばらしいんやけど… 私も鬼やけど、ほかの人も鬼やのぉ… #fnct_卒研中間発表
  • 10/04 XBeeを用いたセンサーネットワークの構築:ビニールハウス制御システムなどを構築するために、組み込み機器用の無線ネットワークのXBeeを用いて、各所のセンサーを無線で収集し、それに応じた制御のシステムの構築を目標。 #fnct_卒研中間発表
  • 10/04 緊急メールは現状で未実装。利用者側の一方的なメールアドレスの変更が大変かもね。緊急メール機能実装を期待。メール送信で写真付き記事投稿の機能実装を期待。(鬼と呼ばれそうだな…) #fnct_卒研中間発表
  • 10/04 携帯で地図登録の際には、"現在位置取得"は可能? 位置情報&写真付きメールで地図登録ができると防災マップにも応用可能。緊急連絡メール機能の完成度は? #fnct_卒研中間発表
  • 10/04 地域安全マップの本格運用:Google Mapを用いた安全マップと緊急メールなどの今まで卒研でやってきた内容をGAE上で統合運用を目指す。 #fnct_卒研中間発表
  • 10/04 外部DBのマルチSNS化は、SNSのグループなどを生かせなくなるかも。どういった落とし所が利便性が良いか? #fnct_卒研中間発表
  • 10/04 外部サーバDBに、事案情報・位置情報・グループ情報を記録し、Persistence API を使わなければ、外部サーバDB経由で、mixi,google,などのマルチSNS対応なシステムにできるんじゃねぇ? #fnct_卒研中間発表
  • 10/04 グループ管理の外部サーバに保存する情報は、Private流出の懸念から最小限が望ましい。んで、どこまで記録する? このアプリ起動時に、どんなデータ参照許可を与える必要がある? #fnct_卒研中間発表
  • 10/04 地図の位置情報・事件事案情報は、PersistenceAPI保存?グループ管理の外部サーバのDBに保存? #fnct_卒研中間発表
  • 10/04 OpenSocialを用いたSNS上で動作する地域安全マップシステムの開発:SNSアプリのAPIであるOpenSocialを使って、利用者が地図上に安全情報を投稿できるようなシステムを目標、 #fnct_卒研中間発表
  • 10/04 利用者の誘導ではカメラの条件が違うから、マッピングに失敗する可能性が高い。端末は固定の必要があるかも。 #fnct_卒研中間発表
  • 10/04 マップ情報は、ファイルに吐き出すための関数などは実験済み? #fnct_卒研中間発表
  • 10/04 3Dデータを簡単に作れるようにするには?、カメラ内に動く物がどの程度あるとやばい? #fnct_卒研中間発表
  • 10/04 マーカレスARを用いた情報提示システム、PTAM拡張の複数マップ対応版PTAMMを使い、観光案内システムを作れないか… #fnct

この記事は、twitter の @TohruSaitohに掲載した #fnct タグ付き記事を、まとめたものです。


2分木の操作

先週の2分木の概念を分かってもらうための基本に引き続き、 今週は2分木の様々な操作プログラムを説明する。

2分木と再帰

先週の授業の最後では、データ数カウントを再帰で説明したので、 違う視点の再帰ということで、ループ版の代わりの再帰版を説明し、 今週は課題の合計と全データ表示などを演習とした。

int find( struct Tree* p , int key ) {
if ( p == NULL )
return 0 ; // 見つからない
else if ( p->data == key )
return 1 ; // みつかった
else if ( p->data > key )
return find( p->left , key ) ;
else
return find( p->right , key ) ;
}

ちなみに、上記のようなfindは、処理の末端に再帰呼び出しが書かれているため、 一般的に末尾再帰呼び出しと呼ばれ、コンパイラによっては最適化によって ループ処理に置き換えられるかもしれない…といった説明もしておく。

void print( struct Tree*p ) {
if ( p != NULL ) {
print( p->left ) ;
printf( "%d" , p->data ) ;
print( p->right ) ;
}
}

上記のprintを演習とした際には、「全データを表示せよ」としか説明しなかったので、 学生さんの解いてくれたプログラムの表示順序をトレースし、 改めて上記のプログラムを示し、表示順序が「小さいもの順」となることを説明する。

データの追加処理

struct Tree* top = NULL ;
void entry( int key ) {
struct Tree** tail = &top ;
while( *tail != NULL ) {
if ( (*tail)->data == key )
break ;
else if ( (*tail)->data > key )
tail = &( (*tail)->left ) ;
else
tail = &( (*tail)->right ) ;
}
if ( *tail == NULL )
*tail = tcons( key , NULL , NULL ) ;
}

データの追加処理として、上記プログラムを示す。 この動作トレースにて、昇順済みのデータを与えた場合、 一方向にだけ伸びる効率の悪いO(N)木が生成される可能性を説明する。 さらに、この対応としてバランスを修正したAVL木について、紹介する。

2分木の利点欠点とハッシュ

最後にまとめとして、2分木の利点欠点をまとめる。 2分木は、検索がO(log N),追加もO(log N)であることを示す。 しかし欠点として、メモリの使用効率が悪いことなども説明。 この際に、配列の2分探索法は、データ追加では挿入場所を作るために、 データを(平均N/2回)ループでずらす処理が必要であり、O(N)で効率が 悪いことを説明する。そして、この改善のための方法として、 ハッシュがあることを説明する。

     +--+--+--+--+--+--+--+---+
index| 0| 1| 2| 3| 4| 5| 6|...|
value|53|28|76|13|30|62|90|...|
+--+--+--+--+--+--+--+---+
i番目のデータの
左の枝は、(i*2+1)番目
右の枝は、(i*2+2)番目

隔週(きまぐれ)サーバOS…(10/03)

  • 10/03 隔週(きまぐれ)サーバOS更新、なぅ。 #fnct

この記事は、twitter の @TohruSaitohに掲載した #fnct タグ付き記事を、まとめたものです。


システム

最新の投稿(電子情報)

アーカイブ

カテゴリー