Selective applicative functors & probabilistic programming

Detalhes bibliográficos
Autor(a) principal: Santos, Armando João Isaías Ferreira dos
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: https://hdl.handle.net/1822/81306
Resumo: Dissertação de mestrado integrado em Informatics Engineering
id RCAP_5c257779959838e4c48f58c8d40b7a30
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/81306
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Selective applicative functors & probabilistic programmingMaster thesisFunctional programmingProbabilistic programmingMonadsApplicativesSelective applicative functorHaskellMatricesDissertação de mestradoProgramação funcionalProgramação probabilísticaMonadesAplicativosFuntores aplicativos seletivosMatrizesEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Informatics EngineeringIn functional programming, selective applicative functors (SAF) are an abstraction between applicative functors and monads. This abstraction requires all effects to be statically declared, but provides a way to select which effects to execute dynamically. SAF have been shown to be a useful abstraction in several examples, including two industrial case studies. Selective functors have been used for their static analysis capabilities. The collection of information about all possible effects in a computation and the fact that they enable speculative execution make it possible to take advantage to describe probabilistic computations instead of using monads. In particular, selective functors appear to provide a way to obtain a more efficient implementation of probability distributions than monads. This dissertation addresses a probabilistic interpretation for the arrow and selective abstractions in the light of the linear algebra of programming discipline, as well as exploring ways of offering SAF capabilities to probabilistic programming, by exposing sampling as a concurrency problem. As a result, provides a Haskell type-safe matrix library capable of expressing probability distributions and probabilistic computations as typed matrices, and a probabilistic programming eDSL that explores various techniques in order to offer a novel, performant solution to probabilistic functional programming.Em programação funcional, os functores aplicativos seletivos (FAS) são uma abstração entre functores aplicativos e monades. Essa abstração requer que todos os efeitos sejam declarados estaticamente, mas fornece uma maneira de selecionar quais efeitos serão executados dinamicamente. FAS têm se mostrado uma abstração útil em vários exemplos, incluindo dois estudos de caso industriais. Functores seletivos têm sido usados pela suas capacidade de análise estática. O conjunto de informações sobre todos os efeitos possíveis numa computação e o facto de que eles permitem a execução especulativa tornam possível descrever computações probabilísticas. Em particular, functores seletivos parecem oferecer uma maneira de obter uma implementação mais eficiente de distribuições probabilisticas do que monades. Esta dissertação aborda uma interpretação probabilística para as abstrações Arrow e Selective à luz da disciplina da álgebra linear da programação, bem como explora formas de oferecer as capacidades dos FAS para programação probabilística, expondo sampling como um problema de concorrência. Como resultado, fornece uma biblioteca de matrizes em Haskell, capaz de expressar distribuições de probabilidade e cálculos probabilísticos como matrizes tipadas e uma eDSL de programação probabilística que explora várias técnicas, com o obejtivo de oferecer uma solução inovadora e de alto desempenho para a programação funcional probabilística.Oliveira, José Nuno FonsecaUniversidade do MinhoSantos, Armando João Isaías Ferreira dos20212021-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/81306eng203056035info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T07:25:14Zoai:repositorium.sdum.uminho.pt:1822/81306Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T16:26:27.179869Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Selective applicative functors & probabilistic programming
title Selective applicative functors & probabilistic programming
spellingShingle Selective applicative functors & probabilistic programming
Santos, Armando João Isaías Ferreira dos
Master thesis
Functional programming
Probabilistic programming
Monads
Applicatives
Selective applicative functor
Haskell
Matrices
Dissertação de mestrado
Programação funcional
Programação probabilística
Monades
Aplicativos
Funtores aplicativos seletivos
Matrizes
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Selective applicative functors & probabilistic programming
title_full Selective applicative functors & probabilistic programming
title_fullStr Selective applicative functors & probabilistic programming
title_full_unstemmed Selective applicative functors & probabilistic programming
title_sort Selective applicative functors & probabilistic programming
author Santos, Armando João Isaías Ferreira dos
author_facet Santos, Armando João Isaías Ferreira dos
author_role author
dc.contributor.none.fl_str_mv Oliveira, José Nuno Fonseca
Universidade do Minho
dc.contributor.author.fl_str_mv Santos, Armando João Isaías Ferreira dos
dc.subject.por.fl_str_mv Master thesis
Functional programming
Probabilistic programming
Monads
Applicatives
Selective applicative functor
Haskell
Matrices
Dissertação de mestrado
Programação funcional
Programação probabilística
Monades
Aplicativos
Funtores aplicativos seletivos
Matrizes
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Master thesis
Functional programming
Probabilistic programming
Monads
Applicatives
Selective applicative functor
Haskell
Matrices
Dissertação de mestrado
Programação funcional
Programação probabilística
Monades
Aplicativos
Funtores aplicativos seletivos
Matrizes
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado integrado em Informatics Engineering
publishDate 2021
dc.date.none.fl_str_mv 2021
2021-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/81306
url https://hdl.handle.net/1822/81306
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203056035
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595944957902848