• 検索結果がありません。

真円度問題 —計算幾何学的アプローチ—

N/A
N/A
Protected

Academic year: 2021

シェア "真円度問題 —計算幾何学的アプローチ—"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

一一計算幾何学的アプローチ一一

榎原博之

111川11111川11川111川11111川111川11川11川11川11川11川11川111川11川1111川'"川11川"川"川"川111川"川"川"川"川"川""'"川111川"川"川"川"川"川"川"川"川'"川"附"""川I川"川l川111川'"川"川"''''川"川"川"川"川'"川"川"川111川111川"川"附""川川"川"川"川"川"川"川"川11川"川"川11川"川11川'"川'"川11川11川"川"川"川"川11川11川11川11川11川11川"川11川111附"'"川11川11川11川11川11川11川11川"川"川11川11川"川"""川"川"川11川11川11川11川11川"川"川11川"川"川'"川'"川"川'"川"川11川11川11川11川11川"川"川"川"川""川"川"川"川"川"川"川"川"川""""川"川"川"川"川"川11川1"'''''11川"1川"川11川11川111'"l

1

.

はじめに

機械部品の精度として重要な幾何公差(形状公差)の 1 つに真円度[15J と呼ばれるものがある.これは, r 円筒 断面の輪郭を 2 つの同心円で挟んだとき,両円の間隔が 最小となる両円の半径差J と定義されている [8J. 真円度 は,円形状の機械部品ーたとえば,ポールベアリング, エンジンのシリンダ,ピデオテープレコーダのロータリ ーヘッドなどーの精度を測定するためにはなくてはなら ないものであり,真円度測定機と呼ばれる装置によって 測られる. 真円度測定機では,一般に輪郭形状を有限個の点集合 に置き換えて計算機で処理するため,筆者らはこの真円 度を求める問題を輿円度問題として次のように定式化し Tこ [2J. 実円度問題:平面上に n 個の点、が与えられたとき,同心 の 2 つの円を考え,その 2 つの円の間にすべての点が 含まれると L 、う条件のもとで,その 2 つの円の半径差 を最小にする問題(図1) この問題はある種の設備配置問題と考えることができ 応用の多い問題であると考えられる. この問題に対する古くから使われている解法は,最小 2 乗法による解法, Min.Max 法を適用した解法,シン プレックス法を用いた解法等があるが,近似解法に過ぎ ないとか,厳密解法であっても時間計算量に難点がある ものばかりであった [10J[14J[15J. そこで,筆者らは最近アルゴリズム理論の分野で非常 に注目されている計算幾何学[IJ[7J[11J( 特に,ボロノイ 図 [7J[11J[12J) をこの問題に適用することを考えた [3J. 計算織何学とは,幾何学に計算の複雑さの理論を導入し, 幾何学的な問題を計算機で効率よく処理するアルゴリズ ムを開発するとともに,その限界を究明する研究分野で ある. えばらひろゆき大阪大学工学部通信工学科 干 565 吹田市山田丘 2-1

8

2

図 1 真円度問題 本稿では,筆者らが提案した真円度問題に対する多項 式時間のアルゴリズムを述べ,それを実用的に効率の良 いものにするために,前処理として解の厳密性を保証し たまま不要点を削除するアルゴリズムを提案し,その実 用性を計算機実験を通して示す.

2

.

真円度アルゴリズム

2

.

1

ポロノイ図(勢力阻図) ボロノイ図とは,計算幾何学において非常に有名な概 念で,近さを効率良く表わす一種のデータ構造と考える ことができる.真円度問題だけでなく,各種の施設配置 問題に利用することが可能であり,現にいくつかの間題 に利用されている [12J. われわれの扱うボロノイ図は,ユークリッド距離 (L2 距離)における最近点のボロノイ図(一般のポロノイ図) と最違点のポロノイ図であるが k 番目までに近い点の ポロノイ図や,マンハッタン距離(ム距離)や L∞距離 などに対するものもある.また,点ばかりでなく直線や 多角形などに対するものもある.

2

.

1

.

1

最近点のボロノイ図 動丘点のポロノイ図(勢力圃図)は,次のように定義 されるものである [12J. 「平面上の n 個の点 Pt=(Xi, Yd (i=I , 2, … , n) に対

(2)

図 2 最近点のポロノイ図 して,点仇の‘勢力圏 . V( 九)を n V( ム )=piρ =(x.y)ld(Pi. ρ) 孟 d( ρj. ρ)) と定め , V( ム) (i = 1 , 2, •••. n )による平面分割j を最近点 のボロノイ図と呼ぶ(図 2

)

.

J

ここで ,

d

(Pi> P) は 2 点九 ρ のユーグリッド距離, すなわち . V(X-X;)2平 市=五)2である. ボロノイ図において,勢力圏 V( ρ;) を点、あのボロノ イ領域と呼び,これは凸多角形である.また,ボロノイ 領域の頂点をボロノイ点,辺をボロノイ辺と呼ぶ.

2

.

1

.

2

最速点のボロノイ図 最速点のボロノイ図(非努力圃図)は,次のように定義 されるものである [12J. 「平函上の n 個の点、 ρi=(Xi> Y;) (i =1.2, … .n) に対 して,点九の‘非勢力圏 . U( ん)を U( ん )=Jcy=(z,制 Id( 九州以 (Pj> ρ)) と定め, U( 九) (i=I. 2,

….

n) による平面分割を最遠点 のボロノイ図と呼ぶ(図 3

)

.

J 最遠点のボロノイ図の場 合はすべての点が領域を持つわけではなく,与えられた 点集合の凸包上の点についてのみ領域を持つ. これら 2 つのボロノイ図を構成するアルゴリズムは, 文献 [12J で提案されている.その時間計算量は,分割統 治法を使うことにより O(n

log

n) である.ただし,われ われの計算機実験の際には,平均的には計算時聞が短い 文献 [6J の逐次添加法を用いた.この時間計算量は O(n2) である.

2

.

2

真向度アルゴリズム 真円度問題において,真円度を決める同心円の中心は その中心から最も近い点、( 1 点とは限らな L 、)と最も遠

図 3 最遠点のボロノイ図 い点( 1 点とは限らな L 、)の距離の差が最小になる点であ る. ところで,与えられた点についてのボロノイ図を考え ると,最近点のボロノイ領域内の任意の点はその領域に 対応する点が最近点であり,最速点のボロノイ領域内の 任意の点、はその領域に対応する点が最遠点、になってい る.ここで,最近点のボロノイ図と最遠点のポロノイ図 の結び(Ui non) をとると(図 4 ),各結びの領域内の任 意の点は最近点と最遠点が唯一に決められていることに なる. このことから,真円度を決める同心円の中心は与えら れた n 個の点に対する 2つのボロノイ図の結びの領域(凸

,,

,,

,,

f J

,,

, r

,“

-~

-

-

-

-

-thenearest~point Voronoi diagram the farthest-point Voronoi diagram 図 4 最近点のボロノイ図と最遠点のボロノイ図の結び

8

3

(3)

union polygon u : theneUl'e~t pllt u : Lhefarthc凶tpOlllL 図 5 距離の差の関数と凸領域 領域となる)について,その各領域内の点の中で対応する 最近点と最遠点の距離の差を最小とする領域内の点を見 つければよいこととなる. ここで,距離の差の関数は双曲線となるので,結びの 領域側(最近点側)からみると凹関数であり,結びの領域 は凸であるので厳密解は必ず結びの領域の頂点に存在す る(図 5 ).すなわち,真円度を決める同心円の中心は, 最近点のボロノイ点,最遠点、のボロノイ点,あるいは, 最近点のボロノイ辺と最遠点のボロノイ辺の交点に存在 する.しかし,実際には最近点のボロノイ点と最速点の ボロノイ点には厳密解が存在しないことが証明できるの で,ボロノイ辺の交点のみを調べればよいことになる

[

4

J

.

以上の論拠にもとづいた真円度を求めるアルゴリズム を[アルゴリズム 1 J として次に述べる. C アルゴリズム1] step 1 最近点のボロノイ図を構成する. step 2 最遠点のボロノイ図を構成する.

step 3 step 1 , 2で求めた 2つのボロノイ図の結び(Uin­ on) をとる. step 4 2 つのボロノイ図の結びの図の中で,最近点のボ ロノイ辺と最遠点のボロノイ辺との交点に対し て,その点からの最近点と最遠点の距離の差を求 める. step 5 最近点、と最遠点の距離の差が最小となる点とそ の値を求める.最小となる距離の差が真円度あで り,最小となる点が真円度を決める同心円の中心 である. [アルゴリズム1] の時間計算量を考える. step 1, 2

は O(nlogll) あるいは O(n2) である. step 3, 4, 5 て1土,

8

4

(30) 図 6 真円度問題における不要点 ボロノイ辺の交点を求めている.ボロノイ辺の数はおの おの O(n) であり,その交点の数はたかだか O(n2) であ る.したがって,全体の時間計算量は O(n2) となる.こ こで,ボロノイ辺の交点の数が O(n2) となる例がすでに 知られている[

4

]

.

3

.

改訂真円度アルゴリズム

3.1 不要点の削除 実際の真円度調u定においては実時間性も要求され,真 円度の計算は 30秒以内(遅くても 1 分以内)が望まれる. しかし,データ点の数は 1000点以上であり,いくら多項 式時間でも O(n2) では十分な速度が得られず,高速化が 必要である. ここで,もう一度真円度問題を考えてみる.与えられ た n 個の点、の中には明らかに不要であると考えられる点 (外接円あるいは内接円に関与しない点)がたくさん存 在する(図 6 ).これらの点(不要点)を厳密性を保証し たままあらかじめ削除することができれば,高速化が図 れると考える. 具体的には,まず,与えられた点に対して内接円に関 与しない点の削除を行ない,これらの点に対して最近点 のボロノイ図を構成する.次に,もとの与えられた点に 対して外接円に関与しない点の削除を行な L 、,これらの 点に対して最遠点のボロノイ図を構成する.そして,最 後にこれら 2 つのポロノイ図の結びをとり,その交点か ら真円度を求める. 次に,厳密性を保証するための定理とアルゴリズムを 述べる. 3. 1. 1 内接円に関する不要点削除 最遠点対を用いた内接円の半径の下界に関する定理を 以下に示す. [定理 1

] データ点集合の最遠点対の中点を OF ,最遠

オベレーションズ・リサーチ

(4)

pointα , b: the farthest pair pointOF : the center of the farthest pair

Mr2

図 7 [定理 1 J の説明図 点、対の距離を D とする.点、 OF から最も近いデータ点ま での距離を Rin,最も速いデータ点までの距離を Rout と

すると, Rinー (Rout-g) は真向度の厳密解を与える

内接円の半径の下界となる(図 7 ). [証明]

r=~, d=R叫 -r とするここで , Rout -R川真円

度の上界を示すことに注意しておく. このとき , R'in< Rin-d なる内接円の半径を持ち,かっ Rout -Rin 未満 の真円度を与えるような真円度の中心は存在しないこと

を以下に示す.

Rout -Rin=(Rout-d) ー (Rin-d)=r ー (Rin-d)

また Rin-d より半径の小さい半径 R'in を持つ内接 円の中心 S が存在するとする.そして,点 S を中心とす る外接円の半径を R'out とする. 2r=D は最遠点対聞の距離を示しているので, r 三王(最小外接円の半径) よって, R'out> r である.また,仮定により, R'in<Rin ー d であるので,

Rout -Rin=r-(Rin-d)<R'out -R'in である. [証明終り〕 [定理1]から厳密性を保証した次のような内接円に関 する不要点削除アルゴリズムを導くことができる([アル ゴリズム 2

J

)

.

このアノレコリズムは R.

L

.

Graham の凸 法アルゴリズム [5J と類似の形で形成されている. ここで,データ点は半時間回りにポインタでつながれ 1992 年 2 月号 ているものとする. [アルゴリズム 2J では. 11原方向のポ インタを L[ 'OJ. 逆方向のポインタを R[ 'O] で表わす. [アルゴリズム 2

]

step 1 データ点集合の最遠点、対をキャリパ一法により 求める [13J. step 2 最遠点対の中点を OF とする.また,最遠点対 の距離を D とする. step 3 点 OF に最も近い点までの距離を Rin, 点。F に 最も遠い点までの距離を Rout とする.

向 4 RL=Rinー(んut-3) とする

step ラ最遠点対のどちらか一方を start とする. 特に R[start] = start とする. step 6 '0: =start; WHILE (L[ '0]

=

t

-

start)

IF( '0, L['O], L[L[ 'O JJ が左折れ )THEN

1':

=(

'0, L['O], L[L[ 'O]] の 3 点でできる円の半径); IF(r<RL) THEN L[ 'O] を削除; 'O:=R['O]; ELSE 'O :=L[叶; END; ELSE '0:

=L[

'O]; END; END; 3.

1

.

2 外接円に関する不要点削除 最大内接円を用いた外接円の半径の上界に関する定理 を以下に示す. [定理 2] データ点集合の最大内銭円の中心を OL とし, 点。 L から最も遠いデータ点までの距離を Rout とする と , Rout は真円度の厳密解を与える外接円の半径の上界 となる(図 8 ). [証明]

最大内接円の半径を Rin とすると , Rout -Rin は真円 度の上界となることは明らかである.このとき , R'out> Rout なる外接円の半径を持ち,かっ Rout -Rin未満の真 円度を与えるような真円度の中心は存在しないことを以 下に示す. Rout より大き L 、 R'out の半径の外接円を持つ中心 S が 存在し,点、 S を中心とする内接円の半径を R'in とする. Rin' 土最大内接円の半径であるから, R'in<Rin

8

5

(5)

p

o

i

n

t

OL :

t

h

e

c

e

l

l

t

e

r

o

f

t

h

c

lar昌;e8t

e

m

p

t

y

c

i

r

c

l

e

図 8 [定理 2J の説明図

である.また,仮定により,

R'out

>

Rout であるので,

R'out -R'in>Rout -Rin である. [証明終り] [定理2]から厳密性を保証した次のような外接円に関 する不要点削除アルゴリズムを導くことができる( [アル ゴリズム 3 J). ここで,データ点のつながりは[アルゴ ズリム 2 J と同様である. [アルゴリズム 3

J

s

t

e

p

1 データ点集合の最大内接円の中心 OL を求める.

s

t

e

p

2 点。 L から最も遠いデータ点までの距離を Ru とする.

s

t

e

p

3 点。L から最も遠いデータ点を start とする.特 に, R[startJ=start とする.

step4 v:=start;

WHILE

(L[vJ*start)

r: =( v

,

L[vJ

,

L[L[vJJ の 3 点でできる円の半径); IF(r>Ru)

THEN

L[vJ を削除 L v:=R[vJ;

ELSE

v:=L[vJ;

END;

END;

3.2 改訂真円度アルゴリズム 以上の考察から 2 つの不要点削除アルゴリズムを組 み込んだ改訂真円度アルゴリズムを〔アルゴリズム 4 J と して述べる. [アルゴリズム 4

J

8

6

(32)

s

t

e

p

1

[内接円に関する不要点削除]を行なう.

s

t

e

p

2 step 1 で残った点集合で最近点のボロノイ図を

機成する.

step

3 最近点、のボロノイ図を利用して, [外接円に関す る不要点削除]を行なう.

s

t

e

p

4 s

t

e

p

3 で残った点集合で最遠点のポロノイ図を 構成する.

s

t

e

p

5 step

2 で構成した最近点、のボロノイ図と step

4

で構成した最違点のポロノイ図の結びをとる.

s

t

e

p

6

2 つのポロノイ図の結びの図の中で最近点のボロ ノイ辺と最速点のボロノイ辺との交点に対して,そ の点からの最近点と最速点の距離の差を求める.

s

t

e

p

7 最近点、と最遠点、の距離の差が最小となる点とそ の{直を求める.最小となる距離の差が真門度であり 最小となる点が真円度を決める同心円の中心である

4

.

計算機実験

実際の真向度測定に対して, [改訂真円度アルゴリズ ム]を適用した場合の効果を検証するために計算機上で 実験を行なう. 本実験で用いたデータは,実際の真円度調g定機から得 られたもので,約 3cmの円筒状断面より原点を中心とし 反時計回りに 0.2 度ごとに 1800点サンプリングしたもの である.また,データの半径方向の偏移は数 μm 程度で、 ある.実際に用いた計算機は, CPU として MC68020を もったソニー製の UNIX ワークステーションであり,使 用言語は C 言語である. 表 1 に,凸包上のデータ点数とそれぞれの不要点削除 によって残ったデータ点数を示す. 表 2 には, [アルゴリズム1]と〔アルゴリズム 4J の計 算時間の比較を示す. 実験結果から,不要点削除を行なえばそれぞれのボロ ノイ図を構成するのに必要なデータ点の数は,最近点の ボロノイ図の構成で約20分の 1 ,最遠点のボロノイ図の構 成で約200分の l で済むことがわかる.また,計算時間で は 20倍以上高速になっている.ここて、, [内接円に関する 不要点削除]で削除されるデータ点の数が少ないのは,内 接円の半径の下界が最遠点女すから求められており, [外接 円に関する不要点削除]での外接円の半径の上界に比べ て良くないためであると考えられる. 5. むすび 本稿では,著者らのアルゴリズムを中心に真円度問題

(6)

表 1 各不要点削除後に残るデータ点の数 データ 11 凸包上の |不要点削除後に残ったデータ数 N'0. データ点数| 内接円 │ 外接円 │1273

107~I

_ 5 2 1 2 9 7 114 12 3 1 2 7 3

102

7

4 11254 111 13

ー-5~-11-1233

22

L__~~一一

三寸

1201 112 7 7 11 1170

し一三三

i

?-8

11ω9

4

;千五「

IiF下

76.3 1 6.9 について計算幾何学と関連づけながら概説した.少し理 表 2 [アルゴリズム 1 J と[アルゴリズム 4J の計算 時間の比較

デ~タ 1

計算時間(秒) [アルゴリズム 1 J 1 [アルゴリズム 2J 1 1 116.2 6.26 2 1 1 1 4 2 . 3 7.00 3

11

兄 5

6.41

4--11 一つ五 4

下一

6.7 5 5 9 . 1 4.86 6 九 9 9.39 子 r--

1

~-I一一一正面一一 8 仏 57.89 平均 149.7 6.95 論的になってしまったのではな L 、かと危倶している Computer Journal, vo

l.

21, no.2, pp.168~173 ,

本稿では述べなかったが,真円度問題に関して別の定 1978.

式化が提案されており,理論的に面白い結果が出ている

[7]

伊理正夫監修/腰塚武志編集:“計算幾何学と情報 [9J. また,詳しいことはまだ良く知らないが,この真円 処理'\bit 別冊,共立出版, 1986年.

度問題に対する O(J) アルゴリズムが提案されたという

[8 J 1SO R1101/1, 1969.

噌である・まだただ興味深い問題のようである・

[9J V.B. LeandD.T.

Lee: “Out-Of・Roundness

最後に,本稿の解法に関してご指導いただ L 、た大阪大 Problem Revisitedヘ 1EEE Trans. on Pattern

学名営教授(現在,国立奈良工業高等専門学校校長)中西

Analysis and Machine 1ntelligence, vo

1.1

3, no.

義郎先生と,大阪大学工学部助教授中野秀男先生に感謝

3,

pp.217~223,

199

1

.

の意を表す.また,本稿の解法に関して共同研究者であ

[10J T.S.R. Murshy and S.Z. Abdin:“Minimum

Zone Evaluation of Surfaces", 1nternational った現在富士通株式会社の福山訓行氏に感謝する.

Journal of Machine Tool Design & Research

,

参芳文献 vo

1.

20

,

pp.123-137

,

1980.

[ 1 J 浅野哲夫:“計算幾何学ヘ朝倉書店, 1990年. [2 J H. Ebara, N. Fukuyama, H. Nakano, and

日 1J F. P. Preparata and M.

1

.

Shamos: “

Com-putational Geometry -An Introduction 一"

Y.

Nakanishi

A Practical Algorithm for Springer-Verlag, 1985.

Computing the Roundness"

,

Trans. IEICE

,

[12J M.

1

.

Shamos ond D. Hoey:“Closest-Point

to appear. Problems"

,

Proceedings of 16th Annual IEEE [ 3 J 擾原博之,中野秀男,中西義良11 ,真凶友宏:“ボロ Symposium on Foundations of Computer

ノイ図を応用した真円度を求める解法'二信学論,Vo

l

.

Science, pp.15 ト 162 , 1975.

]70-A, No.4, pp.620-624, 1987年 [13J G. T. Toussaint “Solving Geometric

[4J 福山訓行:“ボロノイ図を用いた真円度計算に関す Problems with the Rotating Calipers",

Proce-る研究大阪大学工学部通信工学科,修土論文, 1988 edings of IEEE MELECON '83, 1983.

年 [14J T. Tsukada and T. Kanada:

Measurement

[ 5 J R.

L

.

Graham: “An Efficient Algorithm of Cylindrical Form Errors Using a Non-for Determining the Convex Hull of a Finite Contact Detector'¥Precision Engineering

,

Planar Set", Information Processing Letters, vo

l.

4, pp.153-158, 1982.

vo

l.

1, pp.132-133, 1972. [15J 塚田忠夫,金田徹,奥田謙造:“最適化技法を用い

[ 6 J P. J. Green and R. Sibson:“Computing た辰小領域法真円度の評価法",精密機械, Vo

l.

49, Dirichlet Tessellations in the Plane'¥The No.10

,

pp.1351-1357

,

1983年.

図 2 最近点のポロノイ図 して,点仇の‘勢力圏 . V( 九)を n  V( ム )=piρ =(x.y)ld(Pi. ρ) 孟 d( ρj. ρ)) と定め , V( ム) ( i  = 1  , 2, •••
表 1 各不要点削除後に残るデータ点の数 データ 11 凸包上の |不要点削除後に残ったデータ数 N'0. データ点数| 内接円 │  外接円 │1273  107~I  ̲ 5   2 1 2 9 7   1 1 4  1 2  3 1 2 7 3   102 下 7 4  11254  1 1 1  1 3  ー-5~-11-1233 2 2  L__~~一一 三寸 1 2 0 1  1 1 2  7  7  1 1 1 1 7 0  し一三三 i  ?‑ 8  11ω9  4  ;千五「 IiF下 7

参照

関連したドキュメント

定可能性は大前提とした上で、どの程度の時間で、どの程度のメモリを用いれば計

  事業場内で最も低い賃金の時間給 750 円を初年度 40 円、2 年目も 40 円引き上げ、2 年間(注 2)で 830

 東京スカイツリーも五重塔と同じように制震システムとして「心柱制震」が 採用された。 「心柱」 は内部に二つの避難階段をもつ直径 8m の円筒状で,

利用者 の旅行 計画では、高齢 ・ 重度化 が進 む 中で、長 距離移動や体調 に考慮した調査を 実施 し20名 の利 用者から日帰

・ 2017 年度助成先(事業対象地 4 ヶ国、 7 件、計 651.1 万円)からの最終報告書のと りまとめ、 2018 年度助成事業(3 ヶ国、3 件、計 300

新々・総特策定以降の東電の取組状況を振り返ると、2017 年度から 2020 年度ま での 4 年間において賠償・廃炉に年約 4,000 億円から

日本における社会的インパクト投資市場規模は、約718億円と推計された。2016年度の337億円か

なお、2011 年度のコスト削減額の実績は、緊急特別事業計画で掲げた 434 億円を 12 億円 上回る 446