TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Ricerca di cluster nel grafo cinematografico: approccio ricorsivo #119

Closed RosarioInterlandi closed 7 months ago

RosarioInterlandi commented 8 months ago

Studente proponente

s284166 Interlandi Rosario

Titolo della proposta

Ricerca di cluster in un grafo cinematografico: approccio ricorsivo

Descrizione del problema proposto

Prendendo il database "imdb_0408.sql" dei temi d'esame del 2020 viene permesso all'utente di selezionare un genere di film da un apposita tendina e scrivere un valore float tra 1 e 10. Alla pressione del bottone crea grafo viene creato un grafo pesato non orientato avente come nodi tutti i film del genere scelto con un rank maggiore del valore indicato, ogni nodo è collegato da un arco il cui peso è dato dal numero di attori in comune che hanno recitato in entrambi i film, l'arco viene creato solo se hanno almeno un attore in comune. L'utente potrà selezionare uno dei film presenti nel grafo da un menù a tendina e alla pressione del bottone "film adiacenti" vengono stampati tutti i film adiacenti a quello selezionato in ordine decrescente del numero di attori condivisi. Viene poi permesso all'utente di inserire un numero di attori condivisi massimo, alla pressione del bottone " cerca film affini", attraverso la ricorsione, viene cercato il gruppo contenente il massimo numero di film concatenati a partire da quello selezionato prima per cui la somma degli attori condivisi sia minore o uguale al valore scelto dall'utente e viene stampato tale cammino indicando i film e il totale di attori condivisi

Descrizione della rilevanza gestionale del problema

La rilevanza dal punto di vista gestionale sta nel fatto che viene creato un software che in base ai gusti dell'utente è in grado di trovare dei film affini ai suoi gusti basandosi sul genere e agli attori presenti nei suoi film ottimizzando i tempi di ricerca.

Descrizione dei data-set per la valutazione

Il data-set che verrà utilizzato è "imdb_0408.sql" dei temi d'esame del 2020, un database contente tabelle di attori, direttori e film.

Descrizione preliminare degli algoritmi coinvolti

I problemi algoritmici saranno la creazione del grafo, l'esplorazione di tale grafo partendo da un nodo, e una funzione ricorsiva che cerca il più grande insieme di nodi raggiungibili a partire da un nodo rispettando un vincolo: la somma dei pesi degli archi percorsi sia minore o uguale al valore scelto dall'utente.

Descrizione preliminare delle funzionalità previste per l’applicazione software

All'utente sarà mostrata un interfaccia contente una tendina da cui selezionare un genere e una barra di input dove dovrà inserire un valore numerico corrispondente al rank minimo. Una volta selezionati i due valori alla pressione del bottone crea grafo viene popolata una seconda tendina, inizialmente vuota, con tutti i film presenti nel grafo che soddisfano i requisiti scelti. L'utente dovrà selezionare uno dei film e alla pressione del bottone film adiacenti l'utente vedrà in un campo di testo la lista dei film adiacenti al film scelto (ovvero i film dello stesso genere che hanno attori in comune nel cast). A questo punto l'utente potrà scrivere un numero intero, che rappresenta il numero massimo totale di attori condivisi. Alla pressione del bottone "cerca film affini" nella casella di testo sarà stampata la soluzione ottima ottenuta con la ricorsione