Você está na página 1de 48

Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Apresentação da Disciplina Teoria dos Grafos

Tanilson Dias dos Santos, Dr

Universidade Federal do Tocantins - UFT

Graphs Theory 1/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Quem sou Eu?

Graduação em Ciência da
Computação - UFT;
Mestrado em Sistemas e
Computação - IME;
Doutorado em Engenharia de
Sistemas e Computação - UFRJ.

Graphs Theory 2/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Como serão nossas Aulas?

1 início: 09/Mar/2023;
2 término: 13/Jul/2023;
3 total de 18 encontros (+ Aulas 100% presenciais;
exame final); Atividades, exercícios e
4 1 feriados, Corpus Christie provas.
dia 8 de Junho, repor com
atividade Moodle.

Graphs Theory 3/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Sobre as Listas de Exercícios


1 Todas devem ser escritas em Latex;
2 O enunciado da questão deve aparecer para todas as questões;
3 A padronização da lista de exercícios é parte da nota da lista,
sendo passível de demérito a falta de padronização;
4 Vou disponibilizar um modelo online para vocês (ver moodle);
5 Sugiro que usem o Overleaf para escrever suas listas de
exercício: https://www.overleaf.com/project
6 A lista pode ser feita em duplas;
7 A entrega é individual;
8 As listas de exercício somam 1 ponto na média final.
9 A primeira lista L1, já está disponível no Moodle e o prazo de
entrega é para o dia 13 de Abril de 2023;

Graphs Theory 4/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Sobre as Listas de Exercícios (cont.)

10 Cada questão da Lista deve iniciar em uma nova página;


11 Para cada resposta, o enunciado e o número da questão devem
aparecer no cabeçalho da primeira página, no caso de a
resposta consumir mais de uma página;
12 No cabeçalho de cada página, além das respostas também
devem constar o nome do aluno e os dados da disciplina;
13 As respostas de duas questões diferentes devem começar em
páginas diferentes.

Graphs Theory 5/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Implementação

Novidade na Disciplina!
1 Implementação disponível no Moodle;
2 Nota da Implementação é composta por apresentação
(explicação e arguição) + slides + código fonte;
3 Pode ser feita em duplas;
4 Vale 1 ponto na média final;
5 Apresentação da Implementação no final da disciplina.

Graphs Theory 6/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Teoria Computacional de
Grafos. Jayme Luiz
Szwarcfiter. Rio de Janeiro,
Elsevier, 2018;
Bondy, John Adrian, and
Uppaluri Siva Ramachandra
Murty. Graph theory with
applications. Vol. 290.
London: Macmillan, 1976.

Graphs Theory 7/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Theory and Applications

A disciplina vai se relacionar com outras disciplinas do curso:


Estruturas de Dados;
Teoria da Computação;
Projeto e Análise de Algoritmos;
entre outras.
Generalização e modelagem de problemas do mundo real;
Interpretação e identificação de problemas equivalentes.

Graphs Theory 8/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Graph Theory

Graph Theory is based on relations of points that we called


vertices interconnected by elements denoted as edges in a
network;
In this context we define a graph G = (V , E ), where V (G )
denote the vertex set of G and E (G ) its edge set. The graph
is the object that we use to model the relationship among
elements of a set.

Graphs Theory 9/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Historical Context

1 Graph Theory arise in 1736;


2 Leonhard Euler ("Óiler")
13 kids;
more than 800 published papers;
he went blind and continued writing articles for another 17
years until his death.
3 Königsberg Bridges Problem or Seven Bridges of Königsberg.

Graphs Theory 10/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Seven Bridges of Königsberg

Figure: Map of Prussian city of Königsberg (now Kaliningrad, Russia).

Graphs Theory 11/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Enigma

Problem description
In the 18th century, the Swiss mathematician Leonhard Euler was
intrigued by the question of whether a route existed that would
traverse each of the seven bridges exactly once.

Graphs Theory 12/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Development of a suitable technique of analysis

1 Abstraction of irrelevant details;


area of each island;
shape of each island;
bridge type, etc
2 Euler proved that the problem has no solution.

Graphs Theory 13/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Euler’s Path and Traversable Graph

Traversable Graph
A graph is traversable if you can draw a path between all the
vertices without retracing the same edge twice.

Euler’s Path
An Euler’s path contains each edge of ‘G’ exactly once and each
vertex of ‘G’ at least once. A connected graph G is said to be
traversable if it contains an Euler’s path.

Euler’s Circuit
In a Euler’s path, if the starting vertex is same as its ending vertex,
then it is called an Euler’s circuit.

Graphs Theory 14/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

More History

1 After Euler (1736), Graph Theory had a century without new


studies;
2 Kirchhoff’s circuit laws (Kirchhoff, 1847);
3 Four color theorem (De Morgan, 1852);
4 Organic Chemistry Applications (Cayley, 1857);
5 Hamiltonian path/cycle problem (Hamilton, 1859);
6 Computers and Intractability: A Guide to the Theory of
NP-Completeness (Michael R. Garey and David S. Johnson,
1979);
7 Many practical and theoretical applications today.

Graphs Theory 15/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Why is it important to study graphs?

Graphs Theory 16/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Graphs Theory 17/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Graphs Theory 18/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Preliminaries

Ecossistemas para Manipulação de Grafos

Em python: IGraph, Networkx, Bokeh, Plotly, Dash, Dash


Cytoscape, Graph-tool;
Geral: Gephi, Cytoscape.

Graphs Theory 19/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Graph Representations

Matriz Adjacência;
Matriz de Incidência;
Matriz Laplaciana;
Listas de Adjacência;
Representação Geométrica (Desenho);
entre outros.

Graphs Theory 20/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Matriz de Adjacência

Graphs Theory 21/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Matriz de incidência

Graphs Theory 22/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Matriz Diagonal e Matriz Laplaciana

Graphs Theory 23/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Lista Adjacência

Graphs Theory 24/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação Assintótica de Funções e Técnicas de


Demonstração

O que é isso?
Para que serve?
Relação disso com a Teoria dos Grafos?
Referência recomendada para estudo: Livro "Introduction to
Algorithms", 3rd edition, Thomas H. Cormen
(pág. 43 - Notação Assintótica e Crescimento de Funções).

Graphs Theory 25/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação O (Big O, pág 10)

Definição:
Dadas funções assintoticamente não-negativas f e g, dizemos que f
está na ordem O de g e escrevemos f = O(g ) se existe um número
positivo c tal que f (n) ≤ c ∗ g (n) para todo n suficientemente
grande. Em outras palavras, se existem números positivos c e n0
tais que f (n) ≤ c ∗ g (n) para todo n ≥ n0 .

Graphs Theory 26/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação O (Big O, pág 10)

Graphs Theory 27/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplos

1 Seja f (n) = 3n2 + 5n + 7, então f (n) = O(n2 );


2 Seja f (n) = 3n2 + 5n + 7, então também f (n) = O(n3 );
3 f (n) = 2n2 + 4y − 18n, f(n) = O(n2 + y );
4 f (n) = 2n + logn + 3, f(n) = O(n);
5 f (n) = 45, f(n)= O(1).

Graphs Theory 28/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação Ω (Big Omega, pág 11)

Definição:
Dadas funções assintoticamente não-negativas f e g , dizemos que
f está na ordem Ômega de g e escrevemos f = Ω(g ) se existem
constantes positivas c, n0 tal que f (n) ≥ c ∗ g (n) para todo n ≥ n0 .

Graphs Theory 29/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação Ω (Big Omega, pág 11)

Graphs Theory 30/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplos

1 5n2 + 2n + 3 = Ω(n2 );
2 n3 + 7n + 1 = Ω(n2 );
3 2n = Ω(n2 );

Graphs Theory 31/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação Θ (Theta)

Definição:
Dizemos que duas funções assintoticamente não negativas f e g
são da mesma ordem e escrevemos f = Θ(g ) se f = O(g ) e
f = Ω(g ). Em outras palavras, dizer que f = Θ(g ) significa que
existem constantes positivas c1 e c2 tais que
c1 ∗ g (n) ≤ f (n) ≤ c2 ∗ g (n) para todo n ≥ n0 .

Graphs Theory 32/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação Θ (Big Theta)

Graphs Theory 33/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplos

1 As funções f (n) = n2 , f (n) = (3/2) ∗ n2 , f (n) = 9999 ∗ n2 ,


f (n) = n2 /1000 e f (n) = n2 + 100n pertencem todas à ordem
Θ(n2 ).
2 Para quaisquer números a e b maiores que 1, a função loga n
está em Θ(logb n).

Graphs Theory 34/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplo Notação f = θ(g)

Dadas funções f(n) = 3n3 + 5 e g(n) = 2n3 + 2

Graphs Theory 35/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Notação o (little o) and Notação ω (little ômega)


Ver livro do Cormen.
Definição little o:
Dadas funções assintoticamente não-negativas f e g, dizemos que f
está na ordem o de g e escrevemos f = o(g ) se existe um número
positivo c tal que f (n) < c ∗ g (n) para todo n suficientemente
grande. Em outras palavras, se existem números positivos c e n0
tais que f (n) < c ∗ g (n) para todo n ≥ n0 .

Definição little ômega:


Dadas funções assintoticamente não-negativas f e g , dizemos que
f está na ordem ômega de g e escrevemos f = ω(g ) se existem
constantes positivas c, n0 tal que f (n) > c ∗ g (n) para todo n ≥ n0 .

Graphs Theory 36/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Técnicas de Prova

1 Existem diversos métodos de demonstrações, listamos aqui os


principais que iremos utilizar:
Indução Matemática;
Demonstração Direta;
Contrapositiva (Contraposição);
Contradição/Redução ao Absurdo;
Demonstrações do tipo “se e somente se”;
Demonstração por construção.

Graphs Theory 37/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Indução Matemática

A forma mais simples e mais comum de indução matemática prova


que um enunciado vale para todos os números naturais n e consiste
de dois passos:
1 A base: mostrar que o enunciado vale para n = 0, ou n = 1,
dependendo da definição utilizada de N;
2 O passo indutivo: mostrar que, se o enunciado vale para
n = k, então o mesmo enunciado vale para n = k + 1.

Graphs Theory 38/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Princípio Indutivo

Graphs Theory 39/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplo I

1 Mostrar que o número (máximo) de folhas em uma árvore


binária cheia com altura n é dado por 2n (∀nP(n) no qual
P(n) denota 2n ).

Graphs Theory 40/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplo I (cont.)

Graphs Theory 41/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplo I (cont.)

Solução:
Passo base de indução: P(1) = 21 = 2 é verdade, pois uma
árvore com altura 1 possui no máximo 2 folhas.

Graphs Theory 42/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplo I (cont.)

Solução:
Passo base de indução: P(1) = 21 = 2 é verdade, pois uma
árvore com altura 1 possui no máximo 2 folhas.
Hipótese de indução e passo indutivo: Agora supomos que vale
para P(n) = 2n e tentamos mostrar que vale para P(n + 1) = 2n+1 .

Graphs Theory 42/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Exemplo I (cont.)

Solução:
Passo base de indução: P(1) = 21 = 2 é verdade, pois uma
árvore com altura 1 possui no máximo 2 folhas.
Hipótese de indução e passo indutivo: Agora supomos que vale
para P(n) = 2n e tentamos mostrar que vale para P(n + 1) = 2n+1 .
Como a cada nível o número de folhas na árvore dobra, então vale
que:
P(n + 1) = 2P(n), dessa forma chegamos a conclusão de que
P(n + 1) = 2(2n ) = 2n+1 .

Graphs Theory 42/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Demonstração Construtiva
Ocorre pela apresentação de um algoritmo que resolve o
problema em questão;
Por exemplo: Método de Cantor (1873) para comparação de
conjuntos infinitos;
Se nós temos dois conjuntos infinitos, como podemos dizer se
um é maior do que o outro ou se eles têm o mesmo tamanho?
Pelo método de cantor é suficiente apresentar uma bijeção
entre os conjuntos, se tal bijeção existir, então ambos
conjuntos possuem o mesmo tamanho, se sobrarem elementos
em algum dos conjuntos então o que sobrou elementos é
maior;
O conjunto dos números Naturais é maior que o conjunto dos
números pares?

Graphs Theory 43/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Graphs Theory 44/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Mais Técnicas de Demonstração

1 Ver material do professor Rodrigo Hausen - UFABC;


2 Curso de Bases Matemáticas;
3 Aula 2 - Métodos de Demonstração.

Graphs Theory 45/46 Tanilson Dias


Professor, Class and Books Graph Theory Representations Asymptotic analysis Techniques of Demonstration

Apresentação da Disciplina Teoria dos Grafos

Tanilson Dias dos Santos, Dr

Universidade Federal do Tocantins - UFT

Graphs Theory 46/46 Tanilson Dias

Você também pode gostar