Όλα τα σημεία στο επίπεδο είναι χρωματισμένα είτε μπλε είτε κόκκινο. Αποδείξτε ότι είναι πάντα δυνατό να βρεθεί ένα ισόπλευρο τρίγωνο του οποίου οι τρεις κορυφές έχουν το ίδιο χρώμα1.
Λέμε ένα τρίγωνο μονοχρωματικό αν έχει το ίδιο χρώμα και στις τρείς κορυφές του. Θα υποθέσουμε ότι όλα τα σημεία του επιπέδου είναι πάνω σε ένα δίκτυο. Εύκολα μπορούμε να δούμε ότι υπάρχουν δύο “κοντινά” σημεία με το ίδιο χρώμα2.
Ας υποθέσουμε ότι τα σημεία \(Ε\) και \(F\) είναι κόκκινα σημεία:
- Ας υποθέσουμε ότι τα σημεία \(Ε\) και \(F\) είναι κόκκινα σημεία:

Αν τα \(I\) και \(B\) είναι το ένα κόκκινο και το ένα μπλέ, τότε έχουμε ισόπλευρο μονοχρωματικό3.
Αν υποθέσουμε τώρα ότι τα \(I\) και \(B\) είναι κόκκινα. Πάλι έχουμε 2 μονοχρωματικά ισόπλευρα τρίγωνα.
Ας υποθέσουμε ότι \(I\) και \(B\) είναι μπλέ και το \(G\) μπλέ, τότε το \(IBG\) είναι μονοχρωματικό, δες Σχ 2(1).

Ας υποθέσουμε ότι \(I\) και \(B\) είναι μπλε και το \(G\) κόκκινο, τότε:
- αν \(H\) κόκκινο, τότε \(HFG\) μονογρωματικό, δες Σχ 2(2).
- αν \(H\) μπλέ, τότε:
- αν \(J\) κόκκινο, \(JEG\) μονοχρωματικό, δες Σχ 2(3)
- αν \(J\) μπλε, \(JIH\) μονοχρωματικό, δες Σχ 2(4).
- Το ίδιο θα συμβεί αν υποθέσουμε ότι \(E\) και \(F\) μπλε σημεία, αλλάζουμε τα χρώματα στο σκεπτικό.
- Ας υποθέσουμε τώρα ότι \(E\) κόκκινο και \(F\) μπλε, δες Σχ. 3.

- \(I\) και \(B\) μπλέ
- Ας υποθέσουμε ότι \(G\) είναι μπλε, τότε έχουμε μονοχρωματικό το \(IBG\), δες Σχ. 4(1).

- Αν \(G\) είναι κόκκινο, τότε:
- Αν \(H\) είναι μπλε, τότε το \(IHF\) είναι μονοχρωματικό, δες Σχ. 4(2).
- Aν \(H\) είναι κόκκινο, τότε
- Το \(C\) κόκκινο, το \(ECH\) είναι μονοχρωματικό, δες Σχ. 4(3).
- Το \(C\) κόκκινο, το \(FBC\) είναι μονοχρωματικό, δες Σχ. 4(4).
- \(I\) και \(B\) κόκκινα
- \(G\) μπλε:
- \(C\) κόκκινο, το \(ECH\) είναι μονοχρωματικό, δες Σχ. 5(1).
- \(C\) μπλε, το \(CGF\) είναι μονοχρωματικό, δες Σχ. 5(2).
- \(H\) μπλε, το \(HFG\) είναι μονοχρωματικό, δες Σχ. 5(3).
- \(G\) κόκκινο, το \(IBG\) είναι μονοχρωματικό, δες Σχ. 5(4).
- \(G\) κόκκινο, το \(IBG\) είναι μονοχρωματικό, δες Σχ. 5(4).
- \(C\) κόκκινο, το \(ECH\) είναι μονοχρωματικό, δες Σχ. 5(1).
- \(G\) μπλε:

- \(I\) μπλε και \(B\) κόκκινο. Εξετάστε περιπτώσεις όπως προηγουμένως, θα καταλήξετε στο ότι υπάρχουν πάντα μονοχρωματικά ισόπλευρα τρίγωνα.
- Το ίδιο αν \(E\) μπλέ και \(F\) κόκκινο
\(\blacksquare\)
Ο κώδικας4 στη Python δίνει τον αριθμό των μονοχρωματικών ισοπλεύρων τριγώνων για έναν συγκεκριμένο αριθμό σημείων κόκκινων και μπλε και για έναν αριθμό βημάτων. Ο κώδικας κατασκευάζει μια πυραμίδα της οποίας η βάση είναι μια νοητή ευθεία με το σύνολο των χρωματιστών σημείων της εισόδου σε μια τυχαία κατανομή πάνω στην ευθεία. Το ύψος της πυραμίδας εξαρτάται από τον αριθμό των βημάτων ο οποίος είναι μικρότερος από το άθροισμα των σημείων στην αρχική ευθεία. Στο 1ο βήμα κατασκευάζει τα ισόπλευρα τρίγωνα παίρνωντας μόνο ανα δύο τα διαδοχικά σημεία και χρωματίζει τυχαία τις κορυφές τους. Με το ίδιο μοτίβο προχωράει στο επόμενο βήμα, μέχρι να εξαντληθεί ο αριθμός των βημάτων. Στην έξοδο, δίνει την εικόνα (gif) της πυραμίδας και μετρά τον αριθμό των σχηματισμένων μονοχρωματικών ισοπλεύρων τριγώνων.
import random, math, itertoolsimport matplotlib.pyplot as pltm = int(input("m μπλε σημεία > 2: "))p = int(input("p κόκκινα σημεία > 2: "))k = int(input("k < m+p: "))N = m + pspacing = 1.8xs = [i*spacing for i in range(N)]cols = ['blue']*m + ['red']*prandom.shuffle(cols)base = [(x, 0.0, c) for x,c in zip(xs, cols)]points = base.copy()triangles = []current = sorted(base, key=lambda t: t[0])def third(A,B): x1,y1=A[0],A[1]; x2,y2=B[0],B[1] mx,my=(x1+x2)/2,(y1+y2)/2 L=math.hypot(x2-x1,y2-y1) h=math.sqrt(3)/2*L nx,ny=-(y2-y1)/L,(x2-x1)/L return (mx+h*nx, my+h*ny)def is_equilateral(a,b,c, tol=1e-6): (x1,y1,_),(x2,y2,_),(x3,y3,_) = a,b,c d1 = (x1-x2)**2 + (y1-y2)**2 d2 = (x2-x3)**2 + (y2-y3)**2 d3 = (x3-x1)**2 + (y3-y1)**2 return abs(d1-d2) < tol and abs(d2-d3) < tol# κατασκευή πυραμίδας με ΔΙΑΔΟΧΙΚΑfor level in range(1, k+1): nxt = [] for i in range(len(current)-1): A,B = current[i], current[i+1] C = (*third(A,B), random.choice(['blue','red'])) points.append(C) triangles.append((A,B,C)) nxt.append(C) current = sorted(nxt, key=lambda t: t[0]) if len(current) < 2: break# ---- ΜΟΝΟ μονοχρωματικά ΙΣΟΠΛΕΥΡΑ ----mono_equi = []for a,b,c in itertools.combinations(points, 3): if a[2] == b[2] == c[2] and is_equilateral(a,b,c): mono_equi.append((a,b,c))print(f"Σημεία: {len(points)} | Μονοχρωματικά ισόπλευρα: {len(mono_equi)}")# ---- ΣΧΕΔΙΑΣΗ ----fig, ax = plt.subplots(figsize=(12,8))ax.set_aspect('equal'); ax.axis('off')# πυραμίδα κατασκευής (γκρι)for (x1,y1,_),(x2,y2,_),(x3,y3,_) in triangles: ax.plot([x1,x2,x3,x1],[y1,y2,y3,y1], color='lightgray', lw=0.8, alpha=0.4)# ΜΟΝΟΧΡΩΜΑΤΙΚΑ ΙΣΟΠΛΕΥΡΑ (χρυσά)for (x1,y1,_),(x2,y2,_),(x3,y3,_) in mono_equi: ax.plot([x1,x2,x3,x1],[y1,y2,y3,y1], color='gold', lw=2.2)# σημεία με το δικό σου fixfor x,y,c in points: ax.scatter(x,y,s=40,c=c,edgecolors='black',linewidth=0.5,zorder=5)plt.title(f"k={k}, N={N} | Μονοχρωματικά ισόπλευρα: {len(mono_equi)}")plt.show()
Για 4 μπλε σημεία και 5 κόκκινα στο πρώτο στάδιο και για 8 βήματα που θα ολοκληρώσουν την πυραμίδα, ο αλγόριθμος με τη συγκεκριμένη τυχαία κατανομή των 9 σημείων στη γραμμή της βάσης βρίσκει 96 μονοχρωματικά ισόπλευρα τρίγωνα.

- Το πρόβλημα είναι δημοσιευμένο στο blog της Therese Eveilleau, δείτε πρόβλημα Ε1 στο blog Mathematiques Magiques ↩︎
- Είναι το σημείο που οι μαθητές κολλάνε, νομίζουν ότι πρέπει να χρωματίσουν άπειρα σημεία. Τους δείχνεις ότι αρκούν 5 στην ευθεία. Η λύση βασίζεται σε αφαιρετική συλλογιστική και όχι σε πειραματισμό, συλλογή δεδομένων, διατύπωση υποθέσεων ή διεπιστημονική συνεργασία. ↩︎
- Χωρίζεις το επίπεδο σε περιπτώσεις, διακρίνεις δομές. Φτιάχνεις το τρίγωνο από το μηδέν, δημιουργείς μοτίβο που δεν υπήρχε – αυτό είναι η καρδιά της απόδειξης. ↩︎
- Η προσθήκη της κατασκευής κώδικα με ή χωρίς τη χρήση ΤΝ αναβαθμίζει την άσκηση από τυπικό αποδεικτικό πρόβλημα σε πλούσιο, ανοιχτό, διεπιστημονικό έργο PBL (Problem-Based Learning), με υψηλά κίνητρα (δημιουργία κάτι που «δουλεύει»), αυθεντικό πλαίσιο (AI engineer) και μεγάλο περιθώριο για διερεύνηση και συνεργασία. Είναι ακριβώς αυτή η μετατροπή που κάνει μια συνηθισμένη άσκηση να αποκτήσει PBL «ποιότητα». ↩︎
