A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP www.ime.usp.br/~vwsetzer.

Apresentações semelhantes


Apresentação em tema: "1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP www.ime.usp.br/~vwsetzer."— Transcrição da apresentação:

1 1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP

2 2 Tópicos importantes no ensino  O que é um computador  Usar o Computador a papel e o HIPO  O que é um algoritmo, como se desenvolve, complexidade, problemas intratáveis, etc.  Para isso, usar minha técnica de atividade usando ordenação (ver detalhes em meu artigo em meu site)

3 3 Introdução aos algoritmos  Regras da atividade  É possível examinar o conteúdo de um cartão, isto é, o número nele inscrito.  Se o número de um cartão estiver tapado, ele é considerado desconhecido. O operador não pode memorizar os conteúdos dos cartões.  No máximo 2 cartões podem ser examinados ao mesmo tempo para se ver seu número.  Os números de 2 cartões abertos podem ser comparados, determinado-se qual possui o menor número.  Dois cartões podem ser trocados de lugar.

4 4 Método de seleção (Compara o 1o. com cada um dos outros, troca quando ele for maior; depois compara o 2o. com cada um dos outros, etc.)

5 5 Método da bolha (Compara o 1o. com o 2o, troca se o 1o. for maior; depois compara o 2o. com 3o. e troca se for maior, etc.)

6 6 Método de inserção (Compara cada par consecutivo; quando houver troca, compara para trás e troca se necessário)

7 7 Complexidade dos algoritmos Critério: vamos usar o número de comparações Seleção e bolha: (n-1) + (n-2) = n(n-1)/2 Inserção: Inicialmente ordenada: n-1 Pior caso: n(n-1)/2 Valor assintótico de todos (n  ): n 2 /2 NOTAÇÃO: O(n 2 )

8 8 Um método mais eficiente: ordenação por árvore binária Composta por nós e arestas Raiz Folhas Pai   Filho Nível

9 9 Uma árvore binária é uma estrutura de dados em que cada nó tem no máximo 2 filhos e um só pai. ou (definição indutiva) Uma estrutura de dados de um só nó é uma árvore binária; dado um nó de uma árvore binária, a ele são associadas no máximo duas árvores binárias.

10 Ordenação por árvore binária

11 11 Nível Nós Total de nós m 2 m 2 m+1 -1

12 12 Nível Nós No.compar. 0 1 n n n n n m-1 2 m-1 n-n/2 m 2 m = n n-n=0 No. total de comparações: C = (n-1)+(n-2)+(n-4)+(n-8)+...+(n-n/2) Como há m termos (0 a m-1) a serem somados, C = mn - ( n/2) = mn - (2(n/2) - 1)

13 13 Isto é, C = mn - n + 1 Mas 2 m = n portanto log 2 2 m = log 2 n  m log 2 2 = log 2 n m = log 2 n O número total de comparações será então C = (log 2 n)n - n + 1 = n log 2 n - n + 1 isto é, assintoticamente, O(n log 2 n)

14 14 Comparação com os métodos quadráticos

15 15 Espaço requerido Em cada nível, temos n elementos; como são m = log 2 n níveis, o total de espaço requerido é de n log 2 n posições (cada uma contendo um número). Variação: usar apenas 2 linhas (ao fazer a intercalação, passa-se o resultado para a outra linha). Cada uma terá n elementos, de modo que o espaço requerido será 2n

16 16 Espaço requerido (cont.) Variação: 2 linhas com total de 2n posições (ao fazer a intercalação, passa-se o resultado para a outra linha) 1) ) ) ) Existem métodos com somente n posições (in-line merge). O método que se usa é dessa categoria, o Quicksort, que não usa intercalação.

17 17 Outras aplicações de árvores de dados Jogos Problema: como ir podando a árvore, pois ela cresce exponencialmente  estratégias (cálculo de parâmetros de vantagem conforme a posição) Situação atual do jogo Possíveis lances Possíveis situações seguintes

18 18 Outras aplicações de árvores de dados (cont.) Árvores de busca Usadas em gerenciadores de bancos de dados, como o Access (“Árvores-B”)

19 19 Tópicos importantes no ensino (cont.)  O que é um algoritmo?  Uma seqüência finita de passos, executados individualmente, cada um matematicamente bem definido  Normalmente, depois de executado um passo, o passo seguinte da seqüência será o próximo a ser executado  Um passo pode indicar uma mudança na ordem de execução, determinando qual passo da seqüência deve ser executado em seguida (desvio)  A execução deve terminar

20 20 Tópicos importantes no ensino (cont.)  Problemas causados pelo computador  Triviais: perda da privacidade, diminuição de empregos, etc.  Profundos: influência na capacidade e na maneira de pensar  pois força um pensamento lógico-simbólico, algorítmico e uma linguagem formal, em qualquer uso e exige enorme auto-controle  IMPRÓPRIO ANTES DOS 17 ANOS!!!  Mais profundos: influência na mentalidade  Nunca houve uma metáfora tão grande para a visão de mundo de que o ser humano é uma máquina

21 21 Tópicos importantes no ensino (cont.)  Problemas causados pelo computador (cont.)  Conseqüências da visão de mundo de que o ser humano é uma máquina: não fazem sentido  Liberdade  Responsabilidade  Dignidade  Individualidade (que transcende o corpo)  Compaixão (animais não têm!)  Amor altruísta

22 22 Tópicos importantes no ensino (cont.)  Conseqüências da visão de mundo de que o ser humano é uma máquina (cont.)  Causa de grande parte da miséria social e individual que está continuamente aumentando  Pensamentos de máquina (isto é, que podem ser introduzidos em uma máquina)  Abafamento dos sentimentos (especialmente compaixão)  Ações bestiais (inconscientes)

23 23 Tópicos importantes no ensino (cont.)  Solução: educar para a visão de mundo de que O SER HUMANO NÃO É UMA MÁQUINA! Ver meu artigo “I.A. - Inteligância Artificial ou Imbecilidade Automática? As máquinas podem pensar e ter sentimentos?” em meu site.


Carregar ppt "1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP www.ime.usp.br/~vwsetzer."

Apresentações semelhantes


Anúncios Google