Files
boc/iom/intelligence/__pycache__/global_reality_model.cpython-39.pyc
T

172 lines
21 KiB
Plaintext
Raw Normal View History

a
a>jâuã@dZddlmZmZmZmZmZddlmZm Z ddl
m
Z
ddl m Z ddl
Z
ddlZGdddee ƒZeGd d
d
ƒƒZGd d d ƒZd
dZedkr eƒdS)a˜
Global Reality Model
Continuously learning global intelligence platform where every observation,
every action, and every outcome improves models for all similar environments.
The platform IS the product. Apps, websites, APIs, and AI models are just
interfaces to the same shared knowledge model and domain logic.
Architecture Principle:
- Single shared ontology (IOM)
- Single shared semantic understanding (Semantic Graph)
- Single shared AI reasoning (all engines)
- Single shared data structures (all models)
- Single shared architectural foundation
No code is developed in isolation.
Every line of code contributes to the evolution of the entire platform.
é)ÚDictÚListÚOptionalÚTupleÚAny)Ú dataclassÚfield)Údatetime)ÚEnumNc@s eZdZdZdZdZdZdZdS)Ú
KnowledgeTypez5Four types of knowledge in the Reality Knowledge BaseÚ observationÚ relationshipZdecisionÚoutcomeN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__Z OBSERVATIONZ RELATIONSHIPZDECISIONZOUTCOME©rrúH/home/bernt/.openclaw/workspace/iom/intelligence/global_reality_model.pyr s
r c@eZdZUdZeed<eed<eed<eed<eed<eeed<e eefed<e
eefed <e e d
Z
eeed <e
d œd
dZdS)ÚRealityPatternz0A discovered pattern in the global reality modelÚ
pattern_idÚ pattern_typeÚ descriptionÚ
confidenceÚevidence_countÚ locationsÚ
time_rangeÚmetrics)Údefault_factoryÚrelated_patterns©Úreturnc
Cs0|j|j|jt|jdƒ|j|j|j|j|j dœ S)) rrrrrrrrr)
rrrÚroundrrrrrr©ÚselfrrrÚto_dict1s
÷zRealityPattern.to_dictN)rrrrÚstrÚ__annotations__ÚfloatÚintrrrrÚlistrr&rrrrr$s
 rc@sdeZdZdZddZeedœddZeedœdd „Zeeed
œd d Z eed
œddZ
eed
œddZ eed
œddZ eed
œddZ
eed
œddZeedœddZeedœddZeeedœdd „Zeeed!œd"d#„Zeeedœd$d%„Zed&œd'd(„Zeed)œd*d+„Zed,œd-d.„Zeeed/œd0d1„Zeeeed!œd2d3„Zed4œd5d6„Zed4œd7d8„Zd9S):ÚGlobalRealityModelu„
Global Reality Model — The core intelligence layer
Every new observation, every completed action, and every measured outcome
improves the models for ALL similar environments worldwide.
This is NOT just a digital twin of one city.
This is a global knowledge system that continuously learns which
interventions work best under different conditions.
cCsTi|_i|_i|_i|_i|_i|_i|_i|_d|_d|_ d|_
t   ¡ 
¡|_dS)Nr)Úobservation_knowledgeÚrelationship_knowledgeÚdecision_knowledgeÚoutcome_knowledgeÚpatternsZ
pattern_indexÚlocation_fingerprintsÚtransfer_modelsÚtotal_observationsÚtotal_interventionsÚtotal_outcomesr ÚutcnowÚ isoformatÚ last_updater$rrrÚ__init__KszGlobalRealityModel.__init__)r r!cCs€| dd¡}||jvr g|j|<|j| |¡|jd7_| ||¡| |¡}| |¡t ¡  ¡|_
d|t |ƒ|jdœS)z‡
Ingest a new observation into the global model
Every observation improves understanding for similar locations
Ú location_idÚunknownéÚingested)Ústatusr;Ú new_patternsr4) Úgetr-Úappendr4Ú_update_location_fingerprintÚ"_extract_patterns_from_observationÚ_update_transfer_modelsr r7r8r9Úlen)r%r r;r@rrrÚingest_observationbs 

 

üz%GlobalRealityModel.ingest_observation)rr!cCsˆ| dd¡}| dd¡}||jvr,g|j|<|j| |¡|jd7_| ||¡| |¡| |¡t ¡  ¡|_
d|d|jdœS)zy
Ingest an intervention outcome
Every outcome improves recommendations for ALL similar locations
Ú action_typer<r;r=r>T)r?rHZglobal_effectiveness_updatedr6) rAr0rBr6Ú_update_global_effectivenessÚ!_strengthen_patterns_with_outcomerEr r7r8r9)r%rrHr;rrrÚingest_outcomes  

 

üz!GlobalRealityModel.ingest_outcome)Ú
query_typeÚparamsr!cCsl|dkr| |¡S|dkr$| |¡S|dkr6| |¡S|dkrH| |¡S|dkrZ| |¡Sdd|iSdS) a(
Query the global reality model
Examples:
- "Which interventions work best for safety in residential areas?"
- "What is the typical outcome of tree planting in Nordic cities?"
- "Which locations are most similar to Stockholm City Center?"
Úintervention_effectivenessÚlocation_similarityÚpattern_searchÚtransfer_learningÚ
global_trendsÚerrorzUnknown query type: N)Ú!_query_intervention_effectivenessÚ_query_location_similarityÚ_query_patternsÚ_query_transfer_learningÚ_query_global_trends)r%rLrMrrrÚquery¡s 




zGlobalRealityModel.query)rMr!cCs"| d¡}| d¡}| d¡}|j |g¡}g}|D]6}|r`|j | d¡i¡}| d¡|kr`q4| |¡q4|s||dddœStd d
|Dƒƒ} i}
|D]<}| d i¡ ¡D]&\} } | |
vrÂg|
| <|
|  | ¡qªqd d
|
 ¡Dƒ}
|t|ƒt| t|ƒddƒ|
tdt|ƒdƒ||dœdœS)z-Query effectiveness of interventions globallyrHÚ
location_typeÚ climate_zoner;Útyperz$No evidence yet for these conditions)rHrÚmessagecss |]}| d¡dvrdVqdS©r?)ÚsuccessÚpartialr=rA©Ú.0ÚorrrÚ <genexpr>ÒsÿzGGlobalRealityModel._query_intervention_effectiveness.<locals>.<genexpr>Ú
actual_changecSs(i|] \}}|tt|ƒt|ƒdƒqS)r")r#ÚsumrF)rcÚvrrrÚ
<dictcomp>ÜózHGlobalRealityModel._query_intervention_effectiveness.<locals>.<dictcomp>édr=ç®Gáz®ï?)rZr[)rHrÚ success_rateÚaverage_effectsrZ
applies_to) rAr0r2rBrgÚitemsrFr#Úmin)r%rMrHrZr[ÚoutcomesZfilteredrZloc_fpÚ
success_countZ avg_changesÚmetricÚchangeÚ avg_effectsrrrrT·sB


 ýþúz4GlobalRealityModel._query_intervention_effectivenessc C| d¡}|j |i¡}|s$ddiSg}|j ¡D]F\}}||krDq2| ||¡}|dkr2| |t|dƒ| ||¡dœ¡q2|jddd d
||d d t|ƒd
œS)z%Find locations similar to a referenceÚreference_location_idrSzReference location not foundgffffffæ?é)r;Ú
similarityZshared_patternscSs|dS)Nryr©ÚxrrrÚ<lambda>rkz?GlobalRealityModel._query_location_similarity.<locals>.<lambda>T©ÚkeyÚreverseNé
)Úreference_locationÚsimilar_locationsZ
total_similar) rAr2rpÚ!_calculate_fingerprint_similarityrBr#Ú_find_shared_patternsÚsortrF)r%rMZ reference_idZ reference_fpÚ similaritiesr;Ú fingerprintryrrrrUês(
 
ý

ýz-GlobalRealityModel._query_location_similaritycC| d¡}| d¡}| dd¡}g}|j ¡D]B\}}|rF|j|krFq.|rV||jvrVq.|j|krbq.| | ¡¡q.|jddddt |ƒ|d d
d œS) z'Search for patterns in the global modelrrtÚmin_confidenceçà?cSs|dS)Nrrrzrrrr|rkz4GlobalRealityModel._query_patterns.<locals>.<lambda>Tr})Úpatterns_foundr1)
rAr1rprrrrBr&r…rF)r%rMrrtrˆÚresultsrÚpatternrrrrVs 

 

þz"GlobalRealityModel._query_patternsc
C| d¡}| d¡}| d¡}| ||j |i¡ d¡dœ¡}| ||¡}|| dd¡}i}| di¡ ¡D]\} }
t|
|d ƒ|| <qn|||t|d
ƒt|d
ƒ|| d d¡d œS)
z#Query transfer learning predictionsÚsource_location_idÚtarget_location_idrHr\©rHrZrrror"rxr)Úsource_locationÚtarget_locationrHryÚtransfer_confidenceÚpredicted_effectsZsource_evidence)rArTr2Ú_calculate_location_similarityrpr#) r%rMrrrHZsource_effectivenessryr“Zadjusted_effectsrtÚeffectrrrrW!s(


þ 
ùz+GlobalRealityModel._query_transfer_learningc
s&| d¡| dd¡}g}|j ¡D]ˆ\}}|s2q$‡fdd|Dƒ}t|ƒdkrRq$‡fdd|Dƒ}|d|d tt|d ƒd
ƒd }| |t|dƒ|dt|ƒd œ¡q$|jd
ddd|ràt dd|Dƒƒt|ƒ} nd } ˆ|t|ƒt| dƒtdd|Dƒƒtdd|Dƒƒ|dddœS)z(Query global trends across all locationsrtÚ time_periodZ1ycs g|]}ˆ| di¡vr|qS©rrarb©rtrrÚ
<listcomp>Lrkz;GlobalRealityModel._query_global_trends.<locals>.<listcomp>r"csg|]}|dˆqSr˜rrbr™rrQrkéÿÿÿÿrr=rl)r;Ú
trend_percentÚ
current_valueÚobservation_countcSs t|dƒS)Nrœ)Úabsrzrrrr|\rkz9GlobalRealityModel._query_global_trends.<locals>.<lambda>Tr}css|]}|dVqdS)Nr©rcÚtrrrre`rkz:GlobalRealityModel._query_global_trends.<locals>.<genexpr>cSsg|]}|ddkr|qS)érr rrrirkcSsg|]}|ddkr|qS)éûÿÿÿrr rrrjrkNr€)rtr—Úlocations_trackedÚglobal_average_trendÚ trending_upÚ
trending_downZ
top_trends)
rAr-rprFÚmaxrŸrBr#r…rg)
r%rMr—Útrendsr;Ú observationsZ
metric_obsÚvaluesÚtrendZ avg_trendrr™rrX@s:
  &ü

ùz'GlobalRealityModel._query_global_trends)r;r c C||jvr4|| dd¡| dd¡iddddœ|j|<|j|}|dd7<| d i¡ ¡D]H\}}||d
vr~g|d
|<|d
| || d t ¡ ¡¡d œ¡q^| |¡|d
<dS)z,Update location fingerprint from observationrZr<r[rÚ)r;r\r[Úmetrics_historyržZintervention_countÚfingerprint_hashržr=rÚ timestamp)Úvaluer°N)r2rArprBr r7r8Ú_compute_fingerprint_hash)r%r;r ÚfprtrrrrCns&


ù
   þ
z/GlobalRealityModel._update_location_fingerprint)r‡r!cCsl| di¡}i}| ¡D]*\}}|rtdd|Dƒƒt|ƒ||<qtj|dd}t | ¡¡  ¡ddS)z$Compute hash of location fingerprintr®css|]}|dVqdS)Nr)rcÚhrrrrerkz?GlobalRealityModel._compute_fingerprint_hash.<locals>.<genexpr>T)Ú sort_keysNr€)
rArprgrFÚjsonÚdumpsÚhashlibÚmd5ÚencodeÚ hexdigest)r%r‡rZ
avg_valuesrtÚhistoryZ
hash_inputrrrŠs  z,GlobalRealityModel._compute_fingerprint_hash)Úfp1Úfp2r!c C| di¡}| di¡}|r |s$dSt| ¡ƒt| ¡ƒ@}|sDdSg}g}|D]@}||rP||rP| ||dd¡| ||dd¡qP|sšdStddt||ƒDƒƒ} tdd|Dƒƒd}
td d|Dƒƒd} |
d
ksî| d
kròdS| |
| S) z6Calculate similarity between two location fingerprintsr®grcss|]\}}||VqdS©Nr)rcÚbrrrre¯rkzGGlobalRealityModel._calculate_fingerprint_similarity.<locals>.<genexpr>css|]}||VqdSr¿r)rcrrrre°rkr‰css|]}||VqdSr¿r)rcrrrre±rkr)rAÚsetÚkeysrBrgÚzip) r%Zmetrics1Zmetrics2Zcommon_metricsZvalues1Zvalues2rtÚ dot_productZ
magnitude1Z
magnitude2rrrs*  z4GlobalRealityModel._calculate_fingerprint_similarity)Úloc1Úloc2r!cCs(|j |i¡}|j |i¡}| ||¡S)z*Calculate similarity between two locations)r2rA)r%rrrr•¸sz1GlobalRealityModel._calculate_location_similarityc
Cg}| di¡}d|vr˜d|vr˜dt|jƒ}t|dddd| d d
¡g| d t ¡ ¡¡| d t ¡ ¡¡f|d|dd œd
}||j|<| |¡|S)z*Extract patterns from a single observationrÚ safety_indexÚlighting_qualityzPAT-Ú correlationz'Safety correlates with lighting qualityg333333ã?r=r;r<©)rrrrrrrr)rArFr1rr r7r8rB)r%r r@rrrrrrrD¾s*  þþõ