<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.takagi-ryo.ac/p/search_rss">
  <title>RT Zammai!</title>
  <link>http://www.takagi-ryo.ac/p</link>

  <description>
    
            These are the search results for the query, showing results 1 to 4.
        
  </description>

  

  

  <image rdf:resource="http://www.takagi-ryo.ac/p/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://www.takagi-ryo.ac/p/misc/lecture-related/2011/transport-system-simulation/index"/>
      
      
        <rdf:li rdf:resource="http://www.takagi-ryo.ac/p/misc/lecture-related/2010/transport-system-simulation/index"/>
      
      
        <rdf:li rdf:resource="http://www.takagi-ryo.ac/p/misc/lecture-related/2009/transport-system-simulation/index"/>
      
      
        <rdf:li rdf:resource="http://www.takagi-ryo.ac/p/keywords/ko-jp/lecture-related"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://www.takagi-ryo.ac/p/misc/lecture-related/2011/transport-system-simulation/index">
    <title>「交通シミュレーション特論」講義に関する情報一覧</title>
    <link>http://www.takagi-ryo.ac/p/misc/lecture-related/2011/transport-system-simulation/index</link>
    <description>講義の概要，マテリアルへのリンクなど 
</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2 dir="ltr">目次</h2>
<ul class="listTypeSquare" dir="ltr">
<li>
<div><a class="internal-link" href="index#pubinfo"><span class="internal-link"><span class="anchor-link">この講義に関する「公式情報」</span></span></a></div>
</li>
<li>
<div><a class="anchor-link" href="#privinfo">より私的な講義の概要説明</a></div>
</li>
<li>
<div><a class="anchor-link" href="#links">マテリアルへのリンク</a></div>
</li>
<ul>
<li><a class="internal-link" href="index#600a1">RTSS-Sujic-6.0.0a1.tar.bz2, および付属文書</a> </li>
<li>
<div><a class="anchor-link" href="#lec09">Dijkstra-demo2.tar.gz</a></div>
</li>
<li>
<div><a class="anchor-link" href="#lec05-06">Dijkstra-demo.tar.gz</a></div>
</li>
<li>
<div><a class="anchor-link" href="#lec04">TalkingAnimals.tar.gz</a></div>
</li>
</ul>
</ul>
<h2 dir="ltr"><a name="pubinfo"></a>この講義に関する「公式情報」</h2>
<div>
<ul class="listTypeSquare">
<li>講義名: 交通シミュレーション特論 (英文名: Transport System Simulation)</li>
<li>開講時期: 2011. 9 - 2012. 1</li>
<li>開講している大学の公式情報ページへのリンク： <a class="external" href="http://www.kogakuin.ac.jp/">工学院大学</a> / <a class="external" href="http://www.kogakuin.ac.jp/ind/daigakuin.html">大学院工学研究科</a> / <a class="external" href="http://www.kogakuin.ac.jp/daigakuin/mc/index.html">電気・電子工学専攻</a> || <a class="external-link" href="http://syllabus.sc.kogakuin.ac.jp/syllabus/daigakuin/2011/1CM1/5503.html"><span class="external-link">大学シラバスページ</span></a></li>
</ul>
</div>
<h2><a name="privinfo"></a>より私的な講義の概要説明</h2>
<div>
<ul class="listTypeSquare">
<li>大学院講義です。シミュレーションによる交通システムの評価手法を体得してもらうことを目指しています。</li>
<li>ある時期までは「プログラムを作る」を目標にしていたのですが，ウィンドウズの普及でプログラミングということが身近でなくなったおかげ(??)か，あまりに単位修得にいたる者の割合が少ないので，昨年度からは大幅に形式を変更し，プログラムを「作る」よりは「使う」ほうを主な目標にしました。体得してもらう，という部分は変更なしのつもりです。</li>
<li>ただし，「作る」ほうも，将来何らかの形で関わる方は多いと思われますので，そのようなときに役立つさまざまな知識は講義で提供することにしています。</li>
</ul>
</div>
<h2><a name="links"></a>マテリアルへのリンク</h2>
<ul class="listTypeSquare">
<li>ここにあるプログラムの利用条件は，<a class="internal-link" href="../../../../railway/rtss">RTSS</a> のそれに準じます。</li>
</ul>
<h3><a name="600a1"></a>RTSS-Sujic-6.0.0a1.tar.bz2</h3>
<ul>
<li>ソースコード一式:<a class="internal-link" href="RTSSSujic6.0.0a1.tar.bz2">RTSS-Sujic-6.0.0a1.tar.bz2</a></li>
<li>添付文書: <a class="internal-link" href="RTSSSujic6.0.0a1.pdf">RTSS-Sujic-6.0.0a1.pdf</a></li>
<li>Dijkstra-demo2 をもとに，ダイヤ評価ツールとしてかなり完成版に近づいたバージョンです。詳細は添付文書をご覧ください。2011年の講義のレポート課題もここに書いてあります。</li>
</ul>
<h3><a name="lec09"></a>Dijkstra-demo2.tar.gz</h3>
<ul>
<li>ソースコード一式 <a class="internal-link" href="Dijkstrademo2.tar.gz">Dijkstra-demo2.tar.gz</a></li>
<ul>
<li>注 (2010. 12. 10): 上記ソースコードを更新しています。GCC 4.5 (MinGW / MSYS 最新版をダウンロードすると入れられるもの) を使うと，エラーのためコンパイルができない問題がありました。これを解消したものです。</li>
</ul>
<li>デモに使用したプログラムです。</li>
<li>ソースコード一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>このプログラムが行うことは，基本的に講義第5～8回のなかで紹介した demo5.cc と同じことをしますが，データがソースコードのなかではなく，XML データファイルにより記述される点が異なります。</li>
<li>このプログラムをコンパイルする場合には PCRE (Perl Compatible Regular Expression) ライブラリが前もってインストールされて,使える状態になっていることが必要です。<a class="external" href="http://pcre.org/">ライブラリはここからダウンロードできます。</a>最新版のソース（pcre-8.10.tar.gz とか pcre-8.10.tar.bz2 とか) をとってきて，展開すると，ひとつのディレクトリができ，そこに関係するファイル一式ができます。そのディレクトリに移動し，インストールのやり方を書いた文書に従ってコンパイル・インストールしてください。</li>
<li>これを g++ を用いてコンパイルする場合，たとえば次のようにすればよいでしょう:</li>
<p class="callout">g++ -O2 RS_Object.cc RS_XmlReader.cc Sujic_Weight.cc X_Cycletime_Initialiser.cc X_OD_Station_Creator.cc X_Simple_CTI_Creator.cc X_SpaceTimeNode.cc X_Station.cc X_Station_Creator.cc X_SujicDemo_Main.cc X_Train.cc X_Train_Creator.cc rtss_path.cc tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp -lpcre -o sujic_demo</p>
<li>こうしてできた sujic_demo(.exe) を用いて，当該ディレクトリにあるXML設定ファイル data.xml を読み，シミュレーションを実行することができます。以下のようにしてください:</li>
<p class="callout">sujic_demo data.xml &gt; world.log 2&gt;&amp;1</p>
<li>こうすると world.log というログファイルが生成されます。これをエディタ等で開き，なかみを確認してください。</li>
<li>中身の異なるデータファイルを新たに作成し，上記の手順でシミュレーションを繰り返し，プログラムが「正しく」動作していることを確認してください。</li>
</ul>
<h3><a name="lec05-06"></a>Dijkstra-demo.tar.gz</h3>
<ul class="listTypeSquare">
<li>ソースコード一式 <a class="internal-link" href="Dijkstra-demo.tar.gz">Dijkstra-demo.tar.gz</a></li>
<li>デモに使用したプログラムです。</li>
<li>ソースコード一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>5つのプログラム demo1.cc, demo2.cc, demo3.cc, demo4.cc, demo5.cc があります。どれも独立のプログラムで，ヘッダファイル RS_FHeap.hh および RS_Dijkstra.hh を利用します。</li>
<li>これらを g++ を利用してコンパイルする場合，たとえば次のようにすればよいでしょう。以下の例では demo1.cc について記述していますが，demo2.cc 以下についても同様にできるはずです：</li>
<p class="callout">g++ -O2 demo1.cc -o demo1</p>
<li>プログラム demo1.cc は，無向グラフにおいて，弧に非負の整数の重みを与え，Dijkstra 法により最短経路を求めます。グラフなどの必要なデータはすべてソースコード内に記述されています。</li>
<li>プログラム demo2.cc は，demo1.cc と同様ですが，弧に与える重みが整数ではなく，Sujic_Weight というクラスになっています。Sujic_Weight クラスの宣言や実装もこの demo2.cc に含まれています。グラフなどの必要なデータは demo1.cc と同様すべてソースコード内に記述されています。</li>
<li>プログラム demo3.cc では，demo2.cc で用いた Sujic_Weight をそのまま用い，さらに列車ダイヤをデータとして与えることができるよう，列車を表す X_Train クラス，駅を表す X_Station クラス，および駅における「時空ノード」を表現する X_SpaceTimeNode クラスなどを宣言・実装しています。これらのクラスを用いて列車ダイヤを記述した後，ある駅にある時刻に到着した乗客が別な駅にどのような列車を乗り継いでたどり着くのが最適かを Dijkstra 法によって求めます。駅や列車，そして乗客の到着時刻・到着駅などの必要なデータは，すべてソースコード内に記述されています（列車データの半分ほどがコメントアウトされていることに注意）。</li>
<li>プログラム demo4.cc では，demo3.cc をもとに列車周期の概念を導入し，同じ周期で多数の列車が走る路線のシミュレーションを容易にしました。</li>
<li>プログラム demo5.cc は，demo4.cc をもとに大幅なコードの追加を行い，乗客の列車等への割り付けまでを行うことができるプログラムとしました。</li>
<li>これらのプログラムをコンパイルし，どのような動作をするか確認してください。また，プログラムソースに書かれたデータを変更し，実行してみてください。</li>
</ul>
<h3><a name="lec04"></a>TalkingAnimals.tar.gz</h3>
<ul class="listTypeSquare">
<li>ソースコード等一式 <a class="internal-link" href="TalkingAnimals.tar.gz">TalkingAnimals.tar.gz</a></li>
<ul>
<li>注 (2010. 12. 10): 上記ソースコードを更新しています。GCC 4.5 (MinGW / MSYS 最新版をダウンロードすると入れられるもの) を使うと，エラーのためコンパイルができない問題がありました。これを解消したものです。</li>
</ul>
<li>デモに使用したプログラムです。</li>
<li>ソースコード等一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>そのディレクトリにあるソースファイルのうち，tinyxml.h, tinyxml.cpp, tinyxmlparser.cpp, tinyxmlerror.cpp の4ファイルは，Tiny XML ライブラリ (<a href="http://www.grinninglizard.com/tinyxml/">http://www.grinninglizard.com/tinyxml/</a>) として配布されているものです。このうち tinyxml.h については，その冒頭部に RTSS-specific changes とコメント行で示した部分について，改変（追加）を行っています。Tiny XML ライブラリのライセンスは，Zlib ライセンスです。その詳細については，これらのファイルの冒頭部のコメント行をご覧ください。</li>
<li>このプログラムをコンパイルする場合には PCRE (Perl Compatible Regular Expression) ライブラリが前もってインストールされて,使える状態になっていることが必要です。<a class="external" href="http://pcre.org/">ライブラリはここからダウンロードできます。</a>最新版のソース（pcre-8.10.tar.gz とか pcre-8.10.tar.bz2 とか) をとってきて，展開すると，ひとつのディレクトリができ，そこに関係するファイル一式ができます。そのディレクトリに移動し，インストールのやり方を書いた文書に従ってコンパイル・インストールしてください。</li>
<li>testTalkingAnimal.exe（マイクロソフト・ウィンドウズの環境において。Linux などだと最後の .exe はつかないと思います）を生成するには，以下のファイルをすべてコンパイル・リンクすればよいでしょう。</li>
<ul>
<li>RS_Object.cc</li>
<li>RS_XmlReader.cc</li>
<li>Test_TalkingAnimalContainer.cc</li>
<li>Test_TalkingAnimals.cc</li>
<li>Test_TalkingCat_Creator.cc</li>
<li>Test_TalkingDog_Creator.cc</li>
<li>Test_TalkingHuman_Creator.cc</li>
<li>rtss_path.cc</li>
<li>testTalkingAnimalsMain.cc</li>
<li>tinyxml.cpp</li>
<li>tinyxmlerror.cpp</li>
<li>tinyxmlparser.cpp</li>
</ul>
<li>g++ を使う場合，当該ディレクトリにおいて以下のようにすればよいでしょう：</li>
<p class="callout">g++ -O2 RS_Object.cc RS_XmlReader.cc Test_TalkingAnimalContainer.cc Test_TalkingAnimals.cc Test_TalkingCat_Creator.cc Test_TalkingDog_Creator.cc Test_TalkingHuman_Creator.cc rtss_path.cc testTalkingAnimalsMain.cc tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp -lpcre -o testTalkingAnimal</p>
<li>できあがった testTalkingAnimal（.exe）を実行するとデモが行えます。コマンド行引数として talking-animal-without-tiger.xml　を指定してください。次のように:</li>
<p class="callout">testTalkingAnimal talking-animal-without-tiger.xml</p>
<li>このディレクトリには，ほかにも XML ファイルがあります。しかし，上記のようにコンパイルすると，ほかの .xml ファイルは読めません。これは，Test_TalkingTiger オブジェクトに関するコードが含まれていないからです。</li>
<li>Test_TalkingTiger.h と Test_TalkingTiger_Creator.cc を「加えて」やれば，ほかの XML ファイルも読むことができるようになります。このようにコンパイルすればよいでしょう (ハイライト部分が追加すべきファイル名です)：</li>
<p class="callout">g++ -O2 RS_Object.cc RS_XmlReader.cc Test_TalkingAnimalContainer.cc Test_TalkingAnimals.cc Test_TalkingCat_Creator.cc Test_TalkingDog_Creator.cc Test_TalkingHuman_Creator.cc <span class="visualHighlight">Test_TalkingTiger_Creator.cc</span> rtss_path.cc testTalkingAnimalsMain.cc tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp -lpcre -o testTalkingAnimal</p>
<li>このようにして生成した testTalkingAnimal（.exe）であれば，残るふたつの .xml も読むことができます。</li>
<li>読み込ませる XML ファイルを変更したり，新たなクラスを追加したりしてみてください。</li>
</ul>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>rt</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>講義関連</dc:subject>
    
    
      <dc:subject>工学院大学</dc:subject>
    
    <dc:date>2011-10-01T07:20:00Z</dc:date>
    <dc:type>ページ</dc:type>
  </item>


  <item rdf:about="http://www.takagi-ryo.ac/p/misc/lecture-related/2010/transport-system-simulation/index">
    <title>「交通シミュレーション特論」講義に関する情報一覧</title>
    <link>http://www.takagi-ryo.ac/p/misc/lecture-related/2010/transport-system-simulation/index</link>
    <description>講義の概要，マテリアルへのリンクなど 
</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2 dir="ltr">目次</h2>
<ul class="listTypeSquare" dir="ltr">
<li>
<div><a class="anchor-link" href="#pubinfo">この講義に関する「公式情報」</a></div>
</li>
<li>
<div><a class="anchor-link" href="#privinfo">より私的な講義の概要説明</a></div>
</li>
<li>
<div><a class="anchor-link" href="#links">マテリアルへのリンク</a></div>
</li>
<ul>
<li>
<div><a class="anchor-link" href="#lec09">第9回 (2010. 12. 3)</a></div>
</li>
<li>
<div><a class="anchor-link" href="#lec05-06">第5回・第6回・第7回・第8回 (2010. 10. 22 / 10. 29 / 11. 12 / 11. 26)</a></div>
</li>
<li>
<div><a class="anchor-link" href="#lec04">第4回 (2010. 10. 15)</a></div>
</li>
</ul>
</ul>
<h2 dir="ltr"><a name="pubinfo"></a>この講義に関する「公式情報」</h2>
<div>
<ul class="listTypeSquare">
<li>講義名: 交通シミュレーション特論 (英文名: Transport System Simulation)</li>
<li>開講時期: 2010. 9 - 2011. 1</li>
<li>開講している大学の公式情報ページへのリンク： <a class="external" href="http://www.kogakuin.ac.jp/">工学院大学</a> / <a class="external" href="http://www.kogakuin.ac.jp/ind/daigakuin.html">大学院工学研究科</a> / <a class="external" href="http://www.kogakuin.ac.jp/daigakuin/mc/index.html">電気・電子工学専攻</a> || <a class="external-link" href="http://syllabus.sc.kogakuin.ac.jp/syllabus/daigakuin/2010/1CM1/5503.html">大学シラバスページ</a></li>
</ul>
</div>
<h2><a name="privinfo"></a>より私的な講義の概要説明</h2>
<div>
<ul class="listTypeSquare">
<li>大学院講義です。シミュレーションによる交通システムの評価手法を体得してもらうことを目指しています。</li>
<li>ある時期までは「プログラムを作る」を目標にしていたのですが，ウィンドウズの普及でプログラミングということが身近でなくなったおかげ(??)か，あまりに単位修得にいたる者の割合が少ないので，昨年度からは大幅に形式を変更し，プログラムを「作る」よりは「使う」ほうを主な目標にしました。体得してもらう，という部分は変更なしのつもりです。</li>
<li>ただし，「作る」ほうも，将来何らかの形で関わる方は多いと思われますので，そのようなときに役立つさまざまな知識は講義で提供することにしています。</li>
</ul>
</div>
<h2><a name="links"></a>マテリアルへのリンク</h2>
<ul class="listTypeSquare">
<li>ここにあるプログラムの利用条件は，<a class="internal-link" href="../../../../railway/rtss">RTSS</a> のそれに準じます。</li>
</ul>
<h3><a name="lec09"></a>講義第9回 (2010. 12. 3)</h3>
<ul>
<li>ソースコード一式 <a class="internal-link" href="Dijkstrademo2.tar.gz">Dijkstra-demo2.tar.gz</a></li>
<ul>
<li>注 (2010. 12. 10): 上記ソースコードを更新しています。GCC 4.5 (MinGW / MSYS 最新版をダウンロードすると入れられるもの) を使うと，エラーのためコンパイルができない問題がありました。これを解消したものです。</li>
</ul>
<li>デモに使用したプログラムです。</li>
<li>ソースコード一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>このプログラムが行うことは，基本的に講義第5～8回のなかで紹介した demo5.cc と同じことをしますが，データがソースコードのなかではなく，XML データファイルにより記述される点が異なります。</li>
<li>このプログラムをコンパイルする場合には PCRE (Perl Compatible Regular Expression) ライブラリが前もってインストールされて,使える状態になっていることが必要です。<a class="external" href="http://pcre.org/">ライブラリはここからダウンロードできます。</a>最新版のソース（pcre-8.10.tar.gz とか pcre-8.10.tar.bz2 とか) をとってきて，展開すると，ひとつのディレクトリができ，そこに関係するファイル一式ができます。そのディレクトリに移動し，インストールのやり方を書いた文書に従ってコンパイル・インストールしてください。</li>
<li>これを g++ を用いてコンパイルする場合，たとえば次のようにすればよいでしょう:</li>
<p class="callout">g++ -O2 RS_Object.cc RS_XmlReader.cc Sujic_Weight.cc X_Cycletime_Initialiser.cc X_OD_Station_Creator.cc X_Simple_CTI_Creator.cc X_SpaceTimeNode.cc X_Station.cc X_Station_Creator.cc X_SujicDemo_Main.cc X_Train.cc X_Train_Creator.cc rtss_path.cc tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp -lpcre -o sujic_demo</p>
<li>こうしてできた sujic_demo(.exe) を用いて，当該ディレクトリにあるXML設定ファイル data.xml を読み，シミュレーションを実行することができます。以下のようにしてください:</li>
<p class="callout">sujic_demo data.xml &gt; world.log 2&gt;&amp;1</p>
<li>こうすると world.log というログファイルが生成されます。これをエディタ等で開き，なかみを確認してください。</li>
<li>中身の異なるデータファイルを新たに作成し，上記の手順でシミュレーションを繰り返し，プログラムが「正しく」動作していることを確認してください。</li>
  
</ul>
<h3><a name="lec05-06"></a>講義第5回・第6回・第7回・第8回 (2010. 10. 22 / 10. 29 / 11. 12 / 11. 26)</h3>
<ul class="listTypeSquare">
<li>ソースコード一式 <a class="internal-link" href="Dijkstra-demo.tar.gz">Dijkstra-demo.tar.gz</a></li>
<li>デモに使用したプログラムです。</li>
<li>ソースコード一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>5つのプログラム demo1.cc, demo2.cc, demo3.cc, demo4.cc, demo5.cc があります。どれも独立のプログラムで，ヘッダファイル RS_FHeap.hh および RS_Dijkstra.hh を利用します。</li>
<li>これらを g++ を利用してコンパイルする場合，たとえば次のようにすればよいでしょう。以下の例では demo1.cc について記述していますが，demo2.cc 以下についても同様にできるはずです：</li>
<p class="callout">g++ -O2 demo1.cc -o demo1</p>
<li>プログラム demo1.cc は，無向グラフにおいて，弧に非負の整数の重みを与え，Dijkstra 法により最短経路を求めます。グラフなどの必要なデータはすべてソースコード内に記述されています。</li>
<li>プログラム demo2.cc は，demo1.cc と同様ですが，弧に与える重みが整数ではなく，Sujic_Weight というクラスになっています。Sujic_Weight クラスの宣言や実装もこの demo2.cc に含まれています。グラフなどの必要なデータは demo1.cc と同様すべてソースコード内に記述されています。</li>
<li>プログラム demo3.cc では，demo2.cc で用いた Sujic_Weight をそのまま用い，さらに列車ダイヤをデータとして与えることができるよう，列車を表す X_Train クラス，駅を表す X_Station クラス，および駅における「時空ノード」を表現する X_SpaceTimeNode クラスなどを宣言・実装しています。これらのクラスを用いて列車ダイヤを記述した後，ある駅にある時刻に到着した乗客が別な駅にどのような列車を乗り継いでたどり着くのが最適かを Dijkstra 法によって求めます。駅や列車，そして乗客の到着時刻・到着駅などの必要なデータは，すべてソースコード内に記述されています（列車データの半分ほどがコメントアウトされていることに注意）。</li>
<li>プログラム demo4.cc では，demo3.cc をもとに列車周期の概念を導入し，同じ周期で多数の列車が走る路線のシミュレーションを容易にしました。</li>
<li>プログラム demo5.cc は，demo4.cc をもとに大幅なコードの追加を行い，乗客の列車等への割り付けまでを行うことができるプログラムとしました。</li>
<li>これらのプログラムをコンパイルし，どのような動作をするか確認してください。また，プログラムソースに書かれたデータを変更し，実行してみてください。</li>
</ul>
<h3><a name="lec04"></a>講義第4回 (2010. 10. 15)</h3>
<ul class="listTypeSquare">
<li>ソースコード等一式 <a class="internal-link" href="TalkingAnimals.tar.gz">TalkingAnimals.tar.gz</a></li>
<ul>
<li>注 (2010. 12. 10): 上記ソースコードを更新しています。GCC 4.5 (MinGW / MSYS 最新版をダウンロードすると入れられるもの) を使うと，エラーのためコンパイルができない問題がありました。これを解消したものです。</li>
</ul>
<li>デモに使用したプログラムです。</li>
<li>ソースコード等一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>そのディレクトリにあるソースファイルのうち，tinyxml.h, tinyxml.cpp, tinyxmlparser.cpp, tinyxmlerror.cpp の4ファイルは，Tiny XML ライブラリ (<a href="http://www.grinninglizard.com/tinyxml/">http://www.grinninglizard.com/tinyxml/</a>) として配布されているものです。このうち tinyxml.h については，その冒頭部に RTSS-specific changes とコメント行で示した部分について，改変（追加）を行っています。Tiny XML ライブラリのライセンスは，Zlib ライセンスです。その詳細については，これらのファイルの冒頭部のコメント行をご覧ください。</li>
<li>このプログラムをコンパイルする場合には PCRE (Perl Compatible Regular Expression) ライブラリが前もってインストールされて,使える状態になっていることが必要です。<a class="external" href="http://pcre.org/">ライブラリはここからダウンロードできます。</a>最新版のソース（pcre-8.10.tar.gz とか pcre-8.10.tar.bz2 とか) をとってきて，展開すると，ひとつのディレクトリができ，そこに関係するファイル一式ができます。そのディレクトリに移動し，インストールのやり方を書いた文書に従ってコンパイル・インストールしてください。</li>
<li>testTalkingAnimal.exe（マイクロソフト・ウィンドウズの環境において。Linux などだと最後の .exe はつかないと思います）を生成するには，以下のファイルをすべてコンパイル・リンクすればよいでしょう。</li>
<ul>
<li>RS_Object.cc</li>
<li>RS_XmlReader.cc</li>
<li>Test_TalkingAnimalContainer.cc</li>
<li>Test_TalkingAnimals.cc</li>
<li>Test_TalkingCat_Creator.cc</li>
<li>Test_TalkingDog_Creator.cc</li>
<li>Test_TalkingHuman_Creator.cc</li>
<li>rtss_path.cc</li>
<li>testTalkingAnimalsMain.cc</li>
<li>tinyxml.cpp</li>
<li>tinyxmlerror.cpp</li>
<li>tinyxmlparser.cpp</li>
</ul>
<li>g++ を使う場合，当該ディレクトリにおいて以下のようにすればよいでしょう：</li>
<p class="callout">g++ -O2 RS_Object.cc RS_XmlReader.cc Test_TalkingAnimalContainer.cc Test_TalkingAnimals.cc Test_TalkingCat_Creator.cc Test_TalkingDog_Creator.cc Test_TalkingHuman_Creator.cc rtss_path.cc testTalkingAnimalsMain.cc tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp -lpcre -o testTalkingAnimal</p>
<li>できあがった testTalkingAnimal（.exe）を実行するとデモが行えます。コマンド行引数として talking-animal-without-tiger.xml　を指定してください。次のように:</li>
<p class="callout">testTalkingAnimal talking-animal-without-tiger.xml</p>
<li>このディレクトリには，ほかにも XML ファイルがあります。しかし，上記のようにコンパイルすると，ほかの .xml ファイルは読めません。これは，Test_TalkingTiger オブジェクトに関するコードが含まれていないからです。</li>
<li>Test_TalkingTiger.h と Test_TalkingTiger_Creator.cc を「加えて」やれば，ほかの XML ファイルも読むことができるようになります。このようにコンパイルすればよいでしょう (ハイライト部分が追加すべきファイル名です)：</li>
<p class="callout">g++ -O2 RS_Object.cc RS_XmlReader.cc Test_TalkingAnimalContainer.cc Test_TalkingAnimals.cc Test_TalkingCat_Creator.cc Test_TalkingDog_Creator.cc Test_TalkingHuman_Creator.cc <span class="visualHighlight">Test_TalkingTiger_Creator.cc</span> rtss_path.cc testTalkingAnimalsMain.cc tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp -lpcre -o testTalkingAnimal</p>
<li>このようにして生成した testTalkingAnimal（.exe）であれば，残るふたつの .xml も読むことができます。</li>
<li>読み込ませる XML ファイルを変更したり，新たなクラスを追加したりしてみてください。</li>
</ul>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>rt</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>講義関連</dc:subject>
    
    
      <dc:subject>工学院大学</dc:subject>
    
    <dc:date>2010-11-03T07:20:00Z</dc:date>
    <dc:type>ページ</dc:type>
  </item>


  <item rdf:about="http://www.takagi-ryo.ac/p/misc/lecture-related/2009/transport-system-simulation/index">
    <title>「交通シミュレーション特論」講義に関する情報一覧</title>
    <link>http://www.takagi-ryo.ac/p/misc/lecture-related/2009/transport-system-simulation/index</link>
    <description>講義の概要，マテリアルへのリンクなど</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2 dir="ltr">目次</h2>
<ul dir="ltr">
<li>
<div><a class="anchor-link" href="#pubinfo">この講義に関する「公式情報」</a></div>
</li>
<li>
<div><a class="anchor-link" href="#privinfo">より私的な講義の概要説明</a></div>
</li>
<li>
<div><a class="anchor-link" href="#links">マテリアルへのリンク</a></div>
</li>
<ul>
<li>
<div><a class="anchor-link" href="#lec06">第6回 (2009. 10. 16)</a></div>
</li>
<li>
<div><a class="anchor-link" href="#lec05">第5回 (2009. 10. 9)</a></div>
</li>
<li>
<div><a class="anchor-link" href="#lec04">第4回 (2009. 10. 2)</a></div>
</li>
</ul>
</ul>
<h2 dir="ltr"><a name="pubinfo"></a>この講義に関する「公式情報」</h2>
<ul>
<li>講義名: 交通シミュレーション特論 (英文名: Transport System Simulation)</li>
<li>開講時期: 2009. 9 - 2010. 1</li>
<li>開講している大学の公式情報ページへのリンク： <a class="external-link" href="http://www.kogakuin.ac.jp/">工学院大学</a> / <a class="external-link" href="http://www.kogakuin.ac.jp/ind/daigakuin.html">大学院工学研究科</a> / <a class="external-link" href="http://www.kogakuin.ac.jp/daigakuin/mc/index.html">電気・電子工学専攻</a> || <a class="external-link" href="http://syllabus.sc.kogakuin.ac.jp/syllabus/daigakuin/2009/1CM1/5503.html">大学シラバスページ</a></li>
</ul>
<h2><a name="privinfo"></a>より私的な講義の概要説明</h2>
<ul>
<li>大学院講義です。シミュレーションによる交通システムの評価手法を体得してもらうことを目指しています。</li>
<li>昨年度までは「プログラムを作る」を目標にしていたのですが，ウィンドウズの普及でプログラミングということが身近でなくなったおかげか(??)あまりに単位修得にいたる者の割合が少ないので，今年度は大幅に形式を変更し，プログラムを「作る」よりは「使う」ほうを主な目標にしました。体得してもらう，という部分は変更なしのつもりです。</li>
<li>ただし，「作る」ほうも，将来何らかの形で関わる方は多いと思われますので，そのようなときに役立つさまざまな知識は講義で提供することにしました。</li>
</ul>
<h2><a name="links"></a>マテリアルへのリンク</h2>
<h3><a name="lec06"></a>講義第6回 (2009. 10. 16)</h3>
<ul>
<li>ソースコード等一式 <a class="internal-link" href="xmlreader1.tar.gz" title="XmlReader 1 ソースファイル一式">xmlreader1.tar.gz</a></li>
<ul>
<li>デモに使用したプログラムです。</li>
<li>ソースコード等一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。</li>
<li>まず，このプログラムをコンパイルする場合には PCRE (Perl Compatible Regular Expression) ライブラリが前もってインストールされて,使える状態になっていることが必要です。<a class="external-link" href="http://pcre.org/">ライブラリはここからダウンロードできます。</a>最新版のソース（pcre-7.9.tar.gz とか pcre-7.9.tar.bz2 とか) をとってきて，展開すると，ひとつのディレクトリができ，そこに関係するファイル一式ができます。MSYS のコンソールにおいて，そのディレクトリに移動し，インストールのやり方を書いた文書に従ってコンパイル・インストールしてください。お勧めは，最初に実行する configure スクリプトに次のようなオプションをつけることです:<br />    ./configure --prefix=/mingw<br />こうすることには議論の余地があるでしょうが，後が楽です。xmlreader 1 に付属する Makefile はこの設定を前提にしています。<br />ただし，この configure がうまくいくためには，MSYS の /etc/fstab に次のような行があることが必要です:<br />    c:/MinGW /mingw</li>
<li>MSYS のコンソールにおいて，そのディレクトリに移動し，make というコマンドを実行してください。コンパイルが行われ，testTalkingAnimal.exe を生成できます。</li>
<li>これを実行するとデモが行えます。コマンド行引数として talking-animal-without-tiger.xml　を指定してください。どのファイルも変更しない状態では，ほかの .xml ファイルは読めません。これは，Test_TalkingTiger オブジェクトに関するコードが含まれていないからです。</li>
<li>そこで，Makefile を変更し，HDRS の項目に Test_TalkingTiger.h を，SRCS の項目に Test_TalkingTiger_Creator.cpp を，それぞれ加えて，コンパイルしなおしてください。こうしてできた testTalkingTiger.exe であれば，残るふたつの .xml も読むことができます。</li>
</ul>
</ul>
<h3><a name="lec05"></a>講義第5回 (2009. 10. 9)</h3>
<ul>
<li>PDF解説文書 <a class="internal-link" href="05.pdf" title="reflist2 説明文書">tut-05.pdf (2008. 6. 27付!)</a> / ソースコード等一式 <a class="internal-link" href="tutorial-reflist2.tar.gz" title="" reflist2="reflist2">tutorial-reflist2.tar.gz</a></li>
<ul>
<li>デモに使用したプログラムです。なお，ソースコード等一式，のうち Expandable.hh は，新しいバージョンに入れ換え，ファイル名も Expandable.h としてあります。</li>
<li>ソースコード等一式を開くと，ひとつのディレクトリができ，そこにいくつかのファイルが存在しているはずです。MSYS のコンソールにおいて，そのディレクトリに移動し，make というコマンドを用いることで，reflist2.exe を生成できます。これを実行すると，ディレクトリ内にある references-list.xml を読み，何か表示を返してくるはずです。</li>
</ul>
<li>PDF文書 <a class="internal-link" href="tut-04.pdf" title="tut-04.pdf">tut-04 (解説文書，2008. 6. 6 付!)</a> / C++ソース <a class="internal-link" href="reflist1.cpp" title="reflist1.cpp">reflist1.cpp</a> / Makefileソース <a class="internal-link" href="Makefile-reflist1" title="Makefile-reflist1">Makefile-reflist1</a></li>
<ul>
<li>これらについては，第6回でも解説を行う予定です。</li>
<li>reflist1.cpp のコンパイルは以下のように。まず，MinGW / MSYS がインストールされているパソコンで，<a class="external-link" href="http://www.grinninglizard.com/tinyxml/">TinyXML</a> ライブラリのなかからファイル（tinyxml.h, tinyxml.cpp, tinyxmlerror.cpp, tinyxmlparser.cpp) を取り出し，reflist1.cpp, Makefile-reflist1 と同じディレクトリに置きます。次いで，tinyxml.h について，解説文書の5ページ，2.4 にあるとおり編集を行います。それがすんだら，MSYS プロンプトを立ち上げ，これらのファイルがあるディレクトリまで移動し，make -f Makefile-reflist1 というコマンドを実行すれば，reflist1.exe というファイルが生成されます。これを，同じくMSYSプロンプトで実行してみてください。</li>
</ul>
</ul>
<p> </p>
<h3><a name="lec04"></a>講義第4回 (2009. 10. 2)</h3>
<ul>
<li>PDF文書 <a class="internal-link" href="04.pdf" title="第4回講義資料"><span style="text-decoration: underline;">04.pdf (プログラムソースを印刷したもの)</span></a> / C++ ヘッダ <a class="internal-link" href="RS_FHeap.h" title="RS_FHeap.h"><span style="text-decoration: underline;">RS_FHeap.h</span></a> / C++ヘッダ <a class="internal-link" href="RS_Dijkstra.h" title="RS_Dijkstra.h"><span style="text-decoration: underline;">RS_Dijkstra.h</span></a> / C++ソース <a class="internal-link" href="RS_FHeap_test3.cpp" title="ダイクストラ法のサンプルプログラム・メインルーチン"><span style="text-decoration: underline;">RS_FHeap_test3.cpp</span></a></li>
<ul>
<li>PDF ファイルが，当日印刷して配布したものです。しかし，不達ノードがある場合に対応していないこととか，ブランチが双方向のものにしか対応していないことなどの問題点がある（Dijkstra's algorithm ではグラフは「有向グラフ」。有向グラフでないと列車ダイヤを与えたときの乗客流解析が不可能になります）ので，手直しをしたものをここに掲載しました。大きくは変わっていませんが，それほど長いプログラムではないので，ぜひ皆さんには違いを確認していただきたいと思います。</li>
<li>MSYS でのコンパイルは，3つのファイルを同一ディレクトリにダウンロードし，MSYS コンソールで当該ディレクトリに移動して以下のコマンドを実行してください: g++ -O2 RS_FHeap_test3.cpp -o test<br />こうすると，test.exe が生成されますから，これを実行すると Dijkstra's algorithm が動きます。</li>
</ul>
</ul>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>rt</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>講義関連</dc:subject>
    
    
      <dc:subject>工学院大学</dc:subject>
    
    <dc:date>2009-10-15T07:40:00Z</dc:date>
    <dc:type>ページ</dc:type>
  </item>


  <item rdf:about="http://www.takagi-ryo.ac/p/keywords/ko-jp/lecture-related">
    <title>講義関連</title>
    <link>http://www.takagi-ryo.ac/p/keywords/ko-jp/lecture-related</link>
    <description>キーワード説明：「講義関連（こうぎかんれん）」</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>本サイト内において，作者の大学における講義に関連したコンテンツには，このキーワードを付与する予定です。</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>rt</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>講義関連</dc:subject>
    
    
      <dc:subject>worddef</dc:subject>
    
    <dc:date>2009-10-14T10:57:56Z</dc:date>
    <dc:type>ページ</dc:type>
  </item>




</rdf:RDF>
