Ricerca coppie ricorrenti

di Anonimizzato25265 il
6 risposte
Ciao, premessa sono un nuovo utente e quindi scusatemi se non "centro" l'argomento o la modalità corretta.

Il problema: ricercare in n insiemi (fatture) contenenenti dei codici (prodotti) le coppie (o insiemi) di codici maggiormente presenti.

Ambiente: officina meccanica
Caso concreto: a sostituzione di un filtro olio dovrebbe sempre corrispondere dell'olio... (banale no?), quindi una presenza di solo olio è ok mentre la presenza di solo filtro no!




Esiste un algoritmo noto che possa essere implementato?

Sperando di non essere off-topic vi ringrazio anticipatamente.

6 Risposte

  • Non c'è semantica, la devi imporre.
    hard coded o meno.
    non c'è un modo magico per il quale un computer possa capire che se cambi l'olio devi cambiare il filtro.
    quindi o farai un programma che controlla questa coppia, oppure aggiungerai delle informazioni che poi farai controllare automaticamente
  • Scusate, evidentemente non sono stato chiaro:

    ho 3 insiemi comprendente stringhe

    insieme a contiene : p1, p2, p3
    insieme b contiene : p1,p2,p4
    insieme c contiene ; p1,p2,p3

    vorrei realizzare un programma che mi identificasse che la coppia p1,p2 è presente 3 volte; la coppia p1, p3 è presente due volte,: la coppia p2,p3 è presente due volte.

    Grazie della pazienza!
  • Thanks for sharing
  • Si chiama "apriori"

    https://en.wikipedia.org/wiki/Apriori_algorith

    in particolare, a te servono i "frequent set"

    Ci arrivavi anche ragionando "A MANO":

    cominici con un insiemi di

    - 1 elemento (n casi)
    - 2 elemeni (n*(n-1)/2 casi)
    - 3 elementi (n*(n-1)*(n-2)/(2*3) casi)
    - ecc

    In ogni caso, NON ESISTE un metdo miracoloso per trovarli, li devi CERCARE e CONTARE.
    Se lo fai in modo intelligente, l'algoritmo e' pure efficiente, altrimenti e' esponenziale
  • Grazie, credo di essere oltre il mio limite ma ... hai qualche riferimento possibile di codice vb.
    Prima di arrendermi ..proviamo.
  • Indipendentemente dal limite personale, forse un semplice sforzo nell'effettuare una ricerca, può essere utile per comprendere (e magari implementare) l'algoritmo apriori:
    https://msdn.microsoft.com/en-us/magazine/dn519928.asp
    https://www.codeproject.com/Articles/70371/Apriori-Algorithm
    https://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=70371&av=119374
    https://www.philippe-fournier-viger.com/spmf/Apriori.php
    http://codeding.com/?article=1
Devi accedere o registrarti per scrivere nel forum
6 risposte