すごろくのルート検索

26
不不不不不不不不 不不不不不不不不不不不不不不不不不不不 t.tsugehara

Upload: toyokazu-tsugehara

Post on 11-Jun-2015

289 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: すごろくのルート検索

不思議のすごろく移動とマス内容生成アルゴリズムについて

t.tsugehara

Page 2: すごろくのルート検索

このスライドについて• すごろく自動生成で各マスの内容を生成

する際、特殊な通路探索アルゴリズムが必要になるかと思ったので、それについてまとめます

• ついでに不思議のすごろくでの移動経路についてもちょっと考えてみます

Page 3: すごろくのルート検索

今回使うすごろく

赤がスタート、黄色がゴール、灰色がメイン通路、緑色が枝道、白は壁

Page 4: すごろくのルート検索

最短ルート

これを求めても今回あまり意味は無い

Page 5: すごろくのルート検索

スコア制による評価

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

マス目ごとの最短到達量をポイント化したこういうのが必要

Page 6: すごろくのルート検索

いったん寄り道して不思議のすごろくでの進行経路

• 不思議のすごろくはスタートからゴールまで一方通行のすごろく

• 分かれ道はあるけど、必ず前進しないといけないという仕様

• これを基に、どういう経路になるかを考えてみる

Page 7: すごろくのルート検索

通行可能経路 - 1

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

右はいける、左はいけな

Page 8: すごろくのルート検索

通行可能経路 - 2

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

右も上もいける

Page 9: すごろくのルート検索

通行可能経路 - 3

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

右はいける。下は?

この通路が生きて

Page 10: すごろくのルート検索

通行可能経路 - 4

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

上はいける。下は無理

Page 11: すごろくのルート検索

通行可能経路 - 5

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

上も左も可

Page 12: すごろくのルート検索

通行可能経路 - 6

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

GOAL!

ここまでの所要距離は23 。

Page 13: すごろくのルート検索

通行可能経路についてまとめ• 道の遠近に関わらず、その通路を辿って、かつ

自分が通った道に触れずにゴールまでいける道が残っている場合、その通路を選択することが出来る

• ということで、通行可能経路 – 3 のスライドでは下方向に移動が出来ることになる– でも下方向に移動した次の分かれ道では必ず右曲

がりをしないといけない• 自分が通った道次第で通らなかった道は自動的

に死ぬ

Page 14: すごろくのルート検索

マス内容自動生成に戻る

Page 15: すごろくのルート検索

コールバック呼び出し順序

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

スコア順に呼ばれる

1

2

3

3

4

4

4

Page 16: すごろくのルート検索

コールバックに渡すべきパラメータ

前のマス情報というのを渡すべき

1

2

3

3

4

4

4

パラメータ無し

1

21

21

321

321

321

マス情報に含まれるのは、x, y, マス内

容かな。

スコア順に呼ばれるので、通常のケースでは [3] のタイミングでは [1][2] の処理は終わっており、マス生成の際に参考に出来る

Page 17: すごろくのルート検索

Page 18: すごろくのルート検索

問題が起きるケース

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

6

この 6 までの経路は二

21 543

21 543

76 98

この辺がまだ作れてない

Page 19: すごろくのルート検索

スコア評価を最短到達距離ではなく最長到達距離にすれば解決だが・・・

2

1

3 4 5 6 7

12

11

10

9

8

例えばここまでの到達ルー

Page 20: すごろくのルート検索

7

6

5

4

8

3

9

2

1

10

11

12

13 14 15 16 17

21

20

19

18

2

1

6

5

4

3

7

9

8

10 11 12

7

6

5

4

8

3

9

2

1

10 11

13

12

14 15 16

2

1

3 4 5 6 7

16

10

9

8

15

11

14

13

12

こんなにある

7

6

5

4

8

3

9

2

1

10

11

12

13 14 15 16 17

26

20

19

18

25

21

24

23

22

Page 21: すごろくのルート検索

ゴールまでならこんなルートも

7

6

5

4

37

36

35

8

3

40

39

38

34

9

2

1

41

33

10

11

12

13

42

32

14

43

57

31

30

29

15

44

56

28

16

45

55

54

27

17

46

53

26

20

19

18

47

52

25

21

48

49

50

51

24

23

22

Page 22: すごろくのルート検索

事前ルートとしてかぶってる例

2

1

4

3

7

6

5

4

8

3

9

2

1

10

11

12

13

4 の事前は 3 13 の事前は 12

こうなると、最長距離を求める計算が無限ループになってしまう

最長距離は求められない

Page 23: すごろくのルート検索

どうしたらいいんだべ

Page 24: すごろくのルート検索

これ許可するしかないんじゃないの

7

6

5

4

17

16

15

8

3

28

29

18

14

9

2

1

27

19

13

6

5

4

3

26

20

12

7

4

25

21

11

10

9

8

5

24

22

10

6

23

21

20

11

7

22

19

12

11

10

9

8

21

18

13

11

20

19

18

17

16

15

14

13

12

6

この 6 までの経路は二

21 543

21 543

76 98

7, 8, 9 は無いからその辺はコールバック先ががんばってくれ!

Page 25: すごろくのルート検索

まだ決めかねてますが

Page 26: すごろくのルート検索

多分許可するしかないでしょう。