quarta-feira, 29 de novembro de 2017

Divulgando: SBRC 2018 - XXXVI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos


----------------------------------------------------------------------------------------------------------------------------
CHAMADA DE TRABALHOS


SBRC 2018: XXXVI Simpósio Brasileiro de Redes de Computadores e Sistemas
Distribuídos
Campos dos Jordão  – São Paulo, 06 a 10 de maio de 2018
----------------------------------------------------------------------------------------------------------------------------
O EVENTO

O Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC) é um evento anual promovido pela Sociedade Brasileira de Computação (SBC) e pelo Laboratório de Redes de Computadores (LARC). Ao longo de mais de três décadas de realização, o SBRCfirmou-se como o mais importante evento científico nacional em redes de computadores e sistemas distribuídos, e um dos mais concorridos em informática. A importância do SBRC pode ser observada pelo número de submissões de trabalhos e de participantes nas suas diversas edições.

A 36a edição do Simpósio será realizada de 06 a 10 de maio de 2018 no Centro de Convenções de  Campos dos Jordão, São Paulo. A coordenação do evento está sob a responsabilidade conjunta do Departamento de Computação (DComp) da Universidade Federal de São Carlos (UFSCar) e do Instituto de Ciências Matemáticas e de Computação (ICMC) da USP (Universidade de São Paulo). Tradicionalmente, o evento é  composto de sessões técnicas, minicursos, painéis e debates, workshops, salão de ferramentas, palestras e tutoriais proferidos por convidados de renome internacional. Este ano, pela primeira vez, o SBRC contará com um hackaton na área de Redes de Computadores e Sistemas Distribuídos e também com um Concurso de Teses e Dissertações.

-----------------------------------------------------------------------------------
TÓPICOS DE INTERESSE:

Autores são convidados a submeter artigos completos contendo resultados de suas pesquisas científicas ou tecnológicas. Cada artigo será avaliado por pelo menos três especialistas.

A lista não exaustiva de tópicos de interesse inclui:

• Algoritmos distribuídos (projetos e aplicações)
• Aplicações em redes
• Arquitetura e caracterização de redes e serviços
• Cidades inteligentes
• Computação intensiva de dados (Big Data), e análise e mineração de dados
• Computação na nuvem, na névoa e orientada a serviços
• Computação móvel
• Computação ubíqua, pervasiva e sensível ao contexto
• Crowdsourcing
• Detecção e prevenção de anomalias e ataques
• Desempenho, escalabilidade e confiabilidade
• Engenharia e controle de tráfego
• Especificação, validação e verificação de protocolos
• Gerenciamento, operação, projeto e análise de redes
• Gerenciamento de identidades, endereços e localização
• Internet das coisas e sistemas ciberfísicos
• Internet do futuro
• Internet tátil
• Medição e monitoração de redes
• Middleware
• Otimização cross-layer
• Qualidade de serviços (QoS) e de experiência (QoE)
• Redes autonômicas e auto-organizáveis
• Redes centradas na informação
• Redes de centros de dados (Data Center Networking)
• Redes definidas por software
• Redes de rádios cognitivos
• Redes de sensores
• Redes móveis
• Redes ópticas
• Redes e sistemas P2P
• Redes sem fio infraestruturadas
• Redes sociais (online, móveis e pervasivas)
• Redes tolerantes a atrasos/interrupções
• Redes veiculares tripuladas e não tripuladas
• Redes verdes (green networking)
• Roteamento, comutação e endereçamento
• Segurança em redes e sistemas distribuídos
• Serviços web
• Simulação e emulação de redes
• Sistemas distribuídos (autonômicos, multimídia, de tempo real)
• Sistemas operacionais distribuídos
• Smart Grids
• Redes e aplicações de TV Digital e Interativa
• Tolerância a falhas e resiliência
• Virtualização de funções de rede
• Virtualização de redes

-----------------------------------------------------------------------------------
DATAS IMPORTANTES:

Registro de artigos: 05/12/2017
Submissão de artigos: 12/12/2017
Comunicação de resultados: 15/03/2018
Envio da versão final: 03/04/2018

sábado, 25 de novembro de 2017

Resolvendo um sistema de equações lineares iterativamente


Em algumas situações, é mais interessante resolver um sistema de equações lineares Ax = b usando algum método iterativo do que um método direto, especialmente para o caso de sistemas de grande porte e com muitos elementos nulos. O método iterativo mais usual é Gauss-Seidel que pode ser expresso por:
\[ x_i = \frac{b_i - \sum_{j=1,j\neq i}^{N}a_{ij}x_{j}}{a_{ii}} \]
com $i = 1, 2, ..., N$. Em geral, a solução inicial é o vetor nulo: x = 0.

Como é um método iterativo, devemos adotar algum critério de parada. Os critérios de parada mais comuns são: número máximo de iterações e o erro menor que uma certa tolerância. O erro pode ser calculado como a menor diferença entre $x_i^k$ e $x_i^{k-1}$, onde $k$ significa o número da iteração.

Um outro ponto que devemos considerar é que a ordem das equações no sistema é importante. Podemo trocar linhas ou colunas (sem afetar o resultado efetivo do sistema) de tal forma que a diagonal principal se torne mais dominante, isto é, os elementos da diagonal principal devem ser, em termos absolutos, maiores que os coeficientes da mesma linha.

Usaremos o sistema $8 \times 8$ abaixo para ilustrar esses conceitos:

Esse sistema é não singular nem mesmo mal condicionado, mas está longe de ser o tipo de sistema ideal para resolvermos de forma iterativa. O código abaixo calcula a sua solução:

clc; close; // Limpando o console e fechando janelas

M = [2.4 2.2 1.3 1.2 1.2 1.1 0.5 0.3
     -1 3.3 -1 1 1 0.5 0.25 0.2
     -1 -1 2.5 -1.4 -1.7 -1  0.1 0.2
      1  0.5 2.0  2.6 1  0.5 0.2 0.1 
     0.5 0.5 -1.2 -1 2.1 1 -0.2 0.1
     0.5 1.5 -1 1 -1 2 -0.1 -0.2
     0.25 -0.5 1.5 -1.3 1 -1 2.1 -0.5
     -0.3 0.6 0.5 1.5 -1.2 1 -1.3 -2]
b = M*[1;2;3;4;5;6;-0.5;-2]; // vetor 
N = 8; // ordem da matriz

Mi = M;
xk = 0*b;  // solução inicial
bi = b;
for k=1:N 
    Mi(k,k) = 0;  Mi(k,:) = Mi(k,:)/M(k,k);
    bi(k) = bi(k)/M(k,k);
end

nmax = 90; // número máximo de iterações
erro = 1; // erro inicial
nk = 2;  // número da iteração
mvx = zeros(N,nmax); // guardando os valores de xk
mvx(:,1) = xk;
while erro>0.005
    erro = xk;
    for n=1:N
        s = Mi(n,:)*xk;
        xk(n) = bi(n) - s; 
    end    
    mvx(:,nk) = xk;
    erro = max(abs(erro - xk));
    printf('%d & %1.4f & %1.4f & %1.4f & %1.4f & %1.4f %1.4f \n',...
    nk,xk(1),xk(2),xk(3),xk(4),xk(5),erro);
    nk = nk + 1;
    if nk > nmax then 
        erro =0; 
    end; // número máximo de iterações
end
figure;
plot(1:nk-1,mvx(:,1:nk-1),'-o'); xgrid;
xlabel('Iteração k'); ylabel('$ x_i \$');
legend('x1','x2','x3','x4','x5','x6','x7','x8');

O resultado podemos ver no gráfico abaixo:

A convergência só ocorre com quase 90 iterações. Muito demorado!
Percebemos que o total de iterações para ocorrer a convergência é muito longo, pois são necessárias quase 90 iterações. O que podemos fazer para melhorar isso? Trocar linhas/colunas e iniciar com um ponto de partida melhor. Um ponto de partida possivelmente melhor é fazer $x_i = b_i/a_{ii}$, aplicando esse ganho obtemos uma redução de algumas iterações, é um ganho pequeno. Um ganho mais significativo é se trocarmos as incógnitas $x_1$ com $x_2$, isso implica em trocar a 2a. com a 3a. linha e, depois, a segunda coluna com a primeira coluna. Nesse caso, o ganho é muito significativo, o número de iterações cai para apenas 19, mantendo o mesmo critério de erro. Se, adicionalmente, somarmos a 3a com a 4a. coluna, fazemos com a diagonal fique mais dominante, acelerando ainda mais a convergência. O código com essas alterações é:

clc; close; // Limpando o console e fechando janelas

M = [2.4 2.2 1.3 1.2 1.2 1.1 0.5 0.3
     -1 3.3 -1 1 1 0.5 0.25 0.2
     -1 -1 2.5 -1.4 -1.7 -1  0.1 0.2
      1  0.5 2.0  2.6 1  0.5 0.2 0.1 
     0.5 0.5 -1.2 -1 2.1 1 -0.2 0.1
     0.5 1.5 -1 1 -1 2 -0.1 -0.2
     0.25 -0.5 1.5 -1.3 1 -1 2.1 -0.5
     -0.3 0.6 0.5 1.5 -1.2 1 -1.3 -2]
b = M*[1;2;3;4;5;6;-0.5;-2]; // vetor 
N = 8; // ordem da matriz

// troca ...
aux = M(1,:); ba = b(1);
M(1,:) = M(2,:); b(1) = b(2);
M(2,:) = aux; b(2) = ba;
aux = M(:,1); M(:,1) = M(:,2); M(:,2) = aux;

//Soma 3a. linha com 4a. linha, resultado na 3a. linha:
M(3,:) = M(3,:) + M(4,:); b(3) = b(3) + b(4);
 
Mi = M;
xk = 0*b;  // solução inicial
bi = b;
for k=1:N 
  xk(k) = sign((b(k)/M(k,k))); //*sqrt(abs((b(k)/M(k,k))));
end
for k=1:N 
    Mi(k,k) = 0;  Mi(k,:) = Mi(k,:)/M(k,k);
    bi(k) = bi(k)/M(k,k);
end

nmax = 90; // número máximo de iterações
erro = 1; // erro inicial
nk = 2;  // número da iteração
mvx = zeros(N,nmax); // guardando os valores de xk
mvx(:,1) = xk;
while erro>0.005
    erro = xk;
    for n=1:N
        s = Mi(n,:)*xk;
        xk(n) = bi(n) - s; 
    end    
    mvx(:,nk) = xk;
    erro = max(abs(erro - xk));
    printf('%d & %1.4f & %1.4f & %1.4f & %1.4f & %1.4f %1.4f \n',...
    nk,xk(1),xk(2),xk(3),xk(4),xk(5),erro);
    nk = nk + 1;
    if nk > nmax then 
        erro =0; 
    end; // número máximo de iterações
end
figure;
plot(1:nk-1,mvx(:,1:nk-1),'-o'); xgrid;
xlabel('Iteração k'); ylabel('$ x_i \$');
legend('x1','x2','x3','x4','x5','x6','x7','x8');

O resultado é:
O mesmo sistema, mas com alguns ajustes "técnicos" - redução significativa no número de iterações.

segunda-feira, 20 de novembro de 2017

Divulgando: 12º CocoaHeads Fortaleza e PyLadies - Aracati


12º CocoaHeads Fortaleza
Capítulo: CocoaHeads Fortaleza
Data do evento: 23/11/2017
Horário: 13h30min
Local: Uni7 (Antiga Fa7)
Endereço: Av. Alm. Maximiano da Fonseca, 1395 Eng. Luciano Cavalcante - CEP 60811-020 Fortaleza - CE - Brasil.

Mais informações aqui!



O campus de Aracati vai promover mais uma ação para incentivar a participação de meninas na área de tecnologia e computação. Isso vai ser possível graças ao início das atividades, aqui no campus, do PyLadies, uma comunidade mundial que já existe em vários estados brasileiros justamente com o propósito de atrair mais mulheres para a área tecnológica.

O primeiro encontro do grupo acontece no dia 24 de novembro, das 13h30 às 17h, no auditório do novo campus do IFCE, com uma programação aberta ao público. Em Aracati, o Pyladies vai reunir atividades que vinham sendo realizadas em dois projetos que já funcionam no campus: o Divas, voltado para a promoção da presença de mulheres na computação; e o Propython, que atua na divulgação da linguagem de programação Python.

sábado, 18 de novembro de 2017

Xadrez: Cearense Absoluto - Round 3


Está acontecendo agora a 3a. rodada do Campeonato Cearense de Xadrez Absoluto - as partidas estão sendo mostradas ao vivo pelo chess24 link aqui. Por enquanto não tem como apontar um franco favorito, mas  eu apostaria em um desses: Renan Braz Parente, Mário Correia e Wellington Albuquerque Jr. Talvez a maior surpresa tenha sido a derrota de Igor Palácio frente a Jhone Leone na 2a. rodada. Provavelmente, essa é uma das finais mais equilibradas dos últimos anos. O torneio segue até 20 de novembro.

Classificação agora e terceira rodada:

3a. rodada em andamento.

terça-feira, 7 de novembro de 2017

Divulgando: Mestrado em Engenharia de Telecomunicações - IFCE, Campus Fortaleza


No período de 8 a 30 de novembro, o campus de Fortaleza do Instituto Federal do Ceará estará com inscrições abertas para o mestrado em Engenharia de Telecomunicações, formação gratuita destinada a licenciados, bacharéis e tecnólogos nas áreas de engenharias ou ciências exatas.
Ao todo são ofertadas 24 vagas, subdivididas nas seguintes linhas de pesquisa: Micro-ondas e Óptica Integrada (12 vagas), Informação Quântica (2 vagas) e Processamento de Sinais (10 vagas). O processo seletivo constará de prova escrita (etapa eliminatória), análise do curriculum vitae, do histórico escolar de graduação do candidato, do projeto de pesquisa e das cartas de recomendação apresentadas.
As inscrições podem ser realizadas pelo e-mail ppgetcoord2@gmail.com ou na secretaria do PPGET no campus de Fortaleza do IFCE (Avenida Treze de Maio, nº 2081 – Benfica) das 9h às 11h30 e das 14h30 às 17h. A documentação necessária para a inscrição está descrita no edital da seleção, que já se encontra disponível para consulta.
(fonte aqui)

segunda-feira, 6 de novembro de 2017

Divulgando: II Technordeste - O maior evento de tecnologia do Nordeste


O Tech Nordeste é um fórum idealizado pelo Sistema Sebrae nos estados do Ceará, Alagoas, Bahia, Maranhão, Paraíba, Pernambuco, Piauí, Rio Grande do Norte e Sergipe.Entre os seus objetivos, está a disseminação do conhecimento e da inovação e a busca pelo estimulo à cooperação técnico-financeira de organismos governamentais e não-governamentais, nacionais e internacionais, e de investidores privados interessados em empreendimentos rentáveis, como forma de operacionalizar as soluções tecnológicas apresentadas, quer sob a forma de projetos, quer sob a forma de produtos. A segunda edição do Tech Nordeste será realizada nos dias 20 e 21 de novembro em Fortaleza/CE. Durante o evento serão abordados os seguintes eixos-temáticos: Cidades Inteligentes, Tecnologias Sociais, Recursos Hídricos e Energia Limpa.

Link aqui.

sexta-feira, 3 de novembro de 2017

O jogo da confiança


Durante a Primeira Guerra Mundial, eclodiu a paz.

Era o Natal de 1914 na Frente Ocidental. Mesmo sob ordens estritas de não ficarem amiguinhos do outro lado, soldados Britânicos e Alemães deixaram as trincheiras, cruzaram a Terra de Ninguém e se juntaram para enterrar seus mortos, trocar presentes e entreter-se com jogos.

E agora: estamos em 2017, o Ocidente está em paz há decadas, e, caramba, estamos mal na confiança. Pesquisas mostram que, já vão 40 anos, cada vez menos gente diz confiar uns nos outros. Então, aí vai:

Por que, até em tempos de paz, amigos se tornam inimigos? E por que, até em tempos de guerra, inimigos se tornam amigos?

Acho que a teoria dos jogos pode ajudar a explicar a epidemia global de desconfiança – e como combatê-la! Então, para entender isso tudo...





Esta é a motivação para um jogo muito interessante desenvolvido por Nicky Case e traduzido por Roger Araújo e disponível no github aqui.

CONSULTA PÚBLICA - MEDIDA PROVISÓRIA nº 805 de 2017: seja contra!


Medida Provisória n° 805 de 2017
Autoria: Presidência da República
Comissão: Comissão Mista da Medida Provisória nº 805, de 2017

Ementa: posterga ou cancela aumentos remuneratórios para os exercícios subsequentes, altera a Lei nº 8.112, de 11 de dezembro de 1990, que dispõe sobre o regime jurídico dos servidores públicos civis da União, das autarquias e das fundações públicas federais, e a Lei nº 10.887, de 18 de junho de 2004, quanto à alíquota da contribuição social do servidor público e a outras questões.

*** Vote contra mais este atendado aos servidores públicos desse "governo" golpista e sem nenhuma representatividade popular: vote aqui!

quinta-feira, 2 de novembro de 2017

Finitude Humana


Hoje, dia 02 de novembro, é dia de finados (ou Dia dos Fiéis Defuntos) no Brasil, um feriado nacional. Nesta data pensamos com mais ênfase sobre a vida e morte de nossos entes queridos que já não estão mais aqui e sobre o nosso próprio fim nesta Terra. Sabemos que não viveremos para sempre, temos consciência disso muito embora esqueçamos com frequência desse "detalhe".

Justamente por termos essa consciência de um fim, muitos de nós se esforçam para deixar algum tipo de "legado" para nosso filhos, familiares ou a humanidade. Alguns tentam amealhar o maior patrimônio possível, outros procuram deixar o nome na história, alguns escrevem livros para tentarem se eternizar na memória dos leitores. Alguns vão tocando a vida sem essas preocupações.

No final, o mais importante é deixar boas lembranças, fazer nossos trabalhos o mais corretamente possível e valorizar os bons momentos com a família e os amigos, sem esquecer de ajudar a todos aqueles que passam por nossas vidas. Se lembrar daqueles que morreram é importante, ou tem alguma importância, saber deixar um bom legado em vida e influenciar positivamente a vida dos que nos cercam é ainda mais fundamental.

Outras duas postagens com esse tema: aqui e aqui.