19 Μαΐου, 1970

ΚΙΝΟ Σχέσεις μεταξύ των αριθμών. (KINO Relationships between the numbers.)


Ας εξερευνήσουμε τις σχέσεις που έχουν οι αριθμοί μεταξύ τους. Let's explore the relationships between the numbers. 

import numpy as np
import pandas as pd
import seaborn as sns
import networkx as nx
import matplotlib.pyplot as plt

from collections import Counter
from scipy.stats import gaussian_kde
from itertools import combinations
from matplotlib.sankey import Sankey

data =
[

[7, 8, 9, 11, 14, 15, 17, 23, 24, 30, 32, 33, 35, 51, 52, 56, 59, 64, 66, 74],
[16, 20, 21, 28, 29, 33, 34, 36, 37, 38, 41, 44, 52, 63, 66, 71, 72, 74, 77, 80],
[2, 11, 13, 22, 23, 27, 29, 30, 39, 42, 43, 50, 55, 62, 64, 68, 69, 71, 74, 75],
[1, 3, 6, 8, 12, 13, 17, 19, 21, 26, 30, 31, 34, 41, 44, 45, 53, 58, 59, 60],
[2, 5, 9, 10, 11, 13, 14, 17, 21, 24, 29, 30, 31, 37, 51, 55, 56, 63, 66, 80],
[10, 12, 21, 23, 24, 34, 37, 41, 49, 50, 51, 56, 59, 60, 68, 71, 73, 76, 79, 80],
[1, 7, 9, 11, 13, 17, 23, 26, 28, 36, 38, 39, 47, 50, 63, 68, 73, 74, 75, 77],
[1, 2, 8, 11, 20, 24, 28, 30, 32, 34, 38, 43, 44, 47, 51, 58, 60, 64, 72, 76],
[3, 4, 14, 19, 21, 23, 27, 29, 34, 35, 38, 48, 51, 55, 56, 60, 61, 70, 74, 76],
[9, 10, 13, 14, 15, 17, 24, 26, 29, 32, 35, 40, 48, 55, 60, 61, 70, 76, 77, 80],

]

variances = []
std_devs = []

for line in data:
variances.append(round(np.var(line)))
std_devs.append(round(np.std(line)))

print("Διακύμανση κάθε κλήρωσης:", variances)
print("Τυπική απόκλιση κάθε κλήρωσης:", std_devs)

plt.figure(figsize=(10, 5))
plt.boxplot(data, patch_artist=True)
plt.title('Διάγραμμα Κουτιού για κάθε Κλήρωση')
plt.xlabel('Κλήρωση')
plt.ylabel('Αριθμοί')
plt.show()

plt.figure(figsize=(12, 5))

plt.subplot(1, 2, 1)
plt.hist(variances, bins=10, color='blue', alpha=0.7)
plt.title('Ιστόγραμμα Διακύμανσης')
plt.xlabel('Διακύμανση')
plt.ylabel('Συχνότητα')

plt.subplot(1, 2, 2)
plt.hist(std_devs, bins=10, color='red', alpha=0.7)
plt.title('Ιστόγραμμα Τυπικής Απόκλισης')
plt.xlabel('Τυπική Απόκλιση')
plt.ylabel('Συχνότητα')

plt.tight_layout()
plt.show()

all_numbers = [num for sublist in data for num in sublist]

density = gaussian_kde(all_numbers)
x_vals = np.linspace(min(all_numbers), max(all_numbers), 1000)
density_vals = density(x_vals)

plt.figure(figsize=(10, 6))
plt.plot(x_vals, density_vals, label='PDF')
plt.title('Συνάρτηση Πυκνότητας Πιθανότητας των Αριθμών')
plt.xlabel('Αριθμός')
plt.ylabel('Πυκνότητα')
plt.grid(True)
plt.show
()

correlation_matrix = np.corrcoef(data)

plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f", linewidths=.5)
plt.title('Διάγραμμα Συσχέτισης μεταξύ Κληρώσεων')
plt.xlabel('Κλήρωση')
plt.ylabel('Κλήρωση')
plt.show()

G = nx.Graph()

for line in data:
unique_numbers = set(line)
for number in unique_numbers:
if not G.has_node(number):
G.add_node(number)
# Προσθήκη ακμών μεταξύ όλων των αριθμών στην ίδια κλήρωση
for other_number in unique_numbers:
if number != other_number:
if G.has_edge(number, other_number):
G[number][other_number]['weight'] += 1
else:
G.add_edge(number, other_number, weight=1)

plt.figure(figsize=(12, 12))
pos = nx.spring_layout(G, seed=42) # Θέσεις για την ομοιόμορφη διάταξη των κόμβων
weights = nx.get_edge_attributes(G, 'weight').values()
nx.draw(G, pos, with_labels=True, node_color='skyblue', node_size=700,
 edge_color=list(weights),
 width=3.0, edge_cmap=plt.cm.Blues)
plt.title('Δίκτυο Συχνοτήτων Αριθμών')
plt.show()

G = nx.Graph()

for draw in data:
for combination in combinations(draw, 2):
if G.has_edge(combination[0], combination[1]):
G[combination[0]][combination[1]]['weight'] += 1
else:
G.add_edge(combination[0], combination[1], weight=1)

degrees = {node: val for node, val in G.degree(weight='weight')}

print("\nΒαθμοί Κόμβων:")
for node, degree in sorted(degrees.items(), key=lambda item: item[1],
reverse=True):
print(f"Αριθμός {node}: {degree}")

frequent_combinations = [(u, v, d['weight']) for u, v, d in G.edges(data=True)
if d['weight'] > 1]

print("\nΣυχνοί Συνδυασμοί Κόμβων:")
for u, v, weight in sorted(frequent_combinations, key=lambda item: item[2],
reverse=True):
print(f"Κόμβοι {u} και {v} εμφανίζονται μαζί {weight} φορές")

frequency = Counter(all_numbers)
plt.figure(figsize=(14, 7))
plt.bar(frequency.keys(), frequency.values())
plt.title('Κατανομή Συχνότητας Εμφάνισης Κάθε Αριθμού')
plt.xlabel('Αριθμός')
plt.ylabel('Συχνότητα')
plt.show()

def inverse_weight(u, v, d):
return 1 / d['weight']

closeness_centrality = nx.closeness_centrality(G, distance=inverse_weight)
sorted_closeness = sorted(closeness_centrality.items(), key=lambda x: x[1],
reverse=True)
print("\nCloseness Centrality:")
for node, closeness in sorted_closeness:
print(f"Αριθμός {node}: {closeness:.4f}")

G = nx.Graph()

# Προσθήκη κόμβων και ακμών
for draw in data:
for combination in combinations(draw, 2):
if G.has_edge(combination[0], combination[1]):
G[combination[0]][combination[1]]['weight'] += 1
else:
G.add_edge(combination[0], combination[1], weight=1)

degrees = {node: val for node, val in G.degree(weight='weight')}

print("\nΒαθμοί Κόμβων:")
for node, degree in sorted(degrees.items(), key=lambda item: item[1],
reverse=True):
print(f"Αριθμός {node}: {degree}"
)

Αποτελέσματα:

Διακύμανση κάθε κλήρωσης: [455, 416, 507, 361, 505, 485, 629, 474, 482, 569]
Τυπική απόκλιση κάθε κλήρωσης: [21, 20, 23, 19, 22, 22, 25, 22, 22, 24]

Βαθμοί Κόμβων:
Αριθμός 11: 95
Αριθμός 17: 95
Αριθμός 23: 95
Αριθμός 24: 95
Αριθμός 30: 95
Αριθμός 51: 95
Αριθμός 74: 95
Αριθμός 21: 95
Αριθμός 29: 95
Αριθμός 34: 95
Αριθμός 13: 95
Αριθμός 60: 95
Αριθμός 9: 76
Αριθμός 14: 76
Αριθμός 56: 76
Αριθμός 38: 76
Αριθμός 80: 76
Αριθμός 55: 76
Αριθμός 76: 76
Αριθμός 8: 57
Αριθμός 32: 57
Αριθμός 35: 57
Αριθμός 59: 57
Αριθμός 64: 57
Αριθμός 66: 57
Αριθμός 28: 57
Αριθμός 37: 57
Αριθμός 41: 57
Αριθμός 44: 57
Αριθμός 63: 57
Αριθμός 71: 57
Αριθμός 77: 57
Αριθμός 2: 57
Αριθμός 50: 57
Αριθμός 68: 57
Αριθμός 1: 57
Αριθμός 26: 57
Αριθμός 10: 57
Αριθμός 7: 38
Αριθμός 15: 38
Αριθμός 33: 38
Αριθμός 52: 38
Αριθμός 20: 38
Αριθμός 36: 38
Αριθμός 72: 38
Αριθμός 27: 38
Αριθμός 39: 38
Αριθμός 43: 38
Αριθμός 75: 38
Αριθμός 3: 38
Αριθμός 12: 38
Αριθμός 19: 38
Αριθμός 31: 38
Αριθμός 58: 38
Αριθμός 73: 38
Αριθμός 47: 38
Αριθμός 48: 38
Αριθμός 61: 38

Συχνοί Συνδυασμοί Κόμβων:
Κόμβοι 9 και 17 εμφανίζονται μαζί 4 φορές
Κόμβοι
11 και 30 εμφανίζονται μαζί 4 φορές
Κόμβοι
17 και 13 εμφανίζονται μαζί 4 φορές
Κόμβοι
23 και 74 εμφανίζονται μαζί 4 φορές
Κόμβοι
24 και 51 εμφανίζονται μαζί 4 φορές
Κόμβοι
51 και 56 εμφανίζονται μαζί 4 φορές
Κόμβοι
21 και 34 εμφανίζονται μαζί 4 φορές
Κόμβοι
29 και 55 εμφανίζονται μαζί 4 φορές
Κόμβοι
34 και 60 εμφανίζονται μαζί 4 φορές
Κόμβοι
60 και 76 εμφανίζονται μαζί 4 φορές
Κόμβοι
8 και 30 εμφανίζονται μαζί 3 φορές
Κόμβοι
9 και 11 εμφανίζονται μαζί 3 φορές
Κόμβοι
9 και 14 εμφανίζονται μαζί 3 φορές
Κόμβοι
9 και 24 εμφανίζονται μαζί 3 φορές
Κόμβοι
9 και 13 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 17 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 23 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 24 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 51 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 64 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 74 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 2 εμφανίζονται μαζί 3 φορές
Κόμβοι
11 και 13 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 17 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 24 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 35 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 51 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 56 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 29 εμφανίζονται μαζί 3 φορές
Κόμβοι
14 και 55 εμφανίζονται μαζί 3 φορές
Κόμβοι
17 και 24 εμφανίζονται μαζί 3 φορές
Κόμβοι
17 και 30 εμφανίζονται μαζί 3 φορές
Κόμβοι
17 και 26 εμφανίζονται μαζί 3 φορές
Κόμβοι
23 και 51 εμφανίζονται μαζί 3 φορές
Κόμβοι
23 και 56 εμφανίζονται μαζί 3 φορές
Κόμβοι
23 και 50 εμφανίζονται μαζί 3 φορές
Κόμβοι
23 και 68 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 30 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 32 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 56 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 10 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 80 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 60 εμφανίζονται μαζί 3 φορές
Κόμβοι
24 και 76 εμφανίζονται μαζί 3 φορές
Κόμβοι
30 και 51 εμφανίζονται μαζί 3 φορές
Κόμβοι
30 και 64 εμφανίζονται μαζί 3 φορές
Κόμβοι
30 και 2 εμφανίζονται μαζί 3 φορές
Κόμβοι
30 και 13 εμφανίζονται μαζί 3 φορές
Κόμβοι
51 και 21 εμφανίζονται μαζί 3 φορές
Κόμβοι
51 και 34 εμφανίζονται μαζί 3 φορές
Κόμβοι
51 και 60 εμφανίζονται μαζί 3 φορές
Κόμβοι
51 και 76 εμφανίζονται μαζί 3 φορές
Κόμβοι
56 και 21 εμφανίζονται μαζί 3 φορές

Closeness Centrality:
Αριθμός 29: 1.3502
Αριθμός 11: 1.3354
Αριθμός 21: 1.3354
Αριθμός 74: 1.3292
Αριθμός 51: 1.3271
Αριθμός 34: 1.3168
Αριθμός 30: 1.3148
Αριθμός 60: 1.3148
Αριθμός 24: 1.3047
Αριθμός 13: 1.3028
Αριθμός 17: 1.3008
Αριθμός 23: 1.3008
Αριθμός 56: 1.2420
Αριθμός 55: 1.2294
Αριθμός 14: 1.2241
Αριθμός 76: 1.2068
Αριθμός 80: 1.2068
Αριθμός 9: 1.2017
Αριθμός 38: 1.1784
Αριθμός 2: 1.0826
Αριθμός 8: 1.0812
Αριθμός 66: 1.0771
Αριθμός 59: 1.0744
Αριθμός 10: 1.0690
Αριθμός 64: 1.0690
Αριθμός 37: 1.0663
Αριθμός 41: 1.0650
Αριθμός 35: 1.0650
Αριθμός 63: 1.0584
Αριθμός 26: 1.0571
Αριθμός 44: 1.0545
Αριθμός 71: 1.0467
Αριθμός 32: 1.0441
Αριθμός 1: 1.0428
Αριθμός 50: 1.0365
Αριθμός 68: 1.0365
Αριθμός 28: 1.0216
Αριθμός 77: 1.0024
Αριθμός 39: 0.9541
Αριθμός 75: 0.9541
Αριθμός 31: 0.9498
Αριθμός 58: 0.9414
Αριθμός 48: 0.9301
Αριθμός 61: 0.9301
Αριθμός 70: 0.9301
Αριθμός 27: 0.9281
Αριθμός 7: 0.9221
Αριθμός 12: 0.9112
Αριθμός 3: 0.8921
Αριθμός 19: 0.8921
Αριθμός 15: 0.8866
Αριθμός 43: 0.8838
Αριθμός 47: 0.8829
Αριθμός 36: 0.8820
Αριθμός 20: 0.8747
Αριθμός 72: 0.8747
Αριθμός 33: 0.8537
Αριθμός 52: 0.8537
Αριθμός 73: 0.8444
Αριθμός 4: 0.7024
Αριθμός 22: 0.6995
Αριθμός 42: 0.6995
Αριθμός 62: 0.6995
Αριθμός 69: 0.6995
Αριθμός 6: 0.6989
Αριθμός 45: 0.6989
Αριθμός 53: 0.6989
Αριθμός 5: 0.6966
Αριθμός 16: 0.6961
Αριθμός 49: 0.6949
Αριθμός 79: 0.6949
Αριθμός 40: 0.6838





Ανάλυση αποτελεσμάτων. Analysis of Results.

Ας αναλύσουμε τα αποτελέσματα και να εξαγάγουμε συμπεράσματα από την εξέταση των διαφόρων μετρήσεων που έχουμε υπολογίσει:
Let's analyze the results and draw conclusions from examining the various measurements we have calculated:
Διακύμανση και Τυπική Απόκλιση Κληρώσεων
  • Διακύμανση κάθε κλήρωσης: Variance and Standard Deviation of Draw: [455, 416, 507, 361, 505, 485, 629, 474, 482, 569]
  • Τυπική απόκλιση κάθε κλήρωσης: Standard Deviation of Each Draw:[21, 20, 23, 19, 22, 22, 25, 22, 22, 24]
  • Υψηλότερη διακύμανση και τυπική απόκλιση υποδηλώνουν μεγαλύτερη διασπορά των αριθμών. Higher variance and standard deviation indicate a greater dispersion of numbers.
  • Οι διαφορές μεταξύ των κληρώσεων είναι σχετικά μικρές, με τη διακύμανση να κυμαίνεται από 361 έως 629 και την τυπική απόκλιση από 19 έως 25. Αυτό δείχνει ότι οι αριθμοί είναι σχετικά ομοιόμορφα κατανεμημένοι στις κληρώσεις. The differences between the draws are relatively small, with variance ranging from 361 to 629 and standard deviation from 19 to 25. This indicates that the numbers are relatively evenly distributed across the draws.
Βαθμοί Κόμβων. Node Degrees
  • Αριθμοί με υψηλούς βαθμούς (95): [11, 17, 23, 24, 30, 51, 74, 21, 29, 34, 13, 60]. Αυτοί οι αριθμοί είναι πιο "δημοφιλείς" στις κληρώσεις και εμφανίζονται συχνά με άλλους αριθμούς. High Degree Numbers Numbers with high degrees (95) are: [11, 17, 23, 24, 30, 51, 74, 21, 29, 34, 13, 60]. These numbers are more "popular" in the draws and frequently appear with other numbers.
  • Αριθμοί με μεσαίους βαθμούς (57): Αυτοί οι αριθμοί εμφανίζονται συχνά, αλλά όχι τόσο όσο οι αριθμοί με βαθμούς 95.
  • Αριθμοί με χαμηλούς βαθμούς (38 και 19): Αυτοί οι αριθμοί είναι λιγότερο συχνοί.
Συχνοί Συνδυασμοί Κόμβων. Frequent Node Combinations
  • Κόμβοι 9 και 17, 11 και 30, 17 και 13, κλπ., εμφανίζονται μαζί 4 φορές. Αυτά τα ζεύγη αριθμών έχουν ισχυρές συνδέσεις μεταξύ τους.
Closeness Centrality
  • Υψηλή τιμή closeness centrality δείχνει ότι ο κόμβος είναι πιο κεντρικός στο δίκτυο και μπορεί να συνδεθεί γρήγορα με άλλους αριθμούς.
  • Αριθμοί με υψηλές τιμές (π.χ., 29, 11, 21, 74, 51) είναι πιο κεντρικοί στο δίκτυο και μπορούν να θεωρηθούν ως "κομβικοί" αριθμοί.
Συμπεράσματα
  1. Κατανομή και Συχνότητα: Οι αριθμοί στις κληρώσεις είναι σχετικά ομοιόμορφα κατανεμημένοι, με μερικούς αριθμούς να εμφανίζονται συχνότερα από άλλους. Οι αριθμοί με υψηλούς βαθμούς είναι πιο "δημοφιλείς" και εμφανίζονται συχνά με άλλους αριθμούς.
Distribution and Frequency
The numbers in the KINO draws are relatively evenly distributed, with some numbers appearing more frequently than others. Numbers with high degrees are more "popular" and often appear with other numbers.
  1. Συχνοί Συνδυασμοί: Υπάρχουν συγκεκριμένοι συνδυασμοί αριθμών που εμφανίζονται συχνά μαζί, υποδεικνύοντας πιθανά πρότυπα ή σχέσεις μεταξύ αυτών των αριθμών. Frequent Combinations Certain combinations of numbers appear frequently together, indicating possible patterns or relationships between these numbers.
  1. Κεντρικότητα: Οι αριθμοί με υψηλές τιμές closeness centrality είναι πιο κεντρικοί και μπορούν να συνδεθούν γρήγορα με άλλους αριθμούς στο δίκτυο. Αυτοί οι αριθμοί μπορούν να θεωρηθούν σημαντικοί για την κατανόηση της συνολικής δομής των κληρώσεων. Centrality: Closeness Centrality Numbers with high values of closeness centrality are more central and can quickly connect with other numbers in the network. These numbers can be considered important for understanding the overall structure of the draws.