2014年5月29日木曜日

kind_order_search

 このマクロでは、どの順番でどの技を検討するかの順番を指定する。

                            AE
Sheet 1 の AH1 のセルに input_form を代入する。AE2~AE8をダブルクリックすると、AE1にその文字が入る。

2014年5月27日火曜日

transfer_probrem

 マクロ transfer_problem は isheet に貯えられた データを Sheet 1 の盤面に移す他にさまざまな設定を行う。

 マクロは次の順番で実施される。

 Transfer_problem
 
         > basic_setting M1
         基本設定(前出) 

         > kind_order_search (M1
         技をかける種類と順番をいろいろな方法で設定する。
 
   > hot_candy (M4
          Candidate matrix や g-matrix を作成する。

    > font_size_color (M10
          Sheet 1 の盤面において、表れる数字の大きさや色を決める。

    > font_size_color_Sheet16 (M10
          Sheet 16 で同様の設定をする。

    > keisen (M10
         Sheet 1 の盤面にブロック境界、セル境界にそれぞれ太字、細字の線をひく。        
       > num_of_cells (M6)
          Givens の数、empty cellの数を求める。

    > full_number_check (M27
          > kosu_in_unit (M27)

            diagonal_vacua (M27)

    > aroma_impression (M53)
         数字の形状による印象を数値化して%で表し点数を計算する。
    > symmetry_check (M27)
               7種類の図形の対称性を判定し、対称点数を求める。
    > number_of_entrance (M29)
            初期段階で基本技で取れるセルの個数を求める。

    > search_order_list (M29)
            設定された技をかける順番 md(imm) をSheet 6 にoutput する。








2014年5月15日木曜日

number_distribution

 計算を行う時には、先に格納した問題をDatabase Sheet より Sheet 1に呼び出しておく。それには Fig. 8 の Diagram の上にあるコマンド Input Problem をクリックする。
 このとき呼び出されるマクロが、この Number_distribution である。

 このマクロでは、
 number_distribution
    > clear_table
    > transfer_problem
    > minimam_givens_for_present_diagram
    > artistic_point

のように初期セットの他にいくつかの準備計算やLooks に関するポイント計算がおこなわれる。

      Fig.8   Call the Problem from Databese ( Sheet 6 ) by clicking command bottum "Input Problem" 

2014年5月11日日曜日

basic_setting



 basic_setting のマクロは 計算に必要な基本情報を設定するマクロである。

 計算を実行する前に 下図 のピンクの文字のように設定する。使用できる文字または数字は、周りにある該当するものを Double Click する。

        S  T U                AE                       AN    AP 



 isheet   Sheet 1   “S1”    入力Data のあるSheet 番号
dsheet  Sheet 1   “U1”    出力Data のあるSheet 番号

 ver    Sheet 1    “AN1”   Version を選択
beg     Sheet 1     “AP1”  各種の技(Strategy)を試す方法を選択

mondai  Sheet 1   “D2”    isheet の当該問題の記載の行番号

ppp=2 , qqq=10   Sheet 1 の Diagram (盤面)の原点となるセル位置
 Sheet 1 の 盤面 ( i , j ) のセルは、 Cells ( ppp+I , qqq+j ) で表す。
ppA=6 , qqA=2   Sheet 2 の盤面の原点の位置。

msga   Sheet 1  “C9”   計算を制御する記号
msgt    Sheet 1  “B9”  技の選択肢を制御する記号

fmsd   Sheet 1   “AS1”  基本技を設定する。
input_form  Sheet 1 “AE1”   技の順番の方法を指定する

pt=3 , ps=3  Block の 縦横のサイズを指定する。
z=pt*ps=9  
通常サイズナンプレは、9*981なので、z=9
16×16 ナンプレの場合には、 pt=ps=4, z=16.
 この数字を換えることで、大型ナンプレ、変則ナンプレに対応できる。
 




   

2014年5月5日月曜日

Input_to_sheet11


 Fig.2 のコマンド・ボタン 「 Input to isheet」(Sheet 1)をクリックすると、
       input_to_sheet11   (Module 12 )
が実行される。



   Fig. 8    Input Diagram of Sheet 1

ここに、isheet はデータベースのあるSheet番号で、Sheet11Sheet12Sheet14Sheet15などである。

このmacroでは、

     basic_setting   計算に先だって基本的な条件を設定するマクロの実行

      Fig.1の盤面の問題を isheet に書き込む。
Matrix 表示で セル (I,j) の値を isheet の mondai 行の
Cells(mondai, 9*i+1+j) に書き込む。

      Visual Data Input
      ntype(クラスターの種類の数)
      nsum(クラスターの総数)
 Fig.5 のクラスター毎の粒子数、個数、クラスター記号を読み込む。
また数字の配列や美しさに関するデータを読み込む。


                 Fig. 9    Input of Visual data

     number_distribution
    > clear_table
    > transfer_problem
    > minimam_givens_for_present_diagram
    > artistic_point






Number Place Simulation ( Output )


 問題のインプットが済むと、Fig. 2 の右側の上から二番目のコマンド・ボタンの「Input to isheet をクリックすると Fig.1 に示したデータ・ベースに 書き込まれてストアされる。

一度データベース・シートに格納されたデータは他の操作で消えることはない。もし消去したい時には同じ問題番号(Fig.1762)にして、盤面を全てクリア(Clear ボタンをクリック)してから「Input to isheet」を押す。インプット・ミスの場合も同じ要領で訂正する。

解析計算を行うには、

     Clear をクリック (盤面をクリアする)
     Input Problem をクリック (データベースから問題が呼び出される)
     Calculation Start をクリック

すると、ワン・クリックで次のような解答が得られる。


        Fig.4   Final Answer Output  of  Sheet 1 Diagram


                                  Fig.5   Digit Infomation Output  of  Givens  Distribution 



      Order    Cell     Digit Obtained  Stratege       Time     Each Technical Point   Block,Row,Column

          Fig. 6  Digital Output ( Sheet 6 )



         Fig.7     Output of  Visual Data Characteristics


















2014年5月3日土曜日

Number Place Simulation ( Input )


  数独の解法シミュレーションをするにはどのような順序で何をすればよいか?そのときアルゴリズムはどのようになっているか?使用されるマクロはどんなものか?について纏めてみよう。

(1)問題のインプット
 問題のインプットは極めて簡単である。
     まず新しい問題を格納するSheet の番号と行番号を確認する。問題は一行に納められ、最初にインプットするのは、次のデータシートの Aから Eまでの5項目である。
A   Puzzle Number 問題番号
B   Book Name
   C      Author 
   D   Date Calculated
   E   Level Published


         A                B                         C                D           E

     Fig.1     Example of  Database ( One line corresponds to one puzzle  )

    Sheet 1 の盤面に Puzzle の表出数(Givens)をインプットする。 (赤字)

  



           Fig. 2    Input of Givens data for Diagram of  Sheet 1 




    「見た目」(Looks)を計算する時には、Patternに関するクラスターの粒子数、クラスター数、クラスター記号などの諸元、Digit に関する粒子列の種類、個数、点数などをインプットする。




                Fig. 3   Input data  concerning  Visual aspect  ( Looks )