Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-12-2013, 16:30   #1
Ethoel88
Junior Member
 
Iscritto dal: Jan 2012
Messaggi: 7
[Python] costruire archi di un grafo

Salve a tutti, devo fare un semplice programmino in python per l'università e, dato un file json con un elenco di film e per ogni film il produttore e gli attori, devo costruirci sopra un grafo e collegare tutti gli attori con i produttori in comune tra di loro (non necessariamente che hanno fatto anche lo stesso film).

Il problema ora è nella costruzione degli archi, nei test che mi sono stati forniti dal professore ho i "risultati" del programma, quindi ho anche il numero di archi del grafo che dovrei avere per ogni determinato file in input. Ovviamente il mio risultato è sempre inferiore dai 30 ai 1000 archi rispetto al risultato che dovrebbe uscire.

Vi incollo il codice scritto da me:

Codice:
class Graph(object):
    def __init__(self):
        self._nodes = {}

    def addNode(self, name, info=None):
        '''Aggiunge un nodo name, se non esiste'''
        if name not in self._nodes:
            self._nodes[name] = (set(), info)

    def addEdge(self, name1, name2):
        '''Aggiunge un arco che collega i nodi name1 e name2'''
        if name1 in self._nodes and name2 in self._nodes:
            self._nodes[name1][0].add(name2)
            self._nodes[name2][0].add(name1)

    def adjacents(self, name):
        '''Ritorna una lista dei nomi dei nodi adiacenti al nodo name,
        se il nodo non esiste, ritorna None'''
        if name in self._nodes:
            return list(self._nodes[name][0])
        return None

    def nodes(self):
        '''Ritorna una lista dei nomi dei nodi del grafo'''
        return self._nodes.keys()

    def nodeInfo(self, name):
        '''Ritorna l'info del nodo name'''
        return self._nodes[name][1] if name in self._nodes else None

import json

def actorDirGraph(filmfile):
    '''Implementare qui la funzione'''
    with open(filmfile,'U') as f:
        films = json.load(f)

    gd = Graph()

    #costruisco il grafo
    for film in films:
        info = films[film]
        for i in info['DIRECTORS']:
            for j in info['ACTORS']:
                gd.addNode(j,i)

    #costruisco gli archi, gli adiacenti di ogni nodo sono gli attori con i    produttori in comune all'attore del nodo corrente   
    for film in films:
        info = films[film]
        for i in gd.nodes():
            for j in info['DIRECTORS']:
                if gd.nodeInfo(i)==j:
                    for k in info['ACTORS']:
                        if not i==k:
                            gd.addEdge(i,k)

                
    return gd
C'è sicuramente qualcosa che mi sfugge nella costruzione degli archi tra i nodi, ma non riesco a capire cosa.
Premesso che la classe del grafo non può essere modificata e la costruzione del grafo è corretta (controllato sul test da parte del professore), rimane solo la costruzione degli archi errata.
Da solo non riesco ad uscirne fuori (e sono 4-5 giorni che mi ci sto scervellando insieme al panettone di natale).
Richiedo consigli dal pubblico cortesemente ç_ç
Ethoel88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Black Friday HONOR, prezzi giù fi...
AliExpress sfida Amazon sui prezzi: e-bi...
Gemini sotto accusa in Ungheria: per l'a...
Windows 11 può girare sulla NPU invece d...
MediaWorld diventa cinese: l'UE dice s&i...
Akamai potenzia il proprio cloud con due...
Steam, Valve cambia le regole: le revisi...
Canva licenzia (anche) per colpa dell'IA...
Axerta: l’IA traina la crescita delle te...
Galaxy A38, la batteria cresce ma il pre...
Notifica su Facebook: 'Effettuerai la mi...
Xbox pronta a dire addio allo studio di ...
Meta stacca la spina: fine del supporto ...
Scambio file senza limiti: Google porta ...
Taiwan sbarca a EICMA 2026: maxi scooter...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v