3 ms·
If anyone is wondering what the project is about, it is a framework for writing simulations in Python. It could take any kind of simulation: Physics, game theor
by cool-RR 18y ago
If anyone is wondering what the project is about, it is a framework for writing simulations in Python. It could take any kind of simulation: Physics, game theory, epidemic spread, electronics, whatever.
(Yes, I know of SimPy, it's something different.)
- carterschonwald 18y agoHow is a general framework useful? Unless you're also providing access to a slew of algorithms that can quickly solve a large pool of nontrivial special cases, it sounds like you're just providing a "perl" glue for modelling code, albeit in python. What sort of game theory problems are you thinking about, I have a pretty solid background in algorithmics of that stuff, (which will transition from solid to novel research level soon :p, so i'd be curious as to what you think are settings where someone would like to do game theory modelling)
- cool-RR 18y agoI'll try to answer your questions: How is a general framework useful? When you're coding a simulation, you spend about 10% of your time coding the actual algorithm, and 90% of your time coding other things. The purpose of my project is to do that 90% for you, and to do it thoroughly. For example, saving the simulation data to a file. Or being able to rewind the simulation and change something in its world, and then running the simulation from that point and watching what that change will cause. Or having the machine calculate two different "possible futures" concurrently. These are the basic features, and I know it doesn't sound like something very complicated, but if you think it's simple, I challenge you to find me a framework that allows to work comfortably with simulations. What sort of game theory problems are you thinking about Generally, whatever you want. I'm not a game theorist, but here's what I coded a year ago: A hundred computer players play 50 rounds of the prisoner's dillemma with each other, and they get paired randomly after every session. Every player had a certain strategy chosen from a pool of strategies. When a player lost a lot of points, the computer replaced it with a new player with a random strategy. It was very interesting and I saw some very cool behaviors. So you'd be able to do stuff like that on my program.
- hedgehog 18y agoSounds interesting, is there already code up somewhere?
- cool-RR 18y agoYes indeed: http://github.com/cool-RR/physicsthing/tree/master http://github.com/cool-RR/physicsthing/tree/master Please keep in mind that it's a very young project. Run gui.py in that folder to see a demonstration. The code requires wxPython and that Windows Extensions thing by Mark Hammond. The readme is a bit out-dated: When I wrote it I was mainly thinking about physics simulations, and today it's more general. Come back there in a month and you'll see some serious stuff.
- hedgehog 18y agoVery cool. I like the idea of building games with relativistic physics, kind of reminds me of the short "Carousel" (http://www.youtube.com/watch?v=2YFkcwtpGZo http://www.youtube.com/watch?v=2YFkcwtpGZo)
- huhtenberg 18y agoVery cool short, but I don't see how it is even remotely related to relativistic physics..
- SwellJoe 18y agoAre you familiar with SciPy? The company behind SciPy, Enthought, had revenue in the millions when I last worked with them three years ago and were doubling every year. They are predominantly a service business, however, and provide custom software for a few very large clients (oil and gas industry, and one very large consumer products company). They've moved slowly in the direction of products rather than services, but I don't think they've ever quite made the break from being a custom software shop for (very profitable) niche markets. I explained their business as a way of saying that while you can build a profitable business and make yourself rich on the kind of tools you're talking about (the founders of Enthought are doing very well for themselves and could probably sell the company tomorrow and retire multi-millionaires; they're also doing fantastic things for their Open Source community at the same time), you can't raise money in the valley for that kind of company. Until you figure out how to productize what you're doing, and make it possible to increase revenue faster than you increase head count, you aren't building a startup. You might be building a business, and that might be awesome, but valley investors pretty much only invest in startups.
- cool-RR 18y agoBy the way, do Enthought have something for simulations?
- SwellJoe 18y agoYes, though I don't know enough about the field to say how it relates to what you're doing. I was holding them up as a business model to look at, not as an example of "here's your competition", though maybe they are. I dunno. They work with geological data to help oil companies build safe platforms (losing a platform to a natural gas deposit costs millions of dollars and occasionally human lives, for example, so the amount they're willing to spend to prevent it from happening is incredibly high), as well as profitable and efficient wells. They also work with fluid dynamics data for a consumer products company, to make sure your toothpaste comes out of the tube without splattering, etc. All seem like "simulations" to me. But I don't know. Visualization is a big part of what they do, as well, and SciPy has awesome realtime visualization capabilities (lots of folks also like MatPlotLib, which works nicely with SciPy).