Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Algoritmos, Inteligência Artificial e Políticas Públicas

Palestra na disciplina de Estudos Diversificados II no curso de Gestão de Políticas Públicas da USP Leste em outubro de 2017

  • Login to see the comments

Algoritmos, Inteligência Artificial e Políticas Públicas

  1. 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. 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. 3. Governo de Algoritmos • Caso Agência de Proteção Ambiental • Caso Public Safety Assessment • Caso Google
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)
  17. 17. Lógica de Programação • Algoritmo é a sequência de passos ou ações para atingir um objetivo
  18. 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. 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. 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. 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. 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. 23. Formas de representação • Há várias formas de representação do algoritmo. As principais são: – Pseudocódigo – Fluxograma
  24. 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
  25. 25. Pseudocódigo início | <comando 1> | <comando 2> | ... | <comando n> fim
  26. 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
  27. 27. Fluxograma início fim <comando 1> <comando 2> <comando n>
  28. 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. 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. 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. 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. 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. 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
  34. 34. Inteligência Artificial
  35. 35. Escola Politécnica da Universidade de São Paulo Nathalia Sautchuk Patrício nathalia.sautchuk@gmail.com Obrigada!
  36. 36. Componentes do computador • Hardware –É a parte física do computador –É o conjunto formado pelos circuitos eletrônicos, processador, gabinete, pelas placas, etc
  37. 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. 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
  39. 39. Componentes do computador • Periféricos de entrada de dados (input)
  40. 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
  41. 41. Componentes do computador • Unidade Central de Processamento (UCP) ou Central Process Unit (CPU)
  42. 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
  43. 43. Componentes do computador • Memória Principal
  44. 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. 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. 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.
  47. 47. Componentes do computador • Memória Auxiliar
  48. 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.
  49. 49. Componentes do computador • Periféricos de Saída de Dados (Output)
  50. 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. 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.

×