Untangle: Bipartite Graph

Untangle: Bipartite Graph
Loading the math board and drawing, please wait…
2017-03-20 11:42
This example demonstrates how to construct a bipartite graph through the untangle game. A bipartite graph is a special type of graph where the vertices can be divided into two disjoint sets such that every edge connects a vertex in one set to one in the other. Using GeoGebra commands like Sequence, Flatten, Element, Sum, and Circle, the vertices and edges of the bipartite graph are constructed. Suitable for students at the junior high school level and above to learn about graph theory and graph properties.

GeoGebra Commands & Parameters

  1. Sequence(Sequence[Segment[Element[PointsE, i], Element[PointsF, j]], i, 1, n], j, 1, m) → list1
  2. Flatten(list1) → list2
  3. Element(list2, 1) → H1
  4. Element(list2, 2) → H2
  5. Element(list2, 3) → H3
  6. Element(list2, 4) → H4
  7. Element(list2, 5) → H5
  8. Element(list2, 6) → H6
  9. Element(list2, 7) → H7
  10. Element(list2, 8) → H8
  11. Element(list2, 9) → H9
  12. Element(list2, 10) → H10
  13. Element(list2, 11) → H11
  14. Element(list2, 12) → H12
  15. Element(list2, 13) → H13
  16. Element(list2, 14) → H14
  17. Element(list2, 15) → H15
  18. Element(list2, 16) → H16
  19. Sequence(Intersect[H1, Element[list2, i]], i, 1, (n * m)) → I1
  20. Sequence(Intersect[H2, Element[list2, i]], i, 1, (n * m)) → I2
  21. Sequence(Intersect[H3, Element[list2, i]], i, 1, (n * m)) → I3
  22. Sequence(Intersect[H4, Element[list2, i]], i, 1, (n * m)) → I4
  23. Sequence(Intersect[H5, Element[list2, i]], i, 1, (n * m)) → I5
  24. Sequence(Intersect[H6, Element[list2, i]], i, 1, (n * m)) → I6
  25. Sequence(Intersect[H7, Element[list2, i]], i, 1, (n * m)) → I7
  26. Sequence(Intersect[H8, Element[list2, i]], i, 1, (n * m)) → I8
  27. Sequence(Intersect[H9, Element[list2, i]], i, 1, (n * m)) → I9
  28. Sequence(Intersect[H10, Element[list2, i]], i, 1, (n * m)) → I10
  29. Sequence(Intersect[H11, Element[list2, i]], i, 1, (n * m)) → I11
  30. Sequence(Intersect[H12, Element[list2, i]], i, 1, (n * m)) → I12
  31. Sequence(Intersect[H13, Element[list2, i]], i, 1, (n * m)) → I13
  32. Sequence(Intersect[H14, Element[list2, i]], i, 1, (n * m)) → I14
  33. Sequence(Intersect[H15, Element[list2, i]], i, 1, (n * m)) → I15
  34. Sequence(Intersect[H16, Element[list2, i]], i, 1, (n * m)) → I16
  35. Sequence(If[Element[I1, i] ≟ Element[I1, i], 1, 0], i, 1, (n * m)) → J1
  36. Sequence(If[Element[I2, i] ≟ Element[I2, i], 1, 0], i, 1, (n * m)) → J2
  37. Sequence(If[Element[I3, i] ≟ Element[I3, i], 1, 0], i, 1, (n * m)) → J3
  38. Sequence(If[Element[I4, i] ≟ Element[I4, i], 1, 0], i, 1, (n * m)) → J4
  39. Sequence(If[Element[I5, i] ≟ Element[I5, i], 1, 0], i, 1, (n * m)) → J5
  40. Sequence(If[Element[I6, i] ≟ Element[I6, i], 1, 0], i, 1, (n * m)) → J6
  41. Sequence(If[Element[I7, i] ≟ Element[I7, i], 1, 0], i, 1, (n * m)) → J7
  42. Sequence(If[Element[I8, i] ≟ Element[I8, i], 1, 0], i, 1, (n * m)) → J8
  43. Sequence(If[Element[I9, i] ≟ Element[I9, i], 1, 0], i, 1, (n * m)) → J9
  44. Sequence(If[Element[I10, i] ≟ Element[I10, i], 1, 0], i, 1, (n * m)) → J10
  45. Sequence(If[Element[I11, i] ≟ Element[I11, i], 1, 0], i, 1, (n * m)) → J11
  46. Sequence(If[Element[I12, i] ≟ Element[I12, i], 1, 0], i, 1, (n * m)) → J12
  47. Sequence(If[Element[I13, i] ≟ Element[I13, i], 1, 0], i, 1, (n * m)) → J13
  48. Sequence(If[Element[I14, i] ≟ Element[I14, i], 1, 0], i, 1, (n * m)) → J14
  49. Sequence(If[Element[I15, i] ≟ Element[I15, i], 1, 0], i, 1, (n * m)) → J15
  50. Sequence(If[Element[I16, i] ≟ Element[I16, i], 1, 0], i, 1, (n * m)) → J16
  51. Sum(J1) → K1
  52. Sum(J2) → K2
  53. Sum(J3) → K3
  54. Sum(J4) → K4
  55. Sum(J5) → K5
  56. Sum(J6) → K6
  57. Sum(J7) → K7
  58. Sum(J8) → K8
  59. Sum(J9) → K9
  60. Sum(J10) → K10
  61. Sum(J11) → K11
  62. Sum(J12) → K12
  63. Sum(J13) → K13
  64. Sum(J14) → K14
  65. Sum(J15) → K15
  66. Sum(J16) → K16
  67. Sum(Cond) → Sumcond
  68. Circle((0, 0), 1) → c
  69. Element(list2, 17) → H17
  70. Element(list2, 18) → H18
  71. Element(list2, 19) → H19
  72. Element(list2, 20) → H20
  73. Element(list2, 21) → H21
  74. Element(list2, 22) → H22
  75. Element(list2, 23) → H23
  76. Element(list2, 24) → H24
  77. Element(list2, 25) → H25
  78. Sequence(Intersect[H17, Element[list2, i]], i, 1, (n * m)) → I17
  79. Sequence(Intersect[H18, Element[list2, i]], i, 1, (n * m)) → I18
  80. Sequence(Intersect[H19, Element[list2, i]], i, 1, (n * m)) → I19
  81. Sequence(Intersect[H20, Element[list2, i]], i, 1, (n * m)) → I20
  82. Sequence(Intersect[H21, Element[list2, i]], i, 1, (n * m)) → I21
  83. Sequence(Intersect[H22, Element[list2, i]], i, 1, (n * m)) → I22
  84. Sequence(Intersect[H23, Element[list2, i]], i, 1, (n * m)) → I23
  85. Sequence(Intersect[H24, Element[list2, i]], i, 1, (n * m)) → I24
  86. Sequence(Intersect[H25, Element[list2, i]], i, 1, (n * m)) → I25
  87. Sequence(If[Element[I17, i] ≟ Element[I17, i], 1, 0], i, 1, (n * m)) → J17
  88. Sequence(If[Element[I18, i] ≟ Element[I18, i], 1, 0], i, 1, (n * m)) → J18
  89. Sequence(If[Element[I19, i] ≟ Element[I19, i], 1, 0], i, 1, (n * m)) → J19
  90. Sequence(If[Element[I20, i] ≟ Element[I20, i], 1, 0], i, 1, (n * m)) → J20
  91. Sequence(If[Element[I21, i] ≟ Element[I21, i], 1, 0], i, 1, (n * m)) → J21
  92. Sequence(If[Element[I22, i] ≟ Element[I22, i], 1, 0], i, 1, (n * m)) → J22
  93. Sequence(If[Element[I23, i] ≟ Element[I23, i], 1, 0], i, 1, (n * m)) → J23
  94. Sequence(If[Element[I24, i] ≟ Element[I24, i], 1, 0], i, 1, (n * m)) → J24
  95. Sequence(If[Element[I25, i] ≟ Element[I25, i], 1, 0], i, 1, (n * m)) → J25
  96. Sum(J17) → K17
  97. Sum(J18) → K18
  98. Sum(J19) → K19
  99. Sum(J20) → K20
  100. Sum(J21) → K21
  101. Sum(J22) → K22
  102. Sum(J23) → K23
  103. Sum(J24) → K24
  104. Sum(J25) → K25