• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 00:30:37 am

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.
June 18, 2025, 00:30:37 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:22:48]

[Μεταφορά και Διανομή ΗΕ]...
by Nikos_313
[Today at 00:10:29]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426702
Total Topics: 31710
Online Today: 205
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 38
Guests: 151
Total: 189
gprok
Nikos_313
eli_k
micelethe
Potest
fkaravi
christina02
cchristodoulou
Rithan
giorgosss03
elctricalbill
filkilkis
gtapalis
le papillon
Karkarias
abunchofcells
ElectroShock
Captain
sofoklhs_pizza
Akis Papanikolaou
chris_p30
engineer2030
chriskazakos
bit11
rafail zisiadis
Βασιλης
κοτζακ
Nianaro
soktas
Aftzidou
kriton
gkarapip
maestros
Εμφάνιση

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

Νέα!
Επίσημη ενημέρωση για Αντιστοίχηση Μαθημάτων ΝΠΣ με ΠΠΣ και η συζήτηση στο forum.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] 8η Εργασία 2009
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [C++] 8η Εργασία 2009  (Read 1842 times)
ggpyr
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1247



View Profile WWW
[C++] 8η Εργασία 2009
« on: December 11, 2009, 19:35:42 pm »

Εργασία H

Ένα απλό νευρωνικό δίκτυο αποτελείται από έναν αριθμό νευρώνων οι οποίοι συνδέονται μεταξύ τους μέσω συνάψεων κάθε μια από τις οποίες έχει ένα ορισμένο βάρος. Για κάθε νευρώνα ορίζεται μία κατάσταση η οποία μπορεί να έχει τιμή 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

provataki
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3834



View Profile
Re: [C++] 8η Εργασία 2009
« Reply #1 on: December 11, 2009, 22:15:34 pm »

 Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked Grin Grin Cheesy Cheesy Cheesy Cheesy
Logged

bay bay timy.
ak1s
Ανερχόμενος/Ανερχόμενη
**
Posts: 70


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #2 on: December 17, 2009, 16:49:16 pm »

ama kapoios evgale kapoio noima apo autin tn ekfwnisi as mas
diafwtisei ligo..
Logged
billakos
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2270



View Profile
Re: [C++] 8η Εργασία 2009
« Reply #3 on: December 17, 2009, 16:51:57 pm »

ak1s  αν δεν εχεις προβλημα με τον υπολογιστη σου γραφε στα ελληνικα για να ειναι πιο ευκολη η αναγνωση των μηνυματων σου απο τα υπολοιπα μελη του φορουμ...  Wink
Logged

για σημειώσεις μαθημάτων      http://users.auth.gr/valexiad      http://www.thmmy.gr/smf/index.php?topic=34410.0 

νυστααα λεμε...
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #4 on: December 17, 2009, 16:55:41 pm »

Quote from: ak1s on December 17, 2009, 16:49:16 pm
ama kapoios evgale kapoio noima apo autin tn ekfwnisi as mas
diafwtisei ligo..

νομιζω καταλαβα τι λεει αλλα δεν μπορω να το εξηγησω ποιο απλα απ'οτι το λεει ο κορτεσης Tongue

επισης να σημειωσω οτι απο χτες το πρωι επεξεργαζομαι την εκφωνηση για να την καταλαβω Tongue
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
ak1s
Ανερχόμενος/Ανερχόμενη
**
Posts: 70


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #5 on: December 17, 2009, 18:15:43 pm »

για να γινω πιο συγκεκριμενος μπορει να σασ φανει κ λιγο ηλιθιο αλλα με

ποιο τροπο ο extractor θα διαβαζει τισ ταυτοτητεσ των νευρωνων

κ τα βαρη των συναψεων που συνδεονται με τον

νευρωνα του αντικειμενου...δεν πρεπει να δημιουργησουμε πινακα κ στον  extractor?
Logged
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #6 on: December 17, 2009, 18:34:20 pm »

Δεν εχω τελειωσει την εργασια οποτε δεν ξερω αν δουλευει αλλα:


Αφου πρωτα τρεχει η επικαλυψη του new και μετα ο extractor, εφτιαξα πινακες (για την ταυτοτητα και το βαρος) για τους οποιους δεσμευω μνημη στην new και τους "γεμιζω" στον extroctor...ελπιζω να καταλαβαινεις Wink
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
Anastacia
Θαμώνας
****
Posts: 331


λευτεριά στους Μουργόλυκους


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #7 on: December 19, 2009, 19:50:30 pm »

Γιατί, γαμώ το χριστό, μου βγάζει λάθη που σχετίζονται με το εξής:
" In static member function `static void* neuron::operator new [](size_t)': " ?

ΧΩΡΙΣ ΝΑ ΤΗΝ ΕΧΩ ΟΡΙΣΕΙ STATIC!

Κ μου λέει ότι γι' αυτό δεν μπορώ να επεξεργαστώ μη-static μεταβλητές.

εδιτ: το έλυσα το πρόβλημα (βέβαια ακόμα δε ξέρω γιατί την είπε static τη new ο compiler).
« Last Edit: December 19, 2009, 20:23:00 pm by Anastacia » Logged

αυτόνομη παρέμβαση στους ηλ-μηχ: http://aphm.espivblogs.net/
συνέλευση για το κόστος φοίτησης: http://synkosfoi.espivblogs.net/

δυστοπία: http://dystopiarap.wordpress.com/
beefheart
Ανερχόμενος/Ανερχόμενη
**
Gender: Female
Posts: 79


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #8 on: December 19, 2009, 22:44:21 pm »

<Για κάθε αντικείμενο του πίνακα η επικάλυψη να ορίζει ως ταυτότητα τη θέση του στον πίνακα>
τι θελει να πει ο ποιητησ?οεο?
<Τέλος η επικάλυψη να χρησιμοποιεί τον extractor για να εισάγει τα αντίστοιχα στοιχεία για κάθε ένα από τα αντικείμενα του πίνακα>
και εδω τι θελει να πει ο ποιητης παλι?

Quote from: Anastacia on December 19, 2009, 19:50:30 pm
εδιτ: το έλυσα το πρόβλημα (βέβαια ακόμα δε ξέρω γιατί την είπε static τη new ο compiler).
πως το διορθωσες αυτο??? Roll Eyes
« Last Edit: December 19, 2009, 22:52:25 pm by beefheart » Logged
Anastacia
Θαμώνας
****
Posts: 331


λευτεριά στους Μουργόλυκους


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #9 on: December 19, 2009, 23:31:56 pm »

Quote from: beefheart on December 19, 2009, 22:44:21 pm
<Για κάθε αντικείμενο του πίνακα η επικάλυψη να ορίζει ως ταυτότητα τη θέση του στον πίνακα>
τι θελει να πει ο ποιητησ?οεο?
<Τέλος η επικάλυψη να χρησιμοποιεί τον extractor για να εισάγει τα αντίστοιχα στοιχεία για κάθε ένα από τα αντικείμενα του πίνακα>
και εδω τι θελει να πει ο ποιητης παλι?

Quote from: Anastacia on December 19, 2009, 19:50:30 pm
εδιτ: το έλυσα το πρόβλημα (βέβαια ακόμα δε ξέρω γιατί την είπε static τη new ο compiler).
πως το διορθωσες αυτο??? Roll Eyes

1. Η μεταβλητή "ταυτότητα" του κάθε στοιχείου του πίνακα είναι ίση με το i (όπου i εννοώ το (i=0;i<n;i++))
2. Ο extractor να ενεργεί για κάθε αντικείμενο τύπου neuron του πίνακα κ να ρωτάει κ να βάζει τιμές στις μεταβλητές "ταυτότητα" κ "βάρος". (δες λίγο κ το παράδειγμα του φυλλαδίου του Κορτέση)

Κ στις δύο επικαλύψεις ορίζω έναν pointer π.χ neuron *n στη μία και network *d στην άλλη, με typecasting αποθηκεύω την τιμή του void pointer της new/malloc σ' αυτόν κ μετά τον χρησιμοποιώ έτσι:
για την πρώτη για κάθε στοιχείο του πίνακα n[ i ]."ταυτότητα" κτλ
για τη δεύτερη d->"αριθμός _νευρώνων" (επειδή είναι ένα μόνο) κτλ

Τα είπα λίγο σκατά κ δεν ξέρω κ πως να εξηγήσω κ καλύτερα.
« Last Edit: December 19, 2009, 23:34:23 pm by Anastacia » Logged

αυτόνομη παρέμβαση στους ηλ-μηχ: http://aphm.espivblogs.net/
συνέλευση για το κόστος φοίτησης: http://synkosfoi.espivblogs.net/

δυστοπία: http://dystopiarap.wordpress.com/
Τσαμπίκα
Θαμώνας
****
Gender: Female
Posts: 366



View Profile
Re: [C++] 8η Εργασία 2009
« Reply #10 on: December 22, 2009, 16:09:12 pm »

Ρε παιδιά τι έγινε με την εργασία?Εγώ δεν μπόρεσα ούτε να την κατεβάσω γιατί ήταν πεσμένο το ethmmy και έβαλε κατευθείαν άλλη εργασία.Του έστειλα ένα σχετικό mail για να παρατείνει την προθεσμία αλλά δεν απάντησε.Την ανέβασε κάποιος? Sad
Logged

"...διότι οι άνθρωποι δε συγχωρούν αυτούς που από έρωτα εκπέσανε"
Αργύρης Μπακιρτζής
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 8η Εργασία 2009
« Reply #11 on: December 22, 2009, 16:14:06 pm »

Quote from: vasia sivota on December 22, 2009, 16:09:12 pm
Ρε παιδιά τι έγινε με την εργασία?Εγώ δεν μπόρεσα ούτε να την κατεβάσω γιατί ήταν πεσμένο το ethmmy και έβαλε κατευθείαν άλλη εργασία.Του έστειλα ένα σχετικό mail για να παρατείνει την προθεσμία αλλά δεν απάντησε.Την ανέβασε κάποιος? Sad

Την ανεβασα χτες μολις ειδα οτι ανεβηκε το e-thmmy απλα την ειχα κανει απο την Παρασκευη ακομα Wink
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
Τσαμπίκα
Θαμώνας
****
Gender: Female
Posts: 366



View Profile
Re: [C++] 8η Εργασία 2009
« Reply #12 on: December 22, 2009, 16:16:11 pm »

Την προηγούμενη βδομάδα έδωσε παράταση για να την ανεβάσουμε και αυτήν τίποτα?
Logged

"...διότι οι άνθρωποι δε συγχωρούν αυτούς που από έρωτα εκπέσανε"
Αργύρης Μπακιρτζής
Pages: [1] Go Up Print
Jump to:  

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