東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

冷蔵庫にキリンを入れる方法(しょにょに)

反応してもらえて嬉しいわ → 冷蔵庫にキリンを入れる方法


こんなもんを考えておったわけです。
入れ子になった状態遷移図は展開して:


こんなんなるっす。

ハナっからこう書けば入れ子にはならんのだけど、
御覧のとおり遷移図がちとややこしくなります。
ONとOFFが切り替わる程度の内部状態だからこの程度で済んでるけども、
ちょいとややこしくなると途端に見通しの悪い絵になるです。
状態遷移図としては入れ子にした方が綺麗だし設計者の意図が明らか。

なんだけど入れ子になった状態遷移を有限状態機械に変換するのは
結構ホネなんです。
状態には入場動作/退場動作(状態に飛び込む/抜け出すときに必ず行う動作)
があるんだけど、たとえば閉から空に遷移するとき、
閉の退場動作→開の入場動作→空の入場動作 を順にやらにゃ
なりません(退場時も同様ね)。

また、象を入れるとなると、開から抜けたときその内部状態:空/満の
どっちから抜けたかを覚えておいて次回飛び込むときそっちに
飛び込まにゃあきません。
場合によっちゃー一旦抜けたら初期状態に戻りたいことだってあるし。

...いい頭の体操になるわけですわ。プログラミングは最高の知的遊戯やと思ってます。
オヤヂを通り越してヂヂイになってもプログラミングを趣味にできたら幸せだろなー。

投稿日時 : 2008年4月24日 23:55

コメントを追加

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 0:24 中博俊

この上下の矢印ごとに、入出庫量が掛かります。
ありがとーございます。 XX倉庫

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 0:33 片桐

きりんさんの運搬には、高さのある箱でお願いします。つれて歩く場合には、周りに気をつけてあげてください。

ぞうさんの運搬には、分厚い箱が必要です。壊されます。耳を引っ掛けないようにしてあげてください。まれに空を飛ぶことがあるので、蓋もわすれないでください。

えっと……うん、⊃みたいな形の流れになってますけど、じつは横一列に並べた方が判りやすいような気がする(^^;

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 1:44 trapemiya

ていうかなんで冷蔵庫なんだろう? 死んじゃうし・・・。倉庫じゃダメなん?

英語の問題集に載ってた「私の家では象を飼っています。」を英訳しなさいという、とんでもなくすっとんだ例文を思い出したよ。

次の日本語を英文にしなさい。
「私の家の冷蔵庫の中には象が入っています。」

あっ、そうか。倉庫だと死んで白骨化し、閉・満から閉・空に遷移することもあるから? ブラック問題? なんかヤダけど。

誰か教えて。

とりあえず電子レンジに猫を入れる方法じゃなくてよかった。

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 8:11 れい

> ハナっからこう書けば入れ子にはならんのだけど

私はハナからこうしかかけないですねぇ
入れ子にするほうが大変。

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 9:16 επιστημη

> 入れ子にするほうが大変。

直交状態があるとバラしては表現できんくなったりします。
たとえば冷蔵庫内に照明があって、庫内にそのスイッチがあると。
そのとき'開'状態の中に空/満と暗/明の状態ペアが独立して存在します。
展開表現ではぐっちょんぐっちょんになるです。

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 9:50 れい

> 直交状態があるとバラしては表現できんくなったりします。
> そのとき'開'状態の中に空/満と暗/明の状態ペアが独立して存在します。
展開表現ではぐっちょんぐっちょんになるです。

ええ。状態遷移図は「そういうもの」ですから。
状態遷移図を描くときに頭が自動で変換してくれちゃいます。

頭が自動変換できないときは、
状態遷移図に向いてない問題であるということで、
違うモデルを使います。

状態遷移図は小さい状態数の部分にしか使いません。
なにしろ機械がintを状態として持つだけで、
状態数は2^32ですから。

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/25 10:45 επιστημη

はいはい、状態遷移だけが動作モデルじゃありませんしね。

# めちゃくちゃ凹んだけど・・・でものんは今の環境でやっていく。 2008/04/25 20:53 。:+.in the life。:+.

めちゃくちゃ凹んだけど・・・でものんは今の環境でやっていく。

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/26 2:44 あきら

キリンは冷蔵庫には1体しか入らないのですか?

# re: 冷蔵庫にキリンを入れる方法(しょにょに) 2008/04/26 13:40 れい

> キリンは冷蔵庫には1体しか入らないのですか?

キリンを数える助数詞は「首」がいいなぁ。


# My brother recommended I may like this website. He was once totally right. This submit actually made my day. You can not believe simply how much time I had spent for this info! Thanks! 2023/04/13 22:49 My brother recommended I may like this website. He

My brother recommended I may like this website. He was once totally right.
This submit actually made my day. You can not
believe simply how much time I had spent for this info!

Thanks!

# Heya i'm for the first time here. I came across this board and I find It truly useful & it helped me out a lot. I hope to give something back and help others like you aided me. 2023/12/09 7:04 Heya i'm for the first time here. I came across th

Heya i'm for the first time here. I came across
this board and I find It truly useful & it helped me out a lot.
I hope to give something back and help others like you aided me.

タイトル
名前
URL
コメント