JP3573671B2 - Euler square creation device - Google Patents

Euler square creation device Download PDF

Info

Publication number
JP3573671B2
JP3573671B2 JP35403899A JP35403899A JP3573671B2 JP 3573671 B2 JP3573671 B2 JP 3573671B2 JP 35403899 A JP35403899 A JP 35403899A JP 35403899 A JP35403899 A JP 35403899A JP 3573671 B2 JP3573671 B2 JP 3573671B2
Authority
JP
Japan
Prior art keywords
symbol
euler
square
same
euler square
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35403899A
Other languages
Japanese (ja)
Other versions
JP2001175169A (en
Inventor
徹 伊東
Original Assignee
株式会社ネットコムセック
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ネットコムセック filed Critical 株式会社ネットコムセック
Priority to JP35403899A priority Critical patent/JP3573671B2/en
Publication of JP2001175169A publication Critical patent/JP2001175169A/en
Application granted granted Critical
Publication of JP3573671B2 publication Critical patent/JP3573671B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はオイラー方陣の作成装置に係り、特に符号変換の変換表や暗号書表、更には実験計画法等に利用されているオイラー方陣の作成装置に関する。
【0002】
【従来の技術】
従来のオイラー(Euler)方陣の作成方法について説明する前に、まずラテン方陣について説明する。n個の記号からなる集合A={a1,...,an}の各元をn回ずつ使って、合計n個をそれぞれn個の要素をもつ行列に配列し、各方向において、Aの各元が一度ずつ現れるものをA上のラテン方陣、あるいはn次ラテン方陣という。
【0003】
また、第1行及び第1列が共に自然順列であるものを既約な、あるいは標準形のラテン方陣という。その既約な、あるいは標準形のラテン方陣の個数をL(n)で表すと、n次ラテン方陣の総数はn!(n−1)!L(n)となる。L(n)の値はnが9以下のとき、すなわち、n=1〜9のときは次の通りになる。
L(1)=1
L(2)=1
L(3)=1
L(4)=4
L(5)=56
L(6)=9408
L(7)=16942080
L(8)=535281401856
L(9)=37759570964258816
【0004】
ここで、2つのラテン方陣L=(A,○)と、L′=(A,●)とを重ね合わせたときに現れる文字の対がすべて相異なる場合、すなわちx○y=x′○y′、x●y=x′●y′x=x′、y=y′が成り立つ場合には、LとL′とは直交するといい、これら2つのラテン方陣LとL′を重ね合わせた方陣を直交ラテン方陣、あるいはオイラー方陣、あるいはグレコ・ラテン方陣と呼ぶ。グレコ・ラテン方陣の名称は、要素の第1文字をギリシャ文字で表し、第2文字をラテン文字で表したことに由来する。
【0005】
nが2と6以外の数ならば、n次のオイラー方陣が存在する。nが2のときはオイラー方陣が存在しないことは容易に理解できるが、nが6のときには、公知のオイラーの士官36人の問題による。この問題は、文献(山本幸一著:「組合せ数学」、39頁、朝倉書店)に詳細に開示されている。これは「六つの連隊から6階級の士官(大佐・中佐・少佐・大尉・中尉・少尉)を各1人ずつ合計36人で6行6列の行列の方陣に並んで各行各列に各連隊の各階級の士官が代表されることができるか。」という問題である。
【0006】
本発明者は、オイラー方陣の個数が1次のとき1個、2次のとき0個、3次のとき72個、4次のとき6912個、5次のとき6220800個であることを本方法により確認した。
【0007】
図11(a)は4次の要素A={0,1,2,3}のオイラー方陣の基本形を示し、図11(b)は4次の要素A={1,2,3,4}のオイラー方陣の基本形を示す。図11(c)は4次の下位の要素A={a,b,c,d}と上位の要素A={α,β,γ,δ}のオイラー方陣の基本形を示す。
【0008】
【発明が解決しようとする課題】
従来のオイラー方陣の作成方法では、オイラー方陣の規則的な作成が困難で、試行錯誤的に作成を行っており、例えば、図12に示す4次のオイラー方陣を求める場合、図13(a)と同図(b)に示すその次数の直交する2つのラテン方陣を重ね合わせて、その結果の記号に同一なものがないか調べて、同図(c)に示すオイラー方陣を作成するようにしている。ここで、図13(c)に示すオイラー方陣の各桝目の2桁の記号(ここでは数字)のうち、左側の記号が同図(a)に示すラテン方陣の対応する桝目の数字であり、右側の記号が同図(b)に示すラテン方陣の対応する桝目の数字である。
【0009】
このため、従来の作成方法では、オイラー方陣の作成が難しく、かつ、面倒であるばかりでなく、作成できるオイラー方陣の数が限定され、このため、オイラー方陣の利用価値及び利用効果を高めることができない、という問題がある。
【0010】
そこで、本発明は上記の従来の技術の課題を解決すべくなされたもので、所望の次数のオイラー方陣を一定の手法に従って規則的に、しかも、簡単に作成し得るオイラー方陣の作成装置を提供することを目的とする。
【0011】
また、本発明の他の目的は、オイラー方陣の利用範囲を広げ、かつ、オイラー方陣の利用価値及び利用効果を飛躍的に高め得るオイラー方陣の作成装置を提供することにある。
【0012】
【課題を解決するための手段】
上記の目的を達成するため、請求項1記載の発明は、n行n列(nは6を除く3以上の整数)の全部でn 2 個の記憶素子を有し、その記憶素子のそれぞれには、互いに異なるn個の記号の中から重複を許して任意に選択した2つの記号m1とm2とが対になった記号mが格納されるオイラー方陣記憶用配列と、オイラー方陣記憶用配列のn 2 個の記憶素子のうち、設定された位置の記憶素子を指定する指定手段と、指定手段により指定された位置の記憶素子から記憶記号を読み出す読み出し手段と、指定手段により指定された位置の記憶素子に、入力された記号を格納する書き込み手段と、読み出し手段により読み出した記号と入力された記号とを比較する記号比較部と、作成しようとするオイラー方陣の次数nと、記号m1及びm2をn個の記号の中から選択する選択順序と、オイラー方陣記憶用配列の記号mが最初に配列される位置と、記号mをオイラー方陣記憶用配列の行方向又は列方向に沿って配列する順序と、記号mの最初の値がそれぞれ設定され、記号比較部からの比較結果を受けて、指定手段、読み出し手段及び書き込み手段を制御してオイラー方陣記憶用配列にn次のオイラー方陣を格納させる演算部とを有する構成としたものである。
ここで、上記の演算部は、オイラー方陣記憶用配列の最初の配列位置として設定された記憶素子に、設定された最初の値の記号mを設定し、続いて、最初の配列位置の次の位置の記憶素子に、記号mの最初の値を書き込み手段及び指定手段を介して格納してから、その記憶素子に格納する記号mを、記号比較部の出力比較結果に基づいて、その位置よりも前の位置の記憶素子に格納されている記号と同じ記号が無くなるまで選択順序で次々と変えていき、前の位置の記憶素子に格納されている記号と同じ記号が無く、かつ、同じ行と列のそれまでの位置の各記憶素子に同じ値の記号m1又はm2が無い記号mを格納した後、更に次の位置の記憶素子に最初の値の記号mを書き込み手段及び指定手段を介して格納してから、その次の位置の記憶素子の記号mを、記号比較部の出力比較結果に基づき、上記次の位置の記憶素子よりも前の位置の各記憶素子に同じ記号が無く、かつ、同じ行と列のそれまでの位置に同じ値の記号m1又はm2が無い記号mが現れるまで選択順序で次々と変えて格納していくことを、n行n列の最後の位置の記憶素子まで、設定配列順序に従って繰り返し、同じ値の記号mを構成する2つの記号m1とm2の対が、オイラー用方陣記憶用配列の全ての記憶素子に2回以上格納されないようにしてオイラー方陣を作成することを特徴とする。
【0013】
この発明では、作成するオイラー方陣の次数nを設定すると共に、この次数n分の記号mを順列及び順列に従った選択順序を定めて設定するが、この記号mの順列及び順列に従った選択順序とは、例えば次数が3次で記号mとして(0,1,2)を設定した場合、記号mを構成する2つの記号m1及びm2の対が、00→01→02→10→11→12→20→21→22を順列(自然順列)とすると定めることであり、また、00→01→02→10→11→12→20→21→22の順に選択することを定めることである。
【0014】
オイラー方陣の各位置に対する配列要素としての記号mの一つ前の選択決定は、この発明では、最初の位置から図6(a)の列方向又は同図(b)の行方向で行われるが、記号mの選択決定に際しては、その位置の他の既に設定されている位置の配列要素と異なる記号を選択し、更にその位置の同じ行及び列の前の位置の記号mの上位m1と下位m2とが行列上の他の位置とそれぞれ異なった値を選択するので、これを繰り返すことにより、オイラー方陣の作成が達成されることになる。
【0015】
また、上記の目的を達成するため、請求項2記載の発明は、請求項1記載の発明の演算部が、n行n列の各位置毎に、同一行及び列の前の位置の既に決定されている配列要素と記号mの2つの記号m1とm2の対がそれぞれ同一とならないように、記号m1とm2を選択順序で次々と変えていったときに、最後の記号まで調べ終わって選択決定できる記号mが無いときは、その位置KIJの一つ前の位置KI(J-1)又はK(I-1)J の記憶素子に、記号mの最初の値を書き込み手段及び指定手段を介して格納してから、その位置K I(J-1) 又はK (I-1)J の記憶素子に格納する記号mを、記号比較部の出力比較結果に基づいて、その位置K I(J-1) 又はK (I-1)J のよりも前の位置の記憶素子に格納されている記号と同じ記号が無くなるまで選択順序で次々と変えていき、前の位置の記憶素子に格納されている記号と同じ記号が無く、かつ、同じ行と列のそれまでの位置の各記憶素子に同じ値の記号m1又はm2が無い記号mを格納することを特徴とする。
【0016】
この発明では、途中の位置で選択決定できる記号mが無いときは、その位置KIJの一つ前の位置KI(J-1)又はK(I-1)Jに戻して既に決定されている配列要素の記号mに代えて、処理を継続させるようにしているため、選択決定することのできる記号mが無かった一つ前の位置KI(J-1)又はK(I-1)Jで、少なくとも前の位置で変えられた記号mを選択決定できる可能性を得ることができる。
【0024】
また、上記の目的を達成するため、請求項記載の発明は、n行n列(nは6を除く3以上の整数)の全部でn2個の記憶素子を有し、記憶素子のそれぞれには、互いに異なるn個の記号の中から重複を許して任意に選択した2つの記号m1とm2とが対になった記号mが格納されるオイラー方陣記憶用配列と、オイラー方陣記憶用配列のn2個の記憶素子のうち、設定された位置の記憶素子を指定する指定手段と、指定手段により指定された位置の記憶素子から記憶記号を読み出す読み出し手段と、指定手段により指定された位置の記憶素子に、入力された記号を格納する書き込み手段と、読み出し手段により読み出した記号と入力された記号とを比較する記号比較部と、作成しようとするオイラー方陣の次数nと、記号m1及びm2をn個の記号の中から選択する選択順序と、記号をオイラー方陣記憶用配列の行方向又は列方向に沿って配列する順序と、予め用意した既存の第1のオイラー方陣がそれぞれ設定され、記号比較部からの比較結果を受けて、指定手段、読み出し手段及び書き込み手段を制御してオイラー方陣記憶用配列に第2のオイラー方陣を格納させる演算部とを有する構成としたものである。
【0025】
ここで、上記の演算部は、指定手段、読み出し手段及び書き込み手段を制御してオイラー方陣記憶用配列に第1のオイラー方陣を記憶した後、設定された第1のオイラー方陣の指定位置において、指定位置の記号を次の選択順序の記号に置き換えて、指定位置よりも前の位置に同じ記号があるか調べ、同じ記号が無くなるまで指定位置の記号を選択順序で次々と変えていき、前の位置に同じ記号が無く、かつ、同じ行と列のそれまでの位置に同じ値の記号m1又はm2が無い記号を、オイラー方陣記憶用配列の指定位置に対応する記憶素子に格納し、選択順序を変えて最後の記号まで調べ終わっても、一つ前の位置までに同じ記号があるか同じ行と列のそれまでの位置に同じ値の記号m1又はm2があるために、選択決定できる記号が無いときは、指定位置KIJの一つ前の位置KI(J-1)又はK(I-1)Jに戻して指定位置とし、位置KI(J-1)又はK(I-1)Jの記号の次の選択順序の記号に置き換えてから、位置KI(J-1)又はK(I-1)Jよりも前の位置に同じ記号mが無く、かつ、同じ行と列のそれまでの位置に同じ値の記号m1又はm2が無い記号mを、オイラー方陣記憶用配列の指定位置 I(J-1) 又はK (I-1)J に対応する記憶素子に格納させる処理を行うことを繰り返して、前の位置に同じ記号mが無く、かつ、同じ行と列のそれまでの位置に同じ値の記号m1又はm2が無い記号mを配置できたときは、記号mを配置できた位置の次の位置から第1のオイラー方陣の最終位置まで、設定した配列順序で処理を継続する。
【0026】
この発明は、同一行及び列の前の位置の既に決定されている配列要素の記号mを構成する2つの記号m1とm2の対が、n行n列のすべての位置に2回以上出現しないようにして、第1のオイラー方陣とは異なる第2のオイラー方陣を作成するもので、第1のオイラー方陣として作成した第2のオイラー方陣を設定することを繰り返すことにより、同じ次数で同じ記号のオイラー方陣をすべて作成することができる。
【0027】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に説明する。なお、以下の説明では、説明の便宜上、次数nを4とし、記号mは自然数(0,1,2,3)とし、その順列及び選択順は自然順列の通りとする。ここで、図13と共に前述したように、オイラー方陣の各桝目の記号mは二つの記号m1及びm2の対からなり、上記の自然順列とは記号m1及びm2からなる対(m1,m2)を(0,0)→(0,1)→(0,2)→(0,3)→(1,0)→(1,1)→(1,2)→(1,3)→(2,0)→(2,1)→(2,2)→(2,3)→(3,0)→(3,1)→(3,2)→(3,3)の順の順列のことである。
【0028】
図1は本発明になるオイラー方陣の作成装置の一実施の形態のブロック図を示す。同図において、演算部1は、ソフトウェア的に演算処理を実行する他に、次数n、記号mの順列と選択順、最初に配列要素EIJを選択決定する位置KIJ、配列要素EIJを選択決定する順序、そして本実施の形態で作成されるオイラー方陣のそれぞれの設定を行う回路部で、予め定められた制御プログラムに従って各種の演算の実行を行い、作成するオイラー方陣Rのデータの行列位置の指定と比較判断及び設定、読み取りを行う。
【0029】
上記の作成するオイラー方陣Rは、次数がnの場合は図2に示すように、n行n列からなり、I行J列の位置はKIJで表され、その位置KIJに配列される配列要素(記号m1、m2)はEIJで表される。図1中のオイラー方陣記憶用配列9は、n次のオイラー方陣を作成するときには、図2に示したオイラー方陣Rと同様にn行n列の、全部でn個の配列子(記憶素子)からなり、そのうちのI行J列の位置KIJの配列子は9IJで表される。ここで、各配列子9IJは、それぞれ2つの記号m1及びm2を記憶する。なお、前記したように、ここではn=4である。
【0030】
行位置設定用記憶部2は、演算部1の出力信号に基づいて選択決定される記号m(すなわち、m1及びm2)の行位置を、オイラー方陣記憶用配列9に対して指定する。列位置設定用記憶部3は、演算部1の出力信号に基づいて選択決定される記号m(すなわち、m1及びm2)の列位置を、オイラー方陣記憶用配列9に対して指定する。行位置比較用記憶部4は、演算部1の出力信号に基づいて選択決定される記号mと比較される記号m′(これは二つの記号m1′とm2′とからなる)の行位置を、また、列位置比較用記憶部5は、演算部1の出力信号に基づいて選択決定される記号mと比較される記号m′(すなわち、記号m1′及びm2′)の列位置を、それぞれオイラー方陣記憶用配列9に対して指定する。
【0031】
また、設定用記号記憶部6は、演算部1の出力信号に基づいて選択決定される記号m(すなわち、m1及びm2)を記憶したり、オイラー方陣記憶用配列9からの記号m(すなわち、m1及びm2)を記憶する。比較用記号記憶部7は、オイラー方陣記憶用配列9から読み出された、比較される記号m′(すなわち、記号m1′及びm2′)を記憶する。記号比較部8は、設定用記号記憶部6に記憶された、演算部1により設定された記号mと、比較用記号記憶部7に記憶された、比較される記号m′とを比較し、その比較結果を演算部1へ出力する。
【0032】
なお、図1に示したオイラー方陣作成装置は、本発明者が先に特開平10−105544号公報(発明の名称「ラテン方陣の作成方法」)で開示した作成装置と基本的な構成はほぼ同じであるが、演算部1に設定される制御プログラムが異なり、作成方法及び作成する方陣が全く異なる。すなわち、前記公開公報では、記憶用配列にはn種類の要素でn×nの行列であるラテン方陣が設定されるのに対し、この実施の形態では記憶用配列9には、n×n種類の要素の行列であるオイラー方陣が設定される。すなわち、要素の記号をA={1,2,...,n}とすると、ラテン方陣では要素の記号mとして1,2,...,nが設定されるが、この実施の形態のオイラー方陣では、要素の記号m(m1,m2)として、11,...,nnが設定される。
【0033】
また、記号m(m1,m2)の比較判定が、ラテン方陣では記号mを行列方向に一つ前の位置までだったのが、オイラー方陣では記号m(m1,m2)が、その位置の一つ前までに重複して使用されていないかを比較判定するのと、記号mを構成する2つの記号m1及びm2の対が、その位置の一つ前までの行及び列に重複しないように比較する点でも異なる。
【0034】
次に、上記のオイラー方陣作成装置を用いて作成される本発明のオイラー方陣作成方法について説明する。図3は本発明になるオイラー方陣の作成方法の第1の実施の形態を説明するフローチャートを示す。図3の実施の形態について、図1、図4及び図5と共に具体的に説明する。まず、演算部1に対して、次数n、記号m1及びm2をそれぞれ設定すると共に、記号の選択順序を設定する(図3のステップS1)。ここでは、前記したように、次数nを4に、記号m1とm2をそれぞれ自然数(0,1,2,3)に設定し、記号m1とm2の選択順序を前記の自然順列に設定する。
【0035】
続いて、演算部1に対して、最初の位置を設定すると共に、位置の進行方向を設定する(図3のステップS2)。上記の位置の進行方向は、図6(a)に矢印で示す方向に進行する列方向と、同図(b)に矢印で示す方向に進行する行方向とがある。ここでは、最初の位置をK11とし、位置の進行方向を列方向とする。これにより、位置はK11→K12→K13→K14→K21→・・・→K42→K43→K44の順序で進行する。
【0036】
続いて、演算部1は設定した最初の位置K11に最初の記号を設定する(図3のステップS3)。ここでは、演算部1は列位置設定用記憶部3及び行位置設定用記憶部4を介してオイラー方陣記憶用配列9の1行1列目の配列子911を指定し、設定用記号記憶部6を介して最初の記号として“00”(m1=0,m2=0)を格納させる。これにより、オイラー方陣記憶用配列9の記憶内容は図4(a)に示す状態となる。
【0037】
続いて、演算部1は、現在の指定位置が先頭かどうか判定する(図3のステップS4)。この判定はI=1で、かつ、J=1であるかどうかにより行う。ここでは、指定位置はK11であるから、先頭であると判定され、図3のステップS11に進む。ステップS11では、現在の指定位置が最後かどうか判定する。この判定はI=4で、かつ、J=4であるかどうかにより行う。ここでは、指定位置はK11であるから、最後ではないと判定され、次の指定位置を設定すると共に最初の記号を設定する(図3のステップS12)。
【0038】
ここでは、位置の進行方向が列方向であるので、次の指定位置としてK12が設定され、また最初の記号“00”が設定される。すなわち、演算部1はこのステップS12で、列位置設定用記憶部3及び行位置設定用記憶部4を介してオイラー方陣記憶用配列9の1行2列目の配列子912を指定し、設定用記号記憶部6を介して記号“00”(m1=0,m2=0)を格納させる。
【0039】
続いて、演算部1は、図3のステップS4に進み、再び指定位置が先頭であるかどうか判定する。ここでは指定位置はK12であるから先頭ではないと判定され、ステップS5に進んで、一つ前の位置までの記号を調べ、その調べた記号の中に同じ記号があるかどうか判定する(図3のステップS6)。ここでは、同じ記号があるので、演算部1は次の選択順の記号“01”(m1=0,m2=1)に設定する(図3のステップS14)。
【0040】
すなわち、演算部1は、オイラー方陣記憶用配列9から読み出した記号m′(m1′及びm2′)と設定用記号記憶部6に記憶されている記号“01”(m1=0,m2=1)とを記号比較部8で比較し、その比較結果から両者が一致するかどうか判定し、ここでは同じ記号があるので、上記のステップS14で、列位置設定用記憶部3及び行位置設定用記憶部4を介してオイラー方陣記憶用配列9の1行2列目の配列子912を指定し、設定用記号記憶部6を介して記号“01”(m1=0,m2=1)を格納させる。
【0041】
続いて、演算部1は、記号が最後の選択順の記号“33”(m1=3,m2=3)まで調べ終わったかどうか判定し(図3のステップS15)、この段階では調べ終わっていないのでステップS4に戻り、再び指定位置が先頭であるかどうか判定する。ここでは、指定位置はK12であるから先頭ではないと判定され、ステップS5に進んで、一つ前の位置までの記号を調べ、ステップS5で調べた記号の中に同じ記号があるかどうか判定する。
【0042】
ここでは、同じ記号がないので、その行の一つ前までの位置の記号mの下位の記号m2を調べ(図3のステップS7)、現在の下位の記号m2と同じものがあるかどうか判定する(図3のステップS8)。ここでは、現在の下位の記号m2は“1”であるから、先頭の位置の下位の記号m2の“0”とは異なるので、同じものがないと判定され、今度はその行の一つ前までの位置の記号mの上位の記号m1を調べ(図3のステップS9)、現在の上位の記号m1と同じものがあるかどうか判定する(図3のステップS10)。
【0043】
ここでは、同じものがあると判定されるので、演算部1はステップS14に進んで次の選択順の記号“02”(m1=0,m2=2)に設定して、すなわち、オイラー方陣記憶用配列9の1行2列目の配列子912に記号“02”(m1=0,m2=2)を格納した後、ステップS15で記号が最後の選択順の記号“33”まで調べ終わったかどうか判定し、この段階では調べ終わっていないのでステップS4に戻り、再び指定位置が先頭であるかどうか判定する。以下、ステップS4からステップS10、ステップS14及びS15の処理を再び順次繰り返し実行する。
【0044】
こうして、選択順の記号が“11”(m1=1,m2=1)に設定され、オイラー方陣記憶用配列9の1行2列目の配列子912に記号“11”(m1=1,m2=1)が格納されると、記号mが一つ前までの位置に同じものが無く、記号mの下位の記号m2と同じものがその行の一つ前の位置までに無く、記号mの上位の記号m1と同じものがその行の一つ前の位置までに無い状態となる。これにより、オイラー方陣記憶用配列9の記憶内容は図4(b)に示す状態となる。
【0045】
次にステップS11に進んで、最後の位置K44であるかどうか判定し、最後の位置ではないので、ステップS12で次の位置K13に最初の記号“00”を設定した後(オイラー方陣記憶用配列9の1行3列目の配列子913に記号“00”を格納した後)、ステップS4に進み、再び指定位置が先頭であるかどうか判定する。ここでは指定位置はK13であるから先頭ではないと判定され、以下上記と同様にしてステップS14でオイラー方陣記憶用配列9の1行3列目の配列子913に記号“22”が格納されて図4(c)の状態となる。
【0046】
以下、上記と同様にして次の位置K14が指定され、ステップS14でオイラー方陣記憶用配列9の1行4列目の配列子914に記号“33”が格納されて図4(d)の状態となる。続いて、ステップS15、S4〜S11を経てステップS12に至り、ここで、指定位置が列の最後となったので、次の位置として次の行の先頭の列の位置K21が指定され、ここに最初の記号“00”が設定される。
【0047】
演算部1は、以下上記と同様の動作を行うことにより、オイラー方陣記憶用配列9の記憶内容は、図4(d)、(e)、(f)、(g)、(h)、(i)、図5(j)、(k)、(l)、(m)、(n)、(o)、(p)と変化していく。ステップS14でオイラー方陣記憶用配列9の最後の位置K44の配列子944に図5(p)に示すように、記号“02”(m1=0,m2=2)が格納されると、その後のステップS11で指定位置が最後であると判定されるので、処理を終了する(図3のステップS13)。
【0048】
なお、ステップS15で記号が最後の記号“33”まで調べ終わったと判定されたときには、次のステップS16でその位置が最初の位置かどうか判定し、最初の位置であるときには、これ以上調べる記号の配置が存在しない(調べ尽くした)ので、ステップS18に進んで処理を終了するが、最初の位置でないときには、ステップS17に進んで指定位置を一つ前に戻した後、ステップS14に進んで次の選択順の記号を設定する。
【0049】
このように、この実施の形態では、次数4のオイラー方陣を規則的な処理手順に従って、簡単、かつ、正確に作成することができると共に、作成作業が自動的に行えるので、オイラー方陣を作業効率良く、短時間で作成できると共に、作成の確実性を高めることができる。
【0050】
次に、本発明の第2の実施の形態について説明する。上記の第1の実施の形態では、何も存在しない状態から新たなオイラー方陣を作成したが、この第2の実施の形態では、既に作成したオイラー方陣に基づいて別のオイラー方陣を作成するものである。図7は本発明になるオイラー方陣の作成方法の第2の実施の形態を説明するフローチャートを示す。同図中、図3と同じ処理のステップには同じ符号を付してある。
【0051】
図7の実施の形態について、図1、図8と共に具体的に説明する。まず、演算部1に対して、次数n、記号m1及びm2をそれぞれ設定すると共に、記号の選択順序を設定する(図7のステップS1)。ここでは、前記したように、次数nを4に、記号m1とm2をそれぞれ自然数(0,1,2,3)に設定し、記号m1とm2の選択順序を前記の自然順列に設定する。
【0052】
続いて、演算部1に対して、最初の位置を設定すると共に、位置の進行方向を設定する(図7のステップS2)。ここでは、最初の位置をK44とし、位置の進行方向を列方向とする。これにより、位置はK11→K12→K13→K14→K21→・・・→K42→K43→K44の順序で進行する。
【0053】
続いて、演算部1は、オイラー方陣記憶用配列9に既存のオイラー方陣を設定する(図7のステップS21)。これにより、オイラー方陣記憶用配列9の記憶内容は、例えば図8(a)に示すオイラー方陣となる。因みに、このオイラー方陣は図5(p)に示したオイラー方陣と同じである。
【0054】
続いて、演算部1は、指定位置K44に設定されている記号“02”の次の選択順の記号“03”に設定する(図7のステップS22)。すなわち、演算部1は図1の列位置設定用記憶部3及び行位置設定用記憶部4を介してオイラー方陣記憶用配列9の4行4列目の配列子944を指定し、設定用記号記憶部6を介して記号“03”(m1=0,m2=3)を格納させる。
【0055】
続いて、演算部1は、上記の設定した記号が最後の記号まで終ったかどうか判定し(図7のステップS23)、ここではまだ調べ終わっていないので、ステップS4に進む。以下、図3と共に説明したように、ステップS4では最初の位置でないと判定されてステップS5に進み、一つ前の位置までに同じ記号があるかどうか調べる。すなわち、演算部1は、オイラー方陣記憶用配列9から読み出した記号m′(m1′及びm2′)と設定用記号記憶部6に記憶されている記号“03”(m1=0,m2=3)とを記号比較部8で比較し、その比較結果から両者が一致するかどうか判定する。
【0056】
ここでは、記号“03”は図8(a)の2行2列目に存在するので、ステップS6では、同じ記号があると判定され、ステップS22に戻り、次の選択順の記号“10”に設定される(設定用記号記憶部6を介して記号“10”(m1=1,m2=0)を配列子944に格納させる)。
【0057】
以下、ステップS22、S23、S4、S5、S6の処理が、異なる記号が見付かるまで繰り返される。このとき、記号“33”まで比較し終わったならば、次の記号は存在しないので、ステップS23で最後の記号まで比較し終わったと判断され、続くステップS24で現在の位置が最初の位置K11であるかどうかチェックし、最初の位置K11ではないので、ステップS25で指定位置を一つ前に戻す。ここでは、ステップS25で位置がK44の一つ前の位置K43に戻される。
【0058】
続いて、ステップS22で、その位置K43に設定されている記号“13“の次の選択順の記号”20“が設定される(設定用記号記憶部6を介して記号“20”(m1=2,m2=0)を配列子943に格納させる)。その後、上記と同様に、ステップS22、S23、S4、S5、S6、S24、S25の処理が、異なる記号が見付かるまで繰り返される。異なる記号が見付かった時は、一つ前の位置までに同じ記号が無く、記号の下位m2及び記号の上位m1と同じ記号(m1,m2)が同じ行と列のそれまでの位置に無いか調べる(図7のステップS7〜S10)。
【0059】
上記の条件に当てはまる位置は、図8(a)のオイラー方陣の場合、位置K31であり、その位置の記号を“31”にまで変更したときに、ステップS10で上記の条件を満足すると判定される。これにより、オイラー方陣記憶用配列9の記憶内容は図8(b)に示すように確定し、演算部1はステップS11で指定位置は最後かどうか判断する。ここでは、最後の位置ではないので、続くステップS12で次の位置K32に最初の位置K11の記号“00”を設定する。更に、ステップS4〜S10とステップS22とS23の処理を行い、上記条件に当てはまる記号“20”を図8(c)に示すように位置K32に配置する。
【0060】
続いて、演算部1は、ステップS11で指定位置は最後かどうか判断する。ここでは、最後の位置ではないので、続くステップS12で次の位置K33に最初の位置K11の記号“00”を設定する。更に、ステップS4〜S10とステップS22とS23の処理を行い、上記条件に当てはまる記号“13”を図8(d)に示すように位置K33に配置する。以下、上記と同様にして、位置K34に記号“02”が配置され(図8(e))、次の位置K41に記号“23”が配置され(図8(f))、次の位置K42に記号“32”が配置され(図8(g))、次の位置K43に記号“01”が配置され(図8(h))、最後の位置K44に記号“10”が配置される(図8(i))。最後の位置K44に記号が配置されると、ステップS11で最後の位置と判定され、処理を終了する(図7のステップS13)。
【0061】
このように、本実施の形態によれば、図8(a)に示すオイラー方陣から同図(i)に示す別のオイラー方陣を、自動的に作成することができる。また、この実施の形態によれば、図7のステップS21で設定する最初のオイラー方陣を、代えれば新たな別のオイラー方陣を作成することができる。
【0062】
図9及び図10は図7のステップS21で設定する最初のオイラー方陣を、図9(a)に示すオイラー方陣とした時の、第2の実施の形態により作成されるオイラー方陣の作成手順を示す。すなわち、図9(a)に示すオイラー方陣をステップS21で設定した場合は、第2の実施の形態により、図9(b)→図9(c)→図9(d)→図9(e)→図9(f)→図9(g)→図9(h)→図9(i)→図10(j)→図10(k)→図10(l)を経て、図10(m)に示す新たなオイラー方陣を自動的に作成することができる。
【0063】
このことは、作成したオイラー方陣を、設定する最初のオイラー方陣として別のオイラー方陣を作成することを繰り返すことにより、同じ次数及び記号のすべてのオイラー方陣を自動的に作成することができることを意味する。従って、この実施の形態によれば、同じ次数及び記号のすべてのオイラー方陣を簡単、かつ、確実に作成することができるため、オイラー方陣の利用範囲を広げ、かつ、オイラー方陣の利用価値及び利用効果を飛躍的に高めることができる。
【0064】
なお、本発明は以上の実施の形態に限定されるものではなく、例えば、図6(b)に示したように列方向にオイラー方陣の各配列要素EIJを作成することができることは勿論であり、また、4次以外の次数のオイラー方陣も同様にして作成することができるものである。また、設定される記号mは特に限定されるものではなく、
上記の各実施の形態では数字で説明したが、アルファベット、ギリシャ文字、図11(c)に示したようなこれらの組み合わせ、あるいはこれらと数字の組み合わせ、あるいは色や形のような、区別が可能なものを任意に設定できる。これらの記号mに従って作成されたオイラー方陣は、例えば図11(a)〜(c)に示したものとなる。
【0065】
【発明の効果】
以上説明したように、請求項記載の発明によれば、希望の記号mからなる所望の次数nのオイラー方陣を、自動的に作成することができるため、オイラー方陣を確実に、作業効率良く簡単に、しかも短時間で正確に作成することができる。
【0066】
また、請求項2記載の発明によれば、少なくとも前の位置で変えられた記号mを選択決定できる可能性を得ることができるため、オイラー方陣の規則的な作成の確実性を、より一層向上できる。
【0068】
また、請求項記載の発明によれば、既存の第1のオイラー方陣を元として、同じ次数及び記号の第2のオイラー方陣を作成するようにしたため、同じ次数及び記号の多数の異なるオイラー方陣のすべてを確実、かつ、簡単に作成することができ、これによりオイラー方陣の利用範囲を広げ、かつ、オイラー方陣の利用価値及び利用効果を飛躍的に高めることができる。
【図面の簡単な説明】
【図1】本発明作成装置の一実施の形態のブロック図である。
【図2】本発明により作成するオイラー方陣の構成を示す図である。
【図3】本発明作成方法の第1の実施の形態を説明するフローチャートである。
【図4】図3のフローチャートによるオイラー方陣の作成手順の具体的説明図(その1)である。
【図5】図3のフローチャートによるオイラー方陣の作成手順の具体的説明図(その2)である。
【図6】本発明により作成するオイラー方陣の作成方向の説明図である。
【図7】本発明作成方法の第2の実施の形態を説明するフローチャートである。
【図8】図7のフローチャートによるオイラー方陣の作成手順の一例の具体的説明図である。
【図9】図7のフローチャートによるオイラー方陣の作成手順の他の例の具体的説明図(その1)である。
【図10】図7のフローチャートによるオイラー方陣の作成手順の他の例の具体的説明図(その2)である。
【図11】オイラー方陣の各例の説明図である。
【図12】オイラー方陣の基本的構成説明図である。
【図13】従来のオイラー方陣作成方法の一例の説明図である。
【符号の説明】
1 演算部
2 行位置設定用記憶部
3 列位置設定用記憶部
4 行位置比較用記憶部
5 列位置比較用記憶部
6 設定用記号記憶部
7 比較用記号記憶部
8 記号比較部
9 オイラー方陣記憶用配列
IJ 配列子(記憶素子)
R オイラー方陣
[0001]
BACKGROUND OF THE INVENTION
The present invention creates Euler squaresapparatusIn particular, the creation of Euler squares used for code conversion conversion tables, cipher tables, and experimental design methods, etc.apparatusAbout.
[0002]
[Prior art]
Before describing the conventional Euler square creation method, the Latin square will be described first. A set of n symbols A = {a1,. . . , An} using each element n times, for a total of n2Each element is arranged in a matrix having n elements, and each element of A appears once in each direction is called a Latin square on A or an nth-order Latin square.
[0003]
In addition, those in which the first row and the first column are both natural permutations are called irreducible or standard Latin squares. When the number of irreducible or standard Latin squares is represented by L (n), the total number of n-th Latin squares is n! (N-1)! L (n). The value of L (n) is as follows when n is 9 or less, that is, when n = 1 to 9.
L (1) = 1
L (2) = 1
L (3) = 1
L (4) = 4
L (5) = 56
L (6) = 9408
L (7) = 16942040
L (8) = 535281401856
L (9) = 377579570964258816
[0004]
Here, when the two Latin squares L = (A, ○) and L ′ = (A, ●) are overlapped, the character pairs that appear are all different, that is, x ○ y = x ′ ○ y. ′, X ● y = x ′ ● y′x = x ′, y = y ′, L and L ′ are said to be orthogonal to each other, and a square formed by superimposing these two Latin squares L and L ′ Is called orthogonal Latin square, Euler square, or Greco Latin square. The name of the Greco-Latin square is derived from the first letter of the element in Greek letters and the second letter in Latin letters.
[0005]
If n is a number other than 2 and 6, there is an nth order Euler square. It can be easily understood that there is no Euler square when n is 2, but when n is 6, it depends on the problem of 36 known Euler officers. This problem is disclosed in detail in the literature (Koichi Yamamoto: “Combinatorial Mathematics”, page 39, Asakura Shoten). This is “6 regiments from 6 regiments (College, Lieutenant Colonel, Major, Lieutenant, Lieutenant, Lieutenant), each with a total of 36 people in a row of 6 rows and 6 columns, each regimen in each row. Can the officers of each class be represented? "
[0006]
The present inventor has shown that the number of Euler squares is 1 in the first order, 0 in the second order, 72 in the third order, 6912 in the fourth order, 6220800 in the fifth order. Confirmed by
[0007]
FIG. 11A shows the basic form of the Euler square of the fourth-order element A = {0, 1, 2, 3}, and FIG. 11B shows the fourth-order element A = {1, 2, 3, 4}. The basic form of the Euler square is shown. FIG. 11C shows the basic form of the Euler square of the fourth order lower element A = {a, b, c, d} and the upper element A = {α, β, γ, δ}.
[0008]
[Problems to be solved by the invention]
In the conventional Euler square creation method, it is difficult to regularly create Euler squares, and they are created on a trial and error basis. For example, when obtaining a fourth-order Euler square shown in FIG. (B) and two orthogonal squares of the same order are overlapped to check whether the resulting symbols are identical, and the Euler square shown in (c) is created. ing. Here, among the two-digit symbols (here, numbers) of each square of the Euler square shown in FIG. 13 (c), the symbol on the left is the corresponding square number of the Latin square shown in FIG. The symbol on the right is the corresponding square number of the Latin square shown in FIG.
[0009]
For this reason, not only is it difficult and cumbersome to create Euler squares with the conventional creation method, but the number of Euler squares that can be created is limited, which increases the utility value and effectiveness of Euler squares. There is a problem that it is not possible.
[0010]
Therefore, the present invention has been made to solve the above-mentioned problems of the prior art, and it is possible to create an Euler square that can be easily and regularly created according to a certain method.apparatusThe purpose is to provide.
[0011]
Another object of the present invention is to create an Euler square that can broaden the range of use of the Euler square and can dramatically increase the utility value and effect of the Euler square.apparatusIs to provide.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to claim 1n in total in n rows and n columns (n is an integer of 3 or more excluding 6) 2 Each of the memory elements stores a symbol m in which two symbols m1 and m2 arbitrarily selected from n different symbols are allowed to overlap. Euler square memory array and Euler square memory array n 2 Among the storage elements, a designation means for designating a storage element at a set position, a readout means for reading a memory symbol from the storage element at a position designated by the designation means, and a storage element at a position designated by the designation means The writing means for storing the input symbols, the symbol comparison unit for comparing the symbols read by the reading means with the input symbols, the order n of the Euler square to be created, and the symbols m1 and m2 are n A selection order for selecting from among the symbols, a position where the symbol m of the Euler square memory array is first arranged, and an order in which the symbol m is arranged along the row direction or the column direction of the Euler square memory array, , The first value of the symbol m is set, the comparison result from the symbol comparison unit is received, and the designation means, the reading means and the writing means are controlled, and n is stored in the Euler square memory array. It is obtained by a structure having a calculation unit for storing the Euler square.
Here, the calculation unit sets the symbol m of the first set value in the storage element set as the first array position of the Euler square storage array, and then the next of the first array position. After the first value of the symbol m is stored in the storage element at the position via the writing means and the specifying means, the symbol m to be stored in the storage element is determined from the position based on the output comparison result of the symbol comparison unit. In the selection order until the same symbol as the symbol stored in the memory element at the previous position disappears, the same symbol as the symbol stored in the memory element at the previous position does not exist, and the same row After storing the symbol m having no symbol m1 or m2 of the same value in each storage element at the previous position in the column, the symbol m of the first value is further written to the storage element at the next position via the writing means and the specifying means. And then store the next location Based on the output comparison result of the symbol comparison unit, the child symbol m is placed at the previous position in the same row and column without the same symbol in each storage element at the position before the storage element at the next position. Until the symbol m without the symbol m1 or m2 of the same value appears, it is repeatedly changed and stored in the selection order until the memory element at the last position in the n-th row and the n-th column is repeated according to the set order. The Euler square is created such that a pair of two symbols m1 and m2 constituting the symbol m is not stored more than once in all the memory elements of the Euler square memory array.
[0013]
In the present invention, the order n of the Euler square to be created is set, and the symbol m for the order n is set by setting the permutation and permutation selection order. For example, when the order is 3rd and (0, 1, 2) is set as the symbol m, the pair of two symbols m1 and m2 constituting the symbol m is 00 → 01 → 02 → 10 → 11 → 12 → 20 → 21 → 22 is defined as a permutation (natural permutation), and selection is defined in the order of 00 → 01 → 02 → 10 → 11 → 12 → 20 → 21 → 22.
[0014]
In the present invention, the previous selection of the symbol m as an array element for each position of the Euler square is performed in the column direction of FIG. 6A or the row direction of FIG. 6B from the first position. , When selecting the symbol m, select a symbol different from the array element of the other already set position at that position, and further, the upper m1 and the lower rank of the symbol m at the previous position of the same row and column at that position Since m2 selects a value different from each other position in the matrix, Euler square creation is achieved by repeating this.
[0015]
In order to achieve the above object, the invention described in claim 2 is the same as the invention described in claim 1.The arithmetic unit isFor each position of n rows and n columns, the symbols m1 and m2 are set so that the pair of the two symbols m1 and m2 of the symbol m and the already determined array element at the previous position in the same row and column are not the same. When m2 is changed one after another in the selection order, if there is no symbol m that can be selected and decided after the last symbol is checked, the position KIJPrevious position KI (J-1)Or K(I-1) J The first value of the symbol m is stored in the memory element via the writing means and the specifying means, and the position K is stored. I (J-1) Or K (I-1) J The symbol m to be stored in the storage element is determined based on the output comparison result of the symbol comparison unit. I (J-1) Or K (I-1) J Until there is no longer the same symbol as the symbol stored in the memory element at the previous position, and there is no symbol the same as the symbol stored in the memory element at the previous position, and Storing the symbol m without the symbol m1 or m2 of the same value in each storage element at the previous position in the same row and columnIt is characterized by.
[0016]
In the present invention, when there is no symbol m that can be selected and determined at an intermediate position, the position KIJPrevious position KI (J-1)Or K(I-1) JTo replace the symbol m of the array element already determinedProcessingSince there is no symbol m that can be selected, the previous position KI (J-1)Or K(I-1) JThus, it is possible to obtain the possibility of selecting and determining the symbol m changed at least at the previous position.
[0024]
In order to achieve the above object, the claims3The described invention has n rows and n columns.(N is an integer of 3 or more excluding 6)N in all2N storage elements, each of which has n different symbolsForgive duplicationAn Euler square memory array in which a symbol m in which two arbitrarily selected symbols m1 and m2 are paired is stored, and n of the Euler square memory array2Among the storage elements, a designation means for designating a storage element at a set position, a readout means for reading a memory symbol from the storage element at a position designated by the designation means, and a storage element at a position designated by the designation means A writing means for storing the input symbol, a symbol comparison unit for comparing the symbol read by the reading means with the input symbol, the order n of the Euler square to be created,Select symbols m1 and m2 from n symbolsSelection order and symbolsmAre arranged in the row direction or the column direction of the Euler square storage arrangement, and the existing first Euler square prepared in advance are respectively set, receiving the comparison result from the symbol comparison unit, specifying means, and reading And an arithmetic unit for controlling the means and the writing means to store the second Euler square in the Euler square memory array.
[0025]
Here, the arithmetic unit isAfter storing the first Euler square in the Euler square memory array by controlling the specifying means, the reading means and the writing means,The symbol of the specified position at the specified position of the set first Euler squaremIs replaced with the symbol of the next selection order to check if there is the same symbol in the position before the specified position, and the symbol at the specified position until the same symbol disappearsmSpecify the Euler square storage array for symbols that do not have the same symbol at the previous position and do not have the same value of the symbol m1 or m2 at the previous position in the same row and column. Even if it is stored in the memory element corresponding to the position and the selection order is changed and the last symbol is checked, the same symbol is used until the previous position.mThere is a symbol m1 or m2 of the same value at the previous position in the same row and column, so that the symbol that can be selected and determinedmWhen there is no specified position KIJPrevious position KI (J-1)Or K(I-1) JReturn to the specified position andAndPosition KI (J-1)Or K(I-1) JIs replaced by the symbol of the next selection order after the symbol ofI (J-1)Or K(I-1) JThe specified position in the Euler square storage array is the symbol m that does not have the same symbol m in the previous position and does not have the same value m1 or m2 in the previous position in the same row and column.K I (J-1) Or K (I-1) J The process of storing in the storage element corresponding to is repeated, and the symbol m without the same symbol m at the previous position and without the symbol m1 or m2 having the same value at the previous position in the same row and column If it can be placed, the final position of the first Euler square from the position after the position where the symbol m can be placedUp toContinue processing in the order of arrangement.
[0026]
This inventionThe pair of two symbols m1 and m2 constituting the symbol m of the already determined array element at the previous position in the same row and column is prevented from appearing more than once in all the positions of n rows and n columns, Creates a second Euler square different from the first Euler square. By repeating the setting of the second Euler square created as the first Euler square, the Euler square of the same order and the same symbol can be obtained. Everything can be created.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings. In the following description, for convenience of explanation, the order n is 4, the symbol m is a natural number (0, 1, 2, 3), and the permutation and selection order are natural permutations. Here, as described above with reference to FIG. 13, the symbol m of each square of the Euler square is composed of a pair of two symbols m1 and m2, and the natural permutation is a pair (m1, m2) composed of the symbols m1 and m2. (0,0) → (0,1) → (0,2) → (0,3) → (1,0) → (1,1) → (1,2) → (1,3) → (2 , 0) → (2,1) → (2,2) → (2,3) → (3,0) → (3,1) → (3,2) → (3,3) That is.
[0028]
FIG. 1 shows a block diagram of an embodiment of an Euler square creation apparatus according to the present invention. In the figure, the arithmetic unit 1 performs arithmetic processing by software, and also performs a permutation of the order n and the symbol m and the order of selection, first the array element EIJPosition K to selectIJ, Array element EIJIn the circuit section for setting the order of selecting and determining each of the Euler squares created in the present embodiment, various operations are executed according to a predetermined control program, and the Euler square R data to be created Specify the matrix position, compare judgment, set, and read.
[0029]
The Euler square R to be created is composed of n rows and n columns when the degree is n, as shown in FIG.IJAnd its position KIJThe array elements (symbols m1, m2) arranged inIJIt is represented by In the Euler square storage array 9 in FIG. 1, when creating an n-th order Euler square, n rows and n columns in total, n, in the same way as the Euler square R shown in FIG.2Position K of I rows and J columns, consisting of array elements (memory elements)IJThe array of is 9IJIt is represented by Here, each array element 9IJStores two symbols m1 and m2, respectively. As described above, n = 4 here.
[0030]
The row position setting storage unit 2 designates the row position of the symbol m (that is, m1 and m2) selected and determined based on the output signal of the calculation unit 1 to the Euler square storage array 9. The column position setting storage unit 3 designates the column position of the symbol m (that is, m1 and m2) selected and determined based on the output signal of the calculation unit 1 to the Euler square storage array 9. The row position comparison storage unit 4 determines the row position of the symbol m ′ (which consists of two symbols m1 ′ and m2 ′) to be compared with the symbol m selected and determined based on the output signal of the arithmetic unit 1. Further, the column position comparison storage unit 5 stores the column positions of the symbols m ′ (that is, the symbols m1 ′ and m2 ′) to be compared with the symbol m selected and determined based on the output signal of the calculation unit 1, respectively. This is specified for the Euler square storage array 9.
[0031]
The setting symbol storage unit 6 stores a symbol m (that is, m1 and m2) that is selected and determined based on the output signal of the arithmetic unit 1, or a symbol m (that is, the symbol m from the Euler square storage array 9 (that is, Store m1 and m2). The comparison symbol storage unit 7 stores the symbol m ′ to be compared (that is, the symbols m1 ′ and m2 ′) read from the Euler square storage array 9. The symbol comparison unit 8 compares the symbol m set by the calculation unit 1 and stored in the setting symbol storage unit 6 with the symbol m ′ to be compared stored in the comparison symbol storage unit 7. The comparison result is output to the calculation unit 1.
[0032]
The Euler square creation apparatus shown in FIG. 1 has almost the same basic configuration as the creation apparatus previously disclosed by the present inventor in Japanese Patent Laid-Open No. 10-105544 (invention name “Latin square creation method”). Although the same, the control program set in the arithmetic unit 1 is different, and the creation method and the square to be created are completely different. That is, in the publication, a Latin square that is an n × n matrix with n types of elements is set in the storage array, whereas in this embodiment, the storage array 9 has n × n types. The Euler square that is a matrix of elements of is set. That is, the element symbol is A = {1, 2,. . . , N} in the Latin square, the element symbol m is 1, 2,. . . , N are set, but in the Euler square of this embodiment, as element symbols m (m1, m2), 11,. . . , Nn are set.
[0033]
In addition, in the Latin square, the symbol m (m1, m2) was compared up to the previous position in the matrix direction, but in the Euler square, the symbol m (m1, m2) is one of the positions. Compare and judge whether or not it has been used twice before, so that the pair of two symbols m1 and m2 constituting the symbol m is not duplicated in the previous row and column of that position. It is different in the point of comparison.
[0034]
Next, the Euler square creation method of the present invention created using the above-described Euler square creation apparatus will be described. FIG. 3 is a flowchart for explaining a first embodiment of the Euler square creation method according to the present invention. The embodiment of FIG. 3 will be specifically described with reference to FIGS. First, the order n, symbols m1 and m2 are set for the computing unit 1, and the selection order of symbols is set (step S1 in FIG. 3). Here, as described above, the order n is set to 4, the symbols m1 and m2 are set to natural numbers (0, 1, 2, 3), and the selection order of the symbols m1 and m2 is set to the natural permutation.
[0035]
Subsequently, an initial position is set for the calculation unit 1 and a traveling direction of the position is set (step S2 in FIG. 3). The traveling direction of the position includes a column direction that proceeds in the direction indicated by the arrow in FIG. 6A and a row direction that proceeds in the direction indicated by the arrow in FIG. Here, the first position is K11And the traveling direction of the position is the column direction. As a result, the position is K11→ K12→ K13→ K14→ K21→ ・ ・ ・ → K42→ K43→ K44Proceed in order.
[0036]
Subsequently, the calculation unit 1 sets the first position K set.11Is set to the first symbol (step S3 in FIG. 3). Here, the calculation unit 1 uses the column position setting storage unit 3 and the row position setting storage unit 4 to arrange the first row and first column array 9 of the Euler square storage array 9.11And “00” (m1 = 0, m2 = 0) is stored as the first symbol via the setting symbol storage unit 6. As a result, the stored contents of the Euler square storage array 9 are in the state shown in FIG.
[0037]
Subsequently, the calculation unit 1 determines whether or not the current designated position is the head (step S4 in FIG. 3). This determination is made based on whether I = 1 and J = 1. Here, the designated position is K11Therefore, it is determined to be the head, and the process proceeds to step S11 in FIG. In step S11, it is determined whether or not the current designated position is the last. This determination is made based on whether I = 4 and J = 4. Here, the designated position is K11Therefore, it is determined that it is not the last, and the next designated position is set and the first symbol is set (step S12 in FIG. 3).
[0038]
Here, since the traveling direction of the position is the column direction, the next designated position is K12Is set, and the first symbol “00” is set. That is, in this step S12, the arithmetic unit 1 uses the column position setting storage unit 3 and the row position setting storage unit 4 to arrange the array element 9 in the first row and second column of the Euler square storage array 9.12And the symbol “00” (m1 = 0, m2 = 0) is stored via the setting symbol storage unit 6.
[0039]
Subsequently, the calculation unit 1 proceeds to step S4 in FIG. 3 and determines again whether or not the designated position is the head. Here the designated position is K12Therefore, it is determined that it is not the head, and the process proceeds to step S5, where symbols up to the previous position are examined, and it is determined whether or not there is the same symbol in the examined symbols (step S6 in FIG. 3). Here, since there is the same symbol, the calculation unit 1 sets the symbol “01” (m1 = 0, m2 = 1) in the next selection order (step S14 in FIG. 3).
[0040]
That is, the calculation unit 1 reads the symbol m ′ (m1 ′ and m2 ′) read from the Euler square storage array 9 and the symbol “01” (m1 = 0, m2 = 1) stored in the setting symbol storage unit 6. ) Are compared with each other by the symbol comparison unit 8 and it is determined from the comparison result whether there is a match. In this case, since there is the same symbol, the column position setting storage unit 3 and the row position setting An array element 9 in the first row and the second column of the Euler square storage array 9 via the storage unit 412And the symbol “01” (m1 = 0, m2 = 1) is stored via the setting symbol storage unit 6.
[0041]
Subsequently, the calculation unit 1 determines whether or not the symbol has been checked up to the symbol “33” (m1 = 3, m2 = 3) in the last selection order (step S15 in FIG. 3), and has not been checked at this stage. Therefore, the process returns to step S4 to determine again whether or not the designated position is the head. Here, the designated position is K12Therefore, it is determined not to be the head, and the process proceeds to step S5, where the symbols up to the previous position are examined, and it is determined whether or not there is the same symbol among the symbols examined in step S5.
[0042]
Here, since there is no same symbol, the subordinate symbol m2 of the symbol m at the previous position in the row is checked (step S7 in FIG. 3), and it is determined whether there is the same symbol as the current subordinate symbol m2. (Step S8 in FIG. 3). Here, since the current lower symbol m2 is “1”, it is different from “0” of the lower symbol m2 at the head position. The upper symbol m1 of the symbols m at the positions up to is checked (step S9 in FIG. 3), and it is determined whether there is the same symbol as the current upper symbol m1 (step S10 in FIG. 3).
[0043]
Here, since it is determined that there is the same, the calculation unit 1 proceeds to step S14 to set the next selection order symbol “02” (m1 = 0, m2 = 2), that is, Euler square memory. Array 9 in the first row and second column of array 9 for use12After storing the symbol “02” (m1 = 0, m2 = 2) in step S15, it is determined in step S15 whether or not the symbol has been checked up to the symbol “33” in the last selection order. Returning to S4, it is determined again whether or not the designated position is the head. Thereafter, the processes from step S4 to step S10, steps S14, and S15 are repeated again in sequence.
[0044]
Thus, the selection order symbol is set to “11” (m1 = 1, m2 = 1), and the array element 9 in the first row and the second column of the Euler square storage array 912When the symbol “11” is stored in (m1 = 1, m2 = 1), the symbol m is not the same in the previous position, and the symbol m2 lower than the symbol m is the same in the row. There is no state up to the previous position, and the same symbol m1 that is higher than the symbol m does not exist up to the previous position in the row. As a result, the stored contents of the Euler square storage array 9 are in the state shown in FIG.
[0045]
Next, proceeding to step S11, the last position K44Since it is not the last position, the next position K is determined in step S12.13Is set to the first symbol “00” (the array element 9 in the first row and the third column of the Euler square storage array 9).13After the symbol “00” is stored in step S4), the process proceeds to step S4, and it is determined again whether or not the designated position is the head. Here the designated position is K13Therefore, it is determined that it is not the head, and in the same manner as described above, the array element 9 in the first row and the third column of the Euler square storage array 9 in step S14.13In FIG. 4C, the symbol “22” is stored.
[0046]
Hereinafter, in the same manner as described above, the next position K14Is specified, and the array element 9 in the first row and the fourth column of the Euler square storage array 9 is selected in step S14.14The symbol “33” is stored in FIG. 4 (d). Subsequently, the process proceeds to steps S12 through steps S15 and S4 to S11. Here, since the designated position is the last column, the position K of the first column in the next row is set as the next position.21Is specified, and the first symbol “00” is set here.
[0047]
The calculation unit 1 performs the same operation as described above, so that the stored contents of the Euler square storage array 9 are the same as those shown in FIGS. 4D, 4E, 4F, 4G, 5H, and 4H. i), FIG. 5 (j), (k), (l), (m), (n), (o), and (p). In step S14, the last position K of the Euler square storage array 944Array of 944As shown in FIG. 5 (p), when the symbol “02” (m1 = 0, m2 = 2) is stored, it is determined in the subsequent step S11 that the designated position is the last, so the processing ends. (Step S13 in FIG. 3).
[0048]
When it is determined in step S15 that the symbol has been checked up to the last symbol “33”, it is determined in the next step S16 whether the position is the first position. Since the arrangement does not exist (has been exhausted), the process proceeds to step S18 and the process is terminated. Set the selection order symbol.
[0049]
As described above, in this embodiment, the Euler square of degree 4 can be created easily and accurately according to a regular processing procedure, and the creation work can be automatically performed. It is good and can be created in a short time, and the certainty of creation can be improved.
[0050]
Next, a second embodiment of the present invention will be described. In the first embodiment described above, a new Euler square is created from a state where nothing exists. In the second embodiment, another Euler square is created based on the Euler square already created. It is. FIG. 7 is a flowchart for explaining a second embodiment of the Euler square creation method according to the present invention. In the figure, the same processing steps as those in FIG. 3 are denoted by the same reference numerals.
[0051]
The embodiment of FIG. 7 will be specifically described with reference to FIGS. First, the order n, symbols m1 and m2 are set for the calculation unit 1, and the selection order of symbols is set (step S1 in FIG. 7). Here, as described above, the order n is set to 4, the symbols m1 and m2 are set to natural numbers (0, 1, 2, 3), and the selection order of the symbols m1 and m2 is set to the natural permutation.
[0052]
Subsequently, an initial position is set for the calculation unit 1 and a traveling direction of the position is set (step S2 in FIG. 7). Here, the first position is K44And the traveling direction of the position is the column direction. As a result, the position is K11→ K12→ K13→ K14→ K21→ ・ ・ ・ → K42→ K43→ K44Proceed in order.
[0053]
Subsequently, the calculation unit 1 sets an existing Euler square in the Euler square storage array 9 (step S21 in FIG. 7). Thereby, the stored contents of the Euler square storage array 9 become, for example, the Euler square shown in FIG. Incidentally, this Euler square is the same as the Euler square shown in FIG.
[0054]
Subsequently, the calculation unit 1 selects the designated position K44Is set to the symbol “03” in the selection order next to the symbol “02” set in (step S22 in FIG. 7). That is, the calculation unit 1 uses the column position setting storage unit 3 and the row position setting storage unit 4 of FIG.44And the symbol “03” (m1 = 0, m2 = 3) is stored through the setting symbol storage unit 6.
[0055]
Subsequently, the calculation unit 1 determines whether or not the set symbol has been finished up to the last symbol (step S23 in FIG. 7). Since the examination has not been completed yet, the process proceeds to step S4. Hereinafter, as described with reference to FIG. 3, it is determined in step S4 that the current position is not the first position, and the process proceeds to step S5 to check whether there is the same symbol up to the previous position. That is, the calculation unit 1 reads the symbol m ′ (m1 ′ and m2 ′) read from the Euler square storage array 9 and the symbol “03” (m1 = 0, m2 = 3) stored in the setting symbol storage unit 6. ) Are compared by the symbol comparison unit 8, and it is determined from the comparison result whether or not they match.
[0056]
Here, since the symbol “03” exists in the second row and the second column in FIG. 8A, it is determined in step S6 that the same symbol is present, and the process returns to step S22 to return to the next symbol “10” in the selection order. (The symbol “10” (m1 = 1, m2 = 0) is set to the array 9 through the setting symbol storage unit 6.44To store).
[0057]
Thereafter, the processes of steps S22, S23, S4, S5, and S6 are repeated until a different symbol is found. At this time, if the comparison is completed up to the symbol “33”, the next symbol does not exist, so it is determined in step S23 that the comparison has been completed up to the last symbol, and in the subsequent step S24, the current position becomes the first position K.11And check if the first position K11In step S25, the designated position is returned to the previous one. Here, the position is K in step S25.44Previous position K43Returned to
[0058]
Subsequently, at step S22, the position K43Is set to the symbol “20” (m 1 = 2, m 2 = 0) via the setting symbol storage unit 6.43To store). Thereafter, in the same manner as described above, the processes in steps S22, S23, S4, S5, S6, S24, and S25 are repeated until a different symbol is found. If a different symbol is found, there is no same symbol up to the previous position, and the same symbol (m1, m2) as the lower m2 of the symbol and the upper m1 of the symbol is not in the previous position in the same row and column Check (steps S7 to S10 in FIG. 7).
[0059]
In the case of the Euler square of FIG.31When the position symbol is changed to “31”, it is determined in step S10 that the above condition is satisfied. Thereby, the storage contents of the Euler square storage array 9 are determined as shown in FIG. 8B, and the calculation unit 1 determines whether or not the designated position is the last in step S11. Here, since it is not the last position, in the following step S12, the next position K32At the first position K11The symbol “00” is set. Further, the processes of steps S4 to S10 and steps S22 and S23 are performed, and the symbol “20” that satisfies the above condition is displayed at the position K as shown in FIG.32To place.
[0060]
Subsequently, the calculation unit 1 determines whether or not the designated position is the last in step S11. Here, since it is not the last position, in the following step S12, the next position K33At the first position K11The symbol “00” is set. Further, the processes of steps S4 to S10 and steps S22 and S23 are performed, and the symbol “13” that satisfies the above condition is displayed at the position K as shown in FIG.33To place. Hereinafter, in the same manner as described above, the position K34The symbol “02” is arranged at the position (FIG. 8E), and the next position K41The symbol “23” is placed at (FIG. 8F), and the next position K42The symbol “32” is arranged at (FIG. 8G), and the next position K43The symbol “01” is arranged at the end position K (FIG. 8H), and the last position K44The symbol “10” is arranged in FIG. 8 (i). Last position K44If a symbol is placed in the position, it is determined in step S11 that it is the last position, and the process ends (step S13 in FIG. 7).
[0061]
Thus, according to the present embodiment, another Euler square shown in FIG. 8 (i) can be automatically created from the Euler square shown in FIG. 8 (a). Further, according to this embodiment, the first Euler square set in step S21 of FIG. 7 can be created, or another new Euler square can be created instead.
[0062]
9 and 10 show the Euler square creation procedure created by the second embodiment when the first Euler square set in step S21 of FIG. 7 is the Euler square shown in FIG. 9A. Show. That is, when the Euler square shown in FIG. 9A is set in step S21, FIG. 9B → FIG. 9C → FIG. 9D → FIG. 9E according to the second embodiment. ) → FIG. 9 (f) → FIG. 9 (g) → FIG. 9 (h) → FIG. 9 (i) → FIG. 10 (j) → FIG. 10 (k) → FIG. The new Euler squares shown in) can be created automatically.
[0063]
This means that you can automatically create all Euler squares of the same order and symbol by repeating the creation of another Euler square as the first Euler square to set up. To do. Therefore, according to this embodiment, since all Euler squares of the same order and symbol can be created easily and reliably, the range of use of Euler squares can be expanded, and the utility value and utilization of Euler squares can be increased. The effect can be dramatically increased.
[0064]
The present invention is not limited to the above embodiment. For example, as shown in FIG. 6B, each array element E of the Euler square in the column direction.IJOf course, Euler squares of orders other than the fourth order can be created in the same manner. Moreover, the symbol m to be set is not particularly limited,
Although the above embodiments have been described with numerals, it is possible to distinguish between alphabets, Greek letters, combinations thereof as shown in FIG. 11C, combinations of these with numerals, colors, and shapes. Anything can be set arbitrarily. The Euler squares created according to these symbols m are, for example, as shown in FIGS.
[0065]
【The invention's effect】
As explained above, the claims1According to the described invention, an Euler square of a desired order n composed of a desired symbol m can be automatically created, so that the Euler square can be surely and easily operated efficiently and accurately in a short time. Can be created.
[0066]
In addition, according to the invention described in claim 2, since it is possible to obtain the possibility of selecting and determining the symbol m changed at least in the previous position, the certainty of regular creation of the Euler square is further improved. it can.
[0068]
Claims3According to the described invention, the second Euler square of the same order and symbol is created based on the existing first Euler square, so that all of the many different Euler squares of the same order and symbol are ensured, In addition, it can be easily created, so that the range of use of the Euler square can be expanded, and the use value and use effect of the Euler square can be dramatically increased.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of a creation apparatus of the present invention.
FIG. 2 is a diagram showing a configuration of an Euler square created according to the present invention.
FIG. 3 is a flowchart illustrating a first embodiment of a method for creating the present invention.
FIG. 4 is a specific explanatory diagram (No. 1) of a procedure for creating an Euler square according to the flowchart of FIG. 3;
FIG. 5 is a specific explanatory diagram (part 2) of the Euler square creation procedure according to the flowchart of FIG. 3;
FIG. 6 is an explanatory diagram of the creation direction of the Euler square created according to the present invention.
FIG. 7 is a flowchart for explaining a second embodiment of the method for creating the present invention;
FIG. 8 is a specific explanatory diagram of an example of the Euler square creation procedure according to the flowchart of FIG. 7;
FIG. 9 is a specific explanatory diagram (part 1) of another example of the Euler square creation procedure according to the flowchart of FIG. 7;
FIG. 10 is a specific explanatory diagram (No. 2) of another example of the Euler square creation procedure according to the flowchart of FIG. 7;
FIG. 11 is an explanatory diagram of each example of the Euler square.
FIG. 12 is an explanatory diagram of a basic configuration of the Euler square.
FIG. 13 is an explanatory diagram of an example of a conventional Euler square creation method.
[Explanation of symbols]
1 Calculation unit
2-line position setting memory
3 Column position setting memory
4 Line position comparison memory
5 Column position comparison storage unit
6 Setting symbol storage
7 Symbol storage unit for comparison
8 Symbol comparison section
9 Euler square memory array
9IJ  Array (memory element)
R Euler Square

Claims (3)

n行n列(nは6を除く3以上の整数)の全部でn2個の記憶素子を有し、該記憶素子のそれぞれには、互いに異なるn個の記号の中から重複を許して任意に選択した2つの記号m1とm2とが対になった記号mが格納されるオイラー方陣記憶用配列と、
前記オイラー方陣記憶用配列のn2個の記憶素子のうち、設定された位置の記憶素子を指定する指定手段と、
前記指定手段により指定された位置の記憶素子から記憶記号を読み出す読み出し手段と、
前記指定手段により指定された位置の記憶素子に、入力された記号を格納する書き込み手段と、
前記読み出し手段により読み出した記号と入力された記号とを比較する記号比較部と、
作成しようとするオイラー方陣の次数nと、前記記号m1及びm2を前記n個の記号の中から選択する選択順序と、前記オイラー方陣記憶用配列の前記記号が最初配列される位置と、前記記号を前記オイラー方陣記憶用配列の行方向又は列方向に沿って配列する順序と、前記記号の最初の値がそれぞれ設定され、前記記号比較部からの比較結果を受けて、前記指定手段、読み出し手段及び書き込み手段を制御して前記オイラー方陣記憶用配列にn次のオイラー方陣を格納させる演算部と
を有し、前記演算部は、前記オイラー方陣記憶用配列の最初の配列位置として設定された前記記憶素子に、設定された前記最初の値の記号mを設定し、続いて、前記最初の配列位置の次の位置の前記記憶素子に、前記記号の最初の値を前記書き込み手段及び指定手段を介して格納してから、その記憶素子に格納する記号を、前記記号比較部の出力比較結果に基づいて、その位置よりも前の位置の前記記憶素子に格納されている記号と同じ記号が無くなるまで前記選択順序で次々と変えていき、前の位置の前記記憶素子に格納されている記号と同じ記号が無く、かつ、同じ行と列のそれまでの位置の各記憶素子に同じ値の前記記号m1又はm2が無い記号mを格納した後、更に次の位置の前記記憶素子に前記最初の値の記号mを前記書き込み手段及び指定手段を介して格納してから、該次の位置の記憶素子の記号を、前記記号比較部の出力比較結果に基づき、該次の位置の記憶素子よりも前の位置の各記憶素子に同じ記号が無く、かつ、同じ行と列のそれまでの位置に同じ値の前記記号m1又はm2が無い記号が現れるまで前記選択順序で次々と変えて格納していくことを、前記n行n列の最後の位置の記憶素子まで、前記設定配列順序に従って繰り返し、同じ値の前記記号mを構成する2つの記号m1とm2の対が、前記オイラー用方陣記憶用配列の全ての記憶素子に2回以上格納されないようにしてオイラー方陣を作成することを特徴とするオイラー方陣の作成装置。
There are n 2 storage elements in total in n rows and n columns (n is an integer of 3 or more excluding 6) , and each of the storage elements is arbitrarily allowed to overlap among n different symbols. An Euler square memory array in which a symbol m in which the two symbols m1 and m2 selected in FIG.
Designating means for designating a memory element at a set position among n 2 memory elements of the Euler square memory array;
Reading means for reading out the memory symbol from the storage element at the position specified by the specifying means;
Writing means for storing the inputted symbol in the storage element at the position designated by the designation means;
A symbol comparison unit that compares the symbol read by the reading means with the input symbol;
And the order n of the Euler square to be created, a selection order for selecting said symbols m1 and m2 from among said n symbols, the position of the symbol m of the Euler square storing sequence is first array, The order in which the symbol m is arranged in the row direction or the column direction of the Euler square storage array and the first value of the symbol m are set, and the comparison result from the symbol comparison unit is received, and the designation is made. And an arithmetic unit for controlling the reading means and the writing means to store the n-th order Euler square in the Euler square memory array , wherein the arithmetic part is used as the first array position of the Euler square memory array. to set the memory element, set the symbol m of the set the first value, followed by the memory element at the next position of the first array location, wherein the writing the first value of said symbol m Included After stored via the means and specifying means, the symbol m to be stored in the storage device, based on the output comparison result of said symbol comparison unit, and is stored in the storage element before the position than the location Until the same symbol as the symbol disappears, the selection order is changed one after the other, there is no symbol same as the symbol stored in the storage element at the previous position, and each memory at the previous position in the same row and column After storing the symbol m without the symbol m1 or m2 of the same value in the element, the symbol m of the first value is further stored in the storage element in the next position via the writing means and the specifying means, Based on the output comparison result of the symbol comparison unit, the symbol m of the storage element at the next position has no same symbol in each storage element at a position before the storage element at the next position, and the same row The same value in the previous position in the column that it would store changed one after another in the selection order until m1 or m2 appears no symbols m, the n to the memory element in the last position of the rows and n columns, to repeat according to the setting arrangement order, the same value The Euler square is formed so that the pair of two symbols m1 and m2 constituting the symbol m is not stored more than once in all the memory elements of the Euler square memory array. Creation device.
前記演算部は、前記オイラー用方陣記憶用配列の各記憶素子毎に、その記憶素子に格納する記号mを、前記記号比較部の出力比較結果に基づいて、その位置よりも前の位置の前記記憶素子に格納されている記号と同じ記号が無くなるまで前記選択順序で次々と変えていったときに、最後の記号まで調べ終わって選択決定できる記号mが無いときは、その位置KThe arithmetic unit, for each storage element of the Euler square storage array, the symbol m stored in the storage element, based on the output comparison result of the symbol comparison unit, the position of the position before the position If there is no symbol m that can be selected and decided after the last symbol has been checked, the position K is changed when the selection order is changed one after another until the same symbol as that stored in the storage element disappears. IJIJ の一つ前の位置KPrevious position K I(J-1)I (J-1) 又はKOr K (I-1)J(I-1) J の記憶素子に、前記記号mの最初の値を前記書き込み手段及び指定手段を介して格納してから、その位置KThe first value of the symbol m is stored in the memory element through the writing means and the specifying means, and the position K is stored. I(J-1)I (J-1) 又はKOr K (I-1)J(I-1) J の記憶素子に格納する記号mを、前記記号比較部の出力比較結果に基づいて、その位置KThe symbol m to be stored in the storage element is determined based on the output comparison result of the symbol comparison unit at the position K. I(J-1)I (J-1) 又はKOr K (I-1)J(I-1) J のよりも前の位置の前記記憶素子に格納されている記号と同じ記号が無くなるまで前記選択順序で次々と変えていき、前の位置の前記記憶素子に格納されている記号と同じ記号が無く、かつ、同じ行と列のそれまでの位置の各記憶素子に同じ値の前記記号m1又はm2が無い記号mを格納することを特徴とする請求項1記載のオイラー方陣作成装置。Until the same symbol as that stored in the memory element at the previous position disappears, the selection order is changed one after another, and there is no same symbol as the symbol stored in the memory element at the previous position. 2. The Euler square creation apparatus according to claim 1, wherein a symbol m without the symbol m1 or m2 having the same value is stored in each storage element at the previous position in the same row and column. n行n列(nは6を除く3以上の整数)の全部でn2個の記憶素子を有し、該記憶素子のそれぞれには、互いに異なるn個の記号の中から重複を許して任意に選択した2つの記号m1とm2とが対になった記号mが格納されるオイラー方陣記憶用配列と、
前記オイラー方陣記憶用配列のn2個の記憶素子のうち、設定された位置の記憶素子を指定する指定手段と、
前記指定手段により指定された位置の記憶素子から記憶記号を読み出す読み出し手段と、
前記指定手段により指定された位置の記憶素子に、入力された記号を格納する書き込み手段と、
前記読み出し手段により読み出した記号と入力された記号とを比較する記号比較部と、
作成しようとするオイラー方陣の次数nと、前記記号m1及びm2を前記n個の記号の中から選択する選択順序と、前記記号を前記オイラー方陣記憶用配列の行方向又は列方向に沿って配列する順序と、予め用意した既存の第1のオイラー方陣がそれぞれ設定され、前記記号比較部からの比較結果を受けて、前記指定手段、読み出し手段及び書き込み手段を制御して前記オイラー方陣記憶用配列に第2のオイラー方陣を格納させる演算部と
を有し、前記演算部は、前記指定手段、読み出し手段及び書き込み手段を制御して前記オイラー方陣記憶用配列に前記第1のオイラー方陣を記憶した後、設定された前記第1のオイラー方陣の指定位置において、該指定位置の記号を次の選択順序の記号に置き換えて、該指定位置よりも前の位置に同じ記号があるか調べ、同じ記号が無くなるまで該指定位置の記号を前記選択順序で次々と変えていき、前の位置に同じ記号が無く、かつ、同じ行と列のそれまでの位置に同じ値の前記記号m1又はm2が無い記号を、前記オイラー方陣記憶用配列の該指定位置に対応する記憶素子に格納し、前記選択順序を変えて最後の記号まで調べ終わっても、一つ前の位置までに同じ記号があるか同じ行と列のそれまでの位置に同じ値の前記記号m1又はm2があるために、選択決定できる記号が無いときは、指定位置KIJの一つ前の位置KI(J-1)又はK(I-1)Jに戻して前記指定位置とし、該位置KI(J-1)又はK(I-1)Jの記号の次の選択順序の記号に置き換えてから、該位置KI(J-1)又はK(I-1)Jよりも前の位置に同じ記号mが無く、かつ、同じ行と列のそれまでの位置に同じ値の前記記号m1又はm2が無い記号mを、前記オイラー方陣記憶用配列の該指定位置 I(J-1) 又はK (I-1)J に対応する記憶素子に格納させる処理を行うことを繰り返して、前の位置に同じ記号mが無く、かつ、同じ行と列のそれまでの位置に同じ値の前記記号m1又はm2が無い記号mを配置できたときは、該記号mを配置できた位置の次の位置から前記第1のオイラー方陣の最終位置まで、設定した配列順序で処理を継続することを特徴とするオイラー方陣作成装置。
There are n 2 storage elements in total in n rows and n columns (n is an integer of 3 or more excluding 6) , and each of the storage elements is arbitrarily allowed to overlap among n different symbols. An Euler square memory array in which a symbol m in which the two symbols m1 and m2 selected in FIG.
Designating means for designating a memory element at a set position among n 2 memory elements of the Euler square memory array;
Reading means for reading out the memory symbol from the storage element at the position specified by the specifying means;
Writing means for storing the inputted symbol in the storage element at the position designated by the designation means;
A symbol comparison unit that compares the symbol read by the reading means with the input symbol;
The order n of the Euler square to be created, the selection order for selecting the symbols m1 and m2 from the n symbols, and the symbol m along the row or column direction of the Euler square storage array. An order of arrangement and an existing first Euler square prepared in advance are set, respectively, and upon receiving the comparison result from the symbol comparison unit, the designation means, the reading means and the writing means are controlled to store the Euler square An arithmetic unit for storing the second Euler square in the array, and the arithmetic unit stores the first Euler square in the Euler square memory array by controlling the specifying means, the reading means, and the writing means. after, in the set specified position of the first Euler square, the symbol m of the designated position is replaced by a symbol next selection order, the on position before the said specified position Checked whether the symbol, it will change one after another symbol m of the location specified by the selection order to the same symbol disappears, no same sign in front position, and the same in the position until its same row and column Even if the symbol without the symbol m1 or m2 of the value is stored in the storage element corresponding to the designated position of the Euler square storage array and the selection order is changed to the last symbol, If there is no symbol m that can be selected because there is the same symbol m up to the position or the symbol m1 or m2 of the same value in the previous position in the same row and column, the one before the specified position K IJ position K I (J-1) or K (I-1) back to the J and the designated position, following selection order symbol of the position K I (J-1) or K (I-1) J of after replacing the symbols, the positions K I (J-1) or K (I-1) without the same sign m in front of the position than J, and its the same row and column Stored at the location until the symbol m1 or m2 is no symbol m of the same value, the storage element corresponding to the Euler the designated position of the square for storing sequence K I (J-1) or K (I-1) J When the symbol m without the same symbol m at the previous position and the symbol m1 or m2 having the same value at the previous position in the same row and column can be arranged, An Euler square creation apparatus, wherein the processing is continued in a set arrangement order from a position next to the position where the symbol m can be arranged to a final position of the first Euler square.
JP35403899A 1999-12-14 1999-12-14 Euler square creation device Expired - Fee Related JP3573671B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35403899A JP3573671B2 (en) 1999-12-14 1999-12-14 Euler square creation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35403899A JP3573671B2 (en) 1999-12-14 1999-12-14 Euler square creation device

Publications (2)

Publication Number Publication Date
JP2001175169A JP2001175169A (en) 2001-06-29
JP3573671B2 true JP3573671B2 (en) 2004-10-06

Family

ID=18434906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35403899A Expired - Fee Related JP3573671B2 (en) 1999-12-14 1999-12-14 Euler square creation device

Country Status (1)

Country Link
JP (1) JP3573671B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3605089B2 (en) 2002-04-22 2004-12-22 東京ブレイズ株式会社 Method for producing titanium plate heat exchanger
EP3776936A1 (en) * 2018-04-05 2021-02-17 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Signature-domain multiplexing for non-orthogonal multiple access

Also Published As

Publication number Publication date
JP2001175169A (en) 2001-06-29

Similar Documents

Publication Publication Date Title
JP3573671B2 (en) Euler square creation device
CN111666285B (en) Costas sequence searching method based on bidirectional circular linked list
JP3862328B2 (en) Latin square creation device
JPH0237431A (en) Parity check device
JP2001195388A (en) Method and device for producing latin square
JPS594706B2 (en) Print pattern generator
JP3722659B2 (en) Magic square creation device
JP2002149628A (en) Method and device for preparing latin square
US7228311B2 (en) Creation method of table, creation apparatus, creation program and program storage medium
JP2511028B2 (en) Memory test method
CN114090549B (en) Data preprocessing method, system, device and medium
JP2002247027A (en) Method and device for preparing latin square
JPS63265656A (en) Character-enlarging circuit
JP3978448B2 (en) Table creation method, creation device, and creation program
JP2003233308A (en) Method and device for creating latin square
JPS60102683A (en) Reduction of character pattern
JPS60113167A (en) Pattern generating method
JP2001176295A (en) Repair operation method for semiconductor memory, and its repair operation processor
JP2789893B2 (en) Character pattern enlargement processing method and circuit thereof
JPH01178458A (en) Character pattern conversion processor
JP2001067339A (en) Latin square preparing method
JPH069063B2 (en) Image processing device
JP2003091239A (en) Method and device for generating latin cube
JP2003122250A (en) Method and device for preparing latin square
JP2000114990A (en) Interleaving device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040629

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3573671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees