terça-feira, 11 de novembro de 2008

Nota 3 - Projeto

Datas das apresentações:

25/11 - Mayara/Luiz; Douglas/Ederaldo/Thiago SOT/Ricardo
02/12 - Elaine/Fabiana/João/FrancismarFlaviano/Thais/Pedro/Leonardo; Yan/Jotaefe/Tadeu
09/12 - Vladimir/Samuel/Tarcísio/Leonardo; Fabrício/Rafael/Thiago Verde
10/12 - Flaviano/Thais/Pedro/Leonardo; Vinicius/Felipe/Livia/Fernando
10/12 - Rogério

Nota III - 10.0

Apresentação (70%)
- Parte teórica + Sistema Funcionando (Expert SINTA)

Escrito (30%)
Partes 1, 2 e 3: Já concluídas
Parte 4: A definir, a partir de um template que será disponibilizado no Teleduc

Apresentação: no máximo 30 minutos, mais 15 minutos de perguntas p/os componentes do grupo.

Obs.: Nota será individual

Dicas de apresentação: não tem

segunda-feira, 10 de novembro de 2008

Trabalho de Nota 3 - Marcus Vinícius

Apresentação (60%)
- Domínio (30%)
- Perguntas (30%)

Escrita (40%)
- Resultados obtidos (20%)
- Descrição dos resultados (20%)
(Definido por um template que será postado no Teleduc)

Apresentação:
20 minutos para apresentação
(cerca de 5 minutos para cada integrante)

Perguntas: 25 minutos, feitas pelo professor para cada aluno

Tópicos SUGERIDOS para apresentação:

  1. Identificação do grupo
  2. Sumário
  3. Configuração do Ambiente de Simulação
  4. Política / Modelo / α γ
  5. Resultados / Gráficos
  6. Comentários / Impressões
Datas de apresentação:
  • 24/11 - Vinicius/Felipe/Livia/Fernando; Francismar/Fabiana/Elaine/João
  • 26/11 - Vlad/Tarcísio/Leonardo/Samuel; Fabrício/Rafael/Thiago Verde
  • 03/12 - Flaviano/Thais/Pedro/Leonardo; Yan/Jotaefe/Tadeu/Rodolfo
  • 08/12 - Mayara/Luiz; Douglas/Ricardo/Ederaldo/Thiago SOT

Trabalho do Marcelo

Tema:
Defina Busca Adversarial - Min Max (Teoria dos Jogos)
Defina e dê exemplos de Sistemas Multi-Agentes

Data de entrega: dia da prova

terça-feira, 21 de outubro de 2008

Prova e trabalho

Prova:

Matéria vista até agora na nota 2: Toda a parte de projeto (Aula04.ppt)

Trabalho:

Entrega no dia da prova (28/10)
Descrever, seguindo o modelo do TCC, os seguintes aspectos de um projeto de interface:
- Visibilidade
- Affordance
- Modelo Conceitual
- Feedback

*Usar como chave de pesquisa:
  • "Projeto centrado no usuário"
  • "Acessibilidade"
  • "Design de interface humano-computador"
  • "Interfaces para a web"

segunda-feira, 6 de outubro de 2008

Métodos de avaliação para a Nota 2

Nota 2:
2,0 pts de avaliação - arquivos de saída
* Análise dos dados

8,0 pts - trabalho dos grupos
* Diaramente será analisado o andamento e o comportamento INDIVIDUAL dos membros do grupo (até 29/10)

terça-feira, 23 de setembro de 2008

Projeto de Interface - 23/09/2008

Projeto de Interface

1980 - Orientado à Tecnologia (e na época era tudo na base de "só teclado", as interfaces eram À base de digitação)
1990 - Orientado ao Usuário
Hoje em dia - Envolvimento do usuário (o usuário participa ativamente do desenvolvimento da interface)

Fases

1 -Coletar e analisar as informações do usuário;
2 - Projetar a interface;
3 - Construir a interface;
4 - Validar a interface;

*toda vez que precisar fazer alguma alteração no projeto, as fases deverão ser todas executadas, nesta mesma ordem.

1ª fase:

Determinar o perfil do usuário;
(Fazendo questionários, entrevistas, enfim, coletando dados de alguma forma)

Executar as análises das tarefas do usuário;
(usado no processo de enganharia de software)

Coletar as necessidades do usuário;
(nenhum comentário relevante..)

Analisar o ambiente do usuário;
Relacionar as necessidades com as tarefas do usuário;
(Avaliar se as necessidades que o usuário relatou são realmente interessantes ou válidas para o sistema)

- Quem é o usuário?
- Qual a experiência que ele tem?

Questões importantes:
- Que tarefas o usuário executa?
- Quais delas são críticas?
- Quais os passos?
- Quais são os objetivos?
- Que informações são necessárias?
- Que ferramentas são utilizadas para executar essas tarefas?
- Que resultados eles geram?
- Determinar o que os usuários esperam

*GOMS -> Goals, Operators, Methods, and Selection rules
(Objetivos, operações, métodos e regras de seleção)

O importante:
- Que tecnologias o usuário necessita?
- Quem vai dar manutenção?
- Quais os treinamentos necessários?

Analisar o ambiente do usuário
1º: Ambiente físico -> espaço, iluminação, condições gerais de sobrevivência, ruído, temperatura, tipo de computador, etc...
2º Localização e mobilidade -> escritório, home office, usuário móvel...
*Considerar a possibilidade de usuários com necessidades especiais
*Considerar as diferenças culturais, pois existem culturas que, por exemplo, consideram o azul com uma cor nefasta

Para o usuário, existem tantos processos são tão comuns que tornam-se invisíveis para ele, e se ele deixa de relatar a necessidade deste processo para o projetista, ele irá sentir falta deste quando for utilizar o sistema.

Objetivos da usabilidade:
- Fazer com que o usuário seja capaz de utilizar o produto
- Efetividade, ou seja, fazer com que o usuário seja produtivo
- Minimizar o treinamento necessário
- Fazer com que o usuário fique satisfeito

Desenvolver cenários e tarefas: o cenário é uma seqüência de tarefas (decompostos em subtarefas), organizados hierarquicamente.

*aula finalizada no slide 17

segunda-feira, 22 de setembro de 2008

Dicas para o trabalho do Marcus - II

Entrega dia: 06/10/2008

3 - Ferramentas utilizadas
* (Basear no item 3 do pdf que o Marcus forneceu)
* arquitetura de um sistema especialista no Expert Sinta (melhorar)
* como o Sinta faz para gerenciar a base (mostrar algumas regras)
* criação de variáveis no Sinta
* objetivos
* trabalhando com as regras (algumas telas)
* definindo a interface com o usuário (mais telas)
* informações sobre a base do sistema

terça-feira, 16 de setembro de 2008

Dicas para o trabalho do Marcus Vinícius

Criando um projeto:

project
open project
CAMINHO_DOS_ARQUIVOS\nome_do_proj.prj

Adicionando os arquivo ao projeto:

project
Add to project
adicionar somente arquivos de extensão .cpp

Obsevações:
- Para diminuir a quantidade de execuções:mudar variável VALOR e SIMULA (no arquivo DEFS.H)

- Criar pasta de saída e modificar o caminho dela no "PRINCIPA.CPP" (a pasta deve possuir no máximo 8 caracteres)
Exemplo: c:\saida

- Deve-se fazer o include do DEFS.H no PRINCIPA.CPP
#include "defs.h"

quinta-feira, 11 de setembro de 2008

Teoria - Redes Neurais

Tipos de função:
- Degrau
- Semi-linear
- Sigmóide

Pesos:
- Positivo: ativador
- Negativo: inibidor

Entradas -> x
Pesos sinápticos -> w
saída -> y
Regra de Propagação -> NETj
Função de ativação -> f(NETj)

Topologias de Redes Neurais:
- Feed Forward
- Back Propagation
- Hopfield (Rede com realimentação)

Redes Perceptron:

Perceptron com uma Camada

Redes perceptron com uma camada são o tipo mais antigo de redes neurais, as quais são formadas por uma camada única de neurônios de saída, os quais estão conectados por pesos às entradas. Este é o exemplo mais simples de redes em avanço. A soma do produto entre pesos e entradas alimenta cada neurônio de saída, e se o resultado desta operação exceder um certo limiar (geralmente 0), o neurônio coloca o valor 1 na saída; se o resultado for inferior ao limiar, o neurônio coloca o valor -1 na saída. Neurônios com esse comportamento são chamados de neurônios de McCulloch-Pitts ou neurônios com limiar. Na literatura técnica o termo perceptron diz respeito a redes com apenas um desses neurônios.

Perceptrons podem ser treinados por um algoritmo de aprendizagem simples, chamado geralmente de regra-delta. Este algoritmo calcula os erros entre a saída dos dados calculados e a saída desejada, e utiliza isso para ajustar os pesos, assim executando um formulário da descida do gradiente.

Os perceptrons de uma camada são capazes de aprender somente sobre problemas linearmente separáveis (que podem ser separados por uma reta em uma hiperplano; em 1969 em uma monografia famosa intitulada Perceptrons por Marvin Minsky e por Seymour Papert mostrou que era impossível para uma única rede do perceptron da camada aprender uma função de XOR, Conjecturou (incorretamente) que um resultado similar penderia para uma rede multi-camadas do perceptron. Embora uma única unidade do ponto inicial fosse completamente limitada em seu poder computacional, mostrou-se que as redes de unidades paralelas do ponto inicial podem aproximar toda a função contínua de um intervalo compacto dos números reais no intervalo

Perceptron Multi-camadas

Esta classe de rede consiste de múltiplas camadas de unidades computacionais, geralmente interconectadas em uma forma feedforward. Isso quer dizer que cada neurônio em uma camada tem conexões diretas a neurônios da próxima camada. Em muitas aplicações as unidades dessas redes aplicam uma função sigmóide (em forma de S) como a função de ativação..

O teorema de aproximação universal dita que toda função contínua que mapeia intervalos de números reais a algum intervalo de números reais de saída pode ser arbitrariamente aproximado com precisão por um perceptron multi-camadas com somente uma camada oculta. Este resultado só é válido para classes restritas de funções de ativação, por exemplo funções sigmóides.

Redes Multi-camadas podem usar um grande número de técnicas de aprendizado, sendo que a mais popular é a propagação reversa. Neste caso os valores de saída são comparados com a resposta correta para computar o valor de alguma função-erro predefinida. Por alguma técnica o erro é então alimentado de volta na rede. Usando essa informação, o algoritmo ajusta os pesos de cada conexão para reduzir o valor da função erro. Apos repetir este processo por um número suficiente.

* O modelo que usamos é o Modelo de neurônio artificial de McCulloch-Pitts

terça-feira, 9 de setembro de 2008

Indice IGC

IGC
De acordo com o site do Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira (INep), o IGC de cada instituição sintetiza a qualidade de todos os seus cursos de graduação, mestrado e doutorado, em valores contínuos (que vão de 0 a 500) e em faixas (de 1 a 5).

No cálculo do indicador, são utilizados a média dos conceitos preliminares dos cursos da instituição (CPC) - componente relativo à graduação - e o conceito fixado pela Capes para a pós-graduação. A média dos conceitos dos cursos é ponderada pela distribuição dos alunos entre os diferentes níveis de ensino (graduação, mestrado e doutorado).

O indicador de cursos considera, além de resultados de avaliação de desempenho de estudantes, infra-estrutura e instalações, recursos didático-pedagógicos e corpo docente.

Dentre os 135 Centro Universitários avaliados, o UBM ficou em 71º com a seguinte avaliação:

UBM - 227 Valor Continuo - Faixa 3














segunda-feira, 8 de setembro de 2008

Exercício de IHM (com respostas)

Lista de Exercícios sobre Projeto de Interface

1) Descreva o que é interface ?
R: INTERFACE: É o software que irá mapear as ações do usuário em função da aplicação (solicitações de eventos de processo) e apresentar resultados destes processamentos.

2) Descreva o que é interação ?
R: - INTERAÇÃO: Ligação entre ser humano e computador utilizada para realizar algumas tarefas (comunicação).

- OBJETIVO: Permitir ao usuário utilizar ao máximo o computador sem obrigá-lo a conhecer o funcionamento do computador.

3) Descreva o que é affordance ?
R: AFFORDANCE
Conceito: Refere-se as propriedades percebidas e as propriedades reais, de um objeto que deveria determinar como ele poderá ser usado.
-- Quando predomina affordance em um objeto o usuário sabe o que fazer somente olhando para ele, sem necessidade de elementos adicionais (figuras, rótulos, etc.)

4) Quais as quatro perspectivas de uma IHM ?
R: desenvolvimento de sistemas de informática que sejam fáceis e rápidos de se aprender;
alta produtividade;
baixas taxas de erro;
bem aceitos pelos usuários.

5) Descreva as características dos estilos de interação ( linha de comando, menu, formulários, WINP, manipulação direta e linguagem natural ).
R: Linha de comando : onde o usuário tecla o comando desejado.
Menu : onde o usuário escolhe através do menu o que deseja .
Formulários: onde o usuário preenche com os dados solicitados .
WIMP, um acrônimo em inglês para Janelas, Ícones, Menus e Apontadores, permite a interação através de componentes de interação virtuais denominado de Widgets. Este estilo é implementado com o auxílio das tecnologias de interfaces gráficas, que proporcionam o desenho de janelas e do controle de entrada através do teclado e do mouse em cada uma destas janelas. Os softwares de interfaces que implementam estes estilos permitem a construção de ícones que permite a interação através do mouse, comportando-se como dispositivos virtuais de interação.


Manipulação direta : O usuário escolhe diretamente a ação a ser executada .
Linguagem Natural : o usuário atua através de comando de voz – Ex. Pro Voice – IBM

6) O que é comunicabilidade ?
R: Comunicabilidade é a qualidade do ato comunicativo otimizado, no qual a mensagem é transferida integral, correta, rápida e economicamente. A transmissão integral supõe que não há ruídos supressivos, deformantes ou concorrentes. A transmissão correta implica em identidade entre a mensagem mentada pelo emissor e pelo receptor. A rapidez supõe que se pratica o ato pela via mais curta. A economia presume que não são necessários retornos, esforços de decifração e compreensão.

7) Descreva o que é design de uma IHM .
1. R: É a apresentação final ( exposta ao usuário ) onde o seu construtor deve ter em primeiro plano o usuário final .a isto chamamos de visibilidade onde ,apenas as coisas necessárias devem estar visíveis, para indicar quais as partes que devem ser operadas e como devem indicar o mapeamento entre as ações pretendidas e as reais.
Affordance; Refere-se as propriedades percebidas e as propriedades reais, de um objeto que deveria determinar como ele poderá ser usado. Quando predomina affordance em um objeto o usuário sabe o que fazer somente olhando para ele, sem necessidade de elementos adicionais (figuras, rótulos, etc.)
Bom modelo conceitual; - Permite prever o efeito das ações;
Bons mapeamentos; Mapeamento é o termo utilizado para o relacionamento entre as entidades. - Em um IHM mapeamento entre os controles e sem movimentos
Feed back ; Retornar ao usuário informações sobre as ações que foram feitas e quais os resultados obtidos. Tipos como : relógio etc

8) Descreva (separadamente ) os procedimentos e os aspectos envolvidos na análise de usuário e na análise de tarefas.
R: Em análise do usuário o projetista ou projetistas deve de utilizar da ciência conectiva , buscando o maior grau de informação sobre o usuário final do sistema a ser implementado. Seu grau de escolaridade ; qual seu grau de conhecimento de informática, que programas usa ou usou ou que já obtenha conhecimento. Já em análise de tarefas, quais serão as tarefas e sub-tarefas e quais os métodos que serão utilizados no sistema a ser implementado.

9) Descreva o cenário para consulta de notas por disciplina no SAI. Faça o modelo de tarefas.
R: Não responder .

10) Cite e explique pelo menos três heuristica de Nilsen ?
R:
1) Diálogos simples e naturais. Deve-se apresentar exatamente a informação que o usuário precisa no momento, nem mais nem menos.

2) Falar a linguagem do usuário . A terminologia deve ser baseada na linguagem do usuário e não orientada ao sistema. As informações devem ser organizadas conforme o modelo mental do usuário.

3) Minimizar a sobrecarga de memória do usuário. O sistema deve mostrar os elementos de diálogo e permitir que o usuário faça suas escolhas, sem a necessidade de lembrar um comando específico.

4) Consistência . Um mesmo comando ou ação deve ter sempre o mesmo efeito.

5) Feedback. O sistema deve informar continuamente ao usuário sobre o que ele está fazendo.

6) Saídas claramente marcadas

7) Atalhos. Para usuários experientes executarem as operações mais rapidamente.

8) Boas mensagens de erro

9) Prevenir erros

10) Ajuda e documentação

11) Cite duas regras de ouro de Sherdermam.
R:
1) Consistência
2) Atalhos para usuários freqüentes
3) Feedback informativo
4) Diálogos que indiquem término da ação
5) Prevenção e tratamento de erros
6) Reversão de ações
7) Controle
8) Baixa carga de memorização

12) O que é usabilidade de uma interface ?
R: "Desenvolver e projetar produtos focados no usuário, em seu contexto de uso, é o que chamamos de usabilidade“;
Na web: adaptar a informação ao site de forma eficiente, garantindo praticidade em seu uso.

13) Descreva os cinco fatores de usabilidade .
R: Satisfação do usuário.
desenvolvimento de sistemas de informática que sejam fáceis e rápidos de se aprender;
alta produtividade;
baixas taxas de erro;
bem aceitos pelos usuários.

14) Quais são os tipos de problemas de usabilidade ?
R: Um usuário ou um grupo de usuários encontra dificuldades para realizar uma tarefa com uma interface.
Ocasionam perda de dados, diminuição da produtividade;
Rejeição total do software por parte dos usuários

15) Quais são as técnicas de avaliação de usabilidade?
R: Colocar o usuário final trabalhando e analisar o seu grau de satisfação.
Avaliar a taxa de erros cometido pelo usuário

16) O que é uma avaliação heurística ?
R: Avaliação do nível do comportamento mental do usuário interagindo com o sistema.

domingo, 7 de setembro de 2008

Resumo Nota I - Prova 08/09/2008

Defina IA: Ia é o estudo de como fazer com que computadores realizem atividades que no momento são melhores executados por humanos.

Para que serve IA

Resolução de problemas envolvendo:

  • Auxílio a decisão
  • Robótica
  • Sistemas de auxílio à deficiente
  • Sistemas de apoio à especialistas
  • Logísticas

Modelagem de processos em Psicologia e Neurobiologia
Motivador de questões filosóficas

IA pode:

  • Ajudar e aprender a resolver problemas analíticos
  • Ajudar especialistas a projetar sistemas

Jogar xadrez, futebol, gamão, etc.

Qual o nome do teste que verifica se uma maquina é ou não inteligente? Teste de Turing

Defina Agente: Entidade que percebe e atua no mundo a sua volta. Exemplos: ser humano, robô, agente de software.

Quais são os tipos de Agente:

Reativo com estado interno:
Agentes que selecionam as ações levando em consideração a percepção instantânea e numa pequena representação interna dos estados em que o mesmo já esteve. Desvantagem: pouca autonomia e não tem objetivo, não encadeia regras

Baseados em objetivos:

Informação de objetivo que descreve situações desejáveis. Envolve busca e planejamento.
Vantagens e desvantagens: Mais complicado e ineficiente, porém mais flexível, autônomo e
Não trata objetivos conflitantes

Baseados em utilidades:

A função de utilidade mapeia estados em números reais que indicam o grau associado de desejabilidade de estados. Desvantagem: não tem adaptabilidade

Quais os métodos para comparação de estratégias de busca:

Comparação em problemas bechmark: Executo algoritmo a ser testado em um problema-padrão, e comparo seu desempenho com um algoritmo de referência. Problema: muito específico. Desempenho pode depender do compilador utilizado, ajuste fino de parâmetros, arquitetura da máquina usada, etc.


Analise de algoritmos: Analiso algoritmo em termos de parâmetros característicos, abstraídos de aspectos implementacionais. Evita especificidade.

Estratégias de Busca:

Completo: Para qualquer problema ele encontrará a solução?
Ótimo: Se tem a solução, ele encontra o melhor caminho
Complexidade de Tempo: Projeção de crescimento da quantos nós forem expandidos.
Complexidade de Espaço: Algum nó é retirado da memória durante a busca? Se não complexidade é igual a complexidade de tempo.

Busca em Largura (BFS)
Utiliza a estrutura de fila. Coloca em uma fila todos os nos visitados e também seus vizinhos, realizando assim uma busca nível a nível. É uma estratégia simples em que o nó raiz é o primeiro a ser expandido, logo em seguida todos os sucessores do nó raiz são expandidos etc. Em geral, todos os nós de uma mesma profundidade na árvore de busca são expandidos antes de qualquer nó da profundidade seguinte.

Características do Algoritmo:
Completo: Sim
Ótimo: Sse o custo entre os nos forem uniformes
Complexidade de Tempo: O(b^d);
Complexidade de Espaço: O(b^d).


Busca em Profundidade (DFS)
Nessa estratégia de busca um dos nós do nível mais profundo da árvore de busca sempre é expandido. Somente quando a busca atinge um nó cujos filhos possuem estados que já foram expandidos outrora é que a busca expandirá algum dos nós pertencentes aos níveis acima deste, processo este conhecido como backtrack.

Completo: não (Falha com caminhos infinitos ou loops)
Completa: sim, se L >= d! (Determinar uma profundidade máxima L, no qual a DFS deve parar.)
Ótimo: não


Busca em Aprofundamento Iterativo (IDS)
Faz repetidas buscas em profundidade, aumentando o limite a cada iteração.
Combina os benefícios da BFS e DFS
Completo: Sim
Ótimo: Sim
Não gasta muita memória. Repetição da expansão de estados.
Não é tão ruim, pois a maior parte dos estados está nos níveis mais baixos
Na verdade, gera menos estados que o BFS, pois não gera estados no nível d+1


Busca de Custo Uniforme (Busca Ordenada)
Expande o nó de menor custo da trajetória a cada visita.
Usa-se fila de prioridades (como visto em S.O. no 3º Período) : menor valor, maior prioridade.
Exemplo: vc ta no nivel 0, ae expande todos os filhos dele, no nivel 1 vc vai visitar só o nó q tem menor custo de trajetória (maior prioridade) e assim por diante nivel por nivel... se vc chegar ao nivel mais profundo e não atingir o resultado, ele faz o backtracking pro nivel anterior e expande o nó com 2º menor custo e assim por diante ate achar o nó desejado porém existe o risco de cair em loop.

Completo? Não
Ótimo? Sim, pois encontra a solução que possuir o menor valor (custo)
Complexidade de Tempo? Número de nós com custo <= d Complexidade de Espaço? Número de nós com custo <= d

Greedy Search (Algoritmo Guloso)
Trabalha partindo dos valores informados pela heurística (ou pelo conjunto de heurísticas), sem enxergar o problema como um todo, por isso, ele pode tomar decisões incorretas (como cair em um loop infinito). Também utiliza fila de prioridades: menor valor, maior prioridade.
A heurística guia a busca, mas não representa o custo real.
Exemplo: Como já foi dito, o guloso trabalha com uma heuristia, tipo distancia entre as cidades
portanto a cada nivel ele pega o nó de menor custo e expande e visita o filho de menor custo
e expande e visita o filho de menor custo e por aí vai da mesma forma que a busca ordenada, a unica diferença é que caso ele chegue no nó mais profundo e não encontre a solução ele finaliza o algoritmo.

Completo? Não
Ótimo? Não, mas pode ser dependendo da heurística utilizada
Complexidade de Tempo? O(b^m), mas pode variar de acordo com a heurística utilizada
Complexidade de Espaço? O(b^m)

Observação:

Profundidade -> Pilha
Largura -> Fila

sexta-feira, 5 de setembro de 2008

Classificação Tabela Verdade

Tautologia: Ultima coluna da tabela somente V
Contradição: Ultima coluna da tabela somente F
Contingencia: Ultima coluna da tabela V e F

quinta-feira, 4 de setembro de 2008

Novo servidor de arquivos

Galera, o Leo disponibilizou um espaço no servidor dele pra galera depositar os arquivos lá, visto que no Y! já tá acabando o espaço.
O Flagal criou um redirecionador, o link é: http://ccompubm.servebeer.com/

quarta-feira, 3 de setembro de 2008

Resumo Nota 1 - Prova 03/09/2008

Por que é necessario o aprendizado de maquina?
-Para construir sistemas onde eles mesmos podem aprender o conhecimento necessario.
-Conntruir programas que mehorem com sua propria experiencia.

O que é aprendizado de maquina?
-É uma melhor compreensão do mecanismo de aprendizagem humano.

1 - Aquisição do Conhecimento

É a fase na construção do SE caracterizada pela descoberta, interpretação e estração dos dados.
Objetivo: Projetar e construir uma base do conhecimento.
O engenheiro do Conhecimento (EC) extrai do especialista, refina-o e monta a base do conhecimento. Metodos de aquisição do conhecimento:
  • Manual
  • Semi-Manual
  • Automatico
Modos:
  • Supervisionado: Ocorre quando é fornecido ao sistema um grande numero de exmplos, para o sistema se basear. Existe uma forte atuação do critico.
  • Não Supervisionado: O sistema identifica os problemas com base em sua propria base do conhecimento, não há intervenção humana nem do critico.
  • Semi-Supervisionado: É a mesclagem dos dois modos já citados.
Paradigmas:
  • Simbolico: Busca aprender construindo representações simbolicas.
  • Estatistico: Utiliza metodos estatisticos.
  • Baseado em Exemplos: Utiliza classificações anteriores.
  • Conexionista: Utiliza construções matematicas.
  • Evolucionista: Descarta os elementos de performance fraca mantendo os melhores.

2 - Representação do Conhecimento

A representação esta sempre relacionada com as formas de expressão da informação.
Fatos: Verdades em algum mundo relevante. Esses fatos são o que queremos representar.
Existem dus abordagens tradicionais:
  • Abordagem Declarativa: Tenta adaptar os problemas de IA a um mundo simbolico . Utiliza formulas em logica de predicados. Vantagens: Cada fato será armazenado apenas uma vez, facilidade em acrecentar novos fatos ao sistema.
  • Abordagem Procecimental: Representado por Marvin Minsky. Conjunto de regras ou arvore de decisão, processo incremental.
3 - Aprendizagem Autonoma

Aprendizagem autonoma é empregada em sistemas em que um processo dinamico a ser controlado sofre modificações estruturais ao longo do tempo, ou quando a modelagem do processo é dificil ou muito custosa.

Agente: Entidade que perce e atua no ambiente a sua volta.

Softbot: Controlam o sistema de acesso, recuperação e atualização da informação, normalmente atuam em conjunto.

Robots: Controlam um conjunto de sensores e atuadores, normalmente atuam isoladamente.

4 - Q-Learning

Funções:
  • Greedy: Função conservadora, algoritmo guloso, sempre irá buscar os maximos locais.
  • e-Greedy: Função exploratória, é utilizado para fugir do algoritmo de maximos locais atraves de aleatoriadade.
  • M: Partindo de estado inicial para um estado final é o conjunto de ações que um agente pode fazer para chegar em seu objetivo.
  • M*: Dentro de todas as politicas M são as politicas sub-otimas.

terça-feira, 26 de agosto de 2008

Aprendizado de Máquina: Dica para a prova

A tendencia é que se aproximando do fim, não se faz mais a ação action greed. Pq?

no inicio usa mto o e-greedy para explorar a tabela por inteiro, se aproximando do fim das etapas de simulaçao o algoritmo precisa aprender... então ele aprende quais as melhores políticas e atua somente nelas.

sexta-feira, 22 de agosto de 2008

Tabela-Verdade - 22/08/2008

3.2 – Ordem de Precedência dos Conectivos

- a “ordem de precedência” para os conectivos é

1) ~ 2) ^ 3) v

4) -> 5) <->

Portanto, o conectivo mais “fraco” é o ~ e o conectivo mais forte é o “<->”.

Assim, por exemplo, a proposição p -> q <-> s ^ r é uma bicondicional.

Obs.: Existindo parênteses em uma proposição, deverão ser priorizados os conectivos que estiverem dentro deles.

3.3 – Tabela-Verdade

Definição: Uma tabela-verdade é construída com a finalidade de mostrar exatamente os casos em que uma proposição composta será verdadeira (V) ou falsa (F), admitindo-se como é sabido, que o seu valor lógico só depende dos valores lógicos das proposições simples componentes.

3.4 – Número de linhas de uma tabela-verdade

O número de linhas da tabela-verdade de uma proposição composta depende do número de proposições simples que a integram, sendo dado pelo seguinte teorema:

“A tabela-verdade de uma proposição composta com N proposições simples componentes contém 2^n linhas”

Exemplos:

1) P(p,q): (p^q)


2) P(p,q): ~(p^q)v^(q<->p)

3) P(p, q, r): p v ~r -> q ^ r



segunda-feira, 18 de agosto de 2008

Aula de Projeto 6 - 18/08/2008

Para semana que vem:

Capa
1. Introdução
- Delimitar o problema/área de atuação
- Áreas abrangidas pela multidisciplinaridade
- Hipótese para a resolução do problema (S.E. em SINTA)

1.1 Domínio do Problema: aprofundar-se no problema abordado
- Utilidade de um S.E.

1.2 Sistema Atual: Desdobrar a introdução

Basear-se em: MonografiaAlergia_Exemplo.pdf (no Teleduc)

Busca de Custo Uniforme e Greedy Search

- Busca de Custo Uniforme (Busca Ordenada)

*Apostila 1: Algoritmos e Problemas de Busca (24/25)

Expande o nó de menor custo da trajetória a cada visita.
Usa-se fila de prioridades (como visto em S.O. no 3º Período) : menor valor, maior prioridade.

Completo? Sim
Ótimo? Sim, pois encontra a solução que possuir o menor valor (custo)
Complexidade de Tempo? Número de nós com custo <= d
Complexidade de Espaço? Número de nós com custo <= d

- Greedy Search (Algoritmo Guloso)

Trabalha partindo dos valores informados pela heurística (ou pelo conjunto de heurísticas), sem enxergar o problema como um todo, por isso, ele pode tomar decisões incorretas (como cair em um loop infinito).
Também utiliza fila de prioridades: menor valor, maior prioridade.
A heurística guia a busca, mas não representa o custo real.
Completo? Não
Ótimo? Não, mas pode ser dependendo da heurística utilizada
Complexidade de Tempo? O(b^m), mas pode variar de acordo com a heurística utilizada
Complexidade de Espaço? O(b^m)

Observação:

Profundidade -> Pilha
Largura -> Fila

sexta-feira, 15 de agosto de 2008

Trabalho - 19/08/2008

Fazer um trabalho com formato de artigo (introdução, Desenvolvimento, Conclusão e Bibliografia) Sobre usabilidade em interfaces de aplicações computacionais. Não menos de 3 páginas de conteúdo.

Individual

Trabalho - 21/08/08

Construir um programa que realize o treinamento de um neuronio para logica AND. O programa deverá ler os valores de W1, W2, N e Teta) Como saida mostrará os valores finais de W1 e W2. Apos o treinamento deverá mostrar o nº de epocas do treinamento.

Linguagem: C
Valor: 2
Data de Entrega: 21/08/08

quinta-feira, 14 de agosto de 2008

Treinamento de Neuronio

Etapas do Treinamenos:

1. Submeter a entrada de valores
2. Calcular a saida da rede
3. Calcular o erro
4. Calcular a variação dos pesos
5. Calcular a variação dos novos pesos
6. Voltar ao passo 1

Erro: Saida desejada - saida real
N = taxa de treinamento (velocidade de aprendizado)
Xi = Entrada relativa ao peso Wi
∆Wi = N * Erro * Xi
Wi novo = Wi atual + ∆Wi
NETj = (X1 * W1) + (X2 * W2) + (Xn * Wn)
F(Netj) = função de ativação
  • 0, se NETj < θ
  • 1, se NETj ≥ θ

Exemplo Calcular os pesos do neuronio que simule o funcionamento de uma porta logica OR

Para Visualizar melhor a resolução do exercicio clique na porra da imagem.

quarta-feira, 13 de agosto de 2008

Algoritmo de Busca para Grafos

Completo: Para qualquer problema ele encontrará a solução?
Ótimo: Se tem a solução, ele encontra o melhor caminho
Complexidade de Tempo: Projeção de crescimento da quantos nós forem espandidos.
Complexidade de Espaço: Algum nó é retirado da memoria durante a busca? Se não complexidade é igual a complexidade de tempo.

Busca em Largura (BFS)
Utiliza a estrutura de fila. Coloca em uma fila todos os nos visitados e também seus vizinhos, realizando assim uma busca nivel a nivel.
Caracteristicas do Algoritmo:
Completo;
Ótimo;
Complexidade de Tempo: O(b^d);
Complexidade de Espaço: O(b^d).

Busca em Profundidade (DFS)
Nessa estratégia de busca um dos nós do nível mais profundo da árvore de busca
sempre é expandido. Somente quando a busca atinge um nó cujos filhos possuem estados
que já foram expandidos outrora é que a busca expandirá algum dos nós pertencentes aos
níveis acima deste, processo este conhecido como backtrack.

Completo: não (Falha com caminhos infinitos ou loops)
Completa: sim, se L >= d! (Determinar uma profundidade máxima L, no qual a DFS deve parar.)
Ótimo: não


Busca em Aprofundamento Iterativo (IDS)
Faz repetidas buscas em profundidade, aumentando o limite a cada iteração.
Combina os benefícios da BFS e DFS
Completo;
Ótimo;
Não gasta muita memória. Repetição da expansão de estados.
Não é tão ruim, pois a maior parte dos estados está nos níveis mais baixos
Na verdade, gera menos estados que o BFS, pois não gera estados no nível d+1



Exercios e Exemplos de Algoritmos para Grafos

terça-feira, 12 de agosto de 2008

Agente Autonomo

Agente Autonomo de Software (Softbot): Controlam sistemas de acesso, recuperação e atualização de informação, normalmente operam em redes de computadores e habitam um mundo virtual. Muitas vezes atuam em conjunto.

Agente Autonomo de Hardware (Robots): Controlam um conjunto de atuadores e sensores acoplados ao mundo fisico e integrados ao proprio agente. Atuam isoladamente.

Um Agente pode ser:

1. Completamente não autonomo
2. Operacionalmente autonomo e não adaptativo
3. Operacional autonomo e adaptativo não autonomo
4. Operacional autonomo e adaptativo autonomo

Usa-se a experiência para propagar o conhecimento no tempo.

Autônomo operacional -> Realiza uma operação sem que haja interferência humana.
Autônomo adaptativo -> Pode sofrer modificações estruturais ao longo do tempo, e é usado quando a modelagem do processo for mais custosa.

O agente realiza uma ação sobre o ambiente (processo dinâmico) e percebe, através dos sensores, as alterações no ambiente.

O crítico só age quando não ocorre uma evolução no aprendizado de modo que, o cenário atual não atende os requisitos necessários para que a tarefa possa ser identificada como "concluída com êxito". É ele que informa o quanto bem (ou mal) o agente está agindo.

O Elemento de Desempenho é o responsável por mapear o par Estado/Ação, e para cada p(E,A) deve existir um reforço.

segunda-feira, 11 de agosto de 2008

Resumo Expert SINTA

Sistemas especialistas são programas de computador que procuram atingir soluções de determinados problemas do mesmo modo que especialistas humanos, se estiverem sob as mesmas condições.
A arquitetura mais comum de sistemas especialistas é a que envolve regras de produção (production rules). Essas regras são simplesmente um conjunto de condições no estilo SE... ENTÃO..., Visando uma maior viabilidade econômica na implementação de um sistema especialista,foram criadas ferramentas, shells, aptas a realizar muito do trabalho necessário para transpor um sistema especialista para um computador.O Expert SINTA é uma ferramenta computacional que utiliza técnicas de Inteligência Artificial para geração automática de sistemas especialistas, tendo como objetivo principal simplificar o trabalho de implementação de sistemas especialistas.

Entre outras características inerentes ao Expert SINTA, temos:

• utilização do encadeamento para trás (backward chaining);
• utilização de fatores de confiança;
• ferramentas de depuração;
• possibilidade de incluir ajudas on-line para cada base.

Conceitos Básicos:

Estes conceitos são para entendimento das seções global desta porra.

• projetista do conhecimento: é o encarregado de transporta o conhecimento humano para uma série de passos que um computador é capaz de entender;

• base de conhecimento: é o conjunto de informações, representado no Expert SINTA na forma de regras SE-ENTÃO, as quais supostamente devem agir conforme um especialista humano. Seria, então, a “alma” do sistema especialista;

• variáveis: são os elementos do mundo real representados na base de conhecimento, como, por exemplo, uma tipo de doença, a quilometragem de um carro, pragas de um cajueiro, a posse ou não de crédito em determinada agência bancária, etc.

• valores: são instâncias das variáveis, ou seja, uma variável pode possuir um ou mais valores (quem decide é o projetista do conhecimento). Também podem existir casos nos quais uma variável permanece DESCONHECIDA, ou seja, o sistema não conseguiu nenhum valor satisfatório para ela;

• depuração: acompanhamento da execução da consulta com o intuito de compreender como o sistema especialista chegou àquela(s) conclusão(ões). Também pode ser usada com o intuito de corrigir falhas na base de conhecimento;

Sexto Periodo

Bando de mula! Bem Vindos ao 6º Periodo!

Faltam somente mais 18 meses!

Obs: Pra ter formatura é necessario pagar e assinar contrato!

A seguir topicos interessantes sobre a materia!

Criticas e sugestões Felipe MX
Elogios: Vincius Feitosa

Abraços a todos!

terça-feira, 6 de maio de 2008

Aula do Duó - 05/05/2008

um processo é o coordenador quando no log está registrado o global begin, os demais registram local begin

as ações são gravadas e depois bloqueadas.

se a mensagem não chegar, por timeout ele dá abort e cancela a transação.
Ele só faz o commit se todas as respostas forem ready.

Falhas possíveis

Do agente - se no log dele, ele naum registrou o ready, ele não comete a ação, então o coordenador aborta por timeout. Nesse caso o ag. aborta a transação através do seu log local.
Pode tmb ter havido uma falha de host após a gravação do ready (falta de energia por exemplo). Se o ready foi gravado o log e antes de ser enviado aO coordenador a falha ter ocorrido, o coord. aborta por timeout. Caso ele tenha enviado e logo após, falhado, há a possibilidade do coord. cometer a ação, dependendo das informações enviadas pelos outros agentes.

Do coordenador -
depois de gravar o prepare e antes do global commit: bloqueia a transação até mandar o prepare de novo e recomeçar daú a transação. o agente fica aguardando a volta do coord.
depois do global commit mas antes de completar a transação: também é bloqueante! (os aag, ficam bloqueados aguardando a volta do coord.)
depois de gravar o complete: nada vai ser feito (nem pode). transações completas não podem ter seus dados alterados em virtude de erros posteriores.

Mensagens perdidas:
ready ou abort do ag pro coord: o coord falha por timeout e a transaction eh abortada
prepare do coord pros ag's: o coord aborta por timeout.

Algoritmo de Protocolo de cometimento não-bloqueante de 3 fases:
qdo o coord não manda o commit cria-se uma fase a mais
há uma fase a mais onde ou ele manda um prepare to commit ou prepare to abort
não se tem commit/abort, se tem um preparo para eles.
após tds terem sinalizado q receberam o prepare to commit/abort, finalmente ele envia a msg correspondente. Caso alguém não responda, o coordenador já aborta a ação aí!
esse algoritmo tem uma falha do mal: diante de falha de coordenador, qdo se ocorre algum problema com o coord, os ag's elegem outro coord. Porém qdo ocorre uma falha na rede ond se isolam agentes a ficarem em partições de agentes diferentes, um dos grupos fica sem coordenador e elege mais um, causando um 2º coordenador na ação. pode ocorrer também que cada uma das partições aja de uma maneira sobre a transação

é +seguro aceitar o bloqueio (protocolo de 2 fases, com bloqueio parcial dos hosts) para não ocorrer este problema. a solução é tomar medidas para uma rápida recuperação do coordenador.

Definição de Serialização e "Isolação" (ou visibilidade): Página 37 do PDF

Escalonamento concorrente: as transações sãoexecutadas concorrentemente (intercaladas)
Escalonamento serial: cada transação é executada por vez, criando uma série de execuções por transação

um escalonamento serial por definição é correto.
para haver conflito entre operações concorrentes, pelo menos uma ação tem que ser escrita, sendo de transações distintas. (Read/Write ou Write/Write)

Lock - controla a concorrência p/ realizar a serializabilidade (resolvem conflitos)
IMPORTANTE: Página 49, 1º parágrafo

sexta-feira, 11 de abril de 2008

Resumo - Rede de Computadores

Ao selecionar uma placa de rede dev-se considerar:
Protocolos: Ethernet, Token Ring ou FDDI

Tipos de Meio: Par trançado, coaxial, wireless, fibra otica.
Tipos de Barramento:PCI e ISA

Topologia Física:
Barramento: Usa um cabo backbone onde todos os hosts são ligados a esse cabo.
Anel: Os hosts são ligados entre si. O primeiro ligado no segundo e o ultimo no primeiro.
Estrela: Os hosts são ligados a um ponto central.
Estrela estendida: União de varias estrelas através de hubs.
Hierárquica: Cada host tem sua própria conexão com todos os outros hosts.

Topologia Lógica:
Broadcast – Cada host envia seus dados a todos os hosts.
Passagem de Token: Quem recebe o token, pode enviar dados para a rede.


Tipos de Rede:
Lan – Rede local.
Wan – Duas ou mais redes locais abrangendo uma grande área geográfica.
Man – Rede de área metropolitanea.
San – Rede de alto desempenho, destinada a troca de informação entre servidores.
VPN – Uma rede particular construída dentro de uma rede publica.


Intranet – É uma configuração comum de uma rede local.
Extranet – É uma intranet que tem seu uso estendido para usuários externos.

Largura de banda é finita, custa dinheiro e a demanda sempre é crescente.

Throughput se refere a largura de banda real, que é afetada pelo numero de usuários, dispositivos de rede, tipos de dados, computadores da rede.

Camadas OSI:
Reduz a complexidade, padroniza as interfaces, simplifica o ensino e o aprendizado.

Aplicação – Fornece serviços aos usuários da rede.
Apresentação – realiza transformações adequadas nos dados.
Sessão – Função de ativar, manter e desativar conexões.
Transporte –Isolar as camadas superiores da transmissão
Rede – realiza o roteamento de pacotes.
Enlace de dados – detectar erros que possam ocorrer no meio físico.
Física – características elétricas, mecânicas e funcionais.

As 4 camadas do TCP/IP: aplicação, transporte, Internet e acesso a rede.

T = S/BW(tempo transferência = tamanho arquivo largura de banda)

A disposição de topologia física inclui:barramento, anel, estrela, estrela estendida, hierárquica e malha.

terça-feira, 8 de abril de 2008

Resumo Leandro - Nota 1

#Sistema de Comunicação Total (Descrição dos Itens)
Formatação dos Dados: Conversão de analogico\digital quando necessario.
Codificação da Fonte: Commpressão de dados.
Criptografia: Criptografar os dados (logicamente!)
Codificação de Canal: Melhorar a performance.
Multipex e Multiplo Acesso: Permite acesso de ontra fonte de dados, passa por um modulador antes de ser transmitido.
Frequency Spred: Melhora o sinal contra interverencias.
Modulação: Adapta o sinal ao meio de comunicação.
Transmissor - Passa o sinal para o receptor.


#Transmissao Sincrona e Assincrona
Transmissão Paralela e Serial:
Transmissão Paralela - Usado nos computadores, são enviados os caractres por grupo de bit (8 a 8). Transferencia de dados a altas taxas. Utilizados para pequenas distancias.
Transmissão Serial - Os bits são transmitidos um a um. Utilizado em redes de computadores. É preciso identificar o 1 e o ultimo bit para formar as palavras.


Transmição Sincrona: Os dados são enviados em blocos, não possuiu bits de start/stop. Possui bits de sincronismo indicando o fim e o inicio.
Transmição Assincrona: Transmição start/stop. Os dados são enviados um por vez.

Transmição assincrona é mais eficiente para mensagens curtas e a transmição sincrona para mensagens grandes.

#sitema simplex, half-duplex, full-duplex (V e F)
Transmição Simplex:
É a transmição unidirecional, as informações são enviadas somente em uma direção, exemplos TV e Rádio.

Transmição Half-duplex:
Aceita transmição em ambos os sentidos, porem não simultaneamente. exemplos: Nextel.

Transmição Full-duplex:
Aceita transmição em ambos os sentidos simultaneamente. exemplos: Estrada mão dupla.

#Operação a Dois e Quatro Fios

A operação com 2 fios é mais falha porem mais barata, o envio/recebimento é feito pelo mesmo cabo tendo que mudar a frequencia pra não ter interferencia.
A operação com 4 fios é mais segura porem mais cara, o envio/recebimento é feito por cabos individuais evitando assim interferencia.

#Multipla escolha fibra optica marcar x
Projetada para transmição de dados a longa distancia.
Existe dois tipos de midias:
Multimodo: Nucleo grande permite que varios modos transitem pela fibra.
Monomodo: Nucleo pequeno permite que apenas 1 modo transite pela fibra.
A fibra monomodo é capaz de taxas mais altas de transmissão de dados (largura de banda) e maiores distâncias de lances de
cabo que a fibra multimodo. A fibra monomodo pode transportar dados de
rede local até 3000 metros.


Telefonia fixa (Questão Aberta)
Em celulares:
Transponder: Decodifica, amplifica e trata o sinal. Devolve para o proximo alvo.
Downlink: menor gasto de energia (freqüência maior)
Uplink: maior gasto de energia (freqüência menor)

Importante:
Tensão e corrente são inversamente proporcionais para transmissão.
A bitola do fio varia de acordo com a corrente. Correntes baixa = bitola grossa

terça-feira, 1 de abril de 2008

Dados do Trabalho/Prova do Zé

Avaliação de Projeto Integrado 5

Trabalho c/ Defesa
Trabalho: 6,0pts
Apresent: 4,0pts

Dia 8/4
7 - Arquiteturas de Processamento Paralelos [Síncronas e Assíncronas] (Elaine)
1 - Máquinas SIMD (Kaká)
2 - Clusters OpenMosix (Yan)
3 - Clusters BeWulf (Mayara)


Dia 15/4
4 - PVM (Flagal)
5 - MPI (Fefa)
6 - Open MP (Dexter)


Não precisa entregar nada impresso, pode mandar via email pro Zé mesmo!
A apresentação vai saer tipo um mini-seminário

quarta-feira, 26 de março de 2008

ATENÇÃO: Hoje não teremos aula!!!

Repassando o email da Gisele:

" Turma

Estou doente. Estou dengosa...rsss
Eu nao consigo ministrar aula. To mal.
Avisei ao coordenador que nao estarei hoje em sala de aula.
Mas na sexta teremos aula.
Encaminhei para o Leonardo o arquivo de Criptografia.
Aproveitem e façam a leitura da Unidade 1 e 2
E faça os exercícios da apostila destas unidades
Capriche no relato dos ataques.
E façam as provas on-lines de Rede.
Bastante atividades
Peço desculpas.
AVISEM O SAMUEL por favor .
Um abraço
Giselle

Eu não tenho tempo para separar os arquivos compactar para enviar .
Adoraria ...

Mas já enviei para o Leonardo e ele vai fazer um brodcasting para
todos vcs."

quinta-feira, 20 de março de 2008

Aula do Duó - 20/03/2008

Caracteristicas importantes dsobre relogio logico, a arquitetura de rede totalmente

conectada é recomendada, podemos comparar os tokens, que possui 2 algoritmos (um token unico

e dupo token) esses algoritmos foram feitos para arquitetura de anel. O anel duplo é

indicado para deteção de perda. Caracteristica de rede para Token,Duplo token,Relogio

Logico:

#Ultrapassagem de mensagem: nenhum deles permitem essa porra!
#Corrupção de Mensagem: Nenhum deles aceita. Quando da deifeito e troca alguns hints ficando

com valores diferentes.
#Perda de Mensagem:Duplo token é. Token e Relogio não.
#Atraso de Mensagem Finito(não tem tempo definido): Duplo token e relogio.
#Atraso de Mensagem Limitado (tem tempo max. definido): Token (se ele for fazer deteção de erro) por que ele usa time-out

Utilização:

Os dois de token são especificos pra resolução de conflitos, mais pode ser usado também para
O relogio Logico é utilizado pra realizer a ordenação total,usando ele com outro algoritmo ele pode resolver também conflitos. Dado um recurso compartilhado a intenção é evitar, dead lock, starvation, justiça ao acesso de recurso.

Passo a Passo dos Algoritmos passados em sala de aula

Algortimo - Não sei o nome

PROCESSO DE BROADCAST:

cada processo possui um vetor de controle de mensagens e relógio com o mesmo tamanho da quantidade de processos existentes (3 processos = vetor de 3 posições para cada processo) um processo envia o dado, os relógios dos processos são atualizados, um processo envia a requisição (REQ) e o processo seguinte aceita a requisição (ACK - mostra que está ciente do pedido de requisição do processo) registra-se o tempo no ql a msg saiu do processo-origem e o estado de conciência do pedido de requisição (ACK)
Só reigstra um ACK qdo a msg atual do processo está vazia, o valor de relógio do processo é o maior valor entre o relógio do processo que enviou a mensagem e o relógio atual, incrementado de 1.

O envio do REL sobrescreve qlqr informação registrada e envia o relógio para todos os outros processos para que seja comparado e incrementado. Qdo se qr usar o recurso, se muda o estado para U (using), para requerer o recurso, o processo entra em estado A (Acquiring). De resto ele fica num estado N (normal)

NUNCA SOBRESCREVA UM REQ POR UM ACK.

Acessa o recurso qm tiver a menor procedência.

Algoritmo - Ricarter Agrawala

1º Passo - Incrementa relogio de quem vai mandar e muda estado pra Q
2º Passo - MSG {pra td mundo que vai mandar msg}
3º Passo - Registra no vetor C1 = Relogio / M1 = Mensagem recebida.
4º Passo - Todos registram a mensagem enviado no vetor de quem mandou.
5º Passo - Incrementa o relogio de todos de acordo com o maior indice.
6º Passo - Tds que receperam REQ Incrementa o relogio e manda o REP pra pro destino.
7º Passo - Muda o estado de quem mandou para U.

Precedencia: Quando no seu vetor tiver um REQ e o tempo for menor (se for igual o vai o que tem o menor ID), vc não respode um REP. Registra T em D{0,1,2,3 ou 4}

REQ não sobrecrever o REP - Ignora mensagem e incrementa relogio.

Olha sempre o tempo no relogio do vetor referente ao processo.

Liberar recurso: Muda o estado para N, e manda REP pra tds que tiverem com T. Apos isso muda o D para F(false)

quarta-feira, 19 de março de 2008

Agenda de Provas da Cisco

AGENDA - REDES:

Prova OnLine 1
De: 20-03-2008 20hrs
Até: 27-03-2008 20hrs

Prova OnLine 2
De: 26-03-2008 20hrs
Até: 30-03-2008 20hrs

Aula de Teoria da Informação - 19/03/2008

Primeira aula de Teoria da Informação! \o/
Com a tia Gi!
=DDD
=P

a segurança física influencia na segurança lógica.
sala-cofre: segurança física (contra incêndio, raio, terremoto, invasão alien e afins) que

protege sua parte lógica.

90% dos ataques de uma empresa são realizados por pessoas que trabalham ou já trabalharam em

uma empresa.

TRABALHO DA GISELE:
Trazer ataques (interessantes) a sistemas computacionais (lógicos ou físicos) ocorridos a no

máximo 2 anos. Fazer análise crítica ao ataque! Trabalho de Dulpa...


continuando...
a criptografia é o carro-chefe de segurança de dados

O QUE Q É CRIPTOGRAFIA?
Codificar uma informação (transformar a informação em um dado initeligível)
Pega-se a informação, coloca em um formato-origem que só o destino desejado conseguirá ler

essa mensagem, quem tá no meio do pagode não vai entender "lhufas"

a camada de apresentaçaõ é responsável por fazer os modelos de criptografia.
a criptografia que melhor funciona é a de números primos de alta grandeza.
...e lá se vai a primeira parte do livro da UFF

segunda-feira, 17 de março de 2008

"Aula" do Duó - 17/03/2008 - Sist. Distr.

uma mensagem é sempre uma tripla (p/ relógios lógicos)

- identificação do proc. q a mandou
- valor de relógio
- conteúdo da mensagem

segunda ocasião onde se muda o relógio
quando ele recebe uma mensagem
- ele capta o valor de relógio dele e o do processo q enviou a mensagem e incrementa 1 no maior valor e armazena em Ci (valor do seu relógio interno)

porque que o relógio faz isso?
para ordenar o envio da mensagem (como se fosse uma linha de tempo)

Request : Requisição que um processo envia aos outros para dizer que vai utilizar a área crítica do sistema

ack (acknowledge): (páginas 25 e 26 da apostila de Sistemas Distribuídos) como o próprio nome diz, é uma mensagem "conhecedora", isso é o q é utilizado para gerencia o cronograma do tráfego de mensagens entre os processos

Rel (release): mensagem enviada quando o processo qr deixar a área crítica.

quarta-feira, 12 de março de 2008

Aula da Gi - 12/03/2008

veja sua necessidade:
vc possui um HW bom e precisa usar uma SW pesado?
ou vc possui um SW pesado e precisa de um HW adequado?

mostre pro Administrador $$$ o qto ele perde caso sua rede "bugue" devido ao baixo

desempenho. (só assim pra convencê-lo)

Parâmetros de desempenho:
- disponibilidade
- tempo de resposta (tempo entre o envio da minha requisição e o feedback dela)
- utilização da rede (usuário/intermediário/COR - coração)
- vazão (fluxo com o ql os dados trafegam)
- confiabilidade (tem q funcionar neah)
- eficiência
- custo/desempenho

terça-feira, 11 de março de 2008

Aula do Leandro - 11/03/2008

A faixa de 10KHz pra cima é facilmente interferida por chuva.
Pr = Pt + Gt + Gr - Le - La (cálculo de atenuação do sinal no espaço livre)

Em celulares:
Downlink: menor gasto de energia (freqüência maior)
Uplink: maior gasto de energia (freqüência menor)

Transponder: Decodifica, amplifica e trata o sinal. Devolve para o proximo alvo.
Tensão e corrente são inversamente proporcionais para transmissão.
A bitola do fio varia de acordo com a corrente. Correntes baixa = bitola grossa


Ler Cap. 3 da Cisco

Aula do Zé - 11/03/2008

Apostila Zé Nilton - procurar no google: mpi cenapad
MPI: Mensagge Passing InterfaceLeia a apostila!
Novembro de 92 criado o MPI 1. (hoje é usado o MPI 2)
Conceitos:
Rank: Identificação do Processos (processador) dentro dos nós. Ele varia de 0 a n-1.
Group: É um conjunto ordenado de N processados. Quando é passado o comando vc tem que especificar o grupo. MP_COMM_WORLD (Grupo padrão)
Comunicator: Define umna coleção de processos.
Aplication Buffer: Area de memoria pra facilitar o envio/recebimento Garante assicronismo.System Buffer: Idem ao de cima.
Blocking Comunicator: Envia um dado pra o system buffer. Non-Blockin: Não aguarda a copia de mensagem do alication buiffer para o system buffer.
Standard Send: Envia pro buffer e liga o foda-se.Syncronu Send: Envia e fica esperando sinal de recebimento.
Ready Send: Quem recebe tem que estar esperando.Standard Receive: Recebimento básico.
Compilação MPI:
FORTRAN 77mpif77 -o
C#mpicc -o
Pegar o código do programa explicado em aula!

segunda-feira, 10 de março de 2008

Aula do Duó - 10/03/2008

Vejam bem, o algoritmo que a gente falar, a gente ta falando expecificamente cap. II, seria
teoricamente 17, bom é... então seria a simetria dessa parte do algoritmo pode estar
aclopado a alguma tarefa diferente, esse algor. que esta usando o token pode ser um não
distribuido. Essa parte pode ser resolvida por simetria textual. É... então eu vo ler
primeiro essa partezinha teorica.
Agora lê a porra da apostila pq ele só sabe fazer isso em aula, e ainda não conhece
pontuação!!!
Starvation - Tenta pegar o recurso, mais nunca consegue! Ocorre quando vc tem processos
lentos competindo com processos muito rapidos.
Anel Logico - Dados circulam de forma unidireccional; - Os sinais sofrem menos distorção e
atenuação no enlace entre as estações, pois há um repetidor em cada estação; - Há um atraso
de um ou mais bits em cada estação para processamento de dados; - Há uma queda na
confiabilidade para um grande número de estações; - A cada estação inserida, há um aumento
de retardo na rede; - É possível usar anéis múltiplos para aumentar a confiabilidade e o
desempenho.

http://gsd.ime.usp.br/~kon/MAC5755/aulas/Aula8.html
http://pt.wikipedia.org/wiki/Topologia_de_rede

Transmitindo Token - Se i = 0 então o valor vai ser valor + 1 mod k. Sempre que chegar no 0
troca o valor do token.
Time-Out tem que ter um tamanho adequado. O que acontece com o processo quando o time-out estourar?
É bem simples, na verdade não tem como afirmar o que vai acontecer. Ele mantem o valor do token. Pra restaurar um token o valor do anterior tem que ser diferente. Se for igual não acontece nada. Dupla regeneração é muito raro. Acontece quando time-out é curto e grande transição de dados.

sexta-feira, 7 de março de 2008

Aula da Gi - 07/03/2008


REDES DE COMPUTADORES:

As redes antes eram somente locais, o q não fazia necessário um padrão de comunicação, com o tempo surgiu a necessidade das redes se interconectarem, então surgiram os protocolos

Protocolos: 7 camadas

Dispositivos de rede:
Repetidor: Pega um sinal de um lado e repete para o outro =)
O repetidor só possui 2 pontas.

Uma máquina tem endereço físico (placa de rede) e um lógico.

Camada #1: Camada física (a camada onde o hub e o repeater trabalham)
Só trabalha em nível de sinal

Para rede com mais pc's, HUB! (O favorito da Giselle)
A parte "legal" da coisa é que o hub permite a colisão de dados.
O hub manda a informação até pra quem não quer, cabe à máquina identificar q o pacote é pra ela, o negócio dele é espalhar a informação...
A colisão ocorre quando mais de uma máquina joga a informação na rede, aí ninguém recebe pacote nenhum.

DTE: PC
DCE: Hub, switch & cia...

DTE -> DCE: Cabo direto
DCE -> DCE: Cabo Cross
Dispositivos diferentes: cabo direto
Dispositivos iguais: cruze o cabo

Repetidr e Hub trabalham no mesmo nível, diferenciando-se pelo nº de portas (repeater: 2; hub: multi)

Camada #2: Enlace
(daqui pra baixo)

Os dispositivos começam a identificar o tráfego da rede, lendo e interpretando o MAC Address

Bridge: Analisa para quem é o pacote, através do endereço físico das máquinas que estejam conectados a ela.
A bridge hj em dia praticamente não é usada. Faz a separação de tráfego exatamente como uma ponte com cancela.

Switch então nem se fala... (O Ricardo vai explicar na quarta - tomara!)
O switch é um divisor de tráfego mais seletivo que o bridge. Estabelece um canal entre A e B para q essa comunicação seja efetuada.
Internamente é como um conjunto de bridges.
Objetivo -> regular o tráfego
Comunicações possíveis: N/2
(24 portas permitem q 12 maquinas se comuniquem com outras 12 maquinas ao mesmo tempo)

Access Point: Usado para redes sem fio (liga-se o switch num AP e o AP numa placa wireless de uma máqiuna)
Bridge, Switch e Access Point trabalham na msm camada.

Roteador: é o dispositivo q vai conversar 2 (ou mais) redes.

quinta-feira, 6 de março de 2008

Matéria do Duó - 06/03/2008

SEGURANÇA DE REDE:

Tudo o que sair daqui pra baixo veio da boca do Duó!!! Eu não me responsabilizo por nada...

Primitivas de comunicação:

Ligação síncrona - estilo ligação telefônica. Enquanto vc está conectado vc percebe sinais
de que a conexão ainda existe
Ligação assíncrona - qm tá enviando os dados envia, mas não gerencia um sinal de recebimento
de mensagem

Protocolo UDP: Ideal pra multicasting, cada processo se encarrega de ler o sinal
disponibilizado pelo protocolo. Não é confiável porém é mais rápido, pois não há verificação
de para quem vai cada mensagem enviada na rede.

Um socket tabalha com I/O, mas utilizamos 2 sockets, um para I e um para O (diz o Duó q é
+facil pra aprender assim, depois q aprende o funcionamento aí sim se trabalha com um socket
só...)

Implementação de Socket TCP/IP (síncrona): via Thread ou via Timeout

Conexões lógicas:

- Rede estrela (dispensa apresentações). Mais utilizado por UNIX
- Rede anel (outra que dispensa comentários pra quem fez curso técnico). Proporciona colisão de dados. Cada vez que a placa topava com uma colisão, ela emulava um timeout e ficava aguardando um momento onde não houvesse tráfego na rede para que ela pudesse disparar o dado na rede.

OH! Através do roteador cada máquina se comunica com outra sem colisão! A única
possibilidade de ocorrer colisão é quando 2 maquinas mandam uma msg ao msm tempo para uma 3ª maquina.

Atraso de entrega de mensagem é limitado! Se naquele tempo a mensagem não for entregue, ela
é dada como mensagem perdida.

Técnicas:Computação Difusa: ideal para conexões lógicas hierárquicas. A informação vai se difundindo na rede. Tirando o primeiro elemento da hierrarquia, os outros elementos só enviam uma mensagem caso tenham a recebido antes. Resolução de conflitos: cada processo mantém um relógio lógico local. o relógio só muda de valor qdo muda de evento (enumerador de eventos)
No evento em paralelo é impossível vc saber qm recebeu primeiro.

...e como diz o Duó: A matéria termina aqui por hj!

Matéria do Zé - 04/03/2008

MPI:
se vc vai gastar + tempo gerenciando do q executando um processo, não o faça pois não é vantajoso
programação serial: um processo termina pra q vc execute o próximoo tempo de execução é dado pela rapidez com q a informação se movimenta pelo hardware
limites: velocidade da luz (30cm/nanossegundos) e velocidade da corrente no cobre (9cm/nanossegundos)
Computação paralela: multiplos processadores, uma rede interligando-os e um SO que suporte.
memória compartilhada
a memória é compartilhada, ambos os processadores acessam o mesmo endereço de memória!vantagens: facil de usar e rapida trans. de dadosdesvant.: limita a qtd de processadores
memória independente
vantagens: não limita a qtd de processadores, cada processador acessa sua própria memória
desvant.: overhead (perde tempo aguardando a sincronização do sistema)
Decomposição funcional: bom para programas modulares
Decomposição de domínio: o processo é distribuído e todos os processadores executam o msm processo.

Matéria do Duó - 03/03/2008

semáforo: um programa qdo vai ser executado recebe uma sinalização (flag) para ser executado, o q dá prioridade para a execução dele
Nos sist. distribuídos não existe memória comum. Os processos se comunicam através de mensagens, sujeitas a atrfaso (delay).(Sistemas paralelos usam memória comum)
Controle de erros: Paralelo: caso haja uma falha na comunicação, como usam memoria comum, caso haja erro nesse caso o problema é mto provavelmente de hardware
Distribuídos: caso haja uma falha (comunicação ou processo) a máquina que apresentou a falha pára, porém as outras continaum a funcionar (inclusive os processos que rodem nela. o processo continua a funcionar, somente perde a comunicação)
uma das soluções baratas é o timeout (evitar colocar timeout pqno, pois a mensagem pode atrasar em sua entrega, caso o timeout esteja pqno ocorre a falsa detecção, onde o erro não ocorreu pois a mensagem foi entregue +trd)
Algoritmo de CRC (caçar + sobre isso!)
Gerenciamento de recursos:Exemplo de recursos: tempo de proc., armazenamento, largura de faixa de comunic., etc...reduz os custos, diminui o tempo do sistema, evita deadlock, starvation
Deadlock: o processo A usa o recurso 1, dpois tenta acessar o recurso 2, porém ele tá ocupado. Em paralelo, o B adquiriu o recurso 2 e está aguardando o 1. (Burrice!) (deadlock por recurso)
Prevenção: sincronismo. trocar mensagens a cada evento no sistema. É uma solução cara!detecção. vc cuida realmente do problema só quando ele acontece (timeout é um exemplo)
Linguagens para Sistemas Distribuídos:Conic, Edges, etc... (Darwin é o ambiente ideal para sistemas distribuídos)Java é extremamente adeqüada para sistemas distribuídos fora do Darwin (Haskell tmb)
Distribuição:Replicação para manter a consistência. cada processo tem que ter uma lista dos demais processos para poder entrar em contato com os outros e replicar os dados.
Correção: preparar algoritmos que de tempos em tempos atualize a lista de processos para cada um deles
Particionamento: Os dados estão em locais distintos (nem precisa explicar partição né galera?)
Um controle descentralizado melhora a resistência a falhas e queda do sistema.
A linguagem distribuida deve suportar concorrência (trheads), comunicação (socket) e sincronização (synchronize).
Chamada de procedimento remoto (Remote Procedure Call - RPC)
"O Java é bom pra classificar os tipos de classe" - Duó

Blog pra galera do CComp 06

Galera! Vou postar aqui as anotações que faço via notepad nas aulas (principalmente do Duó e do Zé)!
Devíamos ter tido essa idéia antes...

Abraços a todos!
E acessem meu blog! =D