RSS Meetup

Programming joins, simply and efficiently

Sala 6.3.27, CIÊNCIAS ULisboa

Por Fritz Henglein (DIKU, U. Copenhagen).

Os RSS Meetups são encontros mensais dos membros do LASIGE com interesses de investigação principalmente em Arquitetura de Software, Verificação, Testes, Linguagens de Programação, Sistemas de Tipos, Lógica, Concorrência e Métodos Formais. Todos são bem-vindos, incluindo estudantes e não investigadores.


Abstract: One often has to program relational joins on program data, that is computing the relation (collection) { (x1, …, xn) | F } where F is a relational first-order logic formula built from conjunction over predicate symbols representing input relations.  Examples are classical binary joins such as the the products sold by salespeople or the set of triangles { (x1, x2, x3) | R(x1,2) and R(x2, x3) and R(x3, x1)}  in a graph (binary relation) R.   

We show that all joins are easy to program efficiently using elementary programming techniques: Building nested read-only dictionaries, always iterating over a dictionary with the smallest domain, and nested iteration over the variables x1, …, xn in any order. Employing amortized complexity analysis on inputs padded with ghost data and a weak property of the Atserias-Grohe-Marx fractional edge covering bound we show that this constitutes a simply programmed  worst-case optimal join algorithm.  The algorithm can be considered a simplified version of Generic Join where one step is left out.  We illustrate the resulting 10 line source code for triangles in Python and a corresponding Haskell program and show that these execute multiple orders of magnitude faster on a 'difficult’ class of data than piping the data through any of a number of common SQL engines.

This is joint work with Changjun Li, Mikkel Kragh Mathiesen and Mads Rehof.

Bio: Fritz Henglein's research interests are in semantic, logical and algorithmic aspects of programming languages, specifically type inference, type-based program analysis, algorithmic functional programming and domain-specific languages, and the application of programming language technology, presently in enterprise systems (Project 3gERP and health care process modeling - Project TrustCare).

After undergraduate studies at Technische Universität München, he obtained his Ph.D. from Rutgers University and joined New York UniversityUtrecht University and DIKU, the Department of Computer Science at the University of Copenhagen. After starting Hafnium ApS to keep the Y2K bug at bay and being on the start-up faculty of the IT University of Copenhagen to increase IT proficiency, he rejoined DIKU as professor with special duties in programming languages. He is now head of the algorithms and programming languages group at DIKU. His goal is to contribute to the development of software that comes with technical and legal guarantees of having no defects (which should be considered a very modest ambition indeed).

13h30
LASIGE Computer Science and Engineering Research Centre
Cesto com legumes

O curso tem como principal objetivo capacitar para a implementação e gestão sustentável de espaços de cultivo nas cidades, promovendo a segurança alimentar e a autonomia na produção de alimentos - candidaturas até 02 de novembro.

Natal 2025

Uma oportunidade única de estudantes e professores do ensino secundário dialogarem diretamente com especialistas de várias áreas científicas.

Computador portátil a projetar imagem de sequência biológica

O curso visa a aquisição de conhecimentos sobre as ferramentas bioinformáticas disponíveis para efetuar análises de sequências de DNA e proteínas, bem como a autonomia e espírito crítico na utilização dessas ferramentas. Procura igualmente desenvolver competências na utilização de software de bioinformática disponível gratuitamente na Internet e na interpretação do significado biológico dos resultados - candidaturas até 12 dezembro.

Representação de pessoa a interagir com tecnologia

O curso introduz o conceito de Digital Twins e a sua aplicação estratégica no contexto do serviço público, com foco na modernização digital, otimização de processos e apoio à decisão - candidaturas até 11 de janeiro.

Bola de cristal colocada no solo

O curso tem como objetivo apresentar aos participantes um estado da arte atualizado sobre a diversidade da biota do solo e os papéis funcionais desempenhados pelos organismos do solo nos principais processos ecológicos - candidaturas até 19 de dezembro.

Imagem exemplificativa da área da deteção remota

Este curso avançado tem como objetivo fornecer acesso e ferramentas para a aquisição e processamento de dados de deteção remota para diferentes aplicações, usando imagens multiespectrais de satélite, drone, terrestres e LiDAR, com foco na caracterização da vegetação e da paisagem, bem como das suas mudanças ao longo do tempo - candidaturas até 19 de dezembro.

Duas pessoas a interagirem num contexto de realidade virtual

O curso explora o potencial da Realidade Virtual (VR) e Aumentada (AR) como ferramentas inovadoras nos processos de onboarding e desenvolvimento de competências - candidaturas até 25 de janeiro.

Ginásio "inundado" de tecnologia

Um programa único na Europa, com o objetivo de capacitar para a integração crítica, segura e eficaz de ferramentas digitais na intervenção clínica - candidaturas até 30 de janeiro.

Imagem abstrata

Neste curso, será promovida uma abordagem multidisciplinar, apresentando as descobertas mais recentes sobre o tema e desafiando a forma tradicional de considerar as associações simbióticas como exceções e não como a regra - candidaturas até 09 de janeiro.

A conferência visa reunir os principais especialistas no domínio da Imagiologia Médica por Micro-ondas (MMWI) e incluirá palestras, apresentações e pósteres de resumos revistos por pares e artigos de conferências, bem como workshops em áreas satélite de investigação com interesse para a investigação em MMWI.

Pessoas a analisarem dados

Candidaturas até 13 de fevereiro.

Um curso prático, limitado a um pequeno número de participantes, destinado a quem procura formação básica em teoria e estatística macroecológica e deseja familiarizar-se com algumas das potenciais utilizações de vários métodos avançado - candidaturas até 13 de fevereiro.

Páginas