Upgrading 
Epidemiological Models
into
War Models

Anton Antonov, Accendo Data LLC

(RowDefault[, (Spacer1), , (Spacer1), ])  #WolframTechConf

Outline

Basic analogy: Epidemic ⟷ War modeling

Generalized Lanchester's combat equations

Multilateral conflicts modeling (Lanchester-based)

War-Economy-Propaganda comprehensive models

Urban warfare modling

Three panels

Mind-map

Presentation

Additional materials

Reasons for change of content

“There are decades where nothing happens; and there are weeks where decades happen.”

― Vladimir Ilyich Lenin

“In war, truth is the first casualty.”

― (too many competing names)

Topics to skip?

With this presentation I will try to give a flavor of war modeling toward possible events of interest. 
(Via better known modeling efforts.)

Here is a list of topics I might digress a lot into (but would not.)

Methodology

Are Lanchester models useful?

What other kind of modeling is used?

What is the "modeling stability" of Lanchester models?

How exactly propaganda functions are chosen and tuned?

Can (economics) input-output matrix be applied?

Why industrial warfare is considered?

How do corruption is included in these models?

Which mathematical paradigm to use?

System Dynamics (SD), Mathematical Optimization (MO), Operations Research (OR)

Can LLMs be used to help with the modeling?

Modeling

Which economical factors are taken into consideration?

Where is the place of the nuclear weapons here?

Why capitalistic societies produce relatively expensive and relatively ineffective weapons?

What is the basic model for artillery shell production?

How drones changed warfare?

How the different type of forces attack/defend against each other?

And why is that important?

Rock-paper-scissors-lizard-Spock

Ammunition per kill?

Data and Time series

Any attempts to calibrate to current events?

What is the worth of 100 soldiers of army A in terms of soldiers of army B?

How much equipment of 100 soldiers?

How current events soldier deaths are estimated?

What is the cost of war in terms of civilian lives aftermaths?

Political

Why start wars now?

Out performed economically already

Soon to be out performed war-industry-wise

Soon to be out performed demographic-wise

How the loosing military supremacy is manifested?

How governmental capture influence the frequency and lengths of wars?

First (standard) analogy

Who is the enemy?

SARS-CoV-2

Who are the soldiers?

Physicians, nurses

What weapons, ammunitions

Hospital beds, respirators

What logistics?

Etc.

Import["https://github.com/antononcube/SystemModeling/raw/master/Projects/Coronavirus-propagation-dynamics/Diagrams/Coronavirus-propagation-simple-dynamics.jpeg"]

Mermaid-JS (terrible looking)

MermaidJS["
graph LR
subgraph Supply Chain
    Supplier1[Supplier 1]
    Supplier2[Supplier 2]
    Manufacturer
    Distributor
    Retailer
    Customer
    Inventory
    Transportation
    Orders
end

subgraph Costs
    Expenses
    Investments
end

subgraph Quality
    SuccessRate[Success rate]
    DeliveryDelay[Delivery delay]
end

Supplier1 --> Manufacturer
Supplier2 --> Manufacturer
Manufacturer -->|Produces for| Distributor
Distributor -->|Supplies| Retailer
Retailer -->|Sells to| Customer
Manufacturer -->|Stocks| Inventory
Inventory -->|Supplies| Distributor
Inventory -->|Supplies| Retailer
Distributor -->|Places| Orders
Retailer -->|Places| Orders
Orders -->|Fulfills for| Customer
Manufacturer -->|Incurs| Expenses
Manufacturer -->|Makes| Investments
Distributor -->|Incurs| Expenses
Distributor -->|Makes| Investments
Retailer -->|Incurs| Expenses
Retailer -->|Makes| Investments
Manufacturer -->|Affects| SuccessRate
Manufacturer -->|Affects| DeliveryDelay
Distributor -->|Affects| SuccessRate
Distributor -->|Affects| DeliveryDelay
Retailer -->|Affects| SuccessRate
Retailer -->|Affects| DeliveryDelay
","PDF",ImageSize->1200]

War modeling elements

The following mind-map illustrates the scope of the modeling work:

Import["https://github.com/antononcube/SystemModeling/raw/master/Projects/War-games-dynamics/Diagrams/War-Games-Modeling-mind-map.pdf","PageGraphics"][[1]]

What is not modeled?

Nuclear war exchange

Optimization perspective

Assume:

Only one nuclear bomb (Subscript[B, 1]) exists in the world

Then:

Where to drop (Subscript[B, 1]) in a given geographical area A in order to maximize the nuclear fallout damage in A.

Generalized Lanchester combat equations

This section presents a translation to English of  introductory paragraphs of [NM1]. (The same general model and breakdown is presented in [AS1].)

In the most general form, the Lanchester models can be described by the by the equation:

((∂x)/(∂t))==a x+b x y+c y+d
((∂y)/(∂t))==e y+f x y+g x+h

where:

a and e define the rate of non-combat losses

b and f define the rate of losses due to exposure to area targets

c and g  are losses due to forward enemy exposure

d and h are approaching or retreating reserves

To determine the casualties of wars, actual or potential, the following four models are of greatest importance.

1. Lanchester proper model (only the coefficients b and f are available)

In this case:

The number of casualties is proportional to the number of encounters between individuals.

The number of encounters between individuals of the opposing sides is proportional to the number of victims.

The number of victims is proportional to the number of encounters between individuals of the opposing parties.

Product of the number of parties: x × y.

This interaction is most relevant when the two sides are located in a common territory:

Guerrilla warfare, repression, enmity between two ethnic groups, etc.

2. Osipov model (coefficients a and e)

The number of victims is proportional to the number of the opposing side.

This could be a classic military engagement where the two sides are in contact only on the front lines.

3. Peterson model (coefficients a and e)

The number of casualties is determined by the size of one's side.

This could be a model of the Cold War, where the more of their submarines are on alert, the more of them die.

4. Brackney model (coefficients a and f or b and e)

The casualties of one one side is proportional to the number of encounters and the other to the number of its opponent.

The model was inspired of the Vietnam War and describes quite satisfactory.

I.e. a conflict in which one side is engaged in classical warfare and the other in guerrilla warfare.

Example over Battle of Iwo Jima

USA military records of war

IWO JIMA The costliest battle in American history

Calibration over Battle of Iwo Jima data

"Generalized Lanchester combat models"

Local

Community post

Please compare with "Lotka-Volterra Models in the Wolfram Language".

Will to fight extensions

The easiest way to include the will to fight with via NDSolve's WhenEvent:

eqs2={
A'[t]==-β*B[t],
B'[t]==-α*A[t],
A[0]==A0,
B[0]==B0,
WhenEvent[A[t]<A0*(1-ωA),Print[Style["A gives up.",Red,Bold,FontSize->16]];end=t;"StopIntegration"],
WhenEvent[B[t]<B0*(1-ωB),Print[Style["B gives up.",Red,Bold,FontSize->16]];end=t;"StopIntegration"]
}

Here we make a model object:

model2=
<|"Rates"-><|
α->"Arms quality of A",
β->"Arms quality of B",
ωA->"Will to fight of A soldiers",
ωB->"Will to fight of B soldiers"|>,
"Stocks"-><|A[t]->"Soldiers of A",
B[r]->"Soldiers of B"|>,
"Equations"->eqs2,
"RateRules"-><|α->1.5,β->1.9|>,
"InitialConditions"->{A[0]==10^5,B[0]==10^5}|>;

Here we plug-in the model into the monadic pipeline, simulate, and plot solutions:

SDMonUnit[]⟹
SDMonSetSingleSiteModel[model2]⟹
SDMonAssignInitialConditions[<|A[0]->2*10^4,B[0]->10^4|>]⟹
SDMonAssignRateRules[<|α->0.04,β->0.12,ωA->0.3,ωB->0.7|>]⟹
SDMonEchoModelGridTableForm⟹
SDMonSimulate[100]⟹
SDMonPlotSolutions[PlotRange->{0,2.1*10^4}];

Simulation end time:

end

Iwo Jima and urban warfare

comparisonTable={{"Comparison Point","Battle of Iwo Jima","Battle of Fallujah","Notes/Comments"},{"Soldier Similarities","Japanese soldiers","Iraqi insurgents","Both groups were highly motivated, utilized guerrilla tactics, and had strong local knowledge. Japanese soldiers, however, were part of a regular army, while Iraqi insurgents were irregular forces."},{"Area Size","Approx. 21 sq km (8 sq mi)","Approx. 70 sq km (27 sq mi)","Fallujah is larger, but both battles were fought in constrained environments with significant urban or fortified components."},{"Fate of Host Soldiers","Almost all Japanese soldiers died.","Many insurgents were killed, captured, or dispersed.","High casualty rates for defending forces in both battles, but not all insurgents in Fallujah were killed."},{"Time Frame","February - March 1945 (about 1 month)","November - December 2004 (about 1 month)","Both battles were relatively short but intense."},{"Preparation of U.S. Military","Well-prepared with significant naval and air support.","Well-prepared with advanced technology, air support, and urban warfare tactics.","In both cases, the U.S. military had superiority in equipment and numbers."},{"Visibility of Enemy Soldiers","Low; Japanese often used underground tunnels.","Low; insurgents used urban guerilla tactics.","In both battles, U.S. forces faced challenges in identifying and engaging the enemy directly."},{"Casualty Rate Among U.S. Forces","High; about 6,800 U.S. soldiers killed.","Lower compared to Iwo Jima; about 95 U.S. soldiers killed.","Despite the urban setting in Fallujah, U.S. casualties were significantly lower due to advancements in tactics and technology."},{"Impact of Terrain","Volcanic, rough terrain with fortified positions.","Urban, with house-to-house fighting and booby traps.","Terrain played a crucial role in both battles, requiring specific strategies for each environment."},{"Use of Air and Artillery Support","Extensive use for initial bombardment and ongoing support.","Used primarily for precision strikes to minimize civilian casualties.","Different approaches reflecting the nature of each battlefield and technological advancements."},{"Civilian Presence","Few, if any, civilians present.","Significant civilian presence, complicating military operations.","Civilian considerations had a greater impact on the conduct of the Battle of Fallujah."}};
ResourceFunction["GridTableForm"][Rest@comparisonTable,TableHeadings->First@comparisonTable]

Other sources disagree with some of the statements in the table. 
These are timidly LLM generated comparisons.

Multilateral confrontations (theory)

Visualization

lsEdges={
UndirectedEdge[1,5,"Neutrality"],
DirectedEdge[1,3,"Commensalism"],
DirectedEdge[1,4,"Commensalism"],
DirectedEdge[2,1,"Coercion"],
UndirectedEdge[2,3,"Allying"],
DirectedEdge[2,4,"Guerilla war"],
UndirectedEdge[3,4,"Conflict"],
DirectedEdge[5,3,"Avoidance"],
UndirectedEdge[5,4,"Alliance"],
DirectedEdge[5,2,"Adatation"]
};
lsEdges=ReplaceAll[lsEdges,i_Integer->Style[i,Bold,FontSize->23]];
c=4;
vf2[{xc_,yc_},name_,{w_,h_}]:={If[MemberQ[{1,3,4},First@name],LightRed,LightBlue],Rectangle[{xc-c*w,yc-c*h},{xc+c*w,yc+c*h}],Text[Style[name,Bold,16],{xc,yc}]}
grConflicts=Graph[
lsEdges,
VertexShapeFunction->vf2,
VertexLabels->Placed["Name",Center],
EdgeStyle->Directive[Thick,Arrowheads[0.1]],
EdgeLabels->"EdgeTag",
EdgeLabelStyle->Directive[16,Italic,Bold,GrayLevel[0.2]],
ImageSize->600]

Cases

Taken from "The General Lanchester Model Defining Multilateral Conflicts".

Multilateral confrontations (example setup)

grConflicts

Tabulated

lsTriplets=Flatten[Table[{s1,s2,influenceRate[s1,s2]/.aInfluenceRateRules/._influenceRate->0},{s1,Keys@aStocks},{s2,Keys@aStocks}],1];
matConflicts=ToSSparseMatrix[lsTriplets];
(*MatrixForm[matConflicts]*)
TableForm[SparseArray@Append[Most@ArrayRules[SparseArray[matConflicts]],_->""],TableHeadings->{Range[nStates],Range[nStates]}]

Multilateral confrontations (example run)

sdObj=
SDMonUnit[]⟹
SDMonSetSingleSiteModel[modelMulti]⟹
SDMonEcho[Style["Model's tabular form:",]]⟹
SDMonEchoModelGridTableForm⟹
SDMonSimulate[200]⟹
SDMonEcho[Style["Plot simulated stocks evolution:",]]⟹
SDMonPlotSolutions[ImageSize->Large];

grConflicts

Comprehensive models

epidemic + economy | war + economy

grEpidecmic=MermaidJS["
graph LR

subgraph Epidemic Data
    Epidemic_data[Epidemic data]
end

subgraph Demographic Data
    Demographic_data[Demographic data]
    Infected_or_dead_by_demographic[Infected or dead by demographic]
end

subgraph Regional Input-Output Economy Data
    Regional_IO_Economy_data[Regional Input-Output Economy data]
end

subgraph Economy Model
    Economy_model[Economy model]
    IO_matrix_by_industries[Input-output matrix by industries]
end

subgraph Epidemic Model
    Epidemic_model[Epidemic model]
    Epidemic_control_policies[Epidemic control policies]
    Medical_supplies_policies[Medical supplies policies]
end

subgraph Evaluate Epidemic impact on Economy
    Evaluate_Impact[<br><br>Evaluate<br>Epidemic impact<br>on<br>Economy<br><br>]
    Desired_economic_outcomes[Desired economic outcomes]
end

subgraph Simulation Outcomes
    Simulation_outcomes[Simulation outcomes]
    IO_matrix_by_demographics[Input-output matrix by demographics]
end

Epidemic_data --> Evaluate_Impact
Evaluate_Impact --> Simulation_outcomes
Demographic_data --> Evaluate_Impact
Regional_IO_Economy_data --> Evaluate_Impact
Economy_model --> Evaluate_Impact
Evaluate_Impact --> Desired_economic_outcomes
Epidemic_model --> Evaluate_Impact
","PDF",ImageSize->800];

grWar=MermaidJS["
graph LR

subgraph War Data
    Epidemic_data[War data]
end

subgraph Demographic Data
    Demographic_data[Demographic data]
    Injured_or_dead_by_demographic[Injured or dead by demographic]
end

subgraph Regional Input-Output Economy Data
    Regional_IO_Economy_data[Regional Input-Output Economy data]
end

subgraph Economy Model
    Economy_model[Economy model]
    IO_matrix_by_industries[Input-output matrix by industries]
end

subgraph War Model
    War_model[War model]
    War_control_policies[War policies]
    Industrial_warfare_policies[Industrial warfare policies]
end

subgraph Evaluate War impact on Economy
    Evaluate_Impact[<br><br>Evaluate<br>War impact<br>on<br>Economy<br><br>]
    Desired_economic_outcomes[Desired economic outcomes]
end

subgraph Simulation Outcomes
    Simulation_outcomes[Simulation outcomes]
    IO_matrix_by_demographics[Input-output matrix by demographics]
end

Epidemic_data --> Evaluate_Impact
Evaluate_Impact --> Simulation_outcomes
Demographic_data --> Evaluate_Impact
Regional_IO_Economy_data --> Evaluate_Impact
Economy_model --> Evaluate_Impact
Evaluate_Impact --> Desired_economic_outcomes
War_model --> Evaluate_Impact
","PDF",ImageSize->800];

Row[{grEpidecmic,Spacer[10],grWar}]

System Dynamics models by LLM (why?)

Convenience appeal

Extending

Refactoring

Translating into different forms

Verbal ⟶ WL

WL ⟶ Verbal

WL ⟶ MemaidJS

MermaidJS ⟶ WL

MermaidJS ⟶ Verbal

Translation into SDMon models

YMMV

The equations are often wrong

Also, often the models just work

Comprehensive model by LLM (example)

In short: using Chatbooks, LLMs, WL, and MermaidJS instead of SystemModeler.

(For doing System Dynamics.)

Generation of War Macro Model with LLM synthesizing

Model description

modelDescr="
System Dynamics model for two warring states that have a war in three different ways:

1. Physical War between soldiers 
2. Economic War via: trade sanctions and industrial warfare
3. Propaganda War.
3.1. Domestic propaganda
3.2. Propaganda for other non-participating countries
3.3. Propaganda for the enemy

Take into account that:
- The Physical War depends in Industrial Ability.
- The Economic War influences the Industrial Ability for Weapon Production
- The Weapon Production influences the Physical War
- The Propaganda War influences the Will-to-Fight
- The Will-to-Fight influences the Physical War

Each state has stocks for:
- Total population
- Number of soldiers
- Number of support personnel for the soldiers
- Number of weapon and ammunition making factories
- Quantity of stored weapons
- Quantity of stored ammunition
- Will to fight, influenced by the Propaganda and number of soldier deaths

The rates include:
- Weapon production rates
- Ammunition production rates
- Weapon repair and maintenance rates
- Attrition rates from the first state to the second one:
   - Soldiers
   - Factories
   - Transportation infrastructure
   
 Also, let us add more stocks for each country:
- Economic Production Population (EPP)
- Soldiers are taken from EPP
- Recruits that are trained
- Essential war raw material to import 
- Essential war raw material to harvest from inside the country

The additional rates per country are:
- Rate to getting import raw materials 
- Rate of harvesting inside raw materials
- Training required to produce proficient enough soldiers
- Rate to produce weapons, ammunition, and supplies for new recruits 

Make sure the Lanchester terms are included in the equations corresponding to the Physical war.
";

WL code

LLMSynthesize[{LLMPrompt["CodeWriter"],"Write WL code for",modelDescr}]

Mermaid JS diagram generation

LLMSynthesize[{"Make the Mermaid-JS diagram for",modelDescr}]

Mermaid JS diagram rendered

"graph LR

subgraph State 1
  TP[Total Population]
  NS[Number of Soldiers]
  NP[Number of Support Personnel]
  WAF[Number of Weapon and Ammunition Factories]
  SW[Quantity of Stored Weapons]
  SA[Quantity of Stored Ammunition]
  WtF[Will to Fight]
  EPP[Economic Production Population]
  Recru[Recruits]
  ERMI[Essential Raw Materials to Import]
  ERMH[Essential Raw Materials to Harvest]
  IM[Import Raw Materials Rate]
  HR[Harvest Raw Materials Rate]
  TR[Training Rate]
  PWS[Production Rate of Weapons]
  PAM[Production Rate of Ammunition]
  PS[Production Rate of Supplies]
  RS[Repair and Maintenance Rate of Weapons]
  AS[Attrition Rate of Soldiers]
  AF[Attrition Rate of Factories]
  TI[Attrition Rate of Transportation Infrastructure]
end

subgraph State 2
  TP2[Total Population]
  NS2[Number of Soldiers]
  NP2[Number of Support Personnel]
  WAF2[Number of Weapon and Ammunition Factories]
  SW2[Quantity of Stored Weapons]
  SA2[Quantity of Stored Ammunition]
  WtF2[Will to Fight]
  EPP2[Economic Production Population]
  Recru2[Recruits]
  ERMI2[Essential Raw Materials to Import]
  ERMH2[Essential Raw Materials to Harvest]
  IM2[Import Raw Materials Rate]
  HR2[Harvest Raw Materials Rate]
  TR2[Training Rate]
  PWS2[Production Rate of Weapons]
  PAM2[Production Rate of Ammunition]
  PS2[Production Rate of Supplies]
  RS2[Repair and Maintenance Rate of Weapons]
  AS2[Attrition Rate of Soldiers]
  AF2[Attrition Rate of Factories]
  TI2[Attrition Rate of Transportation Infrastructure]
end

subgraph Physical War
  IW[Industrial Ability]
  PW[Physical War]
end

subgraph Economic War
  TW[Trade Sanctions and Industrial Warfare]
  WE[Weapon Production Influence]
  IW2[Industrial Ability for Weapon Production]
end

subgraph Propaganda War
  DP[Domestic Propaganda]
  PNP[Propaganda for Non-Participating Countries]
  PEnemy[Propaganda for the Enemy]
  WtF3[Will to Fight Influence]
end

TP --- IM --> ERMH
TP2 --- IM2 --> ERMH2
ERMH --- HR --- ERMH2
ERMH2 --- HR2 --> ERMH
NP --- PS --> NP2
NP2 --- PS2 --> NP
WAF --- PWS --> WAF2
WAF2 --- PWS2 --> WAF
NS --- Recru --- NS2
NS2 --- Recru2 --> NS
SW --- RS --> SW2
SW2 --- RS2 --> SW
SA --- RS --> SA2
SA2 --- RS2 --> SA

WAF --- SW --> PW
PW --- WE --> IW
IW --- PW
PW --- IW2
IW2 --- WE
WE --- PW
PW --> NS
PW --> NS2
PW --- AS
PW --- AS2
PW --> AF
PW --> AF2
PW --> TI
PW --> TI2

DP --- WtF3 --> DP
PNP --- WtF3 --> PNP
PEnemy --- WtF3 --> PEnemy
WtF3 --> WtF
WtF3 --> WtF2
WtF --- PW
WtF2 --- PW"//MermaidJS[#,"PDF",ImageSize->1200]&

Warning -- do not trust LLM hallucinations about wars

LLMs (currently) produce wrong models often.

Massaging (scaffolding) the prompts and descriptions can accumulate frustration.

And money.

BTW, that frustration and money accumulation can be modeled with SD.

"System Dynamics model for LLM function pipelines usage"

Self-promotion

"Raku, Python, and Wolfram Language over LLM functionalities"

Vertical vs Spatial model extensions

BBC-social-mixing-matrices.nb

Rock-paper-scissors

GraphPlot[{{"Scissors"->"Paper","cuts"},{"Paper"->"Rock","covers"},{"Rock"->"Scissors","crushes"}},EdgeLabeling->True,VertexLabeling->True,DirectedEdges->True,Method->"CircularEmbedding"]//Magnify[#,1.6]&

GraphPlot[{{"Tanks"->"Infantry","attack"},{"Guerrilla"->"Tanks","defends"},{"Infantry"->"Guerrilla","attack"}},EdgeLabeling->True,VertexLabeling->True,DirectedEdges->True,Method->"CircularEmbedding"]//Magnify[#,1.6]&

Rock-paper-scissors-lizard-Spock

What is the battle variant here?

GraphPlot[{{"Scissors"->"Paper","cuts"},{"Paper"->"Rock","covers"},{"Rock"->"Lizard","crushes"},{"Lizard"->"Spock","poisons"},{"Spock"->"Scissors","smashes"},{"Scissors"->"Lizard","decapitates"},{"Lizard"->"Paper","eats"},{"Paper"->"Spock","disproves"},{"Spock"->"Rock","vaporizes"},{"Rock"->"Scissors","crushes"}},EdgeLabeling->True,VertexLabeling->True,DirectedEdges->True,Method->"CircularEmbedding"]//Magnify[#,2]&

Drones can beat them all !

"Chuck Norris Rock Paper Scissors Lizard Spock TShirt"

Import["https://www.merchandisingplaza.us/40488/2/T-shirts-Chuck-Norris-Chuck-Norris-Rock-Paper-Scissors-Lizard-Spock-TShirt-l.jpg"]

Here is a proper correspondence

"
graph TD
AT[Anti-tank weapons] --> |defend|Arm[Armor]
Arm --> |attack|IA[Infantry and Artillery] 
Air[Air force] --> |attack|Arm
Air --> |attack|IA
M[Missiles] --> |defend|Air
IA --> |attack|M
IA --> |attack|AT
"//MermaidJS[#,"PDF",ImageSize->400]&

Geo-spatial epidemic simulation

SDMon-COVID19-over-USA.nb

What kind of Geo-spatial war simulation is applicable?

The density of the soldiers in the battle fields has exponentially declined:

The book with graph is really hard to find.

AI generated visual aids

Probably correct density (Napoleonic wars?)

Import["~/Pictures/War-by-AI/fc3fb8adfdd1440c91baa8686b719812.jpg"]

Wrong density (modern war)

Import["~/Pictures/War-by-AI/80f30fd2bf9c455c91031e9265203759.jpg"]

Wrong density (WW2)

Import["~/Pictures/War-by-AI/DALL·E 2023-10-24 14.50.08 - Bird's-eye view of a realistic battle scene from the Normandy campaign. The large bocages are intricately rendered, showing the complexity of the terr.png"]

Closer to reality (current & WW2)

Import["~/Pictures/War-by-AI/723800b421e9473496375cf3d7d4e593.jpg"]

Import["~/Pictures/War-by-AI/1f73059a4d204d3d8d368f3643840682.jpg"]

Urban warfare

The Geo-spatial modeling perspective applies, but on a (much) smaller scale.

AI generated visual aids

City rubble

Import["~/Pictures/War-by-AI/6a26505bb1f0494ba12030f8555e0047.jpg"]

Possible scenario

Import["~/Pictures/War-by-AI/9d3502e322914bfc9006632120ceb32a.jpg"]

Fallujah schematic

Import["~/Pictures/War-by-AI/DALL·E 2023-10-26 12.16.26 - Bird's-eye view in a documentary film style of the Second Battle of Fallujah. The schematic map of Fallujah, Iraq, is enriched with military icons, il.png"]

Epidemiological Geo-spatial simulation

Artificial, staged setup made for testing

Applied in several real-life scenarios

COVID19 over USA

WirVsVirus (Devpost.com)

WirVsVirus (WordPress)

Applicable to urban warfare

Urban warfare modeling

Consider the modeling types:

System Dynamics (SD)

Agent Based Modeling (ABM)

Cellular Automata (CA)

Didactic analogies

Graph based modeling

E.g. shortest weighted paths over the line graphs.

Crossbreed of SD and ABM

An algorithm for Urban warfare modeling

There is a certain landscape host army resistance

I.e. the nodes have different "permeability"

That landscape is known (assumed) or unknown (to be discovered)

The invading army sends units through

Left-bottom point

Left side

The host army knows the terrain completely

Each day a battle happens at invading army occupied nodes

At that nodes the Lanchester's law difference equations are used

If the invading army unit has sufficient people, hardware, and ammunition, it moves to another unoccupied node

If the invading army unit has two few people to advance:

Retreat

Dig-in

Invading army units can die if there are no logistic lines reaching them

Different "decision systems" can be tried out

Calibration over different resistance landscape scenarios

Cross validation with simpler SD models.

Data to calibrate with

Here are some data sources that can be used for calibration.

Ukraine / Russia

lostarmour.info

mediazona

wartears.org

USA / Japan

recordsofwar.com

Iwo Jima at recordsofwar.com

For a time series of USA deaths, landings, etc.

USA / Vietnam

Vietnam War U.S. Military Fatal Casualty Statistics

Other

Of course, many other sources and related discussions exist.

Future plans

Finish the urban warfare model

Make different comprehensive models

Guides for calibration

Interactive interfaces

Make/compile/finish "ElementsOfWarModeling" book paclet

GitHub

Wolfram Paclet Repository

References

Articles

[AA1] Anton Antonov, "A monad for Epidemiologic Compartmental Modeling Workflows", (2021), MathematicaForPrediction at WordPress.

[AS1] Andrei Shatyrko, Bedrik Puzha, Veronika Novotná, "Comparative Analysis and New Field of Application Lanchester’s Combat Models",  (2018), Post-conference proceedings of selected papers extended version Conference MITAV-2018, Brno, Czech Republic, 2018. P.118-133. ISBN 978-80-7582-065-5.

[JE1] J.H. Engel, "A verification of Lanchester's law", (1953), Journal of the Operations Research Society of America, Vol. 2, No. 2. (May, 1954), pp. 163-171. (JSTOR link.)

[NM1] Nikolai V. Mityukov. Determining the casualties of wars through Lanchester models, (2009), Historical Psychology and Sociology of History.

[NM1ru] Н. В. МИТЮКОВ, ОПРЕДЕЛЕНИЕ ЖЕРТВ ВОЙН ЧЕРЕЗ ЛАНЧЕСТЕРСКИЕ МОДЕЛИ, Историческая психология и социология истории 2/2009 122–140.

[RS1] Robert W. Samz, ⎡Some Comments on Engel's "A Verification of Lanchester's Law"⎦, (1972), Operations Research, Vol. 20, No. 1 (Jan. - Feb., 1972), pp. 49-52 (4 pages) (JSTOR link.)

[SM1] Sergei Makarenko et al., "Обобщенная модель Ланчестера, формализующая конфликт нескольких сторон", [Eng. "The General Lanchester Model Defining Multilateral Conflicts"], (2021),
Automation of Control Processes № 2 (64), doi: 10.35752/1991-2927-2021-2-64-66-76

[Wk1] Lanchester's laws, Wikipedia.

[Wk2] Battle of Iwo Jima, Wikipedia.

[Wk3] Wikipedia entry, Costs of War Project.

Books

[TD1] Dupuy, T. N. 1995. Attrition. Forecasting Battle Casualties and Equipment Losses in Modern War. Fall Church, VA: Nova Publication.

Notebooks

[AAn1] Anton Antonov, "Generalized Lanchester combat models​",​ Wolfram Community, STAFF PICKS, October 25, 2023.
​https://community.wolfram.com/groups/-/m/t/3055705

[PDG1] Phileas Dazeley-Gaist, "Lotka-Volterra Models in the Wolfram Language​",​ Wolfram Community, STAFF PICKS, October 6, 2023.
​https://community.wolfram.com/groups/-/m/t/3028599

Packages, paclets

[AAp1] Anton Antonov, EpidemiologicalModeling, WL paclet, (2023), Wolfram Language Paclet Repository.

[AAp2] Anton Antonov, MonadicSystemDynamics, WL paclet, (2023), Wolfram Language Paclet Repository.

Repositories

[AAr1] Anton Antonov, System Modeling, (2020-2023), GitHub/antononcube.

Setup

Needs["AntonAntonov`MermaidJS`"]