Sie sind auf Seite 1von 29

Algoritmia.

BE + EEC + EINF
Pedro Melo Pinto + UTAD

2011-2012 .

Universidade de Trs-os-Montes e Alto Douro

Algoritmia
2011/2012
Bioengenharia
Engenharia Electrotcnica e de Computadores
Engenharia Informtica

Pedro Melo-Pinto
( pmelo@utad.pt )

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

introduo

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

objectivos

Conhecer diversos tipos de algoritmos


(com especial destaque para algoritmos de pesquisa e ordenao).

Saber fazer a anlise de desempenho dos mesmos.


Conhecer as diversas estruturas de dados envolvidas,
e manipul-las eficazmente.

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

objectivos

Aprender a pensar, saber fazer e a re-utilizar


Fazer perguntas, ter dvidas, no recear estar errado
Trabalhar (tambm) fora das horas de contacto

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

objectivos

(as apresentaes NO so tudo)


Utilize a bibliografia
Utilize a Internet
Pergunte se quiser aprofundar um assunto

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

estatsticas

EEC + INF (2009/2010)


alunos com avaliao

EEC + INF + BE (2010/2011)

62

alunos com avaliao

105

aprovados

33

aprovados

48

rcio aprovados/avaliados

53,2%

rcio aprovados/avaliados

46,2%

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

mais estatsticas

EEC + INF + BE (2010/2011)

}
INF + BE (2010/2011)

alunos com avaliao

105

alunos com avaliao

49

aprovados

48

aprovados

32

rcio aprovados/avaliados

46,2%

rcio aprovados/avaliados

65,1%

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

de que se trata?

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Definio

Um algoritmo, utilizado no contexto da computao, matemtica ou


reas afins, um processo eficaz para resolver determinado problema,
utilizando um nmero finito de passos (instrues).
Os algoritmos so utilizados para clculo, processamento de dados, etc.

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Definio

Assim, informalmente, um algoritmo um processo computacional que


tem um conjunto de valores como entrada, e produz um valor (ou
conjunto de valores) como sada.

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Estruturas de Dados

Um algoritmo tem associado a(s) estrutura(s) dos dados utilizada(s)


(por muito simples que sejam).

Uma estrutura de dados o modo como estes esto guardados (e organizados) de


modo a facilitar o seu acesso e manipulao.

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Estruturas de Dados

conjunto de dados

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Estruturas de Dados

relaes entre os dados

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Estruturas de Dados

fundamental conhecer as vantagens e limitaes das diferentes estruturaes de


dados, uma vez que o bom desempenho destas depende dos problemas em causa
(no existe uma estrutura de dados que funcione bem em todas as circunstncias) .

Algoritmia. BE + EEC + EINF

16

2011-2012 .

Clculo

Pedro Melo Pinto + UTAD

(multiplicao de dois nmeros inteiros)

EXEMPLO

Como multiplicar 934 por 413 ?

Algoritmia. BE + EEC + EINF

17

2011-2012 .

Clculo

Pedro Melo Pinto + UTAD

(multiplicao de dois nmeros inteiros)

EXEMPLO

Como multiplicar 934 por 413 ?

qual o algoritmo para


multiplicar dois nmeros inteiros

?
8

Algoritmia. BE + EEC + EINF

18

2011-2012 .

Clculo

Pedro Melo Pinto + UTAD

(multiplicao de dois nmeros inteiros)

EXEMPLO

(1478)
Arte dell'Abbaco
Autor annimo, Treviso.

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

19

2011-2012 .

Apostas

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

(1735) A cidade de Knigsberg na Prssia (actualmente


Kaliningrad, Rssia) situa-se nas margens do rio Pregel
(actualmente Pregolya), formando duas ilhas que esto
ligadas entre si e com as margens atravs de sete pontes.

Algoritmia. BE + EEC + EINF

20

2011-2012 .

Apostas

Pedro Melo Pinto + UTAD

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

Os habitantes de Knigsberg mantinham entre si uma


discusso que correspondia ao seguinte problema:
Encontrar o caminho pela cidade que atravessasse cada
ponte uma e uma s vez.
(as ilhas s so acessveis atravs das pontes e cada
ponte ter de ser percorrida completamente)

Algoritmia. BE + EEC + EINF

21

2011-2012 .

Apostas

Pedro Melo Pinto + UTAD

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

Os habitantes de Knigsberg mantinham entre si uma


discusso que correspondia ao seguinte problema:
Encontrar o caminho pela cidade que atravessasse cada
ponte uma e uma s vez.
(as ilhas s so acessveis atravs das pontes e cada
ponte ter de ser percorrida completamente)

10

Algoritmia. BE + EEC + EINF

22

2011-2012 .

Apostas

Pedro Melo Pinto + UTAD

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

dito de outro modo,


qual o algoritmo para fazer o caminho pela cidade,
atravessando cada uma das pontes uma e uma s vez

Os habitantes de Knigsberg mantinham entre si uma


discusso que correspondia ao seguinte problema:
Encontrar o caminho pela cidade que atravessasse cada
ponte uma e uma s vez.
(as ilhas s so acessveis atravs das pontes e cada
ponte ter de ser percorrida completamente)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

23

2011-2012 .

Apostas

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

Euler provou que o problema no tinha soluo.


Primeiro mostrou que a escolha do caminho em terra irrelevante.
A caracterstica determinante para o problema a sequncia de
atravessamento das pontes.
Assim, reformulou o problema em termos abstractos, mantendo
somente as caractersticas relevantes.

11

Algoritmia. BE + EEC + EINF

24

2011-2012 .

Apostas

Pedro Melo Pinto + UTAD

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

Euler provou que o problema no tinha soluo.


Primeiro mostrou que a escolha do caminho em terra irrelevante.
A caracterstica determinante para o problema a sequncia de
atravessamento das pontes.
Assim, reformulou o problema em termos abstractos, mantendo
somente as caractersticas relevantes.

Algoritmia. BE + EEC + EINF

25

Pedro Melo Pinto + UTAD

2011-2012 .

Apostas

(caminho na cidade de Knigsberg)

EXEMPLO

( T. Cormen et al. Introduction to Algorithms, 2nd edition. )

Em seguida Euler observou que (exceptuando nos vrtices terminais do caminho)


a entrada e sada de um vrtice ter de ser feita atravs de uma ponte (ligao).
Ou seja, num caminho (exceptuando nos vrtices terminais do caminho) o nmero
de vezes que se chega a determinado vrtice tem de ser igual ao nmero de vezes
que se sai.
Se cada ponte s pode ser atravessada uma e uma s vez, o nmero de pontes tem
de ser par. Mais, cada zona de terra servida por um nmero mpar de pontes (3 ou 5).

Logo, o problema no tem soluo.

12

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Correco

Diz-se que um algoritmo correcto se, para cada entrada, termina com a sada (ou

resultado) correcta, resolvendo deste modo o problema computacional em causa.


Um algoritmo incorrecto pode no parar com algumas entradas,
ou faz-lo mas com uma sada incorrecta.

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Especificao

Um algoritmo pode ser especificado em Ingls (ou Portugus), como um programa de


computador ou pode, inclusive, ser implementado directamente no hardware.
Em qualquer dos casos o requisito sempre o mesmo:
essa especificao deve providenciar uma descrio precisa do
processo computacional a ser executado.

13

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Eficcia

Dois algoritmos podem ter eficcia completamente distinta na resoluo de

determinado problema, e estas diferenas podem ser muito mais significativas do


que as devidas ao hardware ou ao software.

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Eficcia

A eficcia de um algoritmos est relacionada com a sua velocidade


de execuo e com os recursos de memria gastos.

14

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Algoritmia

algumas aplicaes

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Genoma Humano
Algoritmos para determinar os 3 mil milhes de sequncias do pares base que
constituem o DNA humano.

Internet
Algoritmos para manipulao de grandes quantidades de informao.
Caminhos. Pesquisa.

Comrcio electrnico
Salvaguardar a privacidade da informao sobre cartes de crdito, passwords, etc.
Algoritmos numricos e teoria dos nmeros.

Planeamento. Mobilidade
Algoritmo para determinar o caminho melhor entre dois pontos num mapa.
Grafo. Caminho mais curto.

15

Algoritmia. BE + EEC + EINF

32

2011-2012 .

Pedro Melo Pinto + UTAD

Transportes
(Transportes Ferrovirios Hankyu, Japo. Mapa, 2007)

Algoritmia. BE + EEC + EINF

33

2011-2012 .

Pedro Melo Pinto + UTAD

Transportes
(Ligaes Areas europeias. Mapa, 2008)

16

Algoritmia. BE + EEC + EINF

34

2011-2012 .

35

2011-2012 .

Pedro Melo Pinto + UTAD

Microprocessadores
(Circuito Lgico , 1970 )

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Microprocessadores
(Primeiro microprocessador da Intel - 4004, 1971)

17

Algoritmia. BE + EEC + EINF

36

2011-2012 .

37

2011-2012 .

Pedro Melo Pinto + UTAD

Cincia dos Computadores


(Programao Gentica, 2004)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Biologia / Neurocincias
(Cultura de Tecidos Neuronais, 2005)

18

Algoritmia. BE + EEC + EINF

38

2011-2012 .

39

2011-2012 .

Pedro Melo Pinto + UTAD

Gentica
(Interaco de Protenas na Levedura, 2000)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Sade Pblica
(Evoluo de Infeco no Tempo, 2009)

19

Algoritmia. BE + EEC + EINF

40

2011-2012 .

42

2011-2012 .

Pedro Melo Pinto + UTAD

Sade Pblica
(Evoluo de Infeco no Tempo, 2009)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

msn.com

Internet
(Estrutura dos Stios Web - tags, 2006)

20

Algoritmia. BE + EEC + EINF

43

2011-2012 .

45

2011-2012 .

Pedro Melo Pinto + UTAD

yahoo.com

Internet
(Estrutura dos Stios Web - tags, 2006)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Tecnologia
(Planeamento de Percursos, 2008)

21

Algoritmia. BE + EEC + EINF

46

2011-2012 .

47

2011-2012 .

Pedro Melo Pinto + UTAD

Tecnologia
(Planeamento de Percursos, 2008)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Tecnologia
(Planeamento de Percursos, 2008)

22

Algoritmia. BE + EEC + EINF

48

2011-2012 .

Pedro Melo Pinto + UTAD

Tecnologia
(Sistema de Navegao em Tempo Real. UTAD PT Inovao, 2002)

Algoritmia. BE + EEC + EINF

49

2011-2012 .

Pedro Melo Pinto + UTAD

Tecnologia
(Sistema de Navegao em Tempo Real. UTAD PT Inovao, 2002)

23

Algoritmia. BE + EEC + EINF

50

2011-2012 .

51

2011-2012 .

Pedro Melo Pinto + UTAD

Redes Sociais
(Relacionamentos Pessoais, 2005)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Redes Sociais
(Relacionamentos Pessoais, 2004)

24

Algoritmia. BE + EEC + EINF

52

2011-2012 .

54

2011-2012 .

Pedro Melo Pinto + UTAD

Redes Sociais
(Relacionamentos Pessoais, 2004)

Algoritmia. BE + EEC + EINF


Pedro Melo Pinto + UTAD

Internet
(Mapa das Ligaes Internet - Europa, 2007)

25

Algoritmia. BE + EEC + EINF

55

2011-2012 .

Pedro Melo Pinto + UTAD

Internet
(Mapa das Ligaes Internet Amrica do Norte, 2007)

Algoritmia. BE + EEC + EINF

56

2011-2012 .

Pedro Melo Pinto + UTAD

Biologia
(Seguimento de Objectos. UTAD - UPNa, 2009-2012)

26

57

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Biologia
(Seguimento de Objectos. UTAD - UPNa, 2009-2012)

58

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Wavelength (nm)

Wavelength (nm)

Position (Pixels)

Light Intensity (a.u.)

Light Reflected by a Grape


Light Intensity (a.u.)

Incident Light

Position (Pixels)

Viticultura
(Anlise de componentes utilizando imagens hiperespectrais. UTAD - URioja, 2010-2012)

27

Algoritmia. BE + EEC + EINF

59

2011-2012 .

Pedro Melo Pinto + UTAD

Segurana
(Seguimento de Pessoas. UTAD - UPNa, 2009-2012)

Algoritmia. BE + EEC + EINF

60

2011-2012 .

Pedro Melo Pinto + UTAD

Segurana
(Seguimento de Objectos (Pessoas). UTAD - UPNa, 2009-2012)

28

Algoritmia. BE + EEC + EINF

2011-2012 .

Pedro Melo Pinto + UTAD

Segurana
(Seguimento de Pessoas. UTAD - UPNa, 2009-2012)

29

Das könnte Ihnen auch gefallen