sexta-feira, 28 de março de 2025

Canterbury Scene


 A "Canterbury Scene" é uma vertente do Rock Progressivo que emergiu no final dos anos 1960, com raízes na região de Canterbury, Inglaterra. Esse subgênero é conhecido por sua abordagem experimental, que mistura elementos de jazz, rock, psicodelia e até música erudita, resultando em composições complexas e muitas vezes cheias de humor e lirismo.


Entre as bandas pioneiras, destacam-se *Soft Machine*, *Caravan*, *Gong* e *Hatfield and the North*. Esses grupos marcaram a história do movimento com álbuns icônicos, como *The Soft Machine* (1968), *In the Land of Grey and Pink* (1971, Caravan) e *You* (1974, Gong). 


Musicalmente, a "Canterbury Scene" é caracterizada por longas peças instrumentais, harmonias intricadas, uso de sintetizadores e solos virtuosos, especialmente no teclado e nos sopros. Os temas líricos frequentemente abordam questões filosóficas, humorísticas e surrealistas, refletindo a mentalidade criativa da época.


Este movimento, embora tenha perdido sua força original nos anos 1970, continua sendo referência entre os amantes do rock progressivo, influenciando músicos e conquistando novas gerações até hoje.

A cena de Canterbury possui uma rica discografia, com muitos álbuns que capturam sua essência única. Aqui estão alguns dos trabalhos essenciais que você pode explorar:


1. **Soft Machine** - *Third* (1970): Um marco do movimento, este álbum experimental combina jazz e rock progressivo em peças extensas e inovadoras.


2. **Caravan** - *In the Land of Grey and Pink* (1971): Considerado um dos maiores clássicos do rock progressivo, apresenta melodias cativantes e letras poéticas.


3. **Hatfield and the North** - *Hatfield and the North* (1974): Este disco traz harmonias complexas e momentos instrumentais virtuosos, com o típico humor do movimento.


4. **Gong** - *You* (1974): Parte da trilogia *Radio Gnome Invisible*, este álbum explora temas cósmicos e psicodélicos com muita criatividade.


5. **National Health** - *Of Queues and Cures* (1978): Embora seja uma obra tardia da cena de Canterbury, este álbum é admirado por sua inventividade e riqueza instrumental.


Esses álbuns são uma porta de entrada para o universo da cena de Canterbury, destacando a diversidade e o talento dos músicos que moldaram esse estilo. 

A cena de Canterbury contou com talentos notáveis que ajudaram a definir esse estilo único. Alguns dos músicos mais destacados incluem:


- **Robert Wyatt** (*Soft Machine*): Baterista e vocalista, conhecido por sua abordagem experimental e sua capacidade de mesclar emoções e técnica.


- **Kevin Ayers** (*Soft Machine*): Um dos fundadores do movimento, contribuiu com seu estilo único como baixista e compositor.


- **Richard Sinclair** (*Caravan*, *Hatfield and the North*): Baixista e vocalista, com um timbre suave e composições memoráveis.


- **Dave Stewart** (*Egg*, *Hatfield and the North*, *National Health*): Tecladista virtuoso, um dos principais responsáveis pelas complexas harmonias da cena.


- **Pye Hastings** (*Caravan*): Guitarrista e vocalista, trouxe elementos melódicos e líricos ao movimento.


- **Daevid Allen** (*Gong*): Figura excêntrica e inovadora, que contribuiu para a fusão de psicodelia e progressivo.


Esses músicos, entre outros, formaram o núcleo criativo da cena de Canterbury, cada um trazendo sua identidade artística e empurrando os limites do rock progressivo. 

Ouça no Sopify:

https://open.spotify.com/playlist/37i9dQZF1EIePyFVDRSkGa?si=985374dfa4f54f37


quinta-feira, 27 de março de 2025

Gilgamesh


A Grandeza de Gilgamesh: Um Herói Entre Deuses e Mortais

Gilgamesh, um nome que ressoa como um eco ancestral nas vastas galerias da história humana, é a figura central de um dos mais antigos épicos literários já registrados. Proveniente das terras férteis da Mesopotâmia, a saga de Gilgamesh transcende as fronteiras do tempo, revelando-nos as inquietações, aspirações e dilemas que continuam a habitar o âmago humano.

O "Épico de Gilgamesh", inscrito em tábuas de argila há mais de quatro mil anos, narra as façanhas de um rei semi-divino da cidade-estado de Uruk. Ao longo de sua jornada, Gilgamesh se destaca não apenas por sua força física e poder, mas também pela complexidade emocional que o define como um herói profundamente humano. O relato explora temas universais como a amizade, a busca pela imortalidade e o enfrentamento da mortalidade, oferecendo-nos um espelho para refletirmos sobre nossa própria existência.

A amizade entre Gilgamesh e Enkidu, seu fiel companheiro, forma o cerne do épico. De sua camaradagem nasce a coragem para enfrentar criaturas lendárias, como Humbaba e o Touro Celestial, bem como a introspecção que se segue à perda de Enkidu, catalisando uma jornada de transformação interior. Na busca por respostas à inevitabilidade da morte, Gilgamesh encontra Utnapishtim, o sobrevivente de um dilúvio cataclísmico, cujas histórias lançam luz sobre a efemeridade da vida e a importância de deixar um legado.

Gilgamesh, portanto, emerge não apenas como um herói épico, mas como um arquétipo que desafia os limites entre o humano e o divino. Sua saga, repleta de nuances filosóficas, transcende a simplicidade de um conto de aventuras, convidando-nos a contemplar os mistérios da condição humana e as eternas perguntas que nos definem.

Ao recordarmos Gilgamesh, não celebramos apenas um herói do passado, mas também um testemunho imortal da capacidade humana de narrar histórias que ecoam por gerações. Ele nos lembra que, enquanto buscamos significados e enfrentamos nossas próprias vulnerabilidades, há beleza e força na jornada compartilhada da humanidade. Que sua lenda continue a inspirar, instigar e iluminar os caminhos que trilhamos.
Para saber mais:

https://www.smeducacao.com.br/wp-content/uploads/2021/07/A-HISTORIA-DE-GILGAMESH_Degus.pdf

https://acasatombada.com.br/wp-content/uploads/tainacan-items/22480/26834/Carminda-Mendes-Andre-_-Narracao-Artistica-_-T-15.pdf

https://geha.paginas.ufsc.br/files/2017/04/A-Epop%C3%A9ia-de-Gilgamesh.-Tradu%C3%A7%C3%A3o-de-Carlos-Daudt-de-Oliveira.-Martins-fontes-2011.-ISBN-85-336-1389-X.pdf


quarta-feira, 26 de fevereiro de 2025

Técnicas de Amostragem em Python, R e C++

 A amostragem é uma etapa crucial em qualquer projeto de ciência de dados, permitindo extrair informações valiosas de um conjunto de dados complexo e extenso. A escolha da técnica de amostragem adequada impacta diretamente a qualidade e a representatividade dos resultados obtidos.

1. Amostragem Aleatória Simples

  • Conceito: Cada elemento da população tem a mesma chance de ser selecionado para a amostra.
  • Implementação:
    • Python: Utilize a função sample do módulo random ou a função choice do módulo numpy.
    • R: Utilize a função sample.
    • C++: Utilize a função rand da biblioteca cstdlib em conjunto com a função srand para inicializar o gerador de números aleatórios.
  • Aplicações: Ideal para populações homogêneas e quando não há informações prévias sobre a distribuição dos dados.
  • Exemplos: Em Python
import random

# Função para gerar amostra aleatória simples
def gerar_amostra_aleatoria(n, N):
    if n >= N:
        return "O tamanho da amostra (n) deve ser menor que o tamanho da população (N)."
    # Gerar a população
    populacao = list(range(1, N + 1))
    # Gerar a amostra aleatória simples
    amostra = random.sample(populacao, n)
    return amostra

# Solicitar os valores de n e N ao usuário
n = int(input("Digite o tamanho da amostra (n): "))
N = int(input("Digite o tamanho da população (N): "))

# Obter a amostra
amostra = gerar_amostra_aleatoria(n, N)
# Exibir a amostra
print("Amostra aleatória simples:", amostra)

Em R:
# Criar um data frame de exemplo
set.seed(42)
df <- data.frame(
  id = 1:100,
  valor = sample(100:200, 100, replace = TRUE)
)

# Realizar a amostragem aleatória simples
sample_size <- 20  # Tamanho da amostra
sampled_df <- df[sample(nrow(df), sample_size), ]

# Mostrar o conjunto amostrado
print("Conjunto Amostrado Aleatoriamente:")
print(sampled_df)

Em C++:
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>

// Função para realizar a amostragem aleatória simples
std::vector<int> simple_random_sampling(const std::vector<int>& population, int sample_size) {
    std::vector<int> sample;
    std::vector<int> indices(population.size());
    
    // Inicializa os índices
    for (size_t i = 0; i < indices.size(); ++i) {
        indices[i] = i;
    }
    
    // Embaralha os índices
    std

2. Amostragem Estratificada

  • Conceito: A população é dividida em estratos com características semelhantes, e amostras aleatórias são extraídas de cada estrato.
  • Implementação:
    • Python: Utilize a biblioteca scikit-learn ou crie funções personalizadas para dividir os dados em estratos e aplicar a amostragem aleatória em cada um.
    • R: Utilize a função strata do pacote sampling.
    • C++: Crie funções personalizadas para dividir os dados em estratos e aplicar a amostragem aleatória em cada um.
  • Aplicações: Ideal para populações heterogêneas, garantindo que a amostra represente a diversidade da população.
  • Exemplo em Python:
import pandas as pd
from sklearn.model_selection import train_test_split
# Criar um DataFrame de exemplo
data = {
    'id': range(1, 101),
    'categoria': ['A'] * 30 + ['B'] * 30 + ['C'] * 20 + ['D'] * 20,
    'valor': range(100, 200)
}
df = pd.DataFrame(data)
# Dividir o DataFrame em conjuntos de treinamento e teste usando amostragem estratificada
train, test = train_test_split(df, test_size=0.2, stratify=df['categoria'], random_state=42)

# Mostrar os conjuntos de treinamento e teste
print("Conjunto de Treinamento:")
print(train)
print("\nConjunto de Teste:")
print(test)

  • 3. Amostragem por Conglomerados
  • Conceito: A população é dividida em conglomerados, e alguns conglomerados são selecionados aleatoriamente para compor a amostra.
  • Implementação:
    • Python: Utilize bibliotecas como pandas para manipular os dados e selecionar os conglomerados.
    • R: Utilize a função cluster do pacote sampling.
    • C++: Crie funções personalizadas para dividir os dados em conglomerados e aplicar a amostragem aleatória.
  • Aplicações: Ideal para populações grandes e dispersas geograficamente, reduzindo custos e tempo de coleta de dados.
Exemplo em Python:
import pandas as pd
import numpy as np

# Criar um DataFrame de exemplo
data = {
    'id': range(1, 101),
    'grupo': np.random.randint(1, 11, 100),
    'valor': np.random.randint(100, 200, 100)
}
df = pd.DataFrame(data)

# Função para realizar a amostragem por conglomerados
def cluster_sampling(dataframe, cluster_col, n_clusters):
    unique_clusters = dataframe[cluster_col].unique()
    sampled_clusters = np.random.choice(unique_clusters, n_clusters, replace=False)
    sampled_df = dataframe[dataframe[cluster_col].isin(sampled_clusters)]
    return sampled_df

# Realizar a amostragem por conglomerados
n_clusters = 3  # Número de conglomerados a serem selecionados
sampled_df = cluster_sampling(df, 'grupo', n_clusters)

# Mostrar o conjunto amostrado
print("Conjunto Amostrado por Conglomerados:")
print(sampled_df)

4. Amostragem Sistemática

  • Conceito: Os elementos da amostra são selecionados em intervalos regulares da população.
  • Implementação:
    • Python: Crie funções personalizadas para gerar os índices dos elementos da amostra.
    • R: Crie funções personalizadas para gerar os índices dos elementos da amostra.
    • C++: Crie funções personalizadas para gerar os índices dos elementos da amostra.
  • Aplicações: Ideal para populações com ordenação natural, como listas ou arquivos sequenciais.
Exemplo em Python:
import pandas as pd
import numpy as np

# Criar um DataFrame de exemplo
data = {
    'id': range(1, 101),
    'valor': np.random.randint(100, 200, 100)
}
df = pd.DataFrame(data)

# Função para realizar a amostragem sistemática
def systematic_sampling(dataframe, step):
    indices = np.arange(0, len(dataframe), step)
    sampled_df = dataframe.iloc[indices]
    return sampled_df

# Definir o intervalo de amostragem
step = 5

# Realizar a amostragem sistemática
sampled_df = systematic_sampling(df, step)

# Mostrar o conjunto amostrado
print("Conjunto Amostrado Sistematicamente:")
print(sampled_df)

Em R:
# Criar um data frame de exemplo
set.seed(42)
df <- data.frame(
  id = 1:100,
  valor = sample(100:200, 100, replace = TRUE)
)

# Função para realizar a amostragem sistemática
systematic_sampling <- function(dataframe, step) {
  indices <- seq(1, nrow(dataframe), by = step)
  sampled_df <- dataframe[indices, ]
  return(sampled_df)
}

# Definir o intervalo de amostragem
step <- 5

# Realizar a amostragem sistemática
sampled_df <- systematic_sampling(df, step)

# Mostrar o conjunto amostrado
print("Conjunto Amostrado Sistematicamente:")
print(sampled_df)

Considerações Finais

  • A escolha da técnica de amostragem depende do objetivo do estudo, das características da população e dos recursos disponíveis.
  • É fundamental garantir que a amostra seja representativa da população para evitar vieses e erros de inferência.
  • A validação dos resultados da amostragem é crucial para garantir a confiabilidade das conclusões.

Espero que este guia completo sobre técnicas de amostragem em Python, R e C++ seja útil para seus projetos de ciência de dados.

Dicas de leitura sobre Amostragem:

Claro! Aqui está uma bibliografia em português do Brasil sobre técnicas de amostragem:


1. **Cochran, W. G. (1977). "Sampling Techniques"**. John Wiley & Sons. Este livro é uma referência clássica em técnicas de amostragem, abordando métodos probabilísticos e não probabilísticos.


2. **Thompson, S. K. (2012). "Sampling"**. John Wiley & Sons. Este livro oferece uma visão abrangente das técnicas de amostragem, incluindo amostragem aleatória simples, estratificada e por conglomerados.


3. **Silva, P. L. N., & Moura, E. C. (2000). "Amostragem em Pesquisas de Saúde"**. Editora Fiocruz. Este livro foca na aplicação de técnicas de amostragem em pesquisas de saúde, abordando métodos probabilísticos e não probabilísticos.


4. **Barbetta, P. A. (2007). "Estatística Aplicada às Ciências Sociais"**. Editora UFSC. Este livro aborda técnicas de amostragem e sua aplicação em pesquisas nas ciências sociais.


5. **Bolfarine, H., & Bussab, W. O. (2005). "Elementos de Amostragem"**. Editora Blucher. Este livro apresenta uma introdução às técnicas de amostragem, com exemplos práticos e aplicações.


6. **Santos, J. E., & Silva, M. A. (2010). "Técnicas de Amostragem para Pesquisas de Mercado"**. Editora Atlas. Este livro aborda técnicas de amostragem aplicadas em pesquisas de mercado, com foco em métodos probabilísticos e não probabilísticos.

Canterbury Scene

  A "Canterbury Scene" é uma vertente do Rock Progressivo que emergiu no final dos anos 1960, com raízes na região de Canterbury, ...