GithubHelp home page GithubHelp logo

wecchi / univesp_com150 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 80 KB

Fundamentos Matemáticos para Computação: matemática discreta e de lógica para computação (lógica formal e lógica de predicados). Noção de complexidade. Técnicas de demonstração direta, demonstração por contraposição e demonstração por absurdo.

License: GNU General Public License v3.0

Prolog 1.56% Python 98.44%
matrix-calculations reverse-polish polish-notation in-order dijkstra-algorithm euler-algorithm hamiltonian-algorithm warshall-algorithm

univesp_com150's Introduction

COM150 - Fundamentos matemáticos para computação

Conceitos de matemática discreta e de lógica para computação (lógica formal e lógica de predicados). Noção de complexidade. Técnicas de demonstração direta, demonstração por contraposição e demonstração por absurdo. Relaçaõ de recorrência, provas, indução matemática. Uso da lógica formal em programação declarativa e na demonstração de correção de um algoritmo. Relações e conceitos de teoria de grafos. Modelagem de problemas usando grafos.

Exercícios práticos:

Relacionei os exercícios realizados no 4º bimestre/2020 durante as aulas da disciplina COM150 do Curso de Bacharel de Ciência de Dados da Univesp. Abaixo segue uma breve descrição do problema de negócios e da solução em Python (o link direciona para o código):

  1. Relação de recorrência 1: Judith L Gersting (Seção 3.1). Exercícios diversos para estabelecer definições e obter soluções para relações recorrentes com uso de algoritmos recursivos.
  2. Relação de recorrência 2: Judith L Gersting (Seção 3.2). Criando uma seguência com 4 casos básicos. Fórmula fechada de segunda ordem.
  3. Relação binária com matrizes: criação da classe Matrix e implementação de operadores lógicos e aritméticos, diagonal principal e secundária, características (ordem, identidade, triangular superior, triangular inferior). Cálculo da matriz de acessibilidade para grafos a partir da matriz boolena de adjacência.
  4. Conversor polonês ou "pré-ordem": dada uma equação algébrica "em ordem" transformá-la em ordem polonesa ou "pré-ordem".
  5. Conversor polonês inverso ou "pós-ordem": dada uma equação algébrica "em ordem" transformá-la em ordem polonesa inversa ou "pós-ordem".
  6. Conversor de expressão: conversor gráfico de expressão para operadores booleandos entre "pré-ordem" e "pós-ordem" - infixToPostfix.
  7. Circuitos e caminhos em grafos: obter a mínima distância entre a origem e destino em um grafo direcionado com pesos em seus vértices.
  8. Algoritmo de Dijkstra: obter o menor caminho entre dois vértices ponderados de um grafo, usando o algoritmo de Dijkstra.
  9. Caminho Hamiltonioano: obter todos os possíveis caminhos Hamiltonianos para um grafo a partir de um determinado vértice. Checar se existe um ciclo. Num caminho Hamiltoniano todos os vértices de um grafo devem ser visitados apenas uma única vez.
  10. Caminho de Euler: verificar se um grafo possui um caminho de Euler. Obter o caminho de Euler. Num caminho de Euler todas as arestas de um grafo devem ser visitados apenas uma única vez.
  11. Algoritmo de Warshall: dado um grafo G com n nós, o algoritmo de Warshall deve calcular uma sequência de n + 1 matrizes de acessibilidades M0, M1, M2, …, Mn.

univesp_com150's People

Contributors

wecchi avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.