• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Wikipediaの「A*」の項目の「m の親を n として記録する。)

A*探索アルゴリズムのmの親とは何を指すのか?

このQ&Aのポイント
  • A*探索アルゴリズムのmの親とは、mがOpenリストに追加されるときにnとして記録されるノードのことです。
  • mの親は、A*探索アルゴリズムのオープンリストに追加されるノードmの直前のノードを意味します。
  • mの親とは、A*探索アルゴリズムにおいて、現在のノードmに移動する前のノードを指します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

Wikipediaの説明を読みましたが、 「スタート地点からmに至る最短ルートにおける、直前のノード」を指して「親」と言っているのだと思います。 A*は、「ダイクストラ法」という「幅優先探索」アルゴリズム http://ja.wikipedia.org/wiki/%E5%B9%85%E5%84%AA%E5%85%88%E6%8E%A2%E7%B4%A2 に対し、無駄な探索を行わないよう改良を行った、「最良優先探索」アルゴリズムです。 http://ja.wikipedia.org/wiki/%E6%9C%80%E8%89%AF%E5%84%AA%E5%85%88%E6%8E%A2%E7%B4%A2 幅優先探索では、探索した経路を「木構造」で表現しますから、その意味で、 あるノードに対し「スタート地点からそのノードへ辿る最短経路における直前のノード」は そのノードの親ノードになります。

bonbonSSE6
質問者

お礼

なるほど、親と書かれている理由まで答えていただきありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • M,Nを部分空間とする時,双対空間(M+N)*や(M∩N)*は夫々どのように表せれるか?

    宜しくお願い致します。 Wを体F上の線形空間Vの部分空間で W*:={f;fはVからFへの線形写像,f(W)={0}}(0はFの零元) と定義する事にする。 M,NがVの部分空間の時、(M+N)*や(M∩N)*は夫々どのように表せれるか? (因みに,M+N:={m+n;m∈M,n∈N}の意味です) という問題なのですが夫々どのように表せますでしょうか?

  • "into m and along n"と"onto n along m"の意味は?

    [Q]Projections:Given L(V).V=m(+)n. E is a projection into m and along n.And F is a projection onto n along m. Show that E,F are linear transformations. ((+)は直和の記号を表してます。L(V)はF上のベクトル空間VからVへの線形写像全体の集合を表してます) はどうやって解けばいいのでしょうか? (linear transformation の定義は或る線形空間から同線形空間への線形写像の事です。今回の場合VからVへの線形写像) a projection into m and along n と a projection onto n along m. の意味がよく分かりません。 (mとnはVの部分空間でVの任意の元がmとnとの一意的な和で表されるのすよね)

  • Rが単位的可換環でf=Σ_{i=0}^n a_ix^i∈R[x]とする。fが単元⇔a_0は単元でa_1,a_2,…,a_nはnilpotent

    Rが単位的可換環でf=Σ_{i=0}^n a_ix^i∈R[x]とする。fが単元⇔a_0は単元でa_1,a_2,…,a_nはnilpotent。 という問題です。 ∃n∈N;a^n=0ならaはnilpotentである というのがnilpotentの定義です。 (必要性) fが単元だというのだから,∃g(x)∈R[x];f(x)g(x)=1。 もし,degf(x)=1なら,明らかにa_0は単元でなければならない。 もし,degf(x)>1でg(x)=_{i=0}^m b_ix^iとすると f(x)g(x)=Σ_{k=0}^{m+n}(Σ_{i+j=k}a_ib_j)x^kでこれからどのようにしてa_iがnilpotentである事が示せますか? (十分性) a_iはnilpotentsだからa_i^r_i=0 (但し,r_i∈N, i=1,2,…,n)とするとここからどのようにf(x)の逆元g(x)を決めれますでしょうか?

  • エラトステネスの篩(ふるい)について

    素数を求めるアルゴリズム「エラトステネスの篩(ふるい)」について質問があります。 Wikipedia によると http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9 【ステップ4】 探索リストの最大値が素数リストの最大値の平方よりも小さい場合、素数リストおよび探索リストに残っている数が素数となる。 と記載されています。 2~1000の間にある素数を調べる場合は、 素数リストの最大値が11のところで累乗が1000 を超えるため 残っている数が素数ということなります。 実際試してみたところ、493 を素数と見なしてしまいました。 493 は 17の倍数なのですが、上記のとおり素数リストの最大値が11のところで 残っている数を素数と考えると、17の倍数の削除が働きません。 ほかの質問でエラトステネスの篩(ふるい)について質問されている方がおられるようですが もうひとつ理解が足りませんでしたので、申し訳ありませんが 考え方、やり方の間違いなどについて、ご教授をお願いします。

  • LISPによる横型探索

    LISPのSchemeをつかって横型探索で探索した経路を出力するプログラムをつくっているのですが、 今は探索が終わると終了するとCLOSEDの中を表示するプログラムしかできていません もしこれに探索した経路の出力をする機能を加える場合どうすればいいですか? OPEN→待ちリスト CLOSED→展開済みリスト GOAL→目標地点 OP→オペレータの集まり nとopから展開の結果をだす (define (tenkai n op) (tenkai2 n op '())) (define (tenkai2 n op kekka) (if (null? op) kekka (if (= n (car (car op))) (tenkai2 n (cdr op) (cons (car (cdr (car op))) kekka)) (tenkai2 n (cdr op) kekka)))) (define (yokogata open goal op closed) (if (null? open) 'sippai (if (= (car open) goal) (display closed) (yokogata (append (cdr open) (tenkai (car open) op)) goal op (append closed (list (car open)))))))

  • 「可測空間(A,B)上のf-可測集合全体Mはσ集合体をなす」の証明

    下記の命題の(iii)がどうしても示せません。 [定義]f:B→R∪{+∞}を可測空間(A,B)上の外測度。 ⇔(def) (i) f(2^A)⊂[0,∞],特にf(φ)=0 (ii) C⊂D(C,D∈2^A)⇒f(C)≦f(D) (iii) f(∪[n=1..∞]C_n)≦Σ[n=1..∞]f(C_n) (C_n∈2^A (n∈N)) [定義]f:B→R∪{+∞}を可測空間(A,B)上の外測度とする。E(⊂A)は(A,B)上でf-可測(集合)。 ⇔(def) ∀C∈2^A,f(C)=f(C∩E)+f(C∩E^c) [命題] (A,B)を可測空間とする。(A,B)上のf-可測集合全体Mはσ集合体をなす。 [証] (i) E∈M⇒E^c∈Mは 今E∈Mなので∀C∈2^A,f(C)=f(C∩E)∪f(C∩E^c)が成立。 これはf(C)=f(C∩E^c)∪f(C∩(E^c)^c)とも書けるのでE^c∈M (ii) φ∈M ∀C∈2^A,f(C)=f(C∩A)=f(C∩(φ∪φ^c))=f((C∩φ)∪(C∩φ^c))と書ける。 従って,f-可測の定義よりφ∈M (iii) E_i∈M (i∈N)⇒∪[i∈N]E_i∈M E_i∈Mより∀C∈2^A,f(C)=f((C∩E_i)∪(C∩E_i^c))と書ける。 これからどうやって f(C)=f((C∩(∪[i∈N]E_i))+f(C∩(∪[i∈N]E_i)^c) が導けますでしょうか?

  • 行・列に隣り合う配列の要素を調べたい

    C言語でパズル的なものを作成していますが、 解らないことがありこちらで質問させていただきます。 何卒、よろしくお願いします。 ――――――――――――――――――― char list[7][7] = {   {0,0,0,0,0,0,0},   {0,0,0,0,0,0,0},   {0,0,0,0,1,0,0},   {0,0,1,9,1,0,0},   {0,0,0,1,1,0,0},   {0,0,0,1,0,1,0},   {0,0,0,0,0,0,0}, }; int result[7*7][2]; // [n][0]=x, [n][1]=y 例えば、上記のような配列があり、 list[4][4]の位置から探索開始したとします。 (解り易くするため仮に'9'を指定しています) このlist[4][4]から「上下左右」に調べ、 '1'があればそこから更に上下左右に調べるといった感じで、 '1'で繋がってる配列の要素番号を抜き出したいのです。 例えばlist[4][5]が'1'であるため、 次にlist[5][5]とlist[4][6]を調べます。 また、list[3][4]の上下左には'1'が無いのでこの配列の探索は終了となります。 上記例でいえば、'x'の点が求めたい要素番号に該当します。 char list[7][7] = {   {0,0,0,0,0,0,0},   {0,0,0,0,0,0,0},   {0,0,0,0,x,0,0},   {0,0,x,9,x,0,0},   {0,0,0,x,x,0,0},   {0,0,0,x,0,1,0},   {0,0,0,0,0,0,0}, }; このような処理をする上で、 何か良いアルゴリズム等は方法はないでしょうか?

  • 二分探索の平均探索回数

    こんにちは、 二分探索の最大探索回数がlog2N+1なのは 書籍にある計算式の変換で理解できたのですが、平均探索回数がlog2Nなのが理解できません。 書籍では『平均探索回数の場合、N/2個のデータ探索をすればよいと考えます』と書かれていますが どういう意味なのか判りません。 そこで具体的に考えてみました。 例えば8個のデータの中から探す場合、 a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7] とデータが並んでいて、 それぞれの位置に目的の値が入っていた時の探索回数は、 3回、2回、3回、1回、3回、2回、3回、4回 と考えました。 a[1]の場所に目的の数があった場合、 2回目の探索で見つかる、という意味合いです。 最大探索回数はa[7]の時に4回となり、log2N+1になっています。 この考え方でNを増やしていった所、最大探索回数はlog2N+1になりそうです。 そこで上記の場合の平均探索回数の方は、 (3+2+3+1+3+2+3+4)/8 と計算し、2.625と考えました。 この考え方でNを増やしていくと 16コ:3.375 32コ:4.21875 64コ:5.125 128コ:6.0703125 …と、 平均探索回数がlog2Nではなくlog2N-1に近づいていきます。 考え方の間違っている箇所の指摘をお願いします。

  • I'm a big manの意味

    CHEMISTRYの「You Go Your Way」と言うCDのカップリング曲で「B.M.N.(BIG MAN,NOW)」と言う曲があります。 その「BIG MAN」とはどういう意味なんでしょう。 調べてみたら偉大な人とか重要な人と言うことですけど、何だか変です。 歌詞の内容がしっくりきません。 「I'm a big man」の意味を教えてください。 お願いします。

  • 真円度の計測、(a=2Σx/n, b=2Σy/n…

    真円度の計測、(a=2Σx/n, b=2Σy/n)は何故?  真円度を計測する場合、方法が何種類かあるようですが、 そのなかで、最小二乗(平均?)中心法という方法について わからない部分があります。  実際の計測ではなく、その基礎となる数学的な部分で 恐縮ですが、どなたかご教授願えれば幸いです。 不明な部分は以下のとおりです、JIS 機械計測 B7451-1997の 574頁に次のように記載されております。 「・・・記録紙中心から最小二乗中心までの距離a,bは、次の近似式で 求められる。 a=2Σx/n b=2Σy/n ・・・」この式のうち、何故Σx/n等が2倍されるのでしょうか?  いきなり途中から式が出現してわかりづらいと思いますが、最小二乗法を利用して円の中心を算出した結果が上記のa,bになると言っているのではないかと思い、  中心の座標を(a,b)とし、半径rの円の方程式は(x-a)^2+(y-b)^2-r^2=0 と表されますから、f=Σ{(x-xi)^2+(y-yi)^2-r^2}を最小にする(Xa,Yb) を求めればいいと考え、fをx,yで偏微分し、∂f/∂x=0,∂f/∂y=0より Xa=Σxi/n, Yb=Σyi/nを得ます。ところが、 前記のとおり、JISではこの値を2倍しています。  どこかに勘違いがあると思われます。基本の基本部分で お恥ずかしいですが、よろしくお願い致します。