Che cos’è un numero casuale?
Numero casuale NON significa un numero diverso ogni volta. Casuale significa qualcosa che non può essere previsto logicamente.
Pseudo casuale e casuale vero.
I computer lavorano su programmi e i programmi sono un insieme determinato di istruzioni. Quindi significa che esiste un algoritmo per generare un numero casuale.
→ Se esiste un programma per generare un numero casuale, può essere previsto, quindi non è veramente casuale.
I numeri casuali generati attraverso un algoritmo di generazione sono chiamati pseudo casuali.
Cosa sono i numeri pseudo-casuali
Un numero pseudo-casuale è un numero che appare casuale, ma in realtà non lo è. In effetti, i computer non sono in grado di generare un numero veramente casuale perché i computer sono deterministici e seguono coerentemente un determinato insieme di istruzioni. L’idea alla base di questo è che otterremo sempre lo stesso insieme di numeri casuali per lo stesso seme ( punto di partenza) su qualsiasi macchina.
Possiamo creare numeri veramente casuali?
Sì. Per generare un numero veramente casuale sui nostri computer, abbiamo bisogno di ottenere i dati casuali da una fonte esterna. Questa fonte esterna è generalmente la nostra sequenza di tasti, i movimenti del mouse, i dati sulla rete, ecc.
Non abbiamo bisogno di numeri veramente casuali, a meno che non siano legati alla sicurezza (es. chiavi di crittografia) o la base dell’applicazione sia la casualità (es. Ruote della roulette digitale).
Creare array random
Affrontiamo i seguenti casi:
A ) Un vettore di 5 elementi distribuiti uniformemente fra [0,…… ,10[
B) Un vettore di 5 elementi con distribuzione normale μ = 1 e = σ 0,2
C) Una matrice 3×3 da una distribuzione uniforme in {0;1}

Creare array 1D di numeri casuali

numpy.random.randint
Restituisce numeri interi casuali da low (incluso) a high (escluso).
Restituisce interi casuali dalla distribuzione “discreta uniforme” nell’intervallo “semiaperto” [ low , high ). Se high è None (impostazione predefinita), i risultati provengono da [0, low ).

| Parametri: |
low : int
high : int, opzionale
size : int o tupla di ints, opzionale
|
|---|---|
| Ritorna: |
out : int o ndarray di ints
|
np.random.seed()
np.random.seed(0)
rende i numeri casuali prevedibili.
>>> numpy.random.seed(0) ; numpy.random.Rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
>>> numpy.random.seed(0) ; numpy.random.Rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
Se il seed random non viene ripristinato, ad ogni richiamo vengono visualizzati gli stessi numeri:
>>> numpy.random.Rand(4)
array([ 0.42, 0.65, 0.44, 0.89])
>>> numpy.random.Rand(4)
array([ 0.96, 0.38, 0.79, 0.53])
I numeri casuali (pseudo-) funzionano partendo da un numero (il seme), moltiplicandolo per un numero grande, quindi assumendo il modulo di quel prodotto. Il numero risultante viene quindi utilizzato come seme per generare il successivo numero “casuale”.
Se vuoi numeri apparentemente casuali, non impostare il seme. Se si dispone di codice che utilizza numeri casuali di cui si desidera eseguire il debug, tuttavia, può essere molto utile impostare il seme prima di ogni esecuzione in modo che il codice esegua la stessa operazione ogni volta che lo si esegue.
Per ottenere i numeri più casuali diversi ogni volta imposta numpy.random.seed(). Questo farà sì che numpy setta il seed ad un numero casuale ottenuto da /dev/urandom o dal suo analogo di Windows o, se nessuno di questi è disponibile, userà l’orologio.
La sintassi maggiormente utilizzata è:
import numpy as np
np.random.seed()
(1715)
Altri articoli nella categoria "Lezioni di Python"
- Break-Even Point nel Franchising: Calcolo Avanzato, Automazione e Royalty (con Modelli in Python)
- Regressione lineare: esercizi progressivi dai minimi quadrati alla regressione multipla
- Microeconomia applicata: choke price, domanda esponenziale, segmentazione e prezzo ottimale – Parte 2
- Microeconomia applicata: choke price, prezzo di riserva massimo e prezzo ottimale
- Quanti Centri Ha una Figura Geometrica? Dal Baricentro al Pentagramma
- Microeconomia Computazionale: Come la Domanda di Mercato Emerge dai Comportamenti Individuali
- Legge di Benford e Data Quality nel Marketing: Guida, Formule ed Esercizi Python
- Microeconomia dell’AI: 6 esercizi matematici su costi, pricing, domanda ed elasticità
- Equazioni trascendenti: come risolverle con Python, dal punto fisso a Newton e Brent
- Equazioni Omogenee Esponenziali: Guida Pratica con Esercizi Svolti e Applicazioni