HYU/์กธ์—… ํ”„๋กœ์ ํŠธ

10. Louvain Algorithm ์ ์šฉ ๋ฐ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

Jaeguk 2024. 5. 17. 09:20

์ด๋ฒˆ ํ™œ๋™ ์š”์•ฝ


์ง€๋‚œ ๋ฒˆ์— ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ์˜ ์‚ฌ์šฉ์œผ๋กœ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„์ž…ํ–ˆ๋‹ค

์ด์ „์—๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ Union-Find ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
์ฒ˜์Œ์—” ํš๊ธฐ์ ์ธ ์ƒ๊ฐ์ด๋ผ๊ณ  ์—ฌ๊ฒผ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๋‹ค๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.
๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๋‹ค๋ณด๋‹ˆ ์ž„์˜์˜ ๋‘ ๋ฐ์ดํ„ฐ ๊ฐ„์— ์–ด๋–ป๊ฒŒ๋“  ํƒ€๊ณ  ํƒ€๊ณ  ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ์—ˆ๊ณ , ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ Union-Find๋กœ ์ง‘ํ•ฉ์„ ์ฐพ์•˜์„ ๋•Œ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์— ์†Œ์†๋œ ๊ฒƒ์œผ๋กœ ์ธ์‹๋œ๋‹ค๋Š” ๋ฌธ์ œ ๊ฐ€ ์žˆ์—ˆ๋‹ค

 

Modularity


๋„คํŠธ์›Œํฌ ๋‚ด์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋ชจ๋“ˆํ™” ๋˜์–ด ์žˆ๋Š”๊ฐ€ ๋ฅผ ์ •๋Ÿ‰์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ๊ฐ’

  • ์ง€๋‚œ ๋ฏธํŒ…๋•Œ ์กฐ๊ต๋‹˜์ด Modularity ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๋ผ๊ณ  ์ถ”์ฒœํ•ด์ฃผ์…จ๋‹ค
  • Modulairty๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด๋ถ€์— ํŽผ์ณ์ ธ ์žˆ๋Š” ๋งํฌ๋“ค์ด ๋ฌด์ž‘์œ„์ ์ธ ์—ฐ๊ฒฐ๋“ค๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ผ๋งˆ๋‚˜ ๋” ๊ฐ•ํ•œ์ง€  ์ •๋Ÿ‰ํ™”ํ•˜๋Š” ๊ฐ’์ด๋‹ค
  • Modularity Q๋ฅผ ๊ตฌํ•˜๋Š” ์‹์€ ์œ„์™€ ๊ฐ™๋‹ค
  • ์š”์•ฝํ•˜์ž๋ฉด, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์—ฐ๊ฒฐ์„ฑ์ด ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ด๋‹ค
    • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ด๋ฏธ ์„ค์ •๋˜์–ด ์žˆ์„ ๋•Œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด๋‹ค
  • ๋ฌด์ž‘์œ„์ ์ธ ์—ฐ๊ฒฐ์˜ ์ƒํ™ฉ๊ณผ ๋น„๊ต๋ฅผ ํ–ˆ์„ ๋•Œ, ์ด ์ฐจ์ด๊ฐ€ ํด์ˆ˜๋ก ์›๋ž˜์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๊ฐ•ํ•œ ์—ฐ๊ฒฐ์„ฑ์„ ๊ฐ–๋Š”๋‹ค๋Š” ์˜๋ฏธ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค

 

Louvain Algorithm


๊ธฐ์กด์˜ Modularity ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์˜ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ œ์‹œ๋œ ๋Œ€์•ˆ

  • ๊ธฐ์กด์˜ Modularity ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ Modularity๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋„ˆ๋ฌด ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค
  • ์ด ๊ณ„์‚ฐ์„ ์ตœ์ ํ™”ํ•œ Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ธ์‹ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง„๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค
    • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ์šฐ๋ฆฌ๊ฐ€ ๊ฐ–๋˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋‹ค
  • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ Louvain Algorithm์ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค
    • ์ด๋ฆ„์€ ๋…ผ๋ฌธ์˜ ์ €์ž๊ฐ€ ๋ฒจ๊ธฐ์—์˜ Louvain ๋Œ€ํ•™ ์ถœ์‹ ์ด๋ผ์„œ ๊ทธ๋ ‡๊ฒŒ ์ง€์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค

 

Method


Louvain Algorithm์˜ ์ง„ํ–‰ ๊ณผ์ •

  • Louvain Algorithm์€ ๋‘๊ฐ€์ง€ Phase์˜ ๋ฐ˜๋ณต ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค

 

Phase 1

  • ์ฒ˜์Œ์—๋Š” ๊ฐ๊ฐ์˜ Single Node๊ฐ€ ํ•˜๋‚˜์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์‹œ์ž‘ํ•œ๋‹ค
  • ํ•˜๋‚˜์˜ Node๋ฅผ ์›๋ž˜์˜ Community์—์„œ ๋นผ์–ด๋‚ด์–ด ์ธ์ ‘ํ•œ Community์— ์žฌ๋ฐฐ์น˜ ํ•˜์˜€์„ ๋•Œ์˜ Modularity์˜ ๋ณ€ํ™”๋ฅผ ์ธก์ •ํ•œ๋‹ค
  • ์ธก์ •๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ, Modularity๊ฐ€ ๊ฐ€์žฅ ํฐ ํญ์œผ๋กœ ์ƒ์Šนํ•˜๋Š” Community์— Node๋ฅผ ๋ฐฐ์†์‹œํ‚จ๋‹ค
    • Modularity๊ฐ€ ํฌ๊ฒŒ ๋ณ€ํ–ˆ๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ Community์— ๋ฐฐ์†์‹œ์ผฐ์„ ๋•Œ ๋” ๋ชจ๋“ˆ์„ฑ์ด ์ปค์กŒ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค
  • ์ด ๊ณผ์ •์„ ์–ด๋– ํ•œ ๋ณ€ํ™”๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ๋‹ค

 

Phase 2

  • Phase 2์—์„œ๋Š” Phase 1์—์„œ ์ธ์‹ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ•˜๋‚˜์˜ Super Single Node๋กœ ์ƒ๊ฐํ•œ๋‹ค
  • ์ด๋•Œ Community ๋‚ด๋ถ€ Link์˜ Weight๋Š” ์ž๊ธฐ ํšŒ๊ธฐ ์ƒํƒœ(Self Loop)์˜ Link๋กœ, Community๊ฐ„์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋˜ Node๊ฐ„์˜ Link Weight๋Š” ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ Link๋กœ ์ƒ์„ฑํ•œ๋‹ค
    • ์œ„์˜ ์˜ˆ์‹œ์—์„œ ๋ฏผํŠธ์ƒ‰(?) ๋…ธ๋“œ๋“ค์ด ํ•ฉ์ณ์ ธ์„œ ํ•˜๋‚˜์˜ Super Single Node๊ฐ€ ๋˜์—ˆ๊ณ , Self Loop๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค
    • ์ด๋•Œ (11, 13), (13, 11) ์ด๋ ‡๊ฒŒ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ๋˜ ๊ฒƒ์„ ํ•˜๋‚˜๋กœ ํ•ฉ์ณค๊ธฐ ๋•Œ๋ฌธ์— 2์˜ Weight๋ฅผ ๊ฐ–๋Š”๋‹ค
  • ์ด ์ƒˆ๋กญ๊ฒŒ ๋ณ€ํ˜•ํ•œ Network๋Š” ๋‹ค์‹œ Phase 1์˜ Algorithm์„ ํ†ตํ•ด์„œ ๋ณ‘ํ•ฉํ•ด ๋‚˜๊ฐ„๋‹ค
    • Phase 1์„ ๋งˆ์น˜๋ฉด ๋‹ค์‹œ Phase 2๋กœ ๋Œ์ž…ํ•œ๋‹ค
  • Phase 2 ์ดํ›„, Phase 1์—์„œ ๋” ์ด์ƒ์˜ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š์„ ๋•Œ Louvain Algorithm์€ ๋™์ž‘์„ ์ •์ง€ํ•œ๋‹ค

 

์ ์šฉ ๊ณผ์ •


Louvain Algorithm์„ ์šฐ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด์ž

 

louvain

Louvain community detection. Latest version: 1.2.0, last published: 6 years ago. Start using louvain in your project by running `npm i louvain`. There are 3 other projects in the npm registry using louvain.

www.npmjs.com

  • Louvain Algorithm์„ ๋น„๊ต์  ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค
  • ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ธฐ๋Š” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ํŒ๋‹จ

 

  let community = louvain.jLouvain().nodes(nodes).edges(edges);
  let result = community();

  /*
   * ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด์„œ Key์™€ ํ•ด๋‹น Key์˜ Value์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์ƒ‰์ƒ(Hex)์„ ๋ถ€์—ฌํ•œ๋‹ค
   * Key๋Š” Node์˜ ID, Value๋Š” ํ•ด๋‹น Node์˜ Community ID
   */

  let colors = {};
  let coloredNodes = {};
  Object.keys(result).map((sourceId) => {
    const communityId = result[sourceId];

    if (colors[communityId] === undefined) {
      colors[communityId] =
        "#" + Math.floor(Math.random() * 16777215).toString(16);
    }

    coloredNodes[sourceId] = colors[communityId];
  });
  • ์œ„์™€ ๊ฐ™์ด ๊ตฌํ˜„์„ ํ•ด์„œ ์ง€์ •๋œ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์ƒ‰์ƒ๊ฐ’์„ ๋ถ€์—ฌํ–ˆ๋‹ค
  • ์ƒ‰์ƒ์„ ๋žœ๋คํ•˜๊ฒŒ ์ง€์ •ํ•ด์„œ ๊ฒฐ๊ณผ๊ฐ€ ์•ˆ ์˜ˆ์˜๊ฒŒ ๋‚˜์˜ฌ ๋•Œ๋„ ์žˆ๋‹ค
    • ์ด ๋ถ€๋ถ„์€ ๋‚˜์ค‘์— ๋ณด์™„ํ•  ์˜ˆ์ •

 

์ ์šฉ ๊ฒฐ๊ณผ


์šฐ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ์— Louvain Algorithm์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

  • ํฌ๊ธฐ๊ฐ€ ๋น„๊ต์  ์ž‘์€ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ์ ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋‚˜,
  • ํฌ๊ธฐ๊ฐ€ ํฐ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ๋Š” ๋‚ด๋ถ€์— ๋˜ ๋‹ค์‹œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์ƒ‰์ƒ๋งŒ์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ํž˜๋“  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค

 

๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„


์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋„คํŠธ์›Œํฌ๋ฅผ ์ปค์Šคํ…€ํ•˜๊ณ , ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค

  • ํ•˜์ง€๋งŒ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์ด ๋ฉ”์ธ ์„œ๋น„์Šค๋Š” ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝ๋งŒ
  • JWT ํ† ํฐ์„ ์‚ฌ์šฉํ•ด์„œ, ์ธ์ฆ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค
  • ์ด๋•Œ ํ† ํฐ ๊ฐ’์€ ์‘๋‹ต์„ ๋ณด๋‚ผ ๋•Œ Set-Cookie๋ฅผ ํ†ตํ•ด์„œ ์ฟ ํ‚ค๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค
    • httpOnly, Secure, SameSite ์™€ ๊ฐ™์€ ์˜ต์…˜์„ ํ†ตํ•ด ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜์˜€๋‹ค
    • httpOnly ์†์„ฑ์€ ์„œ๋ฒ„์—์„œ๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋ก ํŠธ์—์„œ ์ง์ ‘ ์ฟ ํ‚ค์— ์ €์žฅํ•˜๊ธฐ ๋ณด๋‹ค Set-Cookie๋ฅผ ํ†ตํ•ด ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค 
  • ์š”์ฒญ์— AT์—†์ด RT๋งŒ ๋“ค์–ด์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์„œ๋ฒ„์—์„œ ์ž๋™ ๊ฐฑ์‹ 

 

ํ”ผ๋“œ๋ฐฑ


๋ฏธํŒ… ์ดํ›„ ํ”ผ๋“œ๋ฐฑ

  • ๊ฑฐ๋Œ€ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด๋ถ€์—์„œ ๋˜ ๋‹ค๋ฅธ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ํ˜„์ƒ์€ ๋‹จ๊ณ„์  ๋ ˆ์ด์•„์›ƒ ์„ ๊ณ ๋ คํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค
    • ์คŒ์„ ํ•˜๊ธฐ ์ „์—๋Š” ์ด์ „์— ์‚ฌ์šฉํ–ˆ๋˜ Union-Find์™€ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ณ 
    • ์คŒ์„ ํ•ด์„œ ์ž์„ธํ•˜๊ฒŒ ๋ณด๊ฒŒ ๋˜๋ฉด, Louvain Algorithm์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋„๋ก ํ•˜๋ฉด ์ข‹์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค
    • ๋˜๋Š” Switch ์˜ต์…˜์„ ํ†ตํ•ด์„œ ์ ์šฉํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ๋„ ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ด ๋˜๊ฒ ๋‹ค
  • ๋‹จ๊ณ„์  ๋ ˆ์ด์•„์›ƒ์ด ์•„๋‹ˆ๋”๋ผ๋„, ์ปค๋ฎค๋‹ˆํ‹ฐ ํ˜•์„ฑ์€ ์ž˜ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ ์„ ์ฐพ์•„๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค
    • ์กฐ๊ต๋‹˜๋„ ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ํ•จ๊ป˜ ๊ณ ๋ฏผ์„ ํ•ด์ฃผ์‹œ๊ธฐ๋กœ ํ•˜์…จ๋‹ค
  • ์ ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๊ณ„์†ํ•ด์„œ ๋‹ค์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด๊ฑธ ์„œ๋ฒ„์—์„œ ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌํ˜„์„ ํ•  ์˜ˆ์ •์ด๋‹ค
    • ์„œ๋ฒ„์—์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ ค์„œ ๊ฒฐ๊ณผ๋ฅผ ํ”„๋ก ํŠธ๋กœ ๋ณด๋‚ด์ฃผ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ

 

 

Reference


 

[๋„คํŠธ์›Œํฌ์ด๋ก ] Network Modularity (๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“ˆ์„ฑ)

๋„คํŠธ์›Œํฌ๋ฅผ ๋ฐ”๋ผ๋ณด๋ฉด, ๋„คํŠธ์›Œํฌ ์†์—์„œ๋„ ๋ผ๋ฆฌ๋ผ๋ฆฌ ๋ญ‰์ณ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๋ณด์ด๊ณค ํ•œ๋‹ค. ๋‹ค์Œ ๋„คํŠธ์›Œํฌ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ณด์ž. ๋„คํŠธ์›Œํฌ์ง€๋งŒ, ์œ„์ชฝ ์•„๋ž˜์ชฝ ์™ผ์ชฝ์œผ๋กœ ๋ผ๋ฆฌ๋ผ๋ฆฌ ๋ชจ์—ฌ์žˆ๋Š” 3๊ฐœ์˜ ์ž‘์€ ์ปค

mons1220.tistory.com

 

[๋„คํŠธ์›Œํฌ์ด๋ก ] Louvain algorithm for community detection

network๋กœ๋ถ€ํ„ฐ community๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ Girvan-Newman algorithm์™€ Link community๋ฅผ ์†Œ๊ฐœํ•œ ์ ์ด ์žˆ์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ 3ํƒ„์œผ๋กœ Louvain algorithm์„ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Louvain algorithm์ด ์ฒ˜์Œ ์†Œ๊ฐœ๋œ ๋…ผ๋ฌธ์€ Fast unfo

mons1220.tistory.com

 

4. Community Structure in Networks

Network Community [์ž‘์„ฑ์ž : ๊น€ํƒœ์šฑ]

velog.io

 

louvain

Louvain community detection. Latest version: 1.2.0, last published: 6 years ago. Start using louvain in your project by running `npm i louvain`. There are 3 other projects in the npm registry using louvain.

www.npmjs.com

 

react-cookie

Universal cookies for React. Latest version: 7.1.4, last published: 2 months ago. Start using react-cookie in your project by running `npm i react-cookie`. There are 641 other projects in the npm registry using react-cookie.

www.npmjs.com

 

Set a cookie to HttpOnly via Javascript

I have a cookie that is NOT HttpOnly Can I set this cookie to HttpOnly via JavaScript?

stackoverflow.com

 

 

728x90