Environmental

Solve if U R genius

Pubblicato il

Molte volte in Linkedin (o via e-mail) è possibile trovare immagini come queste:

Non_linear_system

o questa

solve_if_equal

(per gentile concessione di https://www.linkedin.com/pulse/solve-you-genius-stebin-chacko)

 

Quest’ultima ci infastidisce molto. Dato che nella prima c’è solo un sistema, scritto nei simboli geometrici invece di simboli matematici.

Ma perché, nella seconda, invece di scrivere semplicemente  8 = f (2,2) ed infine «a cosa è uguale f(9,9)», utilizzare questa notazione senza senso come  2 + 2 = 8?

 

Tra l’altro, se vogliamo parlare della domanda in sè:

il secondo quiz è molto intuitivo.

Dovrebbe essere risolto con un algoritmo di machine learning di regressione lineare come (se non immediatamente risolvere con la matematica di base).

 

Ed invece il primo?

Utilizzando le derivate delle singole equazioni, può essere risolto per iterazioni.

Il codice Python di risoluzione:

 

# -*- coding: utf-8 -*-
“”” Equations:
s**3 = 27
t**3 + s = 24
s * t * c**2 = 96

Solutions s = 3 t = 2 c = 4 “””

import numpy as np

s, t, c = 1, 1, 1 # inizializzo
print s, t, c
def J(s, t, c):
# J = cost_function = (s**3 – 27)**2 + ( t**3 + s – 24 )**2 + (s * t * c**2 – 96 )**2
# = Σ (h_i – y )²
return (s**3 – 27)**2 + ( t**3*s -24 )**2 + (s* t* c**2 – 96)**2

# grad = [ ∂J/∂s, ∂J/∂t, ∂J/∂c] # Chain Rule (in a different form) f(g(x)) f’(g(x))g’(x)
alfa = .0003

for i in range(40): # actualizo los parametros
deriv_s = 2* (s**3 -27)* (2*s**2) +2*(t**3* s -24)* (t**3) +2*(s* t* c**2 – 96)* (t* c**2)
s = s – alfa * deriv_s
deriv_t = 2*(t**3* s -24)* (3* t**2* s) +2*(s* t* c**2 – 96)* (s* c**2)
t = t – alfa * deriv_t
deriv_c = 2*(s* t* c**2 – 96)* (s* t* 2*c)
c = c – alfa * deriv_c

print “\r\tThe cost function is: “, J(s,t,c)
print “\t\tThe actual values of roots are:”, round(s,3), round(t,3), round(c,3)

print “\nThe search roots are: “, c, s, t

“””solve c + s * t = ? “””
print “\n\t The search result is: “, c + s * t

 

In conclusione, ed a prescindere dalla matematica, vorremmo utilizzare correttamente linkedin (non come facebook).

 

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *