206
Em que consiste a ciência, na computação? S. C. Coutinho Instituto de Matem´ atica–UFRJ Open House 2009 – p. 1/50

Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Embed Size (px)

Citation preview

Page 1: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Em que consiste a ciência, nacomputação?

S. C. Coutinho

Instituto de Matematica–UFRJ

Open House 2009 – p. 1/50

Page 2: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Algumas perguntas

Open House 2009 – p. 2/50

Page 3: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Algumas perguntas

O que é ciência da computação?

Open House 2009 – p. 2/50

Page 4: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Algumas perguntas

O que é ciência da computação?

O que é um computador ?

Open House 2009 – p. 2/50

Page 5: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Algumas perguntas

O que é ciência da computação?

O que é um computador ?

Existia ciência da computação antes do computador?

Open House 2009 – p. 2/50

Page 6: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Segundo a Wikipedia

Open House 2009 – p. 3/50

Page 7: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Segundo a Wikipedia

Um computador é uma máquina que manipula dadosde acordo com um conjunto de instruções.

Open House 2009 – p. 3/50

Page 8: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Segundo a Wikipedia

Um computador é uma máquina que manipula dadosde acordo com umconjunto de instruções.

Open House 2009 – p. 3/50

Page 9: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Segundo a Wikipedia

Um computador é uma máquina que manipula dadosde acordo com um programa.

Open House 2009 – p. 3/50

Page 10: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Open House 2009 – p. 4/50

Page 11: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of these computers, and the accountsof these days are very different (...)

Open House 2009 – p. 4/50

Page 12: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Open House 2009 – p. 4/50

Page 13: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Sir Thomas Browne

Open House 2009 – p. 4/50

Page 14: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Sir Thomas BrownePseudodoxia Epidemica

Open House 2009 – p. 4/50

Page 15: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Sir Thomas BrowneErros Vulgares

Open House 2009 – p. 4/50

Page 16: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Sir Thomas BrowneErros Vulgares (1646)

Open House 2009 – p. 4/50

Page 17: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Sir Thomas BrowneErros Vulgares (1646)

Portanto, naquela épocacomputerera umapessoaquefazia cálculos,

Open House 2009 – p. 4/50

Page 18: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computer

Now it is manifest, and most men likewise know, thatthe Calenders of thesecomputers, and the accountsof these days are very different (...)

Sir Thomas BrowneErros Vulgares (1646)

Portanto, naquela épocacomputerera umapessoaquefazia cálculos, como os que são necessários para fazerum calendário.

Open House 2009 – p. 4/50

Page 19: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Duas conclusões

Open House 2009 – p. 5/50

Page 20: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Duas conclusões

No passado:

Open House 2009 – p. 5/50

Page 21: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Duas conclusões

No passado:

• um computador era umapessoanão umamáquina;

Open House 2009 – p. 5/50

Page 22: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Duas conclusões

No passado:

• um computador era umapessoanão umamáquina;

• os cálculos estavam frequentemente associados àastronomia:

Open House 2009 – p. 5/50

Page 23: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Duas conclusões

No passado:

• um computador era umapessoanão umamáquina;

• os cálculos estavam frequentemente associados àastronomia: calendário, eclipes, posição dosplanetas, etc.

Open House 2009 – p. 5/50

Page 24: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Duas conclusões

No passado:

• um computador era umapessoanão umamáquina;

• os cálculos estavam frequentemente associados àastronomia: calendário, eclipes, posição dosplanetas, etc.

• tais cálculos são geralmente muito laboriosos.

Open House 2009 – p. 5/50

Page 25: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia perdida no tempo...

Open House 2009 – p. 6/50

Page 26: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia perdida no tempo...

Que tal inventar uma máquina capaz de efetuarcálculos repetitivos e laboriosos?

Open House 2009 – p. 6/50

Page 27: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

Open House 2009 – p. 7/50

Page 28: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Antikhytera, 100 a.C.

Open House 2009 – p. 8/50

Page 29: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Antikhytera, 100 a.C.

Open House 2009 – p. 8/50

Page 30: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Pascal, 1652

Open House 2009 – p. 9/50

Page 31: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Pascal, 1652

Open House 2009 – p. 9/50

Page 32: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Jacquard, 1801

Open House 2009 – p. 10/50

Page 33: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Jacquard, 1801

Open House 2009 – p. 10/50

Page 34: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1822

Open House 2009 – p. 11/50

Page 35: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1822

Open House 2009 – p. 11/50

Page 36: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837

Open House 2009 – p. 12/50

Page 37: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

Open House 2009 – p. 12/50

Page 38: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

• movido a vapor;

Open House 2009 – p. 12/50

Page 39: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

• movido a vapor;• totalmente programável;

Open House 2009 – p. 12/50

Page 40: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

• movido a vapor;• totalmente programável;• usava cartões perfurados como Jacquard;

Open House 2009 – p. 12/50

Page 41: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

• movido a vapor;• totalmente programável;• usava cartões perfurados como Jacquard;• saída seria impressa;

Open House 2009 – p. 12/50

Page 42: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

• movido a vapor;• totalmente programável;• usava cartões perfurados como Jacquard;• saída seria impressa;• linguagem semelhante a “assembler”;

Open House 2009 – p. 12/50

Page 43: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Babbage, 1837O analytical engine:

• movido a vapor;• totalmente programável;• usava cartões perfurados como Jacquard;• saída seria impressa;• linguagem semelhante a “assembler”;• nunca chegou a ser construído.

Open House 2009 – p. 12/50

Page 44: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ada Lovelace, 1815-1852

Open House 2009 – p. 13/50

Page 45: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ada Lovelace, 1815-1852

Open House 2009 – p. 13/50

Page 46: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ada Lovelace, 1842

Open House 2009 – p. 14/50

Page 47: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ada Lovelace, 1842

“Podemos dizer de maneira muito apta que oAnalytical Engine tece padrões algébricos exatamentecomo o tear de Jacquard tece flores e folhas.”

Open House 2009 – p. 14/50

Page 48: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ada Lovelace, 1842

“Podemos dizer de maneira muito apta que oAnalytical Engine tece padrões algébricos exatamentecomo o tear de Jacquard tece flores e folhas.”

Escreveu programas para amáquina anlíticadeBabbage.

Open House 2009 – p. 14/50

Page 49: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Porém,

Open House 2009 – p. 15/50

Page 50: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Porém,

A ciência da computação é sobre computadores tantoquanto a astronomia é sobre telescópios.

Open House 2009 – p. 15/50

Page 51: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Porém,

A ciência da computação é sobre computadores tantoquanto a astronomia é sobre telescópios.

E. W. Dijkstra

Open House 2009 – p. 15/50

Page 52: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Edsger Dijkstra, 1930-2002

Open House 2009 – p. 16/50

Page 53: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Edsger Dijkstra, 1930-2002

Open House 2009 – p. 16/50

Page 54: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?

Open House 2009 – p. 17/50

Page 55: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,

Open House 2009 – p. 17/50

Page 56: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.

Open House 2009 – p. 17/50

Page 57: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

Open House 2009 – p. 17/50

Page 58: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;

Open House 2009 – p. 17/50

Page 59: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;• sistemas operacionais;

Open House 2009 – p. 17/50

Page 60: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;• sistemas operacionais;• processamento distribuído;

Open House 2009 – p. 17/50

Page 61: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;• sistemas operacionais;• processamento distribuído;• especificação formal de programas;

Open House 2009 – p. 17/50

Page 62: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;• sistemas operacionais;• processamento distribuído;• especificação formal de programas;• desenvolvimento de algoritmos;

Open House 2009 – p. 17/50

Page 63: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;• sistemas operacionais;• processamento distribuído;• especificação formal de programas;• desenvolvimento de algoritmos;• desenvolvimento de programas;

Open House 2009 – p. 17/50

Page 64: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

• linguagens de programação;• sistemas operacionais;• processamento distribuído;• especificação formal de programas;• desenvolvimento de algoritmos;• desenvolvimento de programas;• desenvolvimento de argumentos matemáticos.

Open House 2009 – p. 17/50

Page 65: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quem foi Dijkstra?Pioneiro da computação,programadordaUniversidade de Amsterdam entre 1952 e 1962.Contribuiu para:

... quase tudo ...

Open House 2009 – p. 17/50

Page 66: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

Open House 2009 – p. 18/50

Page 67: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre

Open House 2009 – p. 18/50

Page 68: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação;

Open House 2009 – p. 18/50

Page 69: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação; isto é:

Open House 2009 – p. 18/50

Page 70: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação; isto é:• o que deve ser uma computação;

Open House 2009 – p. 18/50

Page 71: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação; isto é:• o que deve ser uma computação;• o que pode e o que não pode ser computado;

Open House 2009 – p. 18/50

Page 72: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação; isto é:• o que deve ser uma computação;• o que pode e o que não pode ser computado;• como fazê-lo quando é possível;

Open House 2009 – p. 18/50

Page 73: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação; isto é:• o que deve ser uma computação;• o que pode e o que não pode ser computado;• como fazê-lo quando é possível;• qual o custo de uma computação;

Open House 2009 – p. 18/50

Page 74: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Definição

A Ciência da Computação é sobre computação; isto é:• o que deve ser uma computação;• o que pode e o que não pode ser computado;• como fazê-lo quando é possível;• qual o custo de uma computação;

e coisas do gênero.

Open House 2009 – p. 18/50

Page 75: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que é uma computação?

Open House 2009 – p. 19/50

Page 76: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alan Turing, 1912-1954

Open House 2009 – p. 20/50

Page 77: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alan Turing, 1912-1954

Open House 2009 – p. 20/50

Page 78: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Open House 2009 – p. 21/50

Page 79: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Segundo Turing,

Open House 2009 – p. 21/50

Page 80: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Segundo Turing, o que um “computador humano”efetuando cálculos segundo regras pré-estabelecidasfaz resume-se em:

Open House 2009 – p. 21/50

Page 81: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Segundo Turing, o que um “computador humano”efetuando cálculos segundo regras pré-estabelecidasfaz resume-se em:

• ler uma instrução e guardá-la na memória;

Open House 2009 – p. 21/50

Page 82: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Segundo Turing, o que um “computador humano”efetuando cálculos segundo regras pré-estabelecidasfaz resume-se em:

• ler uma instrução e guardá-la na memória;• escrever símbolos em um papel quadriculado;

Open House 2009 – p. 21/50

Page 83: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Segundo Turing, o que um “computador humano”efetuando cálculos segundo regras pré-estabelecidasfaz resume-se em:

• ler uma instrução e guardá-la na memória;• escrever símbolos em um papel quadriculado;• manipular estes símbolos, escrevendo-os ou

apagando-os.

Open House 2009 – p. 21/50

Page 84: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Open House 2009 – p. 22/50

Page 85: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Portanto,

Open House 2009 – p. 22/50

Page 86: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Portanto, uma máquina que imita um “computadorhumano” precisa de:

Open House 2009 – p. 22/50

Page 87: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Portanto, uma máquina que imita um “computadorhumano” precisa de:

• um “estado mental” onde lembrar as instruções;

Open House 2009 – p. 22/50

Page 88: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Portanto, uma máquina que imita um “computadorhumano” precisa de:

• um “estado mental” onde lembrar as instruções;• uma memória equivalente ao papel quadriculado;

Open House 2009 – p. 22/50

Page 89: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que um computador faz?

Portanto, uma máquina que imita um “computadorhumano” precisa de:

• um “estado mental” onde lembrar as instruções;• uma memória equivalente ao papel quadriculado;• capacidade de escrever e apagar da memória e de

mudar seu “estado mental”.

Open House 2009 – p. 22/50

Page 90: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Open House 2009 – p. 23/50

Page 91: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Existe uma máquina capaz de executar qualquerprograma que se possa fazer.

Open House 2009 – p. 23/50

Page 92: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Existe uma máquina capaz de executar qualquerprograma que se possa fazer.

Isto não é óbvio:

Open House 2009 – p. 23/50

Page 93: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Existe uma máquina capaz de executar qualquerprograma que se possa fazer.

Isto não é óbvio: a demonstração é dada ao final docurso de linguagens formais.

Open House 2009 – p. 23/50

Page 94: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Existe uma máquina capaz de executar qualquerprograma que se possa fazer.

Em sua versão abstrata, tais máquinas são conhecidascomoMáquinas de Turing Universais.

Open House 2009 – p. 23/50

Page 95: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Existe uma máquina capaz de executar qualquerprograma que se possa fazer.

Em sua versão abstrata, tais máquinas são conhecidascomoMáquinas de Turing Universais. Sua versãoconcreta é chamada simplesmente

Open House 2009 – p. 23/50

Page 96: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Ideia-chave do Turing

Existe uma máquina capaz de executar qualquerprograma que se possa fazer.

Em sua versão abstrata, tais máquinas são conhecidascomoMáquinas de Turing Universais. Sua versãoconcreta é chamada simplesmente computador.

Open House 2009 – p. 23/50

Page 97: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Tese de Church-Turing

Open House 2009 – p. 24/50

Page 98: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Tese de Church-Turing

Um problema admite umasolução computacionalseexiste um programa que resolve este problema e quepode ser implementado em

Open House 2009 – p. 24/50

Page 99: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Tese de Church-Turing

Um problema admite umasolução computacionalseexiste um programa que resolve este problema e quepode ser implementado em uma máquina de Turing

Open House 2009 – p. 24/50

Page 100: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Tese de Church-Turing

Um problema admite umasolução computacionalseexiste um programa que resolve este problema e quepode ser implementado em um computador.

Open House 2009 – p. 24/50

Page 101: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Existe algum problema que nãopossa ser resolvido

computacionalmente?

Open House 2009 – p. 25/50

Page 102: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alan Turing, 1936

Open House 2009 – p. 26/50

Page 103: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alan Turing, 1936

SIM!

Open House 2009 – p. 26/50

Page 104: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Open House 2009 – p. 27/50

Page 105: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

Open House 2009 – p. 27/50

Page 106: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

Open House 2009 – p. 27/50

Page 107: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Open House 2009 – p. 27/50

Page 108: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Este não foi o problema original tratado pelo Turing,

Open House 2009 – p. 27/50

Page 109: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Este não foi o problema original tratado pelo Turing,o problema original chama-se

Open House 2009 – p. 27/50

Page 110: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Este não foi o problema original tratado pelo Turing,o problema original chama-se Entscheidungsproblem

Open House 2009 – p. 27/50

Page 111: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Este não foi o problema original tratado pelo Turing,o problema original chama-se Problema da decisão.

Open House 2009 – p. 27/50

Page 112: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Este não foi o problema original tratado pelo Turing,o problema original chama-se Problema da decisão.O problema da paradadata de 1952.

Open House 2009 – p. 27/50

Page 113: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Usando ideias do Turing podemos provar que:

Open House 2009 – p. 27/50

Page 114: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Existe um programaH capaz de decidir

dado um programa qualquerP e uma entradaE deP

seP para ou não com entradaE?

Usando ideias do Turing podemos provar que:

não existe um programaH que resolva oproblema da parada!

Open House 2009 – p. 27/50

Page 115: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Open House 2009 – p. 28/50

Page 116: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Ideia fundamental:

Open House 2009 – p. 28/50

Page 117: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Problema da parada

Ideia fundamental:

reduzir o problema a um paradoxo deauto-referência.

Open House 2009 – p. 28/50

Page 118: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo

Open House 2009 – p. 29/50

Page 119: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo

Segundo a Wikipedia:

Open House 2009 – p. 29/50

Page 120: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo

Segundo a Wikipedia:

paradoxo é uma declaração aparentementeverdadeira que leva a uma contradiçãológica, ou a uma situação que contradiz aintuição comum.

Open House 2009 – p. 29/50

Page 121: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

Open House 2009 – p. 30/50

Page 122: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Open House 2009 – p. 31/50

Page 123: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Aquiles vai correr contra uma tartaruga.

Open House 2009 – p. 31/50

Page 124: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Como a tartaruga tem a metade da sua velocidade,Aquiles deixa que parta 100 m à sua frente.

A T

Open House 2009 – p. 31/50

Page 125: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Quando Aquiles percorrer os 100 m a tartarugapercorreu 50m e continua à sua frente.

A T

A T

Open House 2009 – p. 31/50

Page 126: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Quando Aquiles percorrer os 50 m a tartarugapercorreu 25m e continua à sua frente.

A T

A T

A T

Open House 2009 – p. 31/50

Page 127: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Continuando assim, Aquiles nunca alcançará atartaruga!

A T

A T

A T

Open House 2009 – p. 31/50

Page 128: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Continuando assim, Aquiles nunca alcançará atartaruga!

Conclusão do Zeno:

Open House 2009 – p. 31/50

Page 129: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Paradoxo de Zeno

Continuando assim, Aquiles nunca alcançará atartaruga!

Conclusão do Zeno: não existe movimento!

Open House 2009 – p. 31/50

Page 130: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

M. C. Escher

Open House 2009 – p. 32/50

Page 131: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

M. C. Escher

Uma imagem paradoxal.

Open House 2009 – p. 32/50

Page 132: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

M. C. Escher

Uma imagem paradoxal.

Open House 2009 – p. 32/50

Page 133: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

M. C. Escher

Open House 2009 – p. 33/50

Page 134: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

M. C. Escher

Uma imagem paradoxal, com auto-referência.

Open House 2009 – p. 33/50

Page 135: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

M. C. Escher

Uma imagem paradoxal, com auto-referência.

Open House 2009 – p. 33/50

Page 136: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Open House 2009 – p. 34/50

Page 137: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

Open House 2009 – p. 34/50

Page 138: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

(P,E) // H //SIM

��

NÃO

Open House 2009 – p. 34/50

Page 139: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

(P,E) // H //SIM

��

NÃOSIM = P para com entrada E.

Open House 2009 – p. 34/50

Page 140: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

(P,E) // H //SIM

��

NÃOSIM = P para com entrada E.NÃO = P não para com entrada E.

Open House 2009 – p. 34/50

Page 141: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

P //(P,P) // H //SIM

��

NÃO

Open House 2009 – p. 35/50

Page 142: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

P //(P,P) // H //LOOP

��

NÃO

Open House 2009 – p. 36/50

Page 143: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Suponha que o programaH existe.

P //(P,P) // H //LOOP

��

NÃOLOOP = o programa entra em loop infinito e não para

Open House 2009 – p. 36/50

Page 144: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

SeH existe entãoH também existe.

P //H

//LOOP

��

NÃO

Open House 2009 – p. 37/50

Page 145: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O que obtemos se dermos aH aentrada H?

Open House 2009 – p. 38/50

Page 146: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

Open House 2009 – p. 39/50

Page 147: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

Open House 2009 – p. 39/50

Page 148: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = NÃO

Open House 2009 – p. 39/50

Page 149: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = NÃO⇒ H(H, H) = SIM

Open House 2009 – p. 39/50

Page 150: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = NÃO⇒ H(H, H) = SIM⇒ H entra em LOOP com entradaH.

Open House 2009 – p. 39/50

Page 151: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = NÃO⇒ H(H, H) = SIM⇒ H entra em LOOP com entradaH.Contradição.

Open House 2009 – p. 39/50

Page 152: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = LOOP.

Open House 2009 – p. 39/50

Page 153: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = LOOP.⇒ H(H, H) = NÃO.

Open House 2009 – p. 39/50

Page 154: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = LOOP.⇒ H(H, H) = NÃO.⇒ H para com entradaH e tem saída NÃO.

Open House 2009 – p. 39/50

Page 155: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

SuponhamosH(H) = LOOP.⇒ H(H, H) = NÃO.⇒ H para com entradaH e tem saída NÃO.Contradição.

Open House 2009 – p. 39/50

Page 156: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

Portanto:

Open House 2009 – p. 39/50

Page 157: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Problema da Parada

H(P ) =

{

NÃO seP nãopara com entradaP .LOOP seP para com entradaP .

Portanto:

não importa o que aconteça, obtemos umacontradição.

Open House 2009 – p. 39/50

Page 158: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Não computabilidade

Outros problemas não computáveis incluem:

Open House 2009 – p. 40/50

Page 159: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Não computabilidade

Outros problemas não computáveis incluem:

• antivírus universal;

Open House 2009 – p. 40/50

Page 160: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Não computabilidade

Outros problemas não computáveis incluem:

• antivírus universal;

• descompilação;

Open House 2009 – p. 40/50

Page 161: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Não computabilidade

Outros problemas não computáveis incluem:

• antivírus universal;

• descompilação;

• soluções de equações diofantinas.

Open House 2009 – p. 40/50

Page 162: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

Open House 2009 – p. 41/50

Page 163: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;

Open House 2009 – p. 41/50

Page 164: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;• problemas não computáveis;

Open House 2009 – p. 41/50

Page 165: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;• problemas não computáveis;• o Bombe;

Open House 2009 – p. 41/50

Page 166: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;• problemas não computáveis;• o Bombe;• Manchester Mark 1;

Open House 2009 – p. 41/50

Page 167: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;• problemas não computáveis;• o Bombe;• Manchester Mark 1;• as bases químicas da morfogênese;

Open House 2009 – p. 41/50

Page 168: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;• problemas não computáveis;• o Bombe;• Manchester Mark 1;• as bases químicas da morfogênese;• primeiras simulações em computador;

Open House 2009 – p. 41/50

Page 169: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Contribuições do Turing

• modelo de computação;• problemas não computáveis;• o Bombe;• Manchester Mark 1;• as bases químicas da morfogênese;• primeiras simulações em computador;• teste de Turing.

Open House 2009 – p. 41/50

Page 170: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Manchester Mark 1, 1949

Open House 2009 – p. 42/50

Page 171: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

O Manchester Mark 1, 1949

Open House 2009 – p. 42/50

Page 172: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Porém,

Open House 2009 – p. 43/50

Page 173: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Porém,

Perguntar se uma máquina pode pensar...é tãorelevante quanto perguntar se um submarino podenadar...

Open House 2009 – p. 43/50

Page 174: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Porém,

Perguntar se uma máquina pode pensar...é tãorelevante quanto perguntar se um submarino podenadar...

E. Dijkstra

Open House 2009 – p. 43/50

Page 175: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Como resolver um problemacomputacionalmente quando é

possível?

Open House 2009 – p. 44/50

Page 176: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Solução computacional

Open House 2009 – p. 45/50

Page 177: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Solução computacional

Não existe receita universal,

Open House 2009 – p. 45/50

Page 178: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Solução computacional

Não existe receita universal, nem existe métodouniversal para encontrá-las

Open House 2009 – p. 45/50

Page 179: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Solução computacional

Não existe receita universal, nem existe métodouniversal para encontrá-las

Cada caso é um caso!

Open House 2009 – p. 45/50

Page 180: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

Open House 2009 – p. 46/50

Page 181: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

• busca binária: combinatória;

Open House 2009 – p. 46/50

Page 182: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

• busca binária: combinatória;

• fatoração: teoria de números;

Open House 2009 – p. 46/50

Page 183: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

• busca binária: combinatória;

• fatoração: teoria de números;

• fractais: cálculo;

Open House 2009 – p. 46/50

Page 184: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

• busca binária: combinatória;

• fatoração: teoria de números;

• fractais: cálculo;

• “ray tracing”: óptica;

Open House 2009 – p. 46/50

Page 185: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

• busca binária: combinatória;

• fatoração: teoria de números;

• fractais: cálculo;

• “ray tracing”: óptica;

• criptografia quântica: mecânica quântica;

Open House 2009 – p. 46/50

Page 186: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Alguns exemplos

• busca binária: combinatória;

• fatoração: teoria de números;

• fractais: cálculo;

• “ray tracing”: óptica;

• criptografia quântica: mecânica quântica;

• movimento de líquidos e gases: mecânica dosfluidos.

Open House 2009 – p. 46/50

Page 187: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computação segundo o Dijkstra

Open House 2009 – p. 47/50

Page 188: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computação segundo o Dijkstra

...isto nos dá uma indicação clara de onde localizar aciência da computação no mapa-mundi das disciplinasintelectuais:

Open House 2009 – p. 47/50

Page 189: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computação segundo o Dijkstra

...isto nos dá uma indicação clara de onde localizar aciência da computação no mapa-mundi das disciplinasintelectuais: na direção da matemática formal e dalógica aplicada,

Open House 2009 – p. 47/50

Page 190: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computação segundo o Dijkstra

...isto nos dá uma indicação clara de onde localizar aciência da computação no mapa-mundi das disciplinasintelectuais: na direção da matemática formal e dalógica aplicada, mas, em última análise, muito alémde onde estas se encontram atualmente,

Open House 2009 – p. 47/50

Page 191: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Computação segundo o Dijkstra

...isto nos dá uma indicação clara de onde localizar aciência da computação no mapa-mundi das disciplinasintelectuais: na direção da matemática formal e dalógica aplicada, mas, em última análise, muito alémde onde estas se encontram atualmente, porque aciência da computação está interessada no uso efetivode métodos formais e em escala muito, muito maiordo que testemunhamos até agora.

Open House 2009 – p. 47/50

Page 192: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Mais opiniões do Dijkstra

Open House 2009 – p. 48/50

Page 193: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopulares

Open House 2009 – p. 49/50

Page 194: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs,

Open House 2009 – p. 49/50

Page 195: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

Open House 2009 – p. 49/50

Page 196: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstração deve ser considerada como uma dasatividades mais vitais de um programador competente.

Open House 2009 – p. 49/50

Page 197: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstraçãodeve ser considerada como uma dasatividades mais vitais de um programador competente.

Open House 2009 – p. 49/50

Page 198: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstraçãodeve ser considerada como uma dasatividades mais vitais de um programador competente.

Além de inclinação para a matemática,

Open House 2009 – p. 49/50

Page 199: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstraçãodeve ser considerada como uma dasatividades mais vitais de um programador competente.

Além de inclinação para a matemática, um domínioexcepcionalmente bom de sua língua nativa é um dosrecursos mais vitais de um programador competente.

Open House 2009 – p. 49/50

Page 200: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstraçãodeve ser considerada como uma dasatividades mais vitais de um programador competente.

Além de inclinação para a matemática, um domínioexcepcionalmente bom de sua língua nativa é um dosrecursos mais vitais de um programador competente.

Como convencer as pessoas de que, em programação,simplicidade e clareza

Open House 2009 – p. 49/50

Page 201: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstraçãodeve ser considerada como uma dasatividades mais vitais de um programador competente.

Além de inclinação para a matemática, um domínioexcepcionalmente bom de sua língua nativa é um dosrecursos mais vitais de um programador competente.

Como convencer as pessoas de que, em programação,simplicidade e clareza – o que os matemáticoschaman “elegância” –

Open House 2009 – p. 49/50

Page 202: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Quatro conselhos impopularesTestar um programa pode ser usado para indicar apresença de bugs, mas nunca a sua ausência!

A exploração efetiva de seus próprios poderes deabstraçãodeve ser considerada como uma dasatividades mais vitais de um programador competente.

Além de inclinação para a matemática, um domínioexcepcionalmente bom de sua língua nativa é um dosrecursos mais vitais de um programador competente.

Como convencer as pessoas de que, em programação,simplicidade e clareza – o que os matemáticos chaman“elegância” – não são luxos dispensáveis, but questõescruciais, que decidem entre sucesso e fracasso?

Open House 2009 – p. 49/50

Page 203: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Um pensamento final

Open House 2009 – p. 50/50

Page 204: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Um pensamento final

Não é tarefa da universidade oferecer o que asociedade pede,

Open House 2009 – p. 50/50

Page 205: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Um pensamento final

Não é tarefa da universidade oferecer o que asociedade pede, mas sim aquilo que a sociedadeprecisa.

Open House 2009 – p. 50/50

Page 206: Em que consiste a ciência, na computação? - dcc.ufrj.brcollier/Palestras/computacao.pdf · Algumas perguntas O que é ciência da computação? O que é um computador ? Existia

Um pensamento final

Não é tarefa da universidade oferecer o que asociedade pede, mas sim aquilo que a sociedadeprecisa.

E. Dijkstra

Open House 2009 – p. 50/50