大 規 模商業施設計画のための顧客の買い物 行動モデル
!"#$$%&'()*"+,%#-(.#/*0(1#-(2+-'*345+0*6(7#88*-5%+0(1+5%0%9%*4(:0+&&%&'
平成20年度 修士論文
指導:渡辺 仁史 教授 早稲田大学大学院創造理工学研究科 建築学専攻建築計画専門分野 5207A048-1 佐古 崇
!"#"$ ! " # $ % & ' ( ) * + , . / & ' 0 1 2 3 4 5 6 7 8 9 . : ' ; <
= >? @ A
00 は じ め に
はじめに
「かたちの根拠」 この言葉になんとなく興味を持ち、その深さを知り、その答えを模索したいと思った。 漠然と心地よい空間だ、魅力的な空間だ、なんとなくこの建築いいなぁ、などと多々思 う事がある。 しかしそう思うと同時に、常になんでこんな「かたち」になったんだろう?という疑問 が頭に浮かぶ。もちろん、芸術としての側面を持ちうる以上、建築のかたちの理由を全て 合理的に説明する事は出来ないだろうししたくない。しかし何かしらそのようなかたちに 至る根拠はあり、今後は必要とされる場が増えるはずだと考えた。 そして自分なりの「かたちの根拠」を自分の中で明快に持っていたいという欲求が出て きた。 渡辺仁史研究室が扱うテーマを通して、その答えへの活路を見い出すことができるので はないかと考え、進学することに決めた。 運良く、研究室の中で、谷口建築設計事務所のとあるプロジェクトに携わることができ、 建築計画の段階で、その根拠が求められる場を経験する事が出来た。その中で「かたちの 根拠」がいかに重要であるかということを実感し、改めて興味がわいた。 そこでこの修論で自分が触れる事のできた「かたちの根拠」の一部について書いてみた いと思う。
-001-
01 序論
目次
はじめに
001
1 序論 1.1 研究目的
005
1.2 研究背景 1.2.1 多様化する商業施設
006
1.2.2 買い物形態の変化
009
1.2.3 新しい商業施設
012
1.2.4 建築計画とシミュレーション
015
1.2.5 人間や空間のモデル化の考え方と既往研究
021
1.2.6 研究の位置づけ
026
1.3 用語の定義
028
2 研究方法 2.1 研究の流れ
030
2.2 調査方法
031
3 買い物行動の分析 3.1 調査対象者基礎データ
036
3.2 状態遷移
038
3.3 入店時状態
040
3.4 入店時状態と立ち寄り店舗数
041
3.5 入店時状態と滞在時間
043
3.6 状態別立ち寄り店舗間距離
044
3.7 状態別フロア移動回数
046
3.8 状態別移動フロア数
048
3.9 買い物行動追跡調査のまとめ
050
4 モデル化 4.1 状態別行動のモデル化
052
4.2 採用モデルの検討 4.2.1 人間のモデル
053
4.2.2 空間のモデル
054
4.2.3 状態のモデル
055
4.3 アルゴリズムの構築 4.3.1 買い物行動全般
056
4.3.2 目的地がある行動
057
4.3.3 目的地がない行動
058
4.3.4 退店行動
059
4.3.5 アルゴリズムについて
060
-002-
01 序論
5 シミュレーション 5.1 シミュレーション概要
062
5.2 検証 5.2.1 検証用調査
064
5.2.2 検証用空間の作成
066
5.2.3 出入り口の検討
067
5.2.4 検証
069
5.3 ケーススタディ 5.3.1 ケーススタディ概要
071
5.3.2 ビルディングタイプの検討
077
5.3.3 プランタイプの検討
080
5.3.4 プラン変更の効果の検討
086
5.4 ケーススタディのまとめ・考察
088
6 結論 6.1 まとめ
090
6.2 展望
091
謝辞
092
* 資料編 参考文献
買い物行動プログラムソース
-003-
01 序論
01 序論
1.1 研究目的
買い物形態が非常に多様化した現代、商業施設は大規模複合化が進み、各地に数多く計 画されている。様々な目的を持つ人々が関わる商業施設における建築計画に求められる要 望は複雑化してきた。このため計画段階において買い物客の日常的な行動特性を把握し、 店舗内での行動を予測・定量化する事はその計画の善し悪しを判断する上で非常に重要で あり、求められている。 そこで本研究では商業施設における人々の状態に応じた行動特性を明らかにし、時系列 的に変化する人々の状態、流動を表現することができるシミュレーションモデルを作成 し、商業施設の垂直動線計画や改装計画などの効果予測の一手法としての確立を目指すこ とを目的とする。
図 1.1 大規模商業施設 東京ミッドタウン
-005-
01 序論
1.2 研究背景 1 . 2 . 1 多 様 化 す る 商 業 施設 近年商業施設は六本木ヒルズ (2003)、東京ミッドタウン (2007) など大規模複合化が続 き、今年になって大規模なショッピングセンターであるイオンレイクタウン (2008)、三井 アウトレットパーク入間 (2008) などがオープンし、今後もららぽーと新三郷 (2009 予定 )、 エチカ池袋 (2009 予定 ) など多種多様なものが数多く新設される予定である。ここで日本 における商業施設の変遷を見る ( 図 1.2)。
図 1.2 商業施設の変遷
1)
商業施設の変遷 20 世紀初頭以降、日本の商業空間は、日用品を中心としたニーズに応える商店街 ( 個の 集積 ) と、百貨店に依存する形が続いた。その間に、百貨店は、都心から地方のターミナ ルに、その立地の幅を広げていった。 1960 年代に商業の先進国と言われるアメリカで、スーパーマーケットという形態が発 生し、比較的小規模な、コミュニティ型のショッピングセンター (CSC) が発展して、既存 の商店街の相対的な地位低下がおこっていた。日本ではそれから約 10 年たって、商業空 間が大きく変化し始めた。 量販店の発展と既存商店街の衰退が同時に起こり、商業空間に対するニーズが大きく変
1) 日本建築学会編 :『建築設計資料集成[業務・商業]』, 丸善 , 2004.4.5 より
-006-
01 序論
化した。コンビニエンスストアの出店競争も激化し、既存の商店街はますますシェアを落 としていった。 1980 年代後半から、カテゴリーキラー
1)
とかディスカウンターと呼ばれる業態が海外か
ら輸入されるに至って、商業空間はさらに変化していく事になる。アウトレットセンター と呼ばれるショッピングセンターが郊外に立地し始めるのもこの頃である。 21 世紀に入り、商業の業態はさらに変化の兆しを見せている。 1. 核店舗を中心にしたショッピングセンターにエンターテインメント性をより強く付加 したもの 2. スーパーセンターと呼ばれる、ディスカウントストアの新しい形態 3. ライフスタイルセンターと呼ばれる、商業施設としての新たな街並みを作り出す試み 4. ブランドショプを中心とした独立店舗のデザイン性をより重視した方向性 などに新たな商業空間がみられる。 また、21 世紀の商業として成長が著しいのが amazon や yahoo! オークションなどに代 表されるインターネットショッピングである。インターネット上で行うこの商業には店舗 という概念は必要ない。必要なのはインターネットサイトと在庫を管理することの出来る スペースだけである。そしてこの買い物は非常に効率的であり、価格の安いものを簡単に いち早く探す事も出来る。空間を体験するまでもなく画面越しに欲しいものが手軽に、簡 単に手に入る時代となってきており、このインターネットショッピングを利用する消費者 は年々増加してきている ( 図 1.3)。また、クリックアンドモルタル
2)
という実店舗とオン
ライン上店舗の双方を利用し相乗効果を狙っている手法も出現してきている。 25
パーセンテージ(%)
20
インターネットショッピング インターネットオークション
15
10 5 0
2002
2003
2004
年
2005
2006
2007
図 1.3 インターネットショッピングとオークションの利用率
3)
1)カテゴリーキラーとは特定分野の商品群において圧倒的な品揃えを行い、低価格大量販売をする小売 業のこと。例えば UNIQLO。 2) クリックアンドモルタルの事例として、実店舗とインターネットのどちらでも販売や情報提供を行う マルチチャネル化や商品の予約や注文はインターネットを通じて行い、商品の受け渡しや代金の支払 いは店舗へ誘導するといったやり方などが該当する。 3) 総務省統計局消費生活行動調査 より作成
-007-
01 序論
苦戦する商業施設 店舗のないインターネットショッピングの利用者が増加してゆく一方で、チェーンスト ア
1)
やショッピングセンターなどの商業施設の売り上げは低迷を続けており、百貨店は近
年非常に売り上げが低迷しており、2008 年までで 10 年連続売上高を下げている。
6
100000
売上げ(億円)
90000
対前年度比
4
80000
2
60000 50000
-0.2
-0.4
-0.7
40000
0
-0.5
-1.8
-2
-2.3
30000
-2.8
-2.9 20000 10000
前年比(%)
売上高(億円)
70000
-4.3
-4
-5
0 1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
-6
年
図 1.4 百貨店の売上高と前年比率の推移
2)
とくに 2008 年は不況の影響もあり大幅に売上高を下げているが、毎日新聞の 2008 年 12 月 11 日の記事には ーーー
大手百貨店各社の間で、改装計画を延期・凍結する動きが出始めた。消費不振が深刻化 する中、十分な効果が見込めないと判断したためだ。百貨店の販売不振は長期化の様相が 強まり、投資計画の見直しがさらに広がる可能性もありそうだ。 ( 中略 ) 日本百貨店協会によると、全国百貨店の既存店売上高は、10月まで8カ月連続で前年 割れ。9月中旬以降の金融危機で、宝飾品などの高額品や衣料品の売り上げ不振が加速し、 各社の11月の売り上げは前年より1割近く落ち込んだ。「改装して来店者が増えても客 単価が上がらない。景気の底がまるで見えない中で、急がない改装を様子見する動きは強 まる」(大手百貨店)との声も出ている。 ーーー とある。さらに大阪では 2011 年に百貨店の商業床が大量供給される「2011 年問題」と 呼ばれる過剰床の発生が懸念される。 このように実際の店舗空間が持つ意味が改めて問われ、その価値を十分に把握すること が必要となってきている。
1) チェーンストアとは大資本を元手にブランド、経営方針、サービスの内容、外観などに統一性が持たせ、 多数の店舗の運営や管理を行う経営形態のこと。 2) 日本百貨店協会全国百貨店売上高概況 より作成
-008-
01 序論
1.2.2 買い物形態の変化 商業形態が前述のように変化し、状況が変わりつつあるのに合わせて、消費者側の買い 物の形態も非常に多様化している。消費者が様々な情報を得る事が可能な現代、これまで の買い物の常識であった「店舗に行って買う」という行為以外にも、インターネットや携 帯での買い物などが現れてきた。「いつでも、どこでも、どんな方法でも」という、自分 の都合やライフスタイルに合わせた買い物はユビキタス時代の新しい買い物スタイルとし て、広がってきている。また、エキナカなどにも見られるような他の用事のついでに買い 物をするというような行動も現れている。このようにインターネットショッピングやエキ ナカなどに顕著な「効率性を求める行動」と、大型複合商業施設などに代表される「体験 性を求める行動」に二極化している。 十人一色→一人十色 ( 消費者の意識の変化 ) ここで、消費者の意識が変化をみる ( 図 1.5)。 1960∼1975 年
1975∼1990 年
1990∼2005 年
量的拡大期
質的深化期
パラダイム変革期
「十人一色」 ( 大衆 )
「十人十色」 ( 分衆 )
「一人十色」 ( 状衆 )
「人並み」 欲求
「個性表現」 欲求
「瞬間の満足」 多様な欲求
マスメディア
セグメントメディア
シチュエーションメディア
図 1.5 消費者の意識変化
1)
高度経済成長の頃までは、日本は量的な拡大をし続けてきた時代であった。大量生産、 大量販売が最も重要視され、生活者の消費の主たるモチベーションは「人並み欲求」であっ た。「十人一色」である、マスマーケティングが主役の時代であった。スーパーマーケッ トという業態や、アメリカ型のマーケティングの基本骨格は、この時代に出来上がったも のである。 ところが、オイルショックを契機に日本の社会の量的な拡大は一段落を迎え、生活者の モチベーションは「個性表現欲求」へと大きく変化してきた。十人十色の消費社会を指し て、博報堂生活総合研究所が「分衆の誕生」を発表したのは 1980 年代初頭であった。マー ケティングの主たるテーマはターゲットセグメンテーション 2) へと変化し、特定ターゲッ トを狙い撃ちするセグメントメディアが大流行した。
1) 店舗システム協会監修 :『科学する店舗―専門店から百貨店、スーパー、コンビニ、フューチャースト アまで、残るべくして残った繁盛店の英知を全解剖 !』. 東洋経済新報社 ,20053.17 より作成 2) ターゲットセグメンテーションとはマーケティング対象を性別、年齢、居住地、嗜好、価値観などさ まざまな情報で分け、ニーズの異なる集団として細分化し、ターゲットを絞り込むこと。それぞれの ターゲットの特長をキーワード化して、代表的な顧客像(プロフィール)を明確にして戦略を立てる こともある。
-009-
01 序論
ところが、90 年代初頭のバブル崩壊を契機にして、日本の社会は再び大きな転換期に入っ た。最初は一過性の不景気だと思われていたがその後 10 年以上に渡る長期の転換期の始 まりであった。 現在はもはや分衆と呼べるようなセグメントすらなくなって来ている。デジタル技術の進化と浸 透に比例して、人間の生活もデジタルなものになってきている。十人十色ではなく、一人十色。 つまり、一人の人間が「状況」によって何通りものライフスタイルを同時に持つ時代になってき ている。消費の主たるモチベーションは、生活の瞬間である「シチュエーション」ごとの満足、 という形へとシフトし、それをとらえるためのモバイルメディアやインターネットも幅広く普及 してきている。 これまでのターゲットセグメンテーションの破綻の背景には高齢化、女性の社会進出、 情報化社会における生活の国際化などが挙げられる。そして前述の通りこれに代わり、そ の場、その時、その場合でのシチュエーションで捉える考えが必要となってきた。人間の 消費行動を「人間軸」ではなく「状況軸」で捉える。そうすることで、非常に多様化した 現代生活者を効果的に捉える事が出来る。 AIDMA → AISAS( 消費行動の変化 ) 消費行動に関して 1920 年代消費者の心理のプロセスをサミュエル・ローランド・ホー ルは「AIDMA モデル」として示した ( 図 1.6)。 AIDMA モデルでは、消費者がある商品を知って購入に至るまでに下図のような段階が あるとされる。 こ の う ち、Attention を「 認 知 段 階 」、Interest、Desire、Memory を「 感 情 段 階 」、 Action を「行動段階」と区別する。 しかしこのモデルが情報化による買い物形態には適応せず AISAS という新たなモデル が提示された。AISAS モデルは、電通が提案したものであり下図のような段階で示される。 AIDMA モデル
AISAS モデル
Attention (注意)
Attention (注意)
Interest
(興味)
Interest
(興味)
Desire
(欲求)
Search
(検索)
Memory
(記憶)
Action
(行動)
Action
(行動)
Share
(共有)
↓ ↓ ↓ ↓
↓ ↓ ↓ ↓
図 1.6 AIDMA モデルと AISAS モデル
AIDMA モ デ ル で は、Attention か ら Action ま で の あ い だ に、Interest、Desire、 Memory という認知の段階を経る必要があったが、AISAS モデルでは、商品が記憶され て店舗に行って購入するという過程が省略されている。広告を見た瞬間に検索されて、た だちに購入されるということも起こる。瞬間的で直接的な反応が起こりうるようになっ
-010-
01 序論
た。非常に効率的で Attention から Action までが短く、その後の Share によって広がっ ていく。つまり、双方向的なメディアの誕生によって、消費者の直接的な反応は、把握で きるとともに期待もできるようになった。 このモデルは現代はどちらかであるということではなく、両者が混在して起きている事 が考えられる。特に Action までのプロセスが複雑であり、情報収集の点でインターネッ ト上で認知、検索が行われ、実際の店舗では購入はせずに実物を見るだけであったり、そ の場の体験を楽しむだけであったり、実際の店舗では「マネーセービング」よりも「タイ ムセービング」が重要であるという消費者も増えており、購買行動に大きな影響を与えて いる。 つまり、現代は「店舗に行って買う」ということの価値が変化しており、それに対して 用意するべき商業施設空間として、買い物客の状況に柔軟に対応し効率性や体験性の両者 にとって満足するものである必要性があると考えられる。。
-011-
01 序論
1.2.3 新しい商業施設 以上述べてきたように消費行動をこのように捉える中で、建築計画も当然変化すべきで ある。そのためにはやはり、これからは今までのターゲットセグメンテーション的な行動 モデルだけではない、シチュエーション的・状態的なモデルを模索する必要がある。そう することで現代の生活者にマッチした建築計画が考えられる。 こうした中、実際に買い物客の行動、状態を把握し体験性や回遊性、利便性、快適性な どを高めたり、様々な工夫を建築計画的に行った事例がある。 ワンウェーコントロール インテリア、家具を販売している IKEA ではその動線を一方通行にし、数カ所でショー トカットを設ける事もしており、フロア全体をくまなく回るように計画されている ( 図 1.7)。こうすることで回遊性は高くないが、全ての商品に目が通せ、迷わないという利点 がある。家具という大きな買い物にあっては買う物のカテゴリーをある程度決定している 消費者が多く、そのような消費者に対しては迷わずに目的商品に到達することが重要であ り、迷うことで疲労するということを避ける事が出来る。また、買い物を全て終わった消 費者にはショートカットでの帰宅ルートを用意している。買い物客に多い買い物の特性を うまく生かした動線計画である。しかし、一方で、何かをもう一度見たいと思った時に戻 れなかったり、全商品を見る必要のない消費者には動線が長くなってしまい、不便な構造 となっている。
1)
図 1.7 IKEA 船橋の動線計画 左図 :2 階 右図 :1 階
1) IKEA 船橋のフロアマップより。IKEA はスウェーデンの大手家具店。現在は、オランダ南部の都市 ライデンを本拠地とする財団法人スティヒティング・インカ・ファウンデーション(創業者イングヴァ ル・カンプラードの創設した基金)が、イケアグループ全体の親会社であるインカ・ホールディング を所有している。
-012-
01 序論
二つの行動を考慮する また、新宿伊勢丹の地下売り場は 2007 年に行った改修により、通路幅を 3.6m と百貨店 の地下売り場通路としては広めな幅に広がった。広い通路は混雑を緩和する機能を持つ。 地下売り場は上層階で、買い物をした荷物を抱えた買い物客も多く、抵抗なく通過しやす いものとなっている。この幅は、買い物客に存在する二つの速度を考慮したものである。 一つは全体を見渡すために一回りしたり、目的の店に行くために移動する時の巡航速度 で、もう一つが、ケース内の商品を物色する時の停滞に近い速度である。 このように一つの通路に買い物客に現れる二つの状態を考慮し、それぞれに対する二つ の速度という特性を計画にうまく生かすという事例もある。
停滞
巡航速度
停滞
図 1.8 新宿伊勢丹の地下売り場の概念と様子
1)
また、アメリカのほとんどのスーパーマーケットにはエクスプレスレーンという少量購 入者専用のレジが設置されている。これはまとめ買いするような状況にある消費者と数品 目しか購入しない状況の消費者の動線を分ける事によって待ち時間を短くし、利便性を高 め苛立ちを最小限にする事が可能な計画である。 このように 消費者の状況、状態を行動特性を明確に把握し、快適な買い物を促すとい う建築的・空間的工夫により「店舗に行って買う」行為を見直した解決策も見られてきて いる。 現代は効率性と体験性の二極化や状況軸で捉えることの重要性は前述した通りである が、これらを兼ね揃えることが出来る商業施設形態とはどのような形態であるだろうか。 買い物時には大きく分けて二つの状態があると考える。効率性につながる「目的に買い物 を行う時」と体験性につながる「無目的にぶらぶらする時」である。その両者を満足させ るような商業施設が理想的であると考える。< 使い勝手 > のデザイン学
2)
に興味深い記
述があるので紹介したい。
1) NIKKEI DESIGN 2007 年 8 月号 , 日経 BP 社 , 日経 BP 社 ,2007.7.24 より 2) ヘンリー・ペトロスキー著 :『< 使い勝手 > のデザイン学』, 朝日選書 ,2008,6
-013-
01 序論
店主や店長の立場からすると、スーパーマーケットに最適な設計は、ものすごく距離が 長くてものすごく幅が狭い建物の全長にわたって通路が一本だけ ( できれば棚が一つだけ ) 続いていて、一方の端には入口だけ、もう一方の端にはレジだけしかないものだろう。 ( 中略 ) 歩行距離を縮める事は出来ない。 ( 中略 ) 買い物客の立場からすると、スーパーマーケットに最適な設計は、回転レストランにそっ くりな回転床をそなえた円形の店かもしれない。 ( 中略 ) 買い物客は通路から別の通路へと必要最低限の歩行距離で移動できる。 ( 中略 ) 所有者の理想である一本の長い通路と、買い物客の夢である回転木馬型店舗とのあいだ には、おおいに歩み寄りの余地がある。現実のほとんどのスーパーマーケットの実際の売 り場の形は、もちろん正方形に近い長方形であり、せめぎあう理想と理想との明らかな折 衷案だ。四角形だとしたら、スーパーマーケットの設計者にとって基本的な問題は、商品 陳列用の戸棚や棚とそこに入れる商品をうまく配列し、必需食料品を二つ三つ買いにきた 客にも、できるだけたくさんの通路を行き来させることだろう。 76m 1600m
一直線に並ぶ
15 分で一回転する
図 1.9 店主や店長の理想型と買い物客の理想型
ここに書かれた店主側と買い物客側の理想型を簡単に図示すると図 1.9 のようになる。 この例はあまりにも極端ではあるがその考え方は非常に現代の買い物に対して正面から対 峙しようとするものである。< 使い勝手 > デザイン学では店主側と買い物客側の理想型と して商品の陳列の事例を挙げているが、「目的に買い物を行う時」と「無目的にぶらぶら する時」という二つの状態として買い物客を捉えると現代の買い物に対する建築計画的な 一つの解決策が見えてくる。目的的に買い回る時にはもちろん買い物客にとっては必要最 低限の歩行距離での移動が理想である。一方でぶらぶらする時には買い物客としてはただ その場の体験を楽しんでいるので最低限の歩行距離というのは関係なくむしろ長くてもか まわない。こちらには店主側の理想型である出来るだけ歩かせるという理想型を適用でき る。これには二つの状態について深く探る必要がある。そしてそれぞれの行動特性を把握 し、その特性を再現する事が出来れば現代の買い物に対する答えが導きだせる。 つまり、これらの買い物客を二つの状態の集合体として捉えることで新しい商業施設の あり方を提示する事ができると考えられる。
-014-
01 序論
1 . 2 . 4 建 築 計 画 と シ ミ ュレーション シミュレーションとは、複雑な事象・システムを定式化して行う模擬実験のことである。 実際の現象を模擬的に再現し、その特性を検討したり、ある決定が引き起こす結果を予測 するなどの目的で行われる情報収集の一つである。実際の現象を直接的に観察する、忠実 に再現するといったことが費用、安全性、時間などの制約により困難である事象に対し、 知りたい特性をよく表現するように何らかの近似的なモデルとして再現し、情報を得よう とするものである。 建築におけるシミュレーションは、温熱環境や風環境、非線形力学的な構造解析や、都 市構造と交通網の検討や、建物の計画条件の検討や施設の規模と配置の検討、また避難計 画など、非常に多岐に渡り、設計者の判断のよりどころとなるデータを提供することを目 的として用いられる。特に、有楽町マリオン ( 図 1.10)(竹中工務店、1984-87)等の例を はじめとして、複合施設を有する大規模建築などにおいては、シミュレーションによって 計画の課題を解きながら設計を進めることで実現可能となったものも多い。
図 1.10 有楽町マリオン
伊東豊雄は、構造設計家のセシル・バルモントや佐々木睦朗、新谷眞人などと共にシミュ レーションを幾度となく重ねて建築の構成に独自のルールを与える方法を展開し設計を 行っている 1)。TOD'S 表参道ビルが好例である。1 本の基本的な木のパターンを重ね合わ せることによって、ランダムな開口部を形成 ( 図 1.11)。重ね合わせる際に何十回も構造シ
一本の基本的な木のパターンを重ね合わせることによって、ランダムな開口部が形成される。 図 1.11 TOD'S 表参道ビルのファサードダイアグラム
2)
1)『10+1 No.48 アルゴリズム的思考と建築』,INAX 出版 ,2007.9.30 2)『PLOT 03 伊東豊雄:建築のプロセス』,A.D.A.EDITA Tokyo,2003 より
-015-
01 序論
ミュレーションを繰り返し、適切な開口部の解を探る。 こうした設計手法について、アルゴリズム的建築という表現を用い、アルゴリズムを「点
の運動のルールを定義化するもの 」であると捉え、「アルゴリズムに基づいて運動のルー ルを規定して形態化し建築的な形態に置き換えてゆく方法を意識的にやる 」と述べてい る。またその点には無限の軌跡があり、「もはや最適解はなく、現代建築には無限の解答
がある 」と述べている。また、「準最適解 」 1) という言葉を用いて、これが最適だという解 答はあり得なく、近代の論理がある種の最適解であったり、一定の規範性で回収されるの に対して、それをふくらみを持った多様性のあるあり方へと、建築を「ゆるく」提起して いる。こうした考えで生まれる建築にはある種の汎用性があると考えられる。アルゴリズ ムを用いる事により、あるモデルを提示し、そのモデルのパラメーターを変化させる事で、 様々な建築形態を生み出す事ができる。 建築計画の問題をクリアするために主に用いられるシミュレーションが、利用者の行動 シミュレーションである、建築計画の対象は建築物あるいは空間であるが、計画の基準と なるのはそれを使う人間である。このため、計画の過程において建物がどのように利用さ れるのかなど、常に利用者の行動を予測、検討しながら設計が進められる。 建築計画において、これまで様々な形で最適解という手法が多く考えられてきた。「新 建築学体系 23 建築計画」 2) によれば、建築計画の概念の中には計画を成立させるための三 つの要件として、 「1. 目的の明確性・具体性、2. 手段の客観的な評価の可能性、3.( 計画実現 )
過程の予測可能性 」が挙げられている。しかし、このような明確さ、客観性を前提とした 建築とは、現実世界の中からある目的のみを抽出し、それら限定された要素の構成による 最適解が求められ、特定の目的以外の要素は除かれてしまう。今後の建築においては最適 解があるという前提ではなく、何か設計のプロセスの中で判断する方法が必要とされ、そ の中で、シミュレーションに必要とされる考えは適切なルールの設定、それにより得られ るいくつかの解を提示できるようなシステムであるのではないだろうか。 実際のシミュレーションが行われた事例 次に実際の建築設計を行う上でシミュレーションを行った事例を示す。 これまでに、博覧会場や避難問題など、建築物や空間内のマクロ的な人間の移動を扱う シミュレーションは古くから盛んに行われてきた 3)。近年では電算機性能の進歩も相まっ て、ミクロなスケールでの群衆の流動を再現する
4)
など、より建築の細部までの検討にシ
ミュレーションが用いられるようになってきている。
1) 伊東豊雄建築塾編著 :『けんちく世界をめぐる 10 の冒険』, 彰国社 ,2006 2) 新建築学大系編集委員会編 :『環境心理 , 新建築学大系 23』, 彰国社 , 1982 3) 例えば中村 , 渡辺 , 中島ら:人間 - 空間系の研究 ,1972.11 システムダイナミクスを用いる事で万博 会場における人々の流動マクロ的にを捉え予測を行った。 4) 例えば渡辺仁史研究室と A&A、竹中工務店によるエージェント指向シミュレータ SimTread
-016-
01 序論
商業施設の計画の流れは一般的に下図のような流れで行われる。 調査段階
事業者
設計者
企画段階
設計段階
施工段階
マーケティング分析
事業企画
詳細検討
実施
・立地検討
・業態 /MD 検討
・売場 / 後方諸室計画
・内装監理体制の確立
・商圏検討
・規模設定 / 売上予測
・テナント募集計画
・サイン計画
・競合店検討
・管理運営方式の検討
・大店立法協議 / 届出
・テナント募集 / 説明会
・交通量調査
・事業収支の検討
・近隣折衡
・大店立法協議 / 届出
・資金調達計画
・施主者決定 / 入札 / 発注
・開業準備
現地調査
基本計画
基本計画 / 実施設計
設計監理
・関連法規調査
・デザインコンセプト
・基本 / 実施設計
・工事監理
・敷地測量、現況測量
・ゾーニング / 動線計画
・防災計画
・内装監理
・ボーリング調査
・構造 / 設備形式計画
・構造 / 設備実施設計
・設計変更
・インフラ調査
・予算計画 ( 概算見積 )
・予算計画 ( 数量書 )
・行政検査対応
・行政事前協議
・行政協議 / 確認申請 入札 / 準備工事
施工者
工事
・明細見積 ・解体工事 ・準備工事
図 1.12 商業施設計画の流れ
1)
商業施設においては、百貨店・量販店・専門店などと従来の業態が大きく変化し、今後 も変化を続けることが考えられる。また、前述の通り、情報化により、変化した商業形態 は施設計画に影響を及ぼし、商業施設そのもののショーウィンドウ化 ( 商業施設で本物を 見てインターネットで購入すること ) も起きている。このような商業の変化に設計をする 側も対応すべきである。また、図のような計画の流れにおいてもこれを基準に新しいニー ズにどう対応するかが今後の課題でもある。また、商業施設計画を進める際に設計者にとっ て商業者やディベロッパーなどの「事業者」や様々な分野の専門家との共同が非常に重要 である。変化しつつある商業の中で、事業者側の要求は大きく変化し、複雑なものとなっ ており、定量的に建築計画の評価指標を示す必要がある。そのような状況下では、今まで の知識や経験の蓄積だけでは建築計画は進め得ないものとなっている。また、近年の建築 に対する、コスト意識の高まりも、商業施設の建築空間のあり方に対して従来の方法論だ けでは解決しない新しい解答を求めている。 今回の事例ではその中でも特に赤字のフェーズにおいて検討を行った。このフェーズは 建築設計においては初期から中期段階と言える。
1) 日本建築学会編 :『建築設計資料集成[業務・商業]』, 丸善 , 2004.4.5 より作成
-017-
01 序論
ま た、 実 際 の 設 計 プ ロ セ ス は 一 般 的 に 下 図 の よ う な モ デ ル の 流 れ で 行 わ れ る。 図 (R.D.Watts の設計プロセスのモデル )。設計の諸行為がそれぞれのループを重ね、質的な 高まりが得られてゆく。その中で本事例では各ループでシミュレーションを重ね、次のルー プへ移行していった。
図 1.13 R.D.Watts の設計プロセスのモデル
1)
この計画は、低層部および地下部分に店舗、上層部にオフィス、地下最下層に駐車場を もつ複合施設である。商業施設部分に全面道路側に外部 ESC と、内部の吹き抜け、1 フロ アの平面形状がまとまっており、かつ非常に大規模であるという特徴をもつ。この計画の 商業部、オフィスエレベーター、駐車場などに対し、初期段階からいくつかのフェーズで シミュレーションを行った。 以下にそれぞれの計画段階とシミュレーションの概要を示す。 ー 店舗部分: 店舗に必要な考えは集客が計画案の内部でどのように分布し、偏りやネックとなりうる 箇所を把握する事であった。 計画初期に関しては百貨店のビルディングタイプとしては目新しい前面外部 ESC の効 果を見る事であった。初期では空間を全 10 ノードほどに分類したネットワーク空間を想
1) 新建築学大系編集委員会編 :『環境心理 , 新建築学大系 23』, 彰国社 , 1982 より
-018-
01 序論
定し、内部回遊の効果について空間各部のつながりに基づいたシミュレーションを行い、 前面外部 ESC の効果を示した。 次の段階では徐々にノードを細分化していき、同様のシミュレーションを検討した。 それに並行して、EV や ESC といった垂直移動動線の必要規模を、来客見込み人数や選 択確率からのシミュレーションを行った。 また計画が進むにつれて変化した平面計画に対し前面 ESC については行動モデルを含 んだ行動シミュレーションを前面 ESC の有無の案それぞれに対して比較を行い、その効 果を再度示した。 以上のように店舗部分に関しては計画の進度とともに各シミュレーションを行い計画の 検討、案の比較などを行った。
オフィス部 EV: オフィス部分に関しては、商業部の客との動線分離、出勤時の EV ホールでの人の待ち 空間の設計、垂直動線(EV)の輸送能力、ネック処理(待ち空間も含まれるが、EV 前、 セキュリティゲート)、入り動線(1F から、地下鉄からの連絡通路等)などが、重要な 事項である。 初期段階においては EV の必要台数の検討が求められた。オフィスの利用人数想定に関 しては、一社利用か/テナント利用か、また一人当たりの面積想定の厳しい場合をとって、 利用者人数を推計する。その上で特に、朝の通勤時間帯の集中が一番厳しい条件であり、 その数値での確認を行った。その上で EV ホールの待ち空間のサービス水準を求め検討を 行った。この検討に関してはシステムダイナミクスを用いた。 次の段階ではスカイロビー案と通常案との比較により、スカイロビー案の優位性を示し た。 さらに計画が進むにつれ、商業部との関係などからエントランスの規模の変更などがあ るとシミュレーションを繰り返した。また、エントランス周り詳細設計やスカイロビー階 での待ちの検討を行い必要寸法を求めていった。そして徐々に EV の速度や定員などの詳 細な検討も行っていった。 このようにオフィス部 EV に関しては比較的自由度が高い箇所となっており、商業部や エントランス周りなどとの様々な要因により設計変更が何度も重ねられたため、初期での 規模の検討、スカイロビー案への決定の後は、詳細の変更毎に検討を繰り返すというプロ セスで進められた。 駐車場部分: 駐車場部分は店舗利用者、オフィス利用者の時間的な利用特性が異なる事と、平面駐車 (自走式)と機械式駐車(機械式)を併用することから、入庫、出庫の一連の行動の中で のシステム上のネックとなる部分を見つけて、処理する事が必要となった。来館者人数予 測値と自動車利用率の予測により、全体の利用者人数を想定して、一日の来館の時間的変 動、利用時間などのデータから駐車場規模について検討し、周辺道路への渋滞を起こさな
-019-
01 序論
いような計画案を検討した。オフィス部 EV と同様にシステムダイナミクスを用いた。 初期段階ではおおまかに台数のキャパシティの検討を行い妥当な台数を導いた。 次の段階では待ち行列が発生しうる局所的な問題点を検討し、待ち合いロビーなどで発 生する待ちの可能性があり、解決案を提示した。 そして、徐々に計画が進行するにつれ、ゲートの位置や台数などの詳細な箇所による待 ちの検討を行った。
以上見てきたように設計での様々な段階でのシミュレーションがあり、それぞれの段階 で検討事項があり、徐々に詳細な検討が必要とされ設計にフィードバックされていった。 設計者とのきめ細かい話し合いの中で要望とそれに対して一つづつ検討を行う事が重要で ある。
-020-
01 序論
1 . 2 . 5 人 間 や 空 間 の モ デル化の考え方と既往研究 建築空間は、ほとんどの場合計画者、設計者の判断に応じて、適度に人間の行動との対 応をはかっており、一般に設計者は慣例に頼る。この慣例は、建築空間と行動タイプの対 応という形で把握される。この対応をより正確に把握するめに、これまでに様々な調査が なされ、分析者の判断によって、必要な要素を抽出することにより理想とされる空間のモ デルと行動のモデルの対応が示されてきた 1)。以下に各モデルの概要を挙げる 人間のモデル
図 1.14 人間のモデルの考え方と例 左図 : 個人型 右図 : 群衆型
1)個人型 対象となる人間ひとりひとりを区別して表現する方法。人間の質の違いを扱う場合、個 人の属性がシステム全体に与える影響が大きい場合に採用される 2)。 各々の目的地や歩行速度などの行動能力や認知度、他の個体と衝突した際の回避則、役 割分担などの属性を個体に与えてその影響を観察することが可能であるが、個人型の場合 には同時に大量の人間の刻々の状況を各人について計算する必要があり、要求される個体 数に比例して計算量が増大し、コンピューターの処理能力に制約を受ける。 2)群衆型 人間を量として扱い経路に配分するもので、大量の人間の流動を扱う場合、流動目的が 一様で人間の質に大きな差がないとみなされるとき、ネックが特に系全体に影響を与えず 流動の相対的な関係だけが問題となるとき、空間相互のつながりが流動量に対して十分広 いとき、また行動主体の条件よりも環境条件を優先して考えるときに採用される 3)。 個人型に比べ計算時間の面で有利であるが、面的な広がりをもつ流れ、あるいは偶発的 な人の流れを説明することはできない。一度に大量の人間を扱うことができる反面、一人 一人を区別できないため、人間の行動特性を細かいところまで反映させることは難しい。
1) 吉武泰水 : 建築計画の研究 , 建物の使われ方に関する建築計画的研究 ,1965 などに端を発する。ト イレなどのサービス時間を統計的に算出することで、待ち行列理論をつかった規模の算定を示した。 2) 例えば中村 , 渡辺 , 浜田ら:「観覧会場内の観客流動モデル」, 日本都市計画学会都市計画 別冊 8 号 システムダイナミクスを用いる事で博覧会場における人々の流動マクロ的にを捉え予測を行った。 3) 例えば渡辺仁史研究室と A&A、竹中工務店によるエージェント指向シミュレータ SimTread
-021-
01 序論
空間のモデル y
M(i,j)
P(x,y) i
x
8 -9 6 -8 5 -6 3 -5 2 -3 0 -2 -2 -0
図 1.15 空間のモデルの考え方と例
左図 : 座標型 中図 : メッシュ型 右図 : ネットワーク型 1)座標型 壁、柱、扉などの位置を座標で与え、空間の形状をできるだけ実体に近いかたちで表現 し、人間の位置も座標で与えるもの 1)。人間の歩行における柱や手すり、壁などの影響を 考慮する場合など、人間の挙動をミクロに把握する場合に適している。ただし、大規模な 建築物の全体を対象とするような場合には、計算量が大きくなり、コンピューターの処理 能力に制約を受ける。 2)メッシュ型 対象空間を正方形もしくは長方形、多角形のメッシュに分割し、メッシュからメッシュ への移動として人間の流動をとらえようとするものである 2)。この方法では対象空間が必 ずしもうまく分割できないので、空間全体の内容が均一である場合に適している。この方 法では人間の面的な広がりを持った移動を扱うことができる、演算処理が簡単であるとい う利点がある。 3)ネットワーク型 建築や都市のそれぞれの空間をいくつかの点(Node)と、それをつなぐ線(Path)で 表す方式(Node-Path 方式)と、空間を複数個の領域(Block)に分割しそれが隣接した ものととらえる方式(Block 連結方式)がある。連結された単位空間を通って人間が流動 すると考える。対象とする空間が不特定のいくつかのまとまりで表現できる場合で、あま り詳細な流動を扱う必要のない場合に採用される。建物全体を扱う場合、多数の人間を扱 う場合に採用され、流動状況を相対的、マクロ的、定量的に把握するのに適した空間モデ ルである 3)。
1) 例えば高柳英明 : 群衆力学に基づく歩行行動モデル , 渡辺仁史研究室学位論文 ,2003.3 2) 例えば梅澤力 : 駅における待ち合わせ行動予測モデル , 渡辺仁史研究室修士論文 ,1998 年度 3) 例えば中村 , 渡辺 , 浜田ら:「観覧会場内の観客流動モデル」, 日本都市計画学会都市計画 別冊 8 号 システムダイナミクスを用いる事で博覧会場をネットワークモデル化し流動予測を行った。
-022-
01 序論
また、人間のモデルと行動のモデルだけの組み合わせによる行動の記述は位置の定位、 あるいは位置の移動といった客観的に観察できる行動の結果の説明に重点が置かれてい た。そこで状態のモデルを組み込む事によりさらに様々な事象を説明する事が可能となっ た。 状態のモデル オートマトンモデルにおいては、人間(行動主体)の生理的、心理的な状態に応じた行 動を記述することができる。ある入力に対して単一の出力が一義的に決定されるのではな く、入力によってまず状態が決定され、この入力と状態に応じて出力が決定される。
図 1.16 状態のモデルの例
1)
人間の行動をこの手法で表現する場合、例えばそれぞれを次のように対応させることが できる。 入力:人間が環境から受ける刺激、情報 自分の位置、周囲の混雑度、他人の声、部屋の温度など 出力:人間から空間への働きかけ 位置の移動、物の移動、窓の開閉、他人への働きかけなど 状態:人間の生理的、心理的な状態 精神的ストレス、肉体的疲労、欲求など 建築計画の後半では個人型 - 座標型モデルなどの非常に細部の検討に適したものが利用 されるが、複雑であり、計画の詳細が決定されていないとモデルを適用できないこともあ るため、計画の初期段階では利用できない。初期段階においてはよりマクロ的なモデルが 利用されるが、その適用範囲は狭い。 建築計画において初期段階から幅広く用いることの出来るモデルが望まれる。
1) 加納征子 : 迷いやすい空間における経路認識行動に関する研究 , 渡辺仁史研究室卒業論文 ,1998 年度 より
-023-
01 序論
回遊行動研究 回遊行動として都市空間や商業施設やでの人間の行動の特性を把握し、モデル化する研 究も行われてきた。 都市において回遊行動を見たものに、加納 1) による、駅周辺を回遊する歩行者の行動特 性をアンケートにより明らかにし、断面交通量の推定を行ったものが挙げられる。環境因 子に焦点が当てられており、周辺施設と道路幅などの断面交通量に影響を与える要素を抽 出し、断面交通量のモデル式を提示した。 また、シミュレーションを示したものに、桶野 2) らによる都市回遊行動のシミュレーショ ンモデルが挙げられる。都市内の行動特性をアンケートなどからモデル化し、人間のモデ ルを個人型であるエージェントベースモデルとし、より実際の人間の行動を反映したモデ ルの構築を目指したものである。 商業施設内での行動研究 店舗内での行動特性を示したものに、江口
3)
らによる複合商業施設での利用者回遊行動
の特性を示したものが挙げられる。アンケートにより利用者の複数店舗間を巡る回遊行動 の実態を把握し、直接目的としていない二次利用の店舗が複合商業施設には重要な意味が あり、回遊時間が二次利用店舗に大きな影響がある事を明らかにしている。 石垣
4)
らは百貨店の POS を用いてフロア移動パターンなどの買い回り行動には個人属
性要因や買い物状況要因、時間時期要因、部門固有要因が影響していることを確認した。 ターゲットセグメンテーションの王道的研究である。 店舗内行動モデル 店舗内での行動のモデル化を試みたものに阿部
5)
らによるセルラオートマトンを用いた
小売店舗でのシミュレーションが挙げられる。小売店鋪内での買い物客を計画購買者と非 計画購買者の二つの属性に分類し、商品や POP の魅力度を設定しモデル化することで店 舗内のレイアウトや POP の配置によって買い物客の流れや店内滞在時間が変化する事を 検証した。しかし、対象空間が小売店鋪であるため店舗を買い回る時に買い物客の状態遷 移によって行動特性が変わるという視点はなく、また 1 フロアでのモデルであるため、大 規模商業施設内の日常買い物行動に関する予測を行うまでには至っていない。
1) 加納征子 : 駅周辺の歩行者の回遊行動特性に関する研究 , 渡辺仁史研究室修士論文 ,2000 年度 2) 壬生田喜貴 , 大貝彰 , 桶野俊介 : エージェントベースモデルを用いた歩行者行動のモデル化 その 1, 日 本建築学会大会学術講演梗概集 .F-1, 都市計画 , 建築経済・住宅問題 ,pp.827-828,2000 3) 江口浩壽 , 佐藤光徳 , 服部岑生 : 複合商業施設における回遊状況 - 複合商業施設計画の利用特性に関 する基礎的研究 ( その 1)-, 日本建築学会大会学術講演梗概集 E-1,pp.463-464,1999 4) 石垣智徳 , 小沢佳奈 : 百貨店 POS データによる顧客の店舗内空間行動分析 , 社団法人日本オペレーショ ンズ・リサーチ学会 , オペレーションズ・リサーチ : 経営の科学 ,vol.50,no.3 pp. 181-186,2005 5) 阿部武彦 , 山田健司 , 石井和克 , 中本義徳 , 木村春彦 : マルチエージェントを用いた小売店レイアウト 支援システム , 電子情報通信学会総合大会講演論文集 ,pp.8,2006
-024-
01 序論
小島
1)
らは大規模小売店舗をマクロに捉え、パーティクルシミュレーションにより、歩
行行動や立ち寄り行動を分子動力学を利用して再現を行い、利用客の誘導方法などによっ て群衆行動をコントロールする手法の手がかりを探った。しかし、群衆的に捉えているた め、状態のモデルは組み込まれておらず、日常的な買い物行動を示すまでには至っておら ず利用客の制御手法の手法の検討にとどまっている。 田中
2)
は百貨店の初売り時における行動のシミュレーション、また、その群衆の制御手
法を分子動力学を用いて示し、初売り時の高密度な状態においてネックや危険となりうる 箇所に対して適切な制御を行う事で解決できることを示した。しかし、初売りという単一 目的的な特異な買い物ケースであり、また、群衆的扱いであるため日常的な買い物行動を 示すには至っていない。 豊嶋
3)
らによる店舗内の行動アンケートをもとに店舗内回遊モデルを提案しており、店
舗内の顧客動線と購買の有無の把握を目指し、入店から退店までを通し店舗内の一日の回 遊モデルを示し RFID などのユビキタスデバイスにより、移動履歴データを取得するシス テムとの融合を目指している。総合的な買い物行動を示す事には成功をしているが、その モデルには買い物客の状態、またその状態が変化してくというモデルはなく、状態による 行動特性の違いを示し、モデル化を行う本論とは視点を異としている。 いずれの研究も本論のようにシチュエーション、状態を考慮し、建築計画の目的とする ような行動特性を記述するような買い物の行動モデル作成には至ってない。
1) 小島尚人 , 後藤信 , 高柳英明 , 服部岑生 : 大規模小売店鋪におけるマクロ流動制御手法に関する研究 その 1 利用客行動調査とモデル構築について , 日本建築学会大会学術講演梗概集 E-1,pp.491-492,2006 2) 田中壮作 : 百貨店における群衆流動モデルに関する研究 , 渡辺仁史研究室修士論文 ,2005 年度 3) 豊嶋伊知郎 , 小磯貴史 , 吉田琢史 , 服部可奈子 , 今崎直樹 : ユビキタス情報に基づく店舗内回遊モデル , 電子情報通信学会技術研究報告 ,pp.61-66,2005
-025-
01 序論
1.2.6 研究の位置づけ 本論文の扱いたいところをまとめると次の通りである。 前述した通り、ターゲットセグメンテーションという考えで作られてきたモデルではな くシチュエーションで考えるモデルが必要である。しかし、既往論文ではそのようにシチュ エーションを示したものはない。状態が幾度も遷移し、把握しづらい日常買い物行動であ り、避難などとは違う考えである。 詳細な情報が不確定である計画時の初期段階での検討から、流動の確認まで、計画時の 広い段階で用いる事が出来るモデルが求められる。 商業施設内での買い物行動においては状態の変化が時系列的に現れる。その状態は「目 的地がある状態」と「目的地がない状態」の二つに大別されると考えられる。この内的な 状態の変化によりそれぞれ行動も全く違った特性を持つこととなる。例えばある人が帽子 を購入しに商業施設に来店したとしよう ( 図 1.17)。帽子を購入すると決めたその人は帽子 を売る店舗まで直行することとなる。「目的地がある状態」でその店舗へ向かい、購入し 目的を果たし、欲求が満たされたあとはぶらぶらと施設内を回る「目的地がない状態」へ と遷移することとなる。
目的地がある状態
目的を果たす
目的地は特になくぶらぶらと歩く
ふらっと立ち寄る
図 1.17 買い物行動の例
-026-
01 序論
このように考えると、買い物行動には常に状態の遷移があり、その状態に応じた行動が 現れることとなっていると捉える事が出来る。 この二つの状態をオートマトンのモデルとして捉えると図 1.18 のようになる。そしてこ のように二つの状態で見る事で、現代の買い物行動を捉える事ができ、それぞれの特性に 応じた建築空間のあり方が見える。目的地がある状態に対しては効率性を重視し、なるべ く目的のものに早く到達する事が求められるが、一方で、目的地がない状態では体験性を 重視し、買い回る行動を求める必要がある。これまで長く滞在する事という一義的な意味 だけで回遊性を捉えて評価していたが、この状態から考える事で、新しい知見を得ようと するものであり、それにより、計画時の検討の指針を得ようとするものである。
・一定店舗数立ち寄る ・疲労する(総歩行距離)
・目的地到着
目的地がある状態 通過歩行 最短経路を選択
・一定店舗立ち寄り
目的地がない状態
・全目的地到着
そぞろ歩き(商品を見つつ) 店舗間距離に依存した立ち寄 り歩行
例
例
見たいものがある
何か買いたいけどどこかなぁ
買いたいものがある 休みたい 帰ろう
あれを買い忘れた、買いに行こう ISETAN 地下の通過歩行 など
明確な目的地、願望がある状態
あ、この店見てみよう
時間があるしぶらぶらしてみよう 自由に散策する
夕飯のおかずはどうしよう
ISETAN 地下の windowshopping など
目的地が明確でない
図 1.18 買い物時の状態遷移のオートマトンモデル
-027-
01 序論
1.3 用語の定義 目的地がある状態 設定された次の目的地に向かっていく行動をする状態。周囲の店舗や商品に関心をあま り向けず、行動も商品への興味や周辺店舗に影響を受ける可能性が低い状態のこと。買い たいものや見たいものが明確にあったり、休みたいなどといった明確な目的地や願望があ る状態。 目的地がない状態 特定目的商品を探しているのではなく、ウィンドーショッピングのような状態。歩きな がら周囲の店舗や商品へ意識を向け、行動が商品への興味や店舗などに影響を受ける可能 性が高い状態のこと。時間があるのでぶらぶらみたり、自由に散策したりして、目的地が 明確でない状態。 退店状態 全ての用事を終え、帰宅する時に現れる状態のこと。目的地がある状態の中の一つで、 その目的地が出入り口であるという状態。 目的地がある行動 目的地がある状態の時に現れる行動。 目的地がない行動 目的地がない状態の時に現れる行動。 退店行動 退店状態の時に現れる行動。 立ち寄り店舗 購入の有無は関係なく、その店舗に興味を示し、入店した店舗を指す。
-028-
02 研究方法
02 研 究 方 法
2.1 研究の流れ 研究の流れを図 2.1 に示す。 買い物行動追跡調査 買い物行動の実態を把握 都内 3 つの商業施設にて調査
本研究は買い物客の行動特性を把握する ために買い物行動追跡調査より始められ た。この調査により実際の店舗での買い物 行動の実態を把握した。
買い物行動特性の把握 状態変化の様子、立ち寄り店舗数、 行動軌跡、滞在時間などの分析
次に追跡調査により得られたデータよ り、買い物時の状態の変化の様子、立ち寄 り店舗数、行動軌跡、滞在時間など買い物
モデルの作成・アルゴリズムの構築 基礎分析より状態別の行動特性を 設定し、アルゴリズムを構築。
行動の特性をみる基礎的な分析を行った。 基礎分析で得られた買い物行動特性を基 にモデル作成を行った。
シミュレーションモデルの検証 シミュレーションモデルを作成。 可視化し、精度の検証。
作成したモデルからアルゴリズムを構築 し、買い物行動のシミュレーションモデル を作成した。 そのモデルの整合性を確かめるため、実 空間での実測調査との比較による検証を
ケーススタディ 4 つのタイプの空間でのケースス タディ。買い物客の状態、行動か ら空間の検討
行った。 その後ケーススタディを行い、商業施設 における行動と状態、空間の関係を探った。
図 2.1 研究の流れ
-030-
02 研 究 方 法
2 .2 調 査 方 法 買い物行動追跡調査 買い物行動の実態を把握するための調査を行った。 調査方法は追跡調査とした。追跡調査は調査員の数によりデータ数が限られてしまうと いう欠点がある。しかし、特に買い物のように入店から退店までの長期的でかつ、移動を 必要とするようなデータであり、広範囲に渡るものに対しては知りたいデータを無駄なく 知る事ができ、非常に有効である。 入口に立ち、追跡対象者を無作為抽出するために、最初に入店した買い物客から数えて 3 人目の買い物客を入店から退店まで追跡する。 調査日時 第 1 回調査 建築計画 C の課題として出題 出題日 2007 年 6 月 22 日 提出日 2007 年 7 月 6 日 調査日時:2007 年 6 月 22 日∼ 2007 年 7 月 6 日の期間の平日と土日祝日 調査人数:123 人 調査場所:3 カ所 日本橋高島屋
店舗面積 50499m 2
銀座松屋
店舗面積 32182m 2
新宿高島屋
店舗面積 53960m 2
第 2 回調査 調査日時:2007 年 10 月 4 日∼ 2007 年 10 月 15 日の期間の平日と土日祝日 調査人数:59 人 調査場所:1 カ所 日本橋高島屋
店舗面積 50499m 2
調査項目 追跡対象者の情報 1. 人数 2.(グループであれば)グループの特性 3. 性別 4. 年齢 行動 5. 百貨店に入った時刻 出て行った時刻 6. 利用したフロア階数と、それぞれのフロアに入った時刻 出た時刻 7. 入店した店舗の入店時刻 退店時刻 8. 通路を歩いている時の状態 9. 歩行軌跡
-031-
02 研 究 方 法
状態について ここで、調査時において目的地がある状態と目的地がない状態をそれぞれ、A、B と表 記することとする。また、先に定義したように目的地がある状態のうち向かう先が出口の ものは、退店状態であり、C と表記するものとする。 立ち寄った店舗と店舗の間(通路を歩いている時)の状態を、次に述べる判断方法を基 準にし観察し、ABC の 2 状態に分類する。
また、これらの状態の判断は追跡時の対象者の行動からするものとし、基準は次のよう に定めることとする。 A:周りの店舗・商品に目をやらずに、前を見て、次の店舗へ向かう。 スタスタ、通過歩行、直行的な歩行 B:周りの店舗・商品に目をやったり、時には立ち止まったりする。 キョロキョロ、ブラブラ、ウィンドウショッピング、そぞろ歩き
-032-
02 研 究 方 法
追跡調査記入表 調査において利用した追跡調査記入表は図 2.2 の通りである。
!"#$%&'() *+
,-./'01
12
34
5*6 7*6 8*6 9*6 :*6 !;<=
>
=
!;<@A
;<BC@D
;<EF@D
?=
百貨店に入った時刻 出た時刻
!"#;<GH
!
I JKLMN@D
フ ロ ア に 入 っ た 時 刻 、 出 た 時 刻
利 用 し た フ ロ ア を 順 番 に 記 入
S S S S S S S S S S S S S S
"
S ! S " S # S $ S % S & S ' S ( S ) S !* S JKLT@D
MN@D
T@D
]M'^_ UV W.XY
OPQR/
入店した店舗の入店時刻、退店時刻 購入の有無
通路における行動 A:直行行動 B:回遊行動
I JKLMN@D
S S S S S S S S S S S S S S
#
S ! S " S # S $ S % S & S ' S ( S ) S !* S JKLT@D
T@D
]M'^_ UV W.XY
OPQR/
MN@D
T@D
]M'^_ UV W.XY
OPQR/
MN@D
I JKLMN@D
Z [ \
S ! S " S # S $ S % S & S ' S ( S ) S !* S JKLT@D
図 2.2 追跡調査記入表
-033-
02 研 究 方 法
歩行経路マップ 追跡時の歩行経路の記述シートと記入例は図 2.3 の通りである。
■記入例■
4
1
Excel Excelの記入フォームの店番号 (1∼10)を、フロアマップ上 (1∼ ∼10)を、フロアマップ上 に対応させて記入してください に対応させて記入し
3 2
図 2.3 歩行経路マップ
-034-
03 買い物行動の分析
03 買 い 物 行 動 の 分 析
3.1 調査対象者基礎データ ここでは買い物行動追跡調査により得られた買い物行動の基本的な特性を把握し、モデ ル化につなげる。 ターゲットセグメンテーション的ではないシチュエーション、状態を考慮したモデルを 作成するに際して調査データの属性的な偏りはなるべくないことが望ましく、そのことを 把握しておく必要がある。そのため、ここではまず調査対象者の属性などの基礎的なデー タの分布をみる。
男女構成比 男女構成比は男性 40.11%、女性 59.89%であった。
73 人 40.11% 男性
109 人
女性
59.89%
図 3.1 男女構成比
年代分布 年代分布は次の通りである。 ただし、追跡対象者の年代については、追跡 者の推定に依る。 11%
4% 4% 10代 23%
20代 30代
20%
40代 50代 60代 15%
23%
70代
図 3.2 年代分布
-036-
03 買 い 物 行 動 の 分 析
単独・グループ構成比とグループの内訳 買い物時に単独であったかグループであったかの構成比は図 3.3 の通りである。また、 グループで買い物をしていたものの、その属性の内訳は図 3.4 の通りである。およそ半数 がグループであった。 またグループ人数は、2 人ないし 3 人であった。 12%
18%
6% 45.5% カップル
55.5% 40%
18%
家族 親子
6%
同僚
グループ
夫婦
単独
友人
図 3.3 グループ・単独構成比
図 3.4 グループの内訳
調査時刻と調査人数 調査時刻とその時刻における調査人数は図 3.5 の通りである。 %" %!
人数(人)
$" $! #" #! " !
##&!!
#$&!!
#%&!!
#'&!!
#"&!!
#(&!!
#)&!!
#*&!!
#+&!!
$!&!!
時刻
図 3.5 調査時刻と調査人数の分布
以上追跡調査の属性などの基礎的データを見た来てたが、総じて大きく何か特定の属性 に偏ったようなデータではなく、広い多様に分布したデータを得る事が出来た。次から行 動特性を見ていく。
-037-
03 買 い 物 行 動 の 分 析
3.2 状態遷移 買い物客の買い物時の行動は 1.3 で定義した、目的地がある状態と目的地がない状態の 大きく二つの状態として考える。 目的地がある状態と目的地がない状態それぞれの状態がどのように出現し、どのように 変化するかを把握するために、立ち寄り店舗ごとに追跡対象者の状態記録した。そして、 今立ち寄った店舗の状態から次の店舗に向かう時の状態の遷移回数を分析した。 状態遷移の算出方法は図 3.6 の通りである。
No.
フロア
入り
出る
1
2F
13:16
13:25
B
2
2F
13:26
13:40
B
3
2F
13:41
13:50
B
4
3F
13:53
14:09
A
5
3F
14:10
14:23
A
6
3F
14:24
14:32
B
7
3F
14:33
14:40
B
8
1F
14:48
15:10
A
9
1F
15:11
15:31
A
10
1F
15:32
15:50
A
11
1F
15:51
16:02
C
A: 目的地ある状態 B: 目的地ない状態 C: 退店状態
遷移
状態
B から B B から B B から A A から A
集計
A から B
A から A…3 回
B から B
A から B…1 回
B から A
B から B…3 回
A から A
B から A…2 回
A から C…1 回
*
B から C…0 回 *)本モデルでは A と B のみの遷 移モデルを作成するため A から C B から C の二つについては算入しなかった。
A から A A から C
遷移回数
from
to
A(目的地ある状態)
B(目的地ない状態)
A(目的地ある状態)
3回
1回
B(目的地ない状態)
2回
3回
遷移確率
from
to
A(目的地ある状態)
B(目的地ない状態)
A(目的地ある状態)
3/4
1/4
B(目的地ない状態)
2/5
3/5
図 3.6 状態遷移確率の算出方法
-038-
03 買 い 物 行 動 の 分 析
目的がある状態からの遷移が 397 回、目的地がない状態からの遷移が 363 回観測された。 これをもとに状態の遷移について状態遷移確率を求めたところ、表 3.1 のようになった。 これをオートマトンモデルとして記述したものを図 3.7 に示す。
表 3.1 状態遷移確率表 from
to
目的地ある状態
目的地ない状態
目的地ある状態
0.620 (246/397)
0.380 (151/397)
目的地ない状態
0.253 (92/363)
0.747 (271/363)
0.253
0.620
目的地がある状態
0.747
目的地がない状態
0.380
図 3.7 状態遷移オートマトンモデル
同じ状態の出現がしやすい傾向にあった。 目的をまとまって済ませてから、施設内を目的をとくに持たずに散策する行動や、逆に 施設内をある程度散策してから、その中で目的を決定し、目的的に行動することが多く見 られたと考えられる。また、まとまって同じ状態が出現しやすい事から効率的に買い回っ ていることも考えられる。 目的地のない状態から目的地のない状態への遷移が特に多く見られ、一度目的地がない 行動になるとその状態のままに店舗を点々としていきやすいということが分かった。この 事は体験性を楽しむ行動につながる。また、逆に目的地がない状態から目的地がある状態 への遷移は少なく、このことからぶらぶらとしているような時から急に目的を思い出すよ うな行動はあまり見られないことが分かった。
-039-
03 買 い 物 行 動 の 分 析
3.3 入店時状態 次に買い物客の入店時の状態を分析した ( 図 3.8)。 入店時に目的地がある状態であるのは 78.2%、目的地がない状態であるのが 21.8%で あった。入店時には目的地をもっており、入店してすぐは周囲にあまり注意を向けずにど こかに直行して向かいやすい傾向がある事が分かった。
21.79% 入店時目的地がある状態 入店時目的地がない状態
78.21%
図 3.8 入店時の状態
このことはパコアンダーヒルが述べているランディングゾーン 1) ということにつながる。 ランディングゾーンとは入店してから様々な売り場までのゾーンを指し、外から入店し てきた買い物客がなじむための準備や調整をするゾーンのことである。このゾーンではほ とんどの買い物客が商品やサインを素通りしてしまう。 こうした行動から、このゾーンには売り場などは特に設けない事が有効であり、また、 目的地に向かうものが多い事からエレベーターやエスカレーターなどの異なったフロア の目的地に向かうための移動手段が用意されると効率的に到達する事が出来ると考えられ る。
1) 博報堂パコアンダーヒル研究会 小野寺健司・今野雄策編 :『ついこの店で買ってしま
う理由』, 日本経済新聞出版社 ,2007,7
-040-
03 買 い 物 行 動 の 分 析
3 . 4 入 店 時 状 態 と 立 ち 寄 り店舗数 3.3 での買い物客の入店時の状態と立ち寄り店舗数の関係を分析した。図 3.9、表 3.2 に 示す。 平均立ち寄り店舗数は入店時の状態が目的地がある状態のものは 4.81 で目的地がない状 態のものは 6.77 であった。また、有意差があるか検討 ( 有意水準 5% ) を行ったところ、 立ち寄り店舗数において有意差が見られた ( 表 3.3)。 25 入店時目的地がある
パーセンテージ(%)
20
入店時目的地がない
15 10 5 0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17
立ち寄り店舗数
図 3.9 入店時の状態別立ち寄り店舗数の分布
表 3.2 入店時の状態別平均立ち寄り店舗数 入店時状態
平均立ち寄り店舗数
目的地がある
4.81店(標準偏差:2.97)
目的地がない
6.77店(標準偏差:4.21)
*
*:α =0.05 で有意差が見られた 表 3.3 入店時の状態別立ち寄り店舗数の差の検定 z-検定: 2標本による平均の検定 入店時目的地あり 入店時目的地なし 平均
4.807142857
6.769230769
既知の分散
8.847430627
17.7611336
140
39
観測数 仮説平均との差異 z
0 -2.724571315
P(Z<=z) 片側
0.003219251
z 境界値 片側
1.644853627
P(Z<=z) 両側
0.006438502
z 境界値 両側
1.959963985
-041-
03 買 い 物 行 動 の 分 析
3.3 の結果と合わせると、入店時には目的地を持って来店する買い物客が多く、入店時 に目的地がない状態のものは立ち寄り店舗数が多いということが分かった。 初めから目的をもって来店しているものの多くは、その立ち寄り店舗数は少ない。これ は目的がはっきりしているものは目的のみを果たして退店する、もしくは例え目的地がな い状態に遷移したとしてもその後にはあまり立ち寄らないという行動をしていると考えら れる。 一方入店時に目的を持たないものは店舗内を回遊しながら、店舗に立ち寄り、その中で 時には目的を思いついたり、発見したりして店舗に立ち寄るなどの行動を行っているため 立ち寄り店舗数が多いのだと考えられる。
-042-
03 買 い 物 行 動 の 分 析
3.5 入店時状態と滞在時間 また、入店時の状態と滞在時間についても分析を行った。図 3.10、表 3.4 に示す。入店 時に目的地がない状態のものは平均 68.7 分であり、目的地のある状態のものは平均 54.0 分となっており、入店に目的地がないものの方が長い。また、有意差があるか検討 ( 有意 水準 5% ) を行ったところ、滞在時間において有意差が見られた ( 表 3.5)。 立ち寄り店舗数と同様に滞在時間にも入店時の状態が目的地がない状態のものが長いと いうことが分かった。 20 入店時目的地がある 入店時目的地がない
15
10
5
0
20
40
60
80
100
120
140
160
180
200
滞在時間 ( 分 )
図 3.10 入店時の状態別滞在時間の分布
表 3.4 入店時の状態別滞在時間の平均 入店時状態
平均滞在時間
目的地がある
54.0分(標準偏差:41.5)
目的地がない
68.7分(標準偏差:49.1)
*
*:α =0.05 で有意差が見られた 表 3.5 入店時の状態別滞在時間の差の検定 z-検定: 2標本による平均の検定 入店時目的地あり 入店時目的地なし 平均
54.03571429
68.71794872
既知の分散
1725.387205
2412.418354
140
39
観測数 仮説平均との差異 z
0 -1.704690702
P(Z<=z) 片側
0.044126062
z 境界値 片側
1.644853627
P(Z<=z) 両側
0.088252125
z 境界値 両側
1.959963985
-043-
03 買 い 物 行 動 の 分 析
3 . 6 状 態 別 立 ち 寄 り 店 舗 間距離 歩行経路において歩行時の状態、立ち寄った店舗と店舗の間の距離を求め、その時の 状態との関係を分析した。立ち寄り店舗間距離の求め方を図 3.11 に示す。なおこのデー タに関してはフロアマップより読み取る事の出来た同一フロアでの移動における買い物に おいてのみ分析を行った。 その結果各状態と距離の関係は表 3.6 の通りになった。また、相対的なばらつきを見る ために変動係数を求めた。有意差の検定を行ったところ、有意水準 5%で立ち寄り店舗間 距離に有意差が見られた ( 表 3.7)。
A d2
d1
立ち寄った店舗を A,B とすると 立ち寄り店舗間距離は次式にて表される。 DAB=Σdn
d3
B d4
図 3.11 立ち寄り店舗間距離の求め方
表 3.6 状態別立ち寄り店舗間距離の平均と変動係数
平均店舗間距離
変動係数
目的地がある状態
53.10m (標準偏差:31.19)
目的地がない状態
36.19m (標準偏差:14.13)
0.59
*
0.39
*:α =0.05 で有意差が見られた 表 3.7 立ち寄り店舗間距離の差の検定 z-検定: 2標本による平均の検定 目的地がある状態 平均 既知の分散 観測数 仮説平均との差異
目的地がない状態
53.102535
36.18982813
1024.131696
205.9721469
20
32
0
z
2.227609322
P(Z<=z) 片側
0.012953289
z 境界値 片側
1.644853627
P(Z<=z) 両側
0.025906579
z 境界値 両側
1.959963985
-044-
03 買 い 物 行 動 の 分 析
目的地がある状態時の方が立ち寄り店舗間距離が長く、また、変動係数の値からばらつ きが大きいことが分かった。目的の買い物を果たすためには距離とは関係なく店舗と店舗 を移動するためであると考えられる。一方目的地がない状態の時には、立ち寄る店舗選択 の理由に距離という要素がより関係しており、近くの店舗に立ち寄りやすい事が考えられ る。
-045-
03 買 い 物 行 動 の 分 析
3.7 状態別フロア移動回数 買い物客が各状態の時においてフロア移動を行う回数をみた。分析は各状態が現れた 対象者についてのみ行った。結果は図 3.12、表 3.8 の通りである。目的地がある状態での フロア移動を行う回数が、平均 1.49 回であり、目的地がない状態では平均 0.92 回であった。 有意差の検定を行ったところ、有意水準 5%での有意差が見られた ( 表 3.9)。
50
目的地がある状態 パーセンテージ(%)
40
目的地がない状態
30 20 10 0
0
1
2
3
4
5
6
7
フロア移動回数
図 3.12 状態別フロア移動回数
表 3.8 状態別平均フロア移動回数
目的地がある状態 目的地がない状態
平均フロア移動回数 1.49回 (標準偏差:1.23) 0.92回 (標準偏差:1.19)
*
*:α =0.05 で有意差が見られた 表 3.9 フロア移動回数の差の検定 z-検定: 2標本による平均の検定 目的地がある状態
平均 既知の分散 観測数 仮説平均との差異 z
目的地がない状態
1.485875706
0.920863309
1.5173903
1.4067355
177
139
0 4.132528433
P(Z<=z) 片側
1.79397E-05
z 境界値 片側
1.644853627
P(Z<=z) 両側
3.58794E-05
z 境界値 両側
1.959963985
-046-
03 買 い 物 行 動 の 分 析
目的地がある状態の時はフロア移動を行いやすいのに対し、多くの場合に他のフロアを 選択し、同一フロア内での買い回り行動は 17.5%であった。また、42.9%が一度のフロア 移動を行っていた。このことから目的地がある状態の時には目的を果たすために積極的に フロア移動を行う傾向が強い事がわかった。一方目的地がない状態では 44.6%という約 半数が同一フロアにある店舗に立ち寄り、同一フロア内での買い回りを行いやすい事が分 かった。近くのものを見て興味があると立ち寄るような行動が多いためだと考えられる。
-047-
03 買 い 物 行 動 の 分 析
3.8 状態別移動フロア数 次に各状態時においてフロア移動を行った時の移動フロア数をみた。結果は図 3.13、 表 3.10 の通りである。目的地がある状態での移動フロア数は平均 3.37 フロアであり、目 的地がない状態では平均 1.99 フロアであった。また、状態別に有意差があるか検定を行っ たところ有意水準 5%での有意差が見られた(表 3.11)。
パーセンテージ(%)
60
目的地がある状態 40
目的地がない状態
20
0
1
2
3
4
5
6
7 8 9 10 11 12 13 14 移動フロア数(階)
図 3.13 状態別移動フロア数
表 3.10 状態別平均移動フロア数
目的地がある状態 目的地がない状態
平均移動フロア数 3.37階 (標準偏差:2.48) 1.99階 (標準偏差:1.69)
*
*:α =0.05 で有意差が見られた
表 3.11 移動フロア数の差の検定
z-検定: 2標本による平均の検定 目的地がある状態
平均 既知の分散 観測数 仮説平均との差異 z
目的地がない状態
3.372623574
1.9921875
6.15833164
2.13379675
263
128
0 6.894772748
P(Z<=z) 片側
2.69751E-12
z 境界値 片側
1.644853627
P(Z<=z) 両側
5.39502E-12
z 境界値 両側
1.959963985
-048-
03 買 い 物 行 動 の 分 析
目的地がある状態の時には多くのフロア数を移動しながら買い回り、目的地がない状態 においては 57.0%が 1 フロアのみの移動であり、隣のフロアを非常に選択しやすい特性が ある事が分かった。 3.7 と合わせて考えると目的地がある状態の時には約 82.5%がフロア移動を行い、フロ ア移動する際には移動するフロア数も大きい。これは目的が同一フロアにある時以外は特 に他に興味を持たずに目的地に向かい、最短での買い回るという行動特性が見られるため だと考えられる。 一方目的地がない状態の時には約 44.6%が同一フロアの店舗に立ち寄り、もしフロア移 動をしても上下の 1 フロアが多い。これは目的地がない状態の時には回りに影響を受け、 大きな移動をするという行動が見られず空間の流れに沿って買い回るという行動特性が見 られるためだと考えられる。
-049-
03 買 い 物 行 動 の 分 析
3 . 9 買 い 物 行 動 追 跡 調 査 のまとめ 目的地がある状態と目的地がない状態の二つで行動特性について以上のような分析を 行った結果それぞれに差が見られ、これらの状態別の行動特性を把握することが出来た。 つまり、二つの状態に関してモデル化を行う事の妥当性を示す事が出来た。 立ち寄る店舗に関しては、目的地がある状態の時は店舗間距離に依存せずに目的店舗 へ向かうが、目的地がない状態の時は近い店舗に立ち寄りやすい特性がみられる。立ち寄 り店舗数に関しては入店時に目的地がある状態の時は目的的な買い物が多く見られた。ま た初期状態が非常に大きな影響を与えるということが分かった。入店時状態の割合は目的 地がある状態の方が大幅に高く、立ち寄り店舗数は初期状態が目的地がない状態の方が、 初期状態が目的地がある状態よりも多く、また滞在時間も長い。目的地がない状態の時は 同一フロア移動しやすく、フロア移動をしても 1 フロア分の移動が多い。 総じて目的地がある状態の時には大きな移動を行う行動特性が見られたが、買い物客ご とにその目的が異なるため、それぞれ効率を求め、最短的に買い回っており、周りの環境 に影響を受けるような定まった傾向というものは見られにくいということが分かった。そ れに対して目的地がない状態の時には立ち寄り店舗間距離やフロア移動などの特性にも見 られる様にあまり大きな移動をせず、移動時に距離やフロア数に影響を受けるような行動 特性が見られた。 これらの分析を通して得た知見をふまえ次のモデル化の検討を行う。
-050-
04 モデル化
04 モ デ ル 化
4.1 状態別行動のモデル化 前章の分析から得た知見をもとにモデル化を行う。これまで述べてきたように日常的な 買い物行動は複雑であるが、目的地がある状態と目的地がない状態の大きな二つの状態と 捉えることでその糸口が見える。 ここでそれぞれの状態に対して行動を整理し、以下の通りに要素を抽出し買い物行動を 抽象化する。 a. 買い物客は店舗に立ち寄る毎に目的地がある状態と目的地がない状態を遷移する。そ の遷移確率は 3.2 で導いたオートマトンモデルに従う。 b. 入店時の状態は 3.3 での確率分布に従う。 c. 立ち寄り店舗数は入店時の状態により定まり、3.4 で結果の平均値、標準偏差に従う。 d. 目的地がある状態時には各自が目指す目的地を設定し、そこへは最短経路で向かう。 e. 目的地がない状態時には 3.6 での立ち寄り店舗間距離を閾値として扱い、その範囲
内の店舗に立ち寄る。 f. 目的地がない状態時のフロア移動は 3.7 の割合で行い、3.8 の結果より 1 フロアのみの 移動とした。 g. 設定した立ち寄り店舗数を全て満たした後は退店状態に遷移し目的地を出口に設
定し、退店する。
-052-
04 モ デ ル 化
4.2 採用モデルの検討 4.2.1 人間のモデル シミュレーションモデルを作成するにあたり、1.2.5 でも述べたように様々な人間のモ デルと空間のモデルがあるが、その中から適したものを選択する必要がある。 人間のモデルに関しては、前節のような行動モデルを扱う上では群衆型としてしまうと それぞれの買い物客の違いをうまく表現する事が出来ない。多人数がそれぞれ異なった動 きを示し、さらに意思決定を行い、状態遷移を行う本論で示したい日常的な買い物行動を 扱う際には個別に動く必要がある。本モデルではそうしたことの表現により適しており、 離散的な処理を扱い、個人個人のデータを扱う事が出来る個人型モデルを採用する事とす る。
-053-
04 モ デ ル 化
4.2.2 空間のモデル 一方空間のモデルであるが、人間のモデルにおいて個人型を採用した際にはほとんどの ケースにおいて座標型やメッシュ型が用いられてきた。それは個人型への詳細な行動モデ ルや人体スケールなど組み込む事に対し、通路幅であったり、人の制御であったり、空間 のより細部の検討などが行われてきたためである。 しかし本論で扱いたいところは企画や計画の初期段階のまだ、細部のデザインが確定し ていないような状況で計画案がいくつかある上での案の比較検討や評価にも応用できるよ うなモデルであり、細部のデザイン検討などとは目的を異としており、座標型やメッシュ 型ではその検討に対して適切ではない。また、対象空間を大規模商業施設としている以上 コンピューターの処理能力の制約も考慮する必要がある。 さらに、大規模商業施設の日常的な買い物行動を扱う際には、ある店舗のみであったり、 あるフロアのみであったりするような個別個別の空間として考えるのではなく、商業施設 全体構成での評価というものが必要となっており、本モデルにおいてはそうしたことの検 討に対して非常に卓越しているネットワーク型を採用する事とする。 ネットワーク型モデルを採用する上で、ノードを定める必要があるが、本モデルでは店 舗、垂直動線をまずはノードとして扱い、その後必要な通路部分に対し、ノードを設けつ ながりをリンクで繋げていていく事とした。 リンクで繋げるルールとして、平面的に直接通行できる場合は繋げるが、壁や吹き抜け などがある場合には繋げないこととした。垂直動線についてはその上下階の繋がっている ノードをリンクで繋げた。エスカレーターの用に向きが定まっている場合はその向きも考 慮する。つまり、実際に行動が出来るところのみをリンクで繋げたものである ( 図 4.1)。
064 065 084
063
070 066 073
082 061
046 074 047
058 080
057
050
075
077
051
068
055
071
052
076
056
079 072
048
049
060 081
059
069
067 045
062
083
078 05 4
053
017 018 041
070
069
016
023
067 019 026 020 002
022
038
039
003
013 037
014
042
027 000
015
040
036
043 028 029
004
005 030 006
044 031
007 032
001 035
012
068 011 021
071
072 025
034
010
024 033 00 9
008
図 4.1 空間モデルの考え方
-054-
04 モ デ ル 化
4.2.3 状態のモデル 人間のモデル、空間のモデルに加え、本モデルにおいては目的地がある状態と目的地が ない状態といったような状態を扱いたいので状態のモデルを考慮する必要がある。この状 態のモデルにはオートマトンモデルを採用する。 本モデルの状態は 3.2 での結果に従う。この状態を考慮する際には 1.2.5 でも述べたよう に、入力という概念が必要である。本論の扱うような日常的な買い物行動では、状態遷移 の入力として考えられるのが、買い物客自らの内的な欲求の変化である。買い物時の内的 な欲求の変化、つまり達成条件として挙げられるのは例えば、何か買いたいものがある・ 何か見たいものがあるなどといったような欲求が、欲しいものを手にしたり見たりする事 で満足することであったりする。また、逆に何も欲しいものがないような時に、ふと思い 出して買いたいという欲求に変化したりする事である。 その欲求が変化する原因は商業施設内には様々存在する。例えば、店舗、POP などの 広告、音楽、香り、他人の買い物…などである。 詳細を取り上げればいくらでも存在するが、本モデルにおいてこれらを抽象化して扱う 際に単純に外部からの判断が最も明快で、その内的欲求が最も変化しうると考えられる各 店舗の立ち寄りという達成条件であり、この店舗に立ち寄るということをもって、入力と し、状態遷移を行うオートマトンモデルとする。
-055-
04 モ デ ル 化
4.3 アルゴリズムの構築 4.3.1 買い物行動全般 以上を踏まえ、シミュレーションにつなげるためにアルゴリズムを構築する。 これまで述べてきたような買い物行動モデルを記述するにあたり、入店から退店までの 流れの本モデルの概念図を図 4.1 に示す。これらの流れに加え、次項から示す各状態に応 じた行動アルゴリズムを組み込み、買い物行動モデルの作成を行う。
入店 入店時の状態や立ち寄り 店舗数が決定。
店舗 2
店舗 3 店舗n
店舗 1 経路選択 平面移動 垂直移動
目的地設定→経路選択→目指す→到着→状態変化→目的地設定→… を立ち寄り店舗数のある限り繰り返す。
全ての立ち寄り店舗数を 巡ったら帰宅。
退店
図 4.2 本モデルの概念図
-056-
04 モ デ ル 化
4.3.2 目的地がある行動 目的地がある行動のアルゴリズムは以下の通りである ( 図 4.3)。
初 期 値 設 定 処 理 は 3.3、3.4 で の 入店
結果を用い、その値を定める。 目的地を決める処理は乱数を用
初期設定処理
い、node の中から店舗情報を持つ
入店時状態の設定 入口の設定
ものを選択する用に定める。 状 態 遷 移 モ デ ル は 3.2 で の オ ー
入店時状態に合わせたラ
トマトンモデルに従う。
イフ設定
状態チェック
目的地がある 状態
waypoint ある? no
no
waypoint到着?
状態チェック へ
目指す
yes
目的地を決める
そのwaypointは目
処理
的地?
そのwaypointは垂
no
直動線?
yes
waypoint 決める処理
yes
最も近いnodeを見つける
その点から目的地まで の最短ルートを取得
目指す
waypoint 決める処理
yes フロアを移動
waypoint初期化
状態チェック へ
waypoint
ライフ−1
ライフ0?
no
決める処理
no
退店状態へ
状態チェック へ
yes 状態チェック へ
状態遷移モデル
目的地がある状態へ
目的地がない状態へ
図 4.3 目的地がある行動のアルゴリズム
-057-
04 モ デ ル 化
4.3.3 目的地がない行動 目的地がない行動のアルゴリズムは以下の通りである ( 図 4.4)。
初 期 値 設 定 処 理 は 3.3、3.4 で の 結果を用い、その値を定める。
入店
閾 値 内 の 店 舗 は あ る? の 処 理 に 初期設定処理
お い て、 そ の 閾 値 は 3.6 で の 立 ち
入店時状態の設定 入口の設定
寄り店舗間距離を用いる。 同 じ フ ロ ア? の 処 理 で は 3.7 の
入店時状態に合わせたラ
結果より、移動する割合を定めた。
イフ設定
また、移動数は 3.8 より 1 とした。 状 態 遷 移 モ デ ル は 3.2 で の オ ー
状態チェック
トマトンモデルに従う。
目的地がない 状態
waypoint
yes
waypoint到着?
ある?
no
同じフロア?
最も近い垂直動線を決定
no
そのwaypointは目
no
そのwaypointは垂
的地?
直動線?
yes
yes 退店状態へ
状態チェック へ
目指す
yes
no 目的地と
no
閾値内に
waypoint
店舗はある?
決める処理
no
waypoint 決める処理
yes
waypoint初期化
フロアを移動
状態チェック へ
yes 閾値内の店を目的地設定
waypoint 決める処理
状態チェック へ
閾値内に店舗
ライフ−1
ライフ0?
はある?の処理へ
no
no
退店状態へ
yes 状態チェック へ
状態遷移モデル
目的地がある状態へ
目的地がない状態へ
図 4.4 目的地がない行動のアルゴリズム
-058-
04 モ デ ル 化
4.3.4 退店行動 退店行動のアルゴリズムは以下の通りである ( 図 4.5。
状態チェック
退店状態
yes
waypointある? no
waypoint到着
yes
出口を決める
そのwaypointは出
処理
口? yes
出口と同フロア?
no
最も近い垂直動線を決定
no
no
状態チェック へ
目指す
そのwaypointは垂 直動線?
no
waypoint決める 処理
yes フロアを移動
yes waypoint
waypoint
出口と同じ
決める処理
決める処理
フロア?の処理へ
状態チェック へ
状態チェック へ
自分を消す。
退店
図 4.5 退店行動のアルゴリズム
-059-
04 モ デ ル 化
4 . 3 . 5 ア ル ゴ リ ズ ム に ついて 前項まで 3 つの行動に対してそれぞれのアルゴリズムを示した。 4.3.2 と 4.3.3 での初期設定処理においては 3.3 で導いた、入店時状態の割合を用いた。 また、ここでのライフとは立ち寄り店舗数を示しており、その値は入店時の状態に合わせ、 3.4 で述べた、分布に従い与える。 また、最短ルートの算出に関しては、ダイクストラ法
1)
を用いた。ダイクストラ法とは
ネットワーク上の全ての最短経路を解析するアルゴリズムである。ネットワーク上に n 個 の node を定めたとすると全ての node から node までの最短経路は n(n-1) 通り存在する事 となる。それら全ての組み合わせにおける始点と終点の経路を求める事が出来る。このダ イクストラ法は計算手順として非常にコンピューターの能力を必要とするため、あらかじ め最短経路の計算を行ってからその値を取得する形で最短経路での買い物を果たす事とし た。 waypoint とは、目的地とは別の通過点であり、ダイクストラ法により求めた最短ルー トでの経路を取得し格納したものである。 4.3.2 での目的地を決める処理は乱数を用い、4.3.3 での閾値の設定は 3.6 での立ち寄る店 舗間距離の分布に従う。
1) 日本建築学会編 :『建築・都市計画のためのモデル分析の手法』, 井上書院 ,1992.7 に詳しい。鉄道 の路線検索などに用いられているアルゴリズムである。
-060-
05 シミュレーション
05 シ ミ ュ レ ー シ ョ ン
5.1 シミュレーション概要 これまでの成果をを用いてシミュレーションを行う。 シミュレーション環境にはマルチエージェントシステムによるシミュレーションを行う 事が可能な構造計画研究所による「artisoc academic 2.0」 1)を用いた。 マルチエージェントシステムとはこれまでの流動的なモデルであるシステムダイナミク スのようなトップダウン方式で機能を管理し、結果を吸い上げ、 その結果の総和をシミュ レーション結果として出力する線形的なものとは異なり、それぞれのエージェントと呼ば れる主体性をもち自律的に行動するものがそれぞれの相互関係を持ってボトムアップ方式 で全体に反映するシステムの事をいう。 artisoc academic 2.0 では描画機能も充実し、ネットワーク空間を作り出すことも可能 であり、本モデルに適していると考え採用した。 本モデルでは空間のエージェントである node と人間のエージェントである customer をそれぞれ定めた。 node は位置情報を持っており、定位なものとした。そして、その特性として、店舗の 特性と垂直動線の特性と通路の特性を与えた。
赤が買い物行動をして い る customer で 緑 が 帰 宅 中 の customer で 青 が node を示している。
図 5.1 シミュレーション画面
1) 詳しくは構造計画研究所 HP(http://mas.kke.co.jp/index.php) を参照されたい。
-062-
05 シ ミ ュ レ ー シ ョ ン
ま た、customer は、node 間 を 動 く も の と し た。customer エ ー ジ ェ ン ト に は 4.3 で 述 べ た ア ル ゴ リ ズ ム を 与 え る が、 こ こ で artisoc academic 2.0 に 搭 載 す る 際 に 必 要 な customer の歩行速度についての検討を行う。歩行速度の一覧を表 5.1 に示した。 以下の表より、本モデルにおいては歩行速度は 1m/s を扱う事とする。
表 5.1 歩行速度一覧 ランク
100ー
90ー100
80ー90
70ー80
60ー70
50ー60
40ー50
1)
項目
出展
早足の歩行速度
建築資料集成
歩行速度(m/分) 150
歩行速度(m/s) 2.50
自由歩行速度の上限
歩行者の空間
140
2.33
早い歩行速度
建築資料集成
120
2.00
出勤で急いでいる人
サブナード:出勤時(実測)
110
1.83
青年の歩行速度
Research on Road T.
107.3
1.79
男:55歳未満
Research on Road T.
98.7
1.65
ヘンダーソン観察男子の歩行速度
国際交通シンポジウム
96
1.60
出勤時OLの歩行速度
歩行の科学
92
1.53
通勤時大学生の歩行速度
駅からキャンパス(実測)
91.8
1.53
男:15ー40歳、平均の自然歩行速度
歩行の科学
91
1.52
男:55歳以上
Research on Road T.
90.7
1.51
遅くも無く早くも無い速度
サブナード:出勤時(実測)
90
1.50
ヘンダーソン観察女子の歩行速度
国際交通シンポジウム
85.8
1.43
並足の歩行速度
建築資料集成
84
1.40
踏み固められた土の上の歩行速度(女子学生)
歩行の科学
83
1.38
女:50歳未満の歩行速度
Research on Road T.
82.7
1.38
出勤時の歩行速度
新宿西口地下道(実測)
82.6
1.38
男子歩行速度
バスターミナル・鉄道駅:NY
81
1.35
男子平均歩行速度
歩行者空間の研究
81
1.35
ゆったりとした速度
サブナード:出勤時(実測)
80
1.33
一般通勤・通学時の歩行速度
歩行の科学
80
1.33
全体の歩行速度
バスターミナル・鉄道駅:NY
79.5
1.33
男女平均の歩行速度
歩行者空間の研究
79.5
1.33
女:50歳以上の歩行速度
Research on Road T.
77.3
1.29
コンクリートの上の歩行速度(女子学生)
歩行の科学
77
1.28
女子の歩行速度
歩行の科学
76
1.27
女子の歩行速度
バスターミナル・鉄道駅:NY
76
1.27
一般の男子の歩行速度
歩行の科学
75
1.25
50歳後半の自然歩行速度
歩行の科学
73
1.22
退社時のOLの歩行速度
歩行の科学
71
1.18
子供:6ー10歳の歩行速度
Research on Road T.
67.1
1.12
男子の60歳後半の歩行速度
歩行の科学
64
1.07
ハイキング時の歩行速度
歩行の科学
60
1.00
買い物かごを持った主婦の歩行速度
歩行の科学
60
1.00
遅い歩行速度
建築資料集成
60
1.00
70歳後半の歩行速度
歩行の科学
55
0.92
ベビーカーを押しながらの歩行速度
歩行の科学
55
0.92
自由歩行速度の下限
歩行の科学
45
0.75
小児を連れた婦人の歩行速度
Research on Road T.
42.9
0.72
群集状態で最も流動量の多い流れの速度
国際交通シンポジウム
40
0.67
1) 高柳英明 : 群衆力学に基づく歩行行動モデル , 早稲田大学理工学部研究科建築学専攻博士論文 ,2008 年度 より
-063-
05 シ ミ ュ レ ー シ ョ ン
5.2 検証 5.2.1 検証用調査 本シミュレーションモデルを構築した後、そのモデルの精度を測るために検証を行った。 検証に際して、その精度を空間のモデルとしてネットワーク型モデルを用いた場合 回遊行動特性を示したもの
2)
1)
や
の検証には一般的である通過人数との比較による検証を行う
事とした。
検証用のデータとして東京都の複合商業施設であるアーバンドック ららぽーと豊洲に て行った。非常に大規模でさらに垂直動線も複雑であるこの施設は本モデルの検証に適し ており、選定した。 まず、モデルにおける出入り口の設定と入店者数の初期値を定めるため、出入り口 10 カ所での買い物客の出入りをカウントした。 また、それと同時に行った通過人数の調査は、施設内の任意の 22 点で行い、通路に立 ちカウントをした。詳細は図 5.2 に示す。 調査は混雑の影響を避けるために平日に行い、また、時間帯は施設への到着が午前中と 夕刻にピークを迎えると言われている 3) が、より日常的で定常的なデータを得たかったた め 13 時∼ 14 時と 14 時∼ 15 時の二回に分けて行った。 調査概要は以下の通りである。
場所:アーバンドック ららぽーと豊洲 ( 店舗面積:62000m 2) 日時:2008 年 12 月 11 日 ( 木 ) 13 時∼ 15 時 対象:調査場所の全買い物客 内容:施設内出入り口 10 カ所での 5 分間の買い物客の出入り ( 初期人数把握のため ) 施設内任意の 22 点での 5 分間の通過人数 ( 検証用比較データ )
1) 例えば 池内健 :web ネットワークが街の通行に与える影響に関する研究 , 渡辺仁史研究室卒業論 文 ,2007 年度 2) 例えば 加納征子 : 駅周辺の歩行者の回遊行動特性に関する研究 , 渡辺仁史研究室修士論文 ,2000 年 度 3) 日本建築学会編 :『建築設計資料集成[人間]』, 丸善 , 2003.1.31 より
-064-
05 シ ミ ュ レ ー シ ョ ン
屋上駐車場より
屋上駐車場より
屋上駐車場より
3F
2F 地下駐車場より
地下駐車場より
通過人数測定箇所 出入り人数測定箇所 地下駐車場より
1F
垂直動線
図 5.2 検証用データ測定箇所
-065-
05 シ ミ ュ レ ー シ ョ ン
5.2.2 検証用空間の作成 また、シミュレーション用に上記空間のネットワークモデル化を行った。モデル空間を 作成するにあたり、図 5.3 のように node エージェントを配置した。全 335 個の node エー ジェントであった。
3F
2F
数字はそれぞれの node エージェントの ID を示し ている。
1F
通過人数測定箇所
図 5.3 検証用モデル空間
-066-
05 シ ミ ュ レ ー シ ョ ン
5.2.3 出入り口の検討 検証のシミュレーションを行うにあたり、出入り口データについて検討する。出入り口 での入店退店人数の調査結果は表 5.2 の通りである。
表 5.2 出入り口での入店退店人数 対応nodeのID 入店1回目 入店2回目 退店1回目 1
47
58
94
4
103
2
退店2回目 入店平均
35
33
18
2
3
7
退店平均
52.5
46.5
21
11
10
7
2.5
5
106
0
6
0
4
3
3
117
13
1
17
7
7
9
138
0
0
0
2
0
0
143
1
5
6
2
3
5.5
311
7
0
5
5
3.5
2.5
332
11
0
11
0
5.5
5.5
335
4
9
9
10 合計
6.5
9
94.5
96
入店平均値は 5 分間で 94.5 人であり、つまり、1 秒間に 0.315 人の割合で入店している 事となる。これより、本検証モデルではこの値を用い検証を行う事とする。到着頻度の乱 数として、ポワソン分布を用いた。ポワソン分布とは所与の時間間隔で発生する離散的な 事象を数える特定の確率変数 N を持つ離散確率分布であり、待ち行列理論などの到着頻 度で用いられる。 また、入店の配分として、表 5.3 のような配分で行う事とした。 表 5.3 入店人数の分配割合 対応nodeのID 入店割合 1
55.56%
94
11.64%
103
2.65%
106
3.17%
117
7.41%
138
0.00%
143
3.17%
311
3.70%
332
5.82%
335
6.88%
-067-
05 シ ミ ュ レ ー シ ョ ン
また、出入り口の行動に関して、入店時と退店時には同じ出入り口を使うといういのし し口
1)
という行動特性は明らかにされてきたが、ここで改めて先のデータを用い、その行
動特性について検討を行う。そのため、表 5.2 での入店退店の平均値の相関関係をみた。 その結果を図 5.4 と表 5.4 に示す。 スピアマンの順位相関係数検定の結果、相関係数が、0.89 と非常に高かった。このこと より、同一の入口と出口を選択している傾向が高い事が考えられる。よって本モデルにお いてもいのしし口を採用し、入店した入口から退店するという行動を取り入れる事とする。
60
50
退店人数
40
30
20
10
5分間の入店退店者数
0 0
10
20
30
40
50
60
入店人数
図 5.4 出入り口における入店人数と退店人数の比較
表 5.4 入店人数と退店人数の相関の検定 スピアマン順位相関係数検定 順位の差の2乗和
18
相関係数rs
0.89090909
Z値
2.67272727
P値(下側確率)
0.99623813
同順位補正相関係数
0.88991242
同順位補正Z値
2.66973725
同順位補正P値(下側確率)
0.99620447
同順位の数
3
Z(0.05)
-1.64485362
データ数
10
相関係数rsの有意点 片側(p<0.025) 両側(P<0.05)
0.648
片側(P<0.005) 両側(P<0.01)
0.794
1) 新建築学体系編集委員会編 :『環境心理 , 新建築学大系 11』, 彰国社 , 1982
-068-
05 シ ミ ュ レ ー シ ョ ン
5.2.4 検証 以上のようにモデル空間の設定、出入り口の設定を行いシミュレーションを行った。 シミュレーションでの 1step を 1 秒として捉え、買い物客の広がりを考慮するため、シ ミュレーション開始から 700step から 1000step までの 300step、つまり 5 分間の値での 通過人数を比較した。 シミュレーションは乱数の偏りによる誤差の範囲を考慮し 10 回行い、平均値を求めた。 検討箇所は前述の通り 22 点で行い、実測値は二回の平均値をその点における通過人数 とした。結果を表 5.5、図 5.5 に示す。
表 5.5 実測平均値とシミュレーション平均値 対応nodeのID 実測平均値
シミュレーション平均値
83
69.5
61.4
85
37.5
15.1
111
79.5
84.1
137
48
47.4
200
34.5
16.2
203
33
23.9
212
89
69.9
221
42
24.6
235
62.5
66.5
250
8.5
4.5
252
74
49.9
253
41.5
27.4
254
43
62.8
255
45
34.4
257
22
10.5
324
30.5
23.1
301
40.5
20
309
57.5
33.6
321
30.5
26
326
19
17.6
332
29.5
44.2
335
31.5
11.1
-069-
05 シ ミ ュ レ ー シ ョ ン
また、これらの相関の検定を行った。通過人数は値が箇所によって異なり、その分布の 仮定が行えない事から、相関係数に関してはノンパラメトリックな指標、すなわち 2 つの 変数の分布について何も仮定せずに、変数の間の関係が任意の単調関数によってどの程度 忠実に表現できるかを、評価することのできるスピアマンの順位相関係数を用いた。 その結果相関係数は 0.816 となり、非常に高い相関がある事が分かった。 これにより、本モデルの精度を示す事が出来た。 90 80 70
シミュレーション値平均
60 50 40 30 20
5分間通過人数
10 0
0
10
20
30
40
50
60
70
80
90
実測値平均
図 5.5 実測平均値とシミュレーション平均値の比較
表 5.6 実測平均値とシミュレーション平均値の相関の検定 スピアマン順位相関係数検定 順位の差の2乗和
326.5
相関係数rs
0.81564088
Z値
3.73773608
P値(下側確率)
0.99990716
同順位補正相関係数
0.81558885
同順位補正Z値
3.73749764
同順位補正P値(下側確率)
0.99990707
同順位の数
1
Z(0.05)
-1.64485362
データ数
22
相関係数rsの有意点 片側(p<0.025) 両側(P<0.05)
0.425
片側(P<0.005) 両側(P<0.01)
0.544
-070-
05 シ ミ ュ レ ー シ ョ ン
5.3 ケーススタディ 5 . 3 . 1 ケ ー ス ス タ デ ィ 概要 以上のモデルを用いてケーススタディを行った。以下のような 4 タイプの商業施設の典 型的なプランについてのケーススタディである。 case1
2-6F
1F 10m
064
065
066
067
084
062
060
058
083
082
081
080
063
061
059
057
056
079
070
072
069
071
073
045
046
048
050
052
074
075
076
077
047
049
051
015
013
001
038
037
035
078
図 5.6 case1 平面図
068
055
054
053
2-6F
017 040 018
041
016
039
014
036
012
023 042
020
1F
026
002
034
021
010
025 043
044
022 019
011
024 003
028
005
031
027
029
030
000
004
006
007 032 008
033
009
店舗 垂直動線 出入り口 図 5.7 case1 ネットワーク図 -071-
05 シ ミ ュ レ ー シ ョ ン
case2
2-6F
1F 10m
図 5.7 case2 平面図 071 062
082 063
072
081
080
061
058
068
079 055
064
083
078
054
065
084
077
053
066 073 067
045
047
050
074
075 048
046
2-6F
049
069
039 016 017 018
051
025 001
013
038
037
035
014
036
012
042
043
044
040 041
019 026 020
052 076
070
024 015
1F
057 056
059
060
002
003
028
005
027
029
030
000
004 022
011
034 010 033
009
032
008 007
031
006 023
021
店舗 垂直動線 出入り口 図 5.8 case2 ネットワーク図
-072-
05 シ ミ ュ レ ー シ ョ ン
case3
3F
2F
1F
図 5.9 case3 平面図
10m 198
203
202
201
200
199
244
243
242
241
240
197
196
195
194
193
192
238
237
236
235
234
233
191
3F
165
209
166
210
211
212
213
167
168
169
170
117
116
115
114
113
162
161
160
159
158 121
118
2F
079
127
039
040
051
003
004
228 227
222
223
224
225
226
179
180
181
182
183
100
216
217
218
219
220
171
172
173
174
175
176
177
112
111
110
109
108
107
106
105
104
103
102
101
157
156
155
154
153
152
151
150
149
148
147
146
164
126
125 123
145
163 124
120 143
144
093
094
095
096
097
024
023
002
022
066
065
064
021
130
131
132
133
134
135
136
137
138
139
083
084
085
086
087
088
089
090
091
092
034
033
032
031
030
029
028
027
026
025
074
073
072
071
069
068
067
043
044
045
046
050
058
059
062
063
016
017
052
053
005
006
035 075
047
041
042
054
055
056
007
008
048
009
077
057
070 078 049
010
011
012
013
014
015
店舗
061
060
098
142
082
076
099
141
129
036
184
140
081
037
185
178
128
038
186
206
221
122
000
1F
187
229
215
119
080
188
230
208
214
205
189
231 232
239 207
204
190
018
019
020
垂直動線 出入り口
001
図 5.10 case3 ネットワーク図 -073-
05 シ ミ ュ レ ー シ ョ ン
case4
3F
2F
1F
図 5.11 case4 平面図
10m 198
204
3F
165
203
202
201
200
199
244
243
242
241
240
209
246
205
166
211
212
213
167
168
169
170
117
116
115
114
113
162
161
160
159
158 121
118
2F
079
127
039
040
051
003
004
194
193
192
236
235
234
233
191
190
189
188
187
231
230
229
228
207
221
222
223
224
225
226
179
180
181
182
183
100
215
216
217
218
219
220
171
172
173
174
175
176
177
112
111
110
109
108
107
106
105
104
103
102
101
157
156
155
154
153
152
151
150
149
148
147
146
164
126
125 123 245
163
145
124
120 142
143
144
093
094
095
096
097
024
023
002
022
066
065
064
021
132
133
134
135
136
137
138
139
081
082
083
084
085
086
087
088
089
090
091
092
034
033
032
031
030
029
028
027
026
025
074
073
072
071
069
068
067
045
046
050
062
063
016
017
053
005
006
035
076
075
047
041
042
054
055
056
007
008
048
009
077
057
043
044
058
059
070 078 049
010
011
012
013
014
015
店舗
061
060
098
141
131
036
099
140
130
052
184
178
129
037
206
185
247
128
038
186
227
248
208
122
000
1F
195
237
232
119
080
196
238 239
214
210
197
018
019
020
垂直動線 出入り口
001
図 5.12 case4 ネットワーク図 -074-
05 シ ミ ュ レ ー シ ョ ン
以上の 4case である。これら概要は以下の通りとなる。
図 5.13 各 case の動線ダイヤグラム 表 5.7 各 case の概要 case1 規模
case2 建築面積 6000m2
建築面積 12000m2
建築面積 12000m2
延べ床面積 36000m2
延べ床面積 36000m2
延べ床面積 36000m2
延べ床面積 36000m2
6階
1F:18店舗
1F:18店舗
2-6F:22店舗
2-6F:22店舗
node数
245
245
垂直動線
EV2機 ESC2機
EV2機 ESC2機
入口
2カ所
店舗数
特徴
case4
建築面積 6000m2
6階
階数
case3
3階
3階
1F:44店舗
1F:44店舗
2F:42店舗
2F:42店舗
3F:42店舗
3F:42店舗
245
249
1F-2F:ESC4機
1F-2F:ESC4機
2F-3F:ESC2機
2F-3F:ESC2機
2カ所
3カ所
3カ所
一般的な百貨店などにみ
case1 と同様 6F の中高層
一般的な大型ショッピン
case3 と同様 3F の低層の
られるビルディングタイ
のビルディングタイプで
グモールなどにみられる
ビルディングタイプであ
プで大空間回遊タイプと
あるが、そのエスカレー
ビルディングタイプで多
り、平面計画もほぼ同様
呼ばれる。6 フロアとい
ターの位置が異なり、エ
層モールタイプと呼ばれ
であるが、2F、3F 部分に
う中高層なものである。
ントランス周りに配置し
る。3 フロアと低層であ
おいて、吹き抜け部分に
吹き抜けの両側にエスカ
ている。建物側面に垂直
るが、平面的に大きな広
ブリッジを設ける事で
レーターを配置している。 動線があり、入口から上
がりを持っている。エス
ショートカットを作り出
建物中心に垂直動線があ
層階に行く時に目的のフ
カレーターは各地に点在
し、さらに多様な平面的
り、入口から上層階に行
ロアまで到達しやすい。
しており、多様な動線を
な動線がうまれている。
くためには 1F を通過する 吹き抜け周りに店舗を配
巡る事が可能である。店
必要がある。また、吹き
置し、平面内を一周回る
舗を通路に沿って連なる
抜け周りに店舗を配置し
ように動線計画している。 ように配置し、その間を
平面内を一周回るように
巡るように計画している。
動線計画している。
-075-
05 シ ミ ュ レ ー シ ョ ン
ケ ー ス ス タ デ ィ と し て case1 と case3 の 比 較・case1 と case2 の 比 較・case3 と case4 の比較の 3 パターン行った。それぞれの case の比較は、ビルディングタイプの検討、プ ランタイプの検討、プラン変更の検討と位置づけを行いケーススタディを行った。図 5.14 の通りに整理する事が出来る。
case1
case3 ビルディングタイプの検討 企画段階や施設評価を想
プランタイプの検討
定した。
建築計画時の案の
プラン変更の検討 既にあるプランからの改修 や変更を想定した。
検討を想定した。
case4
case2
図 5.14 各ケーススタディについて
ケーススタディのシミュレーションは 5000 人を同時に入店させて全ての買い物客の買 い物が終了し退店するまでを行った。また、その初期設定として、各入店箇所からの入店 割合はそれぞれ図 5.15 の通りとした。評価軸として通過人数、状態別立ち寄り店舗間歩 行距離を検討した。
case1
20% 対応nodeID:001
case3
40% 対応nodeID:002
40% 対応nodeID:000 40% 対応nodeID:001
80% 対応nodeID:000
case2
20% 対応nodeID:001
case4
40% 対応nodeID:002
40% 対応nodeID:000 80% 対応nodeID:000
40% 対応nodeID:001
図 5.15 各 case の入店初期値
-076-
05 シ ミ ュ レ ー シ ョ ン
5 . 3 . 2 ビ ル デ ィ ン グ タ イプの検討 case1 と case3 の比較を行った。case1 は中高層タイプ、case2 は低層タイプであるが、 その比較としてそれぞれの状態別店舗間歩行距離の検討を行った。結果を表 5.8、5.9、5.10、 図 5.16 に示す。なお、目的地がある状態、目的地がない状態に関しては状態遷移モデル によりそれぞれの状態が出現したものについて分析を行った。 歩行距離 表 5.8 店舗間歩行距離分散分析データ 分析対象
データ数
平均値
不偏分散
標準偏差
標準誤差
case1目的地がある状態
4617
311.22
46943.14
216.66
3.19
case1目的地がない状態
3412
216.52
28137.83
167.74
2.87
case1退店
5000
75.85
4523.21
67.25
0.95
case1合計
5000
510.99
97336.59
311.99
4.41
case3目的地がある状態
4509
372.06
63539.74
252.07
3.75
case3目的地がない状態
3428
300.66
61914.95
248.83
4.25
case3退店
5000
85.25
3645.45
60.38
0.85
case3合計
5000
626.91
149903.36
387.17
5.48
35966
316.38
93561.45
305.88
1.61
合計
表 5.9 分散分析表 変動要因 全変動
偏差平方和 3364937505
自由度
平均平方
F値
P値
F(0.95)
F(0.99)
35965
群間変動
1276862522
7
182408931.7
誤差変動
2088074982
35958
58069.83098
3141.199633
0
2.009844876
2.639824152
-077-
05 シ ミ ュ レ ー シ ョ ン
表 5.10 多重比較検定結果(Tukey 法)
組み合わせ
平均値の差
危険率5%
危険率1%
棄却値
棄却値
case1目的地がある状態,case3目的地がある状態
-60.84
15.29
17.79 **
case1目的地がない状態,case3目的地がない状態
-84.15
17.66
20.55 **
case1退店,case3退店
-9.39
14.61
17.00
case3退店,case3合計
-541.66
14.61
17.00 **
1200
店舗間歩行距離(m)
1000
800
600
400
200
0
目的地が 目的地が ない状態 ある状態
退店
case1
合計
目的地が 目的地が ある状態 ない状態
退店
合計
case3
図 5.16 状態別店舗間歩行距離の平均値
case3 の方が買い物時に関して歩行距離が case1 よりも長い事が分かった。しかし、退 店状態時の歩行距離には差が見られず、帰る時の歩行距離にはどちらのビルディングタイ プでも変わらない事が分かった。 case3 のようなビルディングタイプでは目的のものを効率的に得るには不利ではある が、目的を持たずに体験を楽しむような状態には歩行距離が長くなり向いており、また買 い物時は長く歩行するにも関わらず、退店時には差がないという事から退店時の効率は良 いということが考えられる。一方で、case1 のようなビルディングタイプは目的地がある 状態に対しての歩行距離が短く効率的に買い回れるという利点が考えられる。
-078-
05 シ ミ ュ レ ー シ ョ ン
施設全体の通過人数分布 8000 7000
case1
6000
case3
通過人数
5000 4000 3000 2000 1000 0
1位
21位
41位
61位
81位 101位 121位 141位 161位 181位 201位 221位 241位 順位
図 5.17 node の通過人数の分布
また、各 node を通過人数した人数の分布を比較する。図 5.17 は全 node の通過人数を 降順に並べたものである。下位での分布は両者とも等しいが、70 位辺りまでの分布に関 して、case3 が大きく上回っている。つまり、買い物時の回遊が起きている事を示してい る。一方 case1 のようなビルディングタイプは目的的に何かを買う時に買い回りを少なく 抑える事が可能である。 通過人数の推移 1200
node通過人数の平均値
1000
800
600
400 case1 case3
200
0
50
150
250
350
450
550
650
750
850
950
1000
step数
図 5.18 node の通過人数の推移
1000step までの各 node 通過人数平均値の推移を比較した。この事により、施設内での 買い物客の広がり方を把握できる。350step 辺りで case3 が case1 を追い越す形となった。 この事から、case1 は入店初期においては買い物客の拡散が良いが、定常状態に向かうに つれ、case3 の買い物客の拡散性が良い事が分かる。
-079-
05 シ ミ ュ レ ー シ ョ ン
5 . 3 . 3 プ ラ ン タ イ プ の 検討 次に case1 と case2 の比較を行った。ここでは計画案の比較を想定して行う。 共に中高層のビルディングタイプであるこの二つは垂直動線の位置がことなる。この事 が与える影響について検討する。 歩行距離 結果を表 5.11、5.12、5.13、図 5.19 に示す。 表 5.11 店舗間歩行距離分散分析データ データ数
平均値
不偏分散
標準偏差
標準誤差
case1目的地がある状態
4617
311.22
46943.14
216.66
3.19
case1目的地がない状態
3412
216.52
28137.83
167.74
2.87
case1退店
5000
75.85
4523.21
67.25
0.95
case1合計
5000
510.99
97336.59
311.99
4.41
case2目的地がある状態
4568
337.06
56035.52
236.72
3.50
case2目的地がない状態
3414
236.81
37638.51
194.01
3.32
case2退店
5000
51.49
2193.98
46.84
0.66
case2合計
5000
521.12
118300.80
343.95
4.86
36011
286.61
79796.14
282.48
1.49
合計
表 5.12 分散分析表 変動要因
偏差平方和
自由度
平均平方
全変動
2873459036
群間変動
1064866372
7
152123767
誤差変動
1808592664
36003
50234.4989
F値
P値
F(0.95)
F(0.99)
36010 3028.27282
0
2.00984456
2.63982353
-080-
05 シ ミ ュ レ ー シ ョ ン
表 5.13 多重比較検定結果(Tukey 法) 危険率5% 組み合わせ
平均値の差
棄却値
危険率1% 棄却値
case1目的地がある状態,case2目的地がある状態
-25.84
14.18
16.50 **
case1目的地がない状態,case2目的地がない状態
-20.29
16.44
19.13 **
case1退店,case2退店
24.36
13.59
15.81 **
case1合計,case2合計
-10.13
13.59
15.81
1000 900
店舗間歩行距離(m)
800 700 600 500 400 300 200 100 0
目的地が 目的地が 退店 ない状態 ある状態
合計
目的地が 目的地が 退店 ある状態 ない状態
case1
合計
case2
図 5.19 状態別店舗間歩行距離の平均値
目的地がある状態、目的地がない状態では case2 が長いが、退店で case1 が長いため、 全体の合計での差が見られない結果となった。 つまり、case2 では目的地がない状態での買い回りが期待できる。また、退店時に非常 に効率よく出入り口に向かう事ができると考えられ、効率を求める買い物行動と体験を楽 しむ買い物行動の両者にとっての利点があると考えられ、現代の買い物行動により合致し た計画であると考えられる。
-081-
05 シ ミ ュ レ ー シ ョ ン
施設全体の通過人数の分布 8000 7000
case1 case2
6000 5000 4000 3000 2000 1000 0 1位
21位
41位
61位
81位 101位 121位 141位 161位 181位 201位 221位 241位
図 5.20 node の通過人数の分布 表 5.14 通過人数の平均値・標準偏差・変動係数 平均値
標準偏差
変動係数
case1
836.08
1005.73
1.20
case2
780.75
851.80
1.09
また、通過人数の分布を見ると 40 位より上位において case1 が case2 を上回っている が、40 位から 100 位ほどまでは case2 が上回っている。また、表 5.15 より、変動係数が 大きい事から、通過人数のばらつきが大きく、密な部分と粗な部分のヒエラルキーがうま れやすい構成となっている事が分かった。 通過人数の推移 1000
node通過人数の平均値
800
600
400
case1 case2
200
0 50
150
250
350
450
550
650
750
850
950
1000
step数
図 5.20 node の通過人数の推移
1000step までの各 node 通過人数平均値の推移を比較した。推移の傾向はどちらの case も等しく、特に大きな差異は見られなかった。
-082-
05 シ ミ ュ レ ー シ ョ ン
フロア別通過人数 フロア別の通過人数の分布を図 5.21、5.22 に示す。なお、それぞれ矢印の向きから見た ものである。
case1
3F
3F
2F
2F
1F
1F
case2 図 5.21 node の通過人数の分布(1F ∼ 3F)
-083-
05 シ ミ ュ レ ー シ ョ ン
6F
6F
5F
5F
4F
4F
case1
case2
図 5.22 node の通過人数の分布(4F ∼ 6F)
-084-
05 シ ミ ュ レ ー シ ョ ン
以上のような分布を示す事が分かった。 どちらも上層階に行くに連れ、通過人数は減少していく事が分かった。しかし、3F に ついてのみどちらの case も上昇しており、施設全体の空間構成の中で、3F が重要な役割 を果たしている事が分かった。1F を 100%とした時の各階通過人数の合計の割合を図 5.23 に示す。 120
パーセンテージ(%)
100
case1 case2
100.00
60 57.53
65.01 57.24
80
50.96 42.92
40
49.50
49.70
47.35
44.13 39.41
20 0
1F
2F
3F
4F
5F
6F
フロア
図 5.23 各階通過人数の割合
1F を 100%としたとき、case1 においては 2F 以上が半減してしまうのに対して、case2 においてはその差異はあまり開かず、高い水準を保っている事が分かった。 商業施設は 1F の貸店舗テナント料が高く、それ以上の階になるとその価値は大幅に減 少してしまうのは明白な事実である。 しかし、そうした現状に対して、case2 のようなプランタイプでは上層階においても商 業施設内の貸店舗テナント料を低める事のないようなプランタイプとして考えられるので はないだろうか。 このようにしてプランタイプによる違いを示す事ができた。
-085-
05 シ ミ ュ レ ー シ ョ ン
5 . 3 . 4 プ ラ ン 変 更 の 効 果の検討 次に case3 と case4 の比較を行った。ここでは改装や模様替えなど、動線変更の効果の 検討を想定して行う。 それぞれの案は同様な低層のプランとなっているが、case4 においては、2F と 3F の吹 き抜け部にブリッジを設けたものとなっている。この変更が与える影響を検討する。その ため、まずは各階の通過人数の分布をみる。結果を図 5.24 に示す。
case3
3F
3F
2F
2F
1F
1F
case4
図 5.24 node の通過人数の分布
-086-
05 シ ミ ュ レ ー シ ョ ン
以上のような分布となった。2F においては中央部での分布が著しい事が分かった。 このブリッジの効果を検討するため、case3 を基準にした時の case4 の値がどのように 増減しているかを見た。入場人数が等しいのでその通過人数の絶対値は等しく、一部が増 加すると他の部分が減少する。増加部分と減少部分の色分けした結果を図 5.25 に示す。 ブリッジ周りである、217、229、224、236 番の node などを中心に通過人数の増加が見 られる。ブリッジにより、回遊が促された事を示している。 一方で、特に 3F の中央吹き抜けの周りである、218 番から 223 番、236 番から 241 番 において大きく減少する事が分かった。ブリッジが出来た事により、これらの node を通 過する選択肢以外の動線が確保されたためだと考えられる。また、ブリッジを設ける事は そのフロア以外である 1F にも影響が現れる様子も見て取れる。このように一つの動線が 変化する事が施設全体に与える影響も示す事が出来た。
198
203
202
201
200
199
244
243
242
241
240
197
196
195
194
193
192
238
237
236
235
234
233
191
190
189
188
187
231
230
229
228
186
232 239
227
248
208
185
184
206
247
204
246
205
214
207
222
223
224
225
226
179
180
181
182
183
100
221
209
165
166
210
211
212
213
167
168
169
170
215
216
217
218
219
220
171
172
173
174
175
176
177
112
111
110
109
108
107
106
105
104
103
102
101
157
156
155
154
153
152
151
150
149
148
147
146
164
126
178
3F
117
116
115
114
113
162
161
160
159
158
125
099
145
123
120
098
+30[%]
245 121 118
163
119
140
141
142
143
144
093
094
095
096
097
124
122
+25
127
079
080
128
129
130
131
132
133
134
135
136
137
138
139
081
082
083
084
085
086
087
088
089
090
091
092
+20 +15
2F
+10 +5
039
038
037
034
033
074
073
036
035
076
075
047
041
042
054
055
056
032
031
030
072
071
029
028
027
026
025
069
068
067
048 077
051
052
053
057 000
023
002
022
066
065
064
021
0 -5
070
040
024
043
058
044
045
078
059
049
046
050
062
063
016
017
-15
061
060
-10
-20 018
019
020
-25 003
1F
004
005
006
007
008
009
010
011
012
013
014
015
001
-30
図 5.25 case3 から case4 への変更時の通過人数の増減
-087-
05 シ ミ ュ レ ー シ ョ ン
5 . 4 ケ ー ス ス タ デ ィ の ま とめ・考察 以上これまで作成した目的地がある状態と目的地がない状態による買い物行動モデルを 用いて、シミュレーションを行い、3 タイプのケーススタディを行った。 5.3.2 では全く異なるビルディングタイプに対し、状態別の歩行距離を求める事で、検討 を行った。その評価軸として、目的地がある状態や退店時に対しては効率を求めるため、 なるべく短い距離で目的地へ到達する事が望ましく、その指標からすると case3 のように 低層で平面的に大きく広がるタイプよりも case1 のような中高層タイプの方が望ましい。 しかし一方で、目的地がない状態には空間体験をより得る事のできる、case 3 のようなタ イプが望ましい。つまり、どのような目的でその施設を企画するのかという事が大切であ り、そのような時に対しての資料として非常に有効なデータを得る事が出来ると考えられ る。規模や空間構成により変化する買い物客と施設との関係性を把握する事が出来た。ま た、通過人数の分布に対しても同様に考えられる。 5.3.3 では建築計画時を想定して検証を行った。それらの違いは垂直動線の位置であった が、この違いが施設内の通過人数分布や歩行距離に与える影響を示した。現代の買い物行 動を捉える上で効率性と体験性を考慮する事が必要である事は先に述べた通りであるが、 case2 のようなプランタイプは退店というの効率を求めたい状態に対しては歩行距離を短 くする事ができ、さらに、目的地がない状態という体験性につながる状態に対しては歩行 距離を長くする事が出来る可能性があり、こうしたそれぞれの状態に合致することが建築 計画的に実現可能であるという事を示すことが出来たと考えれる。 さらに、プランタイプの違いは空間の通過人数のヒエラルキーを生じさせるがそれを可 視化させる事により、商業施設の重要な要素である商業施設内の貸店舗テナント料の視点 も視野に入れる事が出来た。 ここで商業施設の貸店舗テナント料は一般的に(最低固定賃料)+(売り上げ歩合)で 算出される。前者の最低固定賃料はその名の通り固定であるが、後者の売上げ歩合に関し ては集客数が要素の一つであり、集客数は建築計画によって変化しうる。そのためにも有 効な建築計画が求められ、判断する事の出来る本モデルの可能性を示す事が出来た。 5.3.4 では動線の違いが施設全体に与える影響を可視化する事が出来た。このような資料 を得る事は設計者側、施設運営側、ディベロッパー側など様々な立場において大きな役割 を果たすと考えられる。 以上ケーススタディを通して、 1. 本モデルにより様々な商業施設のスケール、プランタイプなどと買い物行動の関係性 を解明し、 2. さらに様々な角度から商業施設の評価を行うことが出来る事 を示す事が出来た。
-088-
06 結論
06 結論
6.1 まとめ 買い物形態の多様化にともなって、買い物行動も多様化した現代、状況軸で買い物行動 を捉える必要性が出てきた。また、商業建築を設計する際に取り巻く問題は複雑である。 そこで本研究ではそうした背景の中、現代の行動特性を把握し、モデル化することで、計 画上の善し悪しの判断をする事が出来る手法の確立を目指した。 日常的な買い物行動はこれまでの群衆流動的なモデルでは記述しきれない特性を持って いるが、本研究では行動を記述するにあたり、 「 目的地がある状態」と「目的地がない状態」 の二つの状態を定義し、その状態を遷移する事をモデルに組み込んだ。
以下に本研究による知見をまとめる。 ・現代の買い物行動特性を追跡調査により明らかにした。 ・目的地がある状態では目的地を求めて、周囲の影響をほとんど受けずに移動する傾向 が見られた。 ・目的地がない状態では立ち寄り店舗間距離に依存し、自分の周囲に影響を受け移動す る傾向が見られた。 ・その他、立ち寄り店舗数やフロア移動行動特性などは状態によって異なり、それぞれ について特性のモデル化を行った。 ・シミュレーションモデルを作成し、入店から退店に至までの商業施設での日常買い物 行動を高い精度で再現する事が出来た。 ・作成したモデルにより、計画の評価軸を状態別の歩行距離と通過人数により定め商業 施設の評価や検討を行う事が出来た。
-090-
06 結論
6.2 展望 本研究で作成したモデルは目的地がある状態と目的地がない状態という大きく二つの状 態からうまれる行動を記述した、現代の買い物特性を示す事が出来るモデルであるが、 本研究においては特に歩行距離や通過人数などの計算結果での分析にとどまった。そのた め、今後はマルチエージェントシステムが得意とする、他者の影響や建築空間構造が状態 の変化に与える影響なども示す事ができるようなリアルタイムでの検討モデルや、さら に、各店舗での滞在時間や休憩行動などと言った厳密なモデルを組み込む事により、充実 した買い物行動を示す事が期待される。 また、ケーススタディとしては一般的な事例をみるにとどまったが、本モデルでの知見 をふまえ、二つの状態に対して効率性と体験性を両立する事が可能な空間を自動生成する 事の出来るような研究も期待したい。 商業施設では、売上げの向上を目指すという大命題がある。そうした金銭的な側面はあ る意味で今後の建築計画において非常に重要なウェイトを占めてくるであろう。それを クリアするためには行動の側面だけではない様々な分野との横断が必要であると考えられ る。
-091-
06 結論
謝辞
終わりました。やっと終わりました。やっと書けました。 ついにこの日が来ました。渡辺研究室に入ってから 4 年長くて短いような道のりでした。 渡辺先生、先生の鋭く刺激的で的確な助言のおかげでようやくここまでくる事が出来ま した。本当にありがとうございました。この研究室で修論を書く事ができて本当に良かっ たです。建築へのこの視点、これからも大事に育てていきます。 長澤さん、もう何とお礼を申し上げたらよいか分かりません…長澤さんがいなかったら この論文は書き上がらなかったと思います。僕の至らない考えをいつも理解してくださ り、正しい方角に向けてくださってありがとうございました。そして長澤さんの時に厳し く時に優しいご指導のおかげで、本当に楽しく充実した健康空間ゼミ生活を送ることがで きました。さらに、あの日銀座のプロジェクトに誘ってくださりありがとうございました。 他では絶対に体験できないすばらしい経験となりました。 林田さん、遠田さん、中間発表ごとに的確なアドバイスをありがとうございました。い つもお二人の冷静な指摘で何を言われるかひやひやしたりした時期もありました。そうし たこともあって無事終える事が出来ました。 M2 のみんな、本当にみんなと一緒に楽しく頑張れて良かった。締めるとこと緩めると このメリハリの利いたみんなと同じ代で思いっきり充実した研究室生活が送れたよ。あり がとう。 ゼミのみんな、毎週楽しかったね。なんかゼミが楽しくて仕方なかったよ。 研究室のみんな、ありがとう。本当にみんなのおかげで、楽しい大学院生活を過ごす事 が出来ました。ありがとう。 本当にこの論文は自分だけじゃ完成しないんだなぁってつくづく感じます。 一人で書くものじゃないからこそ書けるんだと思います。僕は本当に心が弱くて何度も 何度もくじけそうになったけど皆さんの支えがあったからこそ今ここに謝辞を書く事が出 来ました。本当にありがとうございました。 そして最後にこんな僕をここまで育ててくれた両親に心より感謝したいと思います。い つもありがとう。 やっと終わった。 やっと書けた。 成長しました。
プリンタの音を聞きながら 2009 年 2 月 4 日 自宅にて
-092-
* 資料編
*資料編
参考文献 ▼ 論文 • 01 田村光司:中心市街地整備効果予測に向けたMASによる歩行回遊シミュレーションの開発-青 森市中心市街地を対象として-,早稲田大学浅野研究室修士論文,2005年度 • 02 加藤憲一,山田孝子,黒田健吾:業種別商業集積に基づく中心市街地の買い物回遊モデル,日本オ ペレーションズ・リサーチ学会秋季研究発表会アブストラクト集,pp.168-169,2006 • 03 朴喜潤,佐藤滋:中心市街地における都市空間構成と歩行者回遊行動に関する研究 : 歩行者追跡 調査結果と回遊単位概念を用いて,日本建築学会計画系論文集,pp.143-150,2006 • 04 豊嶋伊知郎,小磯貴史,吉田琢史,服部可奈子,今崎直樹:ユビキタス情報に基づく店舗内回遊モデ ル,電子情報通信学会技術研究報告,pp.61-66,2005 • 05 豊嶋伊知郎,小磯貴史,吉田琢史,服部可奈子,今崎直樹:店舗内回遊モデルの定性的検証(さまざま な分野の形式的検証最前線及び一般),電子情報通信学会技術研究報告,pp.7-12,2005 • 06 加納征子:駅周辺の歩行者の回遊行動特性に関する研究,渡辺仁史研究室修士論文,2000年度 • 07 田中壮作:百貨店における群衆流動モデルに関する研究,渡辺仁史研究室修士論文,2005年度 • 08 加藤英理子: 垂直移動手段の選択要因からみた商業施設における垂直移動に関する研究,渡辺 仁史研究室卒業論文,2003年度 • 09 浅野久美子:客の直行行動と回遊行動を考慮した売り場移動特性 -百貨店における行動のモデ ル化 その1-,日本建築学会大会学術講演梗概集E-1,pp.569-570,2008 • 10 菊地晃生,大貝彰,北野雅士:中心市街地における歩行者回遊行動シミュレーションモデル の開発(その2) : シミュレーションの可視化による考察,日本建築学会大会学術講演梗概集 F-1,pp.1019-1020,2003 • 11 江口浩壽,佐藤光徳,服部岑生:複合商業施設における回遊状況-複合商業施設計画の利用特性に 関する基礎的研究(その1)-,日本建築学会大会学術講演梗概集E-1,pp.463-464,1999 • 12 阿部武彦,山田健司,石井和克,中本義徳,木村春彦:マルチエージェントを用いた小売店レイアウ ト支援システム,電子情報通信学会総合大会講演論文集,pp.8,2006 • 13 壬生田喜貴,大貝彰,桶野俊介:エージェントベースモデルを用いた歩行者行動のモデル化 その 1,日本建築学会大会学術講演梗概集.F-1,都市計画, 建築経済・住宅問題 ,pp.827-828,2000 • 14 加納征子:迷いやすい空間における経路認識行動に関する研究,渡辺仁史研究室卒業論文,1998 年度 • 15 小島尚人,後藤信,高柳英明,服部岑生:大規模小売店鋪におけるマクロ流動制御手法に関する 研究 その1 利用客行動調査とモデル構築について,日本建築学会大会学術講演梗概集 E-1,pp.491-492,2006 • 16 石垣智徳,小沢佳奈:百貨店POSデータによる顧客の店舗内空間行動分析,社団法人日本オペ レーションズ・リサーチ学会,オペレーションズ・リサーチ : 経営の科学,vol.50,no.3 pp. 181186,2005 • 17
高柳英明:群衆力学に基づく歩行行動モデル,早稲田大学理工学部研究科建築学専攻博士論 文,2008年度
*資料編
▼ 書籍 • 01 山影進著:『人口社会構築指南-artisocによるマルチーエージェント・シミュレーション入門 -』,書籍工房早山,2007 • 02 『10+1 No.48 アルゴリズム的思考と建築』,INAX出版,2007.9.30 • 03 『PLOT 03 伊東豊雄:建築のプロセス』,A.D.A.EDITA Tokyo,2003 • 04 伊東豊雄建築塾編著:『けんちく世界をめぐる10の冒険』,彰国社,2006 • 05 ジョン・J・フルーイン著: 『歩行者の空間』, 鹿島出版社, 1974 • 06 日本建築学会編: 『建築設計資料集成[人間]』, 丸善, 2003.1.31 • 07 日本建築学会編: 『建築設計資料集成[業務・商業]』, 丸善, 2004.4.5 • 08 日本建築学会編:『第3版 コンパクト建築設計資料集成』,丸善,2005.3.20 • 09 店舗システム協会監修:『科学する店舗―専門店から百貨店、スーパー、コンビニ、フュー チャーストアまで、残るべくして残った繁盛店の英知を全解剖!』.東洋経済新報社,20053.17 • 10 新建築学体系編集委員会編:『環境心理, 新建築学大系11』, 彰国社, 1982 • 11 新建築学大系編集委員会編:『環境心理, 新建築学大系23』, 彰国社, 1982 • 12 武永昭光著:『伊勢丹だけがなぜ売れるのか,誰からも支持される店づくり・人づくり』,かん き出版,2006.10.3 • 13 パコ・アンダーヒル著:『なぜ人はショッピングモールが大好きなのか』,早川書房,2004 • 14 日本建築学会編:『建築・都市計画のための空間学事典 [改訂版]』,井上書院,2005.4.25 • 15 日本建築学会編:『建築・都市計画のためのモデル分析の手法』,井上書院,1992.7 • 16 NIKKEI DESIGN 2007年8月号,日経BP社,日経BP社,2007.7.24 • 17 ヘンリー・ペトロスキー著:『<使い勝手>のデザイン学』,朝日選書,2008,6 • 18 博報堂パコアンダーヒル研究会 小野寺健司・今野雄策編:『ついこの店で買ってしまう理 由』,日本経済新聞出版社,2007,7
▼ web • 01 総務省統計局HP
http://www.stat.go.jp/data/joukyou/2007ar/gaiyou/g02.htm
• 02 日本百貨店協会HP http://www.depart.or.jp/ • 03 日本チェーンストア協会HP http://www.jcsa.gr.jp/ • 04 wikipedia http://ja.wikipedia.org/wiki/
*資料編
買い物行動プログラムソース universe 用 Univ_Init{ Dim set As Agtset Dim set2 As Agtset Dim links As agtset Dim one As Agt Dim one2 As Agt Dim n As Integer Dim i As Integer dim beginset as agtset dim endset as agtset dim linkset as agtset dim begin_node as agt dim end_node as agt dim link_agt as agt // コンソール画面クリア ClearConsoleScreen() // マトリックスの初期値設定 addagt(beginset,universe.Link.Begin_Agt) addagt(endset,universe.Link.End_Agt) makeagtset(linkset,universe.Link) for each link_agt in linkset begin_node=link_agt.begin_agt end_node=link_agt.end_agt n= begin_node.ID i = end_node.ID begin_node.matrix(i)=1 AddAgt(begin_node.link,end_node) next link_agt // ネットワークの描画 ///////////////////////////////////// MakeAgtset(set,Universe.shopspace.node) MakeAgtset(set2,Universe.shopspace.node) n=0 i=0 For each one In set For each one2 in set2 n= one.ID i = one2.ID If one.matrix(i) == 1 then AddAgt(one.link,one2) if one.layer==one2.layer then one.Value(i) = MeAsuredistance(one.x , one.Y, one2.X, one2.Y ,Universe.shopspace) else one.Value(i) = MeAsuredistance(one.x , one.Y, one2.X, one2.Y ,Universe.shopspace) end if end If
*資料編
next one2 next one // 垂直動線の抽出 ///////////////////////////////////////////////////////// // 違うレイヤーとつながっているノードを見つけるアルゴリズム。 for each one in set for each one2 in set2 i=one2.id if one.matrix(i)==1 and one.layer<>one2.layer then addagt(universe.shopspace.node.vertical,one) one.verticalP=1 end if next one2 next one // 上下に向かう垂直動線を見つける /////////////////////////////// MakeAgtset(set,Universe.shopspace.node) MakeAgtset(set2,Universe.shopspace.node) for each one in set for each one2 in set2 i=one2.id if (one.matrix(i)==1 and one.layer-one2.layer==1) or (one.matrix(i)==1 and one.layer-one2.layer==-1) then addagt(universe.shopspace.node.vertical,one) one.gohomeescP=1 end if next one2 next one /// 下に向かう垂直動線を見つけるアルゴリズム /////////////////////////////// MakeAgtset(set,Universe.shopspace.node) MakeAgtset(set2,Universe.shopspace.node) for each one in set for each one2 in set2 i=one2.id if one.matrix(i)==1 and one.layer-one2.layer==1 then addagt(universe.shopspace.node.vertical,one) one.gohomeescP=1 end if next one2 next one ///////////////////////////////////////////////////////////////////////// If StrComp(Universe.CalcMode, " 初期計算 ") == 0 then /////// ダイクストラ法による最短経路の取得 DijkstraMethod() // 実行停止 PrintLn(" 処理完了! ") ExitSimulationMsg(" おわり。") elseif StrComp(Universe.CalcMode, "matrix 計算 ") == 0 then matrixwrite() ExitSimulationMsg("matrix 計算おわり。") else // 顧客の発生とか動き
*資料編
For n =0 to universe.Customer_Int-1 createagt(universe.shopspace.Customer) next n // ダイクストラ法の読み込み(このデータは Dij_Data に格納される。) file_read_DijkstraMethod() end If } Sub Matrixwrite() { dim nodes as agtset dim start as agt dim i as integer dim j as integer dim m_data as string dim score as string makeagtset(nodes,universe.shopspace.node) m_data="node"&","&"Dim:1"&","&"matrix" If (OpenFile("matrix.csv",1,3)) Then WriteLnFile(1,m_data) Else ExitSimulationMsg("Matrixwrite: Error > " & GetLAstErrorMsg()) End If CloseFile(1) if (OpenFile("matrix.csv",1,3)) Then for each start in nodes i=start.id for j=0 to countagt(universe.shopspace.node)-1 if start.matrix(j)==1 then // つながってたら score=1 else // つながってなかったら score=0 end if m_data=i&","&j&","&score WriteLnFile(1,m_data) next start next j Else ExitSimulationMsg("Matrixwrite: Error > " & GetLAstErrorMsg()) End If CloseFile(1) } // 以下 dijkstra 法 Sub DijkstraMethod() { Dim dij(350,3) As double Dim set As Agtset Dim set2 As Agtset Dim one As Agt Dim one2 As Agt Dim n As Integer
*資料編
Dim i As Integer Dim start As Agt Dim goal As Agt Dim target As Agt Dim lAst As Agt Dim Value As double Dim route As string Dim here As agt Dim s_data As string Dim p_data As string Dim s As Integer // スタート地点のノードID Dim g As Integer // ゴール地点のノードID Dim u As Integer Dim k As Integer Dim t As Integer Dim labelcount As Integer Dim mind1st As double Dim tmp As double Dim A(350,21) As double Dim begin As agt Dim finish As agt Dim rev(30) As Integer Dim fwd(30) As Integer Dim fwdsize As Integer MakeAgtset(set,Universe.shopspace.node) MakeAgtset(set2,Universe.shopspace.node) n=0 i=0 For i = 0 to CountAgtset(set)-1 // 各リンクの接続関係とノード間の距離を A(u,k) に代入 one = GetAgt(set2,i) For n = 0 to CountAgtset(set)-1 A(i , n ) = 999999 //////////// 初期化。 A(i, n + 10) = 0 next n For n = 0 to CountAgtset(one.link)-1 one2 = GetAgt(one.Link,n) A(i , n ) = one2.ID if one.layer==one2.layer then value = MeAsureDistance(one.X , one.Y , one2.X , one2.Y ,universe.shopspace) else value = MeAsureDistance(one.X , one.Y , one2.X , one2.Y ,universe.shopspace) end if A(i, n + 10) = Value next n next i //////////////////////////////////////////////////////////////////// For each begin In set For each finish in set2 // 全てのノードの組みについて実行 start = begin goal = finish s = start.ID g = goal.ID
*資料編
sortagtset(set,"id",true) sortagtset(set2,"id",true) For i = 0 to CountAgtset(set)-1 dij(i,1) = 500000 dij(i,2) = 0 dij(s,1) = 0 dij(s,2) = 99 // 仮ラベル dij(s,3) = s next i labelcount = 0 do until (labelcount == CountAgtset(set) -1) mind1st = 100000 For i = 0 to CountAgtset(set) -1 If(dij(i,2) == 99) then // 仮ラベルならば一番目に近いものが tmp tmp = dij(i,1) If (tmp <= mind1st) then mind1st = tmp dij(i,1) = tmp u = i end If end If next i dij(u,2) = 999 // 確定ラベル labelcount = labelcount + 1 If labelcount == CountAgtset(set) -1 then break end If For k = 0 to 9 If A(u,k)<>999999 then If (dij(A(u,k),2)<>999) then If (dij(A(u,k),1)) > dij(u,1) + A(u,k+10) then dij(A(u,k),1) = dij(u,1) + A(u,k+10)
dij(A(u,k),2) = 99
dij(A(u,k),3) = u
end If end If end If next k loop // データの出力 MakeAgtset(set,Universe.shopspace.node) s = begin.ID g = finish.ID n = Int(dij(g,3)) route = g value = 0 t=0 s_data = 0 p_data = 0 For i = 0 To countAgtset(set) -1
*資料編
If s == g then s_data = s & "," & g & "," & route & "," & dij(g,1) p_data ="Start = " & s & ", Goal = " & g & ", Route = " & route & ",Value = "& dij(g,1) t=1 break end If If s == n then Value = value + dij(s,1) route = s & "," & route s_data = s & "," & g & "," & route & "," & dij(g,1) p_data = "Start = " & s & ", Goal = " & g & ", Route = " & route & ",Value = "& dij(g,1) t=1 break else route = n & "," & route end If n = Int(dij(n,3)) next i If (OpenFile("dijkstra.csv",1,3)) Then WriteLnFile(1,s_data) Else ExitSimulationMsg("file_write_DijkstraMethod: Error > " & GetLAstErrorMsg()) End If CloseFile(1) next finish printLn("Dijkstra 法:"&n &"/"&(countagtset(set)-1)&">"&timetostr(getrealtime(),"HH:mm:ss")) next begin } Sub file_read_DijkstraMethod() // ダイクストラ法の結果の読み込み { Dim dijkstraLinkAgtSet As AgtSet Dim dijkstraLinkAgt As Agt Dim begin_Agt_ID As Integer Dim end_Agt_ID As Integer Dim s_data As String //dijlstra.csv の全データ Dim t_data As String // ルートと Value Dim v_data As String //Value Dim ct As Integer Dim n As Integer Dim nowTime As Long Dim route As String // ルートデータ If CountAgt(Universe.shopspace.node) == 0 Then // もし dijkstralink が 0 だったら終わり ExitSimulationMsg("file_read_DijkstraMethod: Error > dijkstra.csv の行数を確認して、Universe. DijkstraLink のエージェント数として定義してください。") End If If (OpenFile("dijkstra.csv",1,FILE_READ)) Then //dijkstra.csv を開く n = 0
*資料編
s_data = ReadFile(1) //s_data に読み込む do while ( IsEofFile(1) == False) n = n + 1 begin_Agt_ID = CInt(GetToken(s_data, 0)) end_Agt_ID = CInt(GetToken(s_data, 1)) v_data = CDbl(GetToken(s_data, CountToken(s_data) - 1)) universe.shopspace.Dij_Data.start= GetUniqueID(Universe.shopspace.node , begin_Agt_ID) universe.shopspace.Dij_Data.goal = GetUniqueID(Universe.shopspace.node , end_Agt_ID) t_data = Right(s_data, Len(s_data) - Len(CStr(begin_Agt_ID)) - Len(Cstr(end_Agt_ID)) - 2) universe.shopspace.Dij_Data.ShortestRoute = Left(t_data, Len(t_data ) - 1 - Len(v_data)) universe.shopspace.Dij_Data.Value = CDbl(v_data) route=universe.shopspace.Dij_Data.ShortestRoute s_data = ReadFile(1) If CInt(n Mod 100000) == 0 Then nowTime = GetRealTIme() PrintLn("file_read_DijkstraMethod2 : " & n & " > " & TimeToStr(nowTime,"HH:mm:ss")) End If universe.WayPoint(begin_Agt_ID,end_Agt_ID)=(route) universe.Distance(begin_Agt_ID,end_Agt_ID)=v_data Loop For begin_Agt_ID=0 to countagt(universe.shopspace.node)-1 For end_Agt_ID=0 to countagt(universe.shopspace.node)-1 next begin_Agt_ID next end_Agt_ID Else ExitSimulationMsg("file_read_DijkstraMethod: Error > " & GetLAstErrorMsg()) End If CloseFile(1) } Univ_Step_Begin{ Dim i As integer /////////////////////// 客の発生/ /////////////// For i=0 to poissonrnd(universe.Customer_Rate)-1 createagt(universe.shopspace.Customer) next i ///////////////////////////////////////////////////////// } Univ_Step_End{ Dim nowtime as long Dim i as integer Dim one as agt Dim count_data50 as string Dim nodes as agtset If (getcountstep() Mod 100) == 0 Then nowTime = GetRealTIme() PrintLn("step 数 : " &getcountstep() &"- 人数 : " &countagt(universe.shopspace.Customer) & " > " & TimeToStr(nowTime,"HH:mm:ss"))
*資料編
End If if getcountstep() mod 50==0 then makeagtset(nodes,universe.shopspace.node) if (OpenFile(cstr(getcountsimulationNumber())&"50step.csv",1,3)) Then for each one in nodes i=one.id count_data50=i&","&universe.shopspace.node.count2(i) writelnfile(1,count_data50) next one else ExitSimulationMsg("50step ごとの count が : Error > " & GetLAstErrorMsg()) end if closefile(1) end if if countagt(universe.shopspace.Customer)==0 then println("step 数 ---"&getcountstep()) ExitSimulationMsg(" おわり ") end if } Univ_Finish{ Dim i as integer Dim count_data as string Dim one as agt Dim nodes as agtset for i = 0 to countagt(universe.shopspace.node)-1 println(replace(cstr(replace(cstr(universe.shopspace.node.count3(i)),"Universe.shopspace. node(","")),")","")&"---"&universe.shopspace.node.count4(i)) next i // 断面交通量の書き出し makeagtset(nodes,universe.shopspace.node) if (OpenFile(cstr(getcountsimulationNumber())&"count.csv",1,3)) Then for each one in nodes i=one.id count_data=i&","&universe.shopspace.node.count2(i) writelnfile(1,count_data) next one else ExitSimulationMsg("count が : Error > " & GetLAstErrorMsg()) end if closefile(1) }
*資料編
customer 用 Agt_Init{ //////// もし状態が目的地有りなら my.state は 0(色は赤)、目的地無しなら my.state は 1(色は青) Dim i as integer my.random=rnd() If rnd()<0.78 then my.state=0 /////// 目的地あり else my.state=1 /////// 目的地無し end If If my.state==0 then my.color =color_red ///////// 目的地あり my.Life=abs(norminv(rnd(),4.807,2.97)) else my.color=color_blue /////// 目的地無し my.Life=abs(norminv(rnd(),6.769,4.21)) end If // 入店地点の計算 if 100*my.random<80 then my.entP_ID=0 my.Layer=0 else my.entP_ID=1 my.Layer=0 end if my.Layer=universe.shopspace.node(my.entP_ID).layer my.X=universe.shopspace.node(my.entP_ID).x my.Y=universe.shopspace.node(my.entP_ID).y my.random=rnd() }
sub nearist() { ///////////////////////// 今いるところから一番近い点を見つけるアルゴリズム /////////////////////////////// makeoneagtsetaroundown(my.nearshops,100,universe.shopspace.node,false) my.Distance=1000 for each nearestshop in my.nearshops my.tmp=Measuredistance(my.X , my.Y, nearestshop.X, nearestshop.Y ,Universe.shopspace) If (my.tmp < my.Distance ) then my.Distance= my.tmp my.nearest=nearestshop end If next nearestshop //////////////////////////////////////////////////////////////////////////////////////////// ///////// }
*資料編
Agt_Step{ Dim one as agt Dim one2 as agt Dim set as agtset Dim set2 as agtset Dim nodes as agtset Dim shops as agtset Dim shop as agt Dim i as integer Dim nearestshop as agt Dim farshop as agt Dim tmp as double Dim dist as double Dim nodecount as integer Dim list as integer Dim vertical as agt Dim verticals as agtset Dim fars as agtset Dim far as agt Dim area as double Dim walk_data as string makeagtset(nodes,universe.shopspace.node) for each shop in nodes If shop.shop==1 then addagt(shops,shop) // これで shop を拾う。以後 shop を目的地に設定 end If next shop /////////////////////////////////////////////////////////// /////////////// 目的地がある状態 /////////////////////////////////////////////////////////// If my.state==0 then my.color =color_red my.Speed=1 // 目的地設定 If my.WayPoint==0 or my.WayP_ID==99999 then// 最初、または waypoint が設定されていない 時 nearist() dest_syori1: delagtset(shops,my.history) //shop の中から自分の履歴分を消す。 if countagtset(shops)==0 then my.State=2 my.WayP_ID=99999 my.Life=1 goto kitaku_syori end if my.Destination=getagt(shops,int(countagtset(shops)*rnd())) // 目的地設定。次に今いるところか ら目的地への経路を取得する。 addagt(my.history,my.destination) // 自分の履歴に自分の目的地を追加。
*資料編
//my.nearest がスタート地点。ここからさっき決めた shop を目指す。以下ルート取得。dij_data から引っ張る。 my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.dest_ID=Cint(replace(Cstr(replace(Cstr(my.destination),"Universe.shopspace.node(","")),")","")) // 目的地の ID my.WalkA=my.WalkA+universe.Distance(my.near_ID,my.dest_ID) my.WalkAll=my.WalkAll+universe.Distance(my.near_ID,my.dest_ID) If my.near_ID==my.dest_iD then //println(" 今いる場所と目的地が同じなので再計算 ") goto dest_syori1 end If wayp_syori1: my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my.dest_ ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace.node(","")),")","")) //WayPoint の ID //println(my.ID&"-- 次行くところは ---"&my.wayp_ID) If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) my.Route_Count=my.Route_Count+1 else //waypoint が設定されている場合。 If pursue(my.WayPoint,my.Speed)<>-1 then //WayPoint が決まってて進めない時は(つまり WayPoint に到着した時は) if getcountstep()>0 then universe.shopspace.node(my.WayP_ID).count2=universe.shopspace.node(my.WayP_ID). count2+1 end if nearist() // 最も近いノードを探す。 my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.dest_ID=Cint(replace(Cstr(replace(Cstr(my.destination),"Universe.shopspace.node(","")),")","")) // 目的地の ID If my.dest_iD ==my.near_ID then //WayPoint が目的地であれば、目的地再設定、 WayPoint 再設定 my.LIfe=my.LIfe-1 my.WayP_ID=99999 If my.LIfe<=0 then // 帰宅へ my.State=2 my.LIfe=1 else // ライフが 0 じゃないなら状態変化を考える。変化しないなら目的地の設定をす る。(上の方の dest_syori1 に行く) if rnd()<0.62 then// 状態遷移なし goto dest_syori1 else my.State=1 // 状態遷移あり end if
*資料編
end If else // waypoint に到着したが、別に目的地ではない。次の waypoint を設定する。 nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my. dest_ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace. node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.wayp_id).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if end If end If end If elseIf my.State==1 then /////////////////////////////////////////////////////////// /////////////// 目的地がない状態 /////////////////////////////////////////////////////////// my.color=color_blue my.Speed=1 If my.WayPoint==0 or my.WayP_ID==99999 then // 初回、若しくは waypoint が無い時。目 的地設定 if rnd()<=0.446 then // もし同じフロア内移動 dest_syori2:// 同じフロア内移動 ///////////////////////// 今いるところから一定範囲内の一番遠い shop を見つけるアルゴリ ズム /////////////////////////////// area=abs(norminv(rnd(),36.19,14.13)) //shop のなかから同じフロア内の物をみつける→その中で今の自分の位置からの value が閾値 内の最大値のものを見つける。なければ帰る MakeOneAgtSetAroundOwn(nodes,200,universe.shopspace.node,false) for each shop in nodes If shop.shop==1 then addagt(shops,shop) // これで shop を拾う。以後 shop を目的地に設定 end If next shop for each shop in shops // それぞれのショップで同じフロアなら farshops に格納していく if shop.layer==my.Layer then addagt(my.farshops,shop) end if next shop nearist() // 一番近い点 ここから farshops へのそれぞれの value を求める。 my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.shop_dist=0 delagtset(my.farshops,my.history) //farshops の中から自分の履歴分を消す。 for each far in my.farshops
*資料編
my.tmp=cdbl(universe.Distance(my.near_ID,far.ID)) // テンポラリーに value を入れる。 if my.tmp<area then // もしテンポラリーが閾値内ならその中の最大値を求める。 if (my.tmp>my.shop_dist) then my.shop_dist=my.tmp my.farest=far end if else // テンポラリーが閾値よりも遠いなら何もしない end if next far delagtset(my.farshops,my.farshops) //fars の中から自分の履歴分を消す。 if my.shop_dist==0 then // もし取得できなければ帰宅 my.State=2 my.WayP_ID=99999 my.Life=1 goto kitaku_syori end if my.far_ID=Cint(replace(Cstr(replace(Cstr(my.farest),"Universe.shopspace.node(","")),")","")) // 閾値内の最大遠い店の ID my.Destination=my.farest addagt(my.history,my.destination)// 履歴に入れる nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.dest_ID=Cint(replace(Cstr(replace(Cstr(my.destination),"Universe.shopspace.node(","")),")","")) // 目的地の ID my.WalkB=my.WalkB+universe.Distance(my.near_ID,my.dest_ID) my.WalkAll=my.WalkAll+universe.Distance(my.near_ID,my.dest_ID) If my.near_ID==my.dest_iD then goto dest_syori2 end If wayp_syori2: my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my.dest_ ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace.node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) my.Route_Count=my.Route_Count+1 my.verti_ID=99999 else // 目的地と今のレイヤーが違うなら一番近い垂直動線を目指す dest_syori3: //println(" 目的地は違うレイヤー ") ///////////////////////// 今いるところから一番近い垂直動線を見つけるアルゴリズム /////////////////////////////// makeoneagtsetaroundposition(nodes,universe.shopspace,my.x,my.y,my.layer,100,universe. shopspace.node) for each vertical in nodes
*資料編
If vertical.escP==1 then addagt(my.nearverts,vertical) end if next vertical my.Distance=1000 for each vertical in my.nearverts my.tmp=Measuredistance(my.X , my.Y, vertical.X, vertical.Y ,Universe.shopspace) If (my.tmp < my.Distance ) then my.Distance= my.tmp my.nearverti=vertical end If next vertical my.verti_ID=vertical.id //////////////////////////////////////////////////////////////////////////////////// ///////////////// my.Route_Count=0 // 初期化 nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.verti_ID=Cint(replace(Cstr(replace(Cstr(my.nearverti),"Universe.shopspace.node(","")),")","")) // もっとも近い垂直動線の ID my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my.verti_ ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace.node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) my.Route_Count=my.Route_Count+1 nearist() my.WalkB=my.WalkB+universe.Distance(my.near_ID,my.verti_ID) my.WalkAll=my.WalkAll+universe.Distance(my.near_ID,my.verti_ID) end if else //waypoint が設定されている場合。 If pursue(my.WayPoint,my.Speed)<>-1 then //WayPoint が決まってて進めない時は(つまり WayPoint に到着した時は dest_syori2 に行く) if getcountstep()>0 then universe.shopspace.node(my.WayP_ID).count2=universe.shopspace.node(my.WayP_ID). count2+1 end if nearist() // 最も近いノードを探す。 my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.dest_ID=Cint(replace(Cstr(replace(Cstr(my.destination),"Universe.shopspace.node(","")),")","")) // 目的地の ID If my.dest_iD ==my.near_ID then //WayPoint が目的地であれば、目的地再設定、 WayPoint 再設定 my.LIfe=my.LIfe-1 If my.LIfe<=0 then // 帰宅へ
*資料編
my.State=2 my.LIfe=1 else // ライフが 0 じゃないなら目的地の設定をする。(上の方の dest_syori2 に行く) if rnd()<0.747 then // 状態変化なし if rnd()<0.446 then// 同じフロア内移動の処理へ goto dest_syori2 else // 違うフロアへ移動の処理へ goto dest_syori3 end if // 状態変化する else my.State=0 end if end If elseif my.verti_ID==my.near_ID then //waypoint に到着し、それが垂直動線だったとき。レイヤー移動して、次の waypoint を設定 する。(次の処理は近場を選ぶように行きたいので) makeagtset(set,universe.shopspace.node) //node の中で今いるところとつながっているもの を探す。 makeagtset(set2,universe.shopspace.node) for each one in set i=one.id if universe.shopspace.node(my.verti_ID).matrix(i)==1 then// 今いるポイントと次のところ が matrix がつながってる if one.layer<>my.Layer then // もし matrix がつながってて、さらにレイヤーが違っ たら addagt(set2,one) //set2 に one を格納 end if end if next one one2=getagt(set2,Round(rnd()*(countagtset(set2)-1))) my.Layer=one2.layer my.X=one2.x my.Y=one2.Y my.Route_Count=0 // 初期化 goto dest_syori2 else // waypoint に到着したが、別に目的地ではないし垂直動線でもない。次の waypoint を設 定する。 if my.nearverti==0 or my.verti_ID==99999 then nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace. node(","")),")","")) // もっとも近いものの ID my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my. dest_ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace. node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer
*資料編
my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) else nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace. node(","")),")","")) // もっとも近いものの ID my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my. verti_ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace. node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) end if end If end If end if else /////////////////////////////////////////////////////////// /////////////// 退店状態 /////////////////////////////////////////////////////////// kitaku_syori: my.Color=color_green nearist() my.Destination=universe.shopspace.node(my.entP_ID) my.dest_ID=Cint(replace(Cstr(replace(Cstr(my.destination),"Universe.shopspace.node(","")),")","")) // 目的地の ID my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID If my.WayP_ID==99999 then // 通過点が決まってない時は決める if universe.shopspace.node(my.dest_iD).layer-my.Layer<>0 and rnd()<0.8 then // もしゴールと同じ違うフロアで、かつ、8 割以内なら 、一番近い下に向かうエスカレーター を見つけて降りる。そして、またエスカを見つけて降りる。の繰り返し kitaku_syori2: makeoneagtsetaroundposition(nodes,universe.shopspace,my.x,my.y,my.layer,100,universe. shopspace.node) for each vertical in nodes If vertical.gohomeescP==1 then //Esc を取得 addagt(my.nearverts,vertical) end if next vertical my.Distance=1000 for each vertical in my.nearverts my.tmp=Measuredistance(my.X , my.Y, vertical.X, vertical.Y ,Universe.shopspace) If (my.tmp < my.Distance ) then
*資料編
my.Distance= my.tmp my.nearverti=vertical end If next vertical my.verti_ID=vertical.id my.Route_Count=0 // 初期化 nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.verti_ID=Cint(replace(Cstr(replace(Cstr(my.nearverti),"Universe.shopspace.node(","")),")","")) // もっとも近い垂直動線の ID my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my.verti_ ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace.node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) my.Route_Count=my.Route_Count+1 nearist() my.WalkC=my.WalkC+universe.Distance(my.near_ID,my.verti_ID) my.WalkAll=my.WalkAll+universe.Distance(my.near_ID,my.verti_ID) else // 違うなら今まで通り、最短で帰る。 my.WalkC=my.WalkC+universe.Distance(my.near_ID,my.dest_ID) my.WalkAll=my.WalkALL+universe.Distance(my.near_ID,my.dest_ID) my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my.dest_ ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace.node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer<>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y end if pursue(my.WayPoint,my.speed) my.Route_Count=my.Route_Count+1 end if else // もし通過点が決まっているなら If pursue(my.WayPoint,my.Speed)<>-1 then //WayPoint が決まってて進めない時は(つまり WayPoint に到着した時は) if getcountstep()>0 then universe.shopspace.node(my.WayP_ID).count2=universe.shopspace.node(my.WayP_ID). count2+1
*資料編
end if nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.dest_ID=Cint(replace(Cstr(replace(Cstr(my.destination),"Universe.shopspace.node(","")),")","")) // 目的地の ID If my.dest_iD ==my.near_ID then //WayPoint が出入り口であれば、消える。 my.LIfe=my.LIfe-1 If my.LIfe<=0 then // ついたら消える , 距離の書き出し if (OpenFile(cstr(getcountsimulationNumber())&"walkA.csv",1,3)) Then walk_data=my.ID&","&my.WalkA&","&my.WalkB&","&my.WalkC&","&my.WalkAll writelnfile(1,walk_data) else ExitSimulationMsg(" 距離が : Error > " & GetLAstErrorMsg()) end if closefile(1) killagt(my) end If elseif my.verti_ID==my.near_ID then //waypoint に到着し、それが垂直動線だったとき。レイヤー移動して、まだ出入り口とフロ アが違うならここを繰り返す。次の waypoint を設定する。 makeagtset(set,universe.shopspace.node) //node の中で今いるところとつながっているもの を探す。 for each one in set i=one.id if universe.shopspace.node(my.verti_ID).matrix(i)==1 and my.Layer-one.layer==1 then // 今いるポイントと次のところが matrix がつながってる , さらに自分の方が上のフロアに いたら次のところに移動 my.Layer=one.layer my.X=one.x my.Y=one.Y end if next one my.Route_Count=0 // 初期化 //waypoint を決定する。決定方法は目的地と同じレイヤーなら、普通に決める。違うなら、 一番近い下につながる垂直動線。 if my.Layer==universe.shopspace.node(my.dest_iD).layer then nearist() my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace. node(","")),")","")) // もっとも近いものの ID my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ ID,my.dest_ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace. node(","")),")","")) //WayPoint の ID else goto kitaku_syori2 end if else // waypoint に到着したが、別に目的地ではない。垂直動線でもない。次の waypoint を設 定する。 nearist()
*資料編
my.near_ID=Cint(replace(Cstr(replace(Cstr(my.nearest),"Universe.shopspace.node(","")),")","")) // もっとも近いものの ID my.Route_Count=0 // 初期化 my.WayPoint=universe.shopspace.node(cint(gettoken(universe.WayPoint(my.near_ID,my. dest_ID),1))) //waypoint 設定。近いところから目的地のやつの一個目。 my.WayP_ID=Cint(replace(Cstr(replace(Cstr(my.WayPoint),"Universe.shopspace. node(","")),")","")) //WayPoint の ID If universe.shopspace.node(my.wayp_id).layer-my.Layer <>0 then my.Layer=universe.shopspace.node(my.WayP_ID).layer my.X=universe.shopspace.node(my.WayP_ID).X my.Y=universe.shopspace.node(my.WayP_ID).y else end if end If end If end If end If }