diffusion with (a)social learning in a dark network with constant death rate [closed] - igraph

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 days ago.
Improve this question
I am trying to combine the target and random attacks model in Albert, Jeong, and Barabási (2000) with gossip diffusion on a given organized crime network.
In my theoretical framework, gangsters gossip about the death of other workmen elsewhere in their network neighborhood. Hence, the gangsters learn the condolence news as their camarades die out sequentially every period either through social ties (social learning) or through exogenous sources (asocial learning). What’s unfortunate, some gangsters may not survive another day to hear the next death news.
For the task, I am using the Dai Shizuka’s code for diffusion through social learning (via social ties) and through asocial learning (exogenous to the network sources) in social networks as illustrated in the article about social learning of free-living animals by Franz and Nunn (2009). I assume gangsters learn about the condolence gossip either through their personal networks or through an external source.
In the first scenario, I must kill 13 historically well-known gangsters from a list published online. In the second scenario, I must remove the 30 most central gangsters, whereas in the last scenario, I have to randomly delete 30 gangsters from the mafia network. At the end, I compare the s-curves for social learning and asocial learning for each scenario. Obviously, the innovation is the inclusion of attrition to diffusion models on an original setting, the Italian mafia network in the U.S.
My question is how to create the appropriate temporal network object which works with Dai Shizuka’s code.The code isn't designed for temporal longitudinal networks.
References
Albert, R., Jeong, H. and Barabási, A.L., 2000. Error and attack tolerance of complex networks. nature, 406(6794), pp.378-382.
Dai Shizuka, 2023. “8. Intro to diffusion on networks.” Available at: https://dshizuka.github.io/networkanalysis/08_diffusion.html. Accessed: 8 February, 2023.
Franz, M. and Nunn, C.L., 2009. Network-based diffusion analysis: a new method for detecting social learning. Proceedings of the Royal Society B: Biological Sciences, 276(1663), pp.1829-1836.
I’ve also tried modeling the process with the alternative networkDynamic and netdiffuseR packages, yet was rather dissatisfied with the final presentation product and the way the diffusion plots were presented in netdiffuseR. I also report some issues with running the toy diffusion example in networkDynamic, p. 45.
Because there are too many diffusion models for various social phenomena in the social networks literature, we really must know the specificities of the various diffusion models and the network mechanisms behind them. For instance, is the process of gossip diffusion like the process of STDs diffusion? Why isn't that the case?

Related

target and random attacks in dark networks: what's new? [closed]

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 days ago.
Improve this question
Dear dark network analysts, covert network lovers, sociologists with interests in secret societies, and practitioners of network analysis in police and in journalism,
This week, I am modeling nodal attacks on a well-known Italian mafia network in the United States, I received as a gift from a research team which managed to publish recently with Social Networks. Typically, in a node attacks paper, network scientists sequentially remove some element from the network and monitor a number of graph connectivity measures (e.g., Albert, Jeong & Barabási 2000). We have seen from the network literature the following attack strategies on covert networks:
target attacks, or attacks on most central actors (e.g., Xu and Chen 2008)
random attacks (e.g., Xu and Chen 2008)
bridge and broker attacks (e.g., Xu and Chen 2008)
hubs removal
What other original structural attacks on criminal networks could you think of? I am particularly interested in implementing node removal strategies which are being used in the police.
What innovations in nodal attacks could I immediately propose? We could attempt to remove entire micro structures from the dark network in some order and see what happens with its connectivity. Federico Varese and Diego Gambetta wrote extensively on the importance of the triad in criminal organizations (e.g., Gambetta 2000; Varese 2000) and the triad as a business (e.g., Chu 2000). Mark Lauchs wrote two papers on blowing the whistle in chains of corrupt transactions and how these chains sequentially fail (e.g., Lauchs et al. 2011, 2012). Mark Granovetter briefly sketched a few sociological remarks on market corruption and network corruption (Granovetter 2004). I guess his network argument could be applied to the removal of entire k-cores, n-clubs or n-cliques of corruption monopolies or oligopolies in the network market of organized crime.
triads
chains and certain paths
cliques
small ego networks
partial branches and hierarchies
k-cores
n-clubs
Furthermore, I have also been interested in monitoring murder in covert networks applying dreadful historically documented techniques of personnel removal utilized in mafias, gangs, terrorist networks, crime rings, and military organizations, such as:
astrological murder
alphabetical murder
black lists
kinship bloodshed violence, e.g., taxing with first sons in family
extinction of entire bloodlines, e.g., the witches in The Vampire Diaries with Nina Dobrev
eradication of entire crime families
Clearly these aren’t structural attacks, yet some of their motivations may hide network motives. Is there a movie called, The network murder? Regrettably, I only know Andrew Papachristos’ “Murder by structure,” (2009) a paper which was originally coined to me by the American sociologist Peter Bearman. Obviously, an original source for modeling network attacks could be chapter “Death” from Federico Varese’s Mafia Life (2018). The books features a number of original feuds and interclan wars in the mafia, which aren't necessarily network-based, yet they are tremendously smart economic-wise.
For the lazy math geeks out there who don't have time to read many books or review the voluminous Italian literature on the topic, I recommend going to the Italian mafia movies during the weekends.
References
Albert, R., Jeong, H., & Barabási, A. L. (2000). Error and attack tolerance of complex networks. Nature, 406(6794), 378-382.
Chu, Y. K. (2002). The triads as business. Routledge.
Gambetta, D. (2002). “Corruption: An analytical map.”
Granovetter, M. (2004). “The Social Construction of Corruption.” Department of Sociology.
Lauchs, M., Keast, R., & Chamberlain, D. (2012). Resilience of a corrupt police network: the first and second jokes in Queensland. Crime, law and social change, 57, 195-207.
Lauchs, M., Keast, R., & Yousefpour, N. (2011). Corrupt police networks: uncovering hidden relationship patterns, functions and roles. Policing & society, 21(1), 110-127.
Papachristos, A. V. (2009). Murder by structure: Dominance relations and the social structure of gang homicide. American journal of sociology, 115(1), 74-128.
Varese, F. (2000). “Pervasive corruption.” Economic crime in Russia, 99-111.
Varese, F. (2018). Mafia life: Love, death, and money at the heart of organized crime. Oxford University Press.
Xu, J., & Chen, H. (2008). The topology of dark networks. Communications of the ACM, 51(10), 58-65.
(google scholar, ameliorate the referencing whenever possible)
Currently, I am experimenting with removing entire crime families, blood lines and smaller network structures. This is also a brilliant way to improve the brainwaver package in R, which at present is somewhat limited (for my needs at least).

Open Source projects that use agile methods or have tried them [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm preparing a short talk for a conference in august and I'm looking for open source projects that are using agile methods internally or have tried them in the past.
My goal is to talk about the things that work well and what won't work and promote the agile methods a little bit, because I think certain agile techniques are a good fit, but don't seem to be that common in real development.
So does anyone know projects that have tried agile methods and techniques before? I'd like to contact them for a few questions.
Update:
Thanks for the answers I'll contact the teams in the next weeks. :-)
(I first have to prepare the questions and an introduction...)
I am still monitoring this question, so feel free to add more answers/projects/...
Sure, Agile favors face to face communication and most open source projects have distributed members and the distance doesn't simplify communication. Does this means you can't be Agile on an OSS project? I don't think so.
First of all, I need to say that modern tools can help to reduce the communication overhead introduced by distance: skype, phone, conference calls, video conference, collaborative editors and review tools, mail, written document, (even travel), etc. If you can avoid distance, do it. But this is not a blocker issue.
Second, Agile is in my opinion not about doing pair programming or stand-up meetings... These are just practices and practice are not an end, they are just a means. Agile is more about principles: maximizing the delivered value while minimizing waste to provide the most optimal ROI (ok, the last part may not apply for an OSS project but you still want to deliver valuable working software to your users or Darwin will make you disappear). Practices from a given methodology are a way to achieve this goal in a given context but for me Agile is still more about continuous prioritization, limiting Work In Process, (i.e. short cycles and time boxes), incremental delivery, feedback loops, high quality (perceived and conceptual), Stop-the-Line culture, building a mistake proof process, just enough specifications, just enough and just in time documentation, etc, etc. In other words, not doing pair-programming doesn't mean you can't be Agile.
Back to the question, I consider Ubuntu as a good example (maybe not strictly a programming example but it involves development): fixed date release cycles (every 6 months with several shorter iterations during these 6 months), strict prioritization of things to do, no date shifting (the scope varies), working software, and all this with highly distributed contributors and plenty of technologies and languages. Check Ubuntu Development, I'm pretty sure it's possible to contact "someone".
Another example I had in mind is Sonar. At some time, they were delivering their great piece of software every month (although it seems the rhythm is not so regular anymore). You can contact the dev team to discuss with them at SonarSource.
I would have thought that the Open Source development model was quite contra that of agile. Most agile practices (pair programming, stand-up meetings, for example) require that the developers are co-located. On most FOSS projects, the developers are widely separated geographically.
The Twisted project uses XP plus some additional procedures that it calls the Ultimate Quality Development System:
Twisted Matrix Development Process
You can try to contact the XWiki Team.
http://www.xwiki.com/xwiki/bin/view/About/Team
They have a great product, it is Open Source, Vincent Massol knows very well agile practices (espeacially tests) and the team is distributed. You can try ask for some of their "secret recipes" ;-)

Where should a beginner start with computer vision? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I'm an undergrad who finds computer vision to be fascinating. Where should somebody brand new to computer vision begin?
Check out this book
http://research.microsoft.com/en-us/um/people/szeliski/book/
it is in beta stage right now and available for free.
Richard Szeliski, the author, is a a well known researcher in the field of computer vision. He is also behind the Photosynth project.
Get your hands dirty! What language do you program in? I would recommend looking at OpenCV, which is an open source library that comes with many functions you can use to build interesting systems. It is written for C++ but also has bindings for Python. It comes with many demos that you can run right away and hack around with.
For complete overview of the field books are the best way to go.
For any particular topic you want to know more about, survey papers found through Google Scholar are the way to go.
For most recent research, look at papers from CVPR, which is a vision conference:
http://www.cvpapers.com/cvpr2010.html
You definitely need a solid math background: calculus, linear algebra, signal processing, probability and statistics.
You also need to understand what specific problems are studied in computer vision: recognizing an image of a particular object, recognizing a general class of objects ("cars"), detecting whether an object is present in an image, locating an object in an image, tracking moving objects in video, reconstructing a 3D object or scene from an image or a set of images, etc.
I was once told by a professor of a good way to get into a new field. Go to the library, find the main journal for that field, and start reading abstracts to papers, until you get the lingo. In the case of computer vision, good journals to look at are IEEE Transations of Pattern Analysis and Machine Intelligence, aka PAMI, and International Journal of Computer Vision (aka IJCV). By the way, the two major conferences in computer vision are CVPR (IEEE International Conference on Computer Vision and Pattern Recognition) and ICCV (International Conference on Computer Vision).
Topics that are related or heavily overlap with vision are image processing and machine learning.
If there is a course in computer vision offered at your school, take it. Get some books on the subjects I've mentioned. If there is vision-related conference near where you live, sneak in and look at the posters.
Oh, and Matlab is a great environment to play with image processing and vision algorithms.
Some resources:
Learning about Computer Vision
Must have background on signal processing methods - Transform - Fourier - Hough -etc
May use a better environment such as MATLAB for image processing
Pattern classification methods
Neural Networks is an important and widely use tool in Computer Vision
As with all other things at school.... start by taking up a course with a good amount of project work. Explore ideas and implement algorithms in those projects that you find interesting. Wikipedia is a good beginners resource as usual. If you want books, the most popular ones are:
http://www.amazon.com/Multiple-View-Geometry-Computer-Vision/dp/0521540518
http://www.amazon.com/Computer-Vision-Approach-David-Forsyth/dp/0130851981/
http://research.microsoft.com/en-us/um/people/szeliski/book/drafts/SzeliskiBook_20100423_draft.pdf
But I would suggest before you jump in to books, take a course/go through some course slides at one of the top ten universities or via iTunesU.
I found this guide to be pretty good at introducing the novice to computer vision, but you really need to go for a MS for that. Electrical and Computer Engineering Departments offer it under a Digital Signal Processing Program, from which you can choose to specialize in Machine Vision or Digital Imaging (whatever they may call it).
SOCIETY OF ROBOTS - COMPUTER VISION TUTORIAL

What is the Software Development Lifecycle? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Our investor wants a SDLC. I've never written one before, and I don't have enough time to go and buy a book, or spend much time learning about them. From what I've been told about them, they consist of requirements (what needs to be done), and a list is done. Is this correct?
Update:
I have found this article which really helps to explain things in simple terms and very quickly. Not that I think an SDLC should be done quickly. In my case, I have no other option.
There are lots of ideas about SDLC out there. You can't swing a cat without hitting one.
What have you done to develop software that attracted your investor in the first place? Can't you describe that? Why do you have to go out and "learn one"?
There's a number of choices:
Waterfall: requirements->design->build->test->deploy,
all in sequence
Iterative: similar to waterfall, but you break the design into smaller pieces, of 1-2 week duration, that are delivered at the end of the iteration.
Extreme Programming (XP): Kent Beck's approach; no BDUF (Big Design Up Front). Everything is designed, built, and delivered in small pieces.
Scrum: Agile, iterative, but not as dogmatic as XP.
Rational Unified Process: Waterfall from IBM.
Not really; that's more project management. That's what you need at the point where you've figured out how you're going to develop software.
For the 'how' of developing Software, the two 'biggies' are Agile and Waterfall; with a weird hybrid in between the two.
But that's only one part of the Software Development Life Cycle: You still have to have a maintenance and deployment plan.
My question for you: If someone's giving you money, and they want a plan, isn't it in your best interest to read a book about the SDLC and give them a plan?
If your investor wants you to describe the SDLC, he wants that you describe how looks the life of a software project which is done by you from its plan, birth, through growth to maturity and death. That is the reason why it has "life" in its name. The result of SDLC should be "software" hence the first word. The "development" part comes from the fact that you are responsible for planning, specifying, designing and implementation of the software, you should create (develop) the software. And finally, "cycle" means that, when the investor looks at you SDLC and thinks it is good (it produces quality and business value), he can ask you to use the same process once again in another project.
A complete SDLC meaning you need to perform Requirement gathering and Analysis-> Design (Design document creation) -> Coding and Unit testing -> Testing (System and Integrated testing) -> Deployment and Support -> Maintenance
I found this Blogg really helpful.

Ideas for Computer Science related Microteaching [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 years ago.
Improve this question
This semester, I will be a TA for an introductory computer science course at my university. As part of TA training, I'll be doing something called Microteaching, which is where I teach for 5-7 minutes in front of a small audience (4-5 people) and I am reviewed on my teaching style. Among being critiqued on my personal things like confidence and eye contact, I will be critiqued on how well I know the subject material, as well as how interesting it is to the audience.
So my question is: Can you offer me any suggestions of computer science related topics that:
I can begin and finish teaching in a span of 5-7 minutes
Are fun to learn about
Are accessible to a general engineering (but not necessarily computer science) audience
Some topics I have considered:
Teaching how to write Hello World in some simple language
Introducing a synchronization problem like dining philosophers
How about a simple graph algorithm like shortest paths? People will be interested because this is more or less how MapQuest, Google Maps, Garmin, and TomTom work. And if you draw a small map of your University campus you can do a quick example and there's your 5 minutes.
5-7 minutes isn't a long time at all. A quick intro or overview of something interesting might be a good choice. You could:
introduce a programming language paradigm like functional or logical with a demo of Prolog, Lisp, OCaml or Haskell.
give an overview of how HTTP requests and responses work
describe the basics of object-relational mapping
It would be good to have some resources to give them afterwards, so they can learn a lot more if they're interested.
I am a TA, but in a different subject. I think Hello World is too boring, many students may already have some experience (the hacker type), and those are fun students. Maybe you could create some quick examples in Python, that will grab the attention, maybe something like simple graphics (fractals), simple networking (maybe send SMS to phone?). I think those can be done in a few minutes if you supply instructions.
I'm trying to merge engineering types and basic computer science subject matter. To me this sounds like the sort of audience you want to present a simple application to not just theory.
Five minutes goes fast. My best advice is to practice the presentation a couple of times as a dry run and don't talk too far down to the audience.
How about: Introducing conditionals along with functions in some sort of regulation function. A quick example is a smart battery charger that needs to look at voltage to figure out how to charge Li-ion cells properly or declare them bad (think exploding laptop batteries)
How to log and watch current trends in something (gather data) and analyze it. Say a quick weather prediction example using data available from the United States National Weather Service or something along those lines.
Walk through implementing an algorithm to do some basic calculation functions useful to engineers. Perhaps a volume of water a tank can hold sort of thing.