{"format": "writing-sources-v1", "article": "robot-perception-planning", "mode": "software-engineering", "representation": "html-css", "files": {"cod.json": "{\"id\": \"cod\", \"paper\": {\"title\": \"Chain-of-Detection: Enhancing Cross-Granularity Robotic Perception for Object Manipulation\", \"short\": \"CoD\", \"authors\": \"Tianrun Xu, Haichuan Gao, Changlin Chen, Yuxuan Li, Shiyuan Xu, Shangqi Guo, Feng Chen\", \"venue\": \"IEEE Transactions on Neural Networks and Learning Systems 37(4), 1919–1933\", \"year\": 2026, \"online_date\": \"2025-12-04\", \"doi\": \"10.1109/TNNLS.2025.3626567\"}, \"translations\": {\"en\": {\"title\": \"CoD: from the object to the part\", \"lead\": \"Opening a drawer requires a more precise answer than recognizing a desk. Chain-of-Detection turns the instruction into a sequence of visual targets, then narrows the image until the part needed for the operation comes into view.\", \"sections\": [{\"id\": \"cod-chain\", \"title\": \"01 · Plan the chain\", \"paragraphs\": [\"The image and “open the drawer” first go to the vision-language model. It returns the short chain desk → drawer → black handle. This supplies both an order and a containment relation: look for the drawer within the desk, then for the handle within the drawer. The first search receives the original image and the word “desk”.\"], \"source_ids\": [\"paper\", \"chain\", \"readme\"]}, {\"id\": \"cod-candidates\", \"title\": \"02 · Propose boxes / 03 · Select a box\", \"paragraphs\": [\"At each level, Faster R-CNN receives the current image and produces candidate boxes. On the last level, that image is the drawer crop. Each box marks a region that the next stage can inspect against the phrase “black handle”. The proposals provide locations; the text-guided evaluation decides which location fits the instruction.\", \"For each evaluated box, the program crops its pixels and asks Qwen2-VL how well they match “black handle”. The number of evaluations is limited in advance. Upper confidence bound (UCB) chooses which candidate to evaluate next, balancing its average score with how few times it has been examined. After this budget is spent, candidates are checked in average-score order. The program slightly varies brightness, rotation and scale; a candidate passes when its mean score is high enough and the range of scores is small enough. A rejected candidate leads to another box at this level. With no candidates, or no accepted candidate after the allowed retries, the chain stops.\"], \"source_ids\": [\"localizer\"], \"diagram\": \"cod-selection\"}, {\"id\": \"cod-output\", \"title\": \"04 · Crop and advance / 05 · Map to the scene\", \"paragraphs\": [\"An accepted desk box becomes the input image for finding the drawer; the accepted drawer box becomes the input for finding its handle. Steps 02 and 03 repeat on each new image. In the schematic, the desk begins at (120, 140) in the scene, and the drawer begins at (90, 80) inside the desk. The drawer crop’s origin in the scene is therefore (210, 220). Keeping this offset makes it possible to search locally without losing the object’s original location.\", \"Suppose the selected handle box runs from (200, 90) to (320, 120) inside the drawer crop. Adding the drawer’s origin, (210, 220), gives the box (410, 310)–(530, 340) in the original scene. Its width and height remain 120 × 30 pixels. The localization output now carries a part name and a position that another module can use in that scene.\"], \"source_ids\": [\"localizer\", \"paper\", \"dataset\"], \"diagram\": \"cod-crops\"}], \"case\": {\"title\": \"Open the drawer\", \"provenance\": \"Repository example; schematic geometry.\", \"intro\": \"Follow one instruction through three image regions. The requested part stays the same; the search window becomes progressively more specific.\", \"steps\": [\"Locate the desk in the scene.\", \"Crop the desk and locate its drawer.\", \"Crop the drawer and locate the black handle.\", \"Add the crop offsets to recover the handle box in the original scene.\"], \"coordinate_note\": \"Illustrative pixels: desk origin (120, 140), drawer origin within the desk (90, 80), handle origin within the drawer (200, 90). The handle begins at (410, 310) in the original image.\"}, \"captions\": {\"cod-overview\": \"One drawer instruction follows stages 01–05. Stages 02–04 repeat for desk, drawer and handle; stage 05 recovers the final box in the scene. Repeating localization across images supplies a separate annotation-and-training workflow.\", \"cod-selection\": \"Stages 02–03, shown on the final “black handle” search. Candidate boxes are scored and checked within the drawer crop. An accepted box goes to stage 04; exhausted retries end the chain.\", \"cod-crops\": \"Stages 04–05 for the same drawer case. Stage 04 carries each accepted crop and its origin into the next search. Stage 05 returns the handle box to the original scene. Coordinates are illustrative pixels.\"}, \"closing\": [\"The same localization process has a second use across many images. For each accepted part, an image, a part label and a box can be collected as one annotated example. Training a detector on those examples teaches it to predict such part locations from images.\", \"The paper uses CoD with search to generate fine-grained training annotations, and the authors release a cleaned subset in COCO format. In this workflow, annotation and detector training are a later data-building use of many localization results; the single drawer example ends at its recovered handle box.\"], \"background\": [\"A camera gives the robot an image; “open the drawer” gives it an intention. Before planning a movement, the robot needs to find the part it should approach: the handle. Detecting a whole desk and detecting a small handle require different levels of detail. CoD connects these levels with a sequence of searches.\", \"A detector marks possible objects with rectangular boxes. A box specifies a region using its top-left and bottom-right pixel coordinates. A vision-language model reads an image together with words: here, Qwen2-VL both proposes what to look for and scores how well a cropped region matches a target phrase. Faster R-CNN supplies the candidate boxes in the public implementation.\", \"The example follows the author repository’s desk → drawer → black handle chain. Cropping means extracting the pixels inside an accepted box and using that smaller image for the next search. Each crop gets a new coordinate origin, so the system also records where it came from. The diagrams use illustrative pixel coordinates to make that bookkeeping visible.\"], \"walkthrough\": [{\"stage\": \"01 · Plan the chain\", \"input\": \"The complete scene and “open the drawer”.\", \"action\": \"Use the vision-language model to name a short sequence from whole object to relevant part.\", \"output\": \"desk → drawer → black handle\", \"why\": \"The sequence gives each search a target and identifies the larger object that should contain it.\", \"prose\": \"The image and “open the drawer” first go to the vision-language model. It returns the short chain desk → drawer → black handle. This supplies both an order and a containment relation: look for the drawer within the desk, then for the handle within the drawer. The first search receives the original image and the word “desk”.\"}, {\"stage\": \"02 · Propose boxes\", \"input\": \"The current image and the current target word; at the final level, the drawer crop and “black handle”.\", \"action\": \"Run Faster R-CNN on the current image to obtain candidate boxes.\", \"output\": \"A list of rectangular candidate regions in the current image’s coordinates.\", \"why\": \"The next stage can evaluate specific regions instead of asking the language model to invent pixel coordinates.\", \"detail\": \"cod-selection\", \"prose\": \"At each level, Faster R-CNN receives the current image and produces candidate boxes. On the last level, that image is the drawer crop. Each box marks a region that the next stage can inspect against the phrase “black handle”. The proposals provide locations; the text-guided evaluation decides which location fits the instruction.\"}, {\"stage\": \"03 · Select a box\", \"input\": \"The candidate boxes, their image crops, and “black handle”.\", \"action\": \"Allocate crop evaluations with UCB, rank their mean match scores, then verify candidates under small visual perturbations.\", \"output\": \"One accepted handle box, or a stop at this level.\", \"why\": \"A promising crop should match the requested part and remain consistent under small image changes.\", \"detail\": \"cod-selection\", \"prose\": \"For each evaluated box, the program crops its pixels and asks Qwen2-VL how well they match “black handle”. The number of evaluations is limited in advance. Upper confidence bound (UCB) chooses which candidate to evaluate next, balancing its average score with how few times it has been examined. After this budget is spent, candidates are checked in average-score order. The program slightly varies brightness, rotation and scale; a candidate passes when its mean score is high enough and the range of scores is small enough. A rejected candidate leads to another box at this level. With no candidates, or no accepted candidate after the allowed retries, the chain stops.\"}, {\"stage\": \"04 · Crop and advance\", \"input\": \"The current image and the accepted box.\", \"action\": \"Extract the accepted region, accumulate its origin offset, and advance to the next target if one remains.\", \"output\": \"A smaller input image and its accumulated offset in the original scene.\", \"why\": \"The next search focuses on the relevant object while retaining a route back to the original coordinates.\", \"detail\": \"cod-crops\", \"prose\": \"An accepted desk box becomes the input image for finding the drawer; the accepted drawer box becomes the input for finding its handle. Steps 02 and 03 repeat on each new image. In the schematic, the desk begins at (120, 140) in the scene, and the drawer begins at (90, 80) inside the desk. The drawer crop’s origin in the scene is therefore (210, 220). Keeping this offset makes it possible to search locally without losing the object’s original location.\"}, {\"stage\": \"05 · Map to the scene\", \"input\": \"The final handle box and the offsets recorded during cropping.\", \"action\": \"Add the drawer crop’s accumulated offset to both corners of the handle box.\", \"output\": \"The handle box (410, 310)–(530, 340) in the original image.\", \"why\": \"Later perception and manipulation stages need a location in the same complete scene.\", \"detail\": \"cod-crops\", \"prose\": \"Suppose the selected handle box runs from (200, 90) to (320, 120) inside the drawer crop. Adding the drawer’s origin, (210, 220), gives the box (410, 310)–(530, 340) in the original scene. Its width and height remain 120 × 30 pixels. The localization output now carries a part name and a position that another module can use in that scene.\"}]}, \"zh\": {\"title\": \"CoD：从认出物体到找到部件\", \"lead\": \"打开抽屉，需要比认出一张桌子更精确的定位。Chain-of-Detection 把操作指令拆成一串视觉目标，再逐步缩小图像范围，找到真正需要操作的部件。\", \"sections\": [{\"id\": \"cod-chain\", \"title\": \"01 · 拆解寻找顺序\", \"paragraphs\": [\"完整图像与“打开抽屉”先交给视觉语言模型，得到桌子 → 抽屉 → 黑色把手这条短序列。它同时确定了寻找顺序和包含关系：抽屉在桌子里，把手在抽屉上。第一轮搜索接到的便是原始图像和“桌子”这个目标词。\"], \"source_ids\": [\"paper\", \"chain\", \"readme\"]}, {\"id\": \"cod-candidates\", \"title\": \"02 · 生成候选框 / 03 · 选择一个框\", \"paragraphs\": [\"每到一级，Faster R-CNN 都会读取当前图像，提出一组候选框。到最后一级，当前图像已经是抽屉的裁剪图。每个框指定一块待检查的区域，下一步再判断它与“黑色把手”是否匹配。候选框提供位置，文字引导的评估负责选出符合操作意图的位置。\", \"程序裁出被评估框内的图像，让 Qwen2-VL 判断它与“黑色把手”有多匹配。评分调用次数预先设定。置信上界（UCB）根据候选的平均分和已被评估的次数，决定下一次看哪个框：平均分高的框值得继续看，评估较少的框也保留探索机会。次数用尽后，程序按平均分依次检查候选，轻微改变亮度、旋转和尺度，要求平均分足够高、分数波动足够小。一个框未通过，就试当前层的下一个。当前层没有候选，或允许的重试结束后仍无候选通过，检测链便在这里停止。\"], \"source_ids\": [\"localizer\"], \"diagram\": \"cod-selection\"}, {\"id\": \"cod-output\", \"title\": \"04 · 裁剪并继续 / 05 · 映射回原图\", \"paragraphs\": [\"桌子框通过后，就裁出桌子，用它寻找抽屉；抽屉框通过后，再裁出抽屉，用它寻找把手。每张新图都重复步骤 02 和 03。在图中的示意坐标里，桌子从原图的 (120, 140) 开始，抽屉从桌子内的 (90, 80) 开始，所以抽屉图在原图中的原点是 (210, 220)。记住这个偏移，才能在局部越找越细的同时保留原来的位置。\", \"假设选中的把手框，在抽屉图里从 (200, 90) 延伸到 (320, 120)。两个角点都加上抽屉图的原点 (210, 220)，便得到原图中的 (410, 310)–(530, 340)。框的宽高仍是 120 × 30 像素。至此，定位结果带着部件名称和原图位置，可以交给后续模块使用。\"], \"source_ids\": [\"localizer\", \"paper\", \"dataset\"], \"diagram\": \"cod-crops\"}], \"case\": {\"title\": \"打开抽屉\", \"provenance\": \"案例取自作者仓库；图中几何与坐标为示意。\", \"intro\": \"同一条操作指令依次经过三个图像区域。需要找到的操作部件不变，寻找它的窗口逐渐收窄。\", \"steps\": [\"在场景中定位桌子。\", \"裁出桌子，在其中定位抽屉。\", \"裁出抽屉，在其中定位黑色把手。\", \"累加裁剪偏移，将把手框放回原图。\"], \"coordinate_note\": \"以示意像素坐标说明：桌子原点为 (120, 140)，抽屉相对桌子的原点为 (90, 80)，把手相对抽屉的原点为 (200, 90)，于是把手在原图中的左上角是 (410, 310)。\"}, \"captions\": {\"cod-overview\": \"一次抽屉定位依次经过 01–05。桌子、抽屉和把手各重复 02–04，最终由 05 得到原图中的部件框。把定位过程重复应用于多张图像，还可汇集标注并训练检测器。\", \"cod-selection\": \"展开步骤 02–03，以最后一级“黑色把手”为例。候选框都在当前抽屉图中评估和验证；通过的框交给 04，重试耗尽则结束检测链。\", \"cod-crops\": \"同一抽屉案例中的步骤 04–05。04 把选中的图像区域和原点交给下一次搜索，05 再将最终把手框映射回原图。坐标为示意像素。\"}, \"closing\": [\"把这套定位过程用到多张图上，还有另一层用途。每次接受的部件位置，都可以和图像、部件名称一起保存，组成一条带标注的样本。检测器再学习这些样本，练习直接从图像预测部件的位置。\", \"论文将 CoD 与搜索结合，用来生成细粒度训练标注；作者也按 COCO 格式公开了清洗后的数据子集。这条训练路径需要汇集多次定位的结果，而上面这一次“打开抽屉”的定位，到找回原图中的把手框就已经结束。\"], \"background\": [\"摄像头给机器人一张图，“打开抽屉”给它一个操作意图。在规划动作之前，机器人得先找到要接近的部件：把手。认出整张桌子与定位一个小把手，需要看到的细节不同。CoD 用一串逐步缩小范围的搜索，把这两个尺度接起来。\", \"检测器会用矩形框标出图中可能存在物体的区域。一个框由左上角和右下角的像素坐标确定。视觉语言模型则能把图片与文字一起读：这里的 Qwen2-VL 既负责提出寻找顺序，也负责判断一块局部图像是否符合目标词。公开实现用 Faster R-CNN 提供候选框。\", \"下面沿着作者仓库中的桌子 → 抽屉 → 黑色把手这个例子走一遍。裁剪，就是取出选中框内的像素，用这张较小的图继续寻找。裁剪后坐标原点会改变，因此程序还要记住它来自原图的哪里。图中的像素坐标用于说明这个过程。\"], \"walkthrough\": [{\"stage\": \"01 · 拆解寻找顺序\", \"input\": \"完整场景图像与“打开抽屉”。\", \"action\": \"让视觉语言模型提出从完整物体到操作部件的短序列。\", \"output\": \"桌子 → 抽屉 → 黑色把手。\", \"why\": \"每一次搜索都有明确目标，也知道应到哪个更大的物体内部寻找。\", \"prose\": \"完整图像与“打开抽屉”先交给视觉语言模型，得到桌子 → 抽屉 → 黑色把手这条短序列。它同时确定了寻找顺序和包含关系：抽屉在桌子里，把手在抽屉上。第一轮搜索接到的便是原始图像和“桌子”这个目标词。\"}, {\"stage\": \"02 · 生成候选框\", \"input\": \"当前图像与当前目标词；最后一级是抽屉的裁剪图和“黑色把手”。\", \"action\": \"让 Faster R-CNN 在当前图像中生成候选框。\", \"output\": \"一组使用当前图像坐标的矩形区域。\", \"why\": \"后续可以逐个检查明确的图像区域，而不用直接让语言模型猜像素位置。\", \"detail\": \"cod-selection\", \"prose\": \"每到一级，Faster R-CNN 都会读取当前图像，提出一组候选框。到最后一级，当前图像已经是抽屉的裁剪图。每个框指定一块待检查的区域，下一步再判断它与“黑色把手”是否匹配。候选框提供位置，文字引导的评估负责选出符合操作意图的位置。\"}, {\"stage\": \"03 · 选择一个框\", \"input\": \"候选框、框内的局部图像，以及“黑色把手”。\", \"action\": \"用 UCB 分配评估次数，按平均匹配分排序，再用轻微图像扰动验证候选。\", \"output\": \"一个通过验证的把手框，或在当前层结束。\", \"why\": \"局部图像既要符合指定部件，也要在轻微变化后维持稳定的匹配判断。\", \"detail\": \"cod-selection\", \"prose\": \"程序裁出被评估框内的图像，让 Qwen2-VL 判断它与“黑色把手”有多匹配。评分调用次数预先设定。置信上界（UCB）根据候选的平均分和已被评估的次数，决定下一次看哪个框：平均分高的框值得继续看，评估较少的框也保留探索机会。次数用尽后，程序按平均分依次检查候选，轻微改变亮度、旋转和尺度，要求平均分足够高、分数波动足够小。一个框未通过，就试当前层的下一个。当前层没有候选，或允许的重试结束后仍无候选通过，检测链便在这里停止。\"}, {\"stage\": \"04 · 裁剪并继续\", \"input\": \"当前图像与通过验证的框。\", \"action\": \"取出框内像素，累加裁剪原点；如果还有下一个目标，就继续寻找。\", \"output\": \"较小的输入图像，以及它相对原图的累计偏移。\", \"why\": \"下一次搜索聚焦于相关物体，同时保留回到原图坐标的依据。\", \"detail\": \"cod-crops\", \"prose\": \"桌子框通过后，就裁出桌子，用它寻找抽屉；抽屉框通过后，再裁出抽屉，用它寻找把手。每张新图都重复步骤 02 和 03。在图中的示意坐标里，桌子从原图的 (120, 140) 开始，抽屉从桌子内的 (90, 80) 开始，所以抽屉图在原图中的原点是 (210, 220)。记住这个偏移，才能在局部越找越细的同时保留原来的位置。\"}, {\"stage\": \"05 · 映射回原图\", \"input\": \"最终把手框与裁剪时记录的偏移。\", \"action\": \"把抽屉图的累计偏移，加到把手框的两个角点。\", \"output\": \"原图中的把手框 (410, 310)–(530, 340)。\", \"why\": \"后续感知与操作模块需要知道部件在同一个完整场景中的位置。\", \"detail\": \"cod-crops\", \"prose\": \"假设选中的把手框，在抽屉图里从 (200, 90) 延伸到 (320, 120)。两个角点都加上抽屉图的原点 (210, 220)，便得到原图中的 (410, 310)–(530, 340)。框的宽高仍是 120 × 30 像素。至此，定位结果带着部件名称和原图位置，可以交给后续模块使用。\"}]}, \"ja\": {\"title\": \"CoD：物体から操作する部位へ\", \"lead\": \"引き出しを開けるには、机を認識するより細かな位置情報が必要になる。Chain-of-Detection は操作指示を視覚的な目標の列に変え、画像の範囲を段階的に絞りながら操作対象の部位を探す。\", \"sections\": [{\"id\": \"cod-chain\", \"title\": \"01 · 探索順を決める\", \"paragraphs\": [\"場面の画像と「引き出しを開ける」を視覚言語モデルに渡すと、机 → 引き出し → 黒い取っ手という短い列が得られる。この列は順序と包含関係を定める。引き出しは机の中で、取っ手は引き出しの中で探す。最初の探索には、元画像と「机」という目標語を渡す。\"], \"source_ids\": [\"paper\", \"chain\", \"readme\"]}, {\"id\": \"cod-candidates\", \"title\": \"02 · 候補枠を出す / 03 · 一つの枠を選ぶ\", \"paragraphs\": [\"各段階で Faster R-CNN が現在の画像を読み、候補ボックスを出す。最後の段階では、入力は引き出しの切り抜きだ。各ボックスが調べる領域を指定し、次の段階で「黒い取っ手」との一致を確かめる。候補が位置を与え、文章に基づく評価が操作の意図に合う位置を選ぶ。\", \"評価するボックス内の画素を切り抜き、Qwen2-VL に「黒い取っ手」との一致度を採点させる。評価回数の上限はあらかじめ決める。信頼上限（UCB）は平均点と評価済みの回数を併せて考え、次に調べる候補を選ぶ。高得点の候補を重視しつつ、評価の少ない候補も探索する。予算を使い終えたら平均点順に、明るさ・回転・倍率を少し変えて確認する。平均点が十分高く、点数の変動が小さければ採用する。不通過なら同じ段階の別候補へ進み、候補がない場合や再試行で採用できない場合は、そこで検出列を終える。\"], \"source_ids\": [\"localizer\"], \"diagram\": \"cod-selection\"}, {\"id\": \"cod-output\", \"title\": \"04 · 切り抜いて進む / 05 · 元画像に戻す\", \"paragraphs\": [\"採用した机の領域を切り抜いて引き出しを探し、引き出しを切り抜いて取っ手を探す。新しい画像ごとに 02 と 03 を繰り返す。図では机の原点を元画像内の (120, 140)、引き出しの原点を机内の (90, 80) とする。したがって、引き出し画像の原点は元画像内の (210, 220) になる。このずれを記録すれば、局所的に細かく探しても元の位置を失わない。\", \"選んだ取っ手のボックスが、引き出し画像内で (200, 90) から (320, 120) までだとする。両方の角に引き出しの原点 (210, 220) を足すと、元画像内の (410, 310)–(530, 340) が得られる。幅と高さは 120 × 30 画素のままだ。部位の名前と元画像上の位置がそろい、後段の処理に渡せる。\"], \"source_ids\": [\"localizer\", \"paper\", \"dataset\"], \"diagram\": \"cod-crops\"}], \"case\": {\"title\": \"引き出しを開ける\", \"provenance\": \"著者のリポジトリの例。形状と座標は模式的に示した。\", \"intro\": \"一つの操作指示を三つの画像領域に沿って追う。必要な操作部位は変わらず、探索する窓が次第に小さくなる。\", \"steps\": [\"場面の中から机を探す。\", \"机を切り抜き、その中の引き出しを探す。\", \"引き出しを切り抜き、黒い取っ手を探す。\", \"各切り抜きのオフセットを足し、元画像上の取っ手の位置を求める。\"], \"coordinate_note\": \"模式的な画素座標で、机の原点を (120, 140)、机内の引き出しの原点を (90, 80)、引き出し内の取っ手の原点を (200, 90) とすると、元画像上の取っ手の左上隅は (410, 310) になる。\"}, \"captions\": {\"cod-overview\": \"一回の引き出しの位置推定は 01–05 に沿う。机・引き出し・取っ手で 02–04 を繰り返し、05 で最後のボックスを元画像に戻す。多くの画像で繰り返すと、別の用途としてラベル収集と検出器学習につながる。\", \"cod-selection\": \"02–03 を、最後の「黒い取っ手」の探索で示す。現在の引き出し画像内で候補を評価し、採用した枠を 04 へ渡す。再試行を使い切ると検出列を終える。\", \"cod-crops\": \"同じ引き出しの例の 04–05。04 は切り抜きと原点を次の探索へ渡し、05 は最後の取っ手を元画像に戻す。画素座標は模式値である。\"}, \"closing\": [\"この位置推定を多くの画像に繰り返すと、別の用途も生まれる。採用した部位の位置を画像と部位名とともに保存すれば、一つのラベル付きサンプルになる。検出器はそれらのサンプルから、画像中の部位の位置を予測する方法を学べる。\", \"論文は CoD と探索を組み合わせて細粒度の学習用アノテーションを生成し、著者は整備済みの一部を COCO 形式で公開している。この学習経路では多くの位置推定結果を集める。一方、ここで追った一回の引き出しの例は、元画像上の取っ手のボックスを得たところで完了する。\"], \"background\": [\"カメラは画像を渡し、「引き出しを開ける」という指示は操作の目的を渡す。動作を計画する前に、ロボットは近づくべき部位、つまり取っ手を見つける必要がある。机全体の認識と小さな取っ手の位置推定では、必要な細かさが異なる。CoD は段階的な探索でこの二つをつなぐ。\", \"検出器は、物体がありそうな場所を矩形のボックスで示す。ボックスは左上と右下の画素座標で位置を表す。視覚言語モデルは画像と文章を一緒に読み、ここでは Qwen2-VL が探索順序の生成と、切り抜きと目標語の一致度の採点を担う。公開実装では Faster R-CNN が候補ボックスを出す。\", \"以下では、著者のリポジトリにある机 → 引き出し → 黒い取っ手という例を追う。切り抜きとは、選んだボックス内の画素を取り出し、その小さな画像を次の探索に使うことだ。切り抜くと座標の原点が変わるため、元画像内のどこから取り出したかも記録する。図の画素座標は、この計算を示すための模式値である。\"], \"walkthrough\": [{\"stage\": \"01 · 探索順を決める\", \"input\": \"場面全体の画像と「引き出しを開ける」。\", \"action\": \"視覚言語モデルが物体全体から部位へ向かう短い列を作る。\", \"output\": \"机 → 引き出し → 黒い取っ手。\", \"why\": \"各探索の目標と、その目標を含む大きな物体が決まる。\", \"prose\": \"場面の画像と「引き出しを開ける」を視覚言語モデルに渡すと、机 → 引き出し → 黒い取っ手という短い列が得られる。この列は順序と包含関係を定める。引き出しは机の中で、取っ手は引き出しの中で探す。最初の探索には、元画像と「机」という目標語を渡す。\"}, {\"stage\": \"02 · 候補枠を出す\", \"input\": \"現在の画像と目標語。最後の段階では引き出しの切り抜きと「黒い取っ手」。\", \"action\": \"Faster R-CNN が現在の画像から候補ボックスを出す。\", \"output\": \"現在の画像の座標で表された矩形領域の集合。\", \"why\": \"言語モデルに画素座標を直接推測させず、具体的な領域を一つずつ評価できる。\", \"detail\": \"cod-selection\", \"prose\": \"各段階で Faster R-CNN が現在の画像を読み、候補ボックスを出す。最後の段階では、入力は引き出しの切り抜きだ。各ボックスが調べる領域を指定し、次の段階で「黒い取っ手」との一致を確かめる。候補が位置を与え、文章に基づく評価が操作の意図に合う位置を選ぶ。\"}, {\"stage\": \"03 · 一つの枠を選ぶ\", \"input\": \"候補ボックス、その切り抜き、目標語「黒い取っ手」。\", \"action\": \"UCB で評価を割り振り、平均点で順位を付け、小さな画像変化で候補を確認する。\", \"output\": \"確認を通った取っ手のボックス、またはその段階での終了。\", \"why\": \"求める部位と一致し、画像を少し変えても判断が安定する領域を選ぶため。\", \"detail\": \"cod-selection\", \"prose\": \"評価するボックス内の画素を切り抜き、Qwen2-VL に「黒い取っ手」との一致度を採点させる。評価回数の上限はあらかじめ決める。信頼上限（UCB）は平均点と評価済みの回数を併せて考え、次に調べる候補を選ぶ。高得点の候補を重視しつつ、評価の少ない候補も探索する。予算を使い終えたら平均点順に、明るさ・回転・倍率を少し変えて確認する。平均点が十分高く、点数の変動が小さければ採用する。不通過なら同じ段階の別候補へ進み、候補がない場合や再試行で採用できない場合は、そこで検出列を終える。\"}, {\"stage\": \"04 · 切り抜いて進む\", \"input\": \"現在の画像と採用したボックス。\", \"action\": \"枠内の画素を取り出し、原点のずれを加算して、残る次の目標へ進む。\", \"output\": \"小さな入力画像と元画像からの累積オフセット。\", \"why\": \"関連する物体に探索を絞りつつ、元画像の位置へ戻る情報を保つ。\", \"detail\": \"cod-crops\", \"prose\": \"採用した机の領域を切り抜いて引き出しを探し、引き出しを切り抜いて取っ手を探す。新しい画像ごとに 02 と 03 を繰り返す。図では机の原点を元画像内の (120, 140)、引き出しの原点を机内の (90, 80) とする。したがって、引き出し画像の原点は元画像内の (210, 220) になる。このずれを記録すれば、局所的に細かく探しても元の位置を失わない。\"}, {\"stage\": \"05 · 元画像に戻す\", \"input\": \"最後の取っ手のボックスと切り抜き時のオフセット。\", \"action\": \"引き出し画像の累積オフセットを、取っ手の二つの角に加える。\", \"output\": \"元画像内の取っ手のボックス (410, 310)–(530, 340)。\", \"why\": \"後段の認識や操作には、同じ場面全体に対応する位置が必要になる。\", \"detail\": \"cod-crops\", \"prose\": \"選んだ取っ手のボックスが、引き出し画像内で (200, 90) から (320, 120) までだとする。両方の角に引き出しの原点 (210, 220) を足すと、元画像内の (410, 310)–(530, 340) が得られる。幅と高さは 120 × 30 画素のままだ。部位の名前と元画像上の位置がそろい、後段の処理に渡せる。\"}]}}, \"diagrams\": [{\"id\": \"cod-overview\", \"kind\": \"overview\", \"intent\": \"Follow a single drawer instruction through five fixed stages, then distinguish later annotation use across many images.\", \"layout\": \"Five left-to-right stages, one next-target loop, a stop exit, and a separate lower annotation branch.\", \"nodes\": [{\"id\": \"cod-chain\", \"label\": {\"en\": \"01 · Plan the chain\", \"zh\": \"01 · 拆解寻找顺序\", \"ja\": \"01 · 探索順を決める\"}, \"bounds\": [30, 140, 185, 155], \"detail\": {\"en\": \"The image and “open the drawer” first go to the vision-language model. It returns the short chain desk → drawer → black handle. This supplies both an order and a containment relation: look for the drawer within the desk, then for the handle within the drawer. The first search receives the original image and the word “desk”.\", \"zh\": \"完整图像与“打开抽屉”先交给视觉语言模型，得到桌子 → 抽屉 → 黑色把手这条短序列。它同时确定了寻找顺序和包含关系：抽屉在桌子里，把手在抽屉上。第一轮搜索接到的便是原始图像和“桌子”这个目标词。\", \"ja\": \"場面の画像と「引き出しを開ける」を視覚言語モデルに渡すと、机 → 引き出し → 黒い取っ手という短い列が得られる。この列は順序と包含関係を定める。引き出しは机の中で、取っ手は引き出しの中で探す。最初の探索には、元画像と「机」という目標語を渡す。\"}, \"sub\": {\"en\": \"desk → drawer → handle\", \"zh\": \"桌子 → 抽屉 → 把手\", \"ja\": \"机 → 引き出し → 取っ手\"}, \"role\": \"process\"}, {\"id\": \"cod-boxes\", \"label\": {\"en\": \"02 · Propose boxes\", \"zh\": \"02 · 生成候选框\", \"ja\": \"02 · 候補枠を出す\"}, \"bounds\": [245, 140, 185, 155], \"detail\": {\"en\": \"At each level, Faster R-CNN receives the current image and produces candidate boxes. On the last level, that image is the drawer crop. Each box marks a region that the next stage can inspect against the phrase “black handle”. The proposals provide locations; the text-guided evaluation decides which location fits the instruction.\", \"zh\": \"每到一级，Faster R-CNN 都会读取当前图像，提出一组候选框。到最后一级，当前图像已经是抽屉的裁剪图。每个框指定一块待检查的区域，下一步再判断它与“黑色把手”是否匹配。候选框提供位置，文字引导的评估负责选出符合操作意图的位置。\", \"ja\": \"各段階で Faster R-CNN が現在の画像を読み、候補ボックスを出す。最後の段階では、入力は引き出しの切り抜きだ。各ボックスが調べる領域を指定し、次の段階で「黒い取っ手」との一致を確かめる。候補が位置を与え、文章に基づく評価が操作の意図に合う位置を選ぶ。\"}, \"sub\": {\"en\": \"Current image → boxes\", \"zh\": \"当前图像 → 候选框\", \"ja\": \"現在の画像 → 候補枠\"}, \"role\": \"process\"}, {\"id\": \"cod-localize\", \"label\": {\"en\": \"03 · Select a box\", \"zh\": \"03 · 选择一个框\", \"ja\": \"03 · 一つの枠を選ぶ\"}, \"bounds\": [460, 140, 185, 155], \"detail\": {\"en\": \"For each evaluated box, the program crops its pixels and asks Qwen2-VL how well they match “black handle”. The number of evaluations is limited in advance. Upper confidence bound (UCB) chooses which candidate to evaluate next, balancing its average score with how few times it has been examined. After this budget is spent, candidates are checked in average-score order. The program slightly varies brightness, rotation and scale; a candidate passes when its mean score is high enough and the range of scores is small enough. A rejected candidate leads to another box at this level. With no candidates, or no accepted candidate after the allowed retries, the chain stops.\", \"zh\": \"程序裁出被评估框内的图像，让 Qwen2-VL 判断它与“黑色把手”有多匹配。评分调用次数预先设定。置信上界（UCB）根据候选的平均分和已被评估的次数，决定下一次看哪个框：平均分高的框值得继续看，评估较少的框也保留探索机会。次数用尽后，程序按平均分依次检查候选，轻微改变亮度、旋转和尺度，要求平均分足够高、分数波动足够小。一个框未通过，就试当前层的下一个。当前层没有候选，或允许的重试结束后仍无候选通过，检测链便在这里停止。\", \"ja\": \"評価するボックス内の画素を切り抜き、Qwen2-VL に「黒い取っ手」との一致度を採点させる。評価回数の上限はあらかじめ決める。信頼上限（UCB）は平均点と評価済みの回数を併せて考え、次に調べる候補を選ぶ。高得点の候補を重視しつつ、評価の少ない候補も探索する。予算を使い終えたら平均点順に、明るさ・回転・倍率を少し変えて確認する。平均点が十分高く、点数の変動が小さければ採用する。不通過なら同じ段階の別候補へ進み、候補がない場合や再試行で採用できない場合は、そこで検出列を終える。\"}, \"sub\": {\"en\": \"Boxes + target → accepted box\", \"zh\": \"框 + 目标词 → 通过的框\", \"ja\": \"枠 + 目標語 → 採用した枠\"}, \"role\": \"process\"}, {\"id\": \"cod-crop\", \"label\": {\"en\": \"04 · Crop and advance\", \"zh\": \"04 · 裁剪并继续\", \"ja\": \"04 · 切り抜いて進む\"}, \"bounds\": [675, 140, 185, 155], \"detail\": {\"en\": \"An accepted desk box becomes the input image for finding the drawer; the accepted drawer box becomes the input for finding its handle. Steps 02 and 03 repeat on each new image. In the schematic, the desk begins at (120, 140) in the scene, and the drawer begins at (90, 80) inside the desk. The drawer crop’s origin in the scene is therefore (210, 220). Keeping this offset makes it possible to search locally without losing the object’s original location.\", \"zh\": \"桌子框通过后，就裁出桌子，用它寻找抽屉；抽屉框通过后，再裁出抽屉，用它寻找把手。每张新图都重复步骤 02 和 03。在图中的示意坐标里，桌子从原图的 (120, 140) 开始，抽屉从桌子内的 (90, 80) 开始，所以抽屉图在原图中的原点是 (210, 220)。记住这个偏移，才能在局部越找越细的同时保留原来的位置。\", \"ja\": \"採用した机の領域を切り抜いて引き出しを探し、引き出しを切り抜いて取っ手を探す。新しい画像ごとに 02 と 03 を繰り返す。図では机の原点を元画像内の (120, 140)、引き出しの原点を机内の (90, 80) とする。したがって、引き出し画像の原点は元画像内の (210, 220) になる。このずれを記録すれば、局所的に細かく探しても元の位置を失わない。\"}, \"sub\": {\"en\": \"Accepted box → crop + offset\", \"zh\": \"通过的框 → 裁剪图 + 偏移\", \"ja\": \"採用枠 → 切り抜き + ずれ\"}, \"role\": \"process\"}, {\"id\": \"cod-position\", \"label\": {\"en\": \"05 · Map to the scene\", \"zh\": \"05 · 映射回原图\", \"ja\": \"05 · 元画像に戻す\"}, \"bounds\": [890, 140, 200, 155], \"detail\": {\"en\": \"Suppose the selected handle box runs from (200, 90) to (320, 120) inside the drawer crop. Adding the drawer’s origin, (210, 220), gives the box (410, 310)–(530, 340) in the original scene. Its width and height remain 120 × 30 pixels. The localization output now carries a part name and a position that another module can use in that scene.\", \"zh\": \"假设选中的把手框，在抽屉图里从 (200, 90) 延伸到 (320, 120)。两个角点都加上抽屉图的原点 (210, 220)，便得到原图中的 (410, 310)–(530, 340)。框的宽高仍是 120 × 30 像素。至此，定位结果带着部件名称和原图位置，可以交给后续模块使用。\", \"ja\": \"選んだ取っ手のボックスが、引き出し画像内で (200, 90) から (320, 120) までだとする。両方の角に引き出しの原点 (210, 220) を足すと、元画像内の (410, 310)–(530, 340) が得られる。幅と高さは 120 × 30 画素のままだ。部位の名前と元画像上の位置がそろい、後段の処理に渡せる。\"}, \"sub\": {\"en\": \"Final part in scene coordinates\", \"zh\": \"最终部件的原图坐标\", \"ja\": \"最後の部位を元画像の座標へ\"}, \"role\": \"output\"}, {\"id\": \"cod-stop\", \"label\": {\"en\": \"Stop the chain\", \"zh\": \"结束检测链\", \"ja\": \"検出列を終了\"}, \"bounds\": [460, 385, 185, 80], \"detail\": \"\", \"sub\": \"\", \"role\": \"output\"}, {\"id\": \"cod-annotations\", \"label\": {\"en\": \"A dataset of part boxes\", \"zh\": \"部件框数据集\", \"ja\": \"部位ボックスのデータセット\"}, \"bounds\": [480, 555, 260, 100], \"detail\": \"\", \"sub\": {\"en\": \"Image · part name · box\", \"zh\": \"图像 · 部件名称 · 位置框\", \"ja\": \"画像 · 部位名 · ボックス\"}, \"role\": \"process\"}, {\"id\": \"cod-train\", \"label\": {\"en\": \"Train a detector\", \"zh\": \"训练检测器\", \"ja\": \"検出器を学習\"}, \"bounds\": [830, 555, 260, 100], \"detail\": \"\", \"sub\": {\"en\": \"Predict part locations from images\", \"zh\": \"学习从图像预测部件位置\", \"ja\": \"画像から部位の位置を学ぶ\"}, \"role\": \"process\"}], \"edges\": [{\"from\": \"cod-chain\", \"to\": \"cod-boxes\", \"points\": [[215, 217.5], [245, 217.5]], \"style\": \"solid\", \"meaning\": \"The first target and original image initialize candidate generation.\"}, {\"from\": \"cod-boxes\", \"to\": \"cod-localize\", \"points\": [[430, 217.5], [460, 217.5]], \"style\": \"solid\", \"meaning\": \"Candidate boxes and the current target phrase enter local selection.\"}, {\"from\": \"cod-localize\", \"to\": \"cod-crop\", \"points\": [[645, 217.5], [675, 217.5]], \"style\": \"solid\", \"meaning\": \"An accepted box defines the pixels and origin for cropping.\"}, {\"from\": \"cod-crop\", \"to\": \"cod-position\", \"points\": [[860, 217.5], [890, 217.5]], \"style\": \"solid\", \"meaning\": \"For the final target, recover the box in the original scene.\"}, {\"from\": \"cod-crop\", \"to\": \"cod-boxes\", \"points\": [[767.5, 140], [767.5, 95], [337.5, 95], [337.5, 140]], \"style\": \"feedback\", \"meaning\": \"If another target remains, repeat stages 02–03 on the accepted crop.\"}, {\"from\": \"cod-localize\", \"to\": \"cod-stop\", \"points\": [[552.5, 295], [552.5, 385]], \"style\": \"dashed\", \"meaning\": \"No accepted candidate ends the chain, retaining earlier accepted regions.\"}, {\"from\": \"cod-position\", \"to\": \"cod-annotations\", \"points\": [[990, 295], [990, 510], [610, 510], [610, 555]], \"style\": \"dashed\", \"meaning\": \"Repeat localization across many images to collect image, label and box records.\"}, {\"from\": \"cod-annotations\", \"to\": \"cod-train\", \"points\": [[740, 605.0], [830, 605.0]], \"style\": \"solid\", \"meaning\": \"Use collected annotations as supervision for detector training.\"}], \"sources\": [\"paper\", \"chain\", \"localizer\", \"dataset\"], \"must_not_imply\": [\"Do not depict end-to-end robot motor control.\", \"Do not connect trained detector back into the generator as a verified recursive training loop.\"], \"stage_numbers\": [1, 2, 3, 4, 5], \"links\": {\"cod-boxes\": \"cod-selection\", \"cod-localize\": \"cod-selection\", \"cod-crop\": \"cod-crops\", \"cod-position\": \"cod-crops\"}, \"titles\": {\"en\": \"CoD · stages 01–05\", \"zh\": \"CoD · 步骤 01–05\", \"ja\": \"CoD · 手順 01–05\"}}, {\"id\": \"cod-crops\", \"kind\": \"case\", \"intent\": \"Expand stages 04–05 using the same desk, drawer and handle geometry.\", \"layout\": \"Scene with desk box; desk crop with drawer box; drawer crop with handle box; original scene with mapped handle box.\", \"geometry\": {\"unit\": \"illustrative pixel\", \"original_size\": [960, 640], \"desk_box_original\": [120, 140, 880, 600], \"drawer_box_in_desk\": [90, 80, 610, 320], \"handle_box_in_drawer\": [200, 90, 320, 120], \"drawer_box_original\": [210, 220, 730, 460], \"handle_box_original\": [410, 310, 530, 340]}, \"nodes\": [{\"id\": \"cod-scene\", \"label\": {\"en\": \"Target: desk\", \"zh\": \"目标：桌子\", \"ja\": \"目標：机\"}, \"bounds\": [30, 90, 235, 240], \"role\": \"image\"}, {\"id\": \"cod-desk\", \"label\": {\"en\": \"Target: drawer\", \"zh\": \"目标：抽屉\", \"ja\": \"目標：引き出し\"}, \"bounds\": [305, 90, 235, 240], \"role\": \"image\"}, {\"id\": \"cod-drawer\", \"label\": {\"en\": \"Target: black handle\", \"zh\": \"目标：黑色把手\", \"ja\": \"目標：黒い取っ手\"}, \"bounds\": [580, 90, 235, 240], \"role\": \"image\"}, {\"id\": \"cod-mapped\", \"label\": {\"en\": \"Handle in the full scene\", \"zh\": \"原图中的把手\", \"ja\": \"元画像上の取っ手\"}, \"bounds\": [855, 90, 235, 240], \"role\": \"image\"}], \"edges\": [{\"from\": \"cod-scene\", \"to\": \"cod-desk\", \"points\": [[270, 240], [298, 240]], \"style\": \"solid\", \"meaning\": \"Crop the accepted desk region; repeat 02–03 for the drawer.\"}, {\"from\": \"cod-desk\", \"to\": \"cod-drawer\", \"points\": [[545, 240], [573, 240]], \"style\": \"solid\", \"meaning\": \"Crop the accepted drawer region; repeat 02–03 for the black handle.\"}, {\"from\": \"cod-drawer\", \"to\": \"cod-mapped\", \"points\": [[820, 240], [848, 240]], \"style\": \"solid\", \"meaning\": \"Add crop-origin offsets to recover the selected handle box in the original scene.\"}], \"sources\": [\"readme\", \"localizer\"], \"must_not_imply\": [\"Do not caption schematic geometry as a recorded robot trial.\", \"The final output is a 2D box, not a grasp pose.\"], \"stage_numbers\": [4, 5], \"links\": {\"cod-scene\": \"cod-selection\", \"cod-desk\": \"cod-selection\", \"cod-drawer\": \"cod-selection\"}, \"titles\": {\"en\": \"CoD · stages 04–05\", \"zh\": \"CoD · 步骤 04–05\", \"ja\": \"CoD · 手順 04–05\"}}, {\"id\": \"cod-selection\", \"kind\": \"local\", \"intent\": \"Expand stages 02–03 on the drawer crop while searching for its black handle.\", \"layout\": \"Candidate generation, UCB evaluation loop, ranked consistency checks, accepted handle box or finite-retry stop.\", \"nodes\": [{\"id\": \"cod-level-input\", \"label\": {\"en\": \"Drawer crop\", \"zh\": \"抽屉裁剪图\", \"ja\": \"引き出しの切り抜き\"}, \"bounds\": [20, 155, 145, 135], \"detail\": \"\", \"sub\": {\"en\": \"Image from stage 04\", \"zh\": \"图像来自上一次 04\", \"ja\": \"前の 04 で得た画像\"}, \"role\": \"process\"}, {\"id\": \"cod-boxes\", \"label\": {\"en\": \"Candidate boxes\", \"zh\": \"候选框\", \"ja\": \"候補ボックス\"}, \"bounds\": [195, 155, 145, 135], \"detail\": \"\", \"sub\": {\"en\": \"Faster R-CNN\", \"zh\": \"Faster R-CNN\", \"ja\": \"Faster R-CNN\"}, \"role\": \"process\"}, {\"id\": \"cod-ucb\", \"label\": {\"en\": \"Choose a box\", \"zh\": \"选择一个框\", \"ja\": \"一つを選ぶ\"}, \"bounds\": [370, 155, 145, 135], \"detail\": {\"en\": \"UCB combines a candidate’s mean score with an exploration term that is larger for less-evaluated candidates.\", \"zh\": \"UCB 同时考虑候选的平均分和探索项；评估较少的候选有更大的探索机会。\", \"ja\": \"UCB は平均点と探索項を組み合わせ、評価の少ない候補にも機会を与える。\"}, \"sub\": {\"en\": \"UCB\", \"zh\": \"UCB\", \"ja\": \"UCB\"}, \"role\": \"process\"}, {\"id\": \"cod-score\", \"label\": {\"en\": \"Visual match\", \"zh\": \"图文匹配\", \"ja\": \"画像と語の一致\"}, \"bounds\": [545, 155, 145, 135], \"detail\": {\"en\": \"The VLM reads the crop and current target phrase, then returns a match score. The candidate’s running mean and count are updated.\", \"zh\": \"视觉语言模型读取局部图像与目标词并给出匹配分数，随后更新该候选的均值与评估次数。\", \"ja\": \"視覚言語モデルが切り抜きと目標語の一致度を採点し、その候補の平均と回数を更新する。\"}, \"sub\": {\"en\": \"Qwen2-VL\", \"zh\": \"Qwen2-VL\", \"ja\": \"Qwen2-VL\"}, \"role\": \"process\"}, {\"id\": \"cod-check\", \"label\": {\"en\": \"Consistency\", \"zh\": \"一致性检查\", \"ja\": \"一貫性\"}, \"bounds\": [755, 155, 145, 135], \"detail\": {\"en\": \"After the evaluation budget is spent, check candidates in score order. Slight brightness, rotation and scale changes should keep the mean above the threshold and the score range below its limit.\", \"zh\": \"评估预算用尽后按均分排序。轻微改变亮度、旋转和尺度，检查平均分达到阈值且分数波动不超过设定范围。\", \"ja\": \"評価予算の終了後に平均点で順位を付け、明るさ・回転・倍率を少し変えて平均と変動幅を確かめる。\"}, \"sub\": {\"en\": \"High mean; low variation\", \"zh\": \"均值高；波动小\", \"ja\": \"高い平均・小さな変動\"}, \"role\": \"process\"}, {\"id\": \"cod-accepted\", \"label\": {\"en\": \"Accepted handle box\", \"zh\": \"通过的把手框\", \"ja\": \"採用した取っ手の枠\"}, \"bounds\": [935, 155, 165, 135], \"detail\": {\"en\": \"An accepted desk box becomes the input image for finding the drawer; the accepted drawer box becomes the input for finding its handle. Steps 02 and 03 repeat on each new image. In the schematic, the desk begins at (120, 140) in the scene, and the drawer begins at (90, 80) inside the desk. The drawer crop’s origin in the scene is therefore (210, 220). Keeping this offset makes it possible to search locally without losing the object’s original location.\", \"zh\": \"桌子框通过后，就裁出桌子，用它寻找抽屉；抽屉框通过后，再裁出抽屉，用它寻找把手。每张新图都重复步骤 02 和 03。在图中的示意坐标里，桌子从原图的 (120, 140) 开始，抽屉从桌子内的 (90, 80) 开始，所以抽屉图在原图中的原点是 (210, 220)。记住这个偏移，才能在局部越找越细的同时保留原来的位置。\", \"ja\": \"採用した机の領域を切り抜いて引き出しを探し、引き出しを切り抜いて取っ手を探す。新しい画像ごとに 02 と 03 を繰り返す。図では机の原点を元画像内の (120, 140)、引き出しの原点を机内の (90, 80) とする。したがって、引き出し画像の原点は元画像内の (210, 220) になる。このずれを記録すれば、局所的に細かく探しても元の位置を失わない。\"}, \"sub\": {\"en\": \"x: 200–320 · y: 90–120\", \"zh\": \"x：200–320 · y：90–120\", \"ja\": \"x: 200–320 · y: 90–120\"}, \"role\": \"output\"}, {\"id\": \"cod-stop\", \"label\": {\"en\": \"Stop the chain\", \"zh\": \"结束检测链\", \"ja\": \"検出列を終了\"}, \"bounds\": [935, 390, 165, 100], \"detail\": {\"en\": \"If the allowed retries accept no candidate, this level ends the chain. Earlier accepted regions remain in the output.\", \"zh\": \"允许的重试结束后仍无候选通过，就在当前层结束检测链，保留此前已经通过的区域。\", \"ja\": \"許された再試行でも通過する候補がなければ、この段階で検出列を終え、それまでの領域を残す。\"}, \"sub\": \"\", \"role\": \"output\"}], \"edges\": [{\"from\": \"cod-level-input\", \"to\": \"cod-boxes\", \"points\": [[165, 222.5], [195, 222.5]], \"style\": \"solid\", \"meaning\": \"The drawer crop is the detector input for the final handle search.\"}, {\"from\": \"cod-boxes\", \"to\": \"cod-ucb\", \"points\": [[340, 222.5], [370, 222.5]], \"style\": \"solid\", \"meaning\": \"Initialize candidate statistics within this image level.\"}, {\"from\": \"cod-ucb\", \"to\": \"cod-score\", \"points\": [[515, 222.5], [545, 222.5]], \"style\": \"solid\", \"meaning\": \"Crop the selected candidate and score its match to black handle.\"}, {\"from\": \"cod-score\", \"to\": \"cod-check\", \"points\": [[690, 222.5], [755, 222.5]], \"style\": \"solid\", \"meaning\": \"After the budget, check candidates in descending mean-score order.\"}, {\"from\": \"cod-check\", \"to\": \"cod-accepted\", \"points\": [[900, 222.5], [935, 222.5]], \"style\": \"solid\", \"meaning\": \"A high mean and sufficiently small score range accept this handle box.\"}, {\"from\": \"cod-score\", \"to\": \"cod-ucb\", \"points\": [[617.5, 290], [617.5, 367], [442.5, 367], [442.5, 290]], \"style\": \"feedback\", \"meaning\": \"Update the candidate mean and count; allocate another evaluation within the finite budget.\"}, {\"from\": \"cod-check\", \"to\": \"cod-check\", \"points\": [[827.5, 290], [827.5, 450], [725, 450], [725, 264], [755, 264]], \"style\": \"dashed\", \"meaning\": \"Try another ranked box in this same image level within the allowed retries.\"}, {\"from\": \"cod-check\", \"to\": \"cod-stop\", \"points\": [[900, 258], [915, 258], [915, 440], [935, 440]], \"style\": \"dashed\", \"meaning\": \"Exhausted retries terminate the chain without discarding earlier accepted regions.\"}], \"sources\": [\"localizer\"], \"must_not_imply\": [\"No back edge from a finer hierarchy level to a coarser level.\", \"Score is VLM-reported visual match, not a calibrated probability or learned policy reward.\", \"Retry is bounded; no accepted candidate ends the chain.\"], \"stage_numbers\": [2, 3], \"links\": {\"cod-accepted\": \"cod-crops\"}, \"titles\": {\"en\": \"CoD · stages 02–03\", \"zh\": \"CoD · 步骤 02–03\", \"ja\": \"CoD · 手順 02–03\"}}], \"sources\": [{\"id\": \"paper\", \"title\": \"IEEE paper and abstract\", \"url\": \"https://ieeexplore.ieee.org/document/11277333/\", \"scope\": \"Publication metadata, hierarchical method and annotation-training purpose.\"}, {\"id\": \"readme\", \"title\": \"Author repository: CoD\", \"url\": \"https://github.com/tinnel123666888/CoD\", \"scope\": \"Drawer example and public inference workflow.\"}, {\"id\": \"chain\", \"title\": \"Detection chain generator\", \"url\": \"https://github.com/tinnel123666888/CoD/blob/5577c69e25e9f6aac066ad7e3084e6e308a0a213/chain_of_detection.py\", \"scope\": \"Image/instruction input; Qwen2-VL; short object-to-part chain.\"}, {\"id\": \"localizer\", \"title\": \"Public localization implementation\", \"url\": \"https://github.com/tinnel123666888/CoD/blob/5577c69e25e9f6aac066ad7e3084e6e308a0a213/cod_mcts.py\", \"scope\": \"Candidate boxes, flat-UCB scoring, consistency verification, same-level candidate retry, cropping and offsets.\"}, {\"id\": \"dataset\", \"title\": \"CoD annotation subset\", \"url\": \"https://huggingface.co/datasets/tinnel123/CoD_dataset\", \"scope\": \"Automatically generated fine-grained annotations, released cleaned subset and COCO schema.\"}], \"render_plan\": [\"background\", \"cod-overview\", \"walkthrough:01\", \"walkthrough:02\", \"walkthrough:03\", \"cod-selection\", \"walkthrough:04\", \"walkthrough:05\", \"cod-crops\", \"closing\"]}", "planning.json": "{\"schema_version\": \"1.0\", \"updated\": \"2026-10-28\", \"purpose\": \"Publication-ready multilingual copy and deterministic diagram contracts for integration into the existing Writings article.\", \"locales\": [\"en\", \"zh\", \"ja\"], \"sources\": [{\"id\": \"icbss-paper\", \"title\": \"ICBSS: An Improved Algorithm for Multi-Agent Combinatorial Path Finding\", \"url\": \"https://doi.org/10.1109/ICRA55743.2025.11127663\", \"role\": \"Primary publication link; method text accessed through an indexed author-abstract mirror.\"}, {\"id\": \"icbss-metadata\", \"title\": \"IEEE-deposited bibliographic metadata\", \"url\": \"https://api.crossref.org/works/10.1109/ICRA55743.2025.11127663\", \"role\": \"Publisher-deposited title, author, venue, year and page evidence.\"}, {\"id\": \"ta-cbwh-paper\", \"title\": \"Heuristically Guided Compilation for Task Assignment and Path Finding\", \"url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"role\": \"Primary publication link; method text accessed through an indexed author-abstract mirror.\"}, {\"id\": \"ta-cbwh-metadata\", \"title\": \"IEEE-deposited bibliographic metadata\", \"url\": \"https://api.crossref.org/works/10.1109/ICRA55743.2025.11128316\", \"role\": \"Publisher-deposited title, author, venue, year and page evidence.\"}, {\"id\": \"cbss-background\", \"title\": \"CBSS: A New Approach for Multi-Agent Combinatorial Path Finding\", \"url\": \"https://biorobotics.ri.cmu.edu/papers/paperUploads/ren23_CBSS_TRO.pdf\", \"role\": \"Author-hosted full text of the preceding method; supports MCPF definitions and the multiple-tree background only.\"}], \"papers\": [{\"id\": \"icbss\", \"short_title\": \"ICBSS\", \"published_title\": \"ICBSS: An Improved Algorithm for Multi-Agent Combinatorial Path Finding\", \"authors\": [\"Zheng Chen\", \"Changlin Chen\", \"Yiran Ni\"], \"venue\": \"ICRA 2025\", \"pages\": \"6609–6615\", \"doi\": \"10.1109/ICRA55743.2025.11127663\", \"primary_url\": \"https://doi.org/10.1109/ICRA55743.2025.11127663\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"], \"copy\": {\"en\": {\"title\": \"ICBSS — Plan the visits and the shared passage\", \"translated_paper_title\": \"ICBSS: An Improved Algorithm for Multi-Agent Combinatorial Path Finding\", \"intro\": \"Two warehouse robots must inspect four points and pass through one crossing. Choosing the visits also changes when they meet. ICBSS puts visit planning and collision resolution in one constraint tree, allowing a newly discovered conflict to reshape the coordinated plan.\", \"sections\": [{\"id\": \"stages-01-02\", \"title\": \"01–02 · Make the problem concrete\", \"paragraphs\": [\"The input is this one crossing, two starts, two destinations and four inspection points. The team must cover every inspection point before finishing. This creates one shared planning task: a route is useful when it completes its visits and fits the other robot’s movement.\", \"One candidate gives p→q to A and r→s to B. Both routes reach x at t=2, so the visits are covered but the timing conflicts. ICBSS uses a single constraint tree—a branching record of motion restrictions—and a solver that chooses the order of visits while considering arrival times—a time-dependent traveling-salesman solver—to plan under those restrictions. Its predecessor CBSS used several trees for different visit sequences, which could repeat similar collision handling.\"], \"figure\": \"icbss-decisions\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"]}, {\"id\": \"stages-03-04\", \"title\": \"03–04 · Follow the changing candidate\", \"paragraphs\": [\"The conflict can create two branches: forbid A from occupying x at t=2, or forbid B from doing so. Follow the branch that restricts B here. Planning resumes under that condition. In our example B waits at r for one step, leaving x to A at t=2 and using it at t=3. This is one feasible repair; the method couples motion restrictions with the visit planning of stage 02.\", \"The output gives a time for every move and wait. In the displayed schedule A finishes at t=4 and B at t=5; p, q, r and s are all visited. The paper also describes a suboptimal variant that trades solution quality for computational efficiency.\"], \"figure\": \"icbss-crossing-detail\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"]}], \"case\": {\"label\": \"Illustrative example\", \"title\": \"Two inspections meet at one crossing\", \"body\": \"Robot A visits p then q from west to east; robot B visits r then s from north to south. Their initial plans both reach crossing x at step 2. In one feasible repair, B waits at r for one step: A crosses x at step 2 and B at step 3. All four inspection points are visited and both robots reach their destinations. This constructed schedule makes the collision constraint visible; an ICBSS search can also reconsider visit decisions.\", \"assumption\": \"Discrete steps and point-like robots on the displayed graph; a robot stays at its destination after arrival.\", \"takeaway\": \"A spatial route becomes executable only when its timing agrees with the other robots.\"}, \"source_note\": \"Method synthesized from the authors’ abstract; the displayed warehouse schedules and values form one constructed teaching case.\", \"background\": [\"Imagine A leaving the west side and B leaving the north side. Before parking at Aɢ and Bɢ, the team must inspect p, q, r and s. We represent an aisle as connected cells: in one step a robot moves to a neighboring cell or waits. Two robots cannot occupy the same cell at the same time or exchange adjacent cells in one step.\", \"With destinations already assigned, finding compatible routes is multi-agent path finding (MAPF). Here we must also distribute the inspection points and order the visits: multi-agent combinatorial path finding (MCPF). “Combinatorial” refers to these choices of assignment and order, which interact with movement timing.\"], \"walkthrough\": [{\"stage\": \"01 · Read the task\", \"stage_id\": \"01\", \"detail\": \"icbss-decisions\", \"input\": \"A₀, B₀, destinations Aɢ, Bɢ and targets p, q, r, s.\", \"action\": \"Read the crossing as a graph and require the team to cover all four targets.\", \"output\": \"One shared planning task for A and B.\", \"why\": \"A short route is useful only if it completes the required inspections.\", \"prose\": \"The input is this one crossing, two starts, two destinations and four inspection points. The team must cover every inspection point before finishing. This creates one shared planning task: a route is useful when it completes its visits and fits the other robot’s movement.\"}, {\"stage\": \"02 · Plan the visits\", \"stage_id\": \"02\", \"detail\": \"icbss-decisions\", \"input\": \"The shared task and the current motion constraints.\", \"action\": \"Choose visits and timed routes together.\", \"output\": \"Example candidate: A visits p→q, B visits r→s; both reach x at t=2.\", \"why\": \"Planning visits and checking collisions must inform each other.\", \"prose\": \"One candidate gives p→q to A and r→s to B. Both routes reach x at t=2, so the visits are covered but the timing conflicts. ICBSS uses a single constraint tree—a branching record of motion restrictions—and a solver that chooses the order of visits while considering arrival times—a time-dependent traveling-salesman solver—to plan under those restrictions. Its predecessor CBSS used several trees for different visit sequences, which could repeat similar collision handling.\"}, {\"stage\": \"03 · Resolve the conflict\", \"stage_id\": \"03\", \"detail\": \"icbss-crossing-detail\", \"input\": \"A and B both occupy x at t=2.\", \"action\": \"Consider a branch forbidding B at x at t=2 and replan.\", \"output\": \"A feasible example: B waits at r for one step.\", \"why\": \"The restriction converts a shared conflict into a concrete condition for the next plan.\", \"prose\": \"The conflict can create two branches: forbid A from occupying x at t=2, or forbid B from doing so. Follow the branch that restricts B here. Planning resumes under that condition. In our example B waits at r for one step, leaving x to A at t=2 and using it at t=3. This is one feasible repair; the method couples motion restrictions with the visit planning of stage 02.\"}, {\"stage\": \"04 · Output the schedule\", \"stage_id\": \"04\", \"detail\": \"icbss-crossing-detail\", \"input\": \"The revised timed paths for both robots.\", \"action\": \"Check all simultaneous positions and moves.\", \"output\": \"A arrives at t=4; B at t=5; all four targets are visited.\", \"why\": \"A route needs both locations and timing to be executable by the team.\", \"prose\": \"The output gives a time for every move and wait. In the displayed schedule A finishes at t=4 and B at t=5; p, q, r and s are all visited. The paper also describes a suboptimal variant that trades solution quality for computational efficiency.\"}]}, \"zh\": {\"title\": \"ICBSS：把访问顺序与通行时刻一起规划\", \"translated_paper_title\": \"ICBSS：一种改进的多智能体组合路径规划算法\", \"intro\": \"两台仓库机器人要检查四个点，还要共用一个交叉口。任务怎样分、先去哪里，会改变相遇的时刻。ICBSS 把访问规划与碰撞处理放进一棵约束树，让新发现的冲突参与后续联合安排。\", \"sections\": [{\"id\": \"stages-01-02\", \"title\": \"01–02 · 把任务与判断说清楚\", \"paragraphs\": [\"先把这张十字通道、两台机器人的起终点和四个检查点交给规划器。要求是整队覆盖全部检查点，再各自到达终点。这样得到一份共同任务：路线既要完成检查，也要容得下另一台机器人的移动。\", \"先看一个候选：A 依次去 p、q，B 依次去 r、s。检查任务都有了去处，但两条路线都在 t=2 到达 x。ICBSS 用一棵约束树保存不同运动限制下的搜索分支，并结合旅行商问题求解器，在这些限制下决定检查点的访问顺序，同时考虑到达时刻。前作 CBSS 为不同访问序列建立多棵树，同类碰撞可能重复处理；单树让访问安排与冲突信息在同一次搜索中衔接。\"], \"figure\": \"icbss-decisions\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"]}, {\"id\": \"stages-03-04\", \"title\": \"03–04 · 看候选方案怎样改变\", \"paragraphs\": [\"同一个冲突可以分成两个分支：限制 A 在 t=2 进入 x，或限制 B 在此时进入 x。这里沿着限制 B 的分支继续。带着这条限制回到 02 重新规划。示例中，让 B 在 r 等待一步就能得到可行安排：A 在 t=2 过 x，B 在 t=3 过 x。限制因此真正改变了后续方案。\", \"最后输出每一步去哪里、何时等待。图中的 A 在 t=4 到达终点，B 在 t=5 到达，p、q、r、s 都已检查。空间路线和时刻由此合成可执行的协同安排。作者还提出以解质量换取计算效率的次优版本。\"], \"figure\": \"icbss-crossing-detail\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"]}], \"case\": {\"label\": \"教学示例（Illustrative example）\", \"title\": \"两条检查路线，在交叉口相遇\", \"body\": \"A 从西向东依次检查 p、q，B 从北向南依次检查 r、s。初始方案让两台机器人都在第 2 步进入交叉口 x。一种可行调整是让 B 在 r 等待一步：A 在第 2 步通过 x，B 在第 3 步通过。四个检查点仍全部覆盖，两台机器人都能到达终点。这个人工构造的安排展示了碰撞约束如何生效；ICBSS 的搜索还可以重新考虑访问决策。\", \"assumption\": \"在图示道路图上使用离散步长与点状机器人；机器人到达终点后停留。\", \"takeaway\": \"路线的空间走向与其他机器人的通行时刻配合，才形成可执行的团队安排。\"}, \"source_note\": \"方法根据作者摘要整理；图中的仓库时序和数值是一组连续的人工构造教学案例。\", \"background\": [\"想象 A 从西侧出发，B 从北侧出发，检查完 p、q、r、s 后分别停到 Aɢ、Bɢ。我们把通道画成相连的格子：每一步可以走到相邻格，也可以等待。两台机器人不能同时占同一格，也不能在一步里迎面交换位置。\", \"如果各自终点已定，问题主要是让多台机器人协调通行，称为多智能体路径规划（MAPF）。这里还要分配检查点、排列访问顺序，成为多智能体组合路径规划（MCPF）。“组合”指这些分配与排列选择，它们又与通行时刻相互影响。\"], \"walkthrough\": [{\"stage\": \"01 · 读懂任务\", \"stage_id\": \"01\", \"detail\": \"icbss-decisions\", \"input\": \"起点 A₀、B₀，终点 Aɢ、Bɢ，任务点 p、q、r、s。\", \"action\": \"把十字通道读成道路图，要求团队覆盖四个任务点。\", \"output\": \"A、B 共用的一份规划任务。\", \"why\": \"先确定必须完成什么，才知道路线是否满足任务。\", \"prose\": \"先把这张十字通道、两台机器人的起终点和四个检查点交给规划器。要求是整队覆盖全部检查点，再各自到达终点。这样得到一份共同任务：路线既要完成检查，也要容得下另一台机器人的移动。\"}, {\"stage\": \"02 · 规划访问\", \"stage_id\": \"02\", \"detail\": \"icbss-decisions\", \"input\": \"共同任务与当前运动约束。\", \"action\": \"联合选择任务分配、访问顺序与带时刻路线。\", \"output\": \"示例候选：A 走 p→q，B 走 r→s；都在 t=2 到达 x。\", \"why\": \"访问安排影响相遇时刻，碰撞信息也会反过来改变规划。\", \"prose\": \"先看一个候选：A 依次去 p、q，B 依次去 r、s。检查任务都有了去处，但两条路线都在 t=2 到达 x。ICBSS 用一棵约束树保存不同运动限制下的搜索分支，并结合旅行商问题求解器，在这些限制下决定检查点的访问顺序，同时考虑到达时刻。前作 CBSS 为不同访问序列建立多棵树，同类碰撞可能重复处理；单树让访问安排与冲突信息在同一次搜索中衔接。\"}, {\"stage\": \"03 · 消解冲突\", \"stage_id\": \"03\", \"detail\": \"icbss-crossing-detail\", \"input\": \"A、B 在 t=2 同时占据 x。\", \"action\": \"考察 B 在 t=2 不得占据 x 的分支，重新规划。\", \"output\": \"一个可行示例：B 在 r 等待一步。\", \"why\": \"把“撞在一起”转成下一份方案必须遵守的具体条件。\", \"prose\": \"同一个冲突可以分成两个分支：限制 A 在 t=2 进入 x，或限制 B 在此时进入 x。这里沿着限制 B 的分支继续。带着这条限制回到 02 重新规划。示例中，让 B 在 r 等待一步就能得到可行安排：A 在 t=2 过 x，B 在 t=3 过 x。限制因此真正改变了后续方案。\"}, {\"stage\": \"04 · 输出时序\", \"stage_id\": \"04\", \"detail\": \"icbss-crossing-detail\", \"input\": \"两台机器人的修订时序路线。\", \"action\": \"检查各时刻的位置与相邻步移动。\", \"output\": \"A 在 t=4、B 在 t=5 到达终点，四个检查点均已访问。\", \"why\": \"空间路线加上协调时刻，才成为整队可执行的安排。\", \"prose\": \"最后输出每一步去哪里、何时等待。图中的 A 在 t=4 到达终点，B 在 t=5 到达，p、q、r、s 都已检查。空间路线和时刻由此合成可执行的协同安排。作者还提出以解质量换取计算效率的次优版本。\"}]}, \"ja\": {\"title\": \"ICBSS：訪問順序と通過時刻を一緒に計画する\", \"translated_paper_title\": \"ICBSS：マルチエージェント組合せ経路探索の改良アルゴリズム\", \"intro\": \"二台の倉庫ロボットが四地点を点検し、一つの交差点を共有します。分担や訪問順序によって出会う時刻も変わります。ICBSS は訪問計画と衝突解消を一つの制約木で扱い、見つかった衝突を共同計画に反映します。\", \"sections\": [{\"id\": \"stages-01-02\", \"title\": \"01–02 · 作業と判断を具体化する\", \"paragraphs\": [\"入力はこの十字通路、二台の開始位置と目的地、四つの点検地点です。全地点をチームで訪問してから目的地へ向かいます。点検を終え、相手の移動とも両立する経路を求める共同の課題になります。\", \"候補の一つで A に p→q、B に r→s を割り当てると、両方が t=2 に x へ着きます。点検は分担できても時刻が衝突します。ICBSS は移動制約を分岐として保持する一つの制約木と、訪問の順序を到着時刻も考慮して決める巡回セールスマン問題の求解器を組み合わせます。訪問順序ごとに複数の木を作る先行手法 CBSS では、似た衝突を繰り返し扱うことがありました。\"], \"figure\": \"icbss-decisions\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"]}, {\"id\": \"stages-03-04\", \"title\": \"03–04 · 候補の変化を追う\", \"paragraphs\": [\"同じ衝突から、t=2 に A が x に入ることを禁じる枝と、B が入ることを禁じる枝に分けられます。ここでは B を制限する枝をたどります。この制約を 02 の計画へ返します。例では B を r で一ステップ待たせると、A が t=2、B が t=3 に x を通れます。制約が次の計画を具体的に変えるわけです。\", \"出力は各ステップの位置と待機を含みます。図の A は t=4、B は t=5 に到着し、p、q、r、s をすべて点検しています。位置と時刻が合わさって協調計画になります。著者らは解の品質と計算効率を調整する準最適な派生手法も示しています。\"], \"figure\": \"icbss-crossing-detail\", \"source_refs\": [\"icbss-paper\", \"icbss-metadata\", \"cbss-background\"]}], \"case\": {\"label\": \"説明用の例（Illustrative example）\", \"title\": \"二つの点検経路が交差する\", \"body\": \"A は西から東へ p、q を、B は北から南へ r、s を順に点検します。初期案では両方がステップ 2 に交差点 x に到着します。実行可能な修正の一例は、B を r で一ステップ待機させることです。A はステップ 2、B はステップ 3 に x を通過し、四つの地点を訪問して、それぞれの目的地に到着します。この構成例は衝突制約の働きを示します。ICBSS の探索では訪問の決定も見直せます。\", \"assumption\": \"図の道路グラフ上で離散ステップと点状ロボットを仮定し、到着後は目的地に留まります。\", \"takeaway\": \"経路の位置と他のロボットの通過時刻が合うことで、実行可能な共同計画になります。\"}, \"source_note\": \"手法は著者の要旨に基づく整理です。倉庫の時系列と数値は一続きの説明用構成例です。\", \"background\": [\"A は西側、B は北側から出発し、p、q、r、s を点検して Aɢ、Bɢ に停車します。通路を隣接するマスで表し、一ステップで隣へ移動するか待機すると考えます。同じ時刻の同じマスへの進入や、一ステップでの位置の交換を避けます。\", \"目的地が決まった複数のロボットに、互いに通れる経路を求める問題がマルチエージェント経路探索（MAPF）です。点検地点の分担と訪問順序も選ぶのが組合せ経路探索（MCPF）です。「組合せ」は分担や順序の選択を指し、通過時刻にも関わります。\"], \"walkthrough\": [{\"stage\": \"01 · 作業を把握する\", \"stage_id\": \"01\", \"detail\": \"icbss-decisions\", \"input\": \"開始位置 A₀、B₀、目的地 Aɢ、Bɢ、作業地点 p、q、r、s。\", \"action\": \"十字通路をグラフとして読み、四地点の訪問を条件にする。\", \"output\": \"A と B が共有する一つの計画問題。\", \"why\": \"必要な点検が分かって初めて経路の適否を判断できる。\", \"prose\": \"入力はこの十字通路、二台の開始位置と目的地、四つの点検地点です。全地点をチームで訪問してから目的地へ向かいます。点検を終え、相手の移動とも両立する経路を求める共同の課題になります。\"}, {\"stage\": \"02 · 訪問を計画する\", \"stage_id\": \"02\", \"detail\": \"icbss-decisions\", \"input\": \"共同の課題と現在の移動制約。\", \"action\": \"担当、訪問順序、時刻付き経路を共同で選ぶ。\", \"output\": \"例の候補：A は p→q、B は r→s。両方が t=2 に x へ到着。\", \"why\": \"訪問計画が通過時刻を変え、衝突情報も計画へ戻る。\", \"prose\": \"候補の一つで A に p→q、B に r→s を割り当てると、両方が t=2 に x へ着きます。点検は分担できても時刻が衝突します。ICBSS は移動制約を分岐として保持する一つの制約木と、訪問の順序を到着時刻も考慮して決める巡回セールスマン問題の求解器を組み合わせます。訪問順序ごとに複数の木を作る先行手法 CBSS では、似た衝突を繰り返し扱うことがありました。\"}, {\"stage\": \"03 · 衝突を解消する\", \"stage_id\": \"03\", \"detail\": \"icbss-crossing-detail\", \"input\": \"A と B が t=2 に x を同時に占有する。\", \"action\": \"t=2 の x を B に禁じる分岐で再計画する。\", \"output\": \"実行可能な例：B が r で一ステップ待機。\", \"why\": \"共有の衝突を次の計画の具体的な条件にする。\", \"prose\": \"同じ衝突から、t=2 に A が x に入ることを禁じる枝と、B が入ることを禁じる枝に分けられます。ここでは B を制限する枝をたどります。この制約を 02 の計画へ返します。例では B を r で一ステップ待たせると、A が t=2、B が t=3 に x を通れます。制約が次の計画を具体的に変えるわけです。\"}, {\"stage\": \"04 · 時系列を出力する\", \"stage_id\": \"04\", \"detail\": \"icbss-crossing-detail\", \"input\": \"二台の修正した時刻付き経路。\", \"action\": \"同時刻の位置と各ステップの移動を確認する。\", \"output\": \"A は t=4、B は t=5 に到着し、四地点を訪問済み。\", \"why\": \"位置と時刻を合わせて、チームで実行できる計画にする。\", \"prose\": \"出力は各ステップの位置と待機を含みます。図の A は t=4、B は t=5 に到着し、p、q、r、s をすべて点検しています。位置と時刻が合わさって協調計画になります。著者らは解の品質と計算効率を調整する準最適な派生手法も示しています。\"}]}}, \"case_contract\": {\"id\": \"icbss-crossing\", \"kind\": \"illustrative_not_measured\", \"coordinate_convention\": \"x increases east; y increases north; all coordinates are schematic graph positions.\", \"vertices\": [{\"id\": \"A0\", \"xy\": [0, 2], \"role\": \"A_start\"}, {\"id\": \"p\", \"xy\": [1, 2], \"role\": \"inspection\"}, {\"id\": \"x\", \"xy\": [2, 2], \"role\": \"crossing\"}, {\"id\": \"q\", \"xy\": [3, 2], \"role\": \"inspection\"}, {\"id\": \"Ag\", \"xy\": [4, 2], \"role\": \"A_destination\"}, {\"id\": \"B0\", \"xy\": [2, 4], \"role\": \"B_start\"}, {\"id\": \"r\", \"xy\": [2, 3], \"role\": \"inspection\"}, {\"id\": \"s\", \"xy\": [2, 1], \"role\": \"inspection\"}, {\"id\": \"Bg\", \"xy\": [2, 0], \"role\": \"B_destination\"}], \"undirected_edges\": [[\"A0\", \"p\"], [\"p\", \"x\"], [\"x\", \"q\"], [\"q\", \"Ag\"], [\"B0\", \"r\"], [\"r\", \"x\"], [\"x\", \"s\"], [\"s\", \"Bg\"]], \"inspection_assignment_for_example\": {\"A\": [\"p\", \"q\"], \"B\": [\"r\", \"s\"]}, \"initial\": {\"A\": [\"A0\", \"p\", \"x\", \"q\", \"Ag\", \"Ag\"], \"B\": [\"B0\", \"r\", \"x\", \"s\", \"Bg\", \"Bg\"], \"collision\": {\"step\": 2, \"vertex\": \"x\", \"agents\": [\"A\", \"B\"]}}, \"repaired\": {\"A\": [\"A0\", \"p\", \"x\", \"q\", \"Ag\", \"Ag\"], \"B\": [\"B0\", \"r\", \"r\", \"x\", \"s\", \"Bg\"], \"new_illustrative_constraint\": \"B is forbidden at x at step 2.\", \"visited\": {\"p\": {\"agent\": \"A\", \"step\": 1}, \"q\": {\"agent\": \"A\", \"step\": 3}, \"r\": {\"agent\": \"B\", \"step\": 1}, \"s\": {\"agent\": \"B\", \"step\": 4}}, \"status\": \"Collision-free in this discrete graph; one feasible constructed repair, no claim of solver output or optimality.\"}, \"render_rules\": [\"Keep the same graph extent and node locations in every panel.\", \"Use one persistent color per robot; use shapes or text to distinguish inspection targets and destinations.\", \"At step 2 in the initial state, draw both robot markers at x or a clearly labeled overlap inset.\", \"At step 2 after repair, A is at x and B is at r; at step 3, A is at q and B is at x.\", \"Show B's wait by a loop or repeated time position at r, not a spatial detour.\"]}, \"diagrams\": [{\"id\": \"icbss-overview\", \"scope\": \"overview\", \"kind\": \"method_contract\", \"task\": \"Explain how targets, visit decisions and collision constraints meet in one search.\", \"layout\": \"Four stable numbered stages with a compact case-state row and a search feedback connection.\", \"nodes\": [{\"id\": \"stage-01\", \"label\": {\"en\": \"01 · Read the task\", \"zh\": \"01 · 读懂任务\", \"ja\": \"01 · 作業を把握する\"}}, {\"id\": \"stage-02\", \"label\": {\"en\": \"02 · Plan the visits\", \"zh\": \"02 · 规划访问\", \"ja\": \"02 · 訪問を計画する\"}}, {\"id\": \"stage-03\", \"label\": {\"en\": \"03 · Resolve the conflict\", \"zh\": \"03 · 消解冲突\", \"ja\": \"03 · 衝突を解消する\"}}, {\"id\": \"stage-04\", \"label\": {\"en\": \"04 · Output the schedule\", \"zh\": \"04 · 输出时序\", \"ja\": \"04 · 時系列を出力する\"}}, {\"id\": \"candidate\", \"label\": {\"en\": \"Candidate: a shared crossing\", \"zh\": \"候选：交叉口同时到达\", \"ja\": \"候補：交差点へ同時到着\"}}, {\"id\": \"result\", \"label\": {\"en\": \"Revised: B waits at r\", \"zh\": \"修订：B 在 r 等一步\", \"ja\": \"修正：B が r で待機\"}}], \"edges\": [{\"from\": \"stage-01\", \"to\": \"stage-02\", \"meaning\": \"Explanatory progression through the numbered stages of the same case.\"}, {\"from\": \"stage-02\", \"to\": \"stage-03\", \"meaning\": \"Explanatory progression through the numbered stages of the same case.\"}, {\"from\": \"stage-03\", \"to\": \"stage-04\", \"meaning\": \"Explanatory progression through the numbered stages of the same case.\"}, {\"from\": \"stage-03\", \"to\": \"stage-02\", \"meaning\": \"Return a collision restriction to visit planning.\"}, {\"from\": \"candidate\", \"to\": \"result\", \"meaning\": \"A constructed conflict repair: B waits at r for one step.\"}], \"caption\": {\"en\": \"Follow the same A/B inspection task through 01–04. Stages 01–02 expand in the map view; 03–04 expand in the crossing and timeline view. The feedback returns a collision restriction to visit planning. Method based on the authors’ abstract; warehouse states are illustrative.\", \"zh\": \"同一组 A、B 检查任务贯穿 01–04。01–02 在地图局部图展开，03–04 在交叉口与时序图展开；反馈线把碰撞限制带回访问规划。方法根据作者摘要整理，仓库状态为教学构造。\", \"ja\": \"同じ A/B の点検作業を 01–04 で追います。01–02 は地図、03–04 は交差点と時系列で展開します。衝突制約を訪問計画へ戻す流れです。手法は著者の要旨、倉庫状態は説明用の構成に基づきます。\"}, \"source_refs\": [\"icbss-paper\"], \"primary_source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11127663\", \"render_rules\": [\"Use exactly the same case graph, identities, stage numbers and state values as the other two views for this paper.\", \"Stage labels must match walkthrough.stage in all languages.\", \"Label all constructed states and values as illustrative; retain the author-abstract source caption.\"], \"expanded_stages\": {\"01\": \"icbss-decisions\", \"02\": \"icbss-decisions\", \"03\": \"icbss-crossing-detail\", \"04\": \"icbss-crossing-detail\"}, \"case_ref\": \"icbss-crossing\"}, {\"id\": \"icbss-decisions\", \"scope\": \"local\", \"kind\": \"illustrative_example\", \"task\": \"Separate target assignment, visiting order and timed collision avoidance on the same warehouse graph.\", \"layout\": \"Stages 01–02: the same warehouse map and candidate data.\", \"case_ref\": \"icbss-crossing\", \"nodes\": [{\"id\": \"stage-01\", \"label\": {\"en\": \"01 · Read the task\", \"zh\": \"01 · 读懂任务\", \"ja\": \"01 · 作業を把握する\"}}, {\"id\": \"stage-02\", \"label\": {\"en\": \"02 · Plan the visits\", \"zh\": \"02 · 规划访问\", \"ja\": \"02 · 訪問を計画する\"}}, {\"id\": \"visits\", \"label\": {\"en\": \"A: p → q → Aɢ\", \"zh\": \"A：p → q → Aɢ\", \"ja\": \"A：p → q → Aɢ\"}}], \"edges\": [], \"caption\": {\"en\": \"Stages 01–02, illustrative example. A visits p→q and B visits r→s in one candidate; both reach x at t=2. The map, targets and identities remain fixed in the next view.\", \"zh\": \"01–02，教学示例。候选安排让 A 去 p→q，B 去 r→s，两台都在 t=2 到达 x。下一图继续使用同一地图、任务点和机器人。\", \"ja\": \"01–02 の説明用の例です。候補では A が p→q、B が r→s を訪問し、両方が t=2 に x へ到着します。次の図でも同じ地図、地点、ロボットを使います。\"}, \"source_refs\": [\"cbss-background\"], \"primary_source_url\": \"https://biorobotics.ri.cmu.edu/papers/paperUploads/ren23_CBSS_TRO.pdf\", \"render_rules\": [\"Use exactly the same case graph, identities, stage numbers and state values as the other two views for this paper.\", \"Stage labels must match walkthrough.stage in all languages.\", \"Label all constructed states and values as illustrative; retain the author-abstract source caption.\"], \"stages\": [\"01\", \"02\"]}, {\"id\": \"icbss-crossing-detail\", \"scope\": \"local\", \"kind\": \"illustrative_example\", \"task\": \"Make a time-specific conflict and one feasible repair visible.\", \"layout\": \"Stages 03–04: explicit timed candidate states on the same graph.\", \"case_ref\": \"icbss-crossing\", \"nodes\": [{\"id\": \"stage-03\", \"label\": {\"en\": \"03 · Resolve the conflict\", \"zh\": \"03 · 消解冲突\", \"ja\": \"03 · 衝突を解消する\"}}, {\"id\": \"stage-04\", \"label\": {\"en\": \"04 · Output the schedule\", \"zh\": \"04 · 输出时序\", \"ja\": \"04 · 時系列を出力する\"}}, {\"id\": \"restriction\", \"label\": {\"en\": \"B cannot occupy x at t=2\", \"zh\": \"B 在 t=2 不能占 x\", \"ja\": \"B は t=2 に x を占有しない\"}}], \"edges\": [], \"caption\": {\"en\": \"Stages 03–04, illustrative example. B waits at r at t=2, then crosses x at t=3. The exact schedule visits all four targets without vertex or edge-swap collisions.\", \"zh\": \"03–04，教学示例。B 在 t=2 留在 r 等待，t=3 再通过 x。图示时序访问全部四个任务点，且没有同格或迎面换位碰撞。\", \"ja\": \"03–04 の説明用の例です。B は t=2 に r で待ち、t=3 に x を通ります。この時系列は四地点を訪問し、同時占有や位置の交換による衝突を避けます。\"}, \"source_refs\": [\"icbss-paper\"], \"primary_source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11127663\", \"render_rules\": [\"Use exactly the same case graph, identities, stage numbers and state values as the other two views for this paper.\", \"Stage labels must match walkthrough.stage in all languages.\", \"Label all constructed states and values as illustrative; retain the author-abstract source caption.\"], \"stages\": [\"03\", \"04\"]}], \"stages\": [{\"id\": \"01\", \"label\": {\"en\": \"01 · Read the task\", \"zh\": \"01 · 读懂任务\", \"ja\": \"01 · 作業を把握する\"}, \"detail\": \"icbss-decisions\"}, {\"id\": \"02\", \"label\": {\"en\": \"02 · Plan the visits\", \"zh\": \"02 · 规划访问\", \"ja\": \"02 · 訪問を計画する\"}, \"detail\": \"icbss-decisions\"}, {\"id\": \"03\", \"label\": {\"en\": \"03 · Resolve the conflict\", \"zh\": \"03 · 消解冲突\", \"ja\": \"03 · 衝突を解消する\"}, \"detail\": \"icbss-crossing-detail\"}, {\"id\": \"04\", \"label\": {\"en\": \"04 · Output the schedule\", \"zh\": \"04 · 输出时序\", \"ja\": \"04 · 時系列を出力する\"}, \"detail\": \"icbss-crossing-detail\"}], \"render_sequence\": [\"background\", \"overview\", {\"prose_stages\": [\"01\", \"02\"], \"figure\": \"icbss-decisions\"}, {\"prose_stages\": [\"03\", \"04\"], \"figure\": \"icbss-crossing-detail\"}]}, {\"id\": \"ta-cbwh\", \"short_title\": \"TA-CBWH\", \"published_title\": \"Heuristically Guided Compilation for Task Assignment and Path Finding\", \"authors\": [\"Zheng Chen\", \"Changlin Chen\", \"Yiran Ni\", \"Junhao Wang\"], \"venue\": \"ICRA 2025\", \"pages\": \"7741–7747\", \"doi\": \"10.1109/ICRA55743.2025.11128316\", \"primary_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"], \"copy\": {\"en\": {\"title\": \"TA-CBWH — Choose the tasks with the routes in view\", \"translated_paper_title\": \"Heuristically Guided Compilation for Task Assignment and Path Finding\", \"intro\": \"Two robots can share two warehouse tasks in different ways. Each task pays a reward, while traveling and waiting consume it. TA-CBWH improves routes for one assignment and shifts computation between assignments, aiming to raise the lowest net gain in the team.\", \"sections\": [{\"id\": \"stages-01-02\", \"title\": \"01–02 · Make the problem concrete\", \"paragraphs\": [\"Start with assignment X: A takes P and B takes Q. In candidate X₀, A arrives in two steps, while B waits once before moving and arrives in eight. The input now has both a task assignment and timed routes. The extra wait matters because the cost is charged until arrival.\", \"For X₀, A gains 14−2=12 and B gains 10−8=2, so the score is 2. Apply the same rule to every candidate. Later we will see X with gains (12,3) and Y with (8,7): both total 15, but their lowest gains are 3 and 7. The paper’s objective favors Y among these candidates because it raises that floor.\"], \"figure\": \"ta-cbwh-objective-detail\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"]}, {\"id\": \"stages-03-04\", \"title\": \"03–04 · Follow the changing candidate\", \"paragraphs\": [\"With X fixed, the method writes the discrete route choices and feasibility conditions as an integer linear program (ILP), so an optimizer can seek compatible routes. Large-neighborhood search (LNS) repeatedly reoptimizes a selected part while retaining the rest. Our constructed update keeps A’s route and removes B’s extra wait: B arrives at t=7, lifting the gains to (12,3). It illustrates why route improvement is useful even before changing an assignment.\", \"Now consider Y, which sends A to Q and B to P. Feasible routes still take two and seven steps, giving 10−2=8 and 14−7=7. This improves the lowest gain from 3 to 7 compared with X. TA-CBWH uses heuristics to direct computation toward promising assignment searches that may improve the lowest gain, while removing unnecessary assignments. Our candidate sequence shows why both levels matter: improve the journey within one assignment, and also examine a different distribution of tasks.\"], \"figure\": \"ta-cbwh-search-detail\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"]}], \"case\": {\"label\": \"Illustrative example\", \"title\": \"One warehouse, three candidate plans\", \"body\": \"P pays 14, Q pays 10, and every step before arrival costs 1. X₀ has gains (12,2); removing B’s extra wait gives X=(12,3). Reassigning A→Q and B→P gives Y=(8,7). All three displayed schedules are collision-free.\", \"assumption\": \"Constructed discrete graph, rewards and candidate updates; one task per robot, one robot per task.\", \"takeaway\": \"Improve a journey, then reconsider who should make it.\"}, \"source_note\": \"Method synthesized from the authors’ abstract; the displayed warehouse schedules and values form one constructed teaching case.\", \"background\": [\"In this warehouse, A starts at a junction and B starts five steps up its aisle. Inspection tasks P and Q are each two steps from the junction. A therefore reaches either task in two steps; B needs seven. A robot may also wait. Each task is assigned once, to one robot.\", \"Joint target assignment and path finding (TAPF) decides both who goes where and how they get there without collisions. For this illustrative example, let P pay 14 and Q pay 10, and charge one utility unit per step before arrival. Net gain is reward minus travel-and-wait cost. These constructed numbers make the paper’s max–min objective visible: improve the smallest robot gain.\"], \"walkthrough\": [{\"stage\": \"01 · Define rewards and costs\", \"stage_id\": \"01\", \"detail\": \"ta-cbwh-objective-detail\", \"input\": \"The same A, B, P and Q; rewards 14 and 10; one unit per step.\", \"action\": \"Combine the task assignment with timed routes and compute arrival costs.\", \"output\": \"Candidate X₀: A→P at t=2; B→Q at t=8 after one extra wait.\", \"why\": \"The same assignment can have different values when routes or waits change.\", \"prose\": \"Start with assignment X: A takes P and B takes Q. In candidate X₀, A arrives in two steps, while B waits once before moving and arrives in eight. The input now has both a task assignment and timed routes. The extra wait matters because the cost is charged until arrival.\"}, {\"stage\": \"02 · Compare the lowest gain\", \"stage_id\": \"02\", \"detail\": \"ta-cbwh-objective-detail\", \"input\": \"Rewards and arrival times for each candidate plan.\", \"action\": \"Subtract each cost from its reward, then take the smaller gain.\", \"output\": \"X₀: (12, 2), floor 2; X: (12, 3), floor 3; Y: (8, 7), floor 7.\", \"why\": \"The minimum keeps a poorly rewarded robot visible even when the total is high.\", \"prose\": \"For X₀, A gains 14−2=12 and B gains 10−8=2, so the score is 2. Apply the same rule to every candidate. Later we will see X with gains (12,3) and Y with (8,7): both total 15, but their lowest gains are 3 and 7. The paper’s objective favors Y among these candidates because it raises that floor.\"}, {\"stage\": \"03 · Improve a fixed assignment\", \"stage_id\": \"03\", \"detail\": \"ta-cbwh-search-detail\", \"input\": \"Assignment X held fixed and the current routes X₀.\", \"action\": \"Formulate route decisions with ILP; use LNS to revise part of the candidate.\", \"output\": \"Illustrative candidate X: keep A’s route, remove B’s extra wait; floor 2→3.\", \"why\": \"An assignment can improve without changing who owns each task.\", \"prose\": \"With X fixed, the method writes the discrete route choices and feasibility conditions as an integer linear program (ILP), so an optimizer can seek compatible routes. Large-neighborhood search (LNS) repeatedly reoptimizes a selected part while retaining the rest. Our constructed update keeps A’s route and removes B’s extra wait: B arrives at t=7, lifting the gains to (12,3). It illustrates why route improvement is useful even before changing an assignment.\"}, {\"stage\": \"04 · Try another assignment\", \"stage_id\": \"04\", \"detail\": \"ta-cbwh-search-detail\", \"input\": \"Candidate assignments X and Y and their improvement processes.\", \"action\": \"Use heuristic switching to decide which assignment receives more computation.\", \"output\": \"Example Y: A→Q, B→P; arrival costs 2 and 7; gains (8,7).\", \"why\": \"Improving the routes of X cannot explore the different task ownership in Y.\", \"prose\": \"Now consider Y, which sends A to Q and B to P. Feasible routes still take two and seven steps, giving 10−2=8 and 14−7=7. This improves the lowest gain from 3 to 7 compared with X. TA-CBWH uses heuristics to direct computation toward promising assignment searches that may improve the lowest gain, while removing unnecessary assignments. Our candidate sequence shows why both levels matter: improve the journey within one assignment, and also examine a different distribution of tasks.\"}]}, \"zh\": {\"title\": \"TA-CBWH：把到达任务的代价放进分配决策\", \"translated_paper_title\": \"启发式引导的任务分配与路径规划编译求解方法\", \"intro\": \"两台机器人分担两个任务，可以有不同搭配。任务带来收益，路上的移动与等待又会消耗它。TA-CBWH 一边改进某种分配下的路线，一边在不同分配间安排计算，目标是提高整队中最低的个体净收益。\", \"sections\": [{\"id\": \"stages-01-02\", \"title\": \"01–02 · 把任务与判断说清楚\", \"paragraphs\": [\"先取分配 X：A 去 P，B 去 Q。候选 X₀ 中，A 两步到达；B 出发前多等一步，八步到达。此时输入已经包含任务归属和路线时刻。同一份任务分配仍可能有不同成本，因为到达之前的等待也要计入。\", \"X₀ 中，A 的净收益是 14−2=12，B 是 10−8=2，所以这份方案的评分是 2。之后所有候选都用同一把尺子。后文的 X 为 (12,3)，Y 为 (8,7)，总和都为 15，但最低值分别是 3 和 7；按论文目标，Y 在这两个候选中更合适。\"], \"figure\": \"ta-cbwh-objective-detail\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"]}, {\"id\": \"stages-03-04\", \"title\": \"03–04 · 看候选方案怎样改变\", \"paragraphs\": [\"固定 X 后，方法把路线中的离散选择和可行条件写成整数线性规划（ILP），让优化器求解相互兼容的路线。再结合大邻域搜索（LNS）：保留当前方案的一部分，选出另一部分重新优化。图中用一次人工构造的更新说明它的作用——保留 A 的路线，去掉 B 的多余等待，使 B 在 t=7 到达，净收益变成 (12,3)。任务归属不变，路线改善仍能减少成本。\", \"再看 Y：A 改去 Q，B 改去 P。可行路线仍分别用两步、七步，净收益成为 10−2=8、14−7=7，最低值比 X 的 3 更高。TA-CBWH 用启发式判断，把计算优先花在有希望提高最低收益的分配上，并逐步排除不必继续探索的分配。这组候选变化说明两层决策各有作用：既改善现有分配的行程，也尝试把任务重新搭配。\"], \"figure\": \"ta-cbwh-search-detail\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"]}], \"case\": {\"label\": \"教学示例（Illustrative example）\", \"title\": \"同一座仓库，三份候选方案\", \"body\": \"P 收益 14，Q 收益 10，到达前每步成本 1。X₀ 的净收益为 (12,2)；去掉 B 的额外等待得到 X=(12,3)；再取 A→Q、B→P 的分配得到 Y=(8,7)。三份图示时序均无碰撞。\", \"assumption\": \"道路图、收益与候选变化均为教学构造；每台一项任务，每项分给一台。\", \"takeaway\": \"既改善行程，也重新考虑由谁出发。\"}, \"source_note\": \"方法根据作者摘要整理；图中的仓库时序和数值是一组连续的人工构造教学案例。\", \"background\": [\"这座仓库里，A 从岔口出发，B 从岔口上方五步处出发。任务 P、Q 分别在岔口两侧两步远。因此 A 到任一任务都需两步，B 都需七步；机器人也可以等待。两个任务各分给一台机器人。\", \"联合目标分配与路径规划（TAPF）同时回答“谁去哪里”和“怎样无碰撞地到达”。本教学示例设 P 的任务收益为 14，Q 为 10，到达前每步消耗 1 个效用单位，净收益就是任务收益减去移动与等待成本。这组构造数值用来解释论文的最大化最小收益目标（max–min gain）：提高所有机器人里最低的那份净收益。\"], \"walkthrough\": [{\"stage\": \"01 · 定义收益与成本\", \"stage_id\": \"01\", \"detail\": \"ta-cbwh-objective-detail\", \"input\": \"同一组 A、B、P、Q；收益 14、10；每步成本 1。\", \"action\": \"把任务分配与带时刻路线放在一起，计算到达成本。\", \"output\": \"候选 X₀：A→P 在 t=2 到达；B→Q 多等一步，在 t=8 到达。\", \"why\": \"同样的分配，会因路线和等待不同而有不同价值。\", \"prose\": \"先取分配 X：A 去 P，B 去 Q。候选 X₀ 中，A 两步到达；B 出发前多等一步，八步到达。此时输入已经包含任务归属和路线时刻。同一份任务分配仍可能有不同成本，因为到达之前的等待也要计入。\"}, {\"stage\": \"02 · 比较最低净收益\", \"stage_id\": \"02\", \"detail\": \"ta-cbwh-objective-detail\", \"input\": \"每份候选方案的任务收益与到达时刻。\", \"action\": \"逐台扣除成本，再取两台净收益中较小的一个。\", \"output\": \"X₀ 为 (12,2)、最低 2；X 为 (12,3)、最低 3；Y 为 (8,7)、最低 7。\", \"why\": \"最低值让分配是否照顾到收益较低的机器人变得可比较。\", \"prose\": \"X₀ 中，A 的净收益是 14−2=12，B 是 10−8=2，所以这份方案的评分是 2。之后所有候选都用同一把尺子。后文的 X 为 (12,3)，Y 为 (8,7)，总和都为 15，但最低值分别是 3 和 7；按论文目标，Y 在这两个候选中更合适。\"}, {\"stage\": \"03 · 改进固定分配\", \"stage_id\": \"03\", \"detail\": \"ta-cbwh-search-detail\", \"input\": \"保持分配 X，以及当前路线 X₀。\", \"action\": \"用 ILP 表达路线决策，结合 LNS 调整候选的一部分。\", \"output\": \"示例候选 X：保留 A 路线，去掉 B 的多余等待；最低值 2→3。\", \"why\": \"任务归属不变，也能通过改善路线减少成本。\", \"prose\": \"固定 X 后，方法把路线中的离散选择和可行条件写成整数线性规划（ILP），让优化器求解相互兼容的路线。再结合大邻域搜索（LNS）：保留当前方案的一部分，选出另一部分重新优化。图中用一次人工构造的更新说明它的作用——保留 A 的路线，去掉 B 的多余等待，使 B 在 t=7 到达，净收益变成 (12,3)。任务归属不变，路线改善仍能减少成本。\"}, {\"stage\": \"04 · 尝试另一种分配\", \"stage_id\": \"04\", \"detail\": \"ta-cbwh-search-detail\", \"input\": \"候选分配 X、Y 及各自的路线改进过程。\", \"action\": \"用启发式切换选择在哪种分配上继续投入计算。\", \"output\": \"示例 Y：A→Q、B→P；到达成本 2、7；净收益 (8,7)。\", \"why\": \"只改善 X 的路线，无法尝试 Y 中不同的任务归属。\", \"prose\": \"再看 Y：A 改去 Q，B 改去 P。可行路线仍分别用两步、七步，净收益成为 10−2=8、14−7=7，最低值比 X 的 3 更高。TA-CBWH 用启发式判断，把计算优先花在有希望提高最低收益的分配上，并逐步排除不必继续探索的分配。这组候选变化说明两层决策各有作用：既改善现有分配的行程，也尝试把任务重新搭配。\"}]}, \"ja\": {\"title\": \"TA-CBWH：到達するためのコストも含めて担当を決める\", \"translated_paper_title\": \"タスク割当てと経路探索のためのヒューリスティック誘導型コンパイル手法\", \"intro\": \"二台が二つの作業を分担する方法は複数あります。作業で報酬を得ても、移動や待機にはコストがかかります。TA-CBWH は担当を固定した経路改善と、担当案の間での計算の切替えを組み合わせ、チーム内の最小利益を高めます。\", \"sections\": [{\"id\": \"stages-01-02\", \"title\": \"01–02 · 作業と判断を具体化する\", \"paragraphs\": [\"まず担当案 X を A→P、B→Q とします。候補 X₀ では A が二ステップで到着し、B は出発前に一ステップ待つため八ステップかかります。担当に加えて経路の時刻も入力になりました。到着前の待機もコストとなるので、同じ担当でも値が変わります。\", \"X₀ の利益は A が 14−2=12、B が 10−8=2 で、評価値は 2 です。以後も同じ尺度を使います。後で得る X は (12,3)、Y は (8,7) で合計はどちらも 15 ですが、最小値は 3 と 7 です。この二案では、最小利益を高める Y が目的に適います。\"], \"figure\": \"ta-cbwh-objective-detail\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"]}, {\"id\": \"stages-03-04\", \"title\": \"03–04 · 候補の変化を追う\", \"paragraphs\": [\"X を固定したまま、経路の離散的な選択と実行条件を整数線形計画（ILP）に表し、両立する経路を最適化します。大規模近傍探索（LNS）は一部を保持し、選んだ部分を繰り返し再最適化します。図の構成例では A の経路を保ち、B の余分な待機を除きます。B は t=7 に到着して利益は (12,3) となり、担当を変えなくてもコストを下げられることが分かります。\", \"次に A→Q、B→P の Y を考えます。実行可能な経路は同じく二、七ステップで、利益は 10−2=8 と 14−7=7 です。最小値は X の 3 より高い 7 になります。TA-CBWH はヒューリスティックな判断で、最小利益を高める見込みのある担当案に計算を優先し、不要な案を除外します。この候補の変化は、同じ担当の移動を改善することと、担当自体を変えることの両方の役割を示します。\"], \"figure\": \"ta-cbwh-search-detail\", \"source_refs\": [\"ta-cbwh-paper\", \"ta-cbwh-metadata\"]}], \"case\": {\"label\": \"説明用の例（Illustrative example）\", \"title\": \"同じ倉庫、三つの候補案\", \"body\": \"P の報酬は 14、Q は 10、到着前の一ステップのコストは 1 です。X₀ の利益 (12,2) から B の余分な待機を除くと X=(12,3)。A→Q、B→P に変えると Y=(8,7) です。三つの時系列はいずれも衝突しません。\", \"assumption\": \"グラフ、報酬、候補の変化は説明用の構成です。一台に一作業、一作業に一台を割り当てます。\", \"takeaway\": \"移動を改善し、誰が向かうべきかも考え直す。\"}, \"source_note\": \"手法は著者の要旨に基づく整理です。倉庫の時系列と数値は一続きの説明用構成例です。\", \"background\": [\"この倉庫では A は分岐点、B はそこから五ステップ上で出発します。点検作業 P と Q は分岐点の両側二ステップ先です。A はどちらにも二ステップ、B は七ステップで着き、待機もできます。各作業を一台ずつに割り当てます。\", \"目標割当て・経路探索（TAPF）は、誰をどこへ向かわせ、どう衝突なく到着させるかを同時に決めます。この説明用の例では報酬を P は 14、Q は 10、到着前の一ステップのコストを 1 効用単位とします。純利益は報酬から移動・待機コストを引いた値です。これで論文の最小利益最大化（max–min gain）を具体的に読めます。\"], \"walkthrough\": [{\"stage\": \"01 · 報酬とコストを設定\", \"stage_id\": \"01\", \"detail\": \"ta-cbwh-objective-detail\", \"input\": \"同じ A、B、P、Q。報酬は 14 と 10、一ステップのコストは 1。\", \"action\": \"担当と時刻付き経路を組み合わせ、到着コストを計算する。\", \"output\": \"候補 X₀：A→P は t=2、B→Q は一ステップ余分に待ち t=8 に到着。\", \"why\": \"同じ担当でも経路や待機で価値が変わる。\", \"prose\": \"まず担当案 X を A→P、B→Q とします。候補 X₀ では A が二ステップで到着し、B は出発前に一ステップ待つため八ステップかかります。担当に加えて経路の時刻も入力になりました。到着前の待機もコストとなるので、同じ担当でも値が変わります。\"}, {\"stage\": \"02 · 最小利益を比べる\", \"stage_id\": \"02\", \"detail\": \"ta-cbwh-objective-detail\", \"input\": \"各候補案の報酬と到着時刻。\", \"action\": \"各報酬からコストを引き、二台の利益の小さい方を取る。\", \"output\": \"X₀ は (12,2) で最小 2、X は (12,3) で最小 3、Y は (8,7) で最小 7。\", \"why\": \"合計が高くても利益の低いロボットを評価に残せる。\", \"prose\": \"X₀ の利益は A が 14−2=12、B が 10−8=2 で、評価値は 2 です。以後も同じ尺度を使います。後で得る X は (12,3)、Y は (8,7) で合計はどちらも 15 ですが、最小値は 3 と 7 です。この二案では、最小利益を高める Y が目的に適います。\"}, {\"stage\": \"03 · 担当を固定して改善\", \"stage_id\": \"03\", \"detail\": \"ta-cbwh-search-detail\", \"input\": \"固定した担当 X と現在の経路 X₀。\", \"action\": \"ILP で経路の決定を表し、LNS で候補の一部を見直す。\", \"output\": \"例の候補 X：A の経路を保持し、B の余分な待機を除く。最小値は 2→3。\", \"why\": \"担当を変えずに経路のコストを下げられる。\", \"prose\": \"X を固定したまま、経路の離散的な選択と実行条件を整数線形計画（ILP）に表し、両立する経路を最適化します。大規模近傍探索（LNS）は一部を保持し、選んだ部分を繰り返し再最適化します。図の構成例では A の経路を保ち、B の余分な待機を除きます。B は t=7 に到着して利益は (12,3) となり、担当を変えなくてもコストを下げられることが分かります。\"}, {\"stage\": \"04 · 別の担当案を試す\", \"stage_id\": \"04\", \"detail\": \"ta-cbwh-search-detail\", \"input\": \"担当候補 X、Y とそれぞれの経路改善過程。\", \"action\": \"ヒューリスティックな切替えで計算を続ける担当案を選ぶ。\", \"output\": \"例の Y：A→Q、B→P。到着コストは 2、7、利益は (8,7)。\", \"why\": \"X 内の経路改善だけでは Y の異なる担当を調べられない。\", \"prose\": \"次に A→Q、B→P の Y を考えます。実行可能な経路は同じく二、七ステップで、利益は 10−2=8 と 14−7=7 です。最小値は X の 3 より高い 7 になります。TA-CBWH はヒューリスティックな判断で、最小利益を高める見込みのある担当案に計算を優先し、不要な案を除外します。この候補の変化は、同じ担当の移動を改善することと、担当自体を変えることの両方の役割を示します。\"}]}}, \"case_contract\": {\"id\": \"ta-cbwh-warehouse\", \"kind\": \"illustrative_not_measured\", \"vertices\": [{\"id\": \"h\", \"xy\": [2, 0]}, {\"id\": \"L\", \"xy\": [1, 0]}, {\"id\": \"P\", \"xy\": [0, 0]}, {\"id\": \"R\", \"xy\": [3, 0]}, {\"id\": \"Q\", \"xy\": [4, 0]}, {\"id\": \"v1\", \"xy\": [2, 1]}, {\"id\": \"v2\", \"xy\": [2, 2]}, {\"id\": \"v3\", \"xy\": [2, 3]}, {\"id\": \"v4\", \"xy\": [2, 4]}, {\"id\": \"B0\", \"xy\": [2, 5]}], \"undirected_edges\": [[\"P\", \"L\"], [\"L\", \"h\"], [\"h\", \"R\"], [\"R\", \"Q\"], [\"h\", \"v1\"], [\"v1\", \"v2\"], [\"v2\", \"v3\"], [\"v3\", \"v4\"], [\"v4\", \"B0\"]], \"starts\": {\"A\": \"h\", \"B\": \"B0\"}, \"rewards\": {\"P\": 14, \"Q\": 10}, \"cost_per_step\": 1, \"cost_rule\": \"Cost is arrival time × 1 illustrative utility unit; waiting counts; no cost accrues after arrival.\", \"plans\": [{\"id\": \"X0\", \"display_id\": \"X₀\", \"assignment\": {\"A\": \"P\", \"B\": \"Q\"}, \"arrival_cost\": {\"A\": 2, \"B\": 8}, \"routes\": {\"A\": [\"h\", \"L\", \"P\", \"P\", \"P\", \"P\", \"P\", \"P\", \"P\"], \"B\": [\"B0\", \"B0\", \"v4\", \"v3\", \"v2\", \"v1\", \"h\", \"R\", \"Q\"]}, \"gain\": {\"A\": 12, \"B\": 2}, \"sum\": 14, \"minimum\": 2, \"state\": \"Constructed collision-free candidate; not an algorithm execution trace.\"}, {\"id\": \"X\", \"display_id\": \"X\", \"assignment\": {\"A\": \"P\", \"B\": \"Q\"}, \"arrival_cost\": {\"A\": 2, \"B\": 7}, \"routes\": {\"A\": [\"h\", \"L\", \"P\", \"P\", \"P\", \"P\", \"P\", \"P\", \"P\"], \"B\": [\"B0\", \"v4\", \"v3\", \"v2\", \"v1\", \"h\", \"R\", \"Q\", \"Q\"]}, \"gain\": {\"A\": 12, \"B\": 3}, \"sum\": 15, \"minimum\": 3, \"state\": \"Constructed collision-free candidate; not an algorithm execution trace.\"}, {\"id\": \"Y\", \"display_id\": \"Y\", \"assignment\": {\"A\": \"Q\", \"B\": \"P\"}, \"arrival_cost\": {\"A\": 2, \"B\": 7}, \"routes\": {\"A\": [\"h\", \"R\", \"Q\", \"Q\", \"Q\", \"Q\", \"Q\", \"Q\", \"Q\"], \"B\": [\"B0\", \"v4\", \"v3\", \"v2\", \"v1\", \"h\", \"L\", \"P\", \"P\"]}, \"gain\": {\"A\": 8, \"B\": 7}, \"sum\": 15, \"minimum\": 7, \"state\": \"Constructed collision-free candidate; not an algorithm execution trace.\"}], \"comparison\": {\"criterion\": \"max(minimum individual gain)\", \"preferred_plan\": \"Y\", \"reason\": \"Among the displayed candidates, 7 > 3 > 2.\"}, \"updates\": [{\"from\": \"X0\", \"to\": \"X\", \"changes\": \"Remove B’s initial one-step wait; retain A route and both assignments.\", \"explanation\": \"Illustrates a route update within a fixed assignment; not a claim about the precise LNS neighborhood or solver behavior.\"}, {\"from\": \"X\", \"to\": \"Y\", \"changes\": \"Swap the two task assignments and recompute compatible routes.\", \"explanation\": \"Illustrates a different assignment; not a claimed heuristic switching decision.\"}], \"utility_unit\": {\"en\": \"Illustrative utility units\", \"zh\": \"教学效用单位\", \"ja\": \"説明用の効用単位\"}, \"render_rules\": [\"Keep A, B, P and Q and the same graph throughout all three figures.\", \"Draw X0, X and Y as constructed candidate states, not measured runs.\", \"The selectors and update arrows explain two levels of search; no precise switching threshold is asserted.\", \"Use the listed timed routes; robots remain at destinations after arrival.\"]}, \"diagrams\": [{\"id\": \"ta-cbwh-overview\", \"scope\": \"overview\", \"kind\": \"method_contract\", \"task\": \"Explain the coupling between task assignment, route improvement and the max–min objective.\", \"layout\": \"Four stable numbered stages with a compact case-state row and a search feedback connection.\", \"nodes\": [{\"id\": \"stage-01\", \"label\": {\"en\": \"01 · Define rewards and costs\", \"zh\": \"01 · 定义收益与成本\", \"ja\": \"01 · 報酬とコストを設定\"}}, {\"id\": \"stage-02\", \"label\": {\"en\": \"02 · Compare the lowest gain\", \"zh\": \"02 · 比较最低净收益\", \"ja\": \"02 · 最小利益を比べる\"}}, {\"id\": \"stage-03\", \"label\": {\"en\": \"03 · Improve a fixed assignment\", \"zh\": \"03 · 改进固定分配\", \"ja\": \"03 · 担当を固定して改善\"}}, {\"id\": \"stage-04\", \"label\": {\"en\": \"04 · Try another assignment\", \"zh\": \"04 · 尝试另一种分配\", \"ja\": \"04 · 別の担当案を試す\"}}, {\"id\": \"case-X0\", \"label\": {\"en\": \"X₀ · B waits once\", \"zh\": \"X₀ · B 多等一步\", \"ja\": \"X₀ · B が一歩待機\"}}, {\"id\": \"case-X\", \"label\": {\"en\": \"X · remove that wait\", \"zh\": \"X · 去掉这次等待\", \"ja\": \"X · その待機を除く\"}}, {\"id\": \"case-Y\", \"label\": {\"en\": \"Y · exchange the tasks\", \"zh\": \"Y · 交换任务归属\", \"ja\": \"Y · 作業の担当を交換\"}}], \"edges\": [{\"from\": \"stage-01\", \"to\": \"stage-02\", \"meaning\": \"Explanatory progression through the numbered stages of the same case.\"}, {\"from\": \"stage-02\", \"to\": \"stage-03\", \"meaning\": \"Explanatory progression through the numbered stages of the same case.\"}, {\"from\": \"stage-03\", \"to\": \"stage-04\", \"meaning\": \"Explanatory progression through the numbered stages of the same case.\"}, {\"from\": \"stage-03\", \"to\": \"stage-02\", \"meaning\": \"Evaluate the updated candidate routes using the same max-min objective.\"}, {\"from\": \"stage-04\", \"to\": \"stage-03\", \"meaning\": \"Allocate further route-solving computation to an assignment.\"}, {\"from\": \"case-X0\", \"to\": \"case-X\", \"meaning\": \"Constructed route update: remove B initial wait while retaining task assignment X.\"}, {\"from\": \"case-X\", \"to\": \"case-Y\", \"meaning\": \"Constructed comparison with a different assignment Y; not a logged heuristic selection.\"}], \"caption\": {\"en\": \"One constructed warehouse connects rewards, candidate scoring, fixed-assignment route improvement and switching between assignments. Stages 01–02 expand in the map-and-gain view; 03–04 in the candidate timeline. Method based on the authors’ abstract.\", \"zh\": \"同一教学仓库串起收益成本、候选评分、固定分配下的路线改进，以及分配间切换。01–02 在地图与收益图展开，03–04 在候选时序图展开。方法根据作者摘要整理。\", \"ja\": \"一つの説明用倉庫で、報酬とコスト、候補評価、固定担当での経路改善、担当案の切替えを結びます。01–02 は地図と利益、03–04 は候補時系列で展開します。手法は著者の要旨に基づきます。\"}, \"source_refs\": [\"ta-cbwh-paper\"], \"primary_source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"render_rules\": [\"Use exactly the same case graph, identities, stage numbers and state values as the other two views for this paper.\", \"Stage labels must match walkthrough.stage in all languages.\", \"Label all constructed states and values as illustrative; retain the author-abstract source caption.\"], \"expanded_stages\": {\"01\": \"ta-cbwh-objective-detail\", \"02\": \"ta-cbwh-objective-detail\", \"03\": \"ta-cbwh-search-detail\", \"04\": \"ta-cbwh-search-detail\"}, \"case_ref\": \"ta-cbwh-warehouse\"}, {\"id\": \"ta-cbwh-objective-detail\", \"scope\": \"local\", \"kind\": \"illustrative_example\", \"task\": \"Explain max–min gain with equal-total candidate plans.\", \"layout\": \"Stages 01–02: the same warehouse map and candidate data.\", \"case_ref\": \"ta-cbwh-warehouse\", \"nodes\": [{\"id\": \"stage-01\", \"label\": {\"en\": \"01 · Define rewards and costs\", \"zh\": \"01 · 定义收益与成本\", \"ja\": \"01 · 報酬とコストを設定\"}}, {\"id\": \"stage-02\", \"label\": {\"en\": \"02 · Compare the lowest gain\", \"zh\": \"02 · 比较最低净收益\", \"ja\": \"02 · 最小利益を比べる\"}}, {\"id\": \"cost-rule\", \"label\": {\"en\": \"Each step before arrival costs 1\", \"zh\": \"到达前每步成本为 1\", \"ja\": \"到着前の一ステップのコストは 1\"}}], \"edges\": [], \"caption\": {\"en\": \"Stages 01–02, illustrative utility units. P pays 14 and Q pays 10; every step before arrival costs 1. The same scoring rule gives minimum gains 2, 3 and 7 for the candidate states X₀, X and Y.\", \"zh\": \"01–02，数值为教学效用单位。P 收益 14、Q 收益 10，到达前每步成本 1。同一评分规则使 X₀、X、Y 的最低净收益分别为 2、3、7。\", \"ja\": \"01–02、数値は説明用の効用単位です。報酬は P が 14、Q が 10、到着前の一ステップのコストは 1。同じ評価規則で X₀、X、Y の最小利益は 2、3、7 となります。\"}, \"source_refs\": [\"ta-cbwh-paper\"], \"primary_source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"render_rules\": [\"Use exactly the same case graph, identities, stage numbers and state values as the other two views for this paper.\", \"Stage labels must match walkthrough.stage in all languages.\", \"Label all constructed states and values as illustrative; retain the author-abstract source caption.\"], \"stages\": [\"01\", \"02\"]}, {\"id\": \"ta-cbwh-search-detail\", \"scope\": \"local\", \"kind\": \"method_contract\", \"task\": \"Distinguish improving routes within an assignment from switching computation between assignments.\", \"layout\": \"Stages 03–04: explicit timed candidate states on the same graph.\", \"nodes\": [{\"id\": \"stage-03\", \"label\": {\"en\": \"03 · Improve a fixed assignment\", \"zh\": \"03 · 改进固定分配\", \"ja\": \"03 · 担当を固定して改善\"}}, {\"id\": \"stage-04\", \"label\": {\"en\": \"04 · Try another assignment\", \"zh\": \"04 · 尝试另一种分配\", \"ja\": \"04 · 別の担当案を試す\"}}], \"edges\": [], \"caption\": {\"en\": \"Stages 03–04, constructed candidate sequence. X₀→X removes B’s extra wait while keeping the assignment; X→Y changes task ownership and routes. The two kinds of change explain the method’s within-assignment improvement and between-assignment search, based on the authors’ abstract.\", \"zh\": \"03–04，人工构造的候选变化。X₀→X 保持任务分配，去掉 B 的额外等待；X→Y 改变任务归属并重新安排路线。这两类变化对应分配内改进和分配间搜索，方法结构根据作者摘要整理。\", \"ja\": \"03–04、説明用に構成した候補の変化です。X₀→X は担当を保って B の余分な待機を除き、X→Y は担当と経路を変えます。著者の要旨にある担当内の改善と担当間の探索を、この二種類の変化で説明します。\"}, \"source_refs\": [\"ta-cbwh-paper\"], \"primary_source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"render_rules\": [\"Use exactly the same case graph, identities, stage numbers and state values as the other two views for this paper.\", \"Stage labels must match walkthrough.stage in all languages.\", \"Label all constructed states and values as illustrative; retain the author-abstract source caption.\"], \"stages\": [\"03\", \"04\"], \"case_ref\": \"ta-cbwh-warehouse\"}], \"stages\": [{\"id\": \"01\", \"label\": {\"en\": \"01 · Define rewards and costs\", \"zh\": \"01 · 定义收益与成本\", \"ja\": \"01 · 報酬とコストを設定\"}, \"detail\": \"ta-cbwh-objective-detail\"}, {\"id\": \"02\", \"label\": {\"en\": \"02 · Compare the lowest gain\", \"zh\": \"02 · 比较最低净收益\", \"ja\": \"02 · 最小利益を比べる\"}, \"detail\": \"ta-cbwh-objective-detail\"}, {\"id\": \"03\", \"label\": {\"en\": \"03 · Improve a fixed assignment\", \"zh\": \"03 · 改进固定分配\", \"ja\": \"03 · 担当を固定して改善\"}, \"detail\": \"ta-cbwh-search-detail\"}, {\"id\": \"04\", \"label\": {\"en\": \"04 · Try another assignment\", \"zh\": \"04 · 尝试另一种分配\", \"ja\": \"04 · 別の担当案を試す\"}, \"detail\": \"ta-cbwh-search-detail\"}], \"render_sequence\": [\"background\", \"overview\", {\"prose_stages\": [\"01\", \"02\"], \"figure\": \"ta-cbwh-objective-detail\"}, {\"prose_stages\": [\"03\", \"04\"], \"figure\": \"ta-cbwh-search-detail\"}]}]}", "rjs.json": "{\"id\": \"rjs\", \"paper\": {\"title\": \"Regularized joint self-training: A cross-domain generalization method for image classification\", \"short\": \"RJS\", \"authors\": \"Changlin Chen, Yukun Yang, Minghao Liu, Zhaomin Rong, Shuangbao Shu\", \"venue\": \"Engineering Applications of Artificial Intelligence 134, 108707 (2024)\", \"doi\": \"https://doi.org/10.1016/j.engappai.2024.108707\", \"source\": \"https://www.sciencedirect.com/science/article/pii/S0952197624008650\"}, \"content\": {\"en\": {\"title\": \"RJS · Learning across a change of scene\", \"lead\": \"Bicycles can look very different in renderings and street photographs. RJS asks how a classifier can learn from the new photographs when their labels are missing.\", \"background\": [\"An image classifier takes a picture and predicts a category, such as bicycle or motorcycle. Training usually supplies both the picture and its correct category. That category is the label: it gives the model an answer against which to adjust its predictions.\", \"Consider a teaching example with labelled rendered images and unlabelled street photographs. The renderings are the source domain; the photographs are the target domain. Changes in lighting, background and viewpoint create a domain shift. Using the new images to adapt the classifier without their human labels is called unsupervised domain adaptation.\", \"A model can assign temporary labels to those photographs and learn from them. These predictions used as training targets are pseudo-labels. RJS couples their generation with learning, and adds regularization—a constraint on how the model learns—during initial training.\"], \"walkthrough\": [{\"stage\": \"01 · Prepare the images\", \"input\": \"Labelled renderings and unlabelled photographs\", \"action\": \"Keep the known source categories alongside the new target images\", \"output\": \"Source supervision and target images for adaptation\", \"why\": \"The new environment is visible during learning even though its labels are missing\", \"prose\": \"The rendered bicycle comes with the answer “bicycle”; the street photograph arrives without an answer. The two collections play different roles: one supplies known categories, while the other shows what the classifier will encounter in the new setting.\"}, {\"stage\": \"02 · Turn predictions into labels\", \"input\": \"A street photograph and the current classifier\", \"action\": \"Predict a category and use it as a temporary training target\", \"output\": \"The photograph paired with a pseudo-label\", \"why\": \"This creates a learning signal from an image that has no human category\", \"detail\": \"rjs-error-loop\", \"prose\": \"Suppose the current classifier calls the bicycle in the photograph a “motorcycle”. That word becomes the photograph’s pseudo-label. It now provides an answer for learning. Fitting this answer would encourage the classifier to repeat its own mistake: prediction errors can feed back into training.\"}, {\"stage\": \"03 · Learning and regularization\", \"input\": \"Source images with known labels; target images with pseudo-labels\", \"action\": \"Joint source-domain training; initial regularized learning on the target images\", \"output\": \"An updated classifier that generates the next predictions\", \"why\": \"The labels used for learning depend on the model that learning changes\", \"detail\": \"rjs-joint-learning\", \"prose\": \"RJS changes learning in two places. On the source domain—the labelled renderings in this example—it jointly trains pseudo-label generation and optimization to improve transfer to the new setting. On the target photographs, its initial training uses a regularized loss in place of the original cross-entropy loss. A loss is the quantity training seeks to reduce; changing it changes how a label drives a parameter update. Here the aim is to limit memorization of mistaken pseudo-labels such as “motorcycle”. The updated classifier then produces the next predictions, closing the self-training loop.\"}, {\"stage\": \"04 · Classify the new scene\", \"input\": \"A target-domain image and the adapted classifier\", \"action\": \"Predict its category\", \"output\": \"An image-category prediction\", \"why\": \"The useful result is a classifier that can be used on the new photographs\", \"prose\": \"After adaptation, the resulting classifier predicts categories for street photographs. The new images provided examples of the target setting, while the training changes controlled how the model learned from its own labels.\"}], \"sections\": [{\"id\": \"rjs-domains\", \"title\": \"01 · Prepare the images\", \"body\": \"Known labels and new images have different jobs. The rendered bicycle supplies category supervision; the street photograph supplies an example from the setting where the classifier will be used.\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-overall\"}, {\"id\": \"rjs-pseudolabels\", \"title\": \"02 · Turn predictions into labels\", \"body\": \"The street bicycle is initially predicted as “motorcycle”. Once this prediction becomes a training target, fitting it can make the same mistake more likely. The local diagram follows this one photograph from image to prediction to pseudo-label.\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-error-loop\"}, {\"id\": \"rjs-regularization\", \"title\": \"03–04 · Learn, then classify\", \"body\": \"RJS changes learning in two places. On the source domain—the labelled renderings in this example—it jointly trains pseudo-label generation and optimization to improve transfer to the new setting. On the target photographs, its initial training uses a regularized loss in place of the original cross-entropy loss. A loss is the quantity training seeks to reduce; changing it changes how a label drives a parameter update. Here the aim is to limit memorization of mistaken pseudo-labels such as “motorcycle”. The updated classifier then produces the next predictions, closing the self-training loop.\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-joint-learning\"}], \"case\": {\"title\": \"Bicycle recognition across domains\", \"label\": \"Teaching example\", \"source\": \"Rendered bicycle · known label: bicycle\", \"target\": \"Street photograph · no supplied category\", \"prediction\": \"Initial prediction: motorcycle\", \"training\": \"Follow that pseudo-label into the learning loop\", \"question\": \"How does this prediction influence what the model learns?\"}}, \"zh\": {\"title\": \"RJS · 换了场景，怎样继续学习\", \"lead\": \"自行车在渲染图和街头照片里，外观可能相差很大。RJS 研究的是：新照片没有标签时，分类器怎样继续从中学习。\", \"background\": [\"图像分类器读入一张图，输出“自行车”或“摩托车”这样的类别。通常，训练时既给图像，也给正确类别。这个类别就是标签：模型把自己的预测与它比较，再调整参数。\", \"用一个教学例子贯穿这一节：已有一批标好类别的渲染图，现在想识别没有人工标签的街头照片。前者叫源域，后者叫目标域。光线、背景、视角的变化形成了域偏移。利用新照片调整模型、同时不提供这些照片的人工类别，叫无监督域适应。\", \"没有人工答案，模型可以先给照片预测类别，再用预测结果参与训练。这种临时的训练标签叫伪标签。RJS 将伪标签的生成与学习联系起来，并在初始训练中加入正则化，也就是对模型怎样学习增加约束。\"], \"walkthrough\": [{\"stage\": \"01 · 准备图像\", \"input\": \"有标签的渲染图与无标签的街头照片\", \"action\": \"保留源域已知类别，同时提供目标域图像\", \"output\": \"源域监督信息与待适配的目标图像\", \"why\": \"模型需要接触新环境，才能利用其中的视觉信息继续学习\", \"prose\": \"渲染图旁边已经写着“自行车”，街头照片旁边则没有答案。两批图像各有用途：前者提供已知类别，后者呈现模型接下来需要面对的环境。\"}, {\"stage\": \"02 · 预测成为标签\", \"input\": \"街头照片与当前分类器\", \"action\": \"预测类别，并把它作为临时训练目标\", \"output\": \"照片与伪标签组成的样本\", \"why\": \"没有人工类别的图像，由此也能产生学习信号\", \"detail\": \"rjs-error-loop\", \"prose\": \"假设当前分类器把照片中的自行车认成了“摩托车”。这个预测随后成为照片的伪标签，训练便有了一个可以拟合的答案。如果继续朝这个答案学习，模型就会更倾向于重复误判。错误正是在“预测变成训练目标”这一步进入了反馈循环。\"}, {\"stage\": \"03 · 学习与正则化\", \"input\": \"带已知标签的源域图像；带伪标签的目标域图像\", \"action\": \"源域联合训练；目标域初始正则化学习\", \"output\": \"用于后续预测的更新模型\", \"why\": \"训练用的伪标签取决于模型，而训练又会改变这个模型\", \"detail\": \"rjs-joint-learning\", \"prose\": \"RJS 从两处改变学习过程。在源域，也就是例子中有标签的渲染图上，它联合训练伪标签生成与优化，使生成的标签能够迁移到新场景。对于目标域的街头照片，初始训练则用正则化损失替换原有的交叉熵损失。损失是训练要减小的误差量；更换它，也就改变了一个标签如何推动参数更新。这里要减少的是模型对“摩托车”这类错误伪标签的记忆。更新后的分类器又会产生下一批预测，于是形成自训练循环。\"}, {\"stage\": \"04 · 用于新场景\", \"input\": \"目标域图像与适配后的分类器\", \"action\": \"预测图像类别\", \"output\": \"新照片的类别预测\", \"why\": \"训练最终服务于新环境中的图像识别\", \"prose\": \"适配完成后，得到的分类器用于识别街头照片。新图像提供了目标环境中的样本，两处训练改动则控制了模型如何从自己生成的标签中学习。\"}], \"sections\": [{\"id\": \"rjs-domains\", \"title\": \"01 · 准备图像\", \"body\": \"已知标签和新图像承担不同任务：自行车渲染图提供类别监督，街头照片提供模型将要面对的新场景。\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-overall\"}, {\"id\": \"rjs-pseudolabels\", \"title\": \"02 · 预测成为标签\", \"body\": \"街头照片中的自行车先被预测成“摩托车”。当这个预测变成训练目标，拟合它便可能强化同一次误判。局部图沿着同一张照片，展开图像、预测与伪标签之间的关系。\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-error-loop\"}, {\"id\": \"rjs-regularization\", \"title\": \"03–04 · 学习之后，用于识别\", \"body\": \"RJS 从两处改变学习过程。在源域，也就是例子中有标签的渲染图上，它联合训练伪标签生成与优化，使生成的标签能够迁移到新场景。对于目标域的街头照片，初始训练则用正则化损失替换原有的交叉熵损失。损失是训练要减小的误差量；更换它，也就改变了一个标签如何推动参数更新。这里要减少的是模型对“摩托车”这类错误伪标签的记忆。更新后的分类器又会产生下一批预测，于是形成自训练循环。\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-joint-learning\"}], \"case\": {\"title\": \"跨域自行车识别\", \"label\": \"教学示例\", \"source\": \"自行车渲染图 · 已知标签：自行车\", \"target\": \"街头照片 · 未提供人工类别\", \"prediction\": \"初始预测：摩托车\", \"training\": \"沿着这一个伪标签，追踪它如何影响学习\", \"question\": \"这次预测，会怎样影响模型接着学到的东西？\"}}, \"ja\": {\"title\": \"RJS · 場面が変わっても学び続ける\", \"lead\": \"自転車は、レンダリングと街中の写真で大きく違って見える。RJS は、新しい写真にラベルがないとき、分類器がどう学び続けられるかを考える。\", \"background\": [\"画像分類器は一枚の画像から「自転車」や「オートバイ」といったクラスを予測する。通常の学習では画像と正しいクラスを与える。このクラスがラベルであり、モデルは予測とラベルを比べながらパラメータを調整する。\", \"この節では、ラベル付きのレンダリング画像から、ラベルのない街中の写真へ移る説明例を使う。前者がソースドメイン、後者がターゲットドメインだ。照明、背景、視点が変わることをドメインシフトと呼ぶ。新しい写真の人手ラベルを使わずにモデルを適応させるのが、教師なしドメイン適応である。\", \"人手の正解がなくても、モデルが予測したクラスを学習に使える。この暫定的なラベルを擬似ラベルと呼ぶ。RJS はその生成と学習を結び付け、初期学習には正則化、つまり学び方への制約を加える。\"], \"walkthrough\": [{\"stage\": \"01 · 画像を用意\", \"input\": \"ラベル付きのレンダリングとラベルなしの写真\", \"action\": \"既知のクラスと新しい環境の画像を用意する\", \"output\": \"ソースの教師情報と適応対象の画像\", \"why\": \"新しい環境の情報を学習に取り込むため\", \"prose\": \"レンダリングには「自転車」という答えが付いているが、街中の写真には答えがない。二つの画像群の役割は異なる。一方は既知のクラスを与え、もう一方は分類器がこれから使われる環境を示す。\"}, {\"stage\": \"02 · 予測をラベルに\", \"input\": \"街中の写真と現在の分類器\", \"action\": \"クラスを予測し、暫定的な学習目標にする\", \"output\": \"写真と擬似ラベルの組\", \"why\": \"人手ラベルのない画像から学習信号を得るため\", \"detail\": \"rjs-error-loop\", \"prose\": \"現在の分類器が写真の自転車を「オートバイ」と予測したとする。この予測を写真の擬似ラベルにすると、学習に使える答えができる。その答えに合わせて学ぶと、同じ誤分類を繰り返しやすくなる。予測を学習目標にするところで、誤りが学習へ戻ってくる。\"}, {\"stage\": \"03 · 学習と正則化\", \"input\": \"既知ラベル付きのソース画像；擬似ラベル付きのターゲット画像\", \"action\": \"ソースの共同学習；ターゲットの初期正則化学習\", \"output\": \"次の予測に使う更新済みモデル\", \"why\": \"学習するラベルはモデルに依存し、学習もまたモデルを変えるため\", \"detail\": \"rjs-joint-learning\", \"prose\": \"RJS は二つの箇所で学習を変える。ソースドメイン、つまりこの例のラベル付きレンダリングでは、擬似ラベルの生成と最適化を共同学習し、新しい環境への転移を図る。ターゲットの街中の写真では、初期学習において元の交差エントロピー損失を正則化損失に置き換える。損失とは学習で小さくする誤差量であり、それを変えるとラベルがパラメータ更新をどう促すかも変わる。ここでは「オートバイ」のような誤った擬似ラベルの記憶を抑える。更新した分類器で次の予測を行い、自己学習の循環ができる。\"}, {\"stage\": \"04 · 新しい場面を分類\", \"input\": \"ターゲット画像と適応後の分類器\", \"action\": \"画像のクラスを予測する\", \"output\": \"新しい写真のクラス予測\", \"why\": \"学習した分類器を新しい環境の認識に使うため\", \"prose\": \"適応後の分類器は、街中の写真のクラスを予測する。新しい画像がターゲット環境の例を与え、二つの学習上の変更が、モデル自身のラベルからどう学ぶかを調整する。\"}], \"sections\": [{\"id\": \"rjs-domains\", \"title\": \"01 · 画像を用意\", \"body\": \"既知のラベルと新しい画像には異なる役割がある。自転車のレンダリングがクラスの教師情報を与え、街中の写真がこれから認識する場面を示す。\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-overall\"}, {\"id\": \"rjs-pseudolabels\", \"title\": \"02 · 予測をラベルに\", \"body\": \"街中の自転車が最初に「オートバイ」と予測される。その予測を学習目標にすると、同じ誤りが強化されうる。局所図は一枚の写真を画像、予測、擬似ラベルへと追う。\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-error-loop\"}, {\"id\": \"rjs-regularization\", \"title\": \"03–04 · 学習して認識へ\", \"body\": \"RJS は二つの箇所で学習を変える。ソースドメイン、つまりこの例のラベル付きレンダリングでは、擬似ラベルの生成と最適化を共同学習し、新しい環境への転移を図る。ターゲットの街中の写真では、初期学習において元の交差エントロピー損失を正則化損失に置き換える。損失とは学習で小さくする誤差量であり、それを変えるとラベルがパラメータ更新をどう促すかも変わる。ここでは「オートバイ」のような誤った擬似ラベルの記憶を抑える。更新した分類器で次の予測を行い、自己学習の循環ができる。\", \"sources\": [\"rjs-paper\"], \"diagram\": \"rjs-joint-learning\"}], \"case\": {\"title\": \"ドメインをまたぐ自転車認識\", \"label\": \"説明用の例\", \"source\": \"自転車のレンダリング · 既知のラベル：自転車\", \"target\": \"街中の写真 · 人手クラスなし\", \"prediction\": \"初期予測：オートバイ\", \"training\": \"この擬似ラベルが学習に与える影響を追う\", \"question\": \"この予測は、その後の学習にどう影響するか？\"}}}, \"diagrams\": [{\"id\": \"rjs-overall\", \"kind\": \"method-overview\", \"title\": {\"en\": \"RJS · From images to a classifier\", \"zh\": \"RJS · 从图像到分类器\", \"ja\": \"RJS · 画像から分類器へ\"}, \"stages\": [\"01\", \"02\", \"03\", \"04\"], \"caption\": {\"en\": \"01 separates source and target images. 02 gives the street photograph a pseudo-label. 03 distinguishes joint learning on the source domain from initial regularized learning on target images. 04 uses the adapted classifier. Method sketch from the abstract and introduction.\", \"zh\": \"01 区分源域与目标域图像，02 为街头照片生成伪标签。03 分开表示源域联合学习与目标域初始正则化学习，04 使用适配后的分类器。根据摘要与引言整理的方法示意。\", \"ja\": \"01 でソースとターゲットの画像を分け、02 で街中の写真に擬似ラベルを付ける。03 はソースの共同学習とターゲットの初期正則化学習を分けて示し、04 で適応後の分類器を使う。要旨と序論に基づく概念図。\"}, \"sources\": [\"rjs-paper\"], \"nodes\": [{\"number\": \"01\", \"id\": \"images\", \"label\": {\"en\": \"Prepare the images\", \"zh\": \"准备图像\", \"ja\": \"画像を用意\"}}, {\"number\": \"02\", \"id\": \"pseudo\", \"label\": {\"en\": \"Turn predictions into labels\", \"zh\": \"预测成为标签\", \"ja\": \"予測をラベルに\"}}, {\"number\": \"03\", \"id\": \"learn\", \"label\": {\"en\": \"Learning and regularization\", \"zh\": \"学习与正则化\", \"ja\": \"学習と正則化\"}}, {\"number\": \"04\", \"id\": \"classify\", \"label\": {\"en\": \"Classify the new scene\", \"zh\": \"用于新场景\", \"ja\": \"新しい場面を分類\"}}], \"edges\": [{\"from\": \"images\", \"to\": \"pseudo\", \"meaning\": \"Unlabelled target images are inputs to prediction.\"}, {\"from\": \"images\", \"to\": \"learn\", \"meaning\": \"Known source labels provide supervision; not labels of target photographs.\"}, {\"from\": \"pseudo\", \"to\": \"learn\", \"meaning\": \"Model predictions become provisional training targets; conceptual self-training relationship.\"}, {\"from\": \"learn\", \"to\": \"pseudo\", \"meaning\": \"Learning changes the classifier that generates later pseudo-labels.\"}, {\"from\": \"learn\", \"to\": \"classify\", \"meaning\": \"After adaptation the resulting classifier is used for target-category prediction.\"}], \"evidence_scope\": \"Conceptual method flow grounded in abstract and Introduction; no exact loss formula, architecture, optimizer, or phase schedule is reconstructed.\"}, {\"id\": \"rjs-error-loop\", \"kind\": \"local-case\", \"title\": {\"en\": \"02 · Where the bicycle acquires a pseudo-label\", \"zh\": \"02 · 自行车怎样得到伪标签\", \"ja\": \"02 · 自転車に擬似ラベルが付くまで\"}, \"stages\": [\"01\", \"02\", \"03\"], \"caption\": {\"en\": \"Detail of 02: the unlabelled street image is predicted as motorcycle, and that prediction becomes its pseudo-label. Fitting it in 03 can reinforce the same mistake.\", \"zh\": \"展开 02：无标签的街头照片被预测成“摩托车”，这个预测成为伪标签；03 若继续拟合它，同一次误判就可能被强化。\", \"ja\": \"02 の詳細。ラベルのない街中の写真を「オートバイ」と予測し、それを擬似ラベルにする。03 でそのラベルに適合すると、同じ誤りが強化されうる。\"}, \"sources\": [\"rjs-paper\"], \"nodes\": [{\"id\": \"photo\", \"stage\": \"01\", \"meaning\": \"The same street bicycle photograph; the adapting model is not given its true class.\"}, {\"id\": \"predict\", \"stage\": \"02\", \"meaning\": \"Current classifier predicts motorcycle in the teaching case.\"}, {\"id\": \"pseudo\", \"stage\": \"02\", \"meaning\": \"The prediction becomes the model-generated training target.\"}, {\"id\": \"handoff\", \"stage\": \"03\", \"meaning\": \"That target enters the learning problem; no exact learning loss is specified.\"}], \"edges\": [{\"from\": \"photo\", \"to\": \"predict\"}, {\"from\": \"predict\", \"to\": \"pseudo\"}, {\"from\": \"pseudo\", \"to\": \"handoff\"}], \"evidence_scope\": \"The wrong label is an original teaching example, not a reported RJS sample.\"}, {\"id\": \"rjs-joint-learning\", \"kind\": \"local-method\", \"title\": {\"en\": \"03 · Joint learning and initial regularization\", \"zh\": \"03 · 联合学习与初始正则化\", \"ja\": \"03 · 共同学習と初期正則化\"}, \"stages\": [\"02\", \"03\", \"04\"], \"caption\": {\"en\": \"Detail of 03: labelled renderings enter the source-domain branch; the street image and its pseudo-label enter the target-domain branch. Both concern classifier learning. The updated model supplies later pseudo-labels or category predictions after adaptation.\", \"zh\": \"展开 03：有标签的渲染图进入源域分支，街头照片及其伪标签进入目标域分支。两处改动都作用于分类器的学习；更新模型产生后续伪标签，或在适配结束后用于类别预测。\", \"ja\": \"03 の詳細。ラベル付きレンダリングはソース側へ、街中の写真と擬似ラベルはターゲット側へ入る。二つの変更は分類器の学習に作用し、更新後のモデルは次の擬似ラベルや適応後のクラス予測を生成する。\"}, \"sources\": [\"rjs-paper\"], \"nodes\": [{\"id\": \"source\", \"stage\": \"01\", \"meaning\": \"Source-domain supervision.\"}, {\"id\": \"pseudo\", \"stage\": \"02\", \"meaning\": \"Example pseudo-label motorcycle.\"}, {\"id\": \"joint\", \"stage\": \"03\", \"meaning\": \"Joint source-domain training of pseudo-label generation and optimization, as described in the abstract.\"}, {\"id\": \"regularize\", \"stage\": \"03\", \"meaning\": \"Regularized loss replaces cross entropy in initial training and is minimized on target data, per Introduction.\"}, {\"id\": \"updated\", \"stage\": \"03\", \"meaning\": \"Updated classifier; no guaranteed corrected label is asserted.\"}, {\"id\": \"next\", \"stage\": \"02\", \"meaning\": \"Later pseudo-label generation.\"}, {\"id\": \"use\", \"stage\": \"04\", \"meaning\": \"Category prediction after adaptation.\"}], \"edges\": [{\"from\": \"source\", \"to\": \"joint\", \"meaning\": \"Source-domain joint training.\"}, {\"from\": \"pseudo\", \"to\": \"regularize\", \"meaning\": \"Target-domain initial regularized learning.\"}, {\"from\": \"joint\", \"to\": \"updated\"}, {\"from\": \"regularize\", \"to\": \"updated\"}, {\"from\": \"updated\", \"to\": \"next\"}, {\"from\": \"updated\", \"to\": \"use\"}], \"evidence_scope\": \"Abstract and Introduction identify two learning modifications. Branches distinguish data roles; no strict phase order or exact formula is asserted.\"}], \"sources\": [{\"id\": \"rjs-paper\", \"title\": \"RJS · Publisher abstract and introduction\", \"url\": \"https://www.sciencedirect.com/science/article/abs/pii/S0952197624008650\", \"doi\": \"https://doi.org/10.1016/j.engappai.2024.108707\", \"primary\": true, \"coverage\": \"Publisher abstract and indexed Introduction verified; full methods section and exact loss formulas unavailable in this review.\"}], \"stage_contract\": [{\"number\": \"01\", \"id\": \"images\", \"label\": {\"en\": \"Prepare the images\", \"zh\": \"准备图像\", \"ja\": \"画像を用意\"}}, {\"number\": \"02\", \"id\": \"pseudo\", \"label\": {\"en\": \"Turn predictions into labels\", \"zh\": \"预测成为标签\", \"ja\": \"予測をラベルに\"}}, {\"number\": \"03\", \"id\": \"learn\", \"label\": {\"en\": \"Learning and regularization\", \"zh\": \"学习与正则化\", \"ja\": \"学習と正則化\"}}, {\"number\": \"04\", \"id\": \"classify\", \"label\": {\"en\": \"Classify the new scene\", \"zh\": \"用于新场景\", \"ja\": \"新しい場面を分類\"}}]}", "diagram-data.json": "{\"views\": {\"rjs-overall\": {\"title\": \"RJS · 从图像到分类器\", \"width\": 1120, \"height\": 570, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:570px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:225px\\\">01 · Prepare the images</div><div class=\\\"stage\\\" style=\\\"left:305px;top:28px;width:225px\\\">02 · Turn predictions into labels</div><div class=\\\"stage\\\" style=\\\"left:580px;top:28px;width:225px\\\">03 · Learning and regularization</div><div class=\\\"stage\\\" style=\\\"left:855px;top:28px;width:225px\\\">04 · Classify the new scene</div><div id=\\\"RJS-source\\\" data-map-node data-map-label=\\\"Labelled rendering\\\" class=\\\"node \\\" style=\\\"left:30px;top:125px;width:225px;height:120px\\\"><strong>Labelled rendering</strong><span class=\\\"sub\\\">Source · known category: bicycle</span></div><div id=\\\"RJS-target\\\" data-map-node data-map-label=\\\"Street photograph\\\" class=\\\"node \\\" style=\\\"left:30px;top:305px;width:225px;height:120px\\\"><strong>Street photograph</strong><span class=\\\"sub\\\">Target · category not supplied</span></div><div id=\\\"RJS-pseudo\\\" data-map-node data-map-label=\\\"Prediction → pseudo-label\\\" class=\\\"node \\\" style=\\\"left:305px;top:305px;width:225px;height:120px\\\"><strong>Prediction → pseudo-label</strong><span class=\\\"sub\\\">Example: motorcycle</span></div><div id=\\\"RJS-joint\\\" data-map-node data-map-label=\\\"Source · joint learning\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:125px;width:225px;height:120px\\\"><strong>Source · joint learning</strong><span class=\\\"sub\\\">Pseudo-label generation ↔ optimization</span></div><div id=\\\"RJS-regularize\\\" data-map-node data-map-label=\\\"Target · regularized learning\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:305px;width:225px;height:120px\\\"><strong>Target · regularized learning</strong><span class=\\\"sub\\\">Initial training</span></div><div id=\\\"RJS-output\\\" data-map-node data-map-label=\\\"Category prediction\\\" class=\\\"node \\\" style=\\\"left:855px;top:215px;width:225px;height:120px\\\"><strong>Category prediction</strong><span class=\\\"sub\\\">Use the adapted classifier</span></div><div class=\\\"connection\\\" data-from=\\\"RJS-target\\\" data-to=\\\"RJS-pseudo\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:365.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-pseudo\\\" data-to=\\\"RJS-regularize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:530px;top:365.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-source\\\" data-to=\\\"RJS-joint\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:185.0px;width:325.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:300px;top:162px;width:230px\\\">Source images + known labels</div><div class=\\\"connection\\\" data-from=\\\"RJS-joint\\\" data-to=\\\"RJS-output\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:805px;top:185px;width:30.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:835px;top:185px;width:65.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:835px;top:250px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-regularize\\\" data-to=\\\"RJS-output\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:805px;top:365px;width:30.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:835px;top:365px;width:65.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:835px;top:300px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-regularize\\\" data-to=\\\"RJS-pseudo\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:692.5px;top:425px;width:80.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:692.5px;top:505px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:417.5px;top:505px;width:80.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:435px;top:488px;width:240px\\\">Updated model → later predictions</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:570px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:225px\\\">01 · 准备图像</div><div class=\\\"stage\\\" style=\\\"left:305px;top:28px;width:225px\\\">02 · 预测成为标签</div><div class=\\\"stage\\\" style=\\\"left:580px;top:28px;width:225px\\\">03 · 学习与正则化</div><div class=\\\"stage\\\" style=\\\"left:855px;top:28px;width:225px\\\">04 · 用于新场景</div><div id=\\\"RJS-source\\\" data-map-node data-map-label=\\\"有标签的渲染图\\\" class=\\\"node \\\" style=\\\"left:30px;top:125px;width:225px;height:120px\\\"><strong>有标签的渲染图</strong><span class=\\\"sub\\\">源域 · 已知类别：自行车</span></div><div id=\\\"RJS-target\\\" data-map-node data-map-label=\\\"街头照片\\\" class=\\\"node \\\" style=\\\"left:30px;top:305px;width:225px;height:120px\\\"><strong>街头照片</strong><span class=\\\"sub\\\">目标域 · 不提供类别标签</span></div><div id=\\\"RJS-pseudo\\\" data-map-node data-map-label=\\\"预测 → 伪标签\\\" class=\\\"node \\\" style=\\\"left:305px;top:305px;width:225px;height:120px\\\"><strong>预测 → 伪标签</strong><span class=\\\"sub\\\">例：摩托车</span></div><div id=\\\"RJS-joint\\\" data-map-node data-map-label=\\\"源域 · 联合学习\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:125px;width:225px;height:120px\\\"><strong>源域 · 联合学习</strong><span class=\\\"sub\\\">伪标签生成 ↔ 优化</span></div><div id=\\\"RJS-regularize\\\" data-map-node data-map-label=\\\"目标域 · 正则化学习\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:305px;width:225px;height:120px\\\"><strong>目标域 · 正则化学习</strong><span class=\\\"sub\\\">初始训练</span></div><div id=\\\"RJS-output\\\" data-map-node data-map-label=\\\"类别预测\\\" class=\\\"node \\\" style=\\\"left:855px;top:215px;width:225px;height:120px\\\"><strong>类别预测</strong><span class=\\\"sub\\\">使用适配后的分类器</span></div><div class=\\\"connection\\\" data-from=\\\"RJS-target\\\" data-to=\\\"RJS-pseudo\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:365.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-pseudo\\\" data-to=\\\"RJS-regularize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:530px;top:365.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-source\\\" data-to=\\\"RJS-joint\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:185.0px;width:325.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:300px;top:162px;width:230px\\\">源域图像 + 已知标签</div><div class=\\\"connection\\\" data-from=\\\"RJS-joint\\\" data-to=\\\"RJS-output\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:805px;top:185px;width:30.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:835px;top:185px;width:65.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:835px;top:250px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-regularize\\\" data-to=\\\"RJS-output\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:805px;top:365px;width:30.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:835px;top:365px;width:65.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:835px;top:300px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-regularize\\\" data-to=\\\"RJS-pseudo\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:692.5px;top:425px;width:80.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:692.5px;top:505px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:417.5px;top:505px;width:80.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:435px;top:488px;width:240px\\\">更新模型 → 后续预测</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:570px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:225px\\\">01 · 画像を用意</div><div class=\\\"stage\\\" style=\\\"left:305px;top:28px;width:225px\\\">02 · 予測をラベルに</div><div class=\\\"stage\\\" style=\\\"left:580px;top:28px;width:225px\\\">03 · 学習と正則化</div><div class=\\\"stage\\\" style=\\\"left:855px;top:28px;width:225px\\\">04 · 新しい場面を分類</div><div id=\\\"RJS-source\\\" data-map-node data-map-label=\\\"ラベル付きレンダリング\\\" class=\\\"node \\\" style=\\\"left:30px;top:125px;width:225px;height:120px\\\"><strong>ラベル付きレンダリング</strong><span class=\\\"sub\\\">ソース · 既知のクラス：自転車</span></div><div id=\\\"RJS-target\\\" data-map-node data-map-label=\\\"街中の写真\\\" class=\\\"node \\\" style=\\\"left:30px;top:305px;width:225px;height:120px\\\"><strong>街中の写真</strong><span class=\\\"sub\\\">ターゲット · クラスラベルなし</span></div><div id=\\\"RJS-pseudo\\\" data-map-node data-map-label=\\\"予測 → 擬似ラベル\\\" class=\\\"node \\\" style=\\\"left:305px;top:305px;width:225px;height:120px\\\"><strong>予測 → 擬似ラベル</strong><span class=\\\"sub\\\">例：オートバイ</span></div><div id=\\\"RJS-joint\\\" data-map-node data-map-label=\\\"ソース · 共同学習\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:125px;width:225px;height:120px\\\"><strong>ソース · 共同学習</strong><span class=\\\"sub\\\">擬似ラベルの生成 ↔ 最適化</span></div><div id=\\\"RJS-regularize\\\" data-map-node data-map-label=\\\"ターゲット · 正則化学習\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:305px;width:225px;height:120px\\\"><strong>ターゲット · 正則化学習</strong><span class=\\\"sub\\\">初期学習</span></div><div id=\\\"RJS-output\\\" data-map-node data-map-label=\\\"クラス予測\\\" class=\\\"node \\\" style=\\\"left:855px;top:215px;width:225px;height:120px\\\"><strong>クラス予測</strong><span class=\\\"sub\\\">適応後の分類器を使用</span></div><div class=\\\"connection\\\" data-from=\\\"RJS-target\\\" data-to=\\\"RJS-pseudo\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:365.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-pseudo\\\" data-to=\\\"RJS-regularize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:530px;top:365.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-source\\\" data-to=\\\"RJS-joint\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:185.0px;width:325.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:300px;top:162px;width:230px\\\">ソース画像と既知ラベル</div><div class=\\\"connection\\\" data-from=\\\"RJS-joint\\\" data-to=\\\"RJS-output\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:805px;top:185px;width:30.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:835px;top:185px;width:65.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:835px;top:250px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-regularize\\\" data-to=\\\"RJS-output\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:805px;top:365px;width:30.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:835px;top:365px;width:65.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:835px;top:300px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJS-regularize\\\" data-to=\\\"RJS-pseudo\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:692.5px;top:425px;width:80.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:692.5px;top:505px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:417.5px;top:505px;width:80.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:435px;top:488px;width:240px\\\">モデル更新 → 次の予測</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\"}}, \"links\": {\"RJS-target\": \"rjs-error-loop\", \"RJS-pseudo\": \"rjs-error-loop\", \"RJS-joint\": \"rjs-joint-learning\", \"RJS-regularize\": \"rjs-joint-learning\"}, \"related\": [\"rjs-error-loop\", \"rjs-joint-learning\"], \"sequence\": [\"RJS-source\", \"RJS-target\", \"RJS-pseudo\", \"RJS-joint\", \"RJS-regularize\", \"RJS-output\"]}, \"rjs-error-loop\": {\"title\": \"02 · 自行车怎样得到伪标签\", \"width\": 1120, \"height\": 500, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:500px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:230px\\\">01 · Prepare the images</div><div class=\\\"stage\\\" style=\\\"left:315px;top:28px;width:505px\\\">02 · Turn predictions into labels</div><div class=\\\"stage\\\" style=\\\"left:885px;top:28px;width:205px\\\">03 · Learning and regularization</div><div id=\\\"RJSE-photo\\\" data-map-node data-map-label=\\\"Street photograph\\\" class=\\\"node \\\" style=\\\"left:30px;top:140px;width:230px;height:180px\\\"><strong>Street photograph</strong><span class=\\\"sub\\\">No human category label</span></div><svg aria-hidden=\\\"true\\\" viewBox=\\\"0 0 170 90\\\" style=\\\"position:absolute;left:60px;top:157px;width:170px;height:90px;z-index:3;pointer-events:none\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n<path d=\\\"M9 74H161M15 47V18H43V42M21 25H29M21 33H29M133 46V10H156V54M140 19H148M140 28H148\\\" opacity=\\\".35\\\"/>\\n<circle cx=\\\"48\\\" cy=\\\"58\\\" r=\\\"17\\\"/><circle cx=\\\"119\\\" cy=\\\"58\\\" r=\\\"17\\\"/>\\n<path d=\\\"M48 58L72 31L86 58H48L65 40H109L86 58M109 40L119 58M109 40L102 20H115M65 40L60 27M53 27H68\\\"/>\\n</svg><div id=\\\"RJSE-predict\\\" data-map-node data-map-label=\\\"Current prediction\\\" class=\\\"node \\\" style=\\\"left:315px;top:175px;width:220px;height:110px\\\"><strong>Current prediction</strong><span class=\\\"sub\\\">motorcycle</span><span data-node-detail>The bicycle is misclassified as a motorcycle in this example.</span></div><div id=\\\"RJSE-label\\\" data-map-node data-map-label=\\\"Pseudo-label\\\" class=\\\"node \\\" style=\\\"left:600px;top:175px;width:220px;height:110px\\\"><strong>Pseudo-label</strong><span class=\\\"sub\\\">Training target: motorcycle</span><span data-node-detail>A prediction becomes supervision when reused as a training target.</span></div><div id=\\\"RJSE-handoff\\\" data-map-node data-map-label=\\\"Enter target learning\\\" class=\\\"node soft\\\" style=\\\"left:885px;top:175px;width:205px;height:110px\\\"><strong>Enter target learning</strong><span class=\\\"sub\\\">This label affects the update</span></div><div class=\\\"connection\\\" data-from=\\\"RJSE-photo\\\" data-to=\\\"RJSE-predict\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:260px;top:230.0px;width:55.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-predict\\\" data-to=\\\"RJSE-label\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:535px;top:230.0px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-label\\\" data-to=\\\"RJSE-handoff\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:820px;top:230.0px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-handoff\\\" data-to=\\\"RJSE-predict\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:987.5px;top:285px;width:115.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:987.5px;top:400px;width:562.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:425px;top:400px;width:115.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:560px;top:381px;width:300px\\\">Learning changes the next prediction</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n#RJSE-photo{justify-content:flex-end;padding-bottom:14px;gap:4px}\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:500px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:230px\\\">01 · 准备图像</div><div class=\\\"stage\\\" style=\\\"left:315px;top:28px;width:505px\\\">02 · 预测成为标签</div><div class=\\\"stage\\\" style=\\\"left:885px;top:28px;width:205px\\\">03 · 学习与正则化</div><div id=\\\"RJSE-photo\\\" data-map-node data-map-label=\\\"街头照片\\\" class=\\\"node \\\" style=\\\"left:30px;top:140px;width:230px;height:180px\\\"><strong>街头照片</strong><span class=\\\"sub\\\">没有人工类别标签</span></div><svg aria-hidden=\\\"true\\\" viewBox=\\\"0 0 170 90\\\" style=\\\"position:absolute;left:60px;top:157px;width:170px;height:90px;z-index:3;pointer-events:none\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n<path d=\\\"M9 74H161M15 47V18H43V42M21 25H29M21 33H29M133 46V10H156V54M140 19H148M140 28H148\\\" opacity=\\\".35\\\"/>\\n<circle cx=\\\"48\\\" cy=\\\"58\\\" r=\\\"17\\\"/><circle cx=\\\"119\\\" cy=\\\"58\\\" r=\\\"17\\\"/>\\n<path d=\\\"M48 58L72 31L86 58H48L65 40H109L86 58M109 40L119 58M109 40L102 20H115M65 40L60 27M53 27H68\\\"/>\\n</svg><div id=\\\"RJSE-predict\\\" data-map-node data-map-label=\\\"当前预测\\\" class=\\\"node \\\" style=\\\"left:315px;top:175px;width:220px;height:110px\\\"><strong>当前预测</strong><span class=\\\"sub\\\">摩托车</span><span data-node-detail>这张自行车照片被误判为摩托车。</span></div><div id=\\\"RJSE-label\\\" data-map-node data-map-label=\\\"伪标签\\\" class=\\\"node \\\" style=\\\"left:600px;top:175px;width:220px;height:110px\\\"><strong>伪标签</strong><span class=\\\"sub\\\">训练目标：摩托车</span><span data-node-detail>预测一旦被用作训练目标，就开始影响模型学习。</span></div><div id=\\\"RJSE-handoff\\\" data-map-node data-map-label=\\\"进入目标域学习\\\" class=\\\"node soft\\\" style=\\\"left:885px;top:175px;width:205px;height:110px\\\"><strong>进入目标域学习</strong><span class=\\\"sub\\\">这个标签影响模型更新</span></div><div class=\\\"connection\\\" data-from=\\\"RJSE-photo\\\" data-to=\\\"RJSE-predict\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:260px;top:230.0px;width:55.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-predict\\\" data-to=\\\"RJSE-label\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:535px;top:230.0px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-label\\\" data-to=\\\"RJSE-handoff\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:820px;top:230.0px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-handoff\\\" data-to=\\\"RJSE-predict\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:987.5px;top:285px;width:115.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:987.5px;top:400px;width:562.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:425px;top:400px;width:115.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:560px;top:381px;width:300px\\\">学习改变下一次预测</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n#RJSE-photo{justify-content:flex-end;padding-bottom:14px;gap:4px}\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:500px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:230px\\\">01 · 画像を用意</div><div class=\\\"stage\\\" style=\\\"left:315px;top:28px;width:505px\\\">02 · 予測をラベルに</div><div class=\\\"stage\\\" style=\\\"left:885px;top:28px;width:205px\\\">03 · 学習と正則化</div><div id=\\\"RJSE-photo\\\" data-map-node data-map-label=\\\"街中の写真\\\" class=\\\"node \\\" style=\\\"left:30px;top:140px;width:230px;height:180px\\\"><strong>街中の写真</strong><span class=\\\"sub\\\">人によるラベルなし</span></div><svg aria-hidden=\\\"true\\\" viewBox=\\\"0 0 170 90\\\" style=\\\"position:absolute;left:60px;top:157px;width:170px;height:90px;z-index:3;pointer-events:none\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n<path d=\\\"M9 74H161M15 47V18H43V42M21 25H29M21 33H29M133 46V10H156V54M140 19H148M140 28H148\\\" opacity=\\\".35\\\"/>\\n<circle cx=\\\"48\\\" cy=\\\"58\\\" r=\\\"17\\\"/><circle cx=\\\"119\\\" cy=\\\"58\\\" r=\\\"17\\\"/>\\n<path d=\\\"M48 58L72 31L86 58H48L65 40H109L86 58M109 40L119 58M109 40L102 20H115M65 40L60 27M53 27H68\\\"/>\\n</svg><div id=\\\"RJSE-predict\\\" data-map-node data-map-label=\\\"現在の予測\\\" class=\\\"node \\\" style=\\\"left:315px;top:175px;width:220px;height:110px\\\"><strong>現在の予測</strong><span class=\\\"sub\\\">オートバイ</span><span data-node-detail>この例では自転車をオートバイと誤分類する。</span></div><div id=\\\"RJSE-label\\\" data-map-node data-map-label=\\\"擬似ラベル\\\" class=\\\"node \\\" style=\\\"left:600px;top:175px;width:220px;height:110px\\\"><strong>擬似ラベル</strong><span class=\\\"sub\\\">学習目標：オートバイ</span><span data-node-detail>予測を学習目標にすると、モデルの学習に影響する。</span></div><div id=\\\"RJSE-handoff\\\" data-map-node data-map-label=\\\"ターゲットの学習へ\\\" class=\\\"node soft\\\" style=\\\"left:885px;top:175px;width:205px;height:110px\\\"><strong>ターゲットの学習へ</strong><span class=\\\"sub\\\">このラベルが更新に影響</span></div><div class=\\\"connection\\\" data-from=\\\"RJSE-photo\\\" data-to=\\\"RJSE-predict\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:260px;top:230.0px;width:55.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-predict\\\" data-to=\\\"RJSE-label\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:535px;top:230.0px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-label\\\" data-to=\\\"RJSE-handoff\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:820px;top:230.0px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSE-handoff\\\" data-to=\\\"RJSE-predict\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:987.5px;top:285px;width:115.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:987.5px;top:400px;width:562.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:425px;top:400px;width:115.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:560px;top:381px;width:300px\\\">学習が次の予測を変える</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n#RJSE-photo{justify-content:flex-end;padding-bottom:14px;gap:4px}\"}}, \"links\": {\"RJSE-handoff\": \"rjs-joint-learning\"}, \"related\": [\"rjs-overall\", \"rjs-joint-learning\"], \"sequence\": [\"RJSE-photo\", \"RJSE-predict\", \"RJSE-label\", \"RJSE-handoff\"]}, \"rjs-joint-learning\": {\"title\": \"03 · 联合学习与初始正则化\", \"width\": 1120, \"height\": 690, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:690px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:225px\\\">Inputs from 01–02</div><div class=\\\"stage\\\" style=\\\"left:420px;top:28px;width:280px\\\">03 · Learning and regularization</div><div class=\\\"stage\\\" style=\\\"left:800px;top:28px;width:280px\\\">Use the updated model</div><div id=\\\"RJSJ-source\\\" data-map-node data-map-label=\\\"01 · Source images\\\" class=\\\"node \\\" style=\\\"left:30px;top:125px;width:225px;height:120px\\\"><strong>01 · Source images</strong><span class=\\\"sub\\\">Rendering label: bicycle</span></div><div id=\\\"RJSJ-pseudo\\\" data-map-node data-map-label=\\\"02 · Target pseudo-label\\\" class=\\\"node \\\" style=\\\"left:30px;top:340px;width:225px;height:120px\\\"><strong>02 · Target pseudo-label</strong><span class=\\\"sub\\\">Street image: motorcycle</span></div><div id=\\\"RJSJ-joint\\\" data-map-node data-map-label=\\\"Source · joint learning\\\" class=\\\"node soft\\\" style=\\\"left:420px;top:125px;width:280px;height:120px\\\"><strong>Source · joint learning</strong><span class=\\\"sub\\\">Pseudo-label generation ↔ optimization</span><span data-node-detail>The source-domain training couples pseudo-label generation and optimization to improve transfer across domains.</span></div><div id=\\\"RJSJ-regularize\\\" data-map-node data-map-label=\\\"Target · regularized learning\\\" class=\\\"node soft\\\" style=\\\"left:420px;top:340px;width:280px;height:120px\\\"><strong>Target · regularized learning</strong><span class=\\\"sub\\\">Initial training · regularized loss</span><span data-node-detail>The introduction describes replacing cross-entropy loss with a regularized loss during initial training, minimized on the target images.</span></div><div id=\\\"RJSJ-updated\\\" data-map-node data-map-label=\\\"Updated classifier\\\" class=\\\"node \\\" style=\\\"left:800px;top:232px;width:280px;height:120px\\\"><strong>Updated classifier</strong><span class=\\\"sub\\\">Ready to predict again</span></div><div id=\\\"RJSJ-next\\\" data-map-node data-map-label=\\\"02 · Turn predictions into labels\\\" class=\\\"node \\\" style=\\\"left:610px;top:535px;width:215px;height:120px\\\"><strong>02 · Turn predictions into labels</strong><span class=\\\"sub\\\">Later pseudo-labels</span></div><div id=\\\"RJSJ-use\\\" data-map-node data-map-label=\\\"04 · Classify the new scene\\\" class=\\\"node \\\" style=\\\"left:865px;top:535px;width:215px;height:120px\\\"><strong>04 · Classify the new scene</strong><span class=\\\"sub\\\">Image → category prediction</span></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-source\\\" data-to=\\\"RJSJ-joint\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:185.0px;width:165.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-pseudo\\\" data-to=\\\"RJSJ-regularize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:400.0px;width:165.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-joint\\\" data-to=\\\"RJSJ-updated\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:700px;top:185px;width:50.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:750px;top:185px;width:77.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:750px;top:262px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-regularize\\\" data-to=\\\"RJSJ-updated\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:700px;top:400px;width:50.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:750px;top:400px;width:78.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:750px;top:322px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-updated\\\" data-to=\\\"RJSJ-next\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:875px;top:352px;width:138.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:875px;top:490px;width:157.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:717.5px;top:490px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:633px;top:472px;width:190px\\\">Continue learning</div><div class=\\\"connection\\\" data-from=\\\"RJSJ-updated\\\" data-to=\\\"RJSJ-use\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:972.5px;top:352px;width:183.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:983px;top:411px;width:105px\\\">After adaptation</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:690px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:225px\\\">来自 01–02 的信息</div><div class=\\\"stage\\\" style=\\\"left:420px;top:28px;width:280px\\\">03 · 学习与正则化</div><div class=\\\"stage\\\" style=\\\"left:800px;top:28px;width:280px\\\">更新模型的去向</div><div id=\\\"RJSJ-source\\\" data-map-node data-map-label=\\\"01 · 源域图像\\\" class=\\\"node \\\" style=\\\"left:30px;top:125px;width:225px;height:120px\\\"><strong>01 · 源域图像</strong><span class=\\\"sub\\\">渲染图标签：自行车</span></div><div id=\\\"RJSJ-pseudo\\\" data-map-node data-map-label=\\\"02 · 目标域伪标签\\\" class=\\\"node \\\" style=\\\"left:30px;top:340px;width:225px;height:120px\\\"><strong>02 · 目标域伪标签</strong><span class=\\\"sub\\\">街头照片：摩托车</span></div><div id=\\\"RJSJ-joint\\\" data-map-node data-map-label=\\\"源域 · 联合学习\\\" class=\\\"node soft\\\" style=\\\"left:420px;top:125px;width:280px;height:120px\\\"><strong>源域 · 联合学习</strong><span class=\\\"sub\\\">伪标签生成 ↔ 优化</span><span data-node-detail>源域的训练将伪标签生成与优化联系起来，以改善跨域迁移。</span></div><div id=\\\"RJSJ-regularize\\\" data-map-node data-map-label=\\\"目标域 · 正则化学习\\\" class=\\\"node soft\\\" style=\\\"left:420px;top:340px;width:280px;height:120px\\\"><strong>目标域 · 正则化学习</strong><span class=\\\"sub\\\">初始训练 · 正则化损失</span><span data-node-detail>引言说明在初始训练中以正则化损失替换交叉熵损失，并在目标域图像上最小化这一损失。</span></div><div id=\\\"RJSJ-updated\\\" data-map-node data-map-label=\\\"更新后的分类器\\\" class=\\\"node \\\" style=\\\"left:800px;top:232px;width:280px;height:120px\\\"><strong>更新后的分类器</strong><span class=\\\"sub\\\">重新预测图像类别</span></div><div id=\\\"RJSJ-next\\\" data-map-node data-map-label=\\\"02 · 预测成为标签\\\" class=\\\"node \\\" style=\\\"left:610px;top:535px;width:215px;height:120px\\\"><strong>02 · 预测成为标签</strong><span class=\\\"sub\\\">后续伪标签</span></div><div id=\\\"RJSJ-use\\\" data-map-node data-map-label=\\\"04 · 用于新场景\\\" class=\\\"node \\\" style=\\\"left:865px;top:535px;width:215px;height:120px\\\"><strong>04 · 用于新场景</strong><span class=\\\"sub\\\">图像 → 类别预测</span></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-source\\\" data-to=\\\"RJSJ-joint\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:185.0px;width:165.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-pseudo\\\" data-to=\\\"RJSJ-regularize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:400.0px;width:165.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-joint\\\" data-to=\\\"RJSJ-updated\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:700px;top:185px;width:50.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:750px;top:185px;width:77.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:750px;top:262px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-regularize\\\" data-to=\\\"RJSJ-updated\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:700px;top:400px;width:50.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:750px;top:400px;width:78.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:750px;top:322px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-updated\\\" data-to=\\\"RJSJ-next\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:875px;top:352px;width:138.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:875px;top:490px;width:157.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:717.5px;top:490px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:633px;top:472px;width:190px\\\">继续学习</div><div class=\\\"connection\\\" data-from=\\\"RJSJ-updated\\\" data-to=\\\"RJSJ-use\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:972.5px;top:352px;width:183.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:983px;top:411px;width:105px\\\">适配完成</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:690px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:28px;width:225px\\\">01–02 からの入力</div><div class=\\\"stage\\\" style=\\\"left:420px;top:28px;width:280px\\\">03 · 学習と正則化</div><div class=\\\"stage\\\" style=\\\"left:800px;top:28px;width:280px\\\">更新後のモデルを使う</div><div id=\\\"RJSJ-source\\\" data-map-node data-map-label=\\\"01 · ソース画像\\\" class=\\\"node \\\" style=\\\"left:30px;top:125px;width:225px;height:120px\\\"><strong>01 · ソース画像</strong><span class=\\\"sub\\\">レンダリングのラベル：自転車</span></div><div id=\\\"RJSJ-pseudo\\\" data-map-node data-map-label=\\\"02 · ターゲットの擬似ラベル\\\" class=\\\"node \\\" style=\\\"left:30px;top:340px;width:225px;height:120px\\\"><strong>02 · ターゲットの擬似ラベル</strong><span class=\\\"sub\\\">街中の写真：オートバイ</span></div><div id=\\\"RJSJ-joint\\\" data-map-node data-map-label=\\\"ソース · 共同学習\\\" class=\\\"node soft\\\" style=\\\"left:420px;top:125px;width:280px;height:120px\\\"><strong>ソース · 共同学習</strong><span class=\\\"sub\\\">擬似ラベルの生成 ↔ 最適化</span><span data-node-detail>ソースで擬似ラベル生成と最適化を共同学習し、ドメイン間の転移を図る。</span></div><div id=\\\"RJSJ-regularize\\\" data-map-node data-map-label=\\\"ターゲット · 正則化学習\\\" class=\\\"node soft\\\" style=\\\"left:420px;top:340px;width:280px;height:120px\\\"><strong>ターゲット · 正則化学習</strong><span class=\\\"sub\\\">初期学習 · 正則化損失</span><span data-node-detail>序論では初期学習で交差エントロピー損失を正則化損失に置き換え、ターゲット画像上で最小化すると説明する。</span></div><div id=\\\"RJSJ-updated\\\" data-map-node data-map-label=\\\"更新後の分類器\\\" class=\\\"node \\\" style=\\\"left:800px;top:232px;width:280px;height:120px\\\"><strong>更新後の分類器</strong><span class=\\\"sub\\\">改めて画像を分類</span></div><div id=\\\"RJSJ-next\\\" data-map-node data-map-label=\\\"02 · 予測をラベルに\\\" class=\\\"node \\\" style=\\\"left:610px;top:535px;width:215px;height:120px\\\"><strong>02 · 予測をラベルに</strong><span class=\\\"sub\\\">次の擬似ラベル</span></div><div id=\\\"RJSJ-use\\\" data-map-node data-map-label=\\\"04 · 新しい場面を分類\\\" class=\\\"node \\\" style=\\\"left:865px;top:535px;width:215px;height:120px\\\"><strong>04 · 新しい場面を分類</strong><span class=\\\"sub\\\">画像 → クラス予測</span></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-source\\\" data-to=\\\"RJSJ-joint\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:185.0px;width:165.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-pseudo\\\" data-to=\\\"RJSJ-regularize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:255px;top:400.0px;width:165.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-joint\\\" data-to=\\\"RJSJ-updated\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:700px;top:185px;width:50.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:750px;top:185px;width:77.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:750px;top:262px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-regularize\\\" data-to=\\\"RJSJ-updated\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:700px;top:400px;width:50.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   \\\" style=\\\"left:750px;top:400px;width:78.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:750px;top:322px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"RJSJ-updated\\\" data-to=\\\"RJSJ-next\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:875px;top:352px;width:138.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:875px;top:490px;width:157.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:717.5px;top:490px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:633px;top:472px;width:190px\\\">学習を継続</div><div class=\\\"connection\\\" data-from=\\\"RJSJ-updated\\\" data-to=\\\"RJSJ-use\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:972.5px;top:352px;width:183.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:983px;top:411px;width:105px\\\">適応後</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\"}}, \"links\": {\"RJSJ-next\": \"rjs-error-loop\"}, \"related\": [\"rjs-overall\", \"rjs-error-loop\"], \"sequence\": [\"RJSJ-source\", \"RJSJ-pseudo\", \"RJSJ-joint\", \"RJSJ-regularize\", \"RJSJ-updated\", \"RJSJ-next\", \"RJSJ-use\"]}, \"icbss-overview\": {\"title\": \"ICBSS · 一个交叉口，四步串起来\", \"width\": 1120, \"height\": 670, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:670px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">ONE TASK · A, B AND FOUR INSPECTIONS</div><div class=\\\"region\\\" style=\\\"left:285px;top:80px;width:565px;height:286px\\\"></div><div class=\\\"label\\\" style=\\\"left:360px;top:87px;width:420px\\\">One constraint tree</div><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · Read the task\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:145px;width:235px;height:130px\\\"><strong>01 · Read the task</strong><span class=\\\"sub\\\">A₀, B₀ · p, q, r, s</span></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · Plan the visits\\\" class=\\\"node soft\\\" style=\\\"left:305px;top:145px;width:235px;height:130px\\\"><strong>02 · Plan the visits</strong><span class=\\\"sub\\\">A: p→q · B: r→s</span></div><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · Resolve the conflict\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:145px;width:235px;height:130px\\\"><strong>03 · Resolve the conflict</strong><span class=\\\"sub\\\">A and B at x, t=2</span></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · Output the schedule\\\" class=\\\"node soft\\\" style=\\\"left:855px;top:145px;width:235px;height:130px\\\"><strong>04 · Output the schedule</strong><span class=\\\"sub\\\">A arrives t=4 · B t=5</span></div><div class=\\\"connection\\\" data-from=\\\"stage-01\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:265px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-02\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:540px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-04\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:815px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:275px;width:60.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:335px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:422.5px;top:335px;width:60.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:438px;top:312px;width:248px\\\">Replan: B cannot use x at t=2</div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Warehouse crossing diagram\\\" style=\\\"position:absolute;left:49px;top:410px;width:179px;height:179px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 179 179\\\"><rect x=\\\"12\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"153\\\" x2=\\\"31\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"150\\\" x2=\\\"31\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"122\\\" x2=\\\"31\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"119\\\" x2=\\\"31\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"60\\\" x2=\\\"31\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"57\\\" x2=\\\"31\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"31\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"26\\\" x2=\\\"31\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"153\\\" x2=\\\"62\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"150\\\" x2=\\\"62\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"122\\\" x2=\\\"62\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"119\\\" x2=\\\"62\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"60\\\" x2=\\\"62\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"57\\\" x2=\\\"62\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"29\\\" x2=\\\"62\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"26\\\" x2=\\\"62\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"153\\\" x2=\\\"124\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"150\\\" x2=\\\"124\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"122\\\" x2=\\\"124\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"119\\\" x2=\\\"124\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"60\\\" x2=\\\"124\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"57\\\" x2=\\\"124\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"29\\\" x2=\\\"124\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"26\\\" x2=\\\"124\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"153\\\" x2=\\\"155\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"150\\\" x2=\\\"155\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"122\\\" x2=\\\"155\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"119\\\" x2=\\\"155\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"60\\\" x2=\\\"155\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"57\\\" x2=\\\"155\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"29\\\" x2=\\\"155\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"26\\\" x2=\\\"155\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"27.5\\\" y1=\\\"89.5\\\" x2=\\\"58.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"58.5\\\" y1=\\\"89.5\\\" x2=\\\"89.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"89.5\\\" x2=\\\"120.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"120.5\\\" y1=\\\"89.5\\\" x2=\\\"151.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"27.5\\\" x2=\\\"89.5\\\" y2=\\\"58.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"58.5\\\" x2=\\\"89.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"89.5\\\" x2=\\\"89.5\\\" y2=\\\"120.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"120.5\\\" x2=\\\"89.5\\\" y2=\\\"151.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"37.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M58.5,80.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"68.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"99.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M120.5,80.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"130.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"141.5\\\" y=\\\"79.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"161.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"99.11\\\" y=\\\"38.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M89.5,49.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"69.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M89.5,111.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"131.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"79.5\\\" y=\\\"141.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"162.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"27.5\\\" cy=\\\"89.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"27.5\\\" y=\\\"94.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"78.5\\\" y=\\\"16.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"89.5\\\" y=\\\"32.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text></svg><div id=\\\"candidate\\\" data-map-node data-map-label=\\\"Candidate: a shared crossing\\\" class=\\\"node \\\" style=\\\"left:303px;top:420px;width:315px;height:112px\\\"><strong>Candidate: a shared crossing</strong><span class=\\\"sub\\\">A at x, t=2 · B at x, t=2</span></div><div id=\\\"result\\\" data-map-node data-map-label=\\\"Revised: B waits at r\\\" class=\\\"node soft\\\" style=\\\"left:750px;top:420px;width:340px;height:112px\\\"><strong>Revised: B waits at r</strong><span class=\\\"sub\\\">x: A at t=2 · B at t=3</span></div><div class=\\\"connection\\\" data-from=\\\"candidate\\\" data-to=\\\"result\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:618px;top:476.0px;width:132.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"small-note\\\" style=\\\"left:32px;top:610px;width:1055px\\\">Illustrative example · 01–02 open the map view; 03–04 open the conflict and schedule view.</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:670px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">同一任务 · A、B 与四个检查点</div><div class=\\\"region\\\" style=\\\"left:285px;top:80px;width:565px;height:286px\\\"></div><div class=\\\"label\\\" style=\\\"left:360px;top:87px;width:420px\\\">一棵约束树</div><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 读懂任务\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:145px;width:235px;height:130px\\\"><strong>01 · 读懂任务</strong><span class=\\\"sub\\\">A₀、B₀ · p、q、r、s</span></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 规划访问\\\" class=\\\"node soft\\\" style=\\\"left:305px;top:145px;width:235px;height:130px\\\"><strong>02 · 规划访问</strong><span class=\\\"sub\\\">A：p→q · B：r→s</span></div><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 消解冲突\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:145px;width:235px;height:130px\\\"><strong>03 · 消解冲突</strong><span class=\\\"sub\\\">A、B 同在 x，t=2</span></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 输出时序\\\" class=\\\"node soft\\\" style=\\\"left:855px;top:145px;width:235px;height:130px\\\"><strong>04 · 输出时序</strong><span class=\\\"sub\\\">A 在 t=4、B 在 t=5 到达</span></div><div class=\\\"connection\\\" data-from=\\\"stage-01\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:265px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-02\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:540px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-04\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:815px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:275px;width:60.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:335px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:422.5px;top:335px;width:60.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:438px;top:312px;width:248px\\\">重规划：B 在 t=2 不占 x</div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"仓库交叉口示意\\\" style=\\\"position:absolute;left:49px;top:410px;width:179px;height:179px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 179 179\\\"><rect x=\\\"12\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"153\\\" x2=\\\"31\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"150\\\" x2=\\\"31\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"122\\\" x2=\\\"31\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"119\\\" x2=\\\"31\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"60\\\" x2=\\\"31\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"57\\\" x2=\\\"31\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"31\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"26\\\" x2=\\\"31\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"153\\\" x2=\\\"62\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"150\\\" x2=\\\"62\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"122\\\" x2=\\\"62\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"119\\\" x2=\\\"62\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"60\\\" x2=\\\"62\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"57\\\" x2=\\\"62\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"29\\\" x2=\\\"62\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"26\\\" x2=\\\"62\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"153\\\" x2=\\\"124\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"150\\\" x2=\\\"124\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"122\\\" x2=\\\"124\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"119\\\" x2=\\\"124\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"60\\\" x2=\\\"124\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"57\\\" x2=\\\"124\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"29\\\" x2=\\\"124\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"26\\\" x2=\\\"124\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"153\\\" x2=\\\"155\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"150\\\" x2=\\\"155\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"122\\\" x2=\\\"155\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"119\\\" x2=\\\"155\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"60\\\" x2=\\\"155\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"57\\\" x2=\\\"155\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"29\\\" x2=\\\"155\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"26\\\" x2=\\\"155\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"27.5\\\" y1=\\\"89.5\\\" x2=\\\"58.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"58.5\\\" y1=\\\"89.5\\\" x2=\\\"89.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"89.5\\\" x2=\\\"120.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"120.5\\\" y1=\\\"89.5\\\" x2=\\\"151.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"27.5\\\" x2=\\\"89.5\\\" y2=\\\"58.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"58.5\\\" x2=\\\"89.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"89.5\\\" x2=\\\"89.5\\\" y2=\\\"120.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"120.5\\\" x2=\\\"89.5\\\" y2=\\\"151.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"37.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M58.5,80.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"68.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"99.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M120.5,80.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"130.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"141.5\\\" y=\\\"79.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"161.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"99.11\\\" y=\\\"38.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M89.5,49.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"69.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M89.5,111.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"131.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"79.5\\\" y=\\\"141.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"162.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"27.5\\\" cy=\\\"89.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"27.5\\\" y=\\\"94.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"78.5\\\" y=\\\"16.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"89.5\\\" y=\\\"32.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text></svg><div id=\\\"candidate\\\" data-map-node data-map-label=\\\"候选：交叉口同时到达\\\" class=\\\"node \\\" style=\\\"left:303px;top:420px;width:315px;height:112px\\\"><strong>候选：交叉口同时到达</strong><span class=\\\"sub\\\">A 在 x，t=2 · B 在 x，t=2</span></div><div id=\\\"result\\\" data-map-node data-map-label=\\\"修订：B 在 r 等一步\\\" class=\\\"node soft\\\" style=\\\"left:750px;top:420px;width:340px;height:112px\\\"><strong>修订：B 在 r 等一步</strong><span class=\\\"sub\\\">x：A 在 t=2 · B 在 t=3</span></div><div class=\\\"connection\\\" data-from=\\\"candidate\\\" data-to=\\\"result\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:618px;top:476.0px;width:132.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"small-note\\\" style=\\\"left:32px;top:610px;width:1055px\\\">教学示例（Illustrative example）· 01–02 展开地图与候选；03–04 展开冲突与时序。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:670px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">一つの作業 · A、B と四つの点検地点</div><div class=\\\"region\\\" style=\\\"left:285px;top:80px;width:565px;height:286px\\\"></div><div class=\\\"label\\\" style=\\\"left:360px;top:87px;width:420px\\\">一つの制約木</div><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 作業を把握する\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:145px;width:235px;height:130px\\\"><strong>01 · 作業を把握する</strong><span class=\\\"sub\\\">A₀、B₀ · p、q、r、s</span></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 訪問を計画する\\\" class=\\\"node soft\\\" style=\\\"left:305px;top:145px;width:235px;height:130px\\\"><strong>02 · 訪問を計画する</strong><span class=\\\"sub\\\">A：p→q · B：r→s</span></div><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 衝突を解消する\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:145px;width:235px;height:130px\\\"><strong>03 · 衝突を解消する</strong><span class=\\\"sub\\\">A、B が x、t=2</span></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 時系列を出力する\\\" class=\\\"node soft\\\" style=\\\"left:855px;top:145px;width:235px;height:130px\\\"><strong>04 · 時系列を出力する</strong><span class=\\\"sub\\\">A は t=4、B は t=5 に到着</span></div><div class=\\\"connection\\\" data-from=\\\"stage-01\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:265px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-02\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:540px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-04\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:815px;top:210.0px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:275px;width:60.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:335px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:422.5px;top:335px;width:60.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:438px;top:312px;width:248px\\\">再計画：B は t=2 の x を使わない</div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"倉庫交差点の模式図\\\" style=\\\"position:absolute;left:49px;top:410px;width:179px;height:179px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 179 179\\\"><rect x=\\\"12\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"153\\\" x2=\\\"31\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"150\\\" x2=\\\"31\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"122\\\" x2=\\\"31\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"119\\\" x2=\\\"31\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"60\\\" x2=\\\"31\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"57\\\" x2=\\\"31\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"31\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"26\\\" x2=\\\"31\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"153\\\" x2=\\\"62\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"150\\\" x2=\\\"62\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"122\\\" x2=\\\"62\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"119\\\" x2=\\\"62\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"60\\\" x2=\\\"62\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"57\\\" x2=\\\"62\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"43\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"55\\\" y1=\\\"29\\\" x2=\\\"62\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"55\\\" y1=\\\"26\\\" x2=\\\"62\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"74\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"153\\\" x2=\\\"124\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"150\\\" x2=\\\"124\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"122\\\" x2=\\\"124\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"119\\\" x2=\\\"124\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"60\\\" x2=\\\"124\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"57\\\" x2=\\\"124\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"105\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"117\\\" y1=\\\"29\\\" x2=\\\"124\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"117\\\" y1=\\\"26\\\" x2=\\\"124\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"136\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"153\\\" x2=\\\"155\\\" y2=\\\"153\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"150\\\" x2=\\\"155\\\" y2=\\\"150\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"105\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"122\\\" x2=\\\"155\\\" y2=\\\"122\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"119\\\" x2=\\\"155\\\" y2=\\\"119\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"74\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"43\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"60\\\" x2=\\\"155\\\" y2=\\\"60\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"57\\\" x2=\\\"155\\\" y2=\\\"57\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"136\\\" y=\\\"12\\\" width=\\\"31\\\" height=\\\"31\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"148\\\" y1=\\\"29\\\" x2=\\\"155\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"148\\\" y1=\\\"26\\\" x2=\\\"155\\\" y2=\\\"26\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"27.5\\\" y1=\\\"89.5\\\" x2=\\\"58.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"58.5\\\" y1=\\\"89.5\\\" x2=\\\"89.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"89.5\\\" x2=\\\"120.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"120.5\\\" y1=\\\"89.5\\\" x2=\\\"151.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"27.5\\\" x2=\\\"89.5\\\" y2=\\\"58.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"58.5\\\" x2=\\\"89.5\\\" y2=\\\"89.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"89.5\\\" x2=\\\"89.5\\\" y2=\\\"120.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"89.5\\\" y1=\\\"120.5\\\" x2=\\\"89.5\\\" y2=\\\"151.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"37.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M58.5,80.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"68.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"99.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M120.5,80.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"130.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"141.5\\\" y=\\\"79.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"161.11\\\" y=\\\"100.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"99.11\\\" y=\\\"38.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M89.5,49.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"69.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M89.5,111.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"131.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"79.5\\\" y=\\\"141.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"99.11\\\" y=\\\"162.04\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"27.5\\\" cy=\\\"89.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"27.5\\\" y=\\\"94.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"78.5\\\" y=\\\"16.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"89.5\\\" y=\\\"32.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text></svg><div id=\\\"candidate\\\" data-map-node data-map-label=\\\"候補：交差点へ同時到着\\\" class=\\\"node \\\" style=\\\"left:303px;top:420px;width:315px;height:112px\\\"><strong>候補：交差点へ同時到着</strong><span class=\\\"sub\\\">A が x、t=2 · B が x、t=2</span></div><div id=\\\"result\\\" data-map-node data-map-label=\\\"修正：B が r で待機\\\" class=\\\"node soft\\\" style=\\\"left:750px;top:420px;width:340px;height:112px\\\"><strong>修正：B が r で待機</strong><span class=\\\"sub\\\">x：A は t=2 · B は t=3</span></div><div class=\\\"connection\\\" data-from=\\\"candidate\\\" data-to=\\\"result\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:618px;top:476.0px;width:132.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"small-note\\\" style=\\\"left:32px;top:610px;width:1055px\\\">説明用の例（Illustrative example）・01–02 は地図と候補、03–04 は衝突と時系列へ。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}}, \"links\": {\"stage-01\": \"icbss-decisions\", \"stage-02\": \"icbss-decisions\", \"stage-03\": \"icbss-crossing-detail\", \"stage-04\": \"icbss-crossing-detail\", \"candidate\": \"icbss-decisions\", \"result\": \"icbss-crossing-detail\"}, \"related\": [\"icbss-decisions\", \"icbss-crossing-detail\"], \"sequence\": [\"stage-01\", \"stage-02\", \"stage-03\", \"stage-04\", \"candidate\", \"result\"], \"caption\": {\"en\": \"Follow the same A/B inspection task through 01–04. Stages 01–02 expand in the map view; 03–04 expand in the crossing and timeline view. The feedback returns a collision restriction to visit planning. Method based on the authors’ abstract; warehouse states are illustrative.\", \"zh\": \"同一组 A、B 检查任务贯穿 01–04。01–02 在地图局部图展开，03–04 在交叉口与时序图展开；反馈线把碰撞限制带回访问规划。方法根据作者摘要整理，仓库状态为教学构造。\", \"ja\": \"同じ A/B の点検作業を 01–04 で追います。01–02 は地図、03–04 は交差点と時系列で展開します。衝突制約を訪問計画へ戻す流れです。手法は著者の要旨、倉庫状態は説明用の構成に基づきます。\"}, \"source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11127663\", \"source_refs\": [\"icbss-paper\"], \"evidence_kind\": \"method_contract\", \"stages\": [\"01\", \"02\", \"03\", \"04\"]}, \"icbss-decisions\": {\"title\": \"ICBSS · 01–02：任务与候选\", \"width\": 1120, \"height\": 650, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:650px\\\"><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · Read the task\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:440px;height:84px\\\"><strong>01 · Read the task</strong></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · Plan the visits\\\" class=\\\"node soft\\\" style=\\\"left:520px;top:28px;width:570px;height:84px\\\"><strong>02 · Plan the visits</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Warehouse crossing diagram\\\" style=\\\"position:absolute;left:80px;top:170px;width:344px;height:344px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 344 344\\\"><rect x=\\\"12\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"285\\\" x2=\\\"64\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"315\\\" x2=\\\"64\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"221\\\" x2=\\\"64\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"251\\\" x2=\\\"64\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"93\\\" x2=\\\"64\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"123\\\" x2=\\\"64\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"64\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"59\\\" x2=\\\"64\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"285\\\" x2=\\\"128\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"315\\\" x2=\\\"128\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"221\\\" x2=\\\"128\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"251\\\" x2=\\\"128\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"93\\\" x2=\\\"128\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"123\\\" x2=\\\"128\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"29\\\" x2=\\\"128\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"59\\\" x2=\\\"128\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"285\\\" x2=\\\"256\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"315\\\" x2=\\\"256\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"221\\\" x2=\\\"256\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"251\\\" x2=\\\"256\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"93\\\" x2=\\\"256\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"123\\\" x2=\\\"256\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"29\\\" x2=\\\"256\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"59\\\" x2=\\\"256\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"285\\\" x2=\\\"320\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"315\\\" x2=\\\"320\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"221\\\" x2=\\\"320\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"251\\\" x2=\\\"320\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"93\\\" x2=\\\"320\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"123\\\" x2=\\\"320\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"29\\\" x2=\\\"320\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"59\\\" x2=\\\"320\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"44.0\\\" y1=\\\"172.0\\\" x2=\\\"108.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"108.0\\\" y1=\\\"172.0\\\" x2=\\\"172.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"172.0\\\" x2=\\\"236.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"236.0\\\" y1=\\\"172.0\\\" x2=\\\"300.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"44.0\\\" x2=\\\"172.0\\\" y2=\\\"108.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"108.0\\\" x2=\\\"172.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"172.0\\\" x2=\\\"172.0\\\" y2=\\\"236.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"236.0\\\" x2=\\\"172.0\\\" y2=\\\"300.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"63.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M108.0,163.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"127.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"191.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M236.0,163.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"255.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"290.0\\\" y=\\\"162.0\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"319.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"191.84\\\" y=\\\"65.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M172.0,99.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"129.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M172.0,227.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"257.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"162.0\\\" y=\\\"290.0\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"321.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"44.0\\\" cy=\\\"172.0\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"44.0\\\" y=\\\"177.0\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"161.0\\\" y=\\\"33.0\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"172.0\\\" y=\\\"49.0\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text></svg><div id=\\\"visits\\\" data-map-node data-map-label=\\\"A: p → q → Aɢ\\\" class=\\\"node \\\" style=\\\"left:550px;top:163px;width:510px;height:95px\\\"><strong>A: p → q → Aɢ</strong><span class=\\\"sub\\\">B: r → s → Bɢ</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"\\\" style=\\\"position:absolute;left:530px;top:320px;width:550px;height:210px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 550 210\\\"><text x=\\\"152.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"236.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"320.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"404.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"488.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"43\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"120.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"152.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A₀</text><rect x=\\\"204.07999999999998\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"236.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">p</text><rect x=\\\"288.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"320.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"372.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"404.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"456.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"488.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"43\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"120.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"152.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"204.07999999999998\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"236.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"288.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"320.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"372.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"404.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"456.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"488.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Bɢ</text><text x=\\\"275.0\\\" y=\\\"185\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Both reach x at t=2</text></svg><div class=\\\"label\\\" style=\\\"left:50px;top:541px;width:430px\\\">◇ Inspection · □ Destination</div><div class=\\\"small-note\\\" style=\\\"left:32px;top:596px;width:1055px\\\">Illustrative example · one step moves to a neighboring cell or waits. This candidate covers the visits but conflicts at x.</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:650px\\\"><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 读懂任务\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:440px;height:84px\\\"><strong>01 · 读懂任务</strong></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 规划访问\\\" class=\\\"node soft\\\" style=\\\"left:520px;top:28px;width:570px;height:84px\\\"><strong>02 · 规划访问</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"仓库交叉口示意\\\" style=\\\"position:absolute;left:80px;top:170px;width:344px;height:344px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 344 344\\\"><rect x=\\\"12\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"285\\\" x2=\\\"64\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"315\\\" x2=\\\"64\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"221\\\" x2=\\\"64\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"251\\\" x2=\\\"64\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"93\\\" x2=\\\"64\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"123\\\" x2=\\\"64\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"64\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"59\\\" x2=\\\"64\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"285\\\" x2=\\\"128\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"315\\\" x2=\\\"128\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"221\\\" x2=\\\"128\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"251\\\" x2=\\\"128\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"93\\\" x2=\\\"128\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"123\\\" x2=\\\"128\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"29\\\" x2=\\\"128\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"59\\\" x2=\\\"128\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"285\\\" x2=\\\"256\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"315\\\" x2=\\\"256\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"221\\\" x2=\\\"256\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"251\\\" x2=\\\"256\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"93\\\" x2=\\\"256\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"123\\\" x2=\\\"256\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"29\\\" x2=\\\"256\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"59\\\" x2=\\\"256\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"285\\\" x2=\\\"320\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"315\\\" x2=\\\"320\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"221\\\" x2=\\\"320\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"251\\\" x2=\\\"320\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"93\\\" x2=\\\"320\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"123\\\" x2=\\\"320\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"29\\\" x2=\\\"320\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"59\\\" x2=\\\"320\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"44.0\\\" y1=\\\"172.0\\\" x2=\\\"108.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"108.0\\\" y1=\\\"172.0\\\" x2=\\\"172.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"172.0\\\" x2=\\\"236.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"236.0\\\" y1=\\\"172.0\\\" x2=\\\"300.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"44.0\\\" x2=\\\"172.0\\\" y2=\\\"108.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"108.0\\\" x2=\\\"172.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"172.0\\\" x2=\\\"172.0\\\" y2=\\\"236.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"236.0\\\" x2=\\\"172.0\\\" y2=\\\"300.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"63.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M108.0,163.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"127.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"191.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M236.0,163.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"255.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"290.0\\\" y=\\\"162.0\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"319.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"191.84\\\" y=\\\"65.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M172.0,99.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"129.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M172.0,227.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"257.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"162.0\\\" y=\\\"290.0\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"321.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"44.0\\\" cy=\\\"172.0\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"44.0\\\" y=\\\"177.0\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"161.0\\\" y=\\\"33.0\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"172.0\\\" y=\\\"49.0\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text></svg><div id=\\\"visits\\\" data-map-node data-map-label=\\\"A：p → q → Aɢ\\\" class=\\\"node \\\" style=\\\"left:550px;top:163px;width:510px;height:95px\\\"><strong>A：p → q → Aɢ</strong><span class=\\\"sub\\\">B：r → s → Bɢ</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"\\\" style=\\\"position:absolute;left:530px;top:320px;width:550px;height:210px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 550 210\\\"><text x=\\\"152.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"236.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"320.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"404.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"488.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"43\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"120.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"152.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A₀</text><rect x=\\\"204.07999999999998\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"236.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">p</text><rect x=\\\"288.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"320.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"372.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"404.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"456.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"488.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"43\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"120.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"152.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"204.07999999999998\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"236.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"288.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"320.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"372.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"404.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"456.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"488.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Bɢ</text><text x=\\\"275.0\\\" y=\\\"185\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">两台都在 t=2 到达 x</text></svg><div class=\\\"label\\\" style=\\\"left:50px;top:541px;width:430px\\\">◇ 检查点 · □ 终点</div><div class=\\\"small-note\\\" style=\\\"left:32px;top:596px;width:1055px\\\">教学示例（Illustrative example）· 每步移动一格或等待；这份候选覆盖了任务，但在 x 产生冲突。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:650px\\\"><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 作業を把握する\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:440px;height:84px\\\"><strong>01 · 作業を把握する</strong></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 訪問を計画する\\\" class=\\\"node soft\\\" style=\\\"left:520px;top:28px;width:570px;height:84px\\\"><strong>02 · 訪問を計画する</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"倉庫交差点の模式図\\\" style=\\\"position:absolute;left:80px;top:170px;width:344px;height:344px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 344 344\\\"><rect x=\\\"12\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"285\\\" x2=\\\"64\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"315\\\" x2=\\\"64\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"221\\\" x2=\\\"64\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"251\\\" x2=\\\"64\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"93\\\" x2=\\\"64\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"123\\\" x2=\\\"64\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"64\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"59\\\" x2=\\\"64\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"285\\\" x2=\\\"128\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"315\\\" x2=\\\"128\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"221\\\" x2=\\\"128\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"251\\\" x2=\\\"128\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"93\\\" x2=\\\"128\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"123\\\" x2=\\\"128\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"76\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"88\\\" y1=\\\"29\\\" x2=\\\"128\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88\\\" y1=\\\"59\\\" x2=\\\"128\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"140\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"285\\\" x2=\\\"256\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"315\\\" x2=\\\"256\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"221\\\" x2=\\\"256\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"251\\\" x2=\\\"256\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"93\\\" x2=\\\"256\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"123\\\" x2=\\\"256\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"204\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"216\\\" y1=\\\"29\\\" x2=\\\"256\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"216\\\" y1=\\\"59\\\" x2=\\\"256\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"268\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"285\\\" x2=\\\"320\\\" y2=\\\"285\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"315\\\" x2=\\\"320\\\" y2=\\\"315\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"204\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"221\\\" x2=\\\"320\\\" y2=\\\"221\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"251\\\" x2=\\\"320\\\" y2=\\\"251\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"140\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"76\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"93\\\" x2=\\\"320\\\" y2=\\\"93\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"123\\\" x2=\\\"320\\\" y2=\\\"123\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"268\\\" y=\\\"12\\\" width=\\\"64\\\" height=\\\"64\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"280\\\" y1=\\\"29\\\" x2=\\\"320\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"280\\\" y1=\\\"59\\\" x2=\\\"320\\\" y2=\\\"59\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"44.0\\\" y1=\\\"172.0\\\" x2=\\\"108.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"108.0\\\" y1=\\\"172.0\\\" x2=\\\"172.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"172.0\\\" x2=\\\"236.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"236.0\\\" y1=\\\"172.0\\\" x2=\\\"300.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"44.0\\\" x2=\\\"172.0\\\" y2=\\\"108.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"108.0\\\" x2=\\\"172.0\\\" y2=\\\"172.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"172.0\\\" x2=\\\"172.0\\\" y2=\\\"236.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"172.0\\\" y1=\\\"236.0\\\" x2=\\\"172.0\\\" y2=\\\"300.0\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"63.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M108.0,163.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"127.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"191.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M236.0,163.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"255.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"290.0\\\" y=\\\"162.0\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"319.84\\\" y=\\\"193.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"191.84\\\" y=\\\"65.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M172.0,99.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"129.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M172.0,227.0 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"257.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"162.0\\\" y=\\\"290.0\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"191.84\\\" y=\\\"321.76\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"44.0\\\" cy=\\\"172.0\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"44.0\\\" y=\\\"177.0\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"161.0\\\" y=\\\"33.0\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"172.0\\\" y=\\\"49.0\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text></svg><div id=\\\"visits\\\" data-map-node data-map-label=\\\"A：p → q → Aɢ\\\" class=\\\"node \\\" style=\\\"left:550px;top:163px;width:510px;height:95px\\\"><strong>A：p → q → Aɢ</strong><span class=\\\"sub\\\">B：r → s → Bɢ</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"\\\" style=\\\"position:absolute;left:530px;top:320px;width:550px;height:210px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 550 210\\\"><text x=\\\"152.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"236.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"320.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"404.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"488.0\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"43\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"120.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"152.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A₀</text><rect x=\\\"204.07999999999998\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"236.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">p</text><rect x=\\\"288.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"320.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"372.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"404.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"456.08\\\" y=\\\"46\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"488.0\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"43\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"120.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"152.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"204.07999999999998\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"236.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"288.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"320.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"372.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"404.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"456.08\\\" y=\\\"108\\\" width=\\\"63.84\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"488.0\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Bɢ</text><text x=\\\"275.0\\\" y=\\\"185\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">両方が t=2 に x へ到着</text></svg><div class=\\\"label\\\" style=\\\"left:50px;top:541px;width:430px\\\">◇ 点検地点 · □ 目的地</div><div class=\\\"small-note\\\" style=\\\"left:32px;top:596px;width:1055px\\\">説明用の例（Illustrative example）・一ステップで隣へ移動するか待機。候補は点検を分担できても x で衝突します。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}}, \"links\": {}, \"related\": [], \"sequence\": [\"stage-01\", \"stage-02\", \"visits\"], \"caption\": {\"en\": \"Stages 01–02, illustrative example. A visits p→q and B visits r→s in one candidate; both reach x at t=2. The map, targets and identities remain fixed in the next view.\", \"zh\": \"01–02，教学示例。候选安排让 A 去 p→q，B 去 r→s，两台都在 t=2 到达 x。下一图继续使用同一地图、任务点和机器人。\", \"ja\": \"01–02 の説明用の例です。候補では A が p→q、B が r→s を訪問し、両方が t=2 に x へ到着します。次の図でも同じ地図、地点、ロボットを使います。\"}, \"source_url\": \"https://biorobotics.ri.cmu.edu/papers/paperUploads/ren23_CBSS_TRO.pdf\", \"source_refs\": [\"cbss-background\"], \"evidence_kind\": \"illustrative_example\", \"stages\": [\"01\", \"02\"]}, \"icbss-crossing-detail\": {\"title\": \"ICBSS · 03–04：冲突与时序\", \"width\": 1120, \"height\": 790, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:790px\\\"><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · Resolve the conflict\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:470px;height:84px\\\"><strong>03 · Resolve the conflict</strong></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · Output the schedule\\\" class=\\\"node soft\\\" style=\\\"left:620px;top:28px;width:470px;height:84px\\\"><strong>04 · Output the schedule</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Warehouse crossing diagram\\\" style=\\\"position:absolute;left:80px;top:160px;width:279px;height:279px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 279 279\\\"><rect x=\\\"12\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"233\\\" x2=\\\"51\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"250\\\" x2=\\\"51\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"182\\\" x2=\\\"51\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"199\\\" x2=\\\"51\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"80\\\" x2=\\\"51\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"97\\\" x2=\\\"51\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"51\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"46\\\" x2=\\\"51\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"233\\\" x2=\\\"102\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"250\\\" x2=\\\"102\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"182\\\" x2=\\\"102\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"199\\\" x2=\\\"102\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"80\\\" x2=\\\"102\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"97\\\" x2=\\\"102\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"29\\\" x2=\\\"102\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"46\\\" x2=\\\"102\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"233\\\" x2=\\\"204\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"250\\\" x2=\\\"204\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"182\\\" x2=\\\"204\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"199\\\" x2=\\\"204\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"80\\\" x2=\\\"204\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"97\\\" x2=\\\"204\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"29\\\" x2=\\\"204\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"46\\\" x2=\\\"204\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"233\\\" x2=\\\"255\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"250\\\" x2=\\\"255\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"182\\\" x2=\\\"255\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"199\\\" x2=\\\"255\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"80\\\" x2=\\\"255\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"97\\\" x2=\\\"255\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"29\\\" x2=\\\"255\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"46\\\" x2=\\\"255\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"37.5\\\" y1=\\\"139.5\\\" x2=\\\"88.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"190.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"190.5\\\" y1=\\\"139.5\\\" x2=\\\"241.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"37.5\\\" x2=\\\"139.5\\\" y2=\\\"88.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"88.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"190.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"190.5\\\" x2=\\\"139.5\\\" y2=\\\"241.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"53.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M88.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"104.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"155.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M190.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"206.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"231.5\\\" y=\\\"129.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"257.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"155.31\\\" y=\\\"54.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M139.5,79.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"105.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M139.5,181.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"207.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"129.5\\\" y=\\\"231.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"258.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"129.5\\\" cy=\\\"139.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"129.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"138.5\\\" y=\\\"128.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"149.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><circle cx=\\\"139.5\\\" cy=\\\"139.5\\\" r=\\\"25\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\" stroke-dasharray=\\\"3 3\\\"/></svg><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Warehouse crossing diagram\\\" style=\\\"position:absolute;left:730px;top:160px;width:279px;height:279px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 279 279\\\"><rect x=\\\"12\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"233\\\" x2=\\\"51\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"250\\\" x2=\\\"51\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"182\\\" x2=\\\"51\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"199\\\" x2=\\\"51\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"80\\\" x2=\\\"51\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"97\\\" x2=\\\"51\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"51\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"46\\\" x2=\\\"51\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"233\\\" x2=\\\"102\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"250\\\" x2=\\\"102\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"182\\\" x2=\\\"102\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"199\\\" x2=\\\"102\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"80\\\" x2=\\\"102\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"97\\\" x2=\\\"102\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"29\\\" x2=\\\"102\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"46\\\" x2=\\\"102\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"233\\\" x2=\\\"204\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"250\\\" x2=\\\"204\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"182\\\" x2=\\\"204\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"199\\\" x2=\\\"204\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"80\\\" x2=\\\"204\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"97\\\" x2=\\\"204\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"29\\\" x2=\\\"204\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"46\\\" x2=\\\"204\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"233\\\" x2=\\\"255\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"250\\\" x2=\\\"255\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"182\\\" x2=\\\"255\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"199\\\" x2=\\\"255\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"80\\\" x2=\\\"255\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"97\\\" x2=\\\"255\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"29\\\" x2=\\\"255\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"46\\\" x2=\\\"255\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"37.5\\\" y1=\\\"139.5\\\" x2=\\\"88.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"190.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"190.5\\\" y1=\\\"139.5\\\" x2=\\\"241.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"37.5\\\" x2=\\\"139.5\\\" y2=\\\"88.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"88.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"190.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"190.5\\\" x2=\\\"139.5\\\" y2=\\\"241.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"53.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M88.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"104.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"155.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M190.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"206.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"231.5\\\" y=\\\"129.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"257.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"155.31\\\" y=\\\"54.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M139.5,79.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"105.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M139.5,181.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"207.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"129.5\\\" y=\\\"231.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"258.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"139.5\\\" cy=\\\"139.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"139.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"128.5\\\" y=\\\"77.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"139.5\\\" y=\\\"93.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><path d=\\\"M120.5,71.5 a24,24 0 1,0 39,0\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.2\\\" stroke-dasharray=\\\"3 3\\\"/></svg><div id=\\\"restriction\\\" data-map-node data-map-label=\\\"B cannot occupy x at t=2\\\" class=\\\"node soft\\\" style=\\\"left:427px;top:210px;width:270px;height:130px\\\"><strong>B cannot occupy x at t=2</strong><span class=\\\"sub\\\">One feasible repair: wait at r</span></div><div class=\\\"label\\\" style=\\\"left:72px;top:450px;width:300px\\\">Before · t=2</div><div class=\\\"label\\\" style=\\\"left:724px;top:450px;width:300px\\\">After · t=2</div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"\\\" style=\\\"position:absolute;left:32px;top:510px;width:1055px;height:210px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1055 210\\\"><text x=\\\"187.08333333333331\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"341.25\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"495.41666666666663\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"649.5833333333333\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"803.75\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"957.9166666666665\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"43\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"128.5\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"187.08333333333331\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A₀</text><rect x=\\\"282.6666666666667\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"341.25\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">p</text><rect x=\\\"436.8333333333333\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"495.41666666666663\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"590.9999999999999\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"649.5833333333333\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"745.1666666666666\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"803.75\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><rect x=\\\"899.3333333333331\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"957.9166666666665\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"43\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"128.5\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"187.08333333333331\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"282.6666666666667\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"341.25\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"436.8333333333333\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"495.41666666666663\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"590.9999999999999\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"649.5833333333333\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"745.1666666666666\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"803.75\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"899.3333333333331\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"957.9166666666665\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Bɢ</text><text x=\\\"527.5\\\" y=\\\"185\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A reaches x at t=2; B at t=3</text></svg><div class=\\\"small-note\\\" style=\\\"left:32px;top:735px;width:1055px\\\">Illustrative example · the same four targets are visited; both robots remain at their destinations after arrival.</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:790px\\\"><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 消解冲突\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:470px;height:84px\\\"><strong>03 · 消解冲突</strong></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 输出时序\\\" class=\\\"node soft\\\" style=\\\"left:620px;top:28px;width:470px;height:84px\\\"><strong>04 · 输出时序</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"仓库交叉口示意\\\" style=\\\"position:absolute;left:80px;top:160px;width:279px;height:279px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 279 279\\\"><rect x=\\\"12\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"233\\\" x2=\\\"51\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"250\\\" x2=\\\"51\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"182\\\" x2=\\\"51\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"199\\\" x2=\\\"51\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"80\\\" x2=\\\"51\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"97\\\" x2=\\\"51\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"51\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"46\\\" x2=\\\"51\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"233\\\" x2=\\\"102\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"250\\\" x2=\\\"102\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"182\\\" x2=\\\"102\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"199\\\" x2=\\\"102\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"80\\\" x2=\\\"102\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"97\\\" x2=\\\"102\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"29\\\" x2=\\\"102\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"46\\\" x2=\\\"102\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"233\\\" x2=\\\"204\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"250\\\" x2=\\\"204\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"182\\\" x2=\\\"204\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"199\\\" x2=\\\"204\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"80\\\" x2=\\\"204\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"97\\\" x2=\\\"204\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"29\\\" x2=\\\"204\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"46\\\" x2=\\\"204\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"233\\\" x2=\\\"255\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"250\\\" x2=\\\"255\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"182\\\" x2=\\\"255\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"199\\\" x2=\\\"255\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"80\\\" x2=\\\"255\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"97\\\" x2=\\\"255\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"29\\\" x2=\\\"255\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"46\\\" x2=\\\"255\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"37.5\\\" y1=\\\"139.5\\\" x2=\\\"88.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"190.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"190.5\\\" y1=\\\"139.5\\\" x2=\\\"241.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"37.5\\\" x2=\\\"139.5\\\" y2=\\\"88.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"88.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"190.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"190.5\\\" x2=\\\"139.5\\\" y2=\\\"241.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"53.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M88.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"104.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"155.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M190.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"206.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"231.5\\\" y=\\\"129.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"257.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"155.31\\\" y=\\\"54.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M139.5,79.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"105.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M139.5,181.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"207.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"129.5\\\" y=\\\"231.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"258.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"129.5\\\" cy=\\\"139.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"129.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"138.5\\\" y=\\\"128.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"149.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><circle cx=\\\"139.5\\\" cy=\\\"139.5\\\" r=\\\"25\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\" stroke-dasharray=\\\"3 3\\\"/></svg><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"仓库交叉口示意\\\" style=\\\"position:absolute;left:730px;top:160px;width:279px;height:279px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 279 279\\\"><rect x=\\\"12\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"233\\\" x2=\\\"51\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"250\\\" x2=\\\"51\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"182\\\" x2=\\\"51\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"199\\\" x2=\\\"51\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"80\\\" x2=\\\"51\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"97\\\" x2=\\\"51\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"51\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"46\\\" x2=\\\"51\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"233\\\" x2=\\\"102\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"250\\\" x2=\\\"102\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"182\\\" x2=\\\"102\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"199\\\" x2=\\\"102\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"80\\\" x2=\\\"102\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"97\\\" x2=\\\"102\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"29\\\" x2=\\\"102\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"46\\\" x2=\\\"102\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"233\\\" x2=\\\"204\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"250\\\" x2=\\\"204\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"182\\\" x2=\\\"204\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"199\\\" x2=\\\"204\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"80\\\" x2=\\\"204\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"97\\\" x2=\\\"204\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"29\\\" x2=\\\"204\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"46\\\" x2=\\\"204\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"233\\\" x2=\\\"255\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"250\\\" x2=\\\"255\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"182\\\" x2=\\\"255\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"199\\\" x2=\\\"255\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"80\\\" x2=\\\"255\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"97\\\" x2=\\\"255\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"29\\\" x2=\\\"255\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"46\\\" x2=\\\"255\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"37.5\\\" y1=\\\"139.5\\\" x2=\\\"88.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"190.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"190.5\\\" y1=\\\"139.5\\\" x2=\\\"241.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"37.5\\\" x2=\\\"139.5\\\" y2=\\\"88.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"88.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"190.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"190.5\\\" x2=\\\"139.5\\\" y2=\\\"241.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"53.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M88.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"104.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"155.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M190.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"206.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"231.5\\\" y=\\\"129.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"257.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"155.31\\\" y=\\\"54.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M139.5,79.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"105.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M139.5,181.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"207.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"129.5\\\" y=\\\"231.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"258.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"139.5\\\" cy=\\\"139.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"139.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"128.5\\\" y=\\\"77.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"139.5\\\" y=\\\"93.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><path d=\\\"M120.5,71.5 a24,24 0 1,0 39,0\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.2\\\" stroke-dasharray=\\\"3 3\\\"/></svg><div id=\\\"restriction\\\" data-map-node data-map-label=\\\"B 在 t=2 不能占 x\\\" class=\\\"node soft\\\" style=\\\"left:427px;top:210px;width:270px;height:130px\\\"><strong>B 在 t=2 不能占 x</strong><span class=\\\"sub\\\">一种可行调整：在 r 等待</span></div><div class=\\\"label\\\" style=\\\"left:72px;top:450px;width:300px\\\">调整前 · t=2</div><div class=\\\"label\\\" style=\\\"left:724px;top:450px;width:300px\\\">调整后 · t=2</div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"\\\" style=\\\"position:absolute;left:32px;top:510px;width:1055px;height:210px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1055 210\\\"><text x=\\\"187.08333333333331\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"341.25\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"495.41666666666663\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"649.5833333333333\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"803.75\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"957.9166666666665\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"43\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"128.5\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"187.08333333333331\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A₀</text><rect x=\\\"282.6666666666667\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"341.25\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">p</text><rect x=\\\"436.8333333333333\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"495.41666666666663\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"590.9999999999999\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"649.5833333333333\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"745.1666666666666\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"803.75\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><rect x=\\\"899.3333333333331\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"957.9166666666665\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"43\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"128.5\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"187.08333333333331\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"282.6666666666667\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"341.25\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"436.8333333333333\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"495.41666666666663\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"590.9999999999999\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"649.5833333333333\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"745.1666666666666\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"803.75\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"899.3333333333331\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"957.9166666666665\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Bɢ</text><text x=\\\"527.5\\\" y=\\\"185\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A 在 t=2、B 在 t=3 通过 x</text></svg><div class=\\\"small-note\\\" style=\\\"left:32px;top:735px;width:1055px\\\">教学示例（Illustrative example）· 同一组四个任务点均被访问；机器人到达后停在各自终点。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:790px\\\"><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 衝突を解消する\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:470px;height:84px\\\"><strong>03 · 衝突を解消する</strong></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 時系列を出力する\\\" class=\\\"node soft\\\" style=\\\"left:620px;top:28px;width:470px;height:84px\\\"><strong>04 · 時系列を出力する</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"倉庫交差点の模式図\\\" style=\\\"position:absolute;left:80px;top:160px;width:279px;height:279px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 279 279\\\"><rect x=\\\"12\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"233\\\" x2=\\\"51\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"250\\\" x2=\\\"51\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"182\\\" x2=\\\"51\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"199\\\" x2=\\\"51\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"80\\\" x2=\\\"51\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"97\\\" x2=\\\"51\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"51\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"46\\\" x2=\\\"51\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"233\\\" x2=\\\"102\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"250\\\" x2=\\\"102\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"182\\\" x2=\\\"102\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"199\\\" x2=\\\"102\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"80\\\" x2=\\\"102\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"97\\\" x2=\\\"102\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"29\\\" x2=\\\"102\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"46\\\" x2=\\\"102\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"233\\\" x2=\\\"204\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"250\\\" x2=\\\"204\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"182\\\" x2=\\\"204\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"199\\\" x2=\\\"204\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"80\\\" x2=\\\"204\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"97\\\" x2=\\\"204\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"29\\\" x2=\\\"204\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"46\\\" x2=\\\"204\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"233\\\" x2=\\\"255\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"250\\\" x2=\\\"255\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"182\\\" x2=\\\"255\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"199\\\" x2=\\\"255\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"80\\\" x2=\\\"255\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"97\\\" x2=\\\"255\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"29\\\" x2=\\\"255\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"46\\\" x2=\\\"255\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"37.5\\\" y1=\\\"139.5\\\" x2=\\\"88.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"190.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"190.5\\\" y1=\\\"139.5\\\" x2=\\\"241.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"37.5\\\" x2=\\\"139.5\\\" y2=\\\"88.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"88.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"190.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"190.5\\\" x2=\\\"139.5\\\" y2=\\\"241.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"53.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M88.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"104.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"155.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M190.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"206.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"231.5\\\" y=\\\"129.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"257.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"155.31\\\" y=\\\"54.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M139.5,79.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"105.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M139.5,181.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"207.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"129.5\\\" y=\\\"231.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"258.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"129.5\\\" cy=\\\"139.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"129.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"138.5\\\" y=\\\"128.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"149.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><circle cx=\\\"139.5\\\" cy=\\\"139.5\\\" r=\\\"25\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\" stroke-dasharray=\\\"3 3\\\"/></svg><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"倉庫交差点の模式図\\\" style=\\\"position:absolute;left:730px;top:160px;width:279px;height:279px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 279 279\\\"><rect x=\\\"12\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"233\\\" x2=\\\"51\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"250\\\" x2=\\\"51\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"182\\\" x2=\\\"51\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"199\\\" x2=\\\"51\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"80\\\" x2=\\\"51\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"97\\\" x2=\\\"51\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"12\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"24\\\" y1=\\\"29\\\" x2=\\\"51\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"24\\\" y1=\\\"46\\\" x2=\\\"51\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"233\\\" x2=\\\"102\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"250\\\" x2=\\\"102\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"182\\\" x2=\\\"102\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"199\\\" x2=\\\"102\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"80\\\" x2=\\\"102\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"97\\\" x2=\\\"102\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"63\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"75\\\" y1=\\\"29\\\" x2=\\\"102\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"75\\\" y1=\\\"46\\\" x2=\\\"102\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"114\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"233\\\" x2=\\\"204\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"250\\\" x2=\\\"204\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"182\\\" x2=\\\"204\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"199\\\" x2=\\\"204\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"80\\\" x2=\\\"204\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"97\\\" x2=\\\"204\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"165\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"177\\\" y1=\\\"29\\\" x2=\\\"204\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"177\\\" y1=\\\"46\\\" x2=\\\"204\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"216\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"233\\\" x2=\\\"255\\\" y2=\\\"233\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"250\\\" x2=\\\"255\\\" y2=\\\"250\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"165\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"182\\\" x2=\\\"255\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"199\\\" x2=\\\"255\\\" y2=\\\"199\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"114\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"63\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"80\\\" x2=\\\"255\\\" y2=\\\"80\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"97\\\" x2=\\\"255\\\" y2=\\\"97\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><rect x=\\\"216\\\" y=\\\"12\\\" width=\\\"51\\\" height=\\\"51\\\" rx=\\\"3\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\".8\\\" opacity=\\\"0.65\\\"/><line x1=\\\"228\\\" y1=\\\"29\\\" x2=\\\"255\\\" y2=\\\"29\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"228\\\" y1=\\\"46\\\" x2=\\\"255\\\" y2=\\\"46\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"37.5\\\" y1=\\\"139.5\\\" x2=\\\"88.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"88.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"190.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"190.5\\\" y1=\\\"139.5\\\" x2=\\\"241.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"37.5\\\" x2=\\\"139.5\\\" y2=\\\"88.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"88.5\\\" x2=\\\"139.5\\\" y2=\\\"139.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"139.5\\\" x2=\\\"139.5\\\" y2=\\\"190.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><line x1=\\\"139.5\\\" y1=\\\"190.5\\\" x2=\\\"139.5\\\" y2=\\\"241.5\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"1\\\"/><text x=\\\"53.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀</text><path d=\\\"M88.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"104.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">p</text><text x=\\\"155.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">x</text><path d=\\\"M190.5,130.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"206.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"231.5\\\" y=\\\"129.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"257.31\\\" y=\\\"156.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"155.31\\\" y=\\\"54.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><path d=\\\"M139.5,79.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"105.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">r</text><path d=\\\"M139.5,181.5 l8,8 -8,8 -8,-8 Z\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"207.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"129.5\\\" y=\\\"231.5\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.5\\\"/><text x=\\\"155.31\\\" y=\\\"258.84\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Bɢ</text><circle cx=\\\"139.5\\\" cy=\\\"139.5\\\" r=\\\"12\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2.5\\\"/><text x=\\\"139.5\\\" y=\\\"144.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"128.5\\\" y=\\\"77.5\\\" width=\\\"22\\\" height=\\\"22\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2.2\\\"/><text x=\\\"139.5\\\" y=\\\"93.5\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><path d=\\\"M120.5,71.5 a24,24 0 1,0 39,0\\\" fill=\\\"none\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"1.2\\\" stroke-dasharray=\\\"3 3\\\"/></svg><div id=\\\"restriction\\\" data-map-node data-map-label=\\\"B は t=2 に x を占有しない\\\" class=\\\"node soft\\\" style=\\\"left:427px;top:210px;width:270px;height:130px\\\"><strong>B は t=2 に x を占有しない</strong><span class=\\\"sub\\\">修正の一例：r で待機</span></div><div class=\\\"label\\\" style=\\\"left:72px;top:450px;width:300px\\\">修正前 · t=2</div><div class=\\\"label\\\" style=\\\"left:724px;top:450px;width:300px\\\">修正後 · t=2</div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"\\\" style=\\\"position:absolute;left:32px;top:510px;width:1055px;height:210px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1055 210\\\"><text x=\\\"187.08333333333331\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"341.25\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"495.41666666666663\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"649.5833333333333\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"803.75\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"957.9166666666665\\\" y=\\\"22\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"43\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"128.5\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"187.08333333333331\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A₀</text><rect x=\\\"282.6666666666667\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"341.25\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">p</text><rect x=\\\"436.8333333333333\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"495.41666666666663\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"590.9999999999999\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"649.5833333333333\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">q</text><rect x=\\\"745.1666666666666\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"803.75\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><rect x=\\\"899.3333333333331\\\" y=\\\"46\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"957.9166666666665\\\" y=\\\"74\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Aɢ</text><text x=\\\"43\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"128.5\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"187.08333333333331\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"282.6666666666667\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"341.25\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"436.8333333333333\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"495.41666666666663\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">r</text><rect x=\\\"590.9999999999999\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"649.5833333333333\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">x</text><rect x=\\\"745.1666666666666\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"803.75\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">s</text><rect x=\\\"899.3333333333331\\\" y=\\\"108\\\" width=\\\"117.16666666666666\\\" height=\\\"44\\\" rx=\\\"5\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"957.9166666666665\\\" y=\\\"136\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Bɢ</text><text x=\\\"527.5\\\" y=\\\"185\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A は t=2、B は t=3 に x を通過</text></svg><div class=\\\"small-note\\\" style=\\\"left:32px;top:735px;width:1055px\\\">説明用の例（Illustrative example）・同じ四地点を訪問し、到着後は各自の目的地に留まります。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}}, \"links\": {}, \"related\": [], \"sequence\": [\"stage-03\", \"stage-04\", \"restriction\"], \"caption\": {\"en\": \"Stages 03–04, illustrative example. B waits at r at t=2, then crosses x at t=3. The exact schedule visits all four targets without vertex or edge-swap collisions.\", \"zh\": \"03–04，教学示例。B 在 t=2 留在 r 等待，t=3 再通过 x。图示时序访问全部四个任务点，且没有同格或迎面换位碰撞。\", \"ja\": \"03–04 の説明用の例です。B は t=2 に r で待ち、t=3 に x を通ります。この時系列は四地点を訪問し、同時占有や位置の交換による衝突を避けます。\"}, \"source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11127663\", \"source_refs\": [\"icbss-paper\"], \"evidence_kind\": \"illustrative_example\", \"stages\": [\"03\", \"04\"]}, \"ta-cbwh-overview\": {\"title\": \"TA-CBWH · 同一仓库，四步串起来\", \"width\": 1120, \"height\": 720, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:720px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">ONE WAREHOUSE · TWO LEVELS OF SEARCH</div><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · Define rewards and costs\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:110px;width:235px;height:145px\\\"><strong>01 · Define rewards and costs</strong><span class=\\\"sub\\\">P:14 · Q:10 · 1/step</span></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · Compare the lowest gain\\\" class=\\\"node soft\\\" style=\\\"left:305px;top:110px;width:235px;height:145px\\\"><strong>02 · Compare the lowest gain</strong><span class=\\\"sub\\\">Gain = reward − arrival cost</span></div><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · Improve a fixed assignment\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:110px;width:235px;height:145px\\\"><strong>03 · Improve a fixed assignment</strong><span class=\\\"sub\\\">Keep X · improve its routes</span></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · Try another assignment\\\" class=\\\"node soft\\\" style=\\\"left:855px;top:110px;width:235px;height:145px\\\"><strong>04 · Try another assignment</strong><span class=\\\"sub\\\">Consider Y · solve its routes</span></div><div class=\\\"connection\\\" data-from=\\\"stage-01\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:265px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-02\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:540px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-04\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:815px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:255px;width:65.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:320px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:422.5px;top:320px;width:65.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:463px;top:296px;width:195px\\\">Score updated routes</div><div class=\\\"connection\\\" data-from=\\\"stage-04\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:972.5px;top:255px;width:123.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:972.5px;top:378px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:697.5px;top:378px;width:123.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:735px;top:354px;width:210px\\\">Allocate more computation</div><div id=\\\"case-X0\\\" data-map-node data-map-label=\\\"X₀ · B waits once\\\" class=\\\"node \\\" style=\\\"left:30px;top:445px;width:320px;height:118px\\\"><strong>X₀ · B waits once</strong><span class=\\\"sub\\\">Gains (12, 2) · minimum 2</span></div><div id=\\\"case-X\\\" data-map-node data-map-label=\\\"X · remove that wait\\\" class=\\\"node \\\" style=\\\"left:400px;top:445px;width:320px;height:118px\\\"><strong>X · remove that wait</strong><span class=\\\"sub\\\">Gains (12, 3) · minimum 3</span></div><div id=\\\"case-Y\\\" data-map-node data-map-label=\\\"Y · exchange the tasks\\\" class=\\\"node soft\\\" style=\\\"left:770px;top:445px;width:320px;height:118px\\\"><strong>Y · exchange the tasks</strong><span class=\\\"sub\\\">Gains (8, 7) · minimum 7</span></div><div class=\\\"connection\\\" data-from=\\\"case-X0\\\" data-to=\\\"case-X\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:350px;top:504.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"case-X\\\" data-to=\\\"case-Y\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:720px;top:504.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"small-note\\\" style=\\\"left:32px;top:625px;width:1055px\\\">Illustrative candidate changes · 01–02 open the map and scoring rule; 03–04 open the exact candidate schedules.</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:720px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">同一仓库 · 两层搜索</div><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 定义收益与成本\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:110px;width:235px;height:145px\\\"><strong>01 · 定义收益与成本</strong><span class=\\\"sub\\\">P:14 · Q:10 · 每步1</span></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 比较最低净收益\\\" class=\\\"node soft\\\" style=\\\"left:305px;top:110px;width:235px;height:145px\\\"><strong>02 · 比较最低净收益</strong><span class=\\\"sub\\\">净收益 = 任务收益 − 到达成本</span></div><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 改进固定分配\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:110px;width:235px;height:145px\\\"><strong>03 · 改进固定分配</strong><span class=\\\"sub\\\">保持 X · 改善路线</span></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 尝试另一种分配\\\" class=\\\"node soft\\\" style=\\\"left:855px;top:110px;width:235px;height:145px\\\"><strong>04 · 尝试另一种分配</strong><span class=\\\"sub\\\">考察 Y · 求解路线</span></div><div class=\\\"connection\\\" data-from=\\\"stage-01\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:265px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-02\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:540px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-04\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:815px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:255px;width:65.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:320px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:422.5px;top:320px;width:65.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:463px;top:296px;width:195px\\\">重新评价路线</div><div class=\\\"connection\\\" data-from=\\\"stage-04\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:972.5px;top:255px;width:123.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:972.5px;top:378px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:697.5px;top:378px;width:123.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:735px;top:354px;width:210px\\\">分配后续计算</div><div id=\\\"case-X0\\\" data-map-node data-map-label=\\\"X₀ · B 多等一步\\\" class=\\\"node \\\" style=\\\"left:30px;top:445px;width:320px;height:118px\\\"><strong>X₀ · B 多等一步</strong><span class=\\\"sub\\\">净收益 (12,2) · 最低 2</span></div><div id=\\\"case-X\\\" data-map-node data-map-label=\\\"X · 去掉这次等待\\\" class=\\\"node \\\" style=\\\"left:400px;top:445px;width:320px;height:118px\\\"><strong>X · 去掉这次等待</strong><span class=\\\"sub\\\">净收益 (12,3) · 最低 3</span></div><div id=\\\"case-Y\\\" data-map-node data-map-label=\\\"Y · 交换任务归属\\\" class=\\\"node soft\\\" style=\\\"left:770px;top:445px;width:320px;height:118px\\\"><strong>Y · 交换任务归属</strong><span class=\\\"sub\\\">净收益 (8,7) · 最低 7</span></div><div class=\\\"connection\\\" data-from=\\\"case-X0\\\" data-to=\\\"case-X\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:350px;top:504.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"case-X\\\" data-to=\\\"case-Y\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:720px;top:504.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"small-note\\\" style=\\\"left:32px;top:625px;width:1055px\\\">人工构造的候选变化 · 01–02 展开地图与评分；03–04 展开同一组候选的精确时序。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:720px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">一つの倉庫 · 二つの探索段階</div><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 報酬とコストを設定\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:110px;width:235px;height:145px\\\"><strong>01 · 報酬とコストを設定</strong><span class=\\\"sub\\\">P:14 · Q:10 · 一歩1</span></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 最小利益を比べる\\\" class=\\\"node soft\\\" style=\\\"left:305px;top:110px;width:235px;height:145px\\\"><strong>02 · 最小利益を比べる</strong><span class=\\\"sub\\\">純利益 = 報酬 − 到着コスト</span></div><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 担当を固定して改善\\\" class=\\\"node soft\\\" style=\\\"left:580px;top:110px;width:235px;height:145px\\\"><strong>03 · 担当を固定して改善</strong><span class=\\\"sub\\\">X を保持 · 経路を改善</span></div><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 別の担当案を試す\\\" class=\\\"node soft\\\" style=\\\"left:855px;top:110px;width:235px;height:145px\\\"><strong>04 · 別の担当案を試す</strong><span class=\\\"sub\\\">Y を検討 · 経路を求める</span></div><div class=\\\"connection\\\" data-from=\\\"stage-01\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:265px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-02\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:540px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-04\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:815px;top:182.5px;width:40.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"stage-03\\\" data-to=\\\"stage-02\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:255px;width:65.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:697.5px;top:320px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:422.5px;top:320px;width:65.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:463px;top:296px;width:195px\\\">改善した経路を評価</div><div class=\\\"connection\\\" data-from=\\\"stage-04\\\" data-to=\\\"stage-03\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:972.5px;top:255px;width:123.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:972.5px;top:378px;width:275.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:697.5px;top:378px;width:123.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:735px;top:354px;width:210px\\\">次の計算を配分</div><div id=\\\"case-X0\\\" data-map-node data-map-label=\\\"X₀ · B が一歩待機\\\" class=\\\"node \\\" style=\\\"left:30px;top:445px;width:320px;height:118px\\\"><strong>X₀ · B が一歩待機</strong><span class=\\\"sub\\\">利益 (12,2) · 最小 2</span></div><div id=\\\"case-X\\\" data-map-node data-map-label=\\\"X · その待機を除く\\\" class=\\\"node \\\" style=\\\"left:400px;top:445px;width:320px;height:118px\\\"><strong>X · その待機を除く</strong><span class=\\\"sub\\\">利益 (12,3) · 最小 3</span></div><div id=\\\"case-Y\\\" data-map-node data-map-label=\\\"Y · 作業の担当を交換\\\" class=\\\"node soft\\\" style=\\\"left:770px;top:445px;width:320px;height:118px\\\"><strong>Y · 作業の担当を交換</strong><span class=\\\"sub\\\">利益 (8,7) · 最小 7</span></div><div class=\\\"connection\\\" data-from=\\\"case-X0\\\" data-to=\\\"case-X\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:350px;top:504.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"case-X\\\" data-to=\\\"case-Y\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:720px;top:504.0px;width:50.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"small-note\\\" style=\\\"left:32px;top:625px;width:1055px\\\">説明用に構成した候補の変化・01–02 は地図と評価、03–04 は同じ候補の時系列へ。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}}, \"links\": {\"stage-01\": \"ta-cbwh-objective-detail\", \"stage-02\": \"ta-cbwh-objective-detail\", \"stage-03\": \"ta-cbwh-search-detail\", \"stage-04\": \"ta-cbwh-search-detail\", \"case-X0\": \"ta-cbwh-search-detail\", \"case-X\": \"ta-cbwh-search-detail\", \"case-Y\": \"ta-cbwh-search-detail\"}, \"related\": [\"ta-cbwh-objective-detail\", \"ta-cbwh-search-detail\"], \"sequence\": [\"stage-01\", \"stage-02\", \"stage-03\", \"stage-04\", \"case-X0\", \"case-X\", \"case-Y\"], \"caption\": {\"en\": \"One constructed warehouse connects rewards, candidate scoring, fixed-assignment route improvement and switching between assignments. Stages 01–02 expand in the map-and-gain view; 03–04 in the candidate timeline. Method based on the authors’ abstract.\", \"zh\": \"同一教学仓库串起收益成本、候选评分、固定分配下的路线改进，以及分配间切换。01–02 在地图与收益图展开，03–04 在候选时序图展开。方法根据作者摘要整理。\", \"ja\": \"一つの説明用倉庫で、報酬とコスト、候補評価、固定担当での経路改善、担当案の切替えを結びます。01–02 は地図と利益、03–04 は候補時系列で展開します。手法は著者の要旨に基づきます。\"}, \"source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"source_refs\": [\"ta-cbwh-paper\"], \"evidence_kind\": \"method_contract\", \"stages\": [\"01\", \"02\", \"03\", \"04\"]}, \"ta-cbwh-objective-detail\": {\"title\": \"TA-CBWH · 01–02：成本与收益\", \"width\": 1120, \"height\": 790, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:790px\\\"><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · Define rewards and costs\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:440px;height:84px\\\"><strong>01 · Define rewards and costs</strong></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · Compare the lowest gain\\\" class=\\\"node soft\\\" style=\\\"left:510px;top:28px;width:580px;height:84px\\\"><strong>02 · Compare the lowest gain</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"One warehouse used for X0, X and Y\\\" style=\\\"position:absolute;left:48px;top:170px;width:400px;height:400px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 400 400\\\"><line x1=\\\"75\\\" y1=\\\"282\\\" x2=\\\"135\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"135\\\" y1=\\\"282\\\" x2=\\\"195\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"282\\\" x2=\\\"255\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"255\\\" y1=\\\"282\\\" x2=\\\"315\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"282\\\" x2=\\\"195\\\" y2=\\\"232\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"232\\\" x2=\\\"195\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"182\\\" x2=\\\"195\\\" y2=\\\"132\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"132\\\" x2=\\\"195\\\" y2=\\\"82\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"82\\\" x2=\\\"195\\\" y2=\\\"32\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><rect x=\\\"183\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><circle cx=\\\"195\\\" cy=\\\"282\\\" r=\\\"16\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2\\\"/><text x=\\\"195\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"123\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"135\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"63\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"75\\\" y=\\\"288\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"243\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"255\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"303\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"315\\\" y=\\\"288\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"183\\\" y=\\\"220\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"237\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"183\\\" y=\\\"170\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"187\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"183\\\" y=\\\"120\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"137\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"183\\\" y=\\\"70\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"87\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"183\\\" y=\\\"20\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><circle cx=\\\"195\\\" cy=\\\"32\\\" r=\\\"16\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2\\\"/><text x=\\\"195\\\" y=\\\"37\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><text x=\\\"195\\\" y=\\\"318\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀ = h</text><text x=\\\"195\\\" y=\\\"9\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><text x=\\\"75\\\" y=\\\"346\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">P · reward 14</text><text x=\\\"315\\\" y=\\\"346\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Q · reward 10</text><text x=\\\"52\\\" y=\\\"135\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B: 5 steps</text><text x=\\\"52\\\" y=\\\"157\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">to junction h</text><text x=\\\"190\\\" y=\\\"383\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P/Q: 2 · B→P/Q: 7</text></svg><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"One scoring rule applied to three candidate states\\\" style=\\\"position:absolute;left:510px;top:165px;width:565px;height:485px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 565 485\\\"><text x=\\\"30\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Plan</text><text x=\\\"210\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><text x=\\\"375\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><text x=\\\"510\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Min</text><line x1=\\\"0\\\" y1=\\\"43\\\" x2=\\\"560\\\" y2=\\\"43\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"83\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">X₀</text><text x=\\\"210\\\" y=\\\"77\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → P</text><text x=\\\"210\\\" y=\\\"112\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 2 = 12</text><text x=\\\"375\\\" y=\\\"77\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → Q</text><text x=\\\"375\\\" y=\\\"112\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 8 = 2</text><rect x=\\\"474\\\" y=\\\"60\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"510\\\" y=\\\"103\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">2</text><text x=\\\"30\\\" y=\\\"148\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Total 14</text><line x1=\\\"0\\\" y1=\\\"186\\\" x2=\\\"560\\\" y2=\\\"186\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"226\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">X</text><text x=\\\"210\\\" y=\\\"220\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → P</text><text x=\\\"210\\\" y=\\\"255\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 2 = 12</text><text x=\\\"375\\\" y=\\\"220\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → Q</text><text x=\\\"375\\\" y=\\\"255\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 7 = 3</text><rect x=\\\"474\\\" y=\\\"203\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"510\\\" y=\\\"246\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">3</text><text x=\\\"30\\\" y=\\\"291\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Total 15</text><line x1=\\\"0\\\" y1=\\\"329\\\" x2=\\\"560\\\" y2=\\\"329\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"369\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">Y</text><text x=\\\"210\\\" y=\\\"363\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → Q</text><text x=\\\"210\\\" y=\\\"398\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 2 = 8</text><text x=\\\"375\\\" y=\\\"363\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → P</text><text x=\\\"375\\\" y=\\\"398\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 7 = 7</text><rect x=\\\"474\\\" y=\\\"346\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"510\\\" y=\\\"389\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">7</text><text x=\\\"30\\\" y=\\\"434\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Total 15</text></svg><div id=\\\"cost-rule\\\" data-map-node data-map-label=\\\"Each step before arrival costs 1\\\" class=\\\"node \\\" style=\\\"left:45px;top:605px;width:420px;height:90px\\\"><strong>Each step before arrival costs 1</strong><span class=\\\"sub\\\">Moving and waiting both count</span></div><div class=\\\"label\\\" style=\\\"left:525px;top:662px;width:550px\\\">X and Y total 15; Y has the higher minimum.</div><div class=\\\"small-note\\\" style=\\\"left:32px;top:735px;width:1055px\\\">Illustrative example · rewards, costs and updates are constructed. All candidate routes are shown in the next view.</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:790px\\\"><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 定义收益与成本\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:440px;height:84px\\\"><strong>01 · 定义收益与成本</strong></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 比较最低净收益\\\" class=\\\"node soft\\\" style=\\\"left:510px;top:28px;width:580px;height:84px\\\"><strong>02 · 比较最低净收益</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"X₀、X、Y 使用的同一仓库\\\" style=\\\"position:absolute;left:48px;top:170px;width:400px;height:400px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 400 400\\\"><line x1=\\\"75\\\" y1=\\\"282\\\" x2=\\\"135\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"135\\\" y1=\\\"282\\\" x2=\\\"195\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"282\\\" x2=\\\"255\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"255\\\" y1=\\\"282\\\" x2=\\\"315\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"282\\\" x2=\\\"195\\\" y2=\\\"232\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"232\\\" x2=\\\"195\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"182\\\" x2=\\\"195\\\" y2=\\\"132\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"132\\\" x2=\\\"195\\\" y2=\\\"82\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"82\\\" x2=\\\"195\\\" y2=\\\"32\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><rect x=\\\"183\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><circle cx=\\\"195\\\" cy=\\\"282\\\" r=\\\"16\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2\\\"/><text x=\\\"195\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"123\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"135\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"63\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"75\\\" y=\\\"288\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"243\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"255\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"303\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"315\\\" y=\\\"288\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"183\\\" y=\\\"220\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"237\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"183\\\" y=\\\"170\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"187\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"183\\\" y=\\\"120\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"137\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"183\\\" y=\\\"70\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"87\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"183\\\" y=\\\"20\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><circle cx=\\\"195\\\" cy=\\\"32\\\" r=\\\"16\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2\\\"/><text x=\\\"195\\\" y=\\\"37\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><text x=\\\"195\\\" y=\\\"318\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀ = h</text><text x=\\\"195\\\" y=\\\"9\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><text x=\\\"75\\\" y=\\\"346\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">P · 收益 14</text><text x=\\\"315\\\" y=\\\"346\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Q · 收益 10</text><text x=\\\"52\\\" y=\\\"135\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B：5 步</text><text x=\\\"52\\\" y=\\\"157\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">到岔口 h</text><text x=\\\"190\\\" y=\\\"383\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P/Q：2 · B→P/Q：7</text></svg><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"同一评分规则用于三份候选状态\\\" style=\\\"position:absolute;left:510px;top:165px;width:565px;height:485px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 565 485\\\"><text x=\\\"30\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">方案</text><text x=\\\"210\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><text x=\\\"375\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><text x=\\\"510\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">最低</text><line x1=\\\"0\\\" y1=\\\"43\\\" x2=\\\"560\\\" y2=\\\"43\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"83\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">X₀</text><text x=\\\"210\\\" y=\\\"77\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → P</text><text x=\\\"210\\\" y=\\\"112\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 2 = 12</text><text x=\\\"375\\\" y=\\\"77\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → Q</text><text x=\\\"375\\\" y=\\\"112\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 8 = 2</text><rect x=\\\"474\\\" y=\\\"60\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"510\\\" y=\\\"103\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">2</text><text x=\\\"30\\\" y=\\\"148\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">总和 14</text><line x1=\\\"0\\\" y1=\\\"186\\\" x2=\\\"560\\\" y2=\\\"186\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"226\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">X</text><text x=\\\"210\\\" y=\\\"220\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → P</text><text x=\\\"210\\\" y=\\\"255\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 2 = 12</text><text x=\\\"375\\\" y=\\\"220\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → Q</text><text x=\\\"375\\\" y=\\\"255\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 7 = 3</text><rect x=\\\"474\\\" y=\\\"203\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"510\\\" y=\\\"246\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">3</text><text x=\\\"30\\\" y=\\\"291\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">总和 15</text><line x1=\\\"0\\\" y1=\\\"329\\\" x2=\\\"560\\\" y2=\\\"329\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"369\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">Y</text><text x=\\\"210\\\" y=\\\"363\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → Q</text><text x=\\\"210\\\" y=\\\"398\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 2 = 8</text><text x=\\\"375\\\" y=\\\"363\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → P</text><text x=\\\"375\\\" y=\\\"398\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 7 = 7</text><rect x=\\\"474\\\" y=\\\"346\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"510\\\" y=\\\"389\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">7</text><text x=\\\"30\\\" y=\\\"434\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">总和 15</text></svg><div id=\\\"cost-rule\\\" data-map-node data-map-label=\\\"到达前每步成本为 1\\\" class=\\\"node \\\" style=\\\"left:45px;top:605px;width:420px;height:90px\\\"><strong>到达前每步成本为 1</strong><span class=\\\"sub\\\">移动与等待都计入</span></div><div class=\\\"label\\\" style=\\\"left:525px;top:662px;width:550px\\\">X、Y 总和都是 15；Y 的最低值更高。</div><div class=\\\"small-note\\\" style=\\\"left:32px;top:735px;width:1055px\\\">教学示例（Illustrative example）· 收益、成本与更新均为构造；下一图展示三份候选的具体路线时刻。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:790px\\\"><div id=\\\"stage-01\\\" data-map-node data-map-label=\\\"01 · 報酬とコストを設定\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:28px;width:440px;height:84px\\\"><strong>01 · 報酬とコストを設定</strong></div><div id=\\\"stage-02\\\" data-map-node data-map-label=\\\"02 · 最小利益を比べる\\\" class=\\\"node soft\\\" style=\\\"left:510px;top:28px;width:580px;height:84px\\\"><strong>02 · 最小利益を比べる</strong></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"X₀、X、Y で共有する倉庫\\\" style=\\\"position:absolute;left:48px;top:170px;width:400px;height:400px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 400 400\\\"><line x1=\\\"75\\\" y1=\\\"282\\\" x2=\\\"135\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"135\\\" y1=\\\"282\\\" x2=\\\"195\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"282\\\" x2=\\\"255\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"255\\\" y1=\\\"282\\\" x2=\\\"315\\\" y2=\\\"282\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"282\\\" x2=\\\"195\\\" y2=\\\"232\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"232\\\" x2=\\\"195\\\" y2=\\\"182\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"182\\\" x2=\\\"195\\\" y2=\\\"132\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"132\\\" x2=\\\"195\\\" y2=\\\"82\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><line x1=\\\"195\\\" y1=\\\"82\\\" x2=\\\"195\\\" y2=\\\"32\\\" stroke=\\\"var(--diagram-line)\\\" stroke-width=\\\"2\\\"/><rect x=\\\"183\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><circle cx=\\\"195\\\" cy=\\\"282\\\" r=\\\"16\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-accent)\\\" stroke-width=\\\"2\\\"/><text x=\\\"195\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"123\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"135\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"63\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"75\\\" y=\\\"288\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"243\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"255\\\" y=\\\"287\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"303\\\" y=\\\"270\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"315\\\" y=\\\"288\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"183\\\" y=\\\"220\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"237\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"183\\\" y=\\\"170\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"187\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"183\\\" y=\\\"120\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"137\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"183\\\" y=\\\"70\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"195\\\" y=\\\"87\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"183\\\" y=\\\"20\\\" width=\\\"24\\\" height=\\\"24\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><circle cx=\\\"195\\\" cy=\\\"32\\\" r=\\\"16\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-ink)\\\" stroke-width=\\\"2\\\"/><text x=\\\"195\\\" y=\\\"37\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><text x=\\\"195\\\" y=\\\"318\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A₀ = h</text><text x=\\\"195\\\" y=\\\"9\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B₀</text><text x=\\\"75\\\" y=\\\"346\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">P · 報酬 14</text><text x=\\\"315\\\" y=\\\"346\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">Q · 報酬 10</text><text x=\\\"52\\\" y=\\\"135\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B：5 ステップ</text><text x=\\\"52\\\" y=\\\"157\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">分岐点 h まで</text><text x=\\\"190\\\" y=\\\"383\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P/Q：2 · B→P/Q：7</text></svg><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"同じ評価規則を三つの候補状態に適用\\\" style=\\\"position:absolute;left:510px;top:165px;width:565px;height:485px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 565 485\\\"><text x=\\\"30\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">案</text><text x=\\\"210\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A</text><text x=\\\"375\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B</text><text x=\\\"510\\\" y=\\\"20\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">最小</text><line x1=\\\"0\\\" y1=\\\"43\\\" x2=\\\"560\\\" y2=\\\"43\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"83\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">X₀</text><text x=\\\"210\\\" y=\\\"77\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → P</text><text x=\\\"210\\\" y=\\\"112\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 2 = 12</text><text x=\\\"375\\\" y=\\\"77\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → Q</text><text x=\\\"375\\\" y=\\\"112\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 8 = 2</text><rect x=\\\"474\\\" y=\\\"60\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"510\\\" y=\\\"103\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">2</text><text x=\\\"30\\\" y=\\\"148\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">合計 14</text><line x1=\\\"0\\\" y1=\\\"186\\\" x2=\\\"560\\\" y2=\\\"186\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"226\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">X</text><text x=\\\"210\\\" y=\\\"220\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → P</text><text x=\\\"210\\\" y=\\\"255\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 2 = 12</text><text x=\\\"375\\\" y=\\\"220\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → Q</text><text x=\\\"375\\\" y=\\\"255\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 7 = 3</text><rect x=\\\"474\\\" y=\\\"203\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"510\\\" y=\\\"246\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">3</text><text x=\\\"30\\\" y=\\\"291\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">合計 15</text><line x1=\\\"0\\\" y1=\\\"329\\\" x2=\\\"560\\\" y2=\\\"329\\\" stroke=\\\"var(--diagram-border)\\\" stroke-width=\\\"1.3\\\"/><text x=\\\"28\\\" y=\\\"369\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"22\\\" font-weight=\\\"400\\\">Y</text><text x=\\\"210\\\" y=\\\"363\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A → Q</text><text x=\\\"210\\\" y=\\\"398\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">10 − 2 = 8</text><text x=\\\"375\\\" y=\\\"363\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">B → P</text><text x=\\\"375\\\" y=\\\"398\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">14 − 7 = 7</text><rect x=\\\"474\\\" y=\\\"346\\\" width=\\\"72\\\" height=\\\"67\\\" rx=\\\"7\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"510\\\" y=\\\"389\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"26\\\" font-weight=\\\"400\\\">7</text><text x=\\\"30\\\" y=\\\"434\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">合計 15</text></svg><div id=\\\"cost-rule\\\" data-map-node data-map-label=\\\"到着前の一ステップのコストは 1\\\" class=\\\"node \\\" style=\\\"left:45px;top:605px;width:420px;height:90px\\\"><strong>到着前の一ステップのコストは 1</strong><span class=\\\"sub\\\">移動も待機も含む</span></div><div class=\\\"label\\\" style=\\\"left:525px;top:662px;width:550px\\\">X と Y の合計は 15。最小値は Y が高い。</div><div class=\\\"small-note\\\" style=\\\"left:32px;top:735px;width:1055px\\\">説明用の例（Illustrative example）・報酬、コスト、更新は構成したものです。次の図で三案の経路時刻を示します。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}}, \"links\": {}, \"related\": [], \"sequence\": [\"stage-01\", \"stage-02\", \"cost-rule\"], \"caption\": {\"en\": \"Stages 01–02, illustrative utility units. P pays 14 and Q pays 10; every step before arrival costs 1. The same scoring rule gives minimum gains 2, 3 and 7 for the candidate states X₀, X and Y.\", \"zh\": \"01–02，数值为教学效用单位。P 收益 14、Q 收益 10，到达前每步成本 1。同一评分规则使 X₀、X、Y 的最低净收益分别为 2、3、7。\", \"ja\": \"01–02、数値は説明用の効用単位です。報酬は P が 14、Q が 10、到着前の一ステップのコストは 1。同じ評価規則で X₀、X、Y の最小利益は 2、3、7 となります。\"}, \"source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"source_refs\": [\"ta-cbwh-paper\"], \"evidence_kind\": \"illustrative_example\", \"stages\": [\"01\", \"02\"]}, \"ta-cbwh-search-detail\": {\"title\": \"TA-CBWH · 03–04：路线与分配\", \"width\": 1120, \"height\": 965, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:965px\\\"><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · Improve a fixed assignment\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:26px;width:1060px;height:94px\\\"><strong>03 · Improve a fixed assignment</strong><span class=\\\"sub\\\">ILP: express feasible choices · LNS: reoptimize a selected part</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Constructed candidate X₀ schedule\\\" style=\\\"position:absolute;left:30px;top:150px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">X₀</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P · B→Q</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Gains (12, 2)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Minimum 2</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text></svg><div class=\\\"label\\\" style=\\\"left:280px;top:313px;width:650px\\\">Keep A’s route · remove B’s extra wait at B₀</div><i class=\\\"edge arrow feedback\\\" style=\\\"left:135px;top:294px;width:65px;transform:rotate(90deg)\\\"></i><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Constructed candidate X schedule\\\" style=\\\"position:absolute;left:30px;top:375px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">X</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P · B→Q</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Gains (12, 3)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Minimum 3</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text></svg><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · Try another assignment\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:570px;width:1060px;height:94px\\\"><strong>04 · Try another assignment</strong><span class=\\\"sub\\\">A→Q · B→P: solve for another assignment</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"Constructed candidate Y schedule\\\" style=\\\"position:absolute;left:30px;top:710px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">Y</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→Q · B→P</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Gains (8, 7)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Minimum 7</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text></svg><div class=\\\"small-note\\\" style=\\\"left:32px;top:902px;width:1055px\\\">Illustrative example · highlighted cells mark arrival or the extra wait. Every schedule uses the same graph and cost rule.</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:965px\\\"><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 改进固定分配\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:26px;width:1060px;height:94px\\\"><strong>03 · 改进固定分配</strong><span class=\\\"sub\\\">ILP：表达可行选择 · LNS：选出一部分重新优化</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"构造候选 X₀ 的时序\\\" style=\\\"position:absolute;left:30px;top:150px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">X₀</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P · B→Q</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">净收益 (12, 2)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">最低 2</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text></svg><div class=\\\"label\\\" style=\\\"left:280px;top:313px;width:650px\\\">保留 A 路线 · 去掉 B 在 B₀ 的额外等待</div><i class=\\\"edge arrow feedback\\\" style=\\\"left:135px;top:294px;width:65px;transform:rotate(90deg)\\\"></i><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"构造候选 X 的时序\\\" style=\\\"position:absolute;left:30px;top:375px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">X</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P · B→Q</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">净收益 (12, 3)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">最低 3</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text></svg><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 尝试另一种分配\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:570px;width:1060px;height:94px\\\"><strong>04 · 尝试另一种分配</strong><span class=\\\"sub\\\">A→Q · B→P：在另一种分配下求解</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"构造候选 Y 的时序\\\" style=\\\"position:absolute;left:30px;top:710px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">Y</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→Q · B→P</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">净收益 (8, 7)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">最低 7</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text></svg><div class=\\\"small-note\\\" style=\\\"left:32px;top:902px;width:1055px\\\">教学示例（Illustrative example）· 高亮格表示到达或额外等待；三份时序使用同一道路图与成本规则。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:965px\\\"><div id=\\\"stage-03\\\" data-map-node data-map-label=\\\"03 · 担当を固定して改善\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:26px;width:1060px;height:94px\\\"><strong>03 · 担当を固定して改善</strong><span class=\\\"sub\\\">ILP：実行可能な選択を表す · LNS：選んだ部分を再最適化</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"構成候補 X₀ の時系列\\\" style=\\\"position:absolute;left:30px;top:150px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">X₀</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P · B→Q</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">利益 (12, 2)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">最小 2</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text></svg><div class=\\\"label\\\" style=\\\"left:280px;top:313px;width:650px\\\">A の経路を保持 · B₀ での B の余分な待機を除く</div><i class=\\\"edge arrow feedback\\\" style=\\\"left:135px;top:294px;width:65px;transform:rotate(90deg)\\\"></i><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"構成候補 X の時系列\\\" style=\\\"position:absolute;left:30px;top:375px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">X</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→P · B→Q</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">利益 (12, 3)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">最小 3</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text></svg><div id=\\\"stage-04\\\" data-map-node data-map-label=\\\"04 · 別の担当案を試す\\\" class=\\\"node soft\\\" style=\\\"left:30px;top:570px;width:1060px;height:94px\\\"><strong>04 · 別の担当案を試す</strong><span class=\\\"sub\\\">A→Q · B→P：別の担当案で求める</span></div><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" aria-label=\\\"構成候補 Y の時系列\\\" style=\\\"position:absolute;left:30px;top:710px;width:1060px;height:154px;font-family:Arial,Microsoft YaHei,Yu Gothic,sans-serif;overflow:visible\\\" viewBox=\\\"0 0 1060 154\\\"><text x=\\\"25\\\" y=\\\"30\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"24\\\" font-weight=\\\"400\\\">Y</text><text x=\\\"25\\\" y=\\\"61\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">A→Q · B→P</text><text x=\\\"25\\\" y=\\\"95\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">利益 (8, 7)</text><text x=\\\"25\\\" y=\\\"126\\\" text-anchor=\\\"start\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">最小 7</text><text x=\\\"305\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=0</text><text x=\\\"385\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=1</text><text x=\\\"465\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=2</text><text x=\\\"545\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=3</text><text x=\\\"625\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=4</text><text x=\\\"705\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=5</text><text x=\\\"785\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=6</text><text x=\\\"865\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=7</text><text x=\\\"945\\\" y=\\\"17\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-muted)\\\" font-size=\\\"14\\\" font-weight=\\\"400\\\">t=8</text><text x=\\\"225\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-accent)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">A</text><rect x=\\\"274\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"354\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">R</text><rect x=\\\"434\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"465\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"514\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"594\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"674\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"754\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"834\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"865\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><rect x=\\\"914\\\" y=\\\"36\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"60\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">Q</text><text x=\\\"225\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"18\\\" font-weight=\\\"400\\\">B</text><rect x=\\\"274\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"305\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">B₀</text><rect x=\\\"354\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"385\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v4</text><rect x=\\\"434\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"465\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v3</text><rect x=\\\"514\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"545\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v2</text><rect x=\\\"594\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"625\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">v1</text><rect x=\\\"674\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"705\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">h</text><rect x=\\\"754\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"785\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">L</text><rect x=\\\"834\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-soft)\\\" stroke=\\\"var(--diagram-accent)\\\"/><text x=\\\"865\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text><rect x=\\\"914\\\" y=\\\"95\\\" width=\\\"62\\\" height=\\\"38\\\" rx=\\\"4\\\" fill=\\\"var(--diagram-paper)\\\" stroke=\\\"var(--diagram-border)\\\"/><text x=\\\"945\\\" y=\\\"119\\\" text-anchor=\\\"middle\\\" fill=\\\"var(--diagram-ink)\\\" font-size=\\\"16\\\" font-weight=\\\"400\\\">P</text></svg><div class=\\\"small-note\\\" style=\\\"left:32px;top:902px;width:1055px\\\">説明用の例（Illustrative example）・強調マスは到着または余分な待機です。三つの時系列は同じ地図とコスト規則を使います。</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.canvas svg text{font-weight:400}.canvas svg{pointer-events:none}.canvas .sub{font-size:14px}\\n\"}}, \"links\": {}, \"related\": [], \"sequence\": [\"stage-03\", \"stage-04\"], \"caption\": {\"en\": \"Stages 03–04, constructed candidate sequence. X₀→X removes B’s extra wait while keeping the assignment; X→Y changes task ownership and routes. The two kinds of change explain the method’s within-assignment improvement and between-assignment search, based on the authors’ abstract.\", \"zh\": \"03–04，人工构造的候选变化。X₀→X 保持任务分配，去掉 B 的额外等待；X→Y 改变任务归属并重新安排路线。这两类变化对应分配内改进和分配间搜索，方法结构根据作者摘要整理。\", \"ja\": \"03–04、説明用に構成した候補の変化です。X₀→X は担当を保って B の余分な待機を除き、X→Y は担当と経路を変えます。著者の要旨にある担当内の改善と担当間の探索を、この二種類の変化で説明します。\"}, \"source_url\": \"https://doi.org/10.1109/ICRA55743.2025.11128316\", \"source_refs\": [\"ta-cbwh-paper\"], \"evidence_kind\": \"method_contract\", \"stages\": [\"03\", \"04\"]}, \"cod-overview\": {\"title\": \"CoD · 整体流程\", \"width\": 1120, \"height\": 685, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:685px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">One scene + “open the drawer”</div><div id=\\\"cod-chain\\\" data-map-node data-map-label=\\\"01 · Plan the chain\\\" class=\\\"node \\\" style=\\\"left:30px;top:140px;width:185px;height:155px\\\"><strong>01 · Plan the chain</strong><span class=\\\"sub\\\">desk → drawer → handle</span><span data-node-detail>The image and “open the drawer” first go to the vision-language model. It returns the short chain desk → drawer → black handle. This supplies both an order and a containment relation: look for the drawer within the desk, then for the handle within the drawer. The first search receives the original image and the word “desk”.</span></div><div id=\\\"cod-boxes\\\" data-map-node data-map-label=\\\"02 · Propose boxes\\\" class=\\\"node \\\" style=\\\"left:245px;top:140px;width:185px;height:155px\\\"><strong>02 · Propose boxes</strong><span class=\\\"sub\\\">Current image → boxes</span><span data-node-detail>At each level, Faster R-CNN receives the current image and produces candidate boxes. On the last level, that image is the drawer crop. Each box marks a region that the next stage can inspect against the phrase “black handle”. The proposals provide locations; the text-guided evaluation decides which location fits the instruction.</span></div><div id=\\\"cod-localize\\\" data-map-node data-map-label=\\\"03 · Select a box\\\" class=\\\"node soft\\\" style=\\\"left:460px;top:140px;width:185px;height:155px\\\"><strong>03 · Select a box</strong><span class=\\\"sub\\\">Boxes + target → accepted box</span><span data-node-detail>For each evaluated box, the program crops its pixels and asks Qwen2-VL how well they match “black handle”. The number of evaluations is limited in advance. Upper confidence bound (UCB) chooses which candidate to evaluate next, balancing its average score with how few times it has been examined. After this budget is spent, candidates are checked in average-score order. The program slightly varies brightness, rotation and scale; a candidate passes when its mean score is high enough and the range of scores is small enough. A rejected candidate leads to another box at this level. With no candidates, or no accepted candidate after the allowed retries, the chain stops.</span></div><div id=\\\"cod-crop\\\" data-map-node data-map-label=\\\"04 · Crop and advance\\\" class=\\\"node \\\" style=\\\"left:675px;top:140px;width:185px;height:155px\\\"><strong>04 · Crop and advance</strong><span class=\\\"sub\\\">Accepted box → crop + offset</span><span data-node-detail>An accepted desk box becomes the input image for finding the drawer; the accepted drawer box becomes the input for finding its handle. Steps 02 and 03 repeat on each new image. In the schematic, the desk begins at (120, 140) in the scene, and the drawer begins at (90, 80) inside the desk. The drawer crop’s origin in the scene is therefore (210, 220). Keeping this offset makes it possible to search locally without losing the object’s original location.</span></div><div id=\\\"cod-position\\\" data-map-node data-map-label=\\\"05 · Map to the scene\\\" class=\\\"node soft\\\" style=\\\"left:890px;top:140px;width:200px;height:155px\\\"><strong>05 · Map to the scene</strong><span class=\\\"sub\\\">Final part in scene coordinates</span><span data-node-detail>Suppose the selected handle box runs from (200, 90) to (320, 120) inside the drawer crop. Adding the drawer’s origin, (210, 220), gives the box (410, 310)–(530, 340) in the original scene. Its width and height remain 120 × 30 pixels. The localization output now carries a part name and a position that another module can use in that scene.</span></div><div class=\\\"connection\\\" data-from=\\\"cod-chain\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:215px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-boxes\\\" data-to=\\\"cod-localize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:430px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-localize\\\" data-to=\\\"cod-crop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:645px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-crop\\\" data-to=\\\"cod-position\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:860px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:880px;top:95px;width:210px\\\">Final target → 05</div><div class=\\\"connection\\\" data-from=\\\"cod-crop\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:767.5px;top:140px;width:45.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:767.5px;top:95px;width:430.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:337.5px;top:95px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:350px;top:63px;width:415px\\\">Next target: return the crop to 02</div><div id=\\\"cod-stop\\\" data-map-node data-map-label=\\\"Stop the chain\\\" class=\\\"node \\\" style=\\\"left:460px;top:385px;width:185px;height:80px\\\"><strong>Stop the chain</strong></div><div class=\\\"connection\\\" data-from=\\\"cod-localize\\\" data-to=\\\"cod-stop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:552.5px;top:295px;width:90.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:430px;top:322px;width:245px\\\">No accepted candidate</div><div class=\\\"stage\\\" style=\\\"left:30px;top:530px;width:395px\\\">A separate use across many images</div><div class=\\\"small-note\\\" style=\\\"left:30px;top:575px;width:395px\\\">Collect the localization results, then use them as supervision.</div><div id=\\\"cod-annotations\\\" data-map-node data-map-label=\\\"A dataset of part boxes\\\" class=\\\"node \\\" style=\\\"left:480px;top:555px;width:260px;height:100px\\\"><strong>A dataset of part boxes</strong><span class=\\\"sub\\\">Image · part name · box</span></div><div id=\\\"cod-train\\\" data-map-node data-map-label=\\\"Train a detector\\\" class=\\\"node soft\\\" style=\\\"left:830px;top:555px;width:260px;height:100px\\\"><strong>Train a detector</strong><span class=\\\"sub\\\">Predict part locations from images</span></div><div class=\\\"connection\\\" data-from=\\\"cod-position\\\" data-to=\\\"cod-annotations\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:990px;top:295px;width:215.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:990px;top:510px;width:380.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:610px;top:510px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:690px;top:480px;width:280px\\\">Repeat on many images</div><div class=\\\"connection\\\" data-from=\\\"cod-annotations\\\" data-to=\\\"cod-train\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:740px;top:605.0px;width:90.00px;transform:rotate(0.00deg)\\\"></i></div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\", \"title\": \"CoD · stages 01–05\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:685px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">一张场景图 +“打开抽屉”</div><div id=\\\"cod-chain\\\" data-map-node data-map-label=\\\"01 · 拆解寻找顺序\\\" class=\\\"node \\\" style=\\\"left:30px;top:140px;width:185px;height:155px\\\"><strong>01 · 拆解寻找顺序</strong><span class=\\\"sub\\\">桌子 → 抽屉 → 把手</span><span data-node-detail>完整图像与“打开抽屉”先交给视觉语言模型，得到桌子 → 抽屉 → 黑色把手这条短序列。它同时确定了寻找顺序和包含关系：抽屉在桌子里，把手在抽屉上。第一轮搜索接到的便是原始图像和“桌子”这个目标词。</span></div><div id=\\\"cod-boxes\\\" data-map-node data-map-label=\\\"02 · 生成候选框\\\" class=\\\"node \\\" style=\\\"left:245px;top:140px;width:185px;height:155px\\\"><strong>02 · 生成候选框</strong><span class=\\\"sub\\\">当前图像 → 候选框</span><span data-node-detail>每到一级，Faster R-CNN 都会读取当前图像，提出一组候选框。到最后一级，当前图像已经是抽屉的裁剪图。每个框指定一块待检查的区域，下一步再判断它与“黑色把手”是否匹配。候选框提供位置，文字引导的评估负责选出符合操作意图的位置。</span></div><div id=\\\"cod-localize\\\" data-map-node data-map-label=\\\"03 · 选择一个框\\\" class=\\\"node soft\\\" style=\\\"left:460px;top:140px;width:185px;height:155px\\\"><strong>03 · 选择一个框</strong><span class=\\\"sub\\\">框 + 目标词 → 通过的框</span><span data-node-detail>程序裁出被评估框内的图像，让 Qwen2-VL 判断它与“黑色把手”有多匹配。评分调用次数预先设定。置信上界（UCB）根据候选的平均分和已被评估的次数，决定下一次看哪个框：平均分高的框值得继续看，评估较少的框也保留探索机会。次数用尽后，程序按平均分依次检查候选，轻微改变亮度、旋转和尺度，要求平均分足够高、分数波动足够小。一个框未通过，就试当前层的下一个。当前层没有候选，或允许的重试结束后仍无候选通过，检测链便在这里停止。</span></div><div id=\\\"cod-crop\\\" data-map-node data-map-label=\\\"04 · 裁剪并继续\\\" class=\\\"node \\\" style=\\\"left:675px;top:140px;width:185px;height:155px\\\"><strong>04 · 裁剪并继续</strong><span class=\\\"sub\\\">通过的框 → 裁剪图 + 偏移</span><span data-node-detail>桌子框通过后，就裁出桌子，用它寻找抽屉；抽屉框通过后，再裁出抽屉，用它寻找把手。每张新图都重复步骤 02 和 03。在图中的示意坐标里，桌子从原图的 (120, 140) 开始，抽屉从桌子内的 (90, 80) 开始，所以抽屉图在原图中的原点是 (210, 220)。记住这个偏移，才能在局部越找越细的同时保留原来的位置。</span></div><div id=\\\"cod-position\\\" data-map-node data-map-label=\\\"05 · 映射回原图\\\" class=\\\"node soft\\\" style=\\\"left:890px;top:140px;width:200px;height:155px\\\"><strong>05 · 映射回原图</strong><span class=\\\"sub\\\">最终部件的原图坐标</span><span data-node-detail>假设选中的把手框，在抽屉图里从 (200, 90) 延伸到 (320, 120)。两个角点都加上抽屉图的原点 (210, 220)，便得到原图中的 (410, 310)–(530, 340)。框的宽高仍是 120 × 30 像素。至此，定位结果带着部件名称和原图位置，可以交给后续模块使用。</span></div><div class=\\\"connection\\\" data-from=\\\"cod-chain\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:215px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-boxes\\\" data-to=\\\"cod-localize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:430px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-localize\\\" data-to=\\\"cod-crop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:645px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-crop\\\" data-to=\\\"cod-position\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:860px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:880px;top:95px;width:210px\\\">最后一个目标 → 05</div><div class=\\\"connection\\\" data-from=\\\"cod-crop\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:767.5px;top:140px;width:45.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:767.5px;top:95px;width:430.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:337.5px;top:95px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:350px;top:63px;width:415px\\\">还有目标：新图回到 02</div><div id=\\\"cod-stop\\\" data-map-node data-map-label=\\\"结束检测链\\\" class=\\\"node \\\" style=\\\"left:460px;top:385px;width:185px;height:80px\\\"><strong>结束检测链</strong></div><div class=\\\"connection\\\" data-from=\\\"cod-localize\\\" data-to=\\\"cod-stop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:552.5px;top:295px;width:90.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:430px;top:322px;width:245px\\\">无候选通过</div><div class=\\\"stage\\\" style=\\\"left:30px;top:530px;width:395px\\\">在多张图像上重复后的用途</div><div class=\\\"small-note\\\" style=\\\"left:30px;top:575px;width:395px\\\">汇集多次定位的结果，再把它们用于监督学习。</div><div id=\\\"cod-annotations\\\" data-map-node data-map-label=\\\"部件框数据集\\\" class=\\\"node \\\" style=\\\"left:480px;top:555px;width:260px;height:100px\\\"><strong>部件框数据集</strong><span class=\\\"sub\\\">图像 · 部件名称 · 位置框</span></div><div id=\\\"cod-train\\\" data-map-node data-map-label=\\\"训练检测器\\\" class=\\\"node soft\\\" style=\\\"left:830px;top:555px;width:260px;height:100px\\\"><strong>训练检测器</strong><span class=\\\"sub\\\">学习从图像预测部件位置</span></div><div class=\\\"connection\\\" data-from=\\\"cod-position\\\" data-to=\\\"cod-annotations\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:990px;top:295px;width:215.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:990px;top:510px;width:380.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:610px;top:510px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:690px;top:480px;width:280px\\\">重复应用于多张图像</div><div class=\\\"connection\\\" data-from=\\\"cod-annotations\\\" data-to=\\\"cod-train\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:740px;top:605.0px;width:90.00px;transform:rotate(0.00deg)\\\"></i></div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\", \"title\": \"CoD · 步骤 01–05\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:685px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:1060px\\\">場面の画像 +「引き出しを開ける」</div><div id=\\\"cod-chain\\\" data-map-node data-map-label=\\\"01 · 探索順を決める\\\" class=\\\"node \\\" style=\\\"left:30px;top:140px;width:185px;height:155px\\\"><strong>01 · 探索順を決める</strong><span class=\\\"sub\\\">机 → 引き出し → 取っ手</span><span data-node-detail>場面の画像と「引き出しを開ける」を視覚言語モデルに渡すと、机 → 引き出し → 黒い取っ手という短い列が得られる。この列は順序と包含関係を定める。引き出しは机の中で、取っ手は引き出しの中で探す。最初の探索には、元画像と「机」という目標語を渡す。</span></div><div id=\\\"cod-boxes\\\" data-map-node data-map-label=\\\"02 · 候補枠を出す\\\" class=\\\"node \\\" style=\\\"left:245px;top:140px;width:185px;height:155px\\\"><strong>02 · 候補枠を出す</strong><span class=\\\"sub\\\">現在の画像 → 候補枠</span><span data-node-detail>各段階で Faster R-CNN が現在の画像を読み、候補ボックスを出す。最後の段階では、入力は引き出しの切り抜きだ。各ボックスが調べる領域を指定し、次の段階で「黒い取っ手」との一致を確かめる。候補が位置を与え、文章に基づく評価が操作の意図に合う位置を選ぶ。</span></div><div id=\\\"cod-localize\\\" data-map-node data-map-label=\\\"03 · 一つの枠を選ぶ\\\" class=\\\"node soft\\\" style=\\\"left:460px;top:140px;width:185px;height:155px\\\"><strong>03 · 一つの枠を選ぶ</strong><span class=\\\"sub\\\">枠 + 目標語 → 採用した枠</span><span data-node-detail>評価するボックス内の画素を切り抜き、Qwen2-VL に「黒い取っ手」との一致度を採点させる。評価回数の上限はあらかじめ決める。信頼上限（UCB）は平均点と評価済みの回数を併せて考え、次に調べる候補を選ぶ。高得点の候補を重視しつつ、評価の少ない候補も探索する。予算を使い終えたら平均点順に、明るさ・回転・倍率を少し変えて確認する。平均点が十分高く、点数の変動が小さければ採用する。不通過なら同じ段階の別候補へ進み、候補がない場合や再試行で採用できない場合は、そこで検出列を終える。</span></div><div id=\\\"cod-crop\\\" data-map-node data-map-label=\\\"04 · 切り抜いて進む\\\" class=\\\"node \\\" style=\\\"left:675px;top:140px;width:185px;height:155px\\\"><strong>04 · 切り抜いて進む</strong><span class=\\\"sub\\\">採用枠 → 切り抜き + ずれ</span><span data-node-detail>採用した机の領域を切り抜いて引き出しを探し、引き出しを切り抜いて取っ手を探す。新しい画像ごとに 02 と 03 を繰り返す。図では机の原点を元画像内の (120, 140)、引き出しの原点を机内の (90, 80) とする。したがって、引き出し画像の原点は元画像内の (210, 220) になる。このずれを記録すれば、局所的に細かく探しても元の位置を失わない。</span></div><div id=\\\"cod-position\\\" data-map-node data-map-label=\\\"05 · 元画像に戻す\\\" class=\\\"node soft\\\" style=\\\"left:890px;top:140px;width:200px;height:155px\\\"><strong>05 · 元画像に戻す</strong><span class=\\\"sub\\\">最後の部位を元画像の座標へ</span><span data-node-detail>選んだ取っ手のボックスが、引き出し画像内で (200, 90) から (320, 120) までだとする。両方の角に引き出しの原点 (210, 220) を足すと、元画像内の (410, 310)–(530, 340) が得られる。幅と高さは 120 × 30 画素のままだ。部位の名前と元画像上の位置がそろい、後段の処理に渡せる。</span></div><div class=\\\"connection\\\" data-from=\\\"cod-chain\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:215px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-boxes\\\" data-to=\\\"cod-localize\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:430px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-localize\\\" data-to=\\\"cod-crop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:645px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-crop\\\" data-to=\\\"cod-position\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:860px;top:217.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:880px;top:95px;width:210px\\\">最後の目標 → 05</div><div class=\\\"connection\\\" data-from=\\\"cod-crop\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:767.5px;top:140px;width:45.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:767.5px;top:95px;width:430.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:337.5px;top:95px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:350px;top:63px;width:415px\\\">次の目標：切り抜きを 02 へ</div><div id=\\\"cod-stop\\\" data-map-node data-map-label=\\\"検出列を終了\\\" class=\\\"node \\\" style=\\\"left:460px;top:385px;width:185px;height:80px\\\"><strong>検出列を終了</strong></div><div class=\\\"connection\\\" data-from=\\\"cod-localize\\\" data-to=\\\"cod-stop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:552.5px;top:295px;width:90.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:430px;top:322px;width:245px\\\">採用できる候補なし</div><div class=\\\"stage\\\" style=\\\"left:30px;top:530px;width:395px\\\">多くの画像で繰り返した後の用途</div><div class=\\\"small-note\\\" style=\\\"left:30px;top:575px;width:395px\\\">多くの位置推定結果を集め、教師データとして使う。</div><div id=\\\"cod-annotations\\\" data-map-node data-map-label=\\\"部位ボックスのデータセット\\\" class=\\\"node \\\" style=\\\"left:480px;top:555px;width:260px;height:100px\\\"><strong>部位ボックスのデータセット</strong><span class=\\\"sub\\\">画像 · 部位名 · ボックス</span></div><div id=\\\"cod-train\\\" data-map-node data-map-label=\\\"検出器を学習\\\" class=\\\"node soft\\\" style=\\\"left:830px;top:555px;width:260px;height:100px\\\"><strong>検出器を学習</strong><span class=\\\"sub\\\">画像から部位の位置を学ぶ</span></div><div class=\\\"connection\\\" data-from=\\\"cod-position\\\" data-to=\\\"cod-annotations\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:990px;top:295px;width:215.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:990px;top:510px;width:380.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:610px;top:510px;width:45.00px;transform:rotate(90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:690px;top:480px;width:280px\\\">多くの画像に繰り返す</div><div class=\\\"connection\\\" data-from=\\\"cod-annotations\\\" data-to=\\\"cod-train\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:740px;top:605.0px;width:90.00px;transform:rotate(0.00deg)\\\"></i></div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\", \"title\": \"CoD · 手順 01–05\"}}, \"links\": {\"cod-boxes\": \"cod-selection\", \"cod-localize\": \"cod-selection\", \"cod-crop\": \"cod-crops\", \"cod-position\": \"cod-crops\"}, \"related\": [\"cod-selection\", \"cod-crops\"], \"sequence\": [\"cod-chain\", \"cod-boxes\", \"cod-localize\", \"cod-crop\", \"cod-position\", \"cod-stop\", \"cod-annotations\", \"cod-train\"]}, \"cod-crops\": {\"title\": \"CoD · 从桌子找到把手\", \"width\": 1120, \"height\": 535, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:535px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:785px\\\">04 · Crop and advance</div><div class=\\\"stage\\\" style=\\\"left:855px;top:20px;width:235px\\\">05 · Map to the scene</div><div class=\\\"cod-panel\\\" id=\\\"cod-scene\\\" data-map-node data-map-label=\\\"Target: desk\\\" style=\\\"left:30px;top:90px\\\"><div class=\\\"cod-panel-title\\\">Target: desk</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:15.833px;width:215.000px;height:143.333px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:0.000px;top:0.000px;transform:scale(0.223958)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:120px;top:140px;width:760px;height:460px\\\"></div></div></div></div><span data-node-detail>The desk box is selected in the complete scene.</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:30px\\\"><strong>(120, 140)</strong>Desk origin in the scene</div><div class=\\\"cod-panel\\\" id=\\\"cod-desk\\\" data-map-node data-map-label=\\\"Target: drawer\\\" style=\\\"left:305px;top:90px\\\"><div class=\\\"cod-panel-title\\\">Target: drawer</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:22.434px;width:215.000px;height:130.132px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:-33.947px;top:-39.605px;transform:scale(0.282895)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:210px;top:220px;width:520px;height:240px\\\"></div></div></div></div><span data-node-detail>Only the accepted desk crop is searched for the drawer.</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:305px\\\"><strong>(90, 80)</strong>Drawer origin in the desk</div><div class=\\\"cod-panel\\\" id=\\\"cod-drawer\\\" data-map-node data-map-label=\\\"Target: black handle\\\" style=\\\"left:580px;top:90px\\\"><div class=\\\"cod-panel-title\\\">Target: black handle</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:37.885px;width:215.000px;height:99.231px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:-86.827px;top:-90.962px;transform:scale(0.413462)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:410px;top:310px;width:120px;height:30px\\\"></div></div></div></div><span data-node-detail>The drawer crop supplies the context for finding the black handle.</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:580px\\\"><strong>(200, 90)–(320, 120)</strong>Handle box inside the drawer</div><div class=\\\"cod-panel\\\" id=\\\"cod-mapped\\\" data-map-node data-map-label=\\\"Handle in the full scene\\\" style=\\\"left:855px;top:90px\\\"><div class=\\\"cod-panel-title\\\">Handle in the full scene</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:15.833px;width:215.000px;height:143.333px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:0.000px;top:0.000px;transform:scale(0.223958)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:410px;top:310px;width:120px;height:30px\\\"></div></div></div></div><span data-node-detail>Crop origins are added to recover the handle position in the original image.</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:855px\\\"><strong>(410, 310)–(530, 340)</strong>Handle box in the original scene</div><div class=\\\"connection\\\" data-from=\\\"cod-scene\\\" data-to=\\\"cod-desk\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:270px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-desk\\\" data-to=\\\"cod-drawer\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:545px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-drawer\\\" data-to=\\\"cod-mapped\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:820px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"cod-sum\\\">05 · Original top-left = (120, 140) + (90, 80) + (200, 90) = (410, 310)</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.cod-panel{position:absolute;border-bottom:1px solid var(--diagram-border);height:240px;width:235px;}\\n.cod-panel-title{font-size:18px;line-height:1.4;height:55px;color:var(--diagram-ink);text-align:left}\\n.cod-window{position:absolute;left:0;top:65px;width:235px;height:175px;overflow:hidden;background:var(--diagram-soft)}\\n.cod-world{position:absolute;width:960px;height:640px;transform-origin:0 0;color:var(--diagram-line)}\\n.cod-world>div{position:absolute;box-sizing:border-box}\\n.cod-desk-top{left:120px;top:140px;width:760px;height:30px;border:4px solid currentColor;background:var(--diagram-paper)}\\n.cod-leg{top:170px;width:22px;height:430px;border:4px solid currentColor;background:var(--diagram-paper)}\\n.cod-leg-left{left:132px}.cod-leg-right{left:846px}\\n.cod-drawer{left:210px;top:220px;width:520px;height:240px;border:4px solid currentColor;background:var(--diagram-paper);border-radius:4px}\\n.cod-handle{left:410px;top:310px;width:120px;height:30px;border:5px solid currentColor;border-radius:13px;background:var(--diagram-soft)}\\n.cod-highlight{outline:5px solid var(--diagram-accent);outline-offset:6px;background:transparent}\\n.cod-panel [data-node-detail]{display:none}\\n.cod-coordinate{position:absolute;top:345px;font-size:14px;line-height:1.6;color:var(--diagram-muted);text-align:left;width:235px}\\n.cod-coordinate strong{display:block;font-weight:400;color:var(--diagram-ink);font-size:16px;margin-bottom:4px}\\n.cod-sum{position:absolute;left:30px;top:460px;width:1060px;border-top:1px solid var(--diagram-border);padding-top:17px;font-size:16px;line-height:1.5;text-align:center;color:var(--diagram-ink)}\\n\", \"title\": \"CoD · stages 04–05\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:535px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:785px\\\">04 · 裁剪并继续</div><div class=\\\"stage\\\" style=\\\"left:855px;top:20px;width:235px\\\">05 · 映射回原图</div><div class=\\\"cod-panel\\\" id=\\\"cod-scene\\\" data-map-node data-map-label=\\\"目标：桌子\\\" style=\\\"left:30px;top:90px\\\"><div class=\\\"cod-panel-title\\\">目标：桌子</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:15.833px;width:215.000px;height:143.333px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:0.000px;top:0.000px;transform:scale(0.223958)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:120px;top:140px;width:760px;height:460px\\\"></div></div></div></div><span data-node-detail>在完整场景中选出桌子区域。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:30px\\\"><strong>(120, 140)</strong>桌子在原图中的原点</div><div class=\\\"cod-panel\\\" id=\\\"cod-desk\\\" data-map-node data-map-label=\\\"目标：抽屉\\\" style=\\\"left:305px;top:90px\\\"><div class=\\\"cod-panel-title\\\">目标：抽屉</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:22.434px;width:215.000px;height:130.132px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:-33.947px;top:-39.605px;transform:scale(0.282895)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:210px;top:220px;width:520px;height:240px\\\"></div></div></div></div><span data-node-detail>进入桌子的裁剪区域，再找抽屉。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:305px\\\"><strong>(90, 80)</strong>抽屉相对桌子的原点</div><div class=\\\"cod-panel\\\" id=\\\"cod-drawer\\\" data-map-node data-map-label=\\\"目标：黑色把手\\\" style=\\\"left:580px;top:90px\\\"><div class=\\\"cod-panel-title\\\">目标：黑色把手</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:37.885px;width:215.000px;height:99.231px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:-86.827px;top:-90.962px;transform:scale(0.413462)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:410px;top:310px;width:120px;height:30px\\\"></div></div></div></div><span data-node-detail>在抽屉的裁剪区域中寻找黑色把手。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:580px\\\"><strong>(200, 90)–(320, 120)</strong>抽屉图中的把手框</div><div class=\\\"cod-panel\\\" id=\\\"cod-mapped\\\" data-map-node data-map-label=\\\"原图中的把手\\\" style=\\\"left:855px;top:90px\\\"><div class=\\\"cod-panel-title\\\">原图中的把手</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:15.833px;width:215.000px;height:143.333px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:0.000px;top:0.000px;transform:scale(0.223958)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:410px;top:310px;width:120px;height:30px\\\"></div></div></div></div><span data-node-detail>累加裁剪原点，恢复把手在原图中的位置。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:855px\\\"><strong>(410, 310)–(530, 340)</strong>原图中的把手框</div><div class=\\\"connection\\\" data-from=\\\"cod-scene\\\" data-to=\\\"cod-desk\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:270px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-desk\\\" data-to=\\\"cod-drawer\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:545px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-drawer\\\" data-to=\\\"cod-mapped\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:820px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"cod-sum\\\">05 · 原图左上角 = (120, 140) + (90, 80) + (200, 90) = (410, 310)</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.cod-panel{position:absolute;border-bottom:1px solid var(--diagram-border);height:240px;width:235px;}\\n.cod-panel-title{font-size:18px;line-height:1.4;height:55px;color:var(--diagram-ink);text-align:left}\\n.cod-window{position:absolute;left:0;top:65px;width:235px;height:175px;overflow:hidden;background:var(--diagram-soft)}\\n.cod-world{position:absolute;width:960px;height:640px;transform-origin:0 0;color:var(--diagram-line)}\\n.cod-world>div{position:absolute;box-sizing:border-box}\\n.cod-desk-top{left:120px;top:140px;width:760px;height:30px;border:4px solid currentColor;background:var(--diagram-paper)}\\n.cod-leg{top:170px;width:22px;height:430px;border:4px solid currentColor;background:var(--diagram-paper)}\\n.cod-leg-left{left:132px}.cod-leg-right{left:846px}\\n.cod-drawer{left:210px;top:220px;width:520px;height:240px;border:4px solid currentColor;background:var(--diagram-paper);border-radius:4px}\\n.cod-handle{left:410px;top:310px;width:120px;height:30px;border:5px solid currentColor;border-radius:13px;background:var(--diagram-soft)}\\n.cod-highlight{outline:5px solid var(--diagram-accent);outline-offset:6px;background:transparent}\\n.cod-panel [data-node-detail]{display:none}\\n.cod-coordinate{position:absolute;top:345px;font-size:14px;line-height:1.6;color:var(--diagram-muted);text-align:left;width:235px}\\n.cod-coordinate strong{display:block;font-weight:400;color:var(--diagram-ink);font-size:16px;margin-bottom:4px}\\n.cod-sum{position:absolute;left:30px;top:460px;width:1060px;border-top:1px solid var(--diagram-border);padding-top:17px;font-size:16px;line-height:1.5;text-align:center;color:var(--diagram-ink)}\\n\", \"title\": \"CoD · 步骤 04–05\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:535px\\\"><div class=\\\"stage\\\" style=\\\"left:30px;top:20px;width:785px\\\">04 · 切り抜いて進む</div><div class=\\\"stage\\\" style=\\\"left:855px;top:20px;width:235px\\\">05 · 元画像に戻す</div><div class=\\\"cod-panel\\\" id=\\\"cod-scene\\\" data-map-node data-map-label=\\\"目標：机\\\" style=\\\"left:30px;top:90px\\\"><div class=\\\"cod-panel-title\\\">目標：机</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:15.833px;width:215.000px;height:143.333px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:0.000px;top:0.000px;transform:scale(0.223958)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:120px;top:140px;width:760px;height:460px\\\"></div></div></div></div><span data-node-detail>場面全体から机の領域を選ぶ。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:30px\\\"><strong>(120, 140)</strong>元画像内の机の原点</div><div class=\\\"cod-panel\\\" id=\\\"cod-desk\\\" data-map-node data-map-label=\\\"目標：引き出し\\\" style=\\\"left:305px;top:90px\\\"><div class=\\\"cod-panel-title\\\">目標：引き出し</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:22.434px;width:215.000px;height:130.132px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:-33.947px;top:-39.605px;transform:scale(0.282895)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:210px;top:220px;width:520px;height:240px\\\"></div></div></div></div><span data-node-detail>選んだ机の切り抜きで引き出しを探す。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:305px\\\"><strong>(90, 80)</strong>机内の引き出しの原点</div><div class=\\\"cod-panel\\\" id=\\\"cod-drawer\\\" data-map-node data-map-label=\\\"目標：黒い取っ手\\\" style=\\\"left:580px;top:90px\\\"><div class=\\\"cod-panel-title\\\">目標：黒い取っ手</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:37.885px;width:215.000px;height:99.231px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:-86.827px;top:-90.962px;transform:scale(0.413462)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:410px;top:310px;width:120px;height:30px\\\"></div></div></div></div><span data-node-detail>引き出しの切り抜きで黒い取っ手を探す。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:580px\\\"><strong>(200, 90)–(320, 120)</strong>引き出し画像内の取っ手の枠</div><div class=\\\"cod-panel\\\" id=\\\"cod-mapped\\\" data-map-node data-map-label=\\\"元画像上の取っ手\\\" style=\\\"left:855px;top:90px\\\"><div class=\\\"cod-panel-title\\\">元画像上の取っ手</div><div class=\\\"cod-window\\\"><div style=\\\"position:absolute;left:10.000px;top:15.833px;width:215.000px;height:143.333px;overflow:hidden\\\"><div class=\\\"cod-world\\\" style=\\\"left:0.000px;top:0.000px;transform:scale(0.223958)\\\"><div class=\\\"cod-desk-top\\\"></div><div class=\\\"cod-leg cod-leg-left\\\"></div><div class=\\\"cod-leg cod-leg-right\\\"></div><div class=\\\"cod-drawer\\\"></div><div class=\\\"cod-handle\\\"></div><div class=\\\"cod-highlight\\\" style=\\\"left:410px;top:310px;width:120px;height:30px\\\"></div></div></div></div><span data-node-detail>切り抜きの原点を加えて、元画像での取っ手の位置を求める。</span></div><div class=\\\"cod-coordinate\\\" style=\\\"left:855px\\\"><strong>(410, 310)–(530, 340)</strong>元画像上の取っ手の枠</div><div class=\\\"connection\\\" data-from=\\\"cod-scene\\\" data-to=\\\"cod-desk\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:270px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-desk\\\" data-to=\\\"cod-drawer\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:545px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-drawer\\\" data-to=\\\"cod-mapped\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:820px;top:240px;width:28.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"cod-sum\\\">05 · 元画像での左上 = (120, 140) + (90, 80) + (200, 90) = (410, 310)</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\\n.cod-panel{position:absolute;border-bottom:1px solid var(--diagram-border);height:240px;width:235px;}\\n.cod-panel-title{font-size:18px;line-height:1.4;height:55px;color:var(--diagram-ink);text-align:left}\\n.cod-window{position:absolute;left:0;top:65px;width:235px;height:175px;overflow:hidden;background:var(--diagram-soft)}\\n.cod-world{position:absolute;width:960px;height:640px;transform-origin:0 0;color:var(--diagram-line)}\\n.cod-world>div{position:absolute;box-sizing:border-box}\\n.cod-desk-top{left:120px;top:140px;width:760px;height:30px;border:4px solid currentColor;background:var(--diagram-paper)}\\n.cod-leg{top:170px;width:22px;height:430px;border:4px solid currentColor;background:var(--diagram-paper)}\\n.cod-leg-left{left:132px}.cod-leg-right{left:846px}\\n.cod-drawer{left:210px;top:220px;width:520px;height:240px;border:4px solid currentColor;background:var(--diagram-paper);border-radius:4px}\\n.cod-handle{left:410px;top:310px;width:120px;height:30px;border:5px solid currentColor;border-radius:13px;background:var(--diagram-soft)}\\n.cod-highlight{outline:5px solid var(--diagram-accent);outline-offset:6px;background:transparent}\\n.cod-panel [data-node-detail]{display:none}\\n.cod-coordinate{position:absolute;top:345px;font-size:14px;line-height:1.6;color:var(--diagram-muted);text-align:left;width:235px}\\n.cod-coordinate strong{display:block;font-weight:400;color:var(--diagram-ink);font-size:16px;margin-bottom:4px}\\n.cod-sum{position:absolute;left:30px;top:460px;width:1060px;border-top:1px solid var(--diagram-border);padding-top:17px;font-size:16px;line-height:1.5;text-align:center;color:var(--diagram-ink)}\\n\", \"title\": \"CoD · 手順 04–05\"}}, \"links\": {\"cod-scene\": \"cod-selection\", \"cod-desk\": \"cod-selection\", \"cod-drawer\": \"cod-selection\"}, \"related\": [\"cod-selection\"], \"sequence\": [\"cod-scene\", \"cod-desk\", \"cod-drawer\", \"cod-mapped\"]}, \"cod-selection\": {\"title\": \"CoD · 一个检测层如何选择\", \"width\": 1120, \"height\": 530, \"kind\": \"flow\", \"localized\": {\"en\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:530px\\\"><div class=\\\"stage\\\" style=\\\"left:20px;top:25px;width:320px\\\">02 · Propose boxes</div><div class=\\\"stage\\\" style=\\\"left:370px;top:25px;width:730px\\\">03 · Select a box</div><div id=\\\"cod-level-input\\\" data-map-node data-map-label=\\\"Drawer crop\\\" class=\\\"node \\\" style=\\\"left:20px;top:155px;width:145px;height:135px\\\"><strong>Drawer crop</strong><span class=\\\"sub\\\">Image from stage 04</span></div><div id=\\\"cod-boxes\\\" data-map-node data-map-label=\\\"Candidate boxes\\\" class=\\\"node \\\" style=\\\"left:195px;top:155px;width:145px;height:135px\\\"><strong>Candidate boxes</strong><span class=\\\"sub\\\">Faster R-CNN</span></div><div id=\\\"cod-ucb\\\" data-map-node data-map-label=\\\"Choose a box\\\" class=\\\"node \\\" style=\\\"left:370px;top:155px;width:145px;height:135px\\\"><strong>Choose a box</strong><span class=\\\"sub\\\">UCB</span><span data-node-detail>UCB combines a candidate’s mean score with an exploration term that is larger for less-evaluated candidates.</span></div><div id=\\\"cod-score\\\" data-map-node data-map-label=\\\"Visual match\\\" class=\\\"node \\\" style=\\\"left:545px;top:155px;width:145px;height:135px\\\"><strong>Visual match</strong><span class=\\\"sub\\\">Qwen2-VL</span><span data-node-detail>The VLM reads the crop and current target phrase, then returns a match score. The candidate’s running mean and count are updated.</span></div><div id=\\\"cod-check\\\" data-map-node data-map-label=\\\"Consistency\\\" class=\\\"node \\\" style=\\\"left:755px;top:155px;width:145px;height:135px\\\"><strong>Consistency</strong><span class=\\\"sub\\\">High mean; low variation</span><span data-node-detail>After the evaluation budget is spent, check candidates in score order. Slight brightness, rotation and scale changes should keep the mean above the threshold and the score range below its limit.</span></div><div id=\\\"cod-accepted\\\" data-map-node data-map-label=\\\"Accepted handle box\\\" class=\\\"node soft\\\" style=\\\"left:935px;top:155px;width:165px;height:135px\\\"><strong>Accepted handle box</strong><span class=\\\"sub\\\">x: 200–320 · y: 90–120</span><span data-node-detail>An accepted desk box becomes the input image for finding the drawer; the accepted drawer box becomes the input for finding its handle. Steps 02 and 03 repeat on each new image. In the schematic, the desk begins at (120, 140) in the scene, and the drawer begins at (90, 80) inside the desk. The drawer crop’s origin in the scene is therefore (210, 220). Keeping this offset makes it possible to search locally without losing the object’s original location.</span></div><div id=\\\"cod-stop\\\" data-map-node data-map-label=\\\"Stop the chain\\\" class=\\\"node \\\" style=\\\"left:935px;top:390px;width:165px;height:100px\\\"><strong>Stop the chain</strong><span data-node-detail>If the allowed retries accept no candidate, this level ends the chain. Earlier accepted regions remain in the output.</span></div><div class=\\\"connection\\\" data-from=\\\"cod-level-input\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:165px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-boxes\\\" data-to=\\\"cod-ucb\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:340px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-ucb\\\" data-to=\\\"cod-score\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:515px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-score\\\" data-to=\\\"cod-check\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:690px;top:222.5px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:690px;top:105px;width:210px\\\">After budget: score order</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-accepted\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:900px;top:222.5px;width:35.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-score\\\" data-to=\\\"cod-ucb\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:617.5px;top:290px;width:77.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:617.5px;top:367px;width:175.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:442.5px;top:367px;width:77.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:403px;top:386px;width:250px\\\">Update mean + count</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-check\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:827.5px;top:290px;width:160.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:827.5px;top:450px;width:102.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:725px;top:450px;width:186.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:725px;top:264px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:664px;top:468px;width:310px\\\">If rejected: try the next box</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-stop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:900px;top:258px;width:15.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:915px;top:258px;width:182.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:915px;top:440px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:921px;top:340px;width:175px\\\">No accepted box after retries</div><div class=\\\"label\\\" style=\\\"left:30px;top:95px;width:640px\\\">From 01: current target = “black handle”</div><div class=\\\"label\\\" style=\\\"left:930px;top:295px;width:175px\\\">Accepted box → 04</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\", \"title\": \"CoD · stages 02–03\"}, \"zh\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:530px\\\"><div class=\\\"stage\\\" style=\\\"left:20px;top:25px;width:320px\\\">02 · 生成候选框</div><div class=\\\"stage\\\" style=\\\"left:370px;top:25px;width:730px\\\">03 · 选择一个框</div><div id=\\\"cod-level-input\\\" data-map-node data-map-label=\\\"抽屉裁剪图\\\" class=\\\"node \\\" style=\\\"left:20px;top:155px;width:145px;height:135px\\\"><strong>抽屉裁剪图</strong><span class=\\\"sub\\\">图像来自上一次 04</span></div><div id=\\\"cod-boxes\\\" data-map-node data-map-label=\\\"候选框\\\" class=\\\"node \\\" style=\\\"left:195px;top:155px;width:145px;height:135px\\\"><strong>候选框</strong><span class=\\\"sub\\\">Faster R-CNN</span></div><div id=\\\"cod-ucb\\\" data-map-node data-map-label=\\\"选择一个框\\\" class=\\\"node \\\" style=\\\"left:370px;top:155px;width:145px;height:135px\\\"><strong>选择一个框</strong><span class=\\\"sub\\\">UCB</span><span data-node-detail>UCB 同时考虑候选的平均分和探索项；评估较少的候选有更大的探索机会。</span></div><div id=\\\"cod-score\\\" data-map-node data-map-label=\\\"图文匹配\\\" class=\\\"node \\\" style=\\\"left:545px;top:155px;width:145px;height:135px\\\"><strong>图文匹配</strong><span class=\\\"sub\\\">Qwen2-VL</span><span data-node-detail>视觉语言模型读取局部图像与目标词并给出匹配分数，随后更新该候选的均值与评估次数。</span></div><div id=\\\"cod-check\\\" data-map-node data-map-label=\\\"一致性检查\\\" class=\\\"node \\\" style=\\\"left:755px;top:155px;width:145px;height:135px\\\"><strong>一致性检查</strong><span class=\\\"sub\\\">均值高；波动小</span><span data-node-detail>评估预算用尽后按均分排序。轻微改变亮度、旋转和尺度，检查平均分达到阈值且分数波动不超过设定范围。</span></div><div id=\\\"cod-accepted\\\" data-map-node data-map-label=\\\"通过的把手框\\\" class=\\\"node soft\\\" style=\\\"left:935px;top:155px;width:165px;height:135px\\\"><strong>通过的把手框</strong><span class=\\\"sub\\\">x：200–320 · y：90–120</span><span data-node-detail>桌子框通过后，就裁出桌子，用它寻找抽屉；抽屉框通过后，再裁出抽屉，用它寻找把手。每张新图都重复步骤 02 和 03。在图中的示意坐标里，桌子从原图的 (120, 140) 开始，抽屉从桌子内的 (90, 80) 开始，所以抽屉图在原图中的原点是 (210, 220)。记住这个偏移，才能在局部越找越细的同时保留原来的位置。</span></div><div id=\\\"cod-stop\\\" data-map-node data-map-label=\\\"结束检测链\\\" class=\\\"node \\\" style=\\\"left:935px;top:390px;width:165px;height:100px\\\"><strong>结束检测链</strong><span data-node-detail>允许的重试结束后仍无候选通过，就在当前层结束检测链，保留此前已经通过的区域。</span></div><div class=\\\"connection\\\" data-from=\\\"cod-level-input\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:165px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-boxes\\\" data-to=\\\"cod-ucb\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:340px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-ucb\\\" data-to=\\\"cod-score\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:515px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-score\\\" data-to=\\\"cod-check\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:690px;top:222.5px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:690px;top:105px;width:210px\\\">预算用尽后，按均分排序</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-accepted\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:900px;top:222.5px;width:35.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-score\\\" data-to=\\\"cod-ucb\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:617.5px;top:290px;width:77.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:617.5px;top:367px;width:175.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:442.5px;top:367px;width:77.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:403px;top:386px;width:250px\\\">更新均值与次数</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-check\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:827.5px;top:290px;width:160.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:827.5px;top:450px;width:102.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:725px;top:450px;width:186.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:725px;top:264px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:664px;top:468px;width:310px\\\">未通过：试当前层下一框</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-stop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:900px;top:258px;width:15.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:915px;top:258px;width:182.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:915px;top:440px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:921px;top:340px;width:175px\\\">重试后仍无候选通过</div><div class=\\\"label\\\" style=\\\"left:30px;top:95px;width:640px\\\">来自 01 的当前目标词：“黑色把手”</div><div class=\\\"label\\\" style=\\\"left:930px;top:295px;width:175px\\\">通过的框 → 04</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\", \"title\": \"CoD · 步骤 02–03\"}, \"ja\": {\"html\": \"<div class=\\\"canvas\\\" style=\\\"width:1120px;height:530px\\\"><div class=\\\"stage\\\" style=\\\"left:20px;top:25px;width:320px\\\">02 · 候補枠を出す</div><div class=\\\"stage\\\" style=\\\"left:370px;top:25px;width:730px\\\">03 · 一つの枠を選ぶ</div><div id=\\\"cod-level-input\\\" data-map-node data-map-label=\\\"引き出しの切り抜き\\\" class=\\\"node \\\" style=\\\"left:20px;top:155px;width:145px;height:135px\\\"><strong>引き出しの切り抜き</strong><span class=\\\"sub\\\">前の 04 で得た画像</span></div><div id=\\\"cod-boxes\\\" data-map-node data-map-label=\\\"候補ボックス\\\" class=\\\"node \\\" style=\\\"left:195px;top:155px;width:145px;height:135px\\\"><strong>候補ボックス</strong><span class=\\\"sub\\\">Faster R-CNN</span></div><div id=\\\"cod-ucb\\\" data-map-node data-map-label=\\\"一つを選ぶ\\\" class=\\\"node \\\" style=\\\"left:370px;top:155px;width:145px;height:135px\\\"><strong>一つを選ぶ</strong><span class=\\\"sub\\\">UCB</span><span data-node-detail>UCB は平均点と探索項を組み合わせ、評価の少ない候補にも機会を与える。</span></div><div id=\\\"cod-score\\\" data-map-node data-map-label=\\\"画像と語の一致\\\" class=\\\"node \\\" style=\\\"left:545px;top:155px;width:145px;height:135px\\\"><strong>画像と語の一致</strong><span class=\\\"sub\\\">Qwen2-VL</span><span data-node-detail>視覚言語モデルが切り抜きと目標語の一致度を採点し、その候補の平均と回数を更新する。</span></div><div id=\\\"cod-check\\\" data-map-node data-map-label=\\\"一貫性\\\" class=\\\"node \\\" style=\\\"left:755px;top:155px;width:145px;height:135px\\\"><strong>一貫性</strong><span class=\\\"sub\\\">高い平均・小さな変動</span><span data-node-detail>評価予算の終了後に平均点で順位を付け、明るさ・回転・倍率を少し変えて平均と変動幅を確かめる。</span></div><div id=\\\"cod-accepted\\\" data-map-node data-map-label=\\\"採用した取っ手の枠\\\" class=\\\"node soft\\\" style=\\\"left:935px;top:155px;width:165px;height:135px\\\"><strong>採用した取っ手の枠</strong><span class=\\\"sub\\\">x: 200–320 · y: 90–120</span><span data-node-detail>採用した机の領域を切り抜いて引き出しを探し、引き出しを切り抜いて取っ手を探す。新しい画像ごとに 02 と 03 を繰り返す。図では机の原点を元画像内の (120, 140)、引き出しの原点を机内の (90, 80) とする。したがって、引き出し画像の原点は元画像内の (210, 220) になる。このずれを記録すれば、局所的に細かく探しても元の位置を失わない。</span></div><div id=\\\"cod-stop\\\" data-map-node data-map-label=\\\"検出列を終了\\\" class=\\\"node \\\" style=\\\"left:935px;top:390px;width:165px;height:100px\\\"><strong>検出列を終了</strong><span data-node-detail>許された再試行でも通過する候補がなければ、この段階で検出列を終え、それまでの領域を残す。</span></div><div class=\\\"connection\\\" data-from=\\\"cod-level-input\\\" data-to=\\\"cod-boxes\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:165px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-boxes\\\" data-to=\\\"cod-ucb\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:340px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-ucb\\\" data-to=\\\"cod-score\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:515px;top:222.5px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-score\\\" data-to=\\\"cod-check\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:690px;top:222.5px;width:65.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:690px;top:105px;width:210px\\\">予算終了後、平均点順に</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-accepted\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  \\\" style=\\\"left:900px;top:222.5px;width:35.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"connection\\\" data-from=\\\"cod-score\\\" data-to=\\\"cod-ucb\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:617.5px;top:290px;width:77.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge   feedback\\\" style=\\\"left:617.5px;top:367px;width:175.00px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow  feedback\\\" style=\\\"left:442.5px;top:367px;width:77.00px;transform:rotate(-90.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:403px;top:386px;width:250px\\\">平均と回数を更新</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-check\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:827.5px;top:290px;width:160.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:827.5px;top:450px;width:102.50px;transform:rotate(180.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:725px;top:450px;width:186.00px;transform:rotate(-90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:725px;top:264px;width:30.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:664px;top:468px;width:310px\\\">不通過：同じ段階の次候補</div><div class=\\\"connection\\\" data-from=\\\"cod-check\\\" data-to=\\\"cod-stop\\\"><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:900px;top:258px;width:15.00px;transform:rotate(0.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge  dashed \\\" style=\\\"left:915px;top:258px;width:182.00px;transform:rotate(90.00deg)\\\"></i><i aria-hidden=\\\"true\\\" class=\\\"edge arrow dashed \\\" style=\\\"left:915px;top:440px;width:20.00px;transform:rotate(0.00deg)\\\"></i></div><div class=\\\"label\\\" style=\\\"left:921px;top:340px;width:175px\\\">再試行後も通過なし</div><div class=\\\"label\\\" style=\\\"left:30px;top:95px;width:640px\\\">01 で決めた現在の目標語：「黒い取っ手」</div><div class=\\\"label\\\" style=\\\"left:930px;top:295px;width:175px\\\">採用した枠 → 04</div></div>\", \"css\": \"\\n.canvas{position:relative;font:18px/1.5 Arial,\\\"Microsoft YaHei\\\",\\\"Hiragino Sans\\\",sans-serif;color:var(--diagram-ink);background:var(--diagram-paper);box-sizing:border-box}\\n.canvas *{box-sizing:border-box}\\n.node{position:absolute;z-index:2;padding:12px 14px;border:1px solid var(--diagram-border);border-radius:9px;background:var(--diagram-paper);display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;font-size:18px;font-weight:400;line-height:1.4}\\n.node strong{font:inherit}.node .sub{font-size:14px;line-height:1.45;color:var(--diagram-muted)}\\n.node.soft{background:var(--diagram-soft);border-color:var(--diagram-accent)}\\n.edge{position:absolute;height:0;border-top:1.3px solid var(--diagram-line);transform-origin:left center;z-index:0}\\n.edge.arrow:after{content:\\\"\\\";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--diagram-line);border-top:3px solid transparent;border-bottom:3px solid transparent}\\n.edge.dashed{border-top-style:dashed}.edge.feedback{border-color:var(--diagram-accent)}\\n.label{position:absolute;z-index:1;padding:3px 6px;text-align:center;font-size:14px;line-height:1.45;color:var(--diagram-muted);background:var(--diagram-paper)}\\n.stage{position:absolute;font-size:16px;color:var(--diagram-ink);border-top:1px solid var(--diagram-border);padding-top:12px}\\n.small-note{position:absolute;font-size:14px;line-height:1.6;color:var(--diagram-muted)}\\n.region{position:absolute;border:1px dashed var(--diagram-border);border-radius:8px}\\n.node [data-node-detail]{display:none}\\n\", \"title\": \"CoD · 手順 02–03\"}}, \"links\": {\"cod-accepted\": \"cod-crops\"}, \"related\": [\"cod-crops\"], \"sequence\": [\"cod-level-input\", \"cod-boxes\", \"cod-ucb\", \"cod-score\", \"cod-check\", \"cod-accepted\", \"cod-stop\"]}}}"}}