Skip to content
  • Home
  • Latest Blogs
  • Forums
  • Feed
  • Resources
  • Rules/FAQ
  • Chatroom
  • Donate
  • Login
  • Register

CASPER Forum

Computational and Statistical Political Economy Research

  • Forums
  • Members
  • Recent Posts
Forums
Political Economy
Cybernetics
Towards Adversarial...
 
Notifications
Clear all

Towards Adversarial Planning for Industrial Action

Page 5 / 6 Prev Next
    Last Post
  RSS
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

Ok new model weight matrix is back to Wij = Lj/Li

Confirmed the largest eig is 1 and M is non-negative and stochastic like the paper requires; https://arxiv.org/pdf/2104.02764.pdf

eigs are all real except for a few and most have very small imaginary components and I don't really know why. For this reason I'm taking the magnitude of the eigenvector

Anyway, if this model is correct, the first six industries in Lucca's table dominate with minerals accounting for ~43% of the centrality.

theta is 0.5 cuz idk I'll find a good interpretation once I'm certain I programmed the model properly but If it's supposed to be a "tradeoff between weight and degree" like the paper says my best guess is it is related to the eigenvectors/eigenvalues and matrix sparsity.

gamma is 0.85 because that's the value for page rank; best guess is it could be some probability of striking in the supply chain the I/O table represents.

Haven't played with gamma and theta yet.

import numpy as np
import matplotlib.pyplot as plt 
from numpy import linalg as LA

A = np.array([[1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1],
              [1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1],
              [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]) #adjacency matrix of italian economy 1973/1974

L = np.array([[12117, 
               1689, 
               2532, 
               3692, 
               2854, 
              11732, 
               3653, 
               3810, 
               11441, 
               8190, 
               15366, 
               13647, 
               8079, 
               2267, 
               6803, 
               29338],]) #labor vector 1973

name = np.array([["agr,for,fish", 
               "energy", 
               "metallic minerals", 
               "non metallic minerals", 
               "chem and pharm", 
               "non transport mach. equip.", 
               "transportation equip.", 
               "food bev. cig.", 
               "cloths", 
               "tree stuff", 
               "building + wpa", 
               "vacation + malls", 
               "trans. + comm.", 
               "banks", 
               "houses", 
               "agr,for,fish"],])

theta = 0.5
gamma = 0.85 

print(L)
#print((1/L).T)

W = ((1/L).T)@L
print(W)

S = np.diag(1/(W@(np.ones(16).T)))
#print(S)

D = np.diag(1/(A@(np.ones(16).T)))
#print(D)

M = ((theta*S@W) + ((1-theta)*D@A)).T
#print(M)

Mf = (gamma*M) + ((1-gamma)*np.ones((16,16))/16)
#print(Mf)

eigval, eigvec = LA.eig(Mf)
print(Mf > 0)
print(M.T@(np.ones(16).T))
print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
print(np.real(eigval))
print(np.imag(eigval))
print(100*abs(eigvec[0])/np.sum(abs(eigvec[0])))
print(name)
print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
 Screen-Shot-2023-04-17-at-3.30.46-AM.png
ReplyQuote
Topic starter Posted : 17/04/2023 7:31 am
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

*Last string in name should be "Gov. services"

ReplyQuote
Topic starter Posted : 17/04/2023 6:20 pm
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member
A = np.array([[1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1],
              [1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1],
              [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]) #adjacency matrix of italian economy 1973/1974

L = np.array([[12117, 
               1689, 
               2532, 
               3692, 
               2854, 
              11732, 
               3653, 
               3810, 
               11441, 
               8190, 
               15366, 
               13647, 
               8079, 
               2267, 
               6803, 
               29338],]) #labor vector 1973

name = np.array([["agr,for,fish", 
               "energy", 
               "metallic minerals", 
               "non metallic minerals", 
               "chem and pharm", 
               "non transport mach. equip.", 
               "transportation equip.", 
               "food bev. cig.", 
               "cloths", 
               "tree stuff", 
               "building + wpa", 
               "vacation + malls", 
               "trans. + comm.", 
               "banks", 
               "houses", 
               "gov"],])

theta = 0.5
gamma = 0.85 

print(L)
#print((1/L).T)

W = (((1/L).T)@L)*A #labor weight 
print(W)

S = np.diag(1/(W@(np.ones(16).T))) #out strength
#print(S)

D = np.diag(1/(A@(np.ones(16).T))) #out degree
#print(D)

M = ((theta*S@W) + ((1-theta)*D@A)).T 
#print(M)

Mf = (gamma*M) + ((1-gamma)*np.ones((16,16))/16) #for eigendecomposition
#print(Mf)

eigval, eigvec = LA.eig(Mf)
print(Mf > 0)
print(M.T@(np.ones(16).T))
print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
print(np.real(eigval))
print(np.imag(eigval))
print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
print(100*abs(eigvec[0])/np.sum(abs(eigvec[0]))) #weighted page rank
print(name)
print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")

slight correction the weight matrix should be multiplied (element wise) by the connectivity matrix

This post was modified 5 months ago by Ivan Williams
ReplyQuote
Topic starter Posted : 02/05/2023 8:32 pm
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

Luca Perrone's paper

 data.pdf
ReplyQuote
Topic starter Posted : 01/06/2023 7:58 pm
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

Weighted page rank paper

 WPR.pdf
ReplyQuote
Topic starter Posted : 01/06/2023 7:58 pm
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

https://www.youtube.com/watch?v=085-VCpRKEE

 

ReplyQuote
Topic starter Posted : 01/06/2023 8:06 pm
Honey Wati
 Honey Wati
(@indobet)
New Member

this is great information

ReplyQuote
Posted : 03/06/2023 2:09 am
Honey Wati
 Honey Wati
(@indobet)
New Member

how are you

ReplyQuote
Posted : 03/06/2023 2:10 am
Honey Wati
 Honey Wati
(@indobet)
New Member

thanks for the warm welcome

ReplyQuote
Posted : 03/06/2023 2:10 am
Tomas Härdin
 Tomas Härdin
(@thardin)
Estimable Member

@madredalchemist Great to see this result in a video! It sounds like this is all one take. I would suggest doing say three takes, picking the best one and cutting from the other two any parts that sound better.

On the Perrone paper, the connection to ground rent is interesting. "Negative sum game" is similar to what I've written on rogue production for the benefit of the commune. This makes me wonder if this kind of leverage can amplify such production.

I suspect this line of thinking is useful for Meidner-like proposals. Rather than striking, what happens if workers outright buy these central workplaces? It then becomes possible to extract rent that can be used to further the process. On the other hand this could create tensions between workers that the bourgeoisie can exploit. If for example energy workers increase the price of electricity then this ultimately affects other workers and not the bourgeoisie since the latter will just add those costs to the prices of their products.

ReplyQuote
Posted : 03/06/2023 7:56 am
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

@thardin Yeah it was one take I just wanted to get the video out as quick as possible, future video'll have better production quality I promise haha

As for buying the central workplaces I've been trying to figure out  a way to expropriate means of production on a local level since the government at the federal level in the states is the only authority will enough budget to do imminent domain.

My best idea so far is kind of a 'negative' version of the Meinder plan were you basically just level an unpayable fine against some business, and settle out with a transferring it to workers.

This post was modified 4 months ago by Ivan Williams
ReplyQuote
Topic starter Posted : 03/06/2023 2:56 pm
Tomas Härdin
 Tomas Härdin
(@thardin)
Estimable Member
Posted by: @madredalchemist

level an unpayable fine

That's a clever idea, but I suspect it wouldn't work for many reasons. For any scheme like this you first have to criminalize capital flight.

ReplyQuote
Posted : 04/06/2023 11:15 am
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

@thardin I'm sure we could find plenty of things to keep the bosses in place; "al-capone on tax evasion" and all

I wanted to ask what should be my next steps? Clearly I need a bigger and more contemporary I/O table (maybe related to semiconductor supply chains specifically). I want to bring this to my union's top leadership, what else do I need to incorporate to show this is a serious project with tactical relevance?

This post was modified 4 months ago by Ivan Williams
ReplyQuote
Topic starter Posted : 04/06/2023 7:51 pm
Ivan Williams
 Ivan Williams
(@madredalchemist)
Estimable Member

Or, I had another idea where I just do this for entire economies and run a kind of 'anti-stock exchange' where workers can see their leverage in real time.

ReplyQuote
Topic starter Posted : 04/06/2023 7:54 pm
Tomas Härdin
 Tomas Härdin
(@thardin)
Estimable Member

@madredalchemist Supply/use tables are likely your best bet. Your country's national accounts should have them. For example Dave and Loke's Receding Horizon Planning project uses Swedish data from 2016.

ReplyQuote
Posted : 04/06/2023 8:46 pm
Page 5 / 6 Prev Next
Forum Jump:
  Previous Topic
Next Topic  
  Forum Statistics
16 Forums
119 Topics
582 Posts
1 Online
7,356 Members

Latest Post: Software for I/O planning for Co-ops? Our newest member: ahcodefey Recent Posts Unread Posts Tags

Forum Icons: Forum contains no unread posts Forum contains unread posts

Topic Icons: Not Replied Replied Active Hot Sticky Unapproved Solved Private Closed

 

Open Chatroom

Login required


Copyright © 2023 CASPER Forum.

Powered by PressBook Child WordPress theme