2013年5月19日日曜日

U search memoramdum (4) U_search

ここに、Usearch を例にとりメモとして残そうと企てる理由は3つある。

 一つは、本来の目的のそのアルゴリズムを今一度思い出し、メモとして書き記すためである。何しろプログラムを書いてから2年以上もたつというのに、そのプログラム本体以外に何もメモが残っていないからである。当時の記憶はだんだんと薄れていき、自分で書いたプログラムなのに、その意味が分からなくなってしまっている。ただそんなに詳しくは書くつもりはない。あくまでも私に対するメモで、他人にもすぐに理解できるような代物を目指したものではない。

 二つ目は、「次の一手」を説明できるようなコメントの部分を追加することにある。今の状態は答えは出てくるものの何故そうなるのかという情報のアウトプットがされていない。

 三つ目は、このルーチンのアルゴリズムを使って、拡張した探索法を見つけることである。実際、三次以上の Finned fish や Sasimi Fish などの技は今のアルゴリズムには含まれていない。そしてまた多重Chain や多重Loop といったものへの発展が期待される可能性の探査も含んでいる。

 U ( Sword fish) を例にとり、search flow を説明しよう。 

① U_search ( M45, 5 )
              > Ur_search    ( M45, 6)
              > Uc_search    ( M45, 7)

② Ur_search >  hot_candy
                           deform_Ur     ( M45,10)  
                           scf
                           Bcf

③ deform_Ur
                      room=3
                      row_fish_basic_deform  

④ row_fish_basic_deform  ( M45,  1)
                      basic_setting

    kind = "row"
    kind1 = "R"
    flagM = "fish" & kind1 & room

        For nb=1 to z
                      select_menber  ( M44, 1)
                      column_fish_judge ( M45 )
        Next nb

⑤ deform_Uc
                      room=3
                      column_fish_basic_deform  

⑥ column_fish_basic_deform  
      basic_setting
     kind = "column"
     kind1 = "C"
     flagM = "fish" & kind1 & room

    For nb = 1 To z
     select_number
     column_fish_judge
    Next nb

 To be continue
        

 

U search memorandum (3) search_type_choice

  ippatsu (M4) でまず、基本技の探索を search_process_choice (M4) で行う。基本技だけで決まる、Beginner, Very Easy,  Easy のレベルの問題はここで終了する。

次に、 > search_type_choice ( M4) において、技の種類別に次の macro に分かれる。

① search_macro (M41)         VQGP・・・・などの単独技
② combine_macro ( M41)      v w q g  ・・・などの組み合わせ技
③ playback_macro
④ A_birdy_search ( M4)       "?"
⑤ A_eargle_search ( M4)      "#"
⑥  Deform_candidate_search   "e"
⑦ destroy_macro                  "d"
⑧ extra_input_from_database  ( M4)  X
 
①の search_macro はそれぞれの記号別に次に示す具体的な search macro にうつる。
'
Sub search_macro()
 Range("AW1") = "search"
Select Case md(si5)
Case "V": V_search          '          M23
Case "W": W_search        '          M15
Case "Λ": Λ_search         '          M26
Case "Q": Q_search         '          M17
Case "G": G_search          '          M16
Case "P": P_search           '          M18
Case "Φ": Φ_search          '          M18
Case "K": K_search         '          M40
Case "S": S_search           '          M21
Case "Ξ": Ξ_search          '          M18
Case "Δ": Δ_search          '          M33
Case "H": H_search         '          M22
Case "Ω": Ω_search        '          M22
Case "Y": Y_search        '          M25
Case "Π": Π_search        '          M26
Case "Θ": Θ_search       '          M26
Case "L": L_search        '          M47
Case "T": T_search        '          M47
Case "U": U_search       '          M45
Case "N": N_search       '          M47
Case "O": O_search       '          M47
Case "J": J_search          '          M45
Case "F": F_seach         '          M47
Case "Z": Z_search       '          M47
Case "I": I_search         '          M45
Case "Γ": Γ_search       '          M33
'Case "?": Bcf               '          M41
 Case Else
     MsgBox ("No search name appear !  ")
 End Select
End Sub
'