冰山小镇:最小支配集的几何可视化

冰山小镇:最小支配集的几何可视化
几何画板及绘图内容加载中,请稍等……
2021-01-08 08:51
该范例通过点集上的覆盖关系,演示如何在图/几何结构中找到“最小支配集”来覆盖所有顶点(以最近或相邻连接为准)。核心数学概念包括图论中的最小支配集、最值优化(最小化选点数量)以及由几何连线诱导的邻接关系。作图要点:使用 GeoGebra 的 Segment 生成点与点之间的连边结构;用 Circle 构造用于判定“覆盖范围/支配半径”的圆形区域;结合 CountIf 对满足条件的候选点进行计数,以评估并最小化支配集的规模;通过 Text 标注关键节点或集合规模信息。构造摘要中涉及的对象与命令主要包括:命令 Segment、Circle、Text、CountIf,以及点对象 A,B,C,...,Z、Xpoint、Ypoint 等,以及由连边形成的线段对象(如 AC、AD、AB、BF 等)用于表达邻接/覆盖关系。适合中学后段到大学入门的离散数学、图论与优化教学演示,也适用于在 GeoGebra 中做交互式实验与数形结合探究。

GeoGebra 命令及参数

  1. Segment(A, C) → AC
  2. Segment(A, D) → AD
  3. Segment(A, B) → AB
  4. Segment(B, F) → BF
  5. Segment(B, G) → BG
  6. Segment(C, E) → CE
  7. Segment(C, P) → CP
  8. Segment(D, F) → DF
  9. Segment(D, E) → DE
  10. Segment(E, H) → EH
  11. Segment(E, K) → EK
  12. Segment(E, I) → EI
  13. Segment(F, I) → FI
  14. Segment(F, N) → FN
  15. Segment(G, O) → GO
  16. Segment(H, J) → HJ
  17. Segment(H, K) → HK
  18. Segment(I, L) → IL
  19. Segment(I, M) → IM
  20. Segment(J, K) → JK
  21. Segment(J, P) → JP
  22. Segment(J, W) → JW
  23. Segment(L, M) → LM
  24. Segment(L, R) → LR
  25. Segment(M, N) → MN
  26. Segment(M, S) → MS
  27. Segment(N, O) → NO
  28. Segment(O, S) → OS
  29. Segment(P, T) → PT
  30. Segment(P, Q) → PQ
  31. Segment(Q, U) → QU
  32. Segment(Q, W) → QW
  33. Segment(R, Z) → RZ
  34. Segment(R, S) → RS
  35. Segment(S, Z) → SZ
  36. Segment(T, U) → TU
  37. Segment(T, V) → TV
  38. Segment(U, V) → UV
  39. Segment(V, W) → VW
  40. Segment(V, Ypoint) → VY
  41. Segment(W, Xpoint) → WX
  42. Segment(Xpoint, Z) → XZ
  43. Segment(Xpoint, Ypoint) → XY
  44. Segment(Z, Ypoint) → YZ
  45. CountIf(x ≟ true, listOfCarts) → numCarts
  46. Circle(A, 0.35) → borderA
  47. Circle(B, 0.35) → borderB
  48. Circle(C, 0.35) → borderC
  49. Circle(D, 0.35) → borderD
  50. Circle(E, 0.35) → borderE
  51. Circle(F, 0.35) → borderF
  52. Circle(G, 0.35) → borderG
  53. Circle(H, 0.35) → borderH
  54. Circle(I, 0.35) → borderI
  55. Circle(J, 0.35) → borderJ
  56. Circle(K, 0.35) → borderK
  57. Circle(L, 0.35) → borderL
  58. Circle(M, 0.35) → borderM
  59. Circle(N, 0.35) → borderN
  60. Circle(O, 0.35) → borderO
  61. Circle(P, 0.35) → borderP
  62. Circle(Q, 0.35) → borderQ
  63. Circle(R, 0.35) → borderR
  64. Circle(S, 0.35) → borderS
  65. Circle(T, 0.35) → borderT
  66. Circle(U, 0.35) → borderU
  67. Circle(V, 0.35) → borderV
  68. Circle(W, 0.35) → borderW
  69. Circle(Xpoint, 0.35) → borderX
  70. Circle(Ypoint, 0.35) → borderY
  71. Circle(Z, 0.35) → borderZ
  72. Circle(A, 0.35) → fillA
  73. Circle(B, 0.35) → fillB
  74. Circle(C, 0.35) → fillC
  75. Circle(D, 0.35) → fillD
  76. Circle(E, 0.35) → fillE
  77. Circle(F, 0.35) → fillF
  78. Circle(G, 0.35) → fillG
  79. Circle(H, 0.35) → fillH
  80. Circle(I, 0.35) → fillI
  81. Circle(J, 0.35) → fillJ
  82. Circle(K, 0.35) → fillK
  83. Circle(L, 0.35) → fillL
  84. Circle(M, 0.35) → fillM
  85. Circle(N, 0.35) → fillN
  86. Circle(O, 0.35) → fillO
  87. Circle(P, 0.35) → fillP
  88. Circle(Q, 0.35) → fillQ
  89. Circle(R, 0.35) → fillR
  90. Circle(S, 0.35) → fillS
  91. Circle(T, 0.35) → fillT
  92. Circle(U, 0.35) → fillU
  93. Circle(V, 0.35) → fillV
  94. Circle(W, 0.35) → fillW
  95. Circle(Xpoint, 0.35) → fillX
  96. Circle(Ypoint, 0.35) → fillY
  97. Circle(Z, 0.35) → fillZ
  98. Text("S", S - (0.1, 0.1)) → vertexS
  99. Text("A", A - (0.15, 0.1)) → vertexA
  100. Text("B", B - (0.14, 0.1)) → vertexB
  101. Text("C", C - (0.15, 0.1)) → vertexC
  102. Text("D", D - (0.16, 0.1)) → vertexD
  103. Text("E", E - (0.12, 0.1)) → vertexE
  104. Text("F", F - (0.12, 0.1)) → vertexF
  105. Text("G", G - (0.15, 0.1)) → vertexG
  106. Text("H", H - (0.16, 0.1)) → vertexH
  107. Text("I", I - (0.06, 0.1)) → vertexI
  108. Text("J", J - (0.08, 0.1)) → vertexJ
  109. Text("K", K - (0.14, 0.1)) → vertexK
  110. Text("L", L - (0.12, 0.1)) → vertexL
  111. Text("M", M - (0.17, 0.1)) → vertexM
  112. Text("N", N - (0.16, 0.1)) → vertexN
  113. Text("O", O - (0.17, 0.1)) → vertexO
  114. Text("P", P - (0.14, 0.1)) → vertexP
  115. Text("Q", Q - (0.17, 0.1)) → vertexQ
  116. Text("R", R - (0.14, 0.1)) → vertexR
  117. Text("T", T - (0.14, 0.1)) → vertexT
  118. Text("U", U - (0.15, 0.1)) → vertexU
  119. Text("V", V - (0.14, 0.1)) → vertexV
  120. Text("W", W - (0.17, 0.1)) → vertexW
  121. Text("X", Xpoint - (0.14, 0.1)) → vertexX
  122. Text("Y", Ypoint - (0.14, 0.1)) → vertexY
  123. Text("Z", Z - (0.14, 0.1)) → vertexZ

AI 绘图提示语参考

在平面上先放置若干点作为图的顶点(包括若干字母点 A 到 Z,并含有 Xpoint、Ypoint 以及中心点 P、Q、R、S、T、U、V、W、Xpoint、Ypoint、Z 等)。用线段把这些点按给定关系连接成一张边结构图,其中重点连出从 A 到 C、D、B,以及 B 与 F、G 相连,再连出 C 与 E、P 相连,其他点按连接对依次用线段相互相连。再以 A、B、C 为圆心各画半径为 0.35 的圆,作为对邻域覆盖的可视提示,最后在需要处加入计数与标注信息以便统计被覆盖顶点数量。
以上提示语为根据原始绘图命令整理而来,仅供参考。