Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chapter 35 - Approximation Algorithms, Introduction to Algorithms (CLRS)

Chapter 35 - Approximation Algorithms, Introduction to Algorithms (CLRS)

アルゴリズムイントロダクション 第4章 近似アルゴリズム

研究室内の非公式の輪読会で使用した資料です。
内容: 近似アルゴリズムの基本的な考え方、巡回セールスマン問題、頂点被覆問題、最小頂点被覆問題、MAX-3-CNF充足可能性問題、部分和問題など

8462b18bc6d57cac5579ef4b2f64a6de?s=128

Keisuke Okumura | 奥村圭祐

November 29, 2020
Tweet

Transcript

  1. images.squarespace-cdn.com アルゴリズムイントロダクション 第三版 35章 近似アルゴリズム 2020.11.1 奥村圭祐 20年度 東工大Defago研・裏輪行 APPROXIMATION

    ALGORITHMS
  2. /26 2 公開用の断り書き https://tanukifont.com/ フォントはたぬきフォントを使用させていただいています。 本資料は研究室内の非公式の輪読会で使用したもので、 対象書籍は「アルゴリズム イントロダクション」の第三版(通称CLRS)になります。 スライド中の擬似コード(英語)は英語版のスクリーンショットを使用しています。 厳密性に欠いているところはありますがご容赦ください。

    間違い等ございましたら okumura.k[at]coord.c.titech.ac.jp まで、 ご連絡いただけると幸いです。
  3. /26 35.1 頂点被覆問題 35.2 巡回セールスマン問題 35.3 集合被覆問題 35.4 乱択化と線形計画法 35.5

    部分和問題 35章の構成 3 -> 巡回セールスマン問題 -> 頂点被覆問題 -> 最小頂点被覆問題 -> MAX-3-CNF充足可能性問題 -> 部分和問題 プレゼンの構成
  4. /26 4 SAT, ハミルトン閉路問題, 巡回セールスマン問題, クリーク問題, 頂点被覆問題, 部分和問題, ナップザック問題, 数独,

    テトリス, マインスイーパー, etc * 理論計算機科学者の ほとんどが信じているベン図 (日本語版P889より) NP NPC P 実用的な価値をもつ多くの問題はNP完全 NPの任意の問題と同程度に難しい *経路長とかパラメータを固定すればね. このプレゼンでは”NP完全”を使います.
  5. /26 5 1. 入力が小さければ指数時間でもなんとかなる 2. 多項式時間で解ける特殊ケースがあるかも 3. 多項式時間で最適に近い解を見つけられるかも なんとかアプローチしたい ->

    近似アルゴリズム
  6. /26 6 巡回セールスマン問題 A B C D E G F

    H コスト: 1 出力 - コスト最小のハミルトン閉路 入力 G = (V, E) <latexit sha1_base64="h2jVbgymdFJUZ8vxIitQgTJ80go=">AAAB8XicbVBNS8NAEJ3Ur1q/oh69LBahgpSkCnoRiiJ6rGA/sA1ls920SzebsLsRSui/8OJBEa/+G2/+G7dtDtr6YODx3gwz8/yYM6Ud59vKLS2vrK7l1wsbm1vbO/buXkNFiSS0TiIeyZaPFeVM0LpmmtNWLCkOfU6b/vB64jefqFQsEg96FFMvxH3BAkawNtLjLbpEpcYJujnu2kWn7EyBFombkSJkqHXtr04vIklIhSYcK9V2nVh7KZaaEU7HhU6iaIzJEPdp21CBQ6q8dHrxGB0ZpYeCSJoSGk3V3xMpDpUahb7pDLEeqHlvIv7ntRMdXHgpE3GiqSCzRUHCkY7Q5H3UY5ISzUeGYCKZuRWRAZaYaBNSwYTgzr+8SBqVsntartyfFatXWRx5OIBDKIEL51CFO6hBHQgIeIZXeLOU9WK9Wx+z1pyVzezDH1ifP4kyjt4=</latexit> - 無向完全グラフ - コスト関数(非負) c(u, v), u, v 2 V <latexit sha1_base64="wUP2F5YSDxqPZKuTlKnglIcaBbQ=">AAAB/3icbZDLSgMxFIbP1Futt6rgxk2wCBVKmamCgpuiG5cV7AU6Q8mkmTY0kxmSTKGMXfgqblwo4tbXcOfbmF4W2vpD4OM/53BOfj/mTGnb/rYyK6tr6xvZzdzW9s7uXn7/oKGiRBJaJxGPZMvHinImaF0zzWkrlhSHPqdNf3A7qTeHVCoWiQc9iqkX4p5gASNYG6uTPyLFpISGZyXkXqMJIZcJ1OjkC3bZngotgzOHAsxV6+S/3G5EkpAKTThWqu3YsfZSLDUjnI5zbqJojMkA92jboMAhVV46vX+MTo3TRUEkzRMaTd3fEykOlRqFvukMse6rxdrE/K/WTnRw5aVMxImmgswWBQlHOkKTMFCXSUo0HxnARDJzKyJ9LDHRJrKcCcFZ/PIyNCpl57xcub8oVG/mcWThGE6gCA5cQhXuoAZ1IPAIz/AKb9aT9WK9Wx+z1ow1nzmEP7I+fwDsb5N5</latexit> -> これでもまだNP完全, ただ良い近似アルゴリズムが存在 解ける? c(u, w)  c(u, v) + c(v, w) <latexit sha1_base64="wpuMQsLwBRN0lLaYi8xH8arWGBI=">AAACB3icbZBNS8MwGMfT+TbnW9WjIMEhbCijnYIeh148TnAvsJWRZukWlqY1SSej7ObFr+LFgyJe/Qre/DamXQ+6+YfAL//neUievxsyKpVlfRu5peWV1bX8emFjc2t7x9zda8ogEpg0cMAC0XaRJIxy0lBUMdIOBUG+y0jLHV0n9daYCEkDfqcmIXF8NODUoxgpbfXMQ1yKTuFDGXYZuYfpZVyGJ5rGid0zi1bFSgUXwc6gCDLVe+ZXtx/gyCdcYYak7NhWqJwYCUUxI9NCN5IkRHiEBqSjkSOfSCdO95jCY+30oRcIfbiCqft7Ika+lBPf1Z0+UkM5X0vM/2qdSHmXTkx5GCnC8ewhL2JQBTAJBfapIFixiQaEBdV/hXiIBMJKR1fQIdjzKy9Cs1qxzyrV2/Ni7SqLIw8OwBEoARtcgBq4AXXQABg8gmfwCt6MJ+PFeDc+Zq05I5vZB39kfP4AimWV6A==</latexit> 追加の仮定 コスト関数は三角不等式を満たす w <latexit sha1_base64="K+iivrhdeUPnWoxmB5CJQNdKl6I=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hkUcCGzI79MLI7OxmZlZDCF/gxYPGePWTvPk3DrAHBSvppFLVne6uIBFcG9f9dnJr6xubW/ntws7u3v5B8fCoqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLR7cxvPaLSPJb3ZpygH9GB5CFn1Fip/tQrltyyOwdZJV5GSpCh1it+dfsxSyOUhgmqdcdzE+NPqDKcCZwWuqnGhLIRHWDHUkkj1P5kfuiUnFmlT8JY2ZKGzNXfExMaaT2OAtsZUTPUy95M/M/rpCa89idcJqlByRaLwlQQE5PZ16TPFTIjxpZQpri9lbAhVZQZm03BhuAtv7xKmpWyd1Gu1C9L1ZssjjycwCmcgwdXUIU7qEEDGCA8wyu8OQ/Oi/PufCxac042cwx/4Hz+AOYDjP8=</latexit> v <latexit sha1_base64="gfGd9lilLkuqmwOX+dBCP3vq/yw=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hkUcCGzI79MLI7OxmZpaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJU8epYthgsYhVO6AaBZfYMNwIbCcKaRQIbAWj+7nfGqPSPJaPZpKgH9GB5CFn1FipPu4VS27ZXYCsEy8jJchQ6xW/uv2YpRFKwwTVuuO5ifGnVBnOBM4K3VRjQtmIDrBjqaQRan+6OHRGLqzSJ2GsbElDFurviSmNtJ5Ege2MqBnqVW8u/ud1UhPe+lMuk9SgZMtFYSqIicn8a9LnCpkRE0soU9zeStiQKsqMzaZgQ/BWX14nzUrZuypX6tel6l0WRx7O4BwuwYMbqMID1KABDBCe4RXenCfnxXl3PpatOSebOYU/cD5/AOR/jP4=</latexit> u <latexit sha1_base64="wnFhQNKUlf0HWa+NJZ/ckTw+BdQ=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOlZtovV9yqOwdZJV5OKpCj0S9/9QYxSyOUhgmqdddzE+NnVBnOBE5LvVRjQtmYDrFrqaQRaj+bHzolZ1YZkDBWtqQhc/X3REYjrSdRYDsjakZ62ZuJ/3nd1ITXfsZlkhqUbLEoTAUxMZl9TQZcITNiYgllittbCRtRRZmx2ZRsCN7yy6ukXat6F9Va87JSv8njKMIJnMI5eHAFdbiDBrSAAcIzvMKb8+i8OO/Ox6K14OQzx/AHzucP4vuM/Q==</latexit>
  7. /26 7 A B C D E G F H

    根を決める 1. 最小全域木 を計算 2. T <latexit sha1_base64="wuUeoCr40AnIpr753sXMM0828Vs=">AAAB6HicbVDLSgNBEOyNrxhfUY9eBoPgKexGQY9BLx4TyAuSJcxOepMxs7PLzKwQQr7AiwdFvPpJ3vwbJ8keNLGgoajqprsrSATXxnW/ndzG5tb2Tn63sLd/cHhUPD5p6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8P/fbT6g0j2XDTBL0IzqUPOSMGivVG/1iyS27C5B14mWkBBlq/eJXbxCzNEJpmKBadz03Mf6UKsOZwFmhl2pMKBvTIXYtlTRC7U8Xh87IhVUGJIyVLWnIQv09MaWR1pMosJ0RNSO96s3F/7xuasJbf8plkhqUbLkoTAUxMZl/TQZcITNiYgllittbCRtRRZmx2RRsCN7qy+ukVSl7V+VK/bpUvcviyMMZnMMleHADVXiAGjSBAcIzvMKb8+i8OO/Ox7I152Qzp/AHzucPsPeM3A==</latexit> Primのアルゴリズム(23章)を使って O(E lg V ) <latexit sha1_base64="O6vduYATCHj1BNtPil36QBZnEJA=">AAAB8HicbVBNSwMxEJ2tX7V+VT16CRahXspuFfRYFMGbFeyHtEvJptk2NMkuSVYoS3+FFw+KePXnePPfmLZ70NYHA4/3ZpiZF8ScaeO6305uZXVtfSO/Wdja3tndK+4fNHWUKEIbJOKRagdYU84kbRhmOG3HimIRcNoKRtdTv/VElWaRfDDjmPoCDyQLGcHGSo935ZsuH6Dmaa9YcivuDGiZeBkpQYZ6r/jV7UckEVQawrHWHc+NjZ9iZRjhdFLoJprGmIzwgHYslVhQ7aezgyfoxCp9FEbKljRopv6eSLHQeiwC2ymwGepFbyr+53USE176KZNxYqgk80VhwpGJ0PR71GeKEsPHlmCimL0VkSFWmBibUcGG4C2+vEya1Yp3Vqnen5dqV1kceTiCYyiDBxdQg1uoQwMICHiGV3hzlPPivDsf89ack80cwh84nz88549i</latexit> 2分minヒープ(6章)の実装で 2 3 4 1 5 6 7 8 ハミルトン閉路 を解として出力 4. H <latexit sha1_base64="OmnsBIcI7uL9xT1nnclacUzB0Hk=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELxwhkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj+7nffkKleSwfzCRBP6JDyUPOqLFSo9YvltyyuwBZJ15GSpCh3i9+9QYxSyOUhgmqdddzE+NPqTKcCZwVeqnGhLIxHWLXUkkj1P50ceiMXFhlQMJY2ZKGLNTfE1MaaT2JAtsZUTPSq95c/M/rpia89adcJqlByZaLwlQQE5P512TAFTIjJpZQpri9lbARVZQZm03BhuCtvrxOWpWyd1WuNK5L1bssjjycwTlcggc3UIUa1KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJ7HjNA=</latexit> を先行順に辿ったときに訪問した 順番で頂点を並べたリストを とする 3. T <latexit sha1_base64="wuUeoCr40AnIpr753sXMM0828Vs=">AAAB6HicbVDLSgNBEOyNrxhfUY9eBoPgKexGQY9BLx4TyAuSJcxOepMxs7PLzKwQQr7AiwdFvPpJ3vwbJ8keNLGgoajqprsrSATXxnW/ndzG5tb2Tn63sLd/cHhUPD5p6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8P/fbT6g0j2XDTBL0IzqUPOSMGivVG/1iyS27C5B14mWkBBlq/eJXbxCzNEJpmKBadz03Mf6UKsOZwFmhl2pMKBvTIXYtlTRC7U8Xh87IhVUGJIyVLWnIQv09MaWR1pMosJ0RNSO96s3F/7xuasJbf8plkhqUbLkoTAUxMZl/TQZcITNiYgllittbCRtRRZmx2RRsCN7qy+ukVSl7V+VK/bpUvcviyMMZnMMleHADVXiAGjSBAcIzvMKb8+i8OO/Ox7I152Qzp/AHzucPsPeM3A==</latexit> H <latexit sha1_base64="OmnsBIcI7uL9xT1nnclacUzB0Hk=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELxwhkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj+7nffkKleSwfzCRBP6JDyUPOqLFSo9YvltyyuwBZJ15GSpCh3i9+9QYxSyOUhgmqdddzE+NPqTKcCZwVeqnGhLIxHWLXUkkj1P50ceiMXFhlQMJY2ZKGLNTfE1MaaT2JAtsZUTPSq95c/M/rpia89adcJqlByZaLwlQQE5P512TAFTIjJpZQpri9lbARVZQZm03BhuCtvrxOWpWyd1WuNK5L1bssjjycwTlcggc3UIUa1KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJ7HjNA=</latexit> 深さ優先探索(22章) ⇥(V + E) <latexit sha1_base64="UiNiSR/ZIVh2HrdflQcub5IS3b0=">AAAB8nicbVBNSwMxEM3Wr1q/qh69BItQEcpuFfRYFMFjhX7BdinZNNuGZpMlmRVK6c/w4kERr/4ab/4b03YP2vpg4PHeDDPzwkRwA6777eTW1jc2t/LbhZ3dvf2D4uFRy6hUU9akSijdCYlhgkvWBA6CdRLNSBwK1g5HdzO//cS04Uo2YJywICYDySNOCVjJ7zaGDEi5dXF/3iuW3Io7B14lXkZKKEO9V/zq9hVNYyaBCmKM77kJBBOigVPBpoVualhC6IgMmG+pJDEzwWR+8hSfWaWPI6VtScBz9ffEhMTGjOPQdsYEhmbZm4n/eX4K0U0w4TJJgUm6WBSlAoPCs/9xn2tGQYwtIVRzeyumQ6IJBZtSwYbgLb+8SlrVindZqT5elWq3WRx5dIJOURl56BrV0AOqoyaiSKFn9IreHHBenHfnY9Gac7KZY/QHzucP4dCQVQ==</latexit> 総コスト: およそ 19.074 最適コスト: およそ 14.715
  8. /26 8 最適解と比較して何か言えないか? A B C D E G F

    H c(T)  c(H ⇤) <latexit sha1_base64="OmBEI24nHNux8wzxhVNrEe8jfw8=">AAAB/HicbVDLSgNBEOyNrxhfqzl6GQxCcgm7UdBj0EuOEfKCZA2zk9lkyOzDmVlhWeKvePGgiFc/xJt/4yTZgyYWNBRV3XR3uRFnUlnWt5Hb2Nza3snvFvb2Dw6PzOOTjgxjQWibhDwUPRdLyllA24opTnuRoNh3Oe2609u5332kQrIwaKkkoo6PxwHzGMFKS0OzSMqtChpw+oBIuXE/wFJVhmbJqloLoHViZ6QEGZpD82swCkns00ARjqXs21aknBQLxQins8IgljTCZIrHtK9pgH0qnXRx/Ayda2WEvFDoChRaqL8nUuxLmfiu7vSxmshVby7+5/Vj5V07KQuiWNGALBd5MUcqRPMk0IgJShRPNMFEMH0rIhMsMFE6r4IOwV59eZ10alX7olq7uyzVb7I48nAKZ1AGG66gDg1oQhsIJPAMr/BmPBkvxrvxsWzNGdlMEf7A+PwBY5uTUQ==</latexit> 最適巡回路 と最小全域木 に関して T <latexit sha1_base64="wuUeoCr40AnIpr753sXMM0828Vs=">AAAB6HicbVDLSgNBEOyNrxhfUY9eBoPgKexGQY9BLx4TyAuSJcxOepMxs7PLzKwQQr7AiwdFvPpJ3vwbJ8keNLGgoajqprsrSATXxnW/ndzG5tb2Tn63sLd/cHhUPD5p6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8P/fbT6g0j2XDTBL0IzqUPOSMGivVG/1iyS27C5B14mWkBBlq/eJXbxCzNEJpmKBadz03Mf6UKsOZwFmhl2pMKBvTIXYtlTRC7U8Xh87IhVUGJIyVLWnIQv09MaWR1pMosJ0RNSO96s3F/7xuasJbf8plkhqUbLkoTAUxMZl/TQZcITNiYgllittbCRtRRZmx2RRsCN7qy+ukVSl7V+VK/bpUvcviyMMZnMMleHADVXiAGjSBAcIzvMKb8+i8OO/Ox7I152Qzp/AHzucPsPeM3A==</latexit> H ⇤ <latexit sha1_base64="2z8kozTT+qEAa7LjZK9SM89pzIM=">AAAB7XicbVDLTgJBEOzFF+IL9ehlIzHxRHbRRI9ELxwxkUcCK5kdZmFkdmYz02tCCP/gxYPGePV/vPk3DrAHBSvppFLVne6uMBHcoOd9O7m19Y3Nrfx2YWd3b/+geHjUNCrVlDWoEkq3Q2KY4JI1kKNg7UQzEoeCtcLR7cxvPTFtuJL3OE5YEJOB5BGnBK3UrD10icFeseSVvTncVeJnpAQZ6r3iV7evaBoziVQQYzq+l2AwIRo5FWxa6KaGJYSOyIB1LJUkZiaYzK+dumdW6buR0rYkunP198SExMaM49B2xgSHZtmbif95nRSj62DCZZIik3SxKEqFi8qdve72uWYUxdgSQjW3t7p0SDShaAMq2BD85ZdXSbNS9i/KlbvLUvUmiyMPJ3AK5+DDFVShBnVoAIVHeIZXeHOU8+K8Ox+L1pyTzRzDHzifP2e8jwQ=</latexit> 辺のコストの総和 の全巡回 を考える(巡回路ではない!) W <latexit sha1_base64="yxUgNFppSsebkUqo0HdMiZJUGss=">AAAB6HicbVBNS8NAEJ34WetX1aOXxSJ4KkkV9Fj04rEF+wFtKJvtpF272YTdjVBCf4EXD4p49Sd589+4bXPQ1gcDj/dmmJkXJIJr47rfztr6xubWdmGnuLu3f3BYOjpu6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8N/PbT6g0j+WDmSToR3QoecgZNVZqtPulsltx5yCrxMtJGXLU+6Wv3iBmaYTSMEG17npuYvyMKsOZwGmxl2pMKBvTIXYtlTRC7WfzQ6fk3CoDEsbKljRkrv6eyGik9SQKbGdEzUgvezPxP6+bmvDGz7hMUoOSLRaFqSAmJrOvyYArZEZMLKFMcXsrYSOqKDM2m6INwVt+eZW0qhXvslJtXJVrt3kcBTiFM7gAD66hBvdQhyYwQHiGV3hzHp0X5935WLSuOfnMCfyB8/kDtYOM3w==</latexit> T <latexit sha1_base64="wuUeoCr40AnIpr753sXMM0828Vs=">AAAB6HicbVDLSgNBEOyNrxhfUY9eBoPgKexGQY9BLx4TyAuSJcxOepMxs7PLzKwQQr7AiwdFvPpJ3vwbJ8keNLGgoajqprsrSATXxnW/ndzG5tb2Tn63sLd/cHhUPD5p6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8P/fbT6g0j2XDTBL0IzqUPOSMGivVG/1iyS27C5B14mWkBBlq/eJXbxCzNEJpmKBadz03Mf6UKsOZwFmhl2pMKBvTIXYtlTRC7U8Xh87IhVUGJIyVLWnIQv09MaWR1pMosJ0RNSO96s3F/7xuasJbf8plkhqUbLkoTAUxMZl/TQZcITNiYgllittbCRtRRZmx2RRsCN7qy+ukVSl7V+VK/bpUvcviyMMZnMMleHADVXiAGjSBAcIzvMKb8+i8OO/Ox7I152Qzp/AHzucPsPeM3A==</latexit> c(W) = 2c(T) <latexit sha1_base64="45iGzUO2piEuTL8KQS6aBYHTf3E=">AAAB83icbVBNSwMxEJ3Ur1q/qh69BIvQXspuFfQiFL14rNAvaJeSTbNtaDa7JFmhLP0bXjwo4tU/481/Y9ruQVsfDDzem2Fmnh8Lro3jfKPcxubW9k5+t7C3f3B4VDw+aesoUZS1aCQi1fWJZoJL1jLcCNaNFSOhL1jHn9zP/c4TU5pHsmmmMfNCMpI84JQYK/VpuVPBt7hGy83KoFhyqs4CeJ24GSlBhsag+NUfRjQJmTRUEK17rhMbLyXKcCrYrNBPNIsJnZAR61kqSci0ly5unuELqwxxEClb0uCF+nsiJaHW09C3nSExY73qzcX/vF5ighsv5TJODJN0uShIBDYRngeAh1wxasTUEkIVt7diOiaKUGNjKtgQ3NWX10m7VnUvq7XHq1L9LosjD2dwDmVw4Rrq8AANaAGFGJ7hFd5Qgl7QO/pYtuZQNnMKf4A+fwAF7o+4</latexit> 全ての辺を2回使うので c(W)  2c(H ⇤) <latexit sha1_base64="QWJB4pcbALFPukG69X9sTThXtL4=">AAAB/XicbVDJSgNBEO2JW4zbuNy8NAYhuYSZKOgx6CXHCGaBzBh6OjVJk57F7h4hDsFf8eJBEa/+hzf/xk4yB018UPB4r4qqel7MmVSW9W3kVlbX1jfym4Wt7Z3dPXP/oCWjRFBo0ohHouMRCZyF0FRMcejEAkjgcWh7o+up334AIVkU3qpxDG5ABiHzGSVKSz3ziJbaZexwuMdVWqrfOUSqcs8sWhVrBrxM7IwUUYZGz/xy+hFNAggV5UTKrm3Fyk2JUIxymBScREJM6IgMoKtpSAKQbjq7foJPtdLHfiR0hQrP1N8TKQmkHAee7gyIGspFbyr+53UT5V+6KQvjREFI54v8hGMV4WkUuM8EUMXHmhAqmL4V0yERhCodWEGHYC++vExa1Yp9VqnenBdrV1kceXSMTlAJ2egC1VAdNVATUfSIntErejOejBfj3fiYt+aMbOYQ/YHx+QPd8ZOQ</latexit> -> 2,4,6 3 5 1,7,15 8,14 9,11,13 10 12 W <latexit sha1_base64="yxUgNFppSsebkUqo0HdMiZJUGss=">AAAB6HicbVBNS8NAEJ34WetX1aOXxSJ4KkkV9Fj04rEF+wFtKJvtpF272YTdjVBCf4EXD4p49Sd589+4bXPQ1gcDj/dmmJkXJIJr47rfztr6xubWdmGnuLu3f3BYOjpu6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8N/PbT6g0j+WDmSToR3QoecgZNVZqtPulsltx5yCrxMtJGXLU+6Wv3iBmaYTSMEG17npuYvyMKsOZwGmxl2pMKBvTIXYtlTRC7WfzQ6fk3CoDEsbKljRkrv6eyGik9SQKbGdEzUgvezPxP6+bmvDGz7hMUoOSLRaFqSAmJrOvyYArZEZMLKFMcXsrYSOqKDM2m6INwVt+eZW0qhXvslJtXJVrt3kcBTiFM7gAD66hBvdQhyYwQHiGV3hzHp0X5935WLSuOfnMCfyB8/kDtYOM3w==</latexit> の順序 三角不等式より c(H)  c(W) <latexit sha1_base64="NNSY7xGjd1pfUBBuv586dfahyfw=">AAAB9XicbVDLTgJBEOzFF+IL9ehlIjGBC9lFEz0SvXDERB4JrGR26IUJsw9nZjWE8B9ePGiMV//Fm3/jAHtQsJJOKlXd6e7yYsGVtu1vK7O2vrG5ld3O7ezu7R/kD4+aKkokwwaLRCTbHlUoeIgNzbXAdiyRBp7Alje6mfmtR5SKR+GdHsfoBnQQcp8zqo10z4q1EukKfCCs2Cr18gW7bM9BVomTkgKkqPfyX91+xJIAQ80EVarj2LF2J1RqzgROc91EYUzZiA6wY2hIA1TuZH71lJwZpU/8SJoKNZmrvycmNFBqHHimM6B6qJa9mfif10m0f+VOeBgnGkO2WOQnguiIzCIgfS6RaTE2hDLJza2EDamkTJugciYEZ/nlVdKslJ3zcuX2olC9TuPIwgmcQhEcuIQq1KAODWAg4Rle4c16sl6sd+tj0Zqx0plj+APr8wcS05Dv</latexit> c(H)  2c(H ⇤) <latexit sha1_base64="6wVXw4HUUqZWZqvn4GTLdX4Dnwk=">AAAB/XicbZDLSsNAFIYn9VbrLV52bgaL0G5KUgVdFt10WcFeoIllMj1ph04uzkyEGoqv4saFIm59D3e+jdM2C239YeDjP+dwzvxezJlUlvVt5FZW19Y38puFre2d3T1z/6Alo0RQaNKIR6LjEQmchdBUTHHoxAJI4HFoe6Prab39AEKyKLxV4xjcgAxC5jNKlLZ65hEt1cvY4XCPqxrvHCJVuWcWrYo1E14GO4MiytTomV9OP6JJAKGinEjZta1YuSkRilEOk4KTSIgJHZEBdDWGJADpprPrJ/hUO33sR0K/UOGZ+3siJYGU48DTnQFRQ7lYm5r/1bqJ8i/dlIVxoiCk80V+wrGK8DQK3GcCqOJjDYQKpm/FdEgEoUoHVtAh2ItfXoZWtWKfVao358XaVRZHHh2jE1RCNrpANVRHDdREFD2iZ/SK3own48V4Nz7mrTkjmzlEf2R8/gDGNpOB</latexit> -> の重複を削除してハミルトン閉路 を得る W <latexit sha1_base64="yxUgNFppSsebkUqo0HdMiZJUGss=">AAAB6HicbVBNS8NAEJ34WetX1aOXxSJ4KkkV9Fj04rEF+wFtKJvtpF272YTdjVBCf4EXD4p49Sd589+4bXPQ1gcDj/dmmJkXJIJr47rfztr6xubWdmGnuLu3f3BYOjpu6ThVDJssFrHqBFSj4BKbhhuBnUQhjQKB7WB8N/PbT6g0j+WDmSToR3QoecgZNVZqtPulsltx5yCrxMtJGXLU+6Wv3iBmaYTSMEG17npuYvyMKsOZwGmxl2pMKBvTIXYtlTRC7WfzQ6fk3CoDEsbKljRkrv6eyGik9SQKbGdEzUgvezPxP6+bmvDGz7hMUoOSLRaFqSAmJrOvyYArZEZMLKFMcXsrYSOqKDM2m6INwVt+eZW0qhXvslJtXJVrt3kcBTiFM7gAD66hBvdQhyYwQHiGV3hzHp0X5935WLSuOfnMCfyB8/kDtYOM3w==</latexit> H <latexit sha1_base64="OmnsBIcI7uL9xT1nnclacUzB0Hk=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELxwhkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj+7nffkKleSwfzCRBP6JDyUPOqLFSo9YvltyyuwBZJ15GSpCh3i9+9QYxSyOUhgmqdddzE+NPqTKcCZwVeqnGhLIxHWLXUkkj1P50ceiMXFhlQMJY2ZKGLNTfE1MaaT2JAtsZUTPSq95c/M/rpia89adcJqlByZaLwlQQE5P512TAFTIjJpZQpri9lbARVZQZm03BhuCtvrxOWpWyd1WuNK5L1bssjjycwTlcggc3UIUa1KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJ7HjNA=</latexit> この例だと A,B,C,B,H,B,A,D,E,F,G,E,D,A
  9. /26 9 近似アルゴリズム(approximation-algo.)と呼ぶ ⇢(n) <latexit sha1_base64="cJdLJDoMc0V22BfllB8VtYkFOgM=">AAAB7nicbVDLSgNBEOz1GeMr6tHLYBDiJexGQY9BLx4jmAckS5idzCZD5rHMzAphyUd48aCIV7/Hm3/jJNmDJhY0FFXddHdFCWfG+v63t7a+sbm1Xdgp7u7tHxyWjo5bRqWa0CZRXOlOhA3lTNKmZZbTTqIpFhGn7Wh8N/PbT1QbpuSjnSQ0FHgoWcwItk5q9/RIVeRFv1T2q/4caJUEOSlDjka/9NUbKJIKKi3h2Jhu4Cc2zLC2jHA6LfZSQxNMxnhIu45KLKgJs/m5U3TulAGKlXYlLZqrvycyLIyZiMh1CmxHZtmbif953dTGN2HGZJJaKsliUZxyZBWa/Y4GTFNi+cQRTDRztyIywhoT6xIquhCC5ZdXSatWDS6rtYercv02j6MAp3AGFQjgGupwDw1oAoExPMMrvHmJ9+K9ex+L1jUvnzmBP/A+fwC29o8o</latexit> ⇢(n) <latexit sha1_base64="cJdLJDoMc0V22BfllB8VtYkFOgM=">AAAB7nicbVDLSgNBEOz1GeMr6tHLYBDiJexGQY9BLx4jmAckS5idzCZD5rHMzAphyUd48aCIV7/Hm3/jJNmDJhY0FFXddHdFCWfG+v63t7a+sbm1Xdgp7u7tHxyWjo5bRqWa0CZRXOlOhA3lTNKmZZbTTqIpFhGn7Wh8N/PbT1QbpuSjnSQ0FHgoWcwItk5q9/RIVeRFv1T2q/4caJUEOSlDjka/9NUbKJIKKi3h2Jhu4Cc2zLC2jHA6LfZSQxNMxnhIu45KLKgJs/m5U3TulAGKlXYlLZqrvycyLIyZiMh1CmxHZtmbif953dTGN2HGZJJaKsliUZxyZBWa/Y4GTFNi+cQRTDRztyIywhoT6xIquhCC5ZdXSatWDS6rtYercv02j6MAp3AGFQjgGupwDw1oAoExPMMrvHmJ9+K9ex+L1jUvnzmBP/A+fwC29o8o</latexit> このアルゴリズムは近似比(approximation

    ratio) を持つと言い, 最小化・最大化問題の最適コスト C⇤ <latexit sha1_base64="U7v59PRgYNSCLXFXxYoZjn1gV7s=">AAAB7XicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4xkUcCK5kdZmFkdmcz02tCCP/gxYPGePV/vPk3DrAHBSvppFLVne6uIJHCoOt+O7m19Y3Nrfx2YWd3b/+geHjUNCrVjDeYkkq3A2q4FDFvoEDJ24nmNAokbwWj2sxvPXFthIrvcZxwP6KDWISCUbRSs/bQpQZ7xZJbducgq8TLSAky1HvFr25fsTTiMTJJjel4boL+hGoUTPJpoZsanlA2ogPesTSmETf+ZH7tlJxZpU9CpW3FSObq74kJjYwZR4HtjCgOzbI3E//zOimG1/5ExEmKPGaLRWEqCSoye530heYM5dgSyrSwtxI2pJoytAEVbAje8surpFkpexflyt1lqXqTxZGHEziFc/DgCqpwC3VoAINHeIZXeHOU8+K8Ox+L1pyTzRzDHzifP2APjv8=</latexit> アルゴリズムが生成するコスト C <latexit sha1_base64="re76Zkt0iSC9uIARbCEdpPGTKdg=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4hkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj2txvP6HSPJYPZpKgH9Gh5CFn1FipUesXS27ZXYCsEy8jJchQ7xe/eoOYpRFKwwTVuuu5ifGnVBnOBM4KvVRjQtmYDrFrqaQRan+6OHRGLqwyIGGsbElDFurviSmNtJ5Ege2MqBnpVW8u/ud1UxPe+lMuk9SgZMtFYSqIicn8azLgCpkRE0soU9zeStiIKsqMzaZgQ/BWX14nrUrZuypXGtel6l0WRx7O4BwuwYMbqMI91KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJczjMs=</latexit> 問題のサイズ n <latexit sha1_base64="2QmInd+nHO60uhS7AYCvgpiU4a8=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOlpuyXK27VnYOsEi8nFcjR6Je/eoOYpRFKwwTVuuu5ifEzqgxnAqelXqoxoWxMh9i1VNIItZ/ND52SM6sMSBgrW9KQufp7IqOR1pMosJ0RNSO97M3E/7xuasJrP+MySQ1KtlgUpoKYmMy+JgOukBkxsYQyxe2thI2ooszYbEo2BG/55VXSrlW9i2qteVmp3+RxFOEETuEcPLiCOtxBA1rAAOEZXuHNeXRenHfnY9FacPKZY/gD5/MH2F+M9g==</latexit> に対して max ✓ C C⇤ , C⇤ C ◆  ⇢(n) <latexit sha1_base64="/NWDeuS8MVLWPbpco6biGwfDBaM=">AAACKXicbVDLSgMxFM34rPVVdekmWIQWpMxUQZfFblxWsA/o1JJJM21oJjMmd8Qy9Hfc+CtuFBR164+YtrPQ1gOBk3POJbnHiwTXYNuf1tLyyuraemYju7m1vbOb29tv6DBWlNVpKELV8ohmgktWBw6CtSLFSOAJ1vSG1YnfvGdK81DewChinYD0Jfc5JWCkbq7iBuTBFcyHgusrQpPqOKneukTD+ASnyuxqHFfx/gCK2OTvsKsGYUEWu7m8XbKnwIvESUkepah1c69uL6RxwCRQQbRuO3YEnYQo4FSwcdaNNYsIHZI+axsqScB0J5luOsbHRulhP1TmSMBT9fdEQgKtR4FnkgGBgZ73JuJ/XjsG/6KTcBnFwCSdPeTHAkOIJ7XhHleMghgZQqji5q+YDoipB0y5WVOCM7/yImmUS85pqXx9lq9cpnVk0CE6QgXkoHNUQVeohuqIokf0jN7Qu/VkvVgf1tcsumSlMwfoD6zvHwtfpxE=</latexit> が成立するならば さっきのアルゴリズムは なので多項式2近似アルゴリズム c(H)  2c(H ⇤) <latexit sha1_base64="6wVXw4HUUqZWZqvn4GTLdX4Dnwk=">AAAB/XicbZDLSsNAFIYn9VbrLV52bgaL0G5KUgVdFt10WcFeoIllMj1ph04uzkyEGoqv4saFIm59D3e+jdM2C239YeDjP+dwzvxezJlUlvVt5FZW19Y38puFre2d3T1z/6Alo0RQaNKIR6LjEQmchdBUTHHoxAJI4HFoe6Prab39AEKyKLxV4xjcgAxC5jNKlLZ65hEt1cvY4XCPqxrvHCJVuWcWrYo1E14GO4MiytTomV9OP6JJAKGinEjZta1YuSkRilEOk4KTSIgJHZEBdDWGJADpprPrJ/hUO33sR0K/UOGZ+3siJYGU48DTnQFRQ7lYm5r/1bqJ8i/dlIVxoiCk80V+wrGK8DQK3GcCqOJjDYQKpm/FdEgEoUoHVtAh2ItfXoZWtWKfVao358XaVRZHHh2jE1RCNrpANVRHDdREFD2iZ/SK3own48V4Nz7mrTkjmzlEf2R8/gDGNpOB</latexit>
  10. /26 10 三角不等式の仮定を外すと? (定理35.3) P≠NPならば巡回セールスマン問題の多項式近似アルゴリズムは存在しない 背理法による証明 ⇢ <latexit sha1_base64="94wfdLRRBjCkyTC3Y5p5yTs2egQ=">AAAB63icbVDLSgNBEOz1GeMr6tHLYBA8hd0o6DHoxWME84BkCbOT2eyQeSwzs0II+QUvHhTx6g9582+cTfagiQUNRVU33V1Rypmxvv/tra1vbG5tl3bKu3v7B4eVo+O2UZkmtEUUV7obYUM5k7RlmeW0m2qKRcRpJxrf5X7niWrDlHy0k5SGAo8kixnBNpf6OlGDStWv+XOgVRIUpAoFmoPKV3+oSCaotIRjY3qBn9pwirVlhNNZuZ8ZmmIyxiPac1RiQU04nd86Q+dOGaJYaVfSorn6e2KKhTETEblOgW1ilr1c/M/rZTa+CadMppmlkiwWxRlHVqH8cTRkmhLLJ45gopm7FZEEa0ysi6fsQgiWX14l7XotuKzVH66qjdsijhKcwhlcQADX0IB7aEILCCTwDK/w5gnvxXv3Phata14xcwJ/4H3+ACD6jks=</latexit> 一般性を失わず

    を整数として近似アルゴリズムAを仮定 Aを使うとハミルトン閉路問題が多項式時間で解ける ハミルトン閉路問題から巡回セールスマン問題を構築 c(u, v) = 1 <latexit sha1_base64="uC0W04ZsbV+d9o37OrH79CjwCkc=">AAAB8HicbVBNSwMxEJ31s9avqkcvwSJUkLJbBb0IRS8eK9gPaZeSTbNtaJJdkmyhLP0VXjwo4tWf481/Y9ruQVsfDDzem2FmXhBzpo3rfjsrq2vrG5u5rfz2zu7efuHgsKGjRBFaJxGPVCvAmnImad0ww2krVhSLgNNmMLyb+s0RVZpF8tGMY+oL3JcsZAQbKz2RUnKORmc3XrdQdMvuDGiZeBkpQoZat/DV6UUkEVQawrHWbc+NjZ9iZRjhdJLvJJrGmAxxn7YtlVhQ7aezgyfo1Co9FEbKljRopv6eSLHQeiwC2ymwGehFbyr+57UTE177KZNxYqgk80VhwpGJ0PR71GOKEsPHlmCimL0VkQFWmBibUd6G4C2+vEwalbJ3Ua48XBart1kcOTiGEyiBB1dQhXuoQR0ICHiGV3hzlPPivDsf89YVJ5s5gj9wPn8A8lqPMQ==</latexit> c(u, v) = ⇢|V | + 1 <latexit sha1_base64="+dUBvhZjCqHw6wDCYSKohW+i7GU=">AAAB+nicbVBNS8NAEJ3Ur1q/Uj16WSxCRSlJFfQiFL14rGA/oA1ls920SzfZsLuplLY/xYsHRbz6S7z5b9y2OWj1wcDjvRlm5vkxZ0o7zpeVWVldW9/Ibua2tnd29+z8fl2JRBJaI4IL2fSxopxFtKaZ5rQZS4pDn9OGP7id+Y0hlYqJ6EGPYuqFuBexgBGsjdSx86SYnKHhyXVb9sWkPjl1O3bBKTlzoL/ETUkBUlQ79me7K0gS0kgTjpVquU6svTGWmhFOp7l2omiMyQD3aMvQCIdUeeP56VN0bJQuCoQ0FWk0V39OjHGo1Cj0TWeIdV8tezPxP6+V6ODKG7MoTjSNyGJRkHCkBZrlgLpMUqL5yBBMJDO3ItLHEhNt0sqZENzll/+SernknpfK9xeFyk0aRxYO4QiK4MIlVOAOqlADAo/wBC/wak2sZ+vNel+0Zqx05gB+wfr4Bmv0ktA=</latexit> もとの問題がハミルトン閉路 をもつ - Yes -> Aは を出力 - No -> Aは赤の辺を含む閉路を出力 H <latexit sha1_base64="OmnsBIcI7uL9xT1nnclacUzB0Hk=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELxwhkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj+7nffkKleSwfzCRBP6JDyUPOqLFSo9YvltyyuwBZJ15GSpCh3i9+9QYxSyOUhgmqdddzE+NPqTKcCZwVeqnGhLIxHWLXUkkj1P50ceiMXFhlQMJY2ZKGLNTfE1MaaT2JAtsZUTPSq95c/M/rpia89adcJqlByZaLwlQQE5P512TAFTIjJpZQpri9lbARVZQZm03BhuCtvrxOWpWyd1WuNK5L1bssjjycwTlcggc3UIUa1KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJ7HjNA=</latexit> H <latexit sha1_base64="OmnsBIcI7uL9xT1nnclacUzB0Hk=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELxwhkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj+7nffkKleSwfzCRBP6JDyUPOqLFSo9YvltyyuwBZJ15GSpCh3i9+9QYxSyOUhgmqdddzE+NPqTKcCZwVeqnGhLIxHWLXUkkj1P50ceiMXFhlQMJY2ZKGLNTfE1MaaT2JAtsZUTPSq95c/M/rpia89adcJqlByZaLwlQQE5P512TAFTIjJpZQpri9lbARVZQZm03BhuCtvrxOWpWyd1WuNK5L1bssjjycwTlcggc3UIUa1KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJ7HjNA=</latexit>
  11. /26 11 頂点被覆問題 出力 - サイズ最小の頂点被覆 入力 G = (V,

    E) <latexit sha1_base64="h2jVbgymdFJUZ8vxIitQgTJ80go=">AAAB8XicbVBNS8NAEJ3Ur1q/oh69LBahgpSkCnoRiiJ6rGA/sA1ls920SzebsLsRSui/8OJBEa/+G2/+G7dtDtr6YODx3gwz8/yYM6Ud59vKLS2vrK7l1wsbm1vbO/buXkNFiSS0TiIeyZaPFeVM0LpmmtNWLCkOfU6b/vB64jefqFQsEg96FFMvxH3BAkawNtLjLbpEpcYJujnu2kWn7EyBFombkSJkqHXtr04vIklIhSYcK9V2nVh7KZaaEU7HhU6iaIzJEPdp21CBQ6q8dHrxGB0ZpYeCSJoSGk3V3xMpDpUahb7pDLEeqHlvIv7ntRMdXHgpE3GiqSCzRUHCkY7Q5H3UY5ISzUeGYCKZuRWRAZaYaBNSwYTgzr+8SBqVsntartyfFatXWRx5OIBDKIEL51CFO6hBHQgIeIZXeLOU9WK9Wx+z1pyVzezDH1ifP4kyjt4=</latexit> - グラフ V 0 ✓ V <latexit sha1_base64="SdToDqHYcZ+P7CxthGcXcz7nkjg=">AAAB/XicbVDLSsNAFJ3UV62v+Ni5GSyCq5JUQZdFNy4r2Ac0sUymN+3QmSTOTIQair/ixoUibv0Pd/6N0zYLbT1w4XDOvdx7T5BwprTjfFuFpeWV1bXiemljc2t7x97da6o4lRQaNOaxbAdEAWcRNDTTHNqJBCICDq1geDXxWw8gFYujWz1KwBekH7GQUaKN1LUPmndeIpkA7Kk0UKDhHje7dtmpOFPgReLmpIxy1Lv2l9eLaSog0pQTpTquk2g/I1IzymFc8lIFCaFD0oeOoRERoPxsev0YHxulh8NYmoo0nqq/JzIilBqJwHQKogdq3puI/3mdVIcXfsaiJNUQ0dmiMOVYx3gSBe4xCVTzkSGESmZuxXRAJKHaBFYyIbjzLy+SZrXinlaqN2fl2mUeRxEdoiN0glx0jmroGtVRA1H0iJ7RK3qznqwX6936mLUWrHxmH/2B9fkDIJaVAg==</latexit> (u, v) 2 E <latexit sha1_base64="GToDNkoR8H2wW3Oem9O7c4dcUvs=">AAAB83icbVDLSgNBEOyNrxhfUY9eBoMQQcJuFPQYFMFjBPOA7BJmJ7PJkNnZZR6BEPIbXjwo4tWf8ebfOEn2oIkFDUVVN91dYcqZ0q777eTW1jc2t/LbhZ3dvf2D4uFRUyVGEtogCU9kO8SKciZoQzPNaTuVFMchp61weDfzWyMqFUvEkx6nNIhxX7CIEayt5JfNBRqdI58JdN8tltyKOwdaJV5GSpCh3i1++b2EmJgKTThWquO5qQ4mWGpGOJ0WfKNoiskQ92nHUoFjqoLJ/OYpOrNKD0WJtCU0mqu/JyY4Vmoch7Yzxnqglr2Z+J/XMTq6CSZMpEZTQRaLIsORTtAsANRjkhLNx5ZgIpm9FZEBlphoG1PBhuAtv7xKmtWKd1mpPl6VardZHHk4gVMogwfXUIMHqEMDCKTwDK/w5hjnxXl3PhatOSebOYY/cD5/AMaIkDY=</latexit> u 2 V 0 <latexit sha1_base64="FNGsBgmjuxninIQ7jBSqPYqLF3U=">AAAB9HicbVBNSwMxEJ2tX7V+VT16CRbBU9mtgh6LXjxWsB/QXUs2zbahSXZNsoWy9Hd48aCIV3+MN/+NabsHbX0w8Hhvhpl5YcKZNq777RTW1jc2t4rbpZ3dvf2D8uFRS8epIrRJYh6rTog15UzSpmGG006iKBYhp+1wdDvz22OqNIvlg5kkNBB4IFnECDZWClKfSdR69BPFBO2VK27VnQOtEi8nFcjR6JW//H5MUkGlIRxr3fXcxAQZVoYRTqclP9U0wWSEB7RrqcSC6iCbHz1FZ1bpoyhWtqRBc/X3RIaF1hMR2k6BzVAvezPxP6+bmug6yJhMUkMlWSyKUo5MjGYJoD5TlBg+sQQTxeytiAyxwsTYnEo2BG/55VXSqlW9i2rt/rJSv8njKMIJnMI5eHAFdbiDBjSBwBM8wyu8OWPnxXl3PhatBSefOYY/cD5/AI3NkfU=</latexit> v 2 V 0 <latexit sha1_base64="Qpy0oufOPgBYgTj0nReSeq9veGo=">AAAB9HicbVBNSwMxEM3Wr1q/qh69BIvgqexWQY9FLx4r2A/oriWbzrahSXZNsoWy9Hd48aCIV3+MN/+NabsHbX0w8Hhvhpl5YcKZNq777RTW1jc2t4rbpZ3dvf2D8uFRS8epotCkMY9VJyQaOJPQNMxw6CQKiAg5tMPR7cxvj0FpFssHM0kgEGQgWcQoMVYKxj6TuPXoJ4oJ6JUrbtWdA68SLycVlKPRK3/5/ZimAqShnGjd9dzEBBlRhlEO05KfakgIHZEBdC2VRIAOsvnRU3xmlT6OYmVLGjxXf09kRGg9EaHtFMQM9bI3E//zuqmJroOMySQ1IOliUZRybGI8SwD3mQJq+MQSQhWzt2I6JIpQY3Mq2RC85ZdXSatW9S6qtfvLSv0mj6OITtApOkceukJ1dIcaqIkoekLP6BW9OWPnxXl3PhatBSefOUZ/4Hz+AI9dkfY=</latexit> で ならば または A B C E D F G 解いてみて A B C E D F G 答え
  12. /26 12 頂点被覆問題の多項式2近似アルゴリズム A B C E D F G

    A B C E D F G A B C E D F G 任意の辺を一個ピックアップ 隣接する辺を削除 辺に含まれる頂点を追加 -> -> 太枠が頂点被覆 O(V + E) <latexit sha1_base64="gTO4ycROLB9nFeOMRcuFlEuHTtE=">AAAB7XicbVBNSwMxEJ2tX7V+VT16CRahIpTdKuixKII3K9htoV1KNk3b2GyyJFmhLP0PXjwo4tX/481/Y9ruQasPBh7vzTAzL4w508Z1v5zc0vLK6lp+vbCxubW9U9zd87VMFKENIrlUrRBrypmgDcMMp61YURyFnDbD0dXUbz5SpZkU92Yc0yDCA8H6jGBjJf+27J9cH3eLJbfizoD+Ei8jJchQ7xY/Oz1JkogKQzjWuu25sQlSrAwjnE4KnUTTGJMRHtC2pQJHVAfp7NoJOrJKD/WlsiUMmqk/J1IcaT2OQtsZYTPUi95U/M9rJ6Z/EaRMxImhgswX9ROOjETT11GPKUoMH1uCiWL2VkSGWGFibEAFG4K3+PJf4lcr3mmlendWql1mceThAA6hDB6cQw1uoA4NIPAAT/ACr450np03533emnOymX34BefjGwy8jiA=</latexit> E0 <latexit sha1_base64="BeMpfNLDkFLZduKRKJ1U/BTaBAk=">AAAB73icbVDLSgNBEOyNrxhfUY9eBoPgKexGQY9BETxGMA9I1jA76SRDZmfXmVkhLPkJLx4U8ervePNvnCR70MSChqKqm+6uIBZcG9f9dnIrq2vrG/nNwtb2zu5ecf+goaNEMayzSESqFVCNgkusG24EtmKFNAwENoPR9dRvPqHSPJL3ZhyjH9KB5H3OqLFS6+ahEyseYrdYcsvuDGSZeBkpQYZat/jV6UUsCVEaJqjWbc+NjZ9SZTgTOCl0Eo0xZSM6wLalkoao/XR274ScWKVH+pGyJQ2Zqb8nUhpqPQ4D2xlSM9SL3lT8z2snpn/pp1zGiUHJ5ov6iSAmItPnSY8rZEaMLaFMcXsrYUOqKDM2ooINwVt8eZk0KmXvrFy5Oy9Vr7I48nAEx3AKHlxAFW6hBnVgIOAZXuHNeXRenHfnY96ac7KZQ/gD5/MH9QCP6g==</latexit> の表現に隣接リストを用いると
  13. /26 13 E0 <latexit sha1_base64="BeMpfNLDkFLZduKRKJ1U/BTaBAk=">AAAB73icbVDLSgNBEOyNrxhfUY9eBoPgKexGQY9BETxGMA9I1jA76SRDZmfXmVkhLPkJLx4U8ervePNvnCR70MSChqKqm+6uIBZcG9f9dnIrq2vrG/nNwtb2zu5ecf+goaNEMayzSESqFVCNgkusG24EtmKFNAwENoPR9dRvPqHSPJL3ZhyjH9KB5H3OqLFS6+ahEyseYrdYcsvuDGSZeBkpQYZat/jV6UUsCVEaJqjWbc+NjZ9SZTgTOCl0Eo0xZSM6wLalkoao/XR274ScWKVH+pGyJQ2Zqb8nUhpqPQ4D2xlSM9SL3lT8z2snpn/pp1zGiUHJ5ov6iSAmItPnSY8rZEaMLaFMcXsrYUOqKDM2ooINwVt8eZk0KmXvrFy5Oy9Vr7I48nAEx3AKHlxAFW6hBnVgIOAZXuHNeXRenHfnY96ac7KZQ/gD5/MH9QCP6g==</latexit> が空になるまで繰り返す -> 頂点被覆を返す 証明. ->

    -> 各イテレーションで選んだ辺の集合を とする(水色) A <latexit sha1_base64="Lihtv2jYSe0RaYbwwPdS8141boc=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI+oF4+QyCOBDZkdemFkdnYzM2tCCF/gxYPGePWTvPk3DrAHBSvppFLVne6uIBFcG9f9dnJr6xubW/ntws7u3v5B8fCoqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLR3cxvPaHSPJYPZpygH9GB5CFn1FipftMrltyyOwdZJV5GSpCh1it+dfsxSyOUhgmqdcdzE+NPqDKcCZwWuqnGhLIRHWDHUkkj1P5kfuiUnFmlT8JY2ZKGzNXfExMaaT2OAtsZUTPUy95M/M/rpCa89idcJqlByRaLwlQQE5PZ16TPFTIjxpZQpri9lbAhVZQZm03BhuAtv7xKmpWyd1Gu1C9L1dssjjycwCmcgwdXUIV7qEEDGCA8wyu8OY/Oi/PufCxac042cwx/4Hz+AJQrjMk=</latexit> 最終的に得られる頂点被覆 について |C| = 2|A| <latexit sha1_base64="G//iXUdCM8eKj5Fx5pMNqbKgkdw=">AAAB8XicbVBNS8NAEJ3Ur1q/qh69LBbBU0lqQS9CtRePFewHtqFstpt26WYTdjdCSfovvHhQxKv/xpv/xm2bg7Y+GHi8N8PMPC/iTGnb/rZya+sbm1v57cLO7t7+QfHwqKXCWBLaJCEPZcfDinImaFMzzWknkhQHHqdtb1yf+e0nKhULxYOeRNQN8FAwnxGsjfSY1lN0jSrpTdovluyyPQdaJU5GSpCh0S9+9QYhiQMqNOFYqa5jR9pNsNSMcDot9GJFI0zGeEi7hgocUOUm84un6MwoA+SH0pTQaK7+nkhwoNQk8ExngPVILXsz8T+vG2v/yk2YiGJNBVks8mOOdIhm76MBk5RoPjEEE8nMrYiMsMREm5AKJgRn+eVV0qqUnYty5b5aqt1mceThBE7hHBy4hBrcQQOaQEDAM7zCm6WsF+vd+li05qxs5hj+wPr8AU1xkAU=</latexit> C <latexit sha1_base64="re76Zkt0iSC9uIARbCEdpPGTKdg=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4hkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj2txvP6HSPJYPZpKgH9Gh5CFn1FipUesXS27ZXYCsEy8jJchQ7xe/eoOYpRFKwwTVuuu5ifGnVBnOBM4KvVRjQtmYDrFrqaQRan+6OHRGLqwyIGGsbElDFurviSmNtJ5Ege2MqBnpVW8u/ud1UxPe+lMuk9SgZMtFYSqIicn8azLgCpkRE0soU9zeStiIKsqMzaZgQ/BWX14nrUrZuypXGtel6l0WRx7O4BwuwYMbqMI91KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJczjMs=</latexit> |C⇤| |A| <latexit sha1_base64="L1o6Q+gomxHcyY92K5QPy1UDOwA=">AAAB+nicbVC7TsNAEFzzDOHlQElzIkKiiuyABGUgDWWQyEOKTXS+nJNTzg/uzqDIzqfQUIAQLV9Cx99wSVxAwkgrjWZ2tbvjxZxJZVnfxsrq2vrGZmGruL2zu7dvlg5aMkoEoU0S8Uh0PCwpZyFtKqY47cSC4sDjtO2N6lO//UiFZFF4p8YxdQM8CJnPCFZa6pmlrH7vYKky5AzoA8qusp5ZtirWDGiZ2DkpQ45Gz/xy+hFJAhoqwrGUXduKlZtioRjhdFJ0EkljTEZ4QLuahjig0k1np0/QiVb6yI+ErlChmfp7IsWBlOPA050BVkO56E3F/7xuovxLN2VhnCgakvkiP+FIRWiaA+ozQYniY00wEUzfisgQC0yUTquoQ7AXX14mrWrFPqtUb8/Ltes8jgIcwTGcgg0XUIMbaEATCDzBM7zCm5EZL8a78TFvXTHymUP4A+PzB7xck6g=</latexit> -> 最小のサイズをもつ頂点被覆を として C⇤ <latexit sha1_base64="U7v59PRgYNSCLXFXxYoZjn1gV7s=">AAAB7XicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4xkUcCK5kdZmFkdmcz02tCCP/gxYPGePV/vPk3DrAHBSvppFLVne6uIJHCoOt+O7m19Y3Nrfx2YWd3b/+geHjUNCrVjDeYkkq3A2q4FDFvoEDJ24nmNAokbwWj2sxvPXFthIrvcZxwP6KDWISCUbRSs/bQpQZ7xZJbducgq8TLSAky1HvFr25fsTTiMTJJjel4boL+hGoUTPJpoZsanlA2ogPesTSmETf+ZH7tlJxZpU9CpW3FSObq74kJjYwZR4HtjCgOzbI3E//zOimG1/5ExEmKPGaLRWEqCSoye530heYM5dgSyrSwtxI2pJoytAEVbAje8surpFkpexflyt1lqXqTxZGHEziFc/DgCqpwC3VoAINHeIZXeHOU8+K8Ox+L1pyTzRzDHzifP2APjv8=</latexit> A <latexit sha1_base64="Lihtv2jYSe0RaYbwwPdS8141boc=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI+oF4+QyCOBDZkdemFkdnYzM2tCCF/gxYPGePWTvPk3DrAHBSvppFLVne6uIBFcG9f9dnJr6xubW/ntws7u3v5B8fCoqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLR3cxvPaHSPJYPZpygH9GB5CFn1FipftMrltyyOwdZJV5GSpCh1it+dfsxSyOUhgmqdcdzE+NPqDKcCZwWuqnGhLIRHWDHUkkj1P5kfuiUnFmlT8JY2ZKGzNXfExMaaT2OAtsZUTPUy95M/M/rpCa89idcJqlByRaLwlQQE5PZ16TPFTIjxpZQpri9lbAhVZQZm03BhuAtv7xKmpWyd1Gu1C9L1dssjjycwCmcgwdXUIV7qEEDGCA8wyu8OY/Oi/PufCxac042cwx/4Hz+AJQrjMk=</latexit> に属する辺は互いに頂点を共有しないので を被覆するためには最低限 個頂点が必要 A <latexit sha1_base64="Lihtv2jYSe0RaYbwwPdS8141boc=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI+oF4+QyCOBDZkdemFkdnYzM2tCCF/gxYPGePWTvPk3DrAHBSvppFLVne6uIBFcG9f9dnJr6xubW/ntws7u3v5B8fCoqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLR3cxvPaHSPJYPZpygH9GB5CFn1FipftMrltyyOwdZJV5GSpCh1it+dfsxSyOUhgmqdcdzE+NPqDKcCZwWuqnGhLIRHWDHUkkj1P5kfuiUnFmlT8JY2ZKGzNXfExMaaT2OAtsZUTPUy95M/M/rpCa89idcJqlByRaLwlQQE5PZ16TPFTIjxpZQpri9lbAhVZQZm03BhuAtv7xKmpWyd1Gu1C9L1dssjjycwCmcgwdXUIV7qEEDGCA8wyu8OY/Oi/PufCxac042cwx/4Hz+AJQrjMk=</latexit> |A| <latexit sha1_base64="RuwSfEzWcrwdbV4QYrNGgDERTog=">AAAB6nicbVDLTgJBEOz1ifhCPXqZSEw8kV000SPqxSNGeSSwIbNDL0yYnd3MzJoQ4BO8eNAYr36RN//GAfagYCWdVKq6090VJIJr47rfzsrq2vrGZm4rv72zu7dfODis6zhVDGssFrFqBlSj4BJrhhuBzUQhjQKBjWBwO/UbT6g0j+WjGSboR7QnecgZNVZ6GF+PO4WiW3JnIMvEy0gRMlQ7ha92N2ZphNIwQbVueW5i/BFVhjOBk3w71ZhQNqA9bFkqaYTaH81OnZBTq3RJGCtb0pCZ+ntiRCOth1FgOyNq+nrRm4r/ea3UhFf+iMskNSjZfFGYCmJiMv2bdLlCZsTQEsoUt7cS1qeKMmPTydsQvMWXl0m9XPLOS+X7i2LlJosjB8dwAmfgwSVU4A6qUAMGPXiGV3hzhPPivDsf89YVJ5s5gj9wPn8AVyyN1Q==</latexit> |C|  2|C⇤| <latexit sha1_base64="JWCoLLzh0VUAAqMsj7AMGZRDXVw=">AAAB+nicbVDLSsNAFJ3UV62vVJduBovgqiRV0GWxG5cV7AOaWCbTSTt08nDmRilJP8WNC0Xc+iXu/BunbRbaeuDC4Zx7ufceLxZcgWV9G4W19Y3NreJ2aWd3b//ALB+2VZRIylo0EpHsekQxwUPWAg6CdWPJSOAJ1vHGjZnfeWRS8Si8g0nM3IAMQ+5zSkBLfbOcNTJHsAdcyxr3DlGQ9c2KVbXmwKvEzkkF5Wj2zS9nENEkYCFQQZTq2VYMbkokcCrYtOQkisWEjsmQ9TQNScCUm85Pn+JTrQywH0ldIeC5+nsiJYFSk8DTnQGBkVr2ZuJ/Xi8B/8pNeRgnwEK6WOQnAkOEZzngAZeMgphoQqjk+lZMR0QSCjqtkg7BXn55lbRrVfu8Wru9qNSv8ziK6BidoDNko0tURzeoiVqIoif0jF7Rm5EZL8a78bFoLRj5zBH6A+PzB+F5k8E=</latexit> 以上より
  14. /26 14 最小重み頂点被覆問題 出力 - 重みが最小の頂点被覆 入力 G = (V,

    E) <latexit sha1_base64="h2jVbgymdFJUZ8vxIitQgTJ80go=">AAAB8XicbVBNS8NAEJ3Ur1q/oh69LBahgpSkCnoRiiJ6rGA/sA1ls920SzebsLsRSui/8OJBEa/+G2/+G7dtDtr6YODx3gwz8/yYM6Ud59vKLS2vrK7l1wsbm1vbO/buXkNFiSS0TiIeyZaPFeVM0LpmmtNWLCkOfU6b/vB64jefqFQsEg96FFMvxH3BAkawNtLjLbpEpcYJujnu2kWn7EyBFombkSJkqHXtr04vIklIhSYcK9V2nVh7KZaaEU7HhU6iaIzJEPdp21CBQ6q8dHrxGB0ZpYeCSJoSGk3V3xMpDpUahb7pDLEeqHlvIv7ntRMdXHgpE3GiqSCzRUHCkY7Q5H3UY5ISzUeGYCKZuRWRAZaYaBNSwYTgzr+8SBqVsntartyfFatXWRx5OIBDKIEL51CFO6hBHQgIeIZXeLOU9WK9Wx+z1pyVzezDH1ifP4kyjt4=</latexit> - グラフ - 重み w(v), v 2 V <latexit sha1_base64="9ddj66KXZf21N8W7KBrA/nUcsZI=">AAAB9HicbVBNS8NAEJ3Ur1q/qh69LBahgpSkCnosevFYwX5AG8pmu2mXbjbp7iZSQn+HFw+KePXHePPfuG1z0NYHA4/3ZpiZ50WcKW3b31ZubX1jcyu/XdjZ3ds/KB4eNVUYS0IbJOShbHtYUc4EbWimOW1HkuLA47Tlje5mfiuhUrFQPOpJRN0ADwTzGcHaSO5TOTm/QAnqMoGavWLJrthzoFXiZKQEGeq94le3H5I4oEITjpXqOHak3RRLzQin00I3VjTCZIQHtGOowAFVbjo/eorOjNJHfihNCY3m6u+JFAdKTQLPdAZYD9WyNxP/8zqx9m/clIko1lSQxSI/5kiHaJYA6jNJieYTQzCRzNyKyBBLTLTJqWBCcJZfXiXNasW5rFQfrkq12yyOPJzAKZTBgWuowT3UoQEExvAMr/BmJdaL9W59LFpzVjZzDH9gff4AwIyQyQ==</latexit> さっきの近似アルゴリズムは使えないが 0-1整数計画問題に還元可能(でもNP困難) x(v) = 1, v 2 V <latexit sha1_base64="jcqinMOmId3XYf9BtFZFETGJQNw=">AAAB+nicbVBNS8NAEJ3Ur1q/Uj16WSxCBSlJFfQiFL14rGA/oA1ls920SzebsLupltqf4sWDIl79Jd78N27bHLT1wcDjvRlm5vkxZ0o7zreVWVldW9/Ibua2tnd29+z8fl1FiSS0RiIeyaaPFeVM0JpmmtNmLCkOfU4b/uBm6jeGVCoWiXs9iqkX4p5gASNYG6lj5x+LwxN0hdxTNERtJlC9YxeckjMDWiZuSgqQotqxv9rdiCQhFZpwrFTLdWLtjbHUjHA6ybUTRWNMBrhHW4YKHFLljWenT9CxUbooiKQpodFM/T0xxqFSo9A3nSHWfbXoTcX/vFaig0tvzEScaCrIfFGQcKQjNM0BdZmkRPORIZhIZm5FpI8lJtqklTMhuIsvL5N6ueSelcp354XKdRpHFg7hCIrgwgVU4BaqUAMCD/AMr/BmPVkv1rv1MW/NWOnMAfyB9fkD4fWR0Q==</latexit> v <latexit sha1_base64="gfGd9lilLkuqmwOX+dBCP3vq/yw=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hkUcCGzI79MLI7OxmZpaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJU8epYthgsYhVO6AaBZfYMNwIbCcKaRQIbAWj+7nfGqPSPJaPZpKgH9GB5CFn1FipPu4VS27ZXYCsEy8jJchQ6xW/uv2YpRFKwwTVuuO5ifGnVBnOBM4K3VRjQtmIDrBjqaQRan+6OHRGLqzSJ2GsbElDFurviSmNtJ5Ege2MqBnqVW8u/ud1UhPe+lMuk9SgZMtFYSqIicn8a9LnCpkRE0soU9zeStiQKsqMzaZgQ/BWX14nzUrZuypX6tel6l0WRx7O4BwuwYMbqMID1KABDBCe4RXenCfnxXl3PpatOSebOYU/cD5/AOR/jP4=</latexit> のときに限り を頂点被覆に入れる minimize X v2V w(v)x(v) s.t. x(u) + x(v) 1, (u, v) 2 E x(v) 2 {0, 1}, v 2 V <latexit sha1_base64="65NtRPnH74NtiNdr1nLOtD7Wr6U=">AAACe3icbVFdi9NAFJ3ErzV+VX0UZLCoWbeEZHdFwZdFEXxcwXYXOqVMprfdYTOTOHOntob8CX+ab/4TXwQnbUDd9V4uHM49hztzb14V0mKa/gjCK1evXb+xczO6dfvO3Xu9+w9GtnRGwFCURWlOc26hkBqGKLGA08oAV3kBJ/n5u7Z/sgRjZak/4bqCieILLedScPTUtPeNIaywVlJLJb9C84y98WmdmtZLyqSmo+ZLvNxd+WIs2optgkkTbZSr2O3utU3KFvCZZgPasrEbtIx3v6eRt3XSjmN1OqAZa7baP9nNi6a9fpqkm6CXQdaBPunieNr7zmalcAo0ioJbO87SCic1NyhFAU3EnIWKi3O+gLGHmiuwk3qzu4Y+9cyMzkvjSyPdsH87aq6sXavcKxXHM3ux15L/640dzl9Paqkrh6DFdtDcFRRL2h6CzqQBgcXaAy6M9G+l4owbLtCfq11CdvHLl8FoP8kOkv2Ph/2jt906dsgj8oTEJCOvyBH5QI7JkAjyM3gcPA/i4FfYD1+Eg600DDrPQ/JPhC9/A58HuMo=</latexit> u <latexit sha1_base64="wnFhQNKUlf0HWa+NJZ/ckTw+BdQ=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOlZtovV9yqOwdZJV5OKpCj0S9/9QYxSyOUhgmqdddzE+NnVBnOBE5LvVRjQtmYDrFrqaQRaj+bHzolZ1YZkDBWtqQhc/X3REYjrSdRYDsjakZ62ZuJ/3nd1ITXfsZlkhqUbLEoTAUxMZl9TQZcITNiYgllittbCRtRRZmx2ZRsCN7yy6ukXat6F9Va87JSv8njKMIJnMI5eHAFdbiDBrSAAcIzvMKb8+i8OO/Ox6K14OQzx/AHzucP4vuM/Q==</latexit> か のどちらかは頂点被覆に属する v <latexit sha1_base64="gfGd9lilLkuqmwOX+dBCP3vq/yw=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hkUcCGzI79MLI7OxmZpaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJU8epYthgsYhVO6AaBZfYMNwIbCcKaRQIbAWj+7nfGqPSPJaPZpKgH9GB5CFn1FipPu4VS27ZXYCsEy8jJchQ6xW/uv2YpRFKwwTVuuO5ifGnVBnOBM4K3VRjQtmIDrBjqaQRan+6OHRGLqzSJ2GsbElDFurviSmNtJ5Ege2MqBnqVW8u/ud1UhPe+lMuk9SgZMtFYSqIicn8a9LnCpkRE0soU9zeStiQKsqMzaZgQ/BWX14nzUrZuypX6tel6l0WRx7O4BwuwYMbqMID1KABDBCe4RXenCfnxXl3PpatOSebOYU/cD5/AOR/jP4=</latexit>
  15. /26 0  x(v)  1 <latexit sha1_base64="X+ZlBiAJzxue1OsB+FTw3eN7mQE=">AAAB+3icbZDLTsJAFIZP8YZ4q7h0M5GY4Ia0aKJLohuXmMglgYZMhylMmE7rzJRAGl7FjQuNceuLuPNtHKALBf9kki//OSfnzO/HnCntON9WbmNza3snv1vY2z84PLKPi00VJZLQBol4JNs+VpQzQRuaaU7bsaQ49Dlt+aO7eb01plKxSDzqaUy9EA8ECxjB2lg9u+igLqdPaFIeXyzJ7dklp+IshNbBzaAEmeo9+6vbj0gSUqEJx0p1XCfWXoqlZoTTWaGbKBpjMsID2jEocEiVly5un6Fz4/RREEnzhEYL9/dEikOlpqFvOkOsh2q1Njf/q3USHdx4KRNxoqkgy0VBwpGO0DwI1GeSEs2nBjCRzNyKyBBLTLSJq2BCcFe/vA7NasW9rFQfrkq12yyOPJzCGZTBhWuowT3UoQEEJvAMr/BmzawX6936WLbmrGzmBP7I+vwBa5+Svw==</latexit> x(v) 2

    {0, 1} <latexit sha1_base64="k9FxKxF3ep8k4J5ORWIo7vLRyTI=">AAAB+nicbVBNS8NAEJ34WetXqkcvi0WoICWpgh6LXjxWsB/QhLLZbtulm03Y3VRL7E/x4kERr/4Sb/4bt20O2vpg4PHeDDPzgpgzpR3n21pZXVvf2Mxt5bd3dvf27cJBQ0WJJLROIh7JVoAV5UzQumaa01YsKQ4DTpvB8GbqN0dUKhaJez2OqR/ivmA9RrA2UscuPJZGp8hjAnmpc4Zcb9Kxi07ZmQEtEzcjRchQ69hfXjciSUiFJhwr1XadWPsplpoRTid5L1E0xmSI+7RtqMAhVX46O32CTozSRb1ImhIazdTfEykOlRqHgekMsR6oRW8q/ue1E9278lMm4kRTQeaLeglHOkLTHFCXSUo0HxuCiWTmVkQGWGKiTVp5E4K7+PIyaVTK7nm5cndRrF5nceTgCI6hBC5cQhVuoQZ1IPAAz/AKb9aT9WK9Wx/z1hUrmzmEP7A+fwDNDZJo</latexit> の制約を に緩和(線形計画緩和) (*)の任意の実行可能解は(**)の実行可能解でもある -> (**)の最適解の値は(*)の下界, 最小重み頂点問題の最適重みの下界でもある 0-1整数計画問題 minimize X v2V w(v)x(v) s.t. x(u) + x(v) 1, (u, v) 2 E x(v) 2 {0, 1}, v 2 V <latexit sha1_base64="65NtRPnH74NtiNdr1nLOtD7Wr6U=">AAACe3icbVFdi9NAFJ3ErzV+VX0UZLCoWbeEZHdFwZdFEXxcwXYXOqVMprfdYTOTOHOntob8CX+ab/4TXwQnbUDd9V4uHM49hztzb14V0mKa/gjCK1evXb+xczO6dfvO3Xu9+w9GtnRGwFCURWlOc26hkBqGKLGA08oAV3kBJ/n5u7Z/sgRjZak/4bqCieILLedScPTUtPeNIaywVlJLJb9C84y98WmdmtZLyqSmo+ZLvNxd+WIs2optgkkTbZSr2O3utU3KFvCZZgPasrEbtIx3v6eRt3XSjmN1OqAZa7baP9nNi6a9fpqkm6CXQdaBPunieNr7zmalcAo0ioJbO87SCic1NyhFAU3EnIWKi3O+gLGHmiuwk3qzu4Y+9cyMzkvjSyPdsH87aq6sXavcKxXHM3ux15L/640dzl9Paqkrh6DFdtDcFRRL2h6CzqQBgcXaAy6M9G+l4owbLtCfq11CdvHLl8FoP8kOkv2Ph/2jt906dsgj8oTEJCOvyBH5QI7JkAjyM3gcPA/i4FfYD1+Eg600DDrPQ/JPhC9/A58HuMo=</latexit> (*) 線形計画問題(多項式時間で解ける) minimize X v2V w(v)x(v) s.t. x(u) + x(v) 1, (u, v) 2 E x(v)  1, v 2 V x(v) 0, v 2 V <latexit sha1_base64="uQPfNCy/khecdGClacerK27jgZk=">AAACu3icjVFda9swFJW9r877yrrHvYiFjZQVY3eFFUqhbAz22MGSFuIsyMpNolWSXekqS2r8J/e2fzM5MWxLN9i9XDice46udJWXUlhMkh9BeOv2nbv3du5HDx4+evyk83R3YAtnOPR5IQtzkTMLUmjoo0AJF6UBpnIJ5/nl+6Z/vgBjRaE/46qEkWIzLaaCM/TUuPM9Q1hipYQWSlxD/So79mmdGlcLmglNB/W33mJv6SvLoo3YxhjX0Vq57Lm9102TZjO4ouk+bdie228Y7/5AI29rpQ0nf6n+le3cLWNzfPJfxnGnm8TJOuhNkLagS9o4a5YwKbhToJFLZu0wTUocVcyg4BLqKHMWSsYv2QyGHmqmwI6q9e5r+tIzEzotjC+NdM3+7qiYsnalcq9UDOd2u9eQf+sNHU6PRpXQpUPQfDNo6iTFgjYfSSfCAEe58oBxI/xdKZ8zwzj67478EtLtJ98Eg4M4fRMffDrsnr5r17FDnpMXpEdS8packo/kjPQJD46CL8EsmIcnIQ+/hnIjDYPW84z8EaH7CZemy9c=</latexit> (**) 15
  16. /26 16 最小頂点被覆問題の多項式2近似アルゴリズム 線形計画問題 minimize X v2V w(v)x(v) s.t. x(u)

    + x(v) 1, (u, v) 2 E x(v)  1, v 2 V x(v) 0, v 2 V <latexit sha1_base64="uQPfNCy/khecdGClacerK27jgZk=">AAACu3icjVFda9swFJW9r877yrrHvYiFjZQVY3eFFUqhbAz22MGSFuIsyMpNolWSXekqS2r8J/e2fzM5MWxLN9i9XDice46udJWXUlhMkh9BeOv2nbv3du5HDx4+evyk83R3YAtnOPR5IQtzkTMLUmjoo0AJF6UBpnIJ5/nl+6Z/vgBjRaE/46qEkWIzLaaCM/TUuPM9Q1hipYQWSlxD/So79mmdGlcLmglNB/W33mJv6SvLoo3YxhjX0Vq57Lm9102TZjO4ouk+bdie228Y7/5AI29rpQ0nf6n+le3cLWNzfPJfxnGnm8TJOuhNkLagS9o4a5YwKbhToJFLZu0wTUocVcyg4BLqKHMWSsYv2QyGHmqmwI6q9e5r+tIzEzotjC+NdM3+7qiYsnalcq9UDOd2u9eQf+sNHU6PRpXQpUPQfDNo6iTFgjYfSSfCAEe58oBxI/xdKZ8zwzj67478EtLtJ98Eg4M4fRMffDrsnr5r17FDnpMXpEdS8packo/kjPQJD46CL8EsmIcnIQ+/hnIjDYPW84z8EaH7CZemy9c=</latexit> 整数に丸める 頂点被覆であることの証明 x(u) + x(v) 1 <latexit sha1_base64="7u3tLJBYcy9OSjXDNQqTfIH1VMA=">AAAB+XicbVBNS8NAEN34WetX1KOXxSK0CCWpgh6LXjxWsB/QhrLZTtqlm03c3ZSW0H/ixYMiXv0n3vw3btsctPXBwOO9GWbm+TFnSjvOt7W2vrG5tZ3bye/u7R8c2kfHDRUlkkKdRjySLZ8o4ExAXTPNoRVLIKHPoekP72Z+cwRSsUg86kkMXkj6ggWMEm2krm2Pi0npYlwclXCnD0/Y7doFp+zMgVeJm5ECylDr2l+dXkSTEISmnCjVdp1YeymRmlEO03wnURATOiR9aBsqSAjKS+eXT/G5UXo4iKQpofFc/T2RklCpSeibzpDogVr2ZuJ/XjvRwY2XMhEnGgRdLAoSjnWEZzHgHpNANZ8YQqhk5lZMB0QSqk1YeROCu/zyKmlUyu5lufJwVajeZnHk0Ck6Q0XkomtURfeohuqIohF6Rq/ozUqtF+vd+li0rlnZzAn6A+vzBxY1kgE=</latexit> ¯ x(v) <latexit sha1_base64="hvw8k7APJn4LHQPyi1DZWl6CCjg=">AAAB8XicbVBNSwMxEJ2tX7V+VT16CRahXspuFfRY9OKxgv3AdinZNNuGJtklyRbL0n/hxYMiXv033vw3pu0etPXBwOO9GWbmBTFn2rjut5NbW9/Y3MpvF3Z29/YPiodHTR0litAGiXik2gHWlDNJG4YZTtuxolgEnLaC0e3Mb42p0iySD2YSU1/ggWQhI9hY6bEbYJU+Tcvj816x5FbcOdAq8TJSggz1XvGr249IIqg0hGOtO54bGz/FyjDC6bTQTTSNMRnhAe1YKrGg2k/nF0/RmVX6KIyULWnQXP09kWKh9UQEtlNgM9TL3kz8z+skJrz2UybjxFBJFovChCMTodn7qM8UJYZPLMFEMXsrIkOsMDE2pIINwVt+eZU0qxXvolK9vyzVbrI48nACp1AGD66gBndQhwYQkPAMr/DmaOfFeXc+Fq05J5s5hj9wPn8AS5+Qqg==</latexit> ¯ x(u) <latexit sha1_base64="gYgN9kG7O/qovSsioDkGapJQoDw=">AAAB8XicbVA9TwJBEJ3DL8Qv1NJmIzHBhtyhiZZEG0tMBIxwIXvLABv29i67e0Zy4V/YWGiMrf/Gzn/jAlco+JJJXt6bycy8IBZcG9f9dnIrq2vrG/nNwtb2zu5ecf+gqaNEMWywSETqPqAaBZfYMNwIvI8V0jAQ2ApG11O/9YhK80jemXGMfkgHkvc5o8ZKD52AqvRpUk5Ou8WSW3FnIMvEy0gJMtS7xa9OL2JJiNIwQbVue25s/JQqw5nASaGTaIwpG9EBti2VNETtp7OLJ+TEKj3Sj5QtachM/T2R0lDrcRjYzpCaoV70puJ/Xjsx/Us/5TJODEo2X9RPBDERmb5PelwhM2JsCWWK21sJG1JFmbEhFWwI3uLLy6RZrXhnlerteal2lcWRhyM4hjJ4cAE1uIE6NICBhGd4hTdHOy/Ou/Mxb8052cwh/IHz+QNKGpCp</latexit> の制約より か のどちらかは1/2以上 C <latexit sha1_base64="re76Zkt0iSC9uIARbCEdpPGTKdg=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4hkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj2txvP6HSPJYPZpKgH9Gh5CFn1FipUesXS27ZXYCsEy8jJchQ7xe/eoOYpRFKwwTVuuu5ifGnVBnOBM4KvVRjQtmYDrFrqaQRan+6OHRGLqwyIGGsbElDFurviSmNtJ5Ege2MqBnpVW8u/ud1UxPe+lMuk9SgZMtFYSqIicn8azLgCpkRE0soU9zeStiIKsqMzaZgQ/BWX14nrUrZuypXGtel6l0WRx7O4BwuwYMbqMI91KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJczjMs=</latexit> -> 解 は か の少なくとも一方を含む u <latexit sha1_base64="wnFhQNKUlf0HWa+NJZ/ckTw+BdQ=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOlZtovV9yqOwdZJV5OKpCj0S9/9QYxSyOUhgmqdddzE+NnVBnOBE5LvVRjQtmYDrFrqaQRaj+bHzolZ1YZkDBWtqQhc/X3REYjrSdRYDsjakZ62ZuJ/3nd1ITXfsZlkhqUbLEoTAUxMZl9TQZcITNiYgllittbCRtRRZmx2ZRsCN7yy6ukXat6F9Va87JSv8njKMIJnMI5eHAFdbiDBrSAAcIzvMKb8+i8OO/Ox6K14OQzx/AHzucP4vuM/Q==</latexit> v <latexit sha1_base64="gfGd9lilLkuqmwOX+dBCP3vq/yw=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hkUcCGzI79MLI7OxmZpaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJU8epYthgsYhVO6AaBZfYMNwIbCcKaRQIbAWj+7nfGqPSPJaPZpKgH9GB5CFn1FipPu4VS27ZXYCsEy8jJchQ6xW/uv2YpRFKwwTVuuO5ifGnVBnOBM4K3VRjQtmIDrBjqaQRan+6OHRGLqzSJ2GsbElDFurviSmNtJ5Ege2MqBnqVW8u/ud1UhPe+lMuk9SgZMtFYSqIicn8a9LnCpkRE0soU9zeStiQKsqMzaZgQ/BWX14nzUrZuypX6tel6l0WRx7O4BwuwYMbqMID1KABDBCe4RXenCfnxXl3PpatOSebOYU/cD5/AOR/jP4=</latexit>
  17. /26 17 2近似アルゴリズムであることの証明 最小重み頂点被覆 と線形計画の最適解の値 について C⇤ <latexit sha1_base64="U7v59PRgYNSCLXFXxYoZjn1gV7s=">AAAB7XicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4xkUcCK5kdZmFkdmcz02tCCP/gxYPGePV/vPk3DrAHBSvppFLVne6uIJHCoOt+O7m19Y3Nrfx2YWd3b/+geHjUNCrVjDeYkkq3A2q4FDFvoEDJ24nmNAokbwWj2sxvPXFthIrvcZxwP6KDWISCUbRSs/bQpQZ7xZJbducgq8TLSAky1HvFr25fsTTiMTJJjel4boL+hGoUTPJpoZsanlA2ogPesTSmETf+ZH7tlJxZpU9CpW3FSObq74kJjYwZR4HtjCgOzbI3E//zOimG1/5ExEmKPGaLRWEqCSoye530heYM5dgSyrSwtxI2pJoytAEVbAje8surpFkpexflyt1lqXqTxZGHEziFc/DgCqpwC3VoAINHeIZXeHOU8+K8Ox+L1pyTzRzDHzifP2APjv8=</latexit> z⇤

    <latexit sha1_base64="U50Bf+3iSuMhm9HgNvWVuIqtsqU=">AAAB7XicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4xkUcCK5kdBhiZnd3M9Jrghn/w4kFjvPo/3vwbB9iDgpV0UqnqTndXEEth0HW/ndzK6tr6Rn6zsLW9s7tX3D9omCjRjNdZJCPdCqjhUiheR4GSt2LNaRhI3gxG11O/+ci1EZG6w3HM/ZAOlOgLRtFKjaf7DjXYLZbcsjsDWSZeRkqQodYtfnV6EUtCrpBJakzbc2P0U6pRMMknhU5ieEzZiA5421JFQ278dHbthJxYpUf6kbalkMzU3xMpDY0Zh4HtDCkOzaI3Ff/z2gn2L/1UqDhBrth8UT+RBCMyfZ30hOYM5dgSyrSwtxI2pJoytAEVbAje4svLpFEpe2flyu15qXqVxZGHIziGU/DgAqpwAzWoA4MHeIZXeHMi58V5dz7mrTknmzmEP3A+fwC0fo82</latexit> z⇤  w(C⇤) <latexit sha1_base64="V4YvslcRmEvaZ3skqcL64xwjGzU=">AAAB/nicbVDLSgMxFM3UV62vUXHlJliEuikzVdBlsRuXFewDOmPJpJk2NPMwuaPUoeCvuHGhiFu/w51/YzrtQlsPXDg5515y7/FiwRVY1reRW1peWV3Lrxc2Nre2d8zdvaaKEklZg0Yikm2PKCZ4yBrAQbB2LBkJPMFa3rA28Vv3TCoehTcwipkbkH7IfU4JaKlrHjzeOkQBdgS7ww+lWvY66ZpFq2xlwIvEnpEimqHeNb+cXkSTgIVABVGqY1sxuCmRwKlg44KTKBYTOiR91tE0JAFTbpqtP8bHWulhP5K6QsCZ+nsiJYFSo8DTnQGBgZr3JuJ/XicB/8JNeRgnwEI6/chPBIYIT7LAPS4ZBTHShFDJ9a6YDogkFHRiBR2CPX/yImlWyvZpuXJ9VqxezuLIo0N0hErIRueoiq5QHTUQRSl6Rq/ozXgyXox342PamjNmM/voD4zPHxNIlOg=</latexit> z⇤ = X v2V w(v)¯ x(v) X v2V : ¯ x(v) 1/2 w(v)¯ x(v) X v2V : ¯ x(v) 1/2 w(v) · 1 2 = X v2C w(v) · 1 2 = 1 2 X v2C w(v) = 1 2 w(C) <latexit sha1_base64="R0B4O3XNar2267gi94OfEy25fCw=">AAAC9HicrVJNj9MwEHXC1xK+unDkMqJi1b2UpCCBQCut6IXjItHuSnWpHNfpWus4WXvSpUT5HVw4gBBXfgw3/g1OGmk/ypGRLD29eW9mPHacK2kxDP94/rXrN27e2rod3Ll77/6DzvbDsc0Kw8WIZyozRzGzQkktRihRiaPcCJbGShzGJ8M6f7gUxspMf8BVLqYpW2iZSM7QUbNtL/j8kTKLsLMH1BbprFxSqWFcwVlvuUtjZspPlUMBpcEOXYjTS6rXQN/AuQgaQfRs8D/cQPk8Q6CJYbyMqnJQNVX22gpQlxhWTZ9auKk7Jy40XTtgQ3LWG+7OOt2wHzYBmyBqQZe0cTDr/KbzjBep0MgVs3YShTlOS2ZQciXcHIUVOeMnbCEmDmqWCjstm0er4Klj5pBkxh2N0LAXHSVLrV2lsVOmDI/t1VxN/is3KTB5NS2lzgsUmq8bJYUCzKD+ATCXRnBUKwcYN9LNCvyYuU2g+yeBW0J09cqbYDzoR8/7g/cvuvtv23VskcfkCemRiLwk++QdOSAjwr1T74v3zfvuL/2v/g//51rqe63nEbkU/q+/g/fmNw==</latexit> 整数に丸める 1/2以上の値のみ採用した 頂点被覆 C <latexit sha1_base64="re76Zkt0iSC9uIARbCEdpPGTKdg=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4hkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj2txvP6HSPJYPZpKgH9Gh5CFn1FipUesXS27ZXYCsEy8jJchQ7xe/eoOYpRFKwwTVuuu5ifGnVBnOBM4KvVRjQtmYDrFrqaQRan+6OHRGLqwyIGGsbElDFurviSmNtJ5Ege2MqBnpVW8u/ud1UxPe+lMuk9SgZMtFYSqIicn8azLgCpkRE0soU9zeStiIKsqMzaZgQ/BWX14nrUrZuypXGtel6l0WRx7O4BwuwYMbqMI91KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJczjMs=</latexit> w(C)  2z⇤  2w(C⇤) <latexit sha1_base64="byV2bm+kTD3Blc3GtFVzsnS2frA=">AAACCnicbVC7TsMwFHXKq5RXgJHFUCG1S5UUJBgrujAWiT6kJlSO67RWHSfYDqhEnVn4FRYGEGLlC9j4G9w0A7QcydK559yr63u8iFGpLOvbyC0tr6yu5dcLG5tb2zvm7l5LhrHApIlDFoqOhyRhlJOmooqRTiQICjxG2t6oPvXbd0RIGvJrNY6IG6ABpz7FSGmpZx7el+pl6DByC6sPNw6SKiu0npblnlm0KlYKuEjsjBRBhkbP/HL6IY4DwhVmSMqubUXKTZBQFDMyKTixJBHCIzQgXU05Coh0k/SUCTzWSh/6odCPK5iqvycSFEg5DjzdGSA1lPPeVPzP68bKP3cTyqNYEY5ni/yYQRXCaS6wTwXBio01QVhQ/VeIh0ggrHR6BR2CPX/yImlVK/ZJpXp1WqxdZHHkwQE4AiVggzNQA5egAZoAg0fwDF7Bm/FkvBjvxsesNWdkM/vgD4zPHy0NmK0=</latexit> ->
  18. /26 最小化・最大化問題の最適コスト C⇤ <latexit sha1_base64="U7v59PRgYNSCLXFXxYoZjn1gV7s=">AAAB7XicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4xkUcCK5kdZmFkdmcz02tCCP/gxYPGePV/vPk3DrAHBSvppFLVne6uIJHCoOt+O7m19Y3Nrfx2YWd3b/+geHjUNCrVjDeYkkq3A2q4FDFvoEDJ24nmNAokbwWj2sxvPXFthIrvcZxwP6KDWISCUbRSs/bQpQZ7xZJbducgq8TLSAky1HvFr25fsTTiMTJJjel4boL+hGoUTPJpoZsanlA2ogPesTSmETf+ZH7tlJxZpU9CpW3FSObq74kJjYwZR4HtjCgOzbI3E//zOimG1/5ExEmKPGaLRWEqCSoye530heYM5dgSyrSwtxI2pJoytAEVbAje8surpFkpexflyt1lqXqTxZGHEziFc/DgCqpwC3VoAINHeIZXeHOU8+K8Ox+L1pyTzRzDHzifP2APjv8=</latexit> アルゴリズムが生成する期待コストC <latexit sha1_base64="re76Zkt0iSC9uIARbCEdpPGTKdg=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELh4hkUcCGzI79MLI7OxmZtaEEL7AiweN8eonefNvHGAPClbSSaWqO91dQSK4Nq777eQ2Nre2d/K7hb39g8Oj4vFJS8epYthksYhVJ6AaBZfYNNwI7CQKaRQIbAfj2txvP6HSPJYPZpKgH9Gh5CFn1FipUesXS27ZXYCsEy8jJchQ7xe/eoOYpRFKwwTVuuu5ifGnVBnOBM4KvVRjQtmYDrFrqaQRan+6OHRGLqwyIGGsbElDFurviSmNtJ5Ege2MqBnpVW8u/ud1UxPe+lMuk9SgZMtFYSqIicn8azLgCpkRE0soU9zeStiIKsqMzaZgQ/BWX14nrUrZuypXGtel6l0WRx7O4BwuwYMbqMI91KEJDBCe4RXenEfnxXl3PpatOSebOYU/cD5/AJczjMs=</latexit> 問題のサイズ n

    <latexit sha1_base64="2QmInd+nHO60uhS7AYCvgpiU4a8=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOlpuyXK27VnYOsEi8nFcjR6Je/eoOYpRFKwwTVuuu5ifEzqgxnAqelXqoxoWxMh9i1VNIItZ/ND52SM6sMSBgrW9KQufp7IqOR1pMosJ0RNSO97M3E/7xuasJrP+MySQ1KtlgUpoKYmMy+JgOukBkxsYQyxe2thI2ooszYbEo2BG/55VXSrlW9i2qteVmp3+RxFOEETuEcPLiCOtxBA1rAAOEZXuHNeXRenHfnY9FacPKZY/gD5/MH2F+M9g==</latexit> に対して 乱択 近似アルゴリズム(approximation-algo.)と呼ぶ ⇢(n) <latexit sha1_base64="cJdLJDoMc0V22BfllB8VtYkFOgM=">AAAB7nicbVDLSgNBEOz1GeMr6tHLYBDiJexGQY9BLx4jmAckS5idzCZD5rHMzAphyUd48aCIV7/Hm3/jJNmDJhY0FFXddHdFCWfG+v63t7a+sbm1Xdgp7u7tHxyWjo5bRqWa0CZRXOlOhA3lTNKmZZbTTqIpFhGn7Wh8N/PbT1QbpuSjnSQ0FHgoWcwItk5q9/RIVeRFv1T2q/4caJUEOSlDjka/9NUbKJIKKi3h2Jhu4Cc2zLC2jHA6LfZSQxNMxnhIu45KLKgJs/m5U3TulAGKlXYlLZqrvycyLIyZiMh1CmxHZtmbif953dTGN2HGZJJaKsliUZxyZBWa/Y4GTFNi+cQRTDRztyIywhoT6xIquhCC5ZdXSatWDS6rtYercv02j6MAp3AGFQjgGupwDw1oAoExPMMrvHmJ9+K9ex+L1jUvnzmBP/A+fwC29o8o</latexit> ⇢(n) <latexit sha1_base64="cJdLJDoMc0V22BfllB8VtYkFOgM=">AAAB7nicbVDLSgNBEOz1GeMr6tHLYBDiJexGQY9BLx4jmAckS5idzCZD5rHMzAphyUd48aCIV7/Hm3/jJNmDJhY0FFXddHdFCWfG+v63t7a+sbm1Xdgp7u7tHxyWjo5bRqWa0CZRXOlOhA3lTNKmZZbTTqIpFhGn7Wh8N/PbT1QbpuSjnSQ0FHgoWcwItk5q9/RIVeRFv1T2q/4caJUEOSlDjka/9NUbKJIKKi3h2Jhu4Cc2zLC2jHA6LfZSQxNMxnhIu45KLKgJs/m5U3TulAGKlXYlLZqrvycyLIyZiMh1CmxHZtmbif953dTGN2HGZJJaKsliUZxyZBWa/Y4GTFNi+cQRTDRztyIywhoT6xIquhCC5ZdXSatWDS6rtYercv02j6MAp3AGFQjgGupwDw1oAoExPMMrvHmJ9+K9ex+L1jUvnzmBP/A+fwC29o8o</latexit> このアルゴリズムは近似比(approximation ratio) を持つと言い, max ✓ C C⇤ , C⇤ C ◆  ⇢(n) <latexit sha1_base64="/NWDeuS8MVLWPbpco6biGwfDBaM=">AAACKXicbVDLSgMxFM34rPVVdekmWIQWpMxUQZfFblxWsA/o1JJJM21oJjMmd8Qy9Hfc+CtuFBR164+YtrPQ1gOBk3POJbnHiwTXYNuf1tLyyuraemYju7m1vbOb29tv6DBWlNVpKELV8ohmgktWBw6CtSLFSOAJ1vSG1YnfvGdK81DewChinYD0Jfc5JWCkbq7iBuTBFcyHgusrQpPqOKneukTD+ASnyuxqHFfx/gCK2OTvsKsGYUEWu7m8XbKnwIvESUkepah1c69uL6RxwCRQQbRuO3YEnYQo4FSwcdaNNYsIHZI+axsqScB0J5luOsbHRulhP1TmSMBT9fdEQgKtR4FnkgGBgZ73JuJ/XjsG/6KTcBnFwCSdPeTHAkOIJ7XhHleMghgZQqji5q+YDoipB0y5WVOCM7/yImmUS85pqXx9lq9cpnVk0CE6QgXkoHNUQVeohuqIokf0jN7Qu/VkvVgf1tcsumSlMwfoD6zvHwtfpxE=</latexit> が成立するならば 5章では乱択アルゴリズムを学びましたが 近似アルゴリズムの乱択バージョンも定義できます 18
  19. /26 19 MAX-3-CNF充足可能問題 ブール式が複数の節のANDとして表現されており 各節が1つまたは複数のリテラルのORである -> 乗法標準形 (conjunctive normal form,

    CNF) -> 3乗法標準形(3-CNF) CNFのブール式の各節が正確に3つの異なるリテラルから構成されている 入力 - 3-CNF 出力 - できるだけ多くの節を充足する変数割当て 例. (x1 _ ¬x2 _ x4) ^ (x3 _ x2 _ x4) ^ (¬x1 _ ¬x3 _ ¬x4) <latexit sha1_base64="IXWP6tXor0TzXcfmlEtxhCBY0g8=">AAACVHicbVFNT8IwGO6GKKLi1KOXRmICF7IBiR6JXjxiIh8JLEtXOmjo2mXtDGThR+rBxF/ixYMFRiIf76F53ud53n489SNGpbLtb8PMHeWPTwqnxbPzi9KldXXdlSKJMelgwUTc95EkjHLSUVQx0o9igkKfkZ4/fV7qvXcSSyr4m5pHxA3RmNOAYqQ05VnTysxz4FDb9MKFgjOvvm5nXrOqEeIjqD2NDXlA3Qzu7NPYbptVzyrbNXtVcB84GSiDrNqe9TkcCZyEhCvMkJQDx46Um6JYUczIojhMJIkQnqIxGWjIUUikm65CWcB7zYxgoG8QCK7giv0/kaJQynnoa2eI1ETuakvykDZIVPDoppRHiSIcrw8KEgaVgMuE4YjGBCs21wDhmOq7QjxBMcJK/0NRh+DsPnkfdOs1p1GrvzbLracsjgK4BXegAhzwAFrgBbRBB2DwAX4MYBjGl/Fr5sz82moa2cwN2Cqz9Af6dq78</latexit>
  20. /26 (定理35.6) MAX-3-CNF充足可能問題のインスタンスが与えられたとき, 各変数に対して, 独立に確率1/2で0, 確率1/2で1を割当てると, これは乱択8/7近似アルゴリズム 20 Pr{節iが充足している} 証明

    = 1 - Pr{節iが充足していない} >= 1 - (1/2)^3 >= 7/8 節iにある変数とその否定が -> 現れる: 0 -> 現れない: (1/2)^3 を I{節iが充足している} とすると Yi <latexit sha1_base64="UpRUWdyZE5tZsZz1m+gGxuctdGM=">AAAB6nicbVBNS8NAEJ34WetX1aOXxSJ4KkkV9Fj04rGi/ZA2lM120y7dbMLuRCihP8GLB0W8+ou8+W/ctjlo64OBx3szzMwLEikMuu63s7K6tr6xWdgqbu/s7u2XDg6bJk414w0Wy1i3A2q4FIo3UKDk7URzGgWSt4LRzdRvPXFtRKwecJxwP6IDJULBKFrp/rEneqWyW3FnIMvEy0kZctR7pa9uP2ZpxBUySY3peG6CfkY1Cib5pNhNDU8oG9EB71iqaMSNn81OnZBTq/RJGGtbCslM/T2R0ciYcRTYzoji0Cx6U/E/r5NieOVnQiUpcsXmi8JUEozJ9G/SF5ozlGNLKNPC3krYkGrK0KZTtCF4iy8vk2a14p1XqncX5dp1HkcBjuEEzsCDS6jBLdShAQwG8Ayv8OZI58V5dz7mrStOPnMEf+B8/gAypI29</latexit> 指数確率変数 E[Yi] = 7/8 <latexit sha1_base64="SZ0KM8oV1FLE5MwsFzoUF9RK/LM=">AAAB8XicbVBNS8NAEJ3Ur1q/qh69LBbBU02q0F6EoggeK9gPTUPZbDft0s0m7G6EEvovvHhQxKv/xpv/xm2bg7Y+GHi8N8PMPD/mTGnb/rZyK6tr6xv5zcLW9s7uXnH/oKWiRBLaJBGPZMfHinImaFMzzWknlhSHPqdtf3Q99dtPVCoWiXs9jqkX4oFgASNYG+nxxn3oMe+yelbrFUt22Z4BLRMnIyXI0OgVv7r9iCQhFZpwrJTr2LH2Uiw1I5xOCt1E0RiTER5Q11CBQ6q8dHbxBJ0YpY+CSJoSGs3U3xMpDpUah77pDLEeqkVvKv7nuYkOal7KRJxoKsh8UZBwpCM0fR/1maRE87EhmEhmbkVkiCUm2oRUMCE4iy8vk1al7JyXK3cXpfpVFkcejuAYTsGBKtThFhrQBAICnuEV3ixlvVjv1se8NWdlM4fwB9bnDw50j9s=</latexit> Y = Y1 + Y2 + · · · + Ym <latexit sha1_base64="mmBomJWlexnJkVXTuo6QxcdBxdE=">AAACBXicbVDLSgMxFM3UV62vUZe6CBZBEMpMFXQjFN24rGBftMOQyWTa0GQyJBmhlG7c+CtuXCji1n9w59+YTmehrQdyOTnnXpJ7goRRpR3n2yosLa+srhXXSxubW9s79u5eU4lUYtLAggnZDpAijMakoalmpJ1IgnjASCsY3kz91gORior4Xo8S4nHUj2lEMdJG8u3DDryCHd+Fp6ZWTe3hUGiVXblvl52KkwEuEjcnZZCj7ttfvVDglJNYY4aU6rpOor0xkppiRialXqpIgvAQ9UnX0BhxorxxtsUEHhslhJGQ5sQaZurviTHiSo14YDo50gM1703F/7xuqqNLb0zjJNUkxrOHopRBLeA0EhhSSbBmI0MQltT8FeIBkghrE1zJhODOr7xImtWKe1ap3p2Xa9d5HEVwAI7ACXDBBaiBW1AHDYDBI3gGr+DNerJerHfrY9ZasPKZffAH1ucPWh+VTw==</latexit> とすると(mは節の数) E[Y ] = E " m X i=1 Yi # = m X i=1 E[Yi] = 7m/8 <latexit sha1_base64="CRaf7zGOh8AvVrunaZdnS+/XOzM=">AAACLHicbVDLSsNAFJ34tr6qLt0MFsVVTarQbgpFKbisYH2QxDCZTtqhM0mYuRFK6Ae58VcEcWERt36H08fC14GBwzn3cOeeMBVcg22PrLn5hcWl5ZXVwtr6xuZWcXvnWieZoqxNE5Go25BoJnjM2sBBsNtUMSJDwW7C/vnYv3lgSvMkvoJBynxJujGPOCVgpKB43nTvfHxYx01PsAhcT2cyyHndGd5LfBdwT/FuD3xcxz8ckwr4WK3K41pQLNllewL8lzgzUkIztILii9dJaCZZDFQQrV3HTsHPiQJOBRsWvEyzlNA+6TLX0JhIpv18cuwQHxilg6NEmRcDnqjfEzmRWg9kaCYlgZ7+7Y3F/zw3g6jm5zxOM2AxnS6KMoEhwePmcIcrRkEMDCFUcfNXTHtEEQqm34Ipwfl98l9yXSk7J+XK5WmpcTarYwXtoX10hBxURQ10gVqojSh6RM/oDY2sJ+vVerc+pqNz1iyzi37A+vwCBGSlnA==</latexit> m は充足できる節数の上界, 近似比は高々 m/(7m/8) = 8/7 である
  21. /26 21 部分和問題 入力 - 正整数の集合 - 正整数 S =

    {x1, x2, . . . , xn } <latexit sha1_base64="7TjRkkivC/rYGPHZlu71WeTsMeU=">AAACBHicbVDLSsNAFJ3UV62vqMtuBovgopSkCroRim5cVrQPaEKYTKbt0MkkzEykJXThxl9x40IRt36EO//GSZuFth64cOace5l7jx8zKpVlfRuFldW19Y3iZmlre2d3z9w/aMsoEZi0cMQi0fWRJIxy0lJUMdKNBUGhz0jHH11nfueBCEkjfq8mMXFDNOC0TzFSWvLM8t2lk449uwrHXr0KHRZESmYP7kw9s2LVrBngMrFzUgE5mp755QQRTkLCFWZIyp5txcpNkVAUMzItOYkkMcIjNCA9TTkKiXTT2RFTeKyVAPYjoYsrOFN/T6QolHIS+rozRGooF71M/M/rJap/4aaUx4kiHM8/6icMqghmicCACoIVm2iCsKB6V4iHSCCsdG4lHYK9ePIyaddr9mmtfntWaVzlcRRBGRyBE2CDc9AAN6AJWgCDR/AMXsGb8WS8GO/Gx7y1YOQzh+APjM8fe0aWuQ==</latexit> t <latexit sha1_base64="btWuKJH9/rrCxCKL5tGKBdwWU5A=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsN+3azSbsToQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IJHCoOt+O4W19Y3NreJ2aWd3b/+gfHjUNnGqGW+xWMa6E1DDpVC8hQIl7ySa0yiQ/CEY3878hyeujYjVPU4S7kd0qEQoGEUrNbFfrrhVdw6ySrycVCBHo1/+6g1ilkZcIZPUmK7nJuhnVKNgkk9LvdTwhLIxHfKupYpG3PjZ/NApObPKgISxtqWQzNXfExmNjJlEge2MKI7MsjcT//O6KYbXfiZUkiJXbLEoTCXBmMy+JgOhOUM5sYQyLeythI2opgxtNiUbgrf88ipp16reRbXWvKzUb/I4inACp3AOHlxBHe6gAS1gwOEZXuHNeXRenHfnY9FacPKZY/gD5/MH4XeM/A==</latexit> 出力 - の部分集合のうち, 要素の和が を超えない範囲で最大のもの S <latexit sha1_base64="vFchJGr6Z+gyWiveB04FdIL/myI=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hyiOBDZkdemFkdnYzM2tCCF/gxYPGePWTvPk3DrAHBSvppFLVne6uIBFcG9f9dnJr6xubW/ntws7u3v5B8fCoqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLR7cxvPaHSPJYPZpygH9GB5CFn1Fipft8rltyyOwdZJV5GSpCh1it+dfsxSyOUhgmqdcdzE+NPqDKcCZwWuqnGhLIRHWDHUkkj1P5kfuiUnFmlT8JY2ZKGzNXfExMaaT2OAtsZUTPUy95M/M/rpCa89idcJqlByRaLwlQQE5PZ16TPFTIjxpZQpri9lbAhVZQZm03BhuAtv7xKmpWyd1Gu1C9L1ZssjjycwCmcgwdXUIU7qEEDGCA8wyu8OY/Oi/PufCxac042cwx/4Hz+AK9zjNs=</latexit> t <latexit sha1_base64="btWuKJH9/rrCxCKL5tGKBdwWU5A=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsN+3azSbsToQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IJHCoOt+O4W19Y3NreJ2aWd3b/+gfHjUNnGqGW+xWMa6E1DDpVC8hQIl7ySa0yiQ/CEY3878hyeujYjVPU4S7kd0qEQoGEUrNbFfrrhVdw6ySrycVCBHo1/+6g1ilkZcIZPUmK7nJuhnVKNgkk9LvdTwhLIxHfKupYpG3PjZ/NApObPKgISxtqWQzNXfExmNjJlEge2MKI7MsjcT//O6KYbXfiZUkiJXbLEoTCXBmMy+JgOhOUM5sYQyLeythI2opgxtNiUbgrf88ipp16reRbXWvKzUb/I4inACp3AOHlxBHe6gAS1gwOEZXuHNeXRenHfnY9FacPKZY/gD5/MH4XeM/A==</latexit> NP完全問題(34.5.5章)の最適化バージョン すべての部分集合に対して要素和を計算して 条件を満たすものを選べば最適解だが, 指数関数時間を要する
  22. /26 22 L1 = {0} [ ({0} + 1) =

    {0, 1} <latexit sha1_base64="h91x9qIGohfsUwUXKcrytHJeEqM=">AAACH3icbVDLSgMxFM34rPVVdekmWJSKUmaqqBuh6MaFiwr2AU0pmTTThmYeJHeEMsyfuPFX3LhQRNz1b0wfC209EDiccy4397iRFBpse2gtLC4tr6xm1rLrG5tb27md3ZoOY8V4lYUyVA2Xai5FwKsgQPJGpDj1Xcnrbv925NefuNIiDB5hEPGWT7uB8ASjYKR27uK+7eCja0wSm6SYsDjCRHIPChPhBDtEiW4PjgnJTmKnRkrbubxdtMfA88SZkjyaotLOfZNOyGKfB8Ak1brp2BG0EqpAMMnTLIk1jyjr0y5vGhpQn+tWMr4vxYdG6WAvVOYFgMfq74mE+loPfNckfQo9PeuNxP+8ZgzeVSsRQRQDD9hkkRdLDCEelYU7QnEGcmAIZUqYv2LWo4oyMJVmTQnO7MnzpFYqOmfF0sN5vnwzrSOD9tEBKiAHXaIyukMVVEUMPaNX9I4+rBfrzfq0vibRBWs6s4f+wBr+AJ0cnv4=</latexit> L2 = {0, 1} [ ({0, 1} + 4) = {0, 1, 4, 5} <latexit sha1_base64="xZrAXIDOQ48ZnDAWeddr/zmHuWo=">AAACK3icbVDLSgMxFM3UV62vUZdugkWpWMpMrehGEN24cKFgtdAMJZNm2tDMg+SOUIb+jxt/xYUufODW/zCtRdR6IHA451xu7vETKTQ4zquVm5qemZ3LzxcWFpeWV+zVtWsdp4rxOotlrBo+1VyKiNdBgOSNRHEa+pLf+L3ToX9zy5UWcXQF/YR7Ie1EIhCMgpFa9sl5q4q3jzDJnDJ2yQATliaYSB5A6VvbxTWiRKcLO4QUvsNlXCvjfTJo2UWn4oyAJ4k7JkU0xkXLfiTtmKUhj4BJqnXTdRLwMqpAMMkHBZJqnlDWox3eNDSiIddeNrp1gLeM0sZBrMyLAI/UnxMZDbXuh75JhhS6+q83FP/zmikEh14moiQFHrGvRUEqMcR4WBxuC8UZyL4hlClh/opZlyrKwNRbMCW4f0+eJNfVirtXqV7Wiscn4zryaANtohJy0QE6RmfoAtURQ3foAT2jF+veerLerPevaM4az6yjX7A+PgESm6F1</latexit> L3 = {0, 1, 4, 5} [ ({0, 1, 4, 5} + 5) = {0, 1, 4, 5, 6, 9, 10} <latexit sha1_base64="bMK4LiqVBpKembV/bKcZM7+18r0=">AAACQXicbVBLSysxGM34tveqVZduPixeFIcy49uFILpx4ULBaqEpJZNm2tDMg+QboQz9a278B+7cu3GhiFs3prULb/VAwsk53yHJCVIlDXreozM2PjE5NT0zW/jzd25+obi4dG2STHNR4YlKdDVgRigZiwpKVKKaasGiQImboHPa929uhTYyia+wm4p6xFqxDCVnaKVGsXre2IZ/R0BzzwXfhR0XdmkPKM9SoEqEuD7ibNpdy1YbNygtjARd2HPh0B492msUS17ZGwB+En9ISmSIi0bxgTYTnkUiRq6YMTXfS7GeM42SK9Er0MyIlPEOa4mapTGLhKnngwZ6sGaVJoSJtitGGKjfEzmLjOlGgZ2MGLbNqNcXf/NqGYYH9VzGaYYi5l8XhZkCTKBfJzSlFhxV1xLGtbRvBd5mmnG0pRdsCf7ol3+S662yv13eutwpHZ8M65ghK2SVrBOf7JNjckYuSIVwckeeyAt5de6dZ+fNef8aHXOGmWXyH5yPT2pQpgk=</latexit> {x1, x2, . . . , xi } <latexit sha1_base64="G6HSKgJzDvkyZ2g5VLbLCqP8RHU=">AAACBHicbVC7TsMwFHXKq5RXgLGLRYXEUFVJQYKxgoWxSPQhNVHkOE5r1Ykj20Gtogws/AoLAwix8hFs/A1umwFajnSl43Pule89fsKoVJb1bZTW1jc2t8rblZ3dvf0D8/CoK3kqMOlgzrjo+0gSRmPSUVQx0k8EQZHPSM8f38z83gMRkvL4Xk0T4kZoGNOQYqS05JlVJ5t4dh1OvGYdOizgSs4eGc2d3DNrVsOaA64SuyA1UKDtmV9OwHEakVhhhqQc2Fai3AwJRTEjecVJJUkQHqMhGWgao4hIN5sfkcNTrQQw5EJXrOBc/T2RoUjKaeTrzgipkVz2ZuJ/3iBV4ZWb0ThJFYnx4qMwZVBxOEsEBlQQrNhUE4QF1btCPEICYaVzq+gQ7OWTV0m32bDPG827i1rruoijDKrgBJwBG1yCFrgFbdABGDyCZ/AK3own48V4Nz4WrSWjmDkGf2B8/gAUjZcc</latexit> 部分問題 の解を利用して を得ることを考える {x1, x2, . . . , xi 1 } <latexit sha1_base64="DY1t8hqmDZ+veE8Faoo3No2kbag=">AAACBnicbVDLSsNAFJ34rPUVdSnCYBFc1JJUQZdFNy4r2Ac0IUwmk3boJBNmJtISunLjr7hxoYhbv8Gdf+OkzUJbD1w4c869zL3HTxiVyrK+jaXlldW19dJGeXNre2fX3NtvS54KTFqYMy66PpKE0Zi0FFWMdBNBUOQz0vGHN7nfeSBCUh7fq3FC3Aj1YxpSjJSWPPPIyUaeXYUjr16FDgu4kvkjo2f2xJl4ZsWqWVPARWIXpAIKND3zywk4TiMSK8yQlD3bSpSbIaEoZmRSdlJJEoSHqE96msYoItLNpmdM4IlWAhhyoStWcKr+nshQJOU48nVnhNRAznu5+J/XS1V45WY0TlJFYjz7KEwZVBzmmcCACoIVG2uCsKB6V4gHSCCsdHJlHYI9f/Iiaddr9nmtfndRaVwXcZTAITgGp8AGl6ABbkETtAAGj+AZvII348l4Md6Nj1nrklHMHIA/MD5/AP7Ol44=</latexit> 以下の中で最大の要素和を求めるアルゴリズム t <latexit sha1_base64="btWuKJH9/rrCxCKL5tGKBdwWU5A=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsN+3azSbsToQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IJHCoOt+O4W19Y3NreJ2aWd3b/+gfHjUNnGqGW+xWMa6E1DDpVC8hQIl7ySa0yiQ/CEY3878hyeujYjVPU4S7kd0qEQoGEUrNbFfrrhVdw6ySrycVCBHo1/+6g1ilkZcIZPUmK7nJuhnVKNgkk9LvdTwhLIxHfKupYpG3PjZ/NApObPKgISxtqWQzNXfExmNjJlEge2MKI7MsjcT//O6KYbXfiZUkiJXbLEoTCXBmMy+JgOhOUM5sYQyLeythI2opgxtNiUbgrf88ipp16reRbXWvKzUb/I4inACp3AOHlxBHe6gAS1gwOEZXuHNeXRenHfnY9FacPKZY/gD5/MH4XeM/A==</latexit> S = {1, 4, 5} <latexit sha1_base64="dkIfD5Up/ICNbJH3lTBPpyp3uYI=">AAAB8nicbVBNS8NAEJ34WetX1aOXxSJ4KCWpFb0IRS8eK9oPSELZbDft0k027G6EEvozvHhQxKu/xpv/xm2bg7Y+GHi8N8PMvCDhTGnb/rZWVtfWNzYLW8Xtnd29/dLBYVuJVBLaIoIL2Q2wopzFtKWZ5rSbSIqjgNNOMLqd+p0nKhUT8aMeJ9SP8CBmISNYG8l9uPYyp1KvXHiTXqlsV+0Z0DJxclKGHM1e6cvrC5JGNNaEY6Vcx060n2GpGeF0UvRSRRNMRnhAXUNjHFHlZ7OTJ+jUKH0UCmkq1mim/p7IcKTUOApMZ4T1UC16U/E/z011eOVnLE5STWMyXxSmHGmBpv+jPpOUaD42BBPJzK2IDLHERJuUiiYEZ/HlZdKuVZ3zau2+Xm7c5HEU4BhO4AwcuIQG3EETWkBAwDO8wpulrRfr3fqYt65Y+cwR/IH1+QOKx5Ae</latexit> t = 7 <latexit sha1_base64="Pz7Nd8CwOD81fX4VVXHbULx7gQI=">AAAB6nicbVDLSgNBEOyNrxhfUY9eBoPgKexGIV6EoBePEc0DkiXMTmaTIbOzy0yvEEI+wYsHRbz6Rd78GyfJHjSxoKGo6qa7K0ikMOi6305ubX1jcyu/XdjZ3ds/KB4eNU2casYbLJaxbgfUcCkUb6BAyduJ5jQKJG8Fo9uZ33ri2ohYPeI44X5EB0qEglG00gNeV3vFklt25yCrxMtICTLUe8Wvbj9macQVMkmN6Xhugv6EahRM8mmhmxqeUDaiA96xVNGIG38yP3VKzqzSJ2GsbSkkc/X3xIRGxoyjwHZGFIdm2ZuJ/3mdFMMrfyJUkiJXbLEoTCXBmMz+Jn2hOUM5toQyLeythA2ppgxtOgUbgrf88ippVsreRblyf1mq3WRx5OEETuEcPKhCDe6gDg1gMIBneIU3RzovzrvzsWjNOdnMMfyB8/kD3EWNhA==</latexit> 例. -> 長さを限定すれば多項式になるのでは? 2i <latexit sha1_base64="iSCC95TI96kWbJhq8pPsPHJSeik=">AAAB6nicbVBNS8NAEJ34WetX1aOXxSJ4KkkV9Fj04rGi/YA2ls120y7dbMLuRCihP8GLB0W8+ou8+W/ctjlo64OBx3szzMwLEikMuu63s7K6tr6xWdgqbu/s7u2XDg6bJk414w0Wy1i3A2q4FIo3UKDk7URzGgWSt4LRzdRvPXFtRKwecJxwP6IDJULBKFrpvvooeqWyW3FnIMvEy0kZctR7pa9uP2ZpxBUySY3peG6CfkY1Cib5pNhNDU8oG9EB71iqaMSNn81OnZBTq/RJGGtbCslM/T2R0ciYcRTYzoji0Cx6U/E/r5NieOVnQiUpcsXmi8JUEozJ9G/SF5ozlGNLKNPC3krYkGrK0KZTtCF4iy8vk2a14p1XqncX5dp1HkcBjuEEzsCDS6jBLdShAQwG8Ayv8OZI58V5dz7mrStOPnMEf+B8/gD1po2V</latexit> の長さは になることがある -> 一般には指数時間アルゴリズム Li <latexit sha1_base64="8IhIpMN1M9ZIjjq/MHBnypXzbQE=">AAAB6nicbVA9SwNBEJ3zM8avqKXNYhCswl0UtAzaWFhENB+QHGFvM5cs2ds7dveEcOQn2FgoYusvsvPfuEmu0MQHA4/3ZpiZFySCa+O6387K6tr6xmZhq7i9s7u3Xzo4bOo4VQwbLBaxagdUo+ASG4Ybge1EIY0Cga1gdDP1W0+oNI/loxkn6Ed0IHnIGTVWerjr8V6p7FbcGcgy8XJShhz1Xumr249ZGqE0TFCtO56bGD+jynAmcFLsphoTykZ0gB1LJY1Q+9ns1Ak5tUqfhLGyJQ2Zqb8nMhppPY4C2xlRM9SL3lT8z+ukJrzyMy6T1KBk80VhKoiJyfRv0ucKmRFjSyhT3N5K2JAqyoxNp2hD8BZfXibNasU7r1TvL8q16zyOAhzDCZyBB5dQg1uoQwMYDOAZXuHNEc6L8+58zFtXnHzmCP7A+fwBHtaNsA==</latexit> を の各部分集合の要素の和で を超えないもののリストとする Li <latexit sha1_base64="8IhIpMN1M9ZIjjq/MHBnypXzbQE=">AAAB6nicbVA9SwNBEJ3zM8avqKXNYhCswl0UtAzaWFhENB+QHGFvM5cs2ds7dveEcOQn2FgoYusvsvPfuEmu0MQHA4/3ZpiZFySCa+O6387K6tr6xmZhq7i9s7u3Xzo4bOo4VQwbLBaxagdUo+ASG4Ybge1EIY0Cga1gdDP1W0+oNI/loxkn6Ed0IHnIGTVWerjr8V6p7FbcGcgy8XJShhz1Xumr249ZGqE0TFCtO56bGD+jynAmcFLsphoTykZ0gB1LJY1Q+9ns1Ak5tUqfhLGyJQ2Zqb8nMhppPY4C2xlRM9SL3lT8z+ukJrzyMy6T1KBk80VhKoiJyfRv0ucKmRFjSyhT3N5K2JAqyoxNp2hD8BZfXibNasU7r1TvL8q16zyOAhzDCZyBB5dQg1uoQwMYDOAZXuHNEc6L8+58zFtXnHzmCP7A+fwBHtaNsA==</latexit> {x1, x2, . . . , xi } <latexit sha1_base64="G6HSKgJzDvkyZ2g5VLbLCqP8RHU=">AAACBHicbVC7TsMwFHXKq5RXgLGLRYXEUFVJQYKxgoWxSPQhNVHkOE5r1Ykj20Gtogws/AoLAwix8hFs/A1umwFajnSl43Pule89fsKoVJb1bZTW1jc2t8rblZ3dvf0D8/CoK3kqMOlgzrjo+0gSRmPSUVQx0k8EQZHPSM8f38z83gMRkvL4Xk0T4kZoGNOQYqS05JlVJ5t4dh1OvGYdOizgSs4eGc2d3DNrVsOaA64SuyA1UKDtmV9OwHEakVhhhqQc2Fai3AwJRTEjecVJJUkQHqMhGWgao4hIN5sfkcNTrQQw5EJXrOBc/T2RoUjKaeTrzgipkVz2ZuJ/3iBV4ZWb0ThJFYnx4qMwZVBxOEsEBlQQrNhUE4QF1btCPEICYaVzq+gQ7OWTV0m32bDPG827i1rruoijDKrgBJwBG1yCFrgFbdABGDyCZ/AK3own48V4Nz4WrSWjmDkGf2B8/gAUjZcc</latexit> t <latexit sha1_base64="btWuKJH9/rrCxCKL5tGKBdwWU5A=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsN+3azSbsToQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IJHCoOt+O4W19Y3NreJ2aWd3b/+gfHjUNnGqGW+xWMa6E1DDpVC8hQIl7ySa0yiQ/CEY3878hyeujYjVPU4S7kd0qEQoGEUrNbFfrrhVdw6ySrycVCBHo1/+6g1ilkZcIZPUmK7nJuhnVKNgkk9LvdTwhLIxHfKupYpG3PjZ/NApObPKgISxtqWQzNXfExmNjJlEge2MKI7MsjcT//O6KYbXfiZUkiJXbLEoTCXBmMy+JgOhOUM5sYQyLeythI2opgxtNiUbgrf88ipp16reRbXWvKzUb/I4inACp3AOHlxBHe6gAS1gwOEZXuHNeXRenHfnY9FacPKZY/gD5/MH4XeM/A==</latexit> S + x = {s + x : s 2 S} <latexit sha1_base64="iqlqkA323Z3omjxMHyVJXwTAAQw=">AAACCXicbVDLSgMxFM3UV62vUZdugkUQhDJTBYUiFN24rNQ+oBlKJk3b0ExmSDJiGbp146+4caGIW//AnX9jpp2Fth4IOZxz703u8SPOlHacbyu3tLyyupZfL2xsbm3v2Lt7TRXGktAGCXko2z5WlDNBG5ppTtuRpDjwOW35o+vUb91TqVgo7vQ4ol6AB4L1GcHaSF0b1k8e4CVEiTI3qqB0okAVqCBiAtbRpGsXnZIzBVwkbkaKIEOta3+hXkjigApNOFaq4zqR9hIsNSOcTgooVjTCZIQHtGOowAFVXjLdZAKPjNKD/VCaIzScqr87EhwoNQ58UxlgPVTzXir+53Vi3b/wEiaiWFNBZg/1Yw51CNNYYI9JSjQfG4KJZOavkAyxxESb8AomBHd+5UXSLJfc01L59qxYvcriyIMDcAiOgQvOQRXcgBpoAAIewTN4BW/Wk/VivVsfs9KclfXsgz+wPn8AbiSYRg==</latexit> 重複を削除しつつ更新 条件を満たさないものを削除
  23. /26 23 L = {10, 11, 12, 15, 20, 21,

    22, 23, 24, 29} <latexit sha1_base64="FJywNnFAkmteR2NY8yOXcz+dgXk=">AAACDHicbVDLSgMxFM34rPVVdelmsAguQpmkFXUhFN24cFHBPqAzlEyatqGZB0lGKEM/wI2/4saFIm79AHf+jWk7C209EDiccy439/ix4Eo7zre1tLyyurae28hvbm3v7Bb29hsqSiRldRqJSLZ8opjgIatrrgVrxZKRwBes6Q+vJ37zgUnFo/Bej2LmBaQf8h6nRBupUyjeXropciBCEGGITiF2IEYQY4jLEFcgvnDHJuWUnCnsRYIyUgQZap3Cl9uNaBKwUFNBlGojJ9ZeSqTmVLBx3k0Uiwkdkj5rGxqSgCkvnR4zto+N0rV7kTQv1PZU/T2RkkCpUeCbZED0QM17E/E/r53o3rmX8jBONAvpbFEvEbaO7EkzdpdLRrUYGUKo5OavNh0QSag2/eVNCWj+5EXSwCVULuG7SrF6ldWRA4fgCJwABM5AFdyAGqgDCh7BM3gFb9aT9WK9Wx+z6JKVzRyAP7A+fwDBmZW9</latexit> リスト を構成した後,刈り込みを行って新しいリスト を得ることを考える L <latexit sha1_base64="QE9oDXOSeRcavWmZZHNQHB2S4vk=">AAAB6HicbVA9SwNBEJ2LXzF+RS1tFoNgFe6ioGXQxsIiAfMByRH2NnPJmr29Y3dPCCG/wMZCEVt/kp3/xk1yhSY+GHi8N8PMvCARXBvX/XZya+sbm1v57cLO7t7+QfHwqKnjVDFssFjEqh1QjYJLbBhuBLYThTQKBLaC0e3Mbz2h0jyWD2acoB/RgeQhZ9RYqX7fK5bcsjsHWSVeRkqQodYrfnX7MUsjlIYJqnXHcxPjT6gynAmcFrqpxoSyER1gx1JJI9T+ZH7olJxZpU/CWNmShszV3xMTGmk9jgLbGVEz1MveTPzP66QmvPYnXCapQckWi8JUEBOT2dekzxUyI8aWUKa4vZWwIVWUGZtNwYbgLb+8SpqVsndRrtQvS9WbLI48nMApnIMHV1CFO6hBAxggPMMrvDmPzovz7nwsWnNONnMMf+B8/gCk14zU</latexit> L0 <latexit sha1_base64="0pe5cQrY5MNG99RbkTClU++MJVk=">AAAB73icbVA9SwNBEJ2LXzF+RS1tFoNgFe6ioGXQxsIigvmA5Ax7m0myZG/v3N0TwpE/YWOhiK1/x85/4ya5QhMfDDzem2FmXhALro3rfju5ldW19Y38ZmFre2d3r7h/0NBRohjWWSQi1QqoRsEl1g03AluxQhoGApvB6HrqN59QaR7JezOO0Q/pQPI+Z9RYqXX70IkVD7FbLLlldwayTLyMlCBDrVv86vQiloQoDRNU67bnxsZPqTKcCZwUOonGmLIRHWDbUklD1H46u3dCTqzSI/1I2ZKGzNTfEykNtR6Hge0MqRnqRW8q/ue1E9O/9FMu48SgZPNF/UQQE5Hp86THFTIjxpZQpri9lbAhVZQZG1HBhuAtvrxMGpWyd1au3J2XqldZHHk4gmM4BQ8uoAo3UIM6MBDwDK/w5jw6L8678zFvzTnZzCH8gfP5A//Nj/E=</latexit> リスト内の2つの値が十分に近いなら片方はいらない y 1 +  z  y <latexit sha1_base64="M7q3DeF4w1Zmeex0FTzSfwZEatE=">AAACCHicbVDLSsNAFJ34rPVVdenCwSIIQkmqoMuiG5cV7AOaUiaTm3boZBJnJkIMWbrxV9y4UMStn+DOv3H6WGjrgcs9nHMvM/d4MWdK2/a3tbC4tLyyWlgrrm9sbm2XdnabKkokhQaNeCTbHlHAmYCGZppDO5ZAQo9DyxtejfzWPUjFInGr0xi6IekLFjBKtJF6pQM3kIRmaZ45J64PXJPc5XCHH/C4pb1S2a7YY+B54kxJGU1R75W+XD+iSQhCU06U6jh2rLsZkZpRDnnRTRTEhA5JHzqGChKC6mbjQ3J8ZBQfB5E0JTQeq783MhIqlYaemQyJHqhZbyT+53USHVx0MybiRIOgk4eChGMd4VEq2GcSqOapIYRKZv6K6YCYZLTJrmhCcGZPnifNasU5rVRvzsq1y2kcBbSPDtExctA5qqFrVEcNRNEjekav6M16sl6sd+tjMrpgTXf20B9Ynz9xkZmX</latexit> パラメータ を導入 <latexit sha1_base64="JQcAzWaAuoYAXQfxggm9zL/KhUk=">AAAB7XicbVBNS8NAEJ3Ur1q/qh69BIvgqSRV0GPRi8cK9gPaUDabTbt2sxt2J0Ip/Q9ePCji1f/jzX/jts1BWx8MPN6bYWZemApu0PO+ncLa+sbmVnG7tLO7t39QPjxqGZVpyppUCaU7ITFMcMmayFGwTqoZSULB2uHodua3n5g2XMkHHKcsSMhA8phTglZq9SImkPTLFa/qzeGuEj8nFcjR6Je/epGiWcIkUkGM6fpeisGEaORUsGmplxmWEjoiA9a1VJKEmWAyv3bqnlklcmOlbUl05+rviQlJjBknoe1MCA7NsjcT//O6GcbXwYTLNEMm6WJRnAkXlTt73Y24ZhTF2BJCNbe3unRINKFoAyrZEPzll1dJq1b1L6q1+8tK/SaPowgncArn4MMV1OEOGtAECo/wDK/w5ijnxXl3PhatBSefOYY/cD5/AJLajyA=</latexit> から削除した全ての要素 に対して には を近似する要素 が存在することを保証 L <latexit sha1_base64="QE9oDXOSeRcavWmZZHNQHB2S4vk=">AAAB6HicbVA9SwNBEJ2LXzF+RS1tFoNgFe6ioGXQxsIiAfMByRH2NnPJmr29Y3dPCCG/wMZCEVt/kp3/xk1yhSY+GHi8N8PMvCARXBvX/XZya+sbm1v57cLO7t7+QfHwqKnjVDFssFjEqh1QjYJLbBhuBLYThTQKBLaC0e3Mbz2h0jyWD2acoB/RgeQhZ9RYqX7fK5bcsjsHWSVeRkqQodYrfnX7MUsjlIYJqnXHcxPjT6gynAmcFrqpxoSyER1gx1JJI9T+ZH7olJxZpU/CWNmShszV3xMTGmk9jgLbGVEz1MveTPzP66QmvPYnXCapQckWi8JUEBOT2dekzxUyI8aWUKa4vZWwIVWUGZtNwYbgLb+8SpqVsndRrtQvS9WbLI48nMApnIMHV1CFO6hBAxggPMMrvDmPzovz7nwsWnNONnMMf+B8/gCk14zU</latexit> L0 <latexit sha1_base64="0pe5cQrY5MNG99RbkTClU++MJVk=">AAAB73icbVA9SwNBEJ2LXzF+RS1tFoNgFe6ioGXQxsIigvmA5Ax7m0myZG/v3N0TwpE/YWOhiK1/x85/4ya5QhMfDDzem2FmXhALro3rfju5ldW19Y38ZmFre2d3r7h/0NBRohjWWSQi1QqoRsEl1g03AluxQhoGApvB6HrqN59QaR7JezOO0Q/pQPI+Z9RYqXX70IkVD7FbLLlldwayTLyMlCBDrVv86vQiloQoDRNU67bnxsZPqTKcCZwUOonGmLIRHWDbUklD1H46u3dCTqzSI/1I2ZKGzNTfEykNtR6Hge0MqRnqRW8q/ue1E9O/9FMu48SgZPNF/UQQE5Hp86THFTIjxpZQpri9lbAhVZQZG1HBhuAtvrxMGpWyd1au3J2XqldZHHk4gmM4BQ8uoAo3UIM6MBDwDK/w5jw6L8678zFvzTnZzCH8gfP5A//Nj/E=</latexit> y <latexit sha1_base64="mEcz1FLhuG1BpP6c5hi50qAIJ0g=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOl5qRfrrhVdw6ySrycVCBHo1/+6g1ilkYoDRNU667nJsbPqDKcCZyWeqnGhLIxHWLXUkkj1H42P3RKzqwyIGGsbElD5urviYxGWk+iwHZG1Iz0sjcT//O6qQmv/YzLJDUo2WJRmApiYjL7mgy4QmbExBLKFLe3EjaiijJjsynZELzll1dJu1b1Lqq15mWlfpPHUYQTOIVz8OAK6nAHDWgBA4RneIU359F5cd6dj0VrwclnjuEPnM8f6QuNAQ==</latexit> z <latexit sha1_base64="VLEo6VgUnu2TnOxoOkqsMPXvyTo=">AAAB6HicbVDLTgJBEOzFF+IL9ehlIjHxRHbRRI9ELx4hkUcCGzI79MLI7OxmZtYECV/gxYPGePWTvPk3DrAHBSvppFLVne6uIBFcG9f9dnJr6xubW/ntws7u3v5B8fCoqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLR7cxvPaLSPJb3ZpygH9GB5CFn1Fip/tQrltyyOwdZJV5GSpCh1it+dfsxSyOUhgmqdcdzE+NPqDKcCZwWuqnGhLIRHWDHUkkj1P5kfuiUnFmlT8JY2ZKGzNXfExMaaT2OAtsZUTPUy95M/M/rpCa89idcJqlByRaLwlQQE5PZ16TPFTIjxpZQpri9lbAhVZQZm03BhuAtv7xKmpWyd1Gu1C9L1ZssjjycwCmcgwdXUIU7qEEDGCA8wyu8OQ/Oi/PufCxac042cwx/4Hz+AOqPjQI=</latexit> y <latexit sha1_base64="mEcz1FLhuG1BpP6c5hi50qAIJ0g=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOl5qRfrrhVdw6ySrycVCBHo1/+6g1ilkYoDRNU667nJsbPqDKcCZyWeqnGhLIxHWLXUkkj1H42P3RKzqwyIGGsbElD5urviYxGWk+iwHZG1Iz0sjcT//O6qQmv/YzLJDUo2WJRmApiYjL7mgy4QmbExBLKFLe3EjaiijJjsynZELzll1dJu1b1Lqq15mWlfpPHUYQTOIVz8OAK6nAHDWgBA4RneIU359F5cd6dj0VrwclnjuEPnM8f6QuNAQ==</latexit> = 0.1 <latexit sha1_base64="izKk7FWGIKe+QONYYohFADn8q9g=">AAAB8XicbVBNS8NAEJ34WetX1aOXYBE8haQKehGKXjxWsB/YhrLZbNqlm03YnQgl9F948aCIV/+NN/+N2zYHbX0w8Hhvhpl5QSq4Rtf9tlZW19Y3Nktb5e2d3b39ysFhSyeZoqxJE5GoTkA0E1yyJnIUrJMqRuJAsHYwup367SemNE/kA45T5sdkIHnEKUEjPfZCJpBcu47Xr1Rdx53BXiZeQapQoNGvfPXChGYxk0gF0brruSn6OVHIqWCTci/TLCV0RAasa6gkMdN+Prt4Yp8aJbSjRJmSaM/U3xM5ibUex4HpjAkO9aI3Ff/zuhlGV37OZZohk3S+KMqEjYk9fd8OuWIUxdgQQhU3t9p0SBShaEIqmxC8xZeXSavmeOdO7f6iWr8p4ijBMZzAGXhwCXW4gwY0gYKEZ3iFN0tbL9a79TFvXbGKmSP4A+vzB2bJkBQ=</latexit> 例. L0 = {10, 12, 15, 20, 23, 29} <latexit sha1_base64="sG+okN4D5ToDgn9mlq8U2o3HEKY=">AAACCXicbVC7SgNBFJ2Nrxhfq5Y2g0GwWMLORlELIWhjYRHBJEJ2DbOT2WTI7IOZWSEsaW38FRsLRWz9Azv/xkmyhSYeuHA4517uvcdPOJPKtr+NwsLi0vJKcbW0tr6xuWVu7zRlnApCGyTmsbjzsaScRbShmOL0LhEUhz6nLX9wOfZbD1RIFke3aphQL8S9iAWMYKWljgmv791EsJDCc+hmyLaQY6Fjy7Etp2o5Z+6oY5btij0BnCcoJ2WQo94xv9xuTNKQRopwLGUb2YnyMiwUI5yOSm4qaYLJAPdoW9MIh1R62eSTETzQShcGsdAVKThRf09kOJRyGPq6M8SqL2e9sfif105VcOplLEpSRSMyXRSkHKoYjmOBXSYoUXyoCSaC6Vsh6WOBidLhlXQIaPbledJ0KqhacW6OyrWLPI4i2AP74BAgcAJq4ArUQQMQ8AiewSt4M56MF+Pd+Ji2Fox8Zhf8gfH5A6bQlnc=</latexit> 10 = 11 1 + 0.1  z  11 <latexit sha1_base64="79fc0YgR0A3HMsNEp1ZJF/QI++4=">AAACDHicbVDNSgMxGMz6W+tf1aOXYBEEYdlUQS9C0YvHCvYH2qVk02wbms2uSVaoyz6AF1/FiwdFvPoA3nwbs9s9aOtAyDAzH8k3XsSZ0o7zbS0sLi2vrJbWyusbm1vblZ3dlgpjSWiThDyUHQ8rypmgTc00p51IUhx4nLa98VXmt++pVCwUt3oSUTfAQ8F8RrA2Ur9SRQ68gD1fYpIglCbo2LFR2uP0Dj7A/ELIpBzbyQHnCSpIFRRo9CtfvUFI4oAKTThWqoucSLsJlpoRTtNyL1Y0wmSMh7RrqMABVW6SL5PCQ6MMoB9Kc4SGufp7IsGBUpPAM8kA65Ga9TLxP68ba//cTZiIYk0FmT7kxxzqEGbNwAGTlGg+MQQTycxfIRlhU4w2/ZWzqmZXnietmo1O7NrNabV+WdRRAvvgABwBBM5AHVyDBmgCAh7BM3gFb9aT9WK9Wx/T6IJVzOyBP7A+fwBBtZiY</latexit> 13.63 < 15 1 + 0.1  z  15 <latexit sha1_base64="wfYjff4h/zIJQU6JlOqkyNvQhRw=">AAACD3icbZDLSgMxFIYz9VbrbdSlm2BRBGGYtFZduCi6cVnBXqAtJZNm2tBMZkwyQh36Bm58FTcuFHHr1p1vY9rOQlsPhPz8/zkk5/MizpR23W8rs7C4tLySXc2trW9sbtnbOzUVxpLQKgl5KBseVpQzQauaaU4bkaQ48Dite4OrcV6/p1KxUNzqYUTbAe4J5jOCtbE69iEqOqdFeAFbvsQkQaVRgo5dB41anN7BBzi5UKlj513HnRScFygVeZBWpWN/tbohiQMqNOFYqSZyI91OsNSMcDrKtWJFI0wGuEebRgocUNVOJvuM4IFxutAPpTlCw4n7eyLBgVLDwDOdAdZ9NZuNzf+yZqz983bCRBRrKsj0IT/mUIdwDAd2maRE86ERmEhm/gpJHxsw2iDMGQhoduV5USs4hmnh5iRfvkxxZMEe2AdHAIEzUAbXoAKqgIBH8AxewZv1ZL1Y79bHtDVjpTO74E9Znz+7dJlX</latexit> リストの先頭から走査していけばいいので 刈り込みはリストの長さに対して線形の処理時間
  24. /26 刈り込み = ✏/2n <latexit sha1_base64="N7zhmwiaabRDbwqp7spKYt/QVeI=">AAAB+3icbVBNSwMxEM36WetXrUcvwSJ4qrtV0ItQ9OKxgv2A7lKy2Wkbmk2WJCuWpX/FiwdFvPpHvPlvTNs9aOuDgcd7M8zMCxPOtHHdb2dldW19Y7OwVdze2d3bLx2UW1qmikKTSi5VJyQaOBPQNMxw6CQKSBxyaIej26nffgSlmRQPZpxAEJOBYH1GibFSr1T2I+CGXPuQaMalOKtZseJW3RnwMvFyUkE5Gr3Slx9JmsYgDOVE667nJibIiDKMcpgU/VRDQuiIDKBrqSAx6CCb3T7BJ1aJcF8qW8Lgmfp7IiOx1uM4tJ0xMUO96E3F/7xuavpXQcZEkhoQdL6on3JsJJ4GgSOmgBo+toRQxeytmA6JItTYuIo2BG/x5WXSqlW982rt/qJSv8njKKAjdIxOkYcuUR3doQZqIoqe0DN6RW/OxHlx3p2PeeuKk88coj9wPn8AoQCUKw==</latexit> ✏ <latexit sha1_base64="S940j+PXnpyPoS6EHFdj/RxnHVw=">AAAB73icbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48V7Ae0oWy2k3bpZhN3N0IJ/RNePCji1b/jzX/jts1BWx8MPN6bYWZekAiujet+O4W19Y3NreJ2aWd3b/+gfHjU0nGqGDZZLGLVCahGwSU2DTcCO4lCGgUC28H4dua3n1BpHssHM0nQj+hQ8pAzaqzU6WGiuYhlv1xxq+4cZJV4OalAjka//NUbxCyNUBomqNZdz02Mn1FlOBM4LfVSjQllYzrErqWSRqj9bH7vlJxZZUDCWNmShszV3xMZjbSeRIHtjKgZ6WVvJv7ndVMTXvsZl0lqULLFojAVxMRk9jwZcIXMiIkllClubyVsRBVlxkZUsiF4yy+vklat6l1Ua/eXlfpNHkcRTuAUzsGDK6jDHTSgCQwEPMMrvDmPzovz7nwsWgtOPnMMf+B8/gBOH5Ak</latexit> 近似パラメータ

    をとる 近似アルゴリズム (1 + ✏) <latexit sha1_base64="4Rc4VCatX9RammqeYzdqFniB3+Y=">AAAB83icbVBNSwMxEJ2tX7V+VT16WSxCRSi7VdBj0YvHCvYDukvJptk2NJuEJCuUpX/DiwdFvPpnvPlvTNs9aOuDgcd7M8zMiySj2njet1NYW9/Y3Cpul3Z29/YPyodHbS1ShUkLCyZUN0KaMMpJy1DDSFcqgpKIkU40vpv5nSeiNBX80UwkCRM05DSmGBkrBVX/IiBSUyb4eb9c8WreHO4q8XNSgRzNfvkrGAicJoQbzJDWPd+TJsyQMhQzMi0FqSYS4TEakp6lHCVEh9n85ql7ZpWBGwtlixt3rv6eyFCi9SSJbGeCzEgvezPxP6+XmvgmzCiXqSEcLxbFKXONcGcBuAOqCDZsYgnCitpbXTxCCmFjYyrZEPzll1dJu17zL2v1h6tK4zaPowgncApV8OEaGnAPTWgBBgnP8ApvTuq8OO/Ox6K14OQzx/AHzucP8LGQ+Q==</latexit> また, と入力インスタンスのサイズ の両方に対して多項式時間で走る場合, 完全多項式時間近似スキームと呼ぶ 1/✏ <latexit sha1_base64="db3Ly6+J6BT8YxTvxE24VuVbARU=">AAAB8XicbVBNS8NAEJ34WetX1aOXYBE81aQKeix68VjBfmAbymY7aZdudsPuRiih/8KLB0W8+m+8+W/ctjlo64OBx3szzMwLE8608bxvZ2V1bX1js7BV3N7Z3dsvHRw2tUwVxQaVXKp2SDRyJrBhmOHYThSSOOTYCke3U7/1hEozKR7MOMEgJgPBIkaJsdKjf97FRDMuRa9U9ireDO4y8XNShhz1Xumr25c0jVEYyonWHd9LTJARZRjlOCl2U40JoSMywI6lgsSog2x28cQ9tUrfjaSyJYw7U39PZCTWehyHtjMmZqgXvan4n9dJTXQdZEwkqUFB54uilLtGutP33T5TSA0fW0KoYvZWlw6JItTYkIo2BH/x5WXSrFb8i0r1/rJcu8njKMAxnMAZ+HAFNbiDOjSAgoBneIU3RzsvzrvzMW9dcfKZI/gD5/MHLMWQmA==</latexit> n <latexit sha1_base64="2QmInd+nHO60uhS7AYCvgpiU4a8=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0mqoMeiF48t2FpoQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgpr6xubW8Xt0s7u3v5B+fCoreNUMWyxWMSqE1CNgktsGW4EdhKFNAoEPgTj25n/8IRK81jem0mCfkSHkoecUWOlpuyXK27VnYOsEi8nFcjR6Je/eoOYpRFKwwTVuuu5ifEzqgxnAqelXqoxoWxMh9i1VNIItZ/ND52SM6sMSBgrW9KQufp7IqOR1pMosJ0RNSO97M3E/7xuasJrP+MySQ1KtlgUpoKYmMy+JgOukBkxsYQyxe2thI2ooszYbEo2BG/55VXSrlW9i2qteVmp3+RxFOEETuEcPLiCOtxBA1rAAOEZXuHNeXRenHfnY9FacPKZY/gD5/MH2F+M9g==</latexit> O((1/✏)2 n 3) <latexit sha1_base64="xNcFlkvQr1aAR5pL8Gxz6Z7Rt2c=">AAAB/XicbVDLTgIxFO3gC/E1PnZuGokJbHAGTHRJdONOTOSRwEA6pQMNnXbSdkxwQvwVNy40xq3/4c6/scAsFDzJTU7OuTf33uNHjCrtON9WZmV1bX0ju5nb2t7Z3bP3DxpKxBKTOhZMyJaPFGGUk7qmmpFWJAkKfUaa/uh66jcfiFRU8Hs9jogXogGnAcVIG6lnH90WCu5Zh0SKMsGL3TLvVoo9O++UnBngMnFTkgcpaj37q9MXOA4J15ghpdquE2kvQVJTzMgk14kViRAeoQFpG8pRSJSXzK6fwFOj9GEgpCmu4Uz9PZGgUKlx6JvOEOmhWvSm4n9eO9bBpZdQHsWacDxfFMQMagGnUcA+lQRrNjYEYUnNrRAPkURYm8ByJgR38eVl0iiX3EqpfHeer16lcWTBMTgBBeCCC1AFN6AG6gCDR/AMXsGb9WS9WO/Wx7w1Y6Uzh+APrM8fDIGTrQ==</latexit> 例. (雑な意訳)精度を上げてもある程度無難な計算時間で終わりそう APPROX-SUBSET-SUMは完全多項式近似スキーム!(証明は略) 24 各リストの要素数は高々 j log1+✏/2n t k + 2 < 3n ln t ✏ + 2 <latexit sha1_base64="hM+A25u9aZpd52lTg94zYlrAXpA=">AAACOHicbVBNSyNBFOxxXY3Z1Y3r0UtjWFgIxJlxQQ8eZL14M4JRIR1CT+dN0tjTPXS/EcIwP2sv+zP2Jl48KLLX/QV2YgQ/tk5FVT3ee5XkSjoMw+tg4cPix6Xl2kr90+fVtS+N9a9nzhRWQFcYZexFwh0oqaGLEhVc5BZ4lig4Ty4Pp/75FVgnjT7FSQ79jI+0TKXg6KVB45gpSJGpVBljKVNmNCijFoPcSWX0dqwrpMzK0RiZnWVaMd2nLLVclDuaKU2xKp/jVSseNJphO5yBvifRnDTJHJ1B4w8bGlFkoFEo7lwvCnPsl9yiFAqqOisc5Fxc8hH0PNU8A9cvZ49X9JtXhjT1l6dGI52pLydKnjk3yRKfzDiO3VtvKv7P6xWY7vVLqfMCQYunRWmhKBo6bZEOpQWBauIJF1b6W6kYc18K+q7rvoTo7cvvyVncjnba8cmP5sHPeR01skm2yHcSkV1yQI5Ih3SJIL/IDbkj98Hv4DZ4CP4+RReC+cwGeYXg3yMZuq0p</latexit> 個 -> リストの処理は多項式時間 近似スキーム(approximation scheme)と呼ぶ
  25. /26 S = {104, 102, 201, 101}, t = 308,

    ✏ = 0.4 <latexit sha1_base64="Tr016YrWoBeFZwbvcF6Td69q+LQ=">AAACE3icbVDLSgMxFM3UV62vqks3wSKIlJJMC3ZTKLpxWdE+oFNKJk3b0ExmSDJCGfoPbvwVNy4UcevGnX9j+lho64HLPZxzL8k9fiS4Ngh9O6m19Y3NrfR2Zmd3b/8ge3jU0GGsKKvTUISq5RPNBJesbrgRrBUpRgJfsKY/up76zQemNA/lvRlHrBOQgeR9TomxUjd7cVfxEoxKeYzcvIuw7dib5KGpFFE5Dz0WaS5CWUGFUjebQwU0A1wleEFyYIFaN/vl9UIaB0waKojWbYwi00mIMpwKNsl4sWYRoSMyYG1LJQmY7iSzmybwzCo92A+VLWngTP29kZBA63Hg28mAmKFe9qbif147Nv1yJ+Eyig2TdP5QPxbQhHAaEOxxxagRY0sIVdz+FdIhUYQaG2PGhoCXT14lDbeAiwX3tpSrXi3iSIMTcArOAQaXoApuQA3UAQWP4Bm8gjfnyXlx3p2P+WjKWewcgz9wPn8ARvqZbQ==</latexit> 25 例題: L0 = {0} <latexit sha1_base64="u37pMXJwEmWs6vWrLp+f50xKHyo=">AAAB9HicbVA9SwNBEJ3zM8avqKXNYhCswl0UtBGCNhYWEcwH5I6wt9lLluztnrt7gXDkd9hYKGLrj7Hz37hJrtDEBwOP92aYmRcmnGnjut/Oyura+sZmYau4vbO7t186OGxqmSpCG0Ryqdoh1pQzQRuGGU7biaI4DjlthcPbqd8aUaWZFI9mnNAgxn3BIkawsVJw33XRNfIz5CJ/0i2V3Yo7A1omXk7KkKPeLX35PUnSmApDONa647mJCTKsDCOcTop+qmmCyRD3acdSgWOqg2x29ASdWqWHIqlsCYNm6u+JDMdaj+PQdsbYDPSiNxX/8zqpia6CjIkkNVSQ+aIo5chINE0A9ZiixPCxJZgoZm9FZIAVJsbmVLQheIsvL5NmteKdV6oPF+XaTR5HAY7hBM7Ag0uowR3UoQEEnuAZXuHNGTkvzrvzMW9dcfKZI/gD5/MHQsyQeA==</latexit> = ✏/(2 · 4) = 0.05 <latexit sha1_base64="wELdKHvXVzARA88aN3ymY0x1e58=">AAACCHicbVA9SwNBEN2L3/EramnhYhBiE+9iRJtA0MZSwaiQC2Fvb2KW7O0eu3NCCJY2/hUbC0Vs/Ql2/hs3MYVGHwzzeG+G3XlRKoVF3//0clPTM7Nz8wv5xaXlldXC2vql1Znh0OBaanMdMQtSKGigQAnXqQGWRBKuot7J0L+6BWOFVhfYT6GVsBslOoIzdFK7sBXGIJHVQkitkFrtlSohjzXS6m7NL/sH7ULRtRHoXxKMSZGMcdYufISx5lkCCrlk1jYDP8XWgBkUXMJdPswspIz32A00HVUsAdsajA65oztOiWlHG1cK6Uj9uTFgibX9JHKTCcOunfSG4n9eM8POUWsgVJohKP79UCeTFDUdpkJjYYCj7DvCuBHur5R3mWEcXXZ5F0IwefJfclkpB/vlynm1WD8exzFPNsk2KZGAHJI6OSVnpEE4uSeP5Jm8eA/ek/fqvX2P5rzxzgb5Be/9C9rfl+o=</latexit> あとは頑張って!(解いてください) L1 = {0, 104} <latexit sha1_base64="itd7km/J589hAs/wDWOZTTUrTaQ=">AAAB+XicbVBNS8NAEJ3Ur1q/oh69LBbBg5SkFvQiFL148FDBfkATwma7bZduNmF3Uyih/8SLB0W8+k+8+W/ctjlo64OBx3szzMwLE86Udpxvq7C2vrG5Vdwu7ezu7R/Yh0ctFaeS0CaJeSw7IVaUM0GbmmlOO4mkOAo5bYeju5nfHlOpWCye9CShfoQHgvUZwdpIgW0/BC66QV7mXCDXqXnTwC47FWcOtErcnJQhRyOwv7xeTNKICk04VqrrOon2Myw1I5xOS16qaILJCA9o11CBI6r8bH75FJ0ZpYf6sTQlNJqrvycyHCk1iULTGWE9VMveTPzP66a6f+1nTCSppoIsFvVTjnSMZjGgHpOUaD4xBBPJzK2IDLHERJuwSiYEd/nlVdKqVtzLSvWxVq7f5nEU4QRO4RxcuII63EMDmkBgDM/wCm9WZr1Y79bHorVg5TPH8AfW5w8pPpFp</latexit> L1 = {0, 104} <latexit sha1_base64="itd7km/J589hAs/wDWOZTTUrTaQ=">AAAB+XicbVBNS8NAEJ3Ur1q/oh69LBbBg5SkFvQiFL148FDBfkATwma7bZduNmF3Uyih/8SLB0W8+k+8+W/ctjlo64OBx3szzMwLE86Udpxvq7C2vrG5Vdwu7ezu7R/Yh0ctFaeS0CaJeSw7IVaUM0GbmmlOO4mkOAo5bYeju5nfHlOpWCye9CShfoQHgvUZwdpIgW0/BC66QV7mXCDXqXnTwC47FWcOtErcnJQhRyOwv7xeTNKICk04VqrrOon2Myw1I5xOS16qaILJCA9o11CBI6r8bH75FJ0ZpYf6sTQlNJqrvycyHCk1iULTGWE9VMveTPzP66a6f+1nTCSppoIsFvVTjnSMZjGgHpOUaD4xBBPJzK2IDLHERJuwSiYEd/nlVdKqVtzLSvWxVq7f5nEU4QRO4RxcuII63EMDmkBgDM/wCm9WZr1Y79bHorVg5TPH8AfW5w8pPpFp</latexit> L1 = {0, 104} <latexit sha1_base64="itd7km/J589hAs/wDWOZTTUrTaQ=">AAAB+XicbVBNS8NAEJ3Ur1q/oh69LBbBg5SkFvQiFL148FDBfkATwma7bZduNmF3Uyih/8SLB0W8+k+8+W/ctjlo64OBx3szzMwLE86Udpxvq7C2vrG5Vdwu7ezu7R/Yh0ctFaeS0CaJeSw7IVaUM0GbmmlOO4mkOAo5bYeju5nfHlOpWCye9CShfoQHgvUZwdpIgW0/BC66QV7mXCDXqXnTwC47FWcOtErcnJQhRyOwv7xeTNKICk04VqrrOon2Myw1I5xOS16qaILJCA9o11CBI6r8bH75FJ0ZpYf6sTQlNJqrvycyHCk1iULTGWE9VMveTPzP66a6f+1nTCSppoIsFvVTjnSMZjGgHpOUaD4xBBPJzK2IDLHERJuwSiYEd/nlVdKqVtzLSvWxVq7f5nEU4QRO4RxcuII63EMDmkBgDM/wCm9WZr1Y79bHorVg5TPH8AfW5w8pPpFp</latexit> L2 = {0, 102, 104, 206} <latexit sha1_base64="66aVGdBRNdEiavRBOLVOcX/WLBI=">AAACA3icbVDLSgMxFM3UV62vUXe6CRbBRSmZsagboejGhYsK9gGdYcikaRuaeZBkhDIU3Pgrblwo4tafcOffmGlnoa0H7uVwzr0k9/gxZ1Ih9G0UlpZXVteK66WNza3tHXN3ryWjRBDaJBGPRMfHknIW0qZiitNOLCgOfE7b/ug689sPVEgWhfdqHFM3wIOQ9RnBSkueeXDr2fASOimqQAvZWatVoI3OnIlnllEVTQEXiZWTMsjR8MwvpxeRJKChIhxL2bVQrNwUC8UIp5OSk0gaYzLCA9rVNMQBlW46vWECj7XSg/1I6AoVnKq/N1IcSDkOfD0ZYDWU814m/ud1E9W/cFMWxomiIZk91E84VBHMAoE9JihRfKwJJoLpv0IyxAITpWMr6RCs+ZMXScuuWqdV+65Wrl/lcRTBITgCJ8AC56AObkADNAEBj+AZvII348l4Md6Nj9lowch39sEfGJ8/deyTkQ==</latexit> L2 = {0, 102, 206} <latexit sha1_base64="RQ0m6DAg1W9T8PLkK8l9ndsdFUY=">AAAB/nicbVDLSsNAFJ3UV62vqLhyM1gEF6VMoqgboejGhYsK9gFNCJPptB06mYSZiVBCwV9x40IRt36HO//GaZuFth64cDjnXu69J0w4Uxqhb6uwtLyyulZcL21sbm3v2Lt7TRWnktAGiXks2yFWlDNBG5ppTtuJpDgKOW2Fw5uJ33qkUrFYPOhRQv0I9wXrMYK1kQL74C5w4RX0MlSBDnIr0EXn3jiwy6iKpoCLxMlJGeSoB/aX141JGlGhCcdKdRyUaD/DUjPC6bjkpYommAxxn3YMFTiiys+m54/hsVG6sBdLU0LDqfp7IsORUqMoNJ0R1gM1703E/7xOqnuXfsZEkmoqyGxRL+VQx3CSBewySYnmI0MwkczcCskAS0y0SaxkQnDmX14kTbfqnFbd+7Ny7TqPowgOwRE4AQ64ADVwC+qgAQjIwDN4BW/Wk/VivVsfs9aClc/sgz+wPn8ATtaSfg==</latexit> L2 = {0, 102, 206} <latexit sha1_base64="RQ0m6DAg1W9T8PLkK8l9ndsdFUY=">AAAB/nicbVDLSsNAFJ3UV62vqLhyM1gEF6VMoqgboejGhYsK9gFNCJPptB06mYSZiVBCwV9x40IRt36HO//GaZuFth64cDjnXu69J0w4Uxqhb6uwtLyyulZcL21sbm3v2Lt7TRWnktAGiXks2yFWlDNBG5ppTtuJpDgKOW2Fw5uJ33qkUrFYPOhRQv0I9wXrMYK1kQL74C5w4RX0MlSBDnIr0EXn3jiwy6iKpoCLxMlJGeSoB/aX141JGlGhCcdKdRyUaD/DUjPC6bjkpYommAxxn3YMFTiiys+m54/hsVG6sBdLU0LDqfp7IsORUqMoNJ0R1gM1703E/7xOqnuXfsZEkmoqyGxRL+VQx3CSBewySYnmI0MwkczcCskAS0y0SaxkQnDmX14kTbfqnFbd+7Ny7TqPowgOwRE4AQ64ADVwC+qgAQjIwDN4BW/Wk/VivVsfs9aClc/sgz+wPn8ATtaSfg==</latexit> 要素追加 刈り込み 上限確認 要素追加 刈り込み 上限確認 y 1 +  z  y <latexit sha1_base64="M7q3DeF4w1Zmeex0FTzSfwZEatE=">AAACCHicbVDLSsNAFJ34rPVVdenCwSIIQkmqoMuiG5cV7AOaUiaTm3boZBJnJkIMWbrxV9y4UMStn+DOv3H6WGjrgcs9nHMvM/d4MWdK2/a3tbC4tLyyWlgrrm9sbm2XdnabKkokhQaNeCTbHlHAmYCGZppDO5ZAQo9DyxtejfzWPUjFInGr0xi6IekLFjBKtJF6pQM3kIRmaZ45J64PXJPc5XCHH/C4pb1S2a7YY+B54kxJGU1R75W+XD+iSQhCU06U6jh2rLsZkZpRDnnRTRTEhA5JHzqGChKC6mbjQ3J8ZBQfB5E0JTQeq783MhIqlYaemQyJHqhZbyT+53USHVx0MybiRIOgk4eChGMd4VEq2GcSqOapIYRKZv6K6YCYZLTJrmhCcGZPnifNasU5rVRvzsq1y2kcBbSPDtExctA5qqFrVEcNRNEjekav6M16sl6sd+tjMrpgTXf20B9Ynz9xkZmX</latexit> 刈り込まれた値 生き残る値 答え L4 = {0, 101, 201, 302} <latexit sha1_base64="57KxkGnguFj5Ynw9ALGoI0Yorvg=">AAACA3icbVDLSgMxFM3UV62vUXe6CRbBRSmZaUE3QtGNCxcV7AM6w5BJ0zY08yDJCGUouPFX3LhQxK0/4c6/MdPOQlsP3MvhnHtJ7vFjzqRC6NsorKyurW8UN0tb2zu7e+b+QVtGiSC0RSIeia6PJeUspC3FFKfdWFAc+Jx2/PF15nceqJAsCu/VJKZugIchGzCClZY88+jWq8NL6KSoAi1kVaCdtRqynalnllEVzQCXiZWTMsjR9Mwvpx+RJKChIhxL2bNQrNwUC8UIp9OSk0gaYzLGQ9rTNMQBlW46u2EKT7XSh4NI6AoVnKm/N1IcSDkJfD0ZYDWSi14m/uf1EjW4cFMWxomiIZk/NEg4VBHMAoF9JihRfKIJJoLpv0IywgITpWMr6RCsxZOXSduuWrWqfVcvN67yOIrgGJyAM2CBc9AAN6AJWoCAR/AMXsGb8WS8GO/Gx3y0YOQ7h+APjM8fb+6TjQ==</latexit> z⇤ = 302 <latexit sha1_base64="ARZkj2NZv25mKyr7jtA6OvVjyPY=">AAAB8XicbVBNS8NAEJ3Ur1q/qh69BIvgqSStoBeh6MVjBfuBbSyb7aZdutmE3YlQQ/+FFw+KePXfePPfuG1z0NYHA4/3ZpiZ58eCa3Scbyu3srq2vpHfLGxt7+zuFfcPmjpKFGUNGolItX2imeCSNZCjYO1YMRL6grX80fXUbz0ypXkk73AcMy8kA8kDTgka6f7poUs0XladSq9YcsrODPYycTNSggz1XvGr249oEjKJVBCtO64To5cShZwKNil0E81iQkdkwDqGShIy7aWziyf2iVH6dhApUxLtmfp7IiWh1uPQN50hwaFe9Kbif14nweDCS7mME2SSzhcFibAxsqfv232uGEUxNoRQxc2tNh0SRSiakAomBHfx5WXSrJTdarlye1aqXWVx5OEIjuEUXDiHGtxAHRpAQcIzvMKbpa0X6936mLfmrGzmEP7A+vwBkeWQMA==</latexit> -> 307 = 104 + 102 + 101 <latexit sha1_base64="VWFfjEwrLVfJPZquq/33kZM+49Y=">AAAB+HicbVDLSgMxFM3UV62Pjrp0EyyCIJSkLdSNUHTjsoJ9QDuUTJppQzOZIckIdeiXuHGhiFs/xZ1/Y9rOQlsPXDiccy/33uPHgmuD0LeT29jc2t7J7xb29g8Oi+7RcVtHiaKsRSMRqa5PNBNcspbhRrBurBgJfcE6/uR27ncemdI8kg9mGjMvJCPJA06JsdLALVZR/Rqj2iVGFVt44JZQGS0A1wnOSAlkaA7cr/4woknIpKGCaN3DKDZeSpThVLBZoZ9oFhM6ISPWs1SSkGkvXRw+g+dWGcIgUrakgQv190RKQq2noW87Q2LGetWbi/95vcQEV17KZZwYJulyUZAIaCI4TwEOuWLUiKklhCpub4V0TBShxmZVsCHg1ZfXSbtSxtVy5b5WatxkceTBKTgDFwCDOmiAO9AELUBBAp7BK3hznpwX5935WLbmnGzmBPyB8/kDKdSQLA==</latexit> 最適解 に対して 307/302 ' 1.017 < 1.04 <latexit sha1_base64="vQZFYoZjNZZvebpSjJTVDYAArlg=">AAACA3icbVDLSgMxFM3UV62vUXe6CRbB1ZhpC3XhoujGZQX7gHYomTRtQ5OZMckIZSi48VfcuFDErT/hzr8x085CWw9c7uGce0nu8SPOlEbo28qtrK6tb+Q3C1vbO7t79v5BU4WxJLRBQh7Kto8V5SygDc00p+1IUix8Tlv++Dr1Ww9UKhYGd3oSUU/gYcAGjGBtpJ59VEbV8zIqdRUT9B66DnKr8DLtlZ5dRA6aAS4TNyNFkKHes7+6/ZDEggaacKxUx0WR9hIsNSOcTgvdWNEIkzEe0o6hARZUecnshik8NUofDkJpKtBwpv7eSLBQaiJ8MymwHqlFLxX/8zqxHlx4CQuiWNOAzB8axBzqEKaBwD6TlGg+MQQTycxfIRlhiYk2sRVMCO7iycukWXLcslO6rRRrV1kceXAMTsAZcEEV1MANqIMGIOARPINX8GY9WS/Wu/UxH81Z2c4h+APr8wf5Y5Pi</latexit> であるので 正しい近似を返している
  26. /26 26 まとめ NP完全性を迂回する方法として, 最適化問題に対する近似アルゴリズムを学んだ 扱った問題 巡回セールスマン問題, 頂点被覆問題, 最小頂点被覆問題, MAX-3-CNF充足可能性問題,

    部分和問題 amazon.co.jp もう少し勉強したい人? ->