nemocode Δημοσ. 29 Μαρτίου 2023 Share Δημοσ. 29 Μαρτίου 2023 Ο αλγόριθμος Bellman-Ford εφαρμόζεται παρακάτω για να προσδιοριστεί εάν υπάρχει ή όχι αρνητικός κύκλος στο δίκτυο. def negative_cycle(n, graph): # dist = [float('inf')] * (n+1) (This code fails) dist = [1001] * (n+1) # (this code doesn't) dist[1] = 0 for i in range(n): for st, end, cost in graph: print(dist) if dist[end] > dist[st] + cost: dist[end] = dist[st] + cost if i == n - 1: return 1 return 0 if __name__ == '__main__': n_vertices, n_edges = map(int, input().split()) edges = [] for i in range(n_edges): a, b, w = map(int, input().split()) edges.append((a, b, w)) print(negative_cycle(n_vertices, edges)) Αυτό το έγγραφο με δίδαξε ότι ο αλγόριθμος δεν χρειάζεται να έχει την έννοια του "Δεν έχω ξαναβρεθεί εδώ", κάτι που θα έκανε συναρπαστική την προετοιμασία με float('inf') σε άλλους αλγόριθμους. Προφανώς δεν καταλαβαίνω τι σημαίνει. Επίσης, αν και δεν έχω πρόσβαση στις δοκιμαστικές περιπτώσεις, υπάρχει μια ακραία περίπτωση που προκαλεί την αποτυχία του κώδικα όταν ο πίνακας dist αρχικοποιείται με float('inf'). Γιατί; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
flienky Δημοσ. 29 Μαρτίου 2023 Share Δημοσ. 29 Μαρτίου 2023 (επεξεργασμένο) με μια πρώτη ματιά, το λάθος ειναι εκει που κανεις dist[end] > dist[st] + cost στην python δεν ισχυει οτι float("inf") < float("inf") + 1 δηλαδη, δεν μπορεις να συγκρίνεις δύο αριθμούς που ειναι και οι 2 άπειροι.. Ούτε στα μαθηματικα ούτε στην python Επεξ/σία 29 Μαρτίου 2023 από flienky Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
The_Mentor Δημοσ. 31 Μαρτίου 2023 Share Δημοσ. 31 Μαρτίου 2023 Θυμάμαι έναν καθηγητή μου στο πανεπιστήμιο, πριν πολλά χρόνια, να αναλύει την Θεωρία των Αριθμών και να λέει πως "άπειρες πινέζες καταλαμβάνουν λιγότερο χώρο από άπειρους ελέφαντες". Στη βάση αυτής της θεωρίας νομίζω πως μαθηματικά η έκφραση (float("inf") < float("inf") + 1) είναι σωστή. Τώρα, τι γνώριζαν από Θεωρία των Αριθμών οι developers όταν ανάπτυξαν την Numpy και την math library της Python, είναι άλλη ιστορία. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Επισκέπτης Δημοσ. 31 Μαρτίου 2023 Share Δημοσ. 31 Μαρτίου 2023 4 ώρες πριν, The_Mentor είπε "άπειρες πινέζες καταλαμβάνουν λιγότερο χώρο από άπειρους ελέφαντες" ενδιαφέρον, δεν μένει παρά να το αποδείξει Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
The_Mentor Δημοσ. 1 Απριλίου 2023 Share Δημοσ. 1 Απριλίου 2023 Έχει είδη αποδειχτεί. Ο πατέρας της θεωρίας Συνόλων (Set Theory), Georg Kantor απέδειξε το 1870 πως "some infinities are larger than other infinities". Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Επισκέπτης Δημοσ. 1 Απριλίου 2023 Share Δημοσ. 1 Απριλίου 2023 Ο Καντορ είπε ακριβώς το αντίθετο από αυτό που προσπαθείσε ο καθηγητής να εκφράσει, το ίδιο θέμα έχει απασχολήσει τον μαθηματικό κόσμο πολλές φορές και σε πολλές μορφές όπως "το μπιζέλι και ο ήλιος" Banach-Tarski. Επίσης το inf +1 είναι λογικό βασικό λάθος ότι και να προσθέσεις στο άπειρο παραμένει απειρο δεν γίνεται άπειρο συν κάτι. Φιλικά Αντώνης. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα