收集胡萝卜:贪心算法在几何最优化中的失效示例

收集胡萝卜:贪心算法在几何最优化中的失效示例
几何画板及绘图内容加载中,请稍等……
2021-01-10 02:48
本范例通过“收集胡萝卜”的几何布点与分组过程,展示贪心算法在局部最优策略下可能无法得到全局最优的现象。核心数学概念包括优化问题建模、分段选择与决策的误差来源、以及由斜率/差值特征刻画的几何关系;同时使用圆与等腰三角形等结构来构造可比对的候选区域。作图要点:从“构造摘要”提炼可见使用了 Flatten(将集合拍平成列表)、Zip(将多列表按位置配对)、Element(按索引取元素)、Segment(生成线段)等 GeoGebra 命令;对象层面涉及 circleCenters(圆心集合)、circleBorders(圆周/边界集合)、carrotsCollected(计数/收集结果量)、circleValues(圆对应值)、以及多组 isA1…isE6、isOnLevel1…isOnLevel5(位于等高/分层条件下的点或判定量)与若干 circleA1…circleD1(具体圆/点的引用)。适合中学高年级到大学初阶“算法思维+几何建模”课程,用于说明贪心法的适用条件与反例构造,也可用于优化与几何作图的教学演示。

GeoGebra 命令及参数

  1. Flatten(Sequence[Sequence[(i, j), i, 1 + ((j - 1) * 0.5), 6 - ((j - 1) * 0.5), 1], j, 5, 1, -1]) → circleCenters
  2. Zip(Circle[A, 0.35], A, circleCenters) → circleBorders
  3. Element(circleBorders, 1) → circleA1
  4. Element(circleBorders, 2) → circleA2
  5. Element(circleBorders, 3) → circleB1
  6. Element(circleBorders, 4) → circleB2
  7. Element(circleBorders, 5) → circleB3
  8. Element(circleBorders, 6) → circleC1
  9. Element(circleBorders, 7) → circleC2
  10. Element(circleBorders, 8) → circleC3
  11. Element(circleBorders, 9) → circleC4
  12. Element(circleBorders, 10) → circleD1
  13. Element(circleBorders, 11) → circleD2
  14. Element(circleBorders, 12) → circleD3
  15. Element(circleBorders, 13) → circleD4
  16. Element(circleBorders, 14) → circleD5
  17. Element(circleBorders, 15) → circleE1
  18. Element(circleBorders, 16) → circleE2
  19. Element(circleBorders, 17) → circleE3
  20. Element(circleBorders, 18) → circleE4
  21. Element(circleBorders, 19) → circleE5
  22. Element(circleBorders, 20) → circleE6
  23. Segment(root, A1) → f
  24. Segment(root, A2) → g
  25. Segment(A1, B1) → h
  26. Segment(A1, B2) → i
  27. Segment(A2, B2) → j
  28. Segment(A2, B3) → k
  29. Segment(B1, C1) → l
  30. Segment(B1, C2) → m
  31. Segment(B2, C2) → n
  32. Segment(B2, C3) → p
  33. Segment(B3, C3) → q
  34. Segment(B3, C4) → r
  35. Segment(C1, D1) → s
  36. Segment(C1, D2) → t
  37. Segment(C2, D2) → a
  38. Segment(C2, D3) → b
  39. Segment(C3, D3) → c
  40. Segment(C3, D4) → d
  41. Segment(C4, D4) → e
  42. Segment(C4, D5) → f_1
  43. Segment(D1, E1) → g_1
  44. Segment(D1, E2) → h_1
  45. Segment(D2, E2) → i_1
  46. Segment(D2, E3) → j_1
  47. Segment(D3, E3) → k_1
  48. Segment(D3, E4) → l_1
  49. Segment(D4, E4) → m_1
  50. Segment(D4, E5) → n_1
  51. Segment(D5, E5) → p_1
  52. Segment(D5, E6) → q_1
  53. Zip(Text[A, B - (0.15, 0.15)], A, circleValues, B, circleCenters) → circleLabels

AI 绘图提示语参考

绘制一个由六个等边三角形和五个圆组成的几何图形。每个圆的半径为0.35,圆心位于特定的坐标点上。三角形和圆之间通过线段连接,形成一个复杂的路径。首先绘制圆心,然后根据圆心绘制圆,接着绘制三角形的顶点,最后用线段连接圆和三角形的顶点,形成路径。
以上提示语为根据原始绘图命令整理而来,仅供参考。