KOSKK network model in NetLogo

Multi tool use
Multi tool use











up vote
0
down vote

favorite












I am trying to replicate the KOSKK model (Kumpula et al. 2007) in NetLogo but I am stuck.



The original algorithm is:




(I) Select a node i randomly, and




  • (a) select a friend’s friend k (by weighted search) and introduce
    it to i with prob. p_1 (with initial tie strength w_0) if not already
    acquainted. Increase tie strengths by "d" along the search path, as
    well as on the link l_{ik} if it was already present.


  • (b) Additionally, with prob. p_r (or with prob. 1 if i has no connections), connect i to a random node j (with tie strength w_0).



(II) Select a random node and with prob. p_d remove all of its ties.




In particular, I am struggling to write correctly the initial step I-a. How can I tell the program to pick the friend k of a friend j (!= myself, i) in the highest weighted path (l_{ij},l_{jk})?










share|improve this question









New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • What do you have so far? You will definitely need the networks extension. There are primitives in that to find weighted paths, for example.
    – JenB
    Nov 8 at 10:05










  • So far, I only know how to recall a random friend of a friend of a node using the function to-report find-partner2 report one-of other turtles-on (turtle-set ([link-neighbors] of link-neighbors)) end The net ext allows me to calculate the total weight of a path but I have got two issues then. 1) how to select the path with highest total weight, and 2) how to select from that path the terminal node.
    – Marco
    Nov 8 at 13:45















up vote
0
down vote

favorite












I am trying to replicate the KOSKK model (Kumpula et al. 2007) in NetLogo but I am stuck.



The original algorithm is:




(I) Select a node i randomly, and




  • (a) select a friend’s friend k (by weighted search) and introduce
    it to i with prob. p_1 (with initial tie strength w_0) if not already
    acquainted. Increase tie strengths by "d" along the search path, as
    well as on the link l_{ik} if it was already present.


  • (b) Additionally, with prob. p_r (or with prob. 1 if i has no connections), connect i to a random node j (with tie strength w_0).



(II) Select a random node and with prob. p_d remove all of its ties.




In particular, I am struggling to write correctly the initial step I-a. How can I tell the program to pick the friend k of a friend j (!= myself, i) in the highest weighted path (l_{ij},l_{jk})?










share|improve this question









New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • What do you have so far? You will definitely need the networks extension. There are primitives in that to find weighted paths, for example.
    – JenB
    Nov 8 at 10:05










  • So far, I only know how to recall a random friend of a friend of a node using the function to-report find-partner2 report one-of other turtles-on (turtle-set ([link-neighbors] of link-neighbors)) end The net ext allows me to calculate the total weight of a path but I have got two issues then. 1) how to select the path with highest total weight, and 2) how to select from that path the terminal node.
    – Marco
    Nov 8 at 13:45













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am trying to replicate the KOSKK model (Kumpula et al. 2007) in NetLogo but I am stuck.



The original algorithm is:




(I) Select a node i randomly, and




  • (a) select a friend’s friend k (by weighted search) and introduce
    it to i with prob. p_1 (with initial tie strength w_0) if not already
    acquainted. Increase tie strengths by "d" along the search path, as
    well as on the link l_{ik} if it was already present.


  • (b) Additionally, with prob. p_r (or with prob. 1 if i has no connections), connect i to a random node j (with tie strength w_0).



(II) Select a random node and with prob. p_d remove all of its ties.




In particular, I am struggling to write correctly the initial step I-a. How can I tell the program to pick the friend k of a friend j (!= myself, i) in the highest weighted path (l_{ij},l_{jk})?










share|improve this question









New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I am trying to replicate the KOSKK model (Kumpula et al. 2007) in NetLogo but I am stuck.



The original algorithm is:




(I) Select a node i randomly, and




  • (a) select a friend’s friend k (by weighted search) and introduce
    it to i with prob. p_1 (with initial tie strength w_0) if not already
    acquainted. Increase tie strengths by "d" along the search path, as
    well as on the link l_{ik} if it was already present.


  • (b) Additionally, with prob. p_r (or with prob. 1 if i has no connections), connect i to a random node j (with tie strength w_0).



(II) Select a random node and with prob. p_d remove all of its ties.




In particular, I am struggling to write correctly the initial step I-a. How can I tell the program to pick the friend k of a friend j (!= myself, i) in the highest weighted path (l_{ij},l_{jk})?







netlogo






share|improve this question









New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Nov 8 at 9:18









Yannick

715414




715414






New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 8 at 8:39









Marco

11




11




New contributor




Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Marco is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • What do you have so far? You will definitely need the networks extension. There are primitives in that to find weighted paths, for example.
    – JenB
    Nov 8 at 10:05










  • So far, I only know how to recall a random friend of a friend of a node using the function to-report find-partner2 report one-of other turtles-on (turtle-set ([link-neighbors] of link-neighbors)) end The net ext allows me to calculate the total weight of a path but I have got two issues then. 1) how to select the path with highest total weight, and 2) how to select from that path the terminal node.
    – Marco
    Nov 8 at 13:45


















  • What do you have so far? You will definitely need the networks extension. There are primitives in that to find weighted paths, for example.
    – JenB
    Nov 8 at 10:05










  • So far, I only know how to recall a random friend of a friend of a node using the function to-report find-partner2 report one-of other turtles-on (turtle-set ([link-neighbors] of link-neighbors)) end The net ext allows me to calculate the total weight of a path but I have got two issues then. 1) how to select the path with highest total weight, and 2) how to select from that path the terminal node.
    – Marco
    Nov 8 at 13:45
















What do you have so far? You will definitely need the networks extension. There are primitives in that to find weighted paths, for example.
– JenB
Nov 8 at 10:05




What do you have so far? You will definitely need the networks extension. There are primitives in that to find weighted paths, for example.
– JenB
Nov 8 at 10:05












So far, I only know how to recall a random friend of a friend of a node using the function to-report find-partner2 report one-of other turtles-on (turtle-set ([link-neighbors] of link-neighbors)) end The net ext allows me to calculate the total weight of a path but I have got two issues then. 1) how to select the path with highest total weight, and 2) how to select from that path the terminal node.
– Marco
Nov 8 at 13:45




So far, I only know how to recall a random friend of a friend of a node using the function to-report find-partner2 report one-of other turtles-on (turtle-set ([link-neighbors] of link-neighbors)) end The net ext allows me to calculate the total weight of a path but I have got two issues then. 1) how to select the path with highest total weight, and 2) how to select from that path the terminal node.
– Marco
Nov 8 at 13:45

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Marco is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204094%2fkoskk-network-model-in-netlogo%23new-answer', 'question_page');
}
);

Post as a guest





































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








Marco is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















Marco is a new contributor. Be nice, and check out our Code of Conduct.













Marco is a new contributor. Be nice, and check out our Code of Conduct.












Marco is a new contributor. Be nice, and check out our Code of Conduct.















 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204094%2fkoskk-network-model-in-netlogo%23new-answer', 'question_page');
}
);

Post as a guest




















































































Jf1shQKV39z84QM9f,JsX3p,9IJ nz2RPHUsb7Y
nSYN mMxueAA1qcvbr2eeRDzgvPv3erl1hJkvo7Xugqr3wuu40m,S3bSi

Popular posts from this blog

How to pass form data using jquery Ajax to insert data in database?

Guess what letter conforming each word

Run scheduled task as local user group (not BUILTIN)