• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
September 17, 2025, 20:21:01 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
September 17, 2025, 20:21:01 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by ilazarit
[Today at 19:59:41]

Ποιον πάροχο να επιλέξω?
by Katarameno
[Today at 19:16:50]

Ποιο τραγούδι ακούσατε 5+...
by Katarameno
[Today at 17:16:08]

[Τηλεπικοινωνιακά Συστήμα...
by chatzikys
[Today at 16:07:13]

Πρόγραμμα Σπουδών Ακαδημα...
by sg31a
[Today at 11:35:11]

Εργασία στην METLEN, Γνώμ...
by ChrisKaloy-Kakou
[Today at 00:51:50]

Συμβάσεις και εταιρείες
by Nikos_313
[September 16, 2025, 23:02:05 pm]

[Στοχαστικά Σήματα και Δι...
by Nikos_313
[September 16, 2025, 22:54:08 pm]

Μέλος του μήνα - Ιούλιος ...
by Katarameno
[September 16, 2025, 19:37:40 pm]

Ευρωμπάσκετ 2025
by Katarameno
[September 16, 2025, 02:46:49 am]

Πότε θα βγει το μάθημα; -...
by Katarameno
[September 16, 2025, 01:08:33 am]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[September 15, 2025, 22:10:40 pm]

Users <=22 OR >=222
by Mr Watson
[September 14, 2025, 19:36:18 pm]

[ΑΡΑΓΕ Attack] ΝΑ ΕΠΙΣΤΡΕ...
by Aris★
[September 14, 2025, 14:31:33 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[September 14, 2025, 13:29:36 pm]

Των συνειρμών το παίγνιο....
by chatzikys
[September 14, 2025, 13:20:18 pm]

Καλός βαθμός στην σχολή
by Σουλης
[September 14, 2025, 13:00:41 pm]

Τα παράσιτα ανάμεσά μας
by okan
[September 14, 2025, 03:20:17 am]

Αυνανισμος: Κινδυνοι, προ...
by Nikolaras
[September 13, 2025, 20:57:09 pm]

[Λογική Σχεδίαση] Γενικές...
by mdimitrig
[September 13, 2025, 17:25:47 pm]
Στατιστικά
Members
Total Members: 10012
Latest: MichelRiemann
Stats
Total Posts: 1428136
Total Topics: 31767
Online Today: 424
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 44
Guests: 192
Total: 236
Κατερίνα
nikolihss
TahmKench
ptranis
Deviate
Anita
AristeidisM
Nianaro
acolak
Themistoklis
chaniotism
johnliko333388
stavros0201
emilykazani
vpoug
fischer03
bsp
ggalamat
thomasdt
le papillon
Saint_GR
examino
Aria10
george14
thomaitheodosiadou
Oracle
andripappa
papatmaria
chondrosp
Gkekas Aggelos
m.renia
George_RT
victoria
RivenT
giorgosss03
Markella
Petross
RogueSoftware
ilazarit
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ωρολόγιο Πρόγραμμα Χειμερινού Εξαμήνου 2025-2026
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14  (Read 1463 times)
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
[C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« on: December 13, 2013, 23:55:26 pm »

                                                                                                           
Εργασία G

Ένα απλό νευρωνικό δίκτυο αποτελείται από έναν αριθμό νευρώνων οι οποίοι συνδέονται μεταξύ τους μέσω συνάψεων κάθε μια από τις οποίες έχει ένα ορισμένο βάρος. Για κάθε νευρώνα ορίζεται μία κατάσταση η οποία μπορεί να έχει τιμή 1 ή -1. Για να υπολογισθεί η τιμή που θα έχει η κατάσταση του νευρώνα αθροίζονται τα γινόμενα των τιμών της κατάστασης των νευρώνων που συνδέονται με αυτόν επί το βάρος των αντίστοιχων συνάψεων και αν το άθροισμα αυτό είναι μεγαλύτερο από ένα κατώφλι Θ, που ορίζεται για τον νευρώνα, η τιμή της κατάστασής του ορίζεται ως 1, διαφορετικά η κατάσταση ορίζεται ως -1. Το δίκτυο λειτουργεί θέτοντας μια αρχική τιμή για την κατάσταση του κάθε νευρώνα και επαναπροσδιορίζοντας την κατάσταση των νευρώνων με την πιο πάνω διαδικασία. Ο επαναπροσδιορισμός επαναλαμβάνεται έως ότου να μην προκύπτει αλλαγή της κατάστασης για κανέναν από τους νευρώνες του δικτύου. Στην περίπτωση αυτή λέμε ότι το δίκτυο βρίσκεται σε σταθερή κατάσταση (stable state).
Να γραφεί το λογισμικό στο οποίο να ορίζεται η κλάση neuron η οποία υλοποιεί ένα νευρώνα. Για τα αντικείμενα στον τύπο της κλάσης να οριστεί ένας extractor, επικαλύπτοντας τον τελεστή >, με την κλήση του οποίου να διαβάζονται οι ταυτότητες των νευρώνων που συνδέονται με τον νευρώνα που υλοποιεί το αντικείμενο και τα βάρη των αντίστοιχων συνάψεων. Ο extractor να διαβάζει  ακόμη το κατώφλι ενεργοποίησης του και μια αρχική τιμή για την κατάστασή του.
Ως μέλος της κλάσης neuron να οριστεί ακόμη μια επικάλυψη του τελεστή new η οποία να δεσμεύει την αναγκαία μνήμη για την καταχώρηση ενός πίνακα από αντικείμενα στον τύπο της κλάσης. Για κάθε αντικείμενο του πίνακα η επικάλυψη να ορίζει, ως ταυτότητα, τη θέση του στον πίνακα και να διαβάζει τον αριθμό των νευρώνων που συνδέονται με τον νευρώνα που υλοποιεί το αντικείμενο. Η επικάλυψη να δεσμεύει την απαραίτητη μνήμη για την καταχώρηση των ταυτοτήτων των νευρώνων που συνδέονται με τον νευρώνα που υλοποιεί το αντικείμενο καθώς και για την καταχώρηση των βαρών των αντίστοιχων συνάψεων. Τέλος η επικάλυψη να χρησιμοποιεί τον extractor για να εισάγει τα αντίστοιχα στοιχεία για κάθε ένα από τα αντικείμενα του πίνακα.
Στο λογισμικό να οριστεί ακόμη η κλάση network η οποία υλοποιεί ένα νευρωνικό δίκτυο. Ως μέλος της κλάσης να οριστεί μια επικάλυψη του τελεστή new η οποία να δεσμεύει την απαραίτητη μνήμη για την καταχώρηση ενός αντικειμένου στον τύπο της κλάσης. Η επικάλυψη να διαβάζει τον αριθμό των νευρώνων που αποτελούν το δίκτυο και να δεσμεύει, χρησιμοποιώντας την επικάλυψη του τελεστή new που ορίστηκε για τα αντικείμενα τύπου neuron, την απαραίτητη μνήμη για την καταχώρηση των στοιχείων των νευρώνων του δικτύου. Για την κλάση να οριστεί ακόμη ένας insertor, επικαλύπτοντας τον τελεστή <, με την εκτέλεση του οποίου να εκτυπώνεται η κατάσταση του δικτύου (stable ή unstable) και η κατάσταση των νευρώνων που το αποτελούν.
Τέλος στην ίδια κλάση να οριστεί και η συνάρτηση calk_state() η οποία να υλοποιεί τη λειτουργία του δικτύου. Η συνάρτηση να επαναπροσδιορίζει την κατάσταση των νευρώνων του δικτύου έως ότου επιτευχθεί ένα stable state. Επειδή υπάρχει περίπτωση το δίκτυο να μη συγκλίνει σε stable state η συνάρτηση  να διαβάζεί έναν μέγιστο αριθμό επαναλήψεων για τον οποίο θα επαναπροσδιορισθούν οι καταστάσεις των νευρώνων του δικτύου. Αν εξαντληθεί ο αριθμός αυτός των επαναπροσδιορισμών και δεν έχει επιτευχθεί ένα stable state η κατάσταση του δικτύου να χαρακτηρίζεται ως unstable.
Η συνάρτηση main του προγράμματος να δεσμεύει δυναμικά μνήμη για ένα αντικείμενο τύπου network και αφού καλέσει τη συνάρτηση calk_state() για το αντικείμενο αυτό να χρησιμοποιεί τον insertor που ορίστηκε στην κλάση network για να εκτυπώσει την κατάσταση του δικτύου.
Το λογισμικό να περιέχει τις κατάλληλες επικαλύψεις του τελεστή delete για την αποδέσμευση της μνήμης που έχει δεσμευτεί δυναμικά.
 
Βοηθητικές παρατηρήσεις:
Υπάρχουν διαφοροποιήσεις μεταξύ των μεταγλωττιστών όταν η επικάλυψη του τελεστή new καλείται να δεσμεύσει μνήμη για πίνακες. Στην περίπτωση αυτή ορισμένοι μεταγλωττιστές απαιτούν το πρότυπο της συνάρτησης επικάλυψης να είναι
void *operator new[ ](size_t size)
ενώ για επικαλύψεις οι οποίες θα δεσμεύουν μνήμη για ένα μόνο στοιχείο το πρότυπο είναι
void *operator new(size_t size)
Στην περίπτωση που δεν οριστεί συνάρτηση επικάλυψης με βάση το πρώτο πρότυπο και χρησιμοποιηθεί ο τελεστής new για δέσμευση πίνακα εκτελείται η έκδοση που ορίζεται από τον μεταγλωττιστή. Άλλοι μεταγλωττιστές και στις δύο περιπτώσεις, δέχονται το δεύτερο πρότυπο.

Logged
Mr K
Guest
Re: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« Reply #1 on: December 19, 2013, 11:10:37 am »

Τι χρειάζεται για τη νέα εργασία;
Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« Reply #2 on: December 19, 2013, 12:54:40 pm »

Χωρις να την εχω διαβασει θα πω insertors κ extractors
Logged
Mr K
Guest
Re: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« Reply #3 on: December 19, 2013, 13:04:28 pm »

ναι και new delete
Logged
Λήσταρχος Γιαγκούλας
Θαμώνας
****
Gender: Male
Posts: 385



View Profile
Re: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« Reply #4 on: December 30, 2013, 20:08:55 pm »

Έχει κανένας άλλος θέμα με τον extractor όταν χρησιμοποιεί το       "    >   "
Χρησιμοποιώ codeblocks και βγάζει πέντε εκατομμύρια σφάλματα....
μόλις βάζω " >>  " όλα καλά και ωραία...

istream &operator>(istream &s,neuron &b)        Angry
istream &operator>>(istream &s,neuron &b)       Smiley


Edit:FIXED
« Last Edit: December 30, 2013, 21:05:08 pm by GEOBIS13 » Logged
giorgos4934
Ανερχόμενος/Ανερχόμενη
**
Posts: 60


View Profile
Re: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« Reply #5 on: January 04, 2014, 17:20:03 pm »

αυτο το ειχα απορια..στην εκφωνηση λεει επικαλυψη του <  αλλα δεν βλεπω στις σημειωσεις πουθενα να κανει επικαλυψη του < παρα μονο του << και αντιστοιχα >>..εννοει κατι αλλο ο ποιητης ή απλα μας δοκιμαζει να δει ποσες λιγοτερες πληροφοριες μπορει να δωσει σε μια εκφωνηση?
Logged
giorgos4934
Ανερχόμενος/Ανερχόμενη
**
Posts: 60


View Profile
Re: [C++] Άσκηση G - 2013/2014 - Προθεσμία 12/1/14
« Reply #6 on: January 04, 2014, 18:41:32 pm »

επισης οταν εχω τον πρωτο νευρωνα και διαβαζω οτι συνδεεται με τον 3 και το βαρος συνδεσης ειναι πχ 4.5 οταν παω στον 3 νευρωνα πρεπει να τον βαλω απο την αρχη συνδεδεμενο με τον πρωτο και να βαλω το ιδιο βαρος  συνδεσης?  
« Last Edit: January 05, 2014, 16:42:19 pm by giorgos4934 » Logged
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...