Recentemente ho iniziato a leggere la teoria dietro gli algoritmi. Ho quindi iniziato a pensare a "cosa accadrebbe se avessimo astratto problemi e algoritmi, in modo da poter implementare un sistema generico in grado di risolvere la maggior parte dei problemi". Purtroppo non sono riuscito a trovare informazioni su questo argomento. Credo che la programmazione logica sia piuttosto vicina, ma non penso che sarebbe facile creare una libreria con qualcosa del genere.
Come suggerisce la domanda, questo 'algoritmo generico' risolverebbe solo 'problemi generici' e i problemi dovranno ovviamente essere risolti (provati) in primo luogo. Ho pensato che ogni problema che è risolvibile attraverso ciò che Wikipedia definisce come "algoritmi di progettazione" ( link ) è un buon candidato.
Quindi la domanda reale diventa qualcosa di più: "Possiamo definire un problema astratto risolvibile con un algoritmo astratto, che impiega Backtracking, Divide & Conquer ecc.?".
Penso che una cosa del genere sia possibile, che esista una tale rappresentazione astratta di un problema che può essere risolta da uno qualsiasi di questi algoritmi.