Welcome, Guest. Please login or register.

Τελευταία μηνύματα

Σελίδες: 1 ... 3 4 [5] 6 7 ... 10
41
Καλησπέρα στην ομάδα,

δουλεύω εδώ και αρκετό καιρό πάνω σε ένα δικό μου σύστημα ανάλυσης ποδοσφαίρου, το οποίο δεν είναι tipster ούτε “πάρε αυτά και παίξε”, αλλά ένα εργαλείο που προσπαθεί να βρίσκει σωστές επιλογές μέσα από πολλαπλά layers.

🔹 Το σύστημα (FootballPro) βασίζεται σε συνδυασμό:

ELO & Form analysis
Poisson / goal models
Tactical DNA (στυλ ομάδων, ρυθμός, πίεση κτλ)
AI decision layer (MASTER) που παίρνει την τελική απόφαση
📊 Τι κάνει διαφορετικό

Δεν δίνει απλά σημεία.
Χτίζει δομημένα tickets με ρόλους:

🟡 MAIN → βασικό δελτίο (σταθερός κορμός)
🔵 ALT → εναλλακτικό (διαφορετική προσέγγιση)
🔴 AGGRESSIVE → πιο ρισκαδόρικο (μεγαλύτερη απόδοση)

Κάθε επιλογή έχει:

Tier (ELITE / STRONG / POSSIBLE)
Confidence
Context (π.χ. αν υπάρχει ρίσκο ισοπαλίας, fatigue, absences κτλ)
🎯 Στόχος του συστήματος

Δεν είναι να “πετυχαίνει τα πάντα”.

Είναι να:

φιλτράρει τον θόρυβο
αποφεύγει κακά bets
και να δίνει πιο structured επιλογές αντί για random δελτία

https://imgur.com/77G5OET
https://imgur.com/FK18SQg
https://imgur.com/iBrSPMk
https://imgur.com/Ueuit0m
Αυτες ειναι μερικες φωτο απο το προγραμμα. εχει ακομα πολλα περισσοτερα που θελει χρονο για να τα αναλυσω
42
ΚΑΤΑΛΟΓΟΣ ΣΥΣΤΗΜΑΤΩΝ / Απ: 7 ΔΙΠΛΕΣ 1Χ ΓΙΑ 100% 7ΑΔΑ ΜΕ 16 ΣΤΗΛΕΣ, ΚΟΣΤΟΣ 4 ΕΥΡΩ!!!
« Τελευταίο μήνυμα από javistas στις Μαρτίου 31, 2026, 11:26:πμ »
Η διπλή ευκαιρία 1Χ, μετά τη σύμπτυξη, είναι νέο σημείο, διαφορετικό από τους άσσους και τα Χ.
Οπότε δε μπορεί να συνδυαστεί με άλλες στήλες και να ξαναγίνει σύμπτυξη.
Αν δεχτείς ότι γίνεται, τότε το δελτίο 1 που δημιουργείς, στη φωτο, μπορεί να συνδυαστεί με τη στήλη 1, από τις 16 που παρέθεσες και να ξαναγίνει 1 στήλη.
Η διπλή ευκαιρία, δεν είναι παρά μεταμόρφωση της διπλής 1Χ σε διπλή ευκαιρία, για λιγότερα σημεία στο δελτίο.
Προσωπικά είμαι αντίθετος σε αυτό, εκτός και αν θεωρώ ότι ο άσσος έχει τις ίδιες πιθανότητες με το Χ.
Αν ας πούμε ο άσσος έχει απόδοση 3,00 και το Χ επίσης 3,00,  τότε μπορείς να το παίξεις με διπλή ευκαιρία αλλά ΜΟΝΟ στη σύμπτυξη.
Στη διάρκεια της δημιουργίας του συστήματος, ουσιαστικά με τις βασικές στήλες και τους άλλους όρους, εσύ κατευθύνεις το πού θα κινηθεί το δελτίο και ποιά θα είναι η εμφάνιση σημείων.
43
ΚΑΤΑΛΟΓΟΣ ΣΥΣΤΗΜΑΤΩΝ / Απ: 7 ΔΙΠΛΕΣ 1Χ ΓΙΑ 100% 7ΑΔΑ ΜΕ 16 ΣΤΗΛΕΣ, ΚΟΣΤΟΣ 4 ΕΥΡΩ!!!
« Τελευταίο μήνυμα από Thomas στις Μαρτίου 30, 2026, 18:43:μμ »
44
ΚΑΤΑΛΟΓΟΣ ΣΥΣΤΗΜΑΤΩΝ / Απ: 7 ΔΙΠΛΕΣ 1Χ ΓΙΑ 100% 7ΑΔΑ ΜΕ 16 ΣΤΗΛΕΣ, ΚΟΣΤΟΣ 4 ΕΥΡΩ!!!
« Τελευταίο μήνυμα από javistas στις Μαρτίου 28, 2026, 11:04:πμ »
Με το μάτι που το βλέπω, οι συνδυασμοί στηλών που λες, δε γίνονται.
45
Γενικά για το στοίχημα / Απ: Κατασκευαστικό πρόγραμμα - Διόφαντος
« Τελευταίο μήνυμα από javistas στις Μαρτίου 28, 2026, 10:54:πμ »
Έγινε και ένα ολικό lifting στις Προβλέψεις με poisson.
Ταχύτερο κατέβασμα, αποθήκευση προβλέψεων σε excel, ενημέρωση για ανενεργά πρωταθλήματα.

poisson" border="0

46
ΦΙΛΛΑΣ LIVE / Απ: ΧΡΟΝΙΑ ΠΟΛΛΑ ΓΙΑ ΤΗΝ 25Η ΜΑΡΤΙΟΥ ΤΟΥ 1821...!!!
« Τελευταίο μήνυμα από stevakos στις Μαρτίου 25, 2026, 14:50:μμ »
Χρόνια πολλά κ.Φιλλα με υγειά!
47
ΦΙΛΛΑΣ LIVE / ΧΡΟΝΙΑ ΠΟΛΛΑ ΓΙΑ ΤΗΝ 25Η ΜΑΡΤΙΟΥ ΤΟΥ 1821...!!!
« Τελευταίο μήνυμα από ΦΙΛΛΑΣ στις Μαρτίου 25, 2026, 13:08:μμ »

ΧΡΟΝΙΑ ΠΟΛΛΑ ΓΙΑ ΤΗΝ 25Η ΜΑΡΤΙΟΥ ΤΟΥ 1821...!!!
48
ΚΑΤΑΛΟΓΟΣ ΣΥΣΤΗΜΑΤΩΝ / Απ: 7 ΔΙΠΛΕΣ 1Χ ΓΙΑ 100% 7ΑΔΑ ΜΕ 16 ΣΤΗΛΕΣ, ΚΟΣΤΟΣ 4 ΕΥΡΩ!!!
« Τελευταίο μήνυμα από Thomas στις Μαρτίου 23, 2026, 23:05:μμ »
H 4η και η 8η στηλη με την προσθήκη μιας διπλης ευκαιρίας γινεται μια στηλη. Στις στήλες 10 και 14 με την προσθηκη παλι διπλης ευκαιριας γινεται μια στηλη και μειωνονται συνολικά οι στήλες στις 14. Και εκεί σταματάει δεν πέφτει παρακαπω πχ 13. Με 14 στήλες καλύπτεις και τις 42.

Τσεκαρισε και το σκριπτ και μου λες

from itertools import product
from ortools.sat.python import cp_model


RAW_COLUMNS = [
    ["X","1","1","X","1","X","1"],
    ["X","1","X","1","X","X","1"],
    ["1","1X","X","1","X","X","1"],
    ["1X","1","X","X","1","X","1"],
    ["1X","X","1","1","X","X","1"],
    ["1X","X","1","X","1","X","1"],
    ["X","1","1","X","1","1X","X"],
    ["X","1","X","1","1","X","1X"],
    ["X","1","X","1","X","1","1X"],
    ["X","X","1","1","X","1","1X"],
    ["1","1X","X","1","1","X","1X"],
    ["1","1X","X","1","X","1","1X"],
    ["1X","1","X","X","1","1X","X"],
    ["1","X","1","1X","X","1","1X"],
    ["1X","X","1","X","1","1X","X"],
    ["X","1X","1","X","X","1","1X"],
]

MATCHES = 7
TOKENS = ["1", "X", "1X"]



def expand(token: str) -> set[str]:
    if token == "1":
        return {"1"}
    if token == "X":
        return {"X"}
    if token == "1X":
        return {"1", "X"}
    raise ValueError(f"Bad token: {token}")


def violates(seq: tuple[str, ...] | list[str]) -> bool:
   
    for i in range(len(seq) - 2):
        if expand(seq) & expand(seq[i + 1]) & expand(seq[i + 2]):
            return True
    return False


def covers(col: tuple[str, ...] | list[str], outcome: tuple[str, ...]) -> bool:
    return all(outcome in expand(col) for i in range(MATCHES))


def normalize_columns(cols: list[list[str]]) -> list[tuple[str, ...]]:
    out = []
    for c in cols:
        if len(c) != MATCHES:
            raise ValueError(f"Column has length {len(c)} instead of {MATCHES}: {c}")
        for t in c:
            if t not in TOKENS:
                raise ValueError(f"Invalid token {t} in column {c}")
        out.append(tuple(c))
    return out


def all_binary_outcomes() -> list[tuple[str, ...]]:
    return list(product(["1", "X"], repeat=MATCHES))


def covered_outcomes_by_system(cols: list[tuple[str, ...]], outcomes: list[tuple[str, ...]]) -> list[tuple[str, ...]]:
    target = []
    for o in outcomes:
        if any(covers(c, o) for c in cols):
            target.append(o)
    return target


def generate_all_valid_columns() -> list[tuple[str, ...]]:
    cols = []
    for c in product(TOKENS, repeat=MATCHES):
        if not violates(c):
            cols.append(c)
    return cols



def solve_min_cover_exact(candidate_cols: list[tuple[str, ...]], target_outcomes: list[tuple[str, ...]]):
   
    model = cp_model.CpModel()
    n = len(candidate_cols)

    x = [model.NewBoolVar(f"x{i}") for i in range(n)]

    coverers = []
    for o in target_outcomes:
        idxs = [i for i, c in enumerate(candidate_cols) if covers(c, o)]
        if not idxs:
            raise RuntimeError(f"No candidate column covers target outcome {o}")
        coverers.append(idxs)
        model.Add(sum(x for i in idxs) >= 1)

    model.Minimize(sum(x))

    solver = cp_model.CpSolver()
    solver.parameters.max_time_in_seconds = 300
    solver.parameters.num_search_workers = 8

    status = solver.Solve(model)
    if status not in (cp_model.OPTIMAL, cp_model.FEASIBLE):
        raise RuntimeError("Solver failed to find a feasible solution.")

    selected_idx = [i for i in range(n) if solver.Value(x) == 1]
    selected_cols = [candidate_cols for i in selected_idx]

    return {
        "status": status,
        "selected_idx": selected_idx,
        "selected_cols": selected_cols,
        "objective": len(selected_cols),
    }


def prove_no_solution_with_k_minus_1(candidate_cols: list[tuple[str, ...]], target_outcomes: list[tuple[str, ...]], k: int) -> bool:
   
    model = cp_model.CpModel()
    n = len(candidate_cols)
    x = [model.NewBoolVar(f"x{i}") for i in range(n)]

    for o in target_outcomes:
        idxs = [i for i, c in enumerate(candidate_cols) if covers(c, o)]
        if not idxs:
            raise RuntimeError(f"No candidate column covers target outcome {o}")
        model.Add(sum(x for i in idxs) >= 1)

    model.Add(sum(x) <= k - 1)

    solver = cp_model.CpSolver()
    solver.parameters.max_time_in_seconds = 300
    solver.parameters.num_search_workers = 8

    status = solver.Solve(model)
    return status == cp_model.INFEASIBLE

def verify_solution_strict(selected_cols: list[tuple[str, ...]], target_outcomes: list[tuple[str, ...]]) -> None:
    # 1) όλες valid
    for i, c in enumerate(selected_cols, 1):
        if violates(c):
            raise AssertionError(f"Selected column {i} is INVALID: {c}")

    # 2) όλα τα target outcomes καλύπτονται
    missed = [o for o in target_outcomes if not any(covers(c, o) for c in selected_cols)]
    if missed:
        raise AssertionError(f"Solution misses target outcomes: {missed}")

    # 3) reporting extra coverage
    all_outcomes = all_binary_outcomes()
    covered_now = [o for o in all_outcomes if any(covers(c, o) for c in selected_cols)]
    print(f"Verification OK: selected system covers {len(covered_now)} / {len(all_outcomes)} total outcomes.")

def print_columns_pretty(cols, title="SYSTEM"):
    print(f"\n=== {title} ===\n")

    n_cols = len(cols)
    n_rows = len(cols[0])

    def fmt(x):
        if x == "1X":
            return "Δ"
        return x

    header = "Αγ | " + " ".join(f"{i+1:>2}" for i in range(n_cols))
    print(header)
    print("-" * len(header))

    for r in range(n_rows):
        row = f"{r+1:>2} | "
        for c in range(n_cols):
            val = fmt(cols[c][r])
            row += f" {val:^2} "
        print(row)

    print("\nLegend: Δ = 1X\n")

def main():
    raw_cols = normalize_columns(RAW_COLUMNS)
    outcomes = all_binary_outcomes()

    print("=== INPUT VALIDATION ===")
    for i, c in enumerate(raw_cols, 1):
        print(f"col {i:02d} valid: {not violates(c)}")

    target_outcomes = covered_outcomes_by_system(raw_cols, outcomes)
    print("\n=== CURRENT SYSTEM COVERAGE ===")
    print(f"current covered: {len(target_outcomes)} / {len(outcomes)}")

    valid_candidates = generate_all_valid_columns()
    print("\n=== CANDIDATE SPACE ===")
    print(f"all valid candidate columns: {len(valid_candidates)}")

    res = solve_min_cover_exact(valid_candidates, target_outcomes)
    k = res["objective"]
    selected_cols = res["selected_cols"]

    print("\n=== EXACT MINIMUM RESULT ===")
    print(f"minimum columns needed: {k}")

    print("\nSelected columns:")
    for i, c in enumerate(selected_cols, 1):
        print(f"{i:02d}: {' '.join(c)}")
       
    print_columns_pretty(selected_cols, "FINAL SOLUTION")

    print("\n=== STRICT VERIFICATION ===")
    verify_solution_strict(selected_cols, target_outcomes)

    print("\n=== MINIMALITY PROOF ===")
    proof = prove_no_solution_with_k_minus_1(valid_candidates, target_outcomes, k)
    print(f"No solution exists with {k-1} columns: {proof}")

    if not proof:
        raise AssertionError(
            "WARNING: Solver found a solution, but k-1 infeasibility proof failed. "
            "Do not publish this result."
        )

    print("\nFINAL STATUS: SAFE TO TRUST")
    print(f"Exact minimum = {k}")
    print("The printed columns are mathematically valid for the stated target coverage.")


if __name__ == "__main__":
    main()
49
Συστήματα και στήλες / Απ: νεο λογισμικο για το στοιχημα
« Τελευταίο μήνυμα από ΔΗΜΟΚΡΙΤΟΣ στις Μαρτίου 23, 2026, 21:30:μμ »
Μπράβο..
Ομαδικά ο κάθε ένας άμα βάλει τον δικό του τρόπο σκέψης μπορούν ν γίνουν πολλά
50
Συστήματα και στήλες / νεο λογισμικο για το στοιχημα
« Τελευταίο μήνυμα από Lefteris69 στις Μαρτίου 22, 2026, 22:47:μμ »
χαιρετω ολους τους φιλους του στοιχηματος. ειμαι στο 90% ενος λογισμικου για το στοιχημα. νομιζω οτι θα ειναι μεγαλο βοηθημα σε ολους.
Σελίδες: 1 ... 3 4 [5] 6 7 ... 10