农夫过河问题
经典的农夫过河问题,相冲突的生物之间有连线,每次携带走某几个生物后,要保证剩下的没有连线存在。问船的容量最小是多少呢?
视频:【Numberphile】农夫过桥问题和阿尔昆数
直观的思路就是,找最少需要几只手盖住顶点后能消除所有连线(即最小覆盖):
但有时只有最小顶点覆盖个位置是不够的。
如下面的例子,最小顶点覆盖显然是1,把狼盖住就行了:
但船若只有1个额外位置是不行的,一个来回之后就卡住了:
这就需要再额外增加一个位置,也就是最小顶点覆盖数+1个位置。这时只要总是把狼带在身边,就能用剩下