52 lines
2.3 KiB
C
52 lines
2.3 KiB
C
#include "../squiggle.h"
|
|
#include "../squiggle_more.h"
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
// Estimate functions
|
|
double sample_ais_1(uint64_t* seed)
|
|
{
|
|
double num_arxiv_ml_authors_2024 = 7379; // Number of authors who published in the stats.ML category on arxiv in 2023
|
|
double fraction_of_ml = sample_beta(7.41986324742243, 114.487997692331, seed); // fraction they are of the field. 0.03 to 0.1. https://nunosempere.com/blog/2023/03/15/fit-beta/
|
|
double fraction_of_their_research_thats_relevant = sample_beta(0.8277362357555023, 25.259989675532076, seed); // fraction of their research that is safety relevant, 0.001 to 0.1
|
|
double academia_adjustment = sample_beta(1.9872200324266, 6.36630125578423, seed); // 0.05 0.5 adjustment because they are from academia
|
|
|
|
return num_arxiv_ml_authors_2024 * fraction_of_their_research_thats_relevant * academia_adjustment / fraction_of_ml;
|
|
}
|
|
|
|
double sample_ais_2(uint64_t* seed)
|
|
{
|
|
double num_arxiv_ml_authors_2024 = 7379; // Number of authors who published in the stats.ML category on arxiv in 2023
|
|
double fraction_of_ml = sample_beta(7.41986324742243, 114.487997692331, seed); // fraction they are of the field. 0.03 to 0.1. https://nunosempere.com/blog/2023/03/15/fit-beta/
|
|
double fraction_of_their_research_thats_relevant = sample_beta(3.28962721497463, 17.7686162987246, seed); // fraction of their research that is safety relevant, 0.001 to 0.1
|
|
double academia_adjustment = sample_beta(2.23634269185645, 3.73532102339597, seed); // 0.05 0.5 adjustment because they are from academia
|
|
|
|
return num_arxiv_ml_authors_2024 * fraction_of_their_research_thats_relevant * academia_adjustment / fraction_of_ml;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
// set randomness seed
|
|
uint64_t* seed = malloc(sizeof(uint64_t));
|
|
*seed = 1000; // xorshift can't start with 0
|
|
|
|
int n_samples = 10 * MILLION;
|
|
|
|
printf("# AIS 1\n");
|
|
double* xs = malloc(sizeof(double) * (size_t)n_samples);
|
|
sampler_parallel(sample_ais_1, xs, 16, n_samples);
|
|
printf("# Stats\n");
|
|
array_print_stats(xs, n_samples);
|
|
printf("\n# Histogram\n");
|
|
array_print_histogram(xs, n_samples, 23);
|
|
|
|
printf("# AIS 2\n");
|
|
sampler_parallel(sample_ais_2, xs, 16, n_samples);
|
|
printf("# Stats\n");
|
|
array_print_stats(xs, n_samples);
|
|
printf("\n# Histogram\n");
|
|
array_print_histogram(xs, n_samples, 23);
|
|
|
|
free(seed);
|
|
}
|