JP2009134717A - 座標データ構造におけるデータの格納またはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステム - Google Patents

座標データ構造におけるデータの格納またはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステム Download PDF

Info

Publication number
JP2009134717A
JP2009134717A JP2008298939A JP2008298939A JP2009134717A JP 2009134717 A JP2009134717 A JP 2009134717A JP 2008298939 A JP2008298939 A JP 2008298939A JP 2008298939 A JP2008298939 A JP 2008298939A JP 2009134717 A JP2009134717 A JP 2009134717A
Authority
JP
Japan
Prior art keywords
data structure
node
nodes
search
binary tree
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.)
Granted
Application number
JP2008298939A
Other languages
English (en)
Other versions
JP4945547B2 (ja
JP2009134717A5 (ja
Inventor
Wheeler Ruml
ラムール ウィーラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Palo Alto Research Center Inc
Original Assignee
Palo Alto Research Center Inc
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 Palo Alto Research Center Inc filed Critical Palo Alto Research Center Inc
Publication of JP2009134717A publication Critical patent/JP2009134717A/ja
Publication of JP2009134717A5 publication Critical patent/JP2009134717A5/ja
Application granted granted Critical
Publication of JP4945547B2 publication Critical patent/JP4945547B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】座標データ構造におけるデータの格納またはアクセスにおいて、探索アルゴリズムおよび関係するデータ構造の処理効率の向上を図ることである。
【解決手段】座標データ構造におけるデータの格納およびアクセス方法は、品質指標値の降順に配列されたノードの集合を含む平衡二分木データ構造を生成し、ノードの集合に関係する探索労力指標値の昇順に配列されたノードの集合の部分集合を含むバイナリヒープデータ構造を生成し、任意のノードをバイナリヒープデータ構造内のノードの部分集合から選択し、選択されたノードをバイナリヒープデータ構造および平衡二分木データ構造から削除し、選択されたノードに関係する解の評価のために、選択されたノードを探索キュー内に配置する。
【選択図】図6

Description

本発明は、座標データ構造におけるデータの格納またはアクセス方法、及びそのシステムに係り、特に、有界部分最適問題解法を用いた座標データ構造におけるデータの格納あるいはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステムに関する。
機械制御システムの設計においては、システムの処理量の最適化、またはそのような最適化に関連する費用の最小化の少なくともいずれか1つのため、リソースをそれらの最大能力まで利用することが重要である。プリンタ、写真複写機などの場合、従来の制御機構は情報処理、ジョブまたはタスクの実行、そのようなジョブまたはタスクの計画を行う仕方が限られている。例えば、あるジョブに関して複数のタスクが実行される場合には、タスクを具体的に順序付けることが1以上の他の順序付けを排除するより好ましいであろうし、そのような解法が機械による実行に関して最適であると考えられる。例えば印刷プラットフォームの場合、印刷すべきページ、印刷に関係するタスクなどの最適な順序付けは、リソースの無駄を軽減しプリンタ処理量を向上させるために望ましい。
従来の計画システムおよび計画方法では、A*サーチアルゴリズムを含むさまざまな探索アルゴリズムが用いられている。A*サーチアルゴリズムは、一般的に、所与の初期状態から望ましい目標状態までの経路検索を容易にするために機能する。A*サーチアルゴリズムは、帰納的評価を利用して、与えられたノードを経由して所望のノードに達する最適経路の評価によってその与えられたノードをランク付けするものなので、「最良」探索アルゴリズムの一例となる。この場合、探索アルゴリズムは、各ノードをそれぞれの評価値に従って、価値付ける順序を決定することができる。しかし、A*アルゴリズムは、最適なものより劣ることが証明できないすべてのノードを探索するものであるので、時間がかかるとともに計算機的にも費用がかさむことがある。これはリソース(例えばメモリ、処理能力など)を占有し、処理の遅延につながることにもなる。
米国特許6,973,286明細書 米国特許6,959,165明細書
したがって、探索アルゴリズムおよび関係するデータ構造の処理効率の向上を助けるシステムまたは方法の少なくともいずれか1つの技術においては、まだ満たされていない要求が存在している。
本明細書に記載されるさまざまな態様では、バランスの取れた二分木データ構造(以後、平衡二分木データ構造という)とバイナリヒープデータ構造とを含むデータ構造の格納、生成、維持、探索およびアクセスに関するシステムおよび方法が記述される。例えば、座標データ構造におけるデータの格納およびアクセス方法は、品質指標値の降順に配列されたノードの集合を含む平衡二分木データ構造を生成する工程と、ノードの集合の部分集合に関係する探索労力指標値の昇順に配列されたノードの集合の部分集合を含むバイナリヒープデータ構造を生成する工程とを含む。
別の態様では、印刷ジョブに関する解の識別を容易にするシステムは、平衡二分木データ構造およびバイナリヒープデータ構造を生成するデータ構造ジェネレータと、平衡二分木データ構造およびバイナリヒープデータ構造について探索アルゴリズムを用いて探索して最適解を識別するソルバと、平衡二分木データ構造およびバイナリヒープデータ構造が評価のため格納される探索キューとを備える。
さらに別の態様は、ある処理を行なうための命令を実行する1つ以上の構成要素と、この処理を行なうためのそれぞれの動作を表わす複数のノードを用いて二分木データ構造とバイナリヒープデータ構造とを含むデータ構造を生成するデータ構造ジェネレータとを備え、各ノードがそのノードにおける最適解の品質を表わす品質指標値およびそのノードにおける最適解への到達に関する探索労力の量を表わす探索労力指標値に関係付けられることを特徴とするシステムに関する。このシステムは、バイナリヒープデータ構造を探索して既知で最良の動作に対して所定の品質範囲の内にある動作を識別するとともに識別されて選択されたノードを評価のため探索キュー内に配置するソルバにおいて、データ構造ジェネレータが二分木データ構造およびバイナリヒープデータ構造から選択された動作に関係するノードを削除してデータ構造を更新し、データ構造が連続して更新されるごとにソルバがバイナリヒープデータ構造を反復して探索し次の最適な動作を選択することを特徴とするソルバをさらに備える。
上記構成により、探索アルゴリズムおよび関係するデータ構造の処理効率の向上を図ることができる。
本明細書に記載されるさまざまな態様では、有界部分最適性に関する実行可能な探索結果を高速で識別できるように、平衡二分木データ構造とバイナリヒープデータ構造とを含む座標データ構造を組合せて探索アルゴリズムの実行中に相互相関させることができる。本明細書で提示される特徴は、計算機システム、産業制御システム、生産実施システム、コンピュータゲーム対戦コントローラ、生物学的配列アラインメントシステム、ロジスティクスソフトウェア、電子撮像環境、および1つ以上のゼログラフィ要素を用いてゼログラフィの手順または機能が実施されるゼログラフィ環境を含み、またそれらに限定されないさまざまな環境について、これらに構成されるか、またはこれらに用いられるか、すくなくとも何れか1つであることを理解すべきである。対象となる概念は、主としてプリンタまたは複写機などの印刷プラットフォームに関連して説明されるが、そのような概念は、他の多くの技術または探索アルゴリズムのすくなくともいずれか1つにおいても利用可能であることが了解されよう。他の態様では、そのような方法をゲーム用途、経路決定およびモーションプランニング用途などにも利用することができる。実際、対象となる技術革新は、最良探索プロトコルおよびそれに関係するデータ構造が用いられる任意かつすべての用途において利用可能である。
図1を参照すると、二分木データ構造とバイナリヒープデータ構造とを含む組合せデータ構造を用いて組合せ探索を実行するシステム100が図示されている。システム100は、最適な解法の可能性を決定するために複数のノードを評価することができるソルバ102(例えばプロセッサなど)を備えている。例えば、各ノード(N)(ノードは、例えば、一意的な解の可能性を表わすものでよい)は、それに関係する付加的な2つの指標値を有してもよい。例えば、当該ノードにおける最適解を記述する品質指標値(QV)を当該ノードに関係付け、当該ノードにおける最適解に到達するのに必要な労力のレベルを示す探索労力指標値(SEV)を当該ノードに付加的に関係付けてもよい。探索キュー104は、ソルバ102により利用可能なデータ構造106を含んで構成されるものとできる。データ構造106内のノードはN1からNn(nは整数)として示されており、各々それぞれのQVおよびSEV指標値と関係付けられている。システム100は、コンピュータ108内で実行されるか、またはコンピュータ108によって構成されるかの中の少なくともいずれか1つでよいことが了解されよう。
さまざまな態様において、データ構造106は、最良ノード(例えば、ジョブ要求などに対する解を探索する際の拡張のための最適ノード)の所定の品質因子の内にあるノードを含むすべてのノードの部分集合から、あるノードを最小の労力量で発見することを実行する。この意味で、「最適」ノードは、最高の品質指標値を有する解である必要はなく(勿論、最適ノードは、すべてのノードの集合で最高の品質指標値を有してもよいが)、むしろ(例えば、最良解の所定の品質因子の内において)最小の探索労力量に関係する「十分に高い」品質指標値を有するノードでありえる。したがって、選択されたノードは、品質において「部分最適」であってもよいが、その子ノード群の中で探索を行なって可能解を発見することは容易であるので、さらなる最適なノードがあるときはそれを超えたものであることが望ましい。
ある一例では、各ノードは、プリンタなどの機械に関するジョブ計画の解における特定の動作を表わすものとできる。ジョブの完了を表わすノードに達することは、ジョブを完成させる動作の順序を発見したことに相当する。この計画は、根(ルート)ノードから最終(ターミナル)ノードに導く複数のノードに沿った経路によって表わすことができる。ソルバ102は、すべてのジョブ計画を、最適なジョブ計画に対して、品質指標値を示す効率で5%のばらつきの範囲内で評価することが要求されるものとして決定を行うことができる。例えば、次の最適なノード(N)は、1の品質値を与えるものとできる。次に少なくとも95%の品質指標値としての効率を有する最も容易に到達できたノードを、データ構造106の二分木データ構造114およびバイナリヒープデータ構造116から削除し、そして拡張し(例えば、選ばれたノードに関して子ノードを生成して)、この処理を繰り返すことができる。次のパスでは、所定の判定基準を満たす次のノードを選択して、データ構造106から削除し、探索アルゴリズム110により拡張して、印刷ジョブなどに対する完全な解の生成を実行するものとできる。上記の例は、品質指標値について95%の効率閾値と設定することに限られず、適切なまたは所望の効率閾値を設定して用いてもよいことが了解されよう。さらに、品質指標値は、1つ以上の因子またはパラメータの関数であってもよく、それらはジョブ処理時間、ジョブ実行時間、所与のジョブ解法の完了に必要な動作の数、所与のジョブ解法の実行に必要なリソ−スの数または質、または別のジョブ解法または動作よりも好適な所与のジョブ解法または動作が得られる他の適切なパラメータを含むが、それらに限定されない。探索労力指標値は、ある解法に対する介在ノードの数、帰納的品質評価の精度、または他の因子など多くの因子の関数であってもよい。
探索キュー104およびそのデータ構造106は、例えば、二分木データ構造114と、バイナリヒープデータ構造116とを含んでもよい。態様によっては、二分木データ構造114は平衡二分木データ構造であってもよい。システム100は、実行すべき1つ以上のジョブ、前記1つ以上のジョブに関連して実行すべき1つ以上の動作などの形態で入力を受信するデータ構造ジェネレータ112を付加的に備えることができる。ここで、データ構造ジェネレータ112は、複数のジョブ動作をそれぞれのノードに関係付けてデータ構造106を生成することができる。例えば、データ構造ジェネレータ112は、1組の、機械で実行可能な命令を実行し、それぞれが特定のジョブ動作に関係付けられた複数のノードを含む平衡二分木データ構造を生成することができる。探索キュー104に含まれるデータ構造ジェネレータ112は、最適ノードに関する所定の効率または適合度の範囲内にあるノードを二分木データ構造114の中から識別するものとでき、そして識別されて選択されたノードをそれぞれの探索困難性のレベルに従ってバイナリヒープデータ構造116内に配置編成するものとしてもよい。このようにして、データ構造ジェネレータ112は、ソルバ102による評価および拡張のために、ソルバ102によるノードの選択を実行するものとできる(例えば、バイナリヒープデータ構造116において最も容易に探索されたノードを選択することができる)。さらに、データ構造ジェネレータ112は、拡張のためあるノードの選択において、二分木データ構造114またはバイナリヒープデータ構造116の少なくともいずれか1つからそのノードを削除することによりデータ構造106を更新することができる。ノードがソルバ102によって拡張されれば、当該ノードおよびその子ノードを二分木データ構造114に再挿入し、二分木データ構造114およびバイナリヒープデータ構造116を更新して、新しいノードによりもたらされる変化を反映させることができる。このようにして、システム100は、最適解の識別および評価のためソルバ102により探索される全体として拡張された解法空間を、効果的に縮小することができる。
図2は、さまざまな特徴による、複数の利用可能なノードの中で適切なノードの識別を実行するためのデータ構造の一部分として用いることができる平衡二分木データ構造200の図解である。平衡二分木データ構造200は、親ノード202を含んでおり、親ノード202は1対の子ノード204A,204Bを有しており、その各々がまた1対の子ノードを有している。例えば、204Aの子ノードはそれぞれ206A,206Bとして標識され、204Bの子ノードはそれぞれ206C,206Dとして標識される。平衡二分木データ構造200の各ノードは、ジョブ要求に対する解として、プリンタなどの機械により実行可能な動作に関係付けられる。平衡二分木データ構造200は、図解の左から右へ、品質の降順に編成することができるが、他の編成方式も当業者にとっては明らかであろう。各ノードは、印刷ジョブに対するポテンシャル解における次の論理動作としてのノードの適合度およびノード探索に関係する困難度のレベルを示すものとして、それぞれ、品質指標値および探索労力指標値{QV,SEV}に関係付けられる。
平衡二分木データ構造200内の各ノードは、その親ノード、その左の子ノード、およびその右の子ノードに対するポインタを備えるものとしてもよい。平衡二分木データ構造200は、データの編成が可能な、図1に関して説明したデータ構造106の一部分である二分木データ構造114などのデータ構造の第1の部分を表わしている。さらに、平衡二分木データ構造200は、以下で説明するバイナリヒープデータ構造116とともに、探索アルゴリズム110により探索される適切なノードへのアクセス時間短縮を容易にする1対の座標データ構造として用いることができる。平衡二分木データ構造200は、ポテンシャル解の同様の数に対応するいかなる数のノードを含んでもよく、図示のような7ノードのツリーサイズに限定されないことが了解されよう。
図3は、1つ以上の態様に従って、二分木データ構造114とともに利用して高速組合せ探索のため座標データ構造へのデータ格納を実行することが可能なバイナリヒープデータ構造300の図解である。バイナリヒープデータ構造300は、図2の平衡二分木データ構造200のような二分木データ構造を用いて作成可能なデータ構造である。バイナリヒープデータ構造300は、ヒープのさまざまな要素への高速アクセスを実行するように、基礎配列データ構造を用いて実装できることが当業者にとって明らかである。ある一例では、バイナリヒープデータ構造300は、各ノードがその子ノードよりも少ない探索労力で関係付けられる最小ヒープとすることができる。あるノードをこのヒープの最下層に付加し、その親ノードと比較し、平衡二分木データ構造200内のこのノードの位置がその親ノードの平衡二分木データ構造200内の位置よりも到達が容易である場合、当該ノードをバイナリヒープデータ構造300内のその親ノードと入れ替えることができる。これは、バイナリヒープデータ構造300が正しい順序付けを獲得するまで繰り返えすことができる。
バイナリヒープデータ構造300は、平衡二分木データ構造200のすべてのノードを含む必要はないことが了解されよう。しかしながら、バイナリヒープデータ構造300内の各ノードは、平衡二分木データ構造200から選択されるノードであるものとしてよい。ある一例では、最適解の値の品質指標値の効率で10%以内のばらつきにある解の値を有するすべてのノードに関して探索を実行するものとしてもよい。例えば、所与のジョブシーケンスに関する最適解の実行に15秒かかり、かつ解の評価基準が時間である場合、完了までに16.5秒よりも長くかからない解を得られそうな動作に関係するノードを、バイナリヒープデータ構造300に含むものとして選択することができる。
バイナリヒープデータ構造300を編成する場合、ノード従属性の基準は探索の容易度を含むものとできる。例えば、平衡二分木データ構造200において最適な次の動作について品質指標値である効率のばらつきの5%以内にあるノードの探索が実行されると、合計4個のノードが返され(例えばノード202,204A,206A,206B)、これらの各ノードを利用してバイナリヒープデータ構造300を生成することができる。このようにしてノード204Aは、そのSEVが1なので、バイナリヒープデータ構造300の最上部(根、ルート)に示され、探索困難度が相対的に最低レベルであることを示している。ノード206Bは、それに関係する探索労力がより大きいのでバイナリヒープデータ構造300内でさらに下層側にある。
したがって、特定のジョブまたはタスクに対する解の探索が行なわれる場合、ノード204Aは、バイナリヒープデータ構造300から選択されて削除されるものとできる。さらに、平衡二分木データ構造200内の対応するノード(例えばノード204A)は、バイナリヒープデータ構造300内に格納される際に(平衡二分木データ構造200内の)その親ノードおよび子ノードに対するポインタ情報を含んでいるので削除するものとできる。すなわち、ノード204Aは、平衡二分木データ構造200内に有する子ノードの属性の他に、平衡二分木データ構造200内のノード202の子ノードであることを示すポインタ情報を含むことができる。このようにして、ノード204Aを平衡二分木データ構造200内に容易に格納配置し、また削除することができる。平衡二分木データ構造200は、バイナリヒープデータ構造300と同様に、次の評価のために更新することができる。
上記におけるさまざまな閾値または基準の少なくともいずれか1つは、本質的に例示であり、いかなる適切に設定された閾値(例えば1%、5%、7%、15%、50%など)またはいかなる適切な基準(例えば時間、エネルギーの保全または消費、リソースの保全または消費、費用削減など)の少なくともいずれか1つを用いてもよいことが了解されよう。
図4は、上記のような二分木データ構造の部分とバイナリヒープデータ構造の部分とを含む組合せデータ構造400を示している。複数のノードが図示されており、図内の矢印はあるノードから別のノードへの能動的ポインタに相当している。第1のノード401は、関係する5つの情報を(例えば上記QVおよびSEV情報に加えて)有している。例えば、ノード401は、関係するノードデータフィールド部402を有しており、このノードデータフィールド部は、ノードの属性に関する情報、ノードに関係する動作(例えば解の一部分をなすもの)、および本明細書で記述されるさまざまな方法を実行するための他の適切な情報を含むものである。さらに、ノード401は、そのデータ配列構造432(例えばバイナリヒープデータ構造の)内の位置を示す配列指標値404を有している。この場合、ノード401は、最小量の探索労力指標値に関係付けられ、かつデータ配列構造432の最初にあって、このデータ配列構造432は、探索労力指標値が0から始まる(勿論、そのようなデータ配列構造432は、知られるように1または他の適切な値で始まってもよいが)ので、ノード401の配列指標値としての配列ポインタ値は0となる。またノード401は3つのポインタフィールド部、すなわちその左に来る子ノードに対するポインタフィールド部406と、その右に来る子ノードに対するポインタフィールド部408と、その親ノードに対するポインタフィールド部410とを有する。ノード401は、データ構造400の3つの部分における根(ルート)ノードなので、親ノードを有しておらず、その親ノードを示すポインタフィールド部410は空(ヌル)となり、空ポインタを通すハッシュ線により示されている。
同様に、ノード403は、ノードデータフィールド部412と、配列指標値414または配列ポインタ値と、その左右にそれぞれ来る子ノードに対するポインタフィールド部416,420と、その親ノードに対するポインタフィールド部418とを有している。同様に、ノード405は、ノードデータフィールド部422と、配列指標値424である配列ポインタ値と、その左右にそれぞれ来る子ノードに対するポインタフィールド部426,430と、その親ノードに対するポインタフィールド部428とを有している。この簡略化された例では、三つのノード401,403,405のみが図示されており、ノード403,405は、子ノードに対するポインタフィールド部はそれぞれ空(ヌル)を示している。しかし、本文書に提示されたシステムおよび方法が、本明細書に記述されるデータ構造で使用可能なノードの数において限定を受けないことは了解されよう。さらに、ノード405は、データ配列構造432内への包含に関して選択されない結果としてデータ配列構造432に包含されないので、配列指標値430である配列ポインタ値が空(ヌル)であることが留意されよう。このことは、前の図面に関して上記で説明したように、ノード405の品質指標値がデータ配列構造432への包含に関する所定の許容範囲を外れていることによって生じるものである。
バイナリヒープデータ構造のデータ配列構造432は、それぞれの探索労力指標値に従って配列された複数のノードを有している。図示のように、第1位置434は、配列内で最も容易に探索されるノードであることを示すノード401に対するポインタを保持している。位置434は、データ構造の二分木データ構造の部分内(例えばノード401)での高速な配置を可能とするためにノード401に対するポインタを有している。同様に、位置436は、ノード403において二分木データ構造の部分内のある位置に対するポインタを有している。この方法において、ポテンシャルジョブ解法経路を評価する際の拡張のために、データ構造400から複数のノードを迅速に削除するものとしてもよい。
図5および6に関し、平衡二分木データ構造およびバイナリヒープデータ構造の双方を含むデータ構造の生成または更新の少なくとも何れか1つを実行し、探索アルゴリズムを実行する方法の手順を説明する。ここでは、これらの方法を、一連の行為を図示するフローチャートとして示す。しかし、記述された技術革新のさまざまな態様では、1つ以上の手順が1つ以上の他の手順と同時に、また図示の順序とは異なる順序で生じ得てもよいことが了解されよう。さらに、態様によっては、所与の方法が、図示された手順より少ない手順ですむ場合があることを理解すべきである。
図5は、本明細書に記述される1以上の特徴による、二分木データ構造とバイナリヒープデータ構造とを含む座標データ構造を生成して複数のノードの組合せ探索を実行する方法の手順500の図解である。この方法では、502においてノードに品質指標値が割り当てられる。この品質指標値は、当該ノードに関係付けられたある動作または複数の動作を記述するものである。例えば、プリンタなどの機械では、所与の動作の品質指標として、その動作が印刷ジョブ実行を容易にする迅速性、ジョブ完了に関係する動作の数、動作の完了において消費されるリソ−スの数または質、または動作または解の少なくとも何れか1つの効率に関する他のパラメータなどに関係付けることができる。
504において、ノードに探索労力指標値が割り当てられる。例えば、探索労力指標値として、目標ノードまでの経路内のノードの数、評価情報の精度などを評価するものとできる。506において、ノードがデータ構造に挿入される。このデータ構造は、それぞれの品質指標値に従って配列されたノードを有する二分木データ構造と、関係する探索労力指標値の相対的程度に従って配列されたノードを有するバイナリヒープデータ構造とを含むことができる。
図6は、ジョブ要求に対する最適解を識別または評価の少なくとも何れか1つのために、平衡二分木データ構造およびバイナリヒープデータ構造の双方を含むデータ構造を探索する方法の手順600の図解である。602において、平衡二分木データ構造が初期化される。604において、平衡二分木データ構造の関数として生成されるバイナリヒープデータ構造(または配列)が初期化される。ある一例では、平衡二分木データ構造を探索して、ジョブ解法、すなわち計画内で実行すべき動作に関係付けられる目標値に関して所定の閾値範囲内にあるすべてのノードを識別するものとできる。例えば、品質指標値の目標値が100%の効率であり、かつ所定の閾値範囲が効率で30%である場合、既知で最良の次の動作に対して効率が少なくとも70%の動作に関係するすべてのノードを平衡二分木データ構造内で識別し、それぞれの探索困難性のレベルの順序で、探索労力レベルがより低いものをバイナリヒープデータ構造内で優先するようにして、バイナリヒープデータ構造内に配置できる。606において、あるノードをバイナリヒープデータ構造から拡張のため選択され、これにより当該ノードは、平衡二分木データ構造およびバイナリヒープデータ構造から削除され、実施可能なジョブ解法経路を表わす探索木に加えられる。
608において、上記のノードの選択が結果として最終(ターミナル)条件を生じるか否かに関する決定が行われる。例えば、複数のそれぞれのノードの動作によって所望の印刷ジョブなどが完了する(例えばさらなる動作の探索が必要でない)場合に、最終条件を生じるものと決定することができる。このような場合、ノードをもはや拡張する必要はなく、方法を終了させることができる。しかし、最終条件の状態が検出されない場合、610において、選択されたノードに関して子ノードを生成するものとできる。生成される子ノードは、親ノードの部分解の精密化すなわち拡張を表わすものである。そして、612において、新しい子ノードを二分木データ構造に挿入することもできる。挿入された子ノードは、例えば印刷ジョブなどの実行に関係する単一または複数の動作を表わすものとできる。生成された子ノードの付加により、相対的な品質指標値などに関する二分木データ構造を変化させ、その結果、二分木データ構造を更新してもよい。そして、614において、バイナリヒープデータ構造またはその配列を更新して、新しいノードの挿入により生じた解の品質閾値または探索困難度の変化を処理する。この方法の手順は、その後606に戻り、そこで次のノードを拡張のため選択する。このようにして、ジョブ要求に対する実行可能な解を生成するための膨大な数のポテンシャル動作を探索し、評価し、逐次的に格納する一方で、実行不可能または遠すぎる解法経路の評価に関係する時間消費を低減することができる。
図7は、カラープリントシートバッファまたは高密度統合パラレルプリンタ(tightly integrated parallel printer:TIPP)システムを備える汎用製品プリンタで使用できるような複数の構成要素を備えるシステム700を図示しており、本明細書に記述されるさまざまな特徴を利用可能な環境を表わしている。システム700は、1枚以上の用紙を含む用紙供給源702を備え、これは、カラー印刷エンジン704およびクロスオーバ708と協働的に接続される。用紙供給源702からの用紙は、2つの経路のうち一方を通ることができる。例えば、用紙は用紙供給源702からカラー印刷エンジン704、さらにカラープリントバッファ706へと送り、その後クロスオーバ708に進入させることができる。付加的または代替的に、用紙を(例えばカラー印刷エンジン704およびカラープリントバッファ706を迂回して)用紙供給源702からクロスオーバ708へ直接送ることもできる。
用紙供給源702からクロスオーバ708へ直接送られた用紙は、白黒印刷エンジン710を通り、次に白黒とカラーのページを組み合わせるマージャ712を経由させた後、ユーザに提供するため文書を仕上げるフィニッシャ714に送られる。クロスオーバ708による差込みの前に、用紙を一時的にシートバッファ716内に格納してもよい。カラー印刷エンジン704およびカラープリントバッファ706を経由した用紙は、一時的格納のためクロスオーバ708を経由してシートバッファ718内へ送られ、その上で、カラー印刷ページをマージャ712により他の白黒ページと組み合わせるなどとしてもよい。他の例では、あるページをシステム700のすべての構成要素に通過させ、カラー部分と白黒部分の双方を有するようにしてもよいことが了解されよう。システム700により実行されるあるジョブに関係する動作を、そのジョブに対する1つ以上の解を定義する一連の事象に組み入れ、それらを上記データ構造内のそれぞれのノードと関係付けることができる。
上記および他のさまざまな特徴および機能、またはそれらに代わるものは、好ましくは他の多くの異なるシステムまたは用途に組み入れてもよいことが了解されよう。またそれらのさまざまな現時点で予見または予期されない代替、修正、変更または改良をさらに当業者によって実施してもよく、それらも以下の特許請求の範囲に包含されるものとして意図されることが了解されよう。
二分木データ構造とバイナリヒープデータ構造とを含む組合せデータ構造の生成を実行するシステムを示す図である。 さまざまな特徴に従って、複数の実施可能な次の動作の中で、あるジョブ解法における適切な次の動作の識別および評価を実行するためのデータ構造の一部分として利用可能な平衡二分木データ構造を示す図である。 1つ以上の態様に従って、二分木データ構造とともに利用して、探索木における拡張のため、次の最適ノードの迅速な評価のために座標データ構造へのデータ格納を実行するためのバイナリヒープデータ構造を示す図である。 さまざまな態様に従って、二分木データ構造と、バイナリヒープデータ構造として構成可能な配列の部分とを有する複数のノードを含むデータ構造を示す図である。 本明細書に記述される1以上の特徴に従って、二分木データ構造とバイナリヒープデータ構造とを含む座標データ構造を生成して複数のノードの組合せ探索を実行する方法の手順を示す図である。 探索時間および最適解の識別を最適化するため平衡二分木データ構造およびバイナリヒープデータ構造の双方を含むデータ構造を生成する方法の手順を示す図である。 カラープリントシートバッファまたは高度統合パラレルプリンタ(TIPP)システムを備える汎用製品プリンタで本明細書に記述されるさまざまな特徴と組み合わせて使用できるような、複数の構成要素を示すシステムを表わす図である。
符号の説明
100,700 システム、102 ソルバ、104 探索キュー、106,400 データ構造、108 コンピュータ、110 探索アルゴリズム、112 データ構造ジェネレータ、114 二分木データ構造、116,300 バイナリヒープデータ構造、200 平衡二分木データ構造、202,204A,206A,206B,401,403,405 ノード、402,412,422 ノードデータフィールド部、404,414,424,430 配列指標値、406,408,410,416,418,426,428,430,520 ポインタフィールド部、408,420,430 ポインタ、432 データ配列構造、434,436 位置、500,600 手順、702 用紙供給源、704 カラー印刷エンジン、706 カラープリントバッファ、708 クロスオーバ、710 白黒印刷エンジン、712 マージャ、714 フィニッシャ、716,718 シートバッファ。

Claims (5)

  1. 座標データ構造におけるデータの格納およびアクセス方法であって、
    品質指標値の降順に配列されたノードの集合を含む平衡二分木データ構造を生成する工程と、
    ノードの集合に関係する探索労力指標値の昇順に配列されたノードの集合の部分集合を含むバイナリヒープデータ構造を生成する工程と、を含むことを特徴とする方法。
  2. 請求項1に記載の方法において、
    予め定めた基準に適合するノードをバイナリヒープデータ構造内のノードの部分集合から選択する工程と、
    選択されたノードをバイナリヒープデータ構造および平衡二分木データ構造から削除する工程と、
    選択されたノードに関係する解の評価のために、選択されたノードを探索キュー内に配置する工程と、
    をさらに含み、
    複数のノードの部分集合が、ノードの集合内におけるノードによって構成され、
    品質指標値が解の効率または解の実行時間または解のリソ−ス消費のうち少なくとも1つに関係付けられていることを特徴とする座標データ構造におけるデータの格納およびアクセス方法。
  3. 請求項1に記載の方法であって、
    品質指標値の最小閾値を設定する工程と、
    品質指標値の最小閾値以上の品質指標値を有するノードを複数のノード集合内から識別する工程と、
    識別されたノードをバイナリヒープデータ構造内のノードの集合の部分集合内に含める工程と、
    品質指標値の最小閾値以上の品質指標値を有し、かつ関係する探索労力指標値が最も低いノードを識別する工程と、
    データ構造の拡張のために識別されたノードを選択する工程と、
    選択されたノードを二分木データ構造およびバイナリヒープデータ構造から削除し、データ構造を更新する工程と、
    を含むことを特徴とする座標データ構造におけるデータの格納およびアクセス方法。
  4. 印刷ジョブに関する解の識別を実行するシステムであって、
    平衡二分木データ構造およびバイナリヒープデータ構造を生成するデータ構造ジェネレータと、
    平衡二分木データ構造およびバイナリヒープデータ構造について探索アルゴリズムを用いて探索して最適解を識別するソルバと、
    平衡二分木データ構造およびバイナリヒープデータ構造が評価のため格納される探索キューと、
    を備え、
    平衡二分木データ構造が複数のノードを含み、その各々が印刷ジョブ動作を表わすとともに品質指標値を含んでおり、
    所与のノードの品質指標値がそのノードにおける最適解の品質を記述するものであり、
    バイナリヒープデータ構造が、平衡二分木データ構造内に格納された複数のノードの部分集合から構成され、各ノードが探索労力指標値を含むとともに所与のノードへの到達に関係する探索労力値の昇順に整列処理されていることを特徴とする座標データ構造におけるデータの格納およびアクセスシステム。
  5. 請求項4に記載のシステムであって、
    データ構造ジェネレータは、既知で最良の動作に対して所定の品質範囲の内にある動作に関係する平衡二分木データ構造内のノードを識別し、識別されたノードを用いてバイナリヒープデータ構造を生成し、
    探索アルゴリズムは、バイナリヒープデータ構造を探索し、最低の探索労力指標値を有するノードを選択し、選択されたノードをデータ構造の拡張のため探索キュー内に配置し、
    データ構造ジェネレータは、選択されたノードを平衡二分木データ構造およびバイナリヒープデータ構造から削除し、平衡二分木データ構造およびバイナリヒープデータ構造を更新して選択されたノードの削除に起因する変化に適合させ、
    ソルバは、更新されたバイナリヒープデータ構造を探索し、次の最適な動作を選択して、その関係するノードを探索キュー内に配置し、
    ソルバは、探索キュー内の解を評価し、解に関係する品質指標値および探索労力指標値の関数として最適解を選択することを特徴とする印刷ジョブに関する解の識別を実行するシステム。
JP2008298939A 2007-11-30 2008-11-25 座標データ構造におけるデータの格納またはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステム Expired - Fee Related JP4945547B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/948,265 US7966336B2 (en) 2007-11-30 2007-11-30 Bounded sub-optimal problem solving
US11/948,265 2007-11-30

Publications (3)

Publication Number Publication Date
JP2009134717A true JP2009134717A (ja) 2009-06-18
JP2009134717A5 JP2009134717A5 (ja) 2012-03-08
JP4945547B2 JP4945547B2 (ja) 2012-06-06

Family

ID=40481994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008298939A Expired - Fee Related JP4945547B2 (ja) 2007-11-30 2008-11-25 座標データ構造におけるデータの格納またはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステム

Country Status (3)

Country Link
US (1) US7966336B2 (ja)
EP (1) EP2065812A1 (ja)
JP (1) JP4945547B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101990104A (zh) * 2010-11-17 2011-03-23 中兴通讯股份有限公司 视频图像编码方法及装置
JP7094839B2 (ja) * 2018-09-04 2022-07-04 株式会社日立製作所 解探索装置
CN111483232B (zh) * 2020-04-15 2021-02-09 赞同科技股份有限公司 针式打印机及其字符打印方法及装置
US11954093B2 (en) * 2020-06-04 2024-04-09 Alibaba Group Holding Limited Performing a top-k function using a binary heap tree
US11580013B2 (en) * 2020-10-30 2023-02-14 Nutanix, Inc. Free space management in a block store

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328225A (ja) * 1998-03-13 1999-11-30 Toshiba Corp デ―タ管理装置、デ―タ管理方法及びデ―タ管理プログラムを記録した媒体
JP2007114944A (ja) * 2005-10-19 2007-05-10 Nippon Telegr & Teleph Corp <Ntt> 2分木構造の情報を記憶する装置及びヒープ構造の情報を記憶する装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646740A (en) * 1995-12-06 1997-07-08 Xerox Corporation Partial or untimed production trees to specify diagnostics operations requiring multiple module cooperation
US6973286B2 (en) 2004-01-21 2005-12-06 Xerox Corporation High print rate merging and finishing system for parallel printing
US20060031802A1 (en) 2004-07-22 2006-02-09 International Business Machines Corporation Clustering-based multilevel quadratic placement
US7791751B2 (en) 2004-11-30 2010-09-07 Palo Alto Research Corporation Printing systems
US7791741B2 (en) 2005-04-08 2010-09-07 Palo Alto Research Center Incorporated On-the-fly state synchronization in a distributed system
US7873962B2 (en) 2005-04-08 2011-01-18 Xerox Corporation Distributed control systems and methods that selectively activate respective coordinators for respective tasks
US8819103B2 (en) 2005-04-08 2014-08-26 Palo Alto Research Center, Incorporated Communication in a distributed system
US7706007B2 (en) 2005-04-08 2010-04-27 Palo Alto Research Center Incorporated Synchronization in a distributed system
US7706386B2 (en) * 2005-10-26 2010-04-27 Cisco Technology, Inc. Fast 2-key scheduler

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328225A (ja) * 1998-03-13 1999-11-30 Toshiba Corp デ―タ管理装置、デ―タ管理方法及びデ―タ管理プログラムを記録した媒体
JP2007114944A (ja) * 2005-10-19 2007-05-10 Nippon Telegr & Teleph Corp <Ntt> 2分木構造の情報を記憶する装置及びヒープ構造の情報を記憶する装置

Also Published As

Publication number Publication date
JP4945547B2 (ja) 2012-06-06
US7966336B2 (en) 2011-06-21
EP2065812A1 (en) 2009-06-03
US20090144310A1 (en) 2009-06-04

Similar Documents

Publication Publication Date Title
US5768594A (en) Methods and means for scheduling parallel processors
Fearnley et al. Learning equilibria of games via payoff queries
JP4945547B2 (ja) 座標データ構造におけるデータの格納またはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステム
JP2010503117A (ja) 動的フラグメントマッピング
Al Nasr et al. Solving the Secondary Structure Matching Problem in Cryo-EM De Novo Modeling Using a Constrained $ K $-Shortest Path Graph Algorithm
JP2008165293A (ja) データ検索装置、デバイス管理装置、データ検索方法、およびコンピュータプログラム
Linderoth Topics in parallel integer optimization
JP5907419B2 (ja) 分散処理システム、分散処理方法および分散処理プログラム
JP6705764B2 (ja) 生成装置、生成方法、及び生成プログラム
JP5678691B2 (ja) 検索制御装置、検索制御プログラムおよび検索制御方法
CN108334333A (zh) 一种源代码库更新方法及装置
CN102110117B (zh) 用于最长匹配的b树的表项添加、查找、删除方法及装置
WO2021220775A1 (ja) 材料の特性値を推定するシステム
JP6646754B2 (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法、およびジョブスケジューリング装置
CN110928253B (zh) 自动制造系统的动态加权启发式调度方法
Leotta et al. Meta-heuristic generation of robust XPath locators for web testing
WO2017138506A1 (ja) 変更手順生成システム、変更手順生成方法およびプログラム記録媒体
JP5927871B2 (ja) 管理装置、情報処理装置、管理プログラム、管理方法、プログラムおよび処理方法
Yanagisawa et al. Optimization of memory use of fragment extension-based protein–ligand docking with an original fast minimum cost flow algorithm
He et al. A parallel algorithm for helix mapping between 3d and 1d protein structure using the length constraints
JP6548209B2 (ja) 処理装置、処理方法、及び、プログラム
Zhou et al. An adaptive genetic algorithm for the grid scheduling problem
JP2002358201A (ja) 最適化問題の並列探索方法および装置
JPH06332726A (ja) タスク割り当て装置
CN117298596A (zh) 一种并发更新的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120120

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20120120

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20120202

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: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120305

R150 Certificate of patent or registration of utility model

Ref document number: 4945547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees