Bayesiansk programsyntes
Inom programmeringsspråk och maskininlärning är Bayesian programsyntes (BPS) en programsyntesteknik där Bayesianska probabilistiska program automatiskt konstruerar nya Bayesianska probabilistiska program. Detta tillvägagångssätt står i kontrast till rutinmässig praxis inom probabilistisk programmering där mänskliga utvecklare manuellt skriver nya probabilistiska program.
Ramverket
Bayesiansk programsyntes (BPS) har beskrivits som ett ramverk relaterat till och utnyttjar probabilistisk programmering. I BPS genereras probabilistiska program som i sig är föregångare över ett utrymme av probabilistiska program. Denna strategi möjliggör automatisk syntes av nya program via probabilistisk slutledning och uppnås genom sammansättningen av modulära komponentprogram.
Modulariteten i BPS tillåter slutledning att arbeta med och testa mindre probabilistiska program innan de integreras i en större modell.
Detta ramverk kan jämföras med familjen av automatiserade programsyntesfält , som inkluderar programmering genom exempel och programmering genom demonstration . Målet inom sådana områden är att hitta det bästa programmet som uppfyller vissa krav. I traditionell programsyntes, till exempel, minskar verifiering av logiska begränsningar tillståndsutrymmet för möjliga program, vilket möjliggör effektivare sökning för att hitta ett optimalt program. Bayesiansk programsyntes skiljer sig både genom att begränsningarna är probabilistiska och att produktionen i sig är en fördelning över program som kan förfinas ytterligare.
Dessutom kan Bayesiansk programsyntes jämföras med arbetet med Bayesiansk programinlärning, där probabilistiska programkomponenter är handskrivna, förtränade på data och sedan sammansatta för hand för att känna igen handskrivna tecken.
Se även
externa länkar
- Kommentar till BPS av David Garrity: Artificiell intelligens för att se betydande framsteg under 2017