Desenvolvimento de ambientes 3D para Web usando Three JS
Algoritmos, Inteligência Artificial e Políticas Públicas
1. Estudos Diversificados II (ED II)
Escola Politécnica da Universidade de São Paulo
Nathalia Sautchuk Patrício
Algoritmos, Inteligência
Artificial e Políticas Públicas
2. Black Mirror
• Be right back (Temporada 2, Episódio 1)
• Playtest (Temporada 3, Episódio 2)
• Men Against Fire (Temporada 3, Episódio 5)
3. Governo de Algoritmos
• Caso Agência de Proteção Ambiental
• Caso Public Safety Assessment
• Caso Google
4. Conceitos Iniciais
• O homem quer resolver seus problemas com
maior rapidez e menos esforço possíveis
(automatização)
• O computador automatiza tarefas rotineiras
5. Conceitos Iniciais
• Tarefas realizadas automaticamente pelo
computador precisam ser pensadas e colocadas
em uma sequência de ações
• A sequência de ações é um programa
• A fase de formular soluções que gerem
programas denomina-se Lógica de Programação
6. Conceitos Iniciais
• A meta principal de qualquer programador:
–Resolver problemas por meio de soluções
lógicas
–Obter resultados eficientes (corretos)
–Obter resultados eficazes (com qualidade)
7. Componentes do computador
• Todo computador é composto de duas
partes essenciais para o seu
funcionamento:
–Hardware
–Software
• Sem uma dessas partes ele não funciona
8. Componentes do computador
• Software
–Conjunto de programas que comandam o
funcionamento do hardware
–Programas são feitos a partir de algoritmos
(sequências de instruções/comandos)
–Depois de pronto, o algoritmo é convertido
para uma linguagem de programação. O
produto dessa conversão é um programa.
9. Componentes do computador
• Linguagem de programação
–Conjunto de representações e/ou regras
utilizadas para criar programas.
–Por meio delas você estabelece uma
comunicação com o computador, fazendo com
que ele compreenda e execute o que você
determinar
10. Níveis de linguagens
• Existem 3 níveis de Linguagens de
programação:
–Linguagem de máquina
–Linguagem de baixo nível
–Linguagem de alto nível
11. Níveis de linguagens
• Linguagem de máquina:
– linguagem compreendida pelo computador,
cujas instruções são representadas por vários
0 e 1 (bits)
12. O computador transforma dados em sinais elétricos.
Cada sinal, chamado Bit (binary
digit) – a menor parte de uma informação
em um computador – é representado por 0 (ausência de
eletricidade) ou 1 (presença de
eletricidade). Qualquer dado armazenado no
computador equivale a um byte
(conjunto de 8 bits).
Níveis de linguagens
13. Níveis de linguagens
• Linguagem de baixo nível:
– linguagem que utiliza instruções próximas à
compreensão do computador (linguagem de
máquina).
– exige grande conhecimento de hardware.
– Exemplo: Assembler
14. Níveis de linguagens
• Linguagem de alto nível:
– linguagem cujas instruções estão próximas
do nível de compreensão humana (linguagem
humana).
– Exemplos: Visual Basic, Delphi, C, Java,
Cobol
15. Lógica de Programação
• Lógica é a “coerência de raciocínio, de
ideias”
• Lógica é a “sequência coerente, regular e
necessária de acontecimentos, de coisas”
16. Lógica de Programação
• Lógica de programação é apenas
contextualizar a lógica na programação de
computadores
• Busca-se a melhor sequência de ações
para solucionar determinado problema
(algoritmo)
18. Atividade: Algoritmo
• Ordene a sequência abaixo
1. Sair do banco.
2. Aguardar a vez de ser atendido.
3. Entrar na fila do caixa.
4. Digitar a senha.
5. Entrar no banco.
6. Informar o valor a ser retirado.
7. Procurar a fila do caixa.
8. Pegar o comprovante do saque, o cartão eletrônico e o
dinheiro
9. Entregar o cartão eletrônico ao funcionário que atende
no caixa
10. Conferir o valor em dinheiro
19. Lógica de Programação
• Ação é um fato que, a partir de um estado
inicial, após um período de tempo finito,
produz um estado final previsível e
definido
Porta fechada Porta aberta
Ação: Abrir
Tempo: Segundos
Estado inicial Estado final
20. Algoritmo
• Para criar um algoritmo que vai solucionar
algum problema, você deve colocar as
ações na sequência, uma em cada linha.
• O algoritmo é um conjunto de ações.
21. Atividade: Algoritmo
• Ordene a sequência abaixo
1. Sair do banco.
2. Aguardar a vez de ser atendido.
3. Entrar na fila do caixa.
4. Digitar a senha.
5. Entrar no banco.
6. Informar o valor a ser retirado.
7. Procurar a fila do caixa.
8. Pegar o comprovante do saque, o cartão eletrônico e o
dinheiro
9. Entregar o cartão eletrônico ao funcionário que atende
no caixa
10. Conferir o valor em dinheiro
22. Atividade: Algoritmo
• Sequência correta
1. Entrar no banco.
2. Procurar a fila do caixa.
3. Entrar na fila do caixa.
4. Aguardar a vez de ser atendido.
5. Entregar o cartão eletrônico ao funcionário que atende
no caixa
6. Informar o valor a ser retirado.
7. Digitar a senha.
8. Pegar o comprovante do saque, o cartão eletrônico e o
dinheiro.
9. Conferir o valor em dinheiro
10. Sair do banco.
23. Formas de representação
• Há várias formas de representação do
algoritmo. As principais são:
– Pseudocódigo
– Fluxograma
24. Pseudocódigo
• Comandos escritos em língua portuguesa
• Também conhecido como português
estruturado ou portugol
• Sua característica principal é a
proximidade com a linguagem humana
26. Fluxograma
• Utiliza figuras para representar o fluxo de
dados e os comandos do algoritmo
• É ótima para descrever algoritmos de
pequeno e médio tamanhos
28. Inteligência Artificial
• Em 1956, John McCarthy, um professor
universitário, criou o termo para descrever
um mundo em que as máquinas poderiam
“resolver os tipos de problemas que hoje
são reservados para humanos.”
• É um ramo da ciência de computação que
tem como foco elaborar dispositivos que
simulem a capacidade de raciocínio
humano
29. Inteligência Artificial
• A definição está relacionada à
– capacidade das máquinas de pensarem como
seres humanos
– de terem o poder de aprender, raciocinar,
perceber, deliberar e decidir de forma racional
e inteligente.
30. Inteligência Artificial
• A partir de algoritmos baseados em
probabilidades, capazes de subtrair
significados a partir de uma grande
quantidade de informações,
pesquisadores descobriram que não era
preciso ensinar a um computador como
realizar uma tarefa.
31. Inteligência Artificial
• O uso de algoritmos genéticos também foi
essencial para o desenvolvimento da
inteligência artificial como a conhecemos
atualmente.
• Esta técnica consiste em vasculhar
pedaços de códigos gerados
aleatoriamente e selecionar somente
aqueles que proporcionem o melhor
desempenho.
32. Inteligência Artificial
• A combinação de vários pedaços constitui
um novo código, renovado
constantemente e que torna a
programação final extremamente eficiente
– em resumo, se trata de um processo
elaborado de aprendizado.
33. Inteligência Artificial
• Várias áreas da ciência da computação
como
– Machine Learning
– Deep Learning
– Processamento de Linguagem Natural
– Big Data
– Computação em nuvem
35. Escola Politécnica da Universidade de São Paulo
Nathalia Sautchuk Patrício
nathalia.sautchuk@gmail.com
Obrigada!
36. Componentes do computador
• Hardware
–É a parte física do computador
–É o conjunto formado pelos circuitos
eletrônicos, processador, gabinete, pelas
placas, etc
37. Componentes do computador
• O computador funciona como uma
máquina que recebe dados, processa-os e
retorna um ou mais dados como resultado
Entrada de
Dados
Computador
(processamento)
Saída de
Dados
38. Componentes do computador
Entrada de
Dados
Periférico
de Entrada
de Dados
Saída de
Dados
Periférico
de Saída de
Dados
UCP
ULA UC
Memória
Principal
Memória
Auxiliar
Computador
40. Componentes do computador
• Periféricos de entrada de dados (input)
–Dispositivos que recebem os dados do meio
externo e são capazes de traduzi-los para
pulsos elétricos compreensíveis para o
computador
–Exemplos: teclado, leitora de cartão perfurado,
leitor ótico de cartão, leitor de código de barras,
mouse, scanner, driver, placa de fax/modem,
placa de rede, modem, leitor de CD-ROM, leitor
de DVD-R, caneta ótica e outros
42. Componentes do computador
• Unidade Central de Processamento (UCP)
ou Central Process Unit (CPU)
–Responsável por todas as operações
realizadas no computador, divide-se em:
–Unidade Lógica e Aritmética (ULA): responsável
pelas operações lógicas e aritméticas
–Unidade de Controle (UC): responsável pelo fluxo
de informações dentro do computador. Essa unidade
controla a entrada e saída de dados, envia e recebe
dados das memórias e controla a ULA
44. Componentes do computador
• Memória Principal
–Quando um programa está sendo executado,
são processados vários dados através de vários
comandos.
–Para que esse processamento tenha
velocidade, é necessário que os dados e
comandos estejam sempre à disposição e que
não sejam perdidos. Isso é viabilizado pela
Memória Principal
45. Componentes do computador
• Memória Principal
–Podemos comparar com uma grande sala com
vários armários, contendo gavetas e pastas
–Cada gaveta corresponde a uma parte da
memória
–Cada parte da memória localiza-se em uma
posição chamada de endereço de memória
–É possível dar um nome para cada endereço
de memória
46. Componentes do computador
• A Memória Principal divide-se em:
–Memória ROM (Read-Only Memory): contém
dados que configuram o computador ao ser
ligado e que não podem ser gravados ou
alterados
–Memória RAM (Random Access Memory):
Utilizada na execução de um programa para o
armazenamento e a leitura de dados e
comandos. Essa memória só atua quando o
computador estiver ligado.
48. Componentes do computador
• Memória Auxiliar
–Utilizada para guardar dados
permanentemente.
–A leitura e a gravação de dados nesse tipo de
memória é feita pelos periféricos de entrada e
saída.
–Exemplos: fitas magnéticas, discos rígidos
(HDs), CD-ROM, DVDs, etc.
50. Componentes do computador
• Periféricos de Saída de Dados (Output)
–Dispositivos que recebem dados do
computador, na forma de pulsos elétricos e
convertem esses dados em sons, números,
palavras, imagens, etc., para o meio externo.
–Exemplos: impressora, plotter, placa de vídeo,
placa de som, placa de fax/modem, placa de
rede, modem e outros.
51. Componentes do computador
• Periféricos de Entrada e Saída de Dados
(Input/Output)
–Periféricos que tanto recebem dados para o
computador como os transferem para o meio
externo.
–Exemplos: placa de fax/modem, placa de rede,
modem.