1. ogata-k

    待ち行列について

    ogata-k
Changes in body
Source | HTML | Preview
@@ -1,7 +1,7 @@
#そもそもsimpyとはなにか
-simpyはsimulation pythonの略語でpythonのライブラリの一つです。といってもよくあるような連続的な物理シミュレーションを対象としているわけではなく数学的に離散型待ち行列と呼ばれるものを対象としています。つまり時間が離散的な場合において、待ち行列と呼ばれる数学の行列ではなく現実に人が待たなければいけない行列を対象としています。待ち行列の具体例としてスーパーマーケットの行列があげられます。まぁ要はsimpyは待ち行列を離散的に扱ってpythonでシミュレーションしてくれるわけですね。待ち行列の詳しい内容はここでは説明しないのでググってどうぞ。
+simpyはsimulation pythonの略語でpythonのライブラリの一つです。といってもよくあるような連続的な物理シミュレーションを対象としているわけではなく数学的に離散型待ち行列と呼ばれるものを対象としています。つまり時間が離散的な場合において、待ち行列と呼ばれる数学の行列ではなく現実に人が待たなければいけない行列を対象としています。待ち行列の具体例としてスーパーマーケットの行列があげられます。まぁ要はsimpyは待ち行列を離散的に扱ってpythonでシミュレーションしてくれるわけですね。待ち行列の詳しい内容はここでは説明しないのでググってどうぞ。または[待ち行列理論の記事](http://qiita.com/ogata-k/items/ed53406a8e6010fe4a43)を見てください。
#対象読者
今回の記事を読んでもらいたい対象者としてはpython3系を使い、pythonの基本ライブラリのrandom、scipy、matplotlib、sys、osを簡単にではあるが使えることを前提として考えていますのでsimpyに関しないことの説明を省かせていただくのであしからず。ですがシミュレーションで必要なのはsimpyだけなので概略をつかむだけでいいならこれらを使えなくても結構ですし、これらが出てくるのはその3以降です。
そして注意してほしいこととして筆者がテキトーに使えるように頑張って英文を理解しただけですので単語の日本語訳はテキトーです。それでも言い方は読み続けても大丈夫です。それ以外の方は参考記事程度に読み進めていってください。
#pythonのイテレータ関数(まだpythonの基礎の部分)
pythonでforループを使うときにrange関数を使うときがあると思います。簡単に言うとこのrange関数がイテレータと呼ばれるものです。イテレータとは実際に関数を実装するときにyield文を使います。簡単にrange関数をmyrange関数として実装してみると
@@ -75,5 +75,6 @@
# 次回予告
simpyの重要な道具である資源(というか利用可能サーバ)のsimpy.Resourceとコンテナ(というかこちらが利用可能資源)のsimpy.Containerを説明します。
[その2](http://qiita.com/ogata-k/items/efa963d5752a64490de2)ができました。
2017/2/27にジェネレータ関数の記述をpythonの一般的な記述のイテレータに書き直しました。
+2017/3/25に待ち行列に関しての記事へのリンクを貼り付けました。