An open API service indexing awesome lists of open source software.

https://github.com/netpyoung/cljpyoung.landoflisp

πŸ‘½ Land of Lisp for Clojure
https://github.com/netpyoung/cljpyoung.landoflisp

clojure clojurescript landoflisp lisp svg

Last synced: 2 months ago
JSON representation

πŸ‘½ Land of Lisp for Clojure

Awesome Lists containing this project

README

        

# cljpyoung.landoflisp

* https://github.com/robjens/boot-reframe-10x
* https://github.com/Day8/re-frame-10x/issues/196
* https://clojars.org/cljsjs/create-react-class
* https://www.youtube.com/watch?v=JCY_cHzklRs

* TODO: https://github.com/Day8/re-com

![](./landoflisp.svg)

* ch05 - https://github.com/netpyoung/cljpyoung.spels/blob/master/src/cljpyoung/spels.clj

# Ref.
* http://landoflisp.com/source.html
* https://github.com/quux00/land-of-lisp-in-clojure/blob/master/grand-theft-wumpus/src/thornydev/wumpus/game.clj
* https://github.com/bitsai/book-exercises/blob/master/Land%20of%20Lisp%20(in%20Clojure)/ch8/wumpus.clj
* http://derekmcloughlin.github.io/2014/09/13/Haskell-Dice-Of-Doom-Part-1/
* http://derekmcloughlin.github.io/2014/10/04/Haskell-Dice-Of-Doom-Part-2/
* http://derekmcloughlin.github.io/2014/11/02/Haskell-Dice-Of-Doom-Part-3/

# ch15
2x2

```
player: int
dice : int

tree {
:player player
:board [[player dice]]
:moves [move ...]
}

move {
:action ([from to] | nil)
:tree tree
}
```

κ²Œμž„μ΄μ„œ λ‚˜μ˜¬ 수 μžˆλŠ” 경우의 수λ₯Ό λͺ¨λ‘ κ³„μ‚°ν•œλ‹€.
Game Tree
2x2μ—μ„œλŠ” μΆ©λΆ„νžˆ κ°€λŠ₯ν•˜λ‚˜
3x3λΆ€ν„°λŠ” κ³„μ‚°ν•˜λŠ”λ° λ§Žμ€ μ‹œκ°„μ΄ κ±Έλ¦°λ‹€.

16 - macro
17 - svg lib

18μž₯ μ—μ„œλŠ”

μ§€μ—°ν‰κ°€λ‘œ λͺ¨λ‘ λ‹€ κ³„μ‚°ν•˜λŠ”κ²Œ μ•„λ‹ˆλΌ ν•„μš”ν•œ 만큼만 κ³„μ‚°ν•˜λ„λ‘ λ°”κΎΌλ‹€.
context만 λ“€κ³ μžˆκ³  ν‰κ°€λŠ” λ―Έλ£¨λŠ” 것이닀.
lazy evaluation

trimming
Heuristics

http://popungpopung.tistory.com/10
[A simple animation of the Minimax algorithm](https://www.youtube.com/watch?v=zDskcx8FStA)
[Step by Step: Alpha Beta Pruning](https://www.youtube.com/watch?v=xBXHtz4Gbdo)
aI도 λ“€μ–΄κ°„λ‹€.
λͺ‡μˆ˜ μ•žμ„ 미리 κ³„μ‚°ν•˜μ—¬ 졜적의 선택을 ν•˜λ„λ‘ ν•œλ‹€.
minimax μ•Œκ³ λ¦¬μ¦˜
https://en.wikipedia.org/wiki/Minimax
μƒλŒ€νŽΈμ—κ²ŒλŠ” 이길 수 μžˆλŠ” ν™•μœ¨μ΄ 적은 min
λ‚˜μ—κ²ŒλŠ” 이길 수 μžˆλŠ” ν™•μœ¨μ΄ 높은 max
ν•œκ³„μ 
λͺ¨λ‘ λŒμ•„λ΄μ•Όν•¨

alpha-beta prune

alpha cut-off λŠ” μžμ‹ μ΄ μƒλŒ€λ°©λ³΄λ‹€ λΆˆλ¦¬ν•˜μ—¬, μžμ‹ μ΄ κ·Έ 경우λ₯Ό μ„ νƒν•˜μ§€ μ•Šμ„ λ•Œ λΆˆν•„μš”ν•œ 연산을 μž˜λΌλ‚΄λŠ” 것이고
Beta cut-off λŠ” μžμ‹ μ΄ μƒλŒ€λ°©λ³΄λ‹€ μœ λ¦¬ν•˜μ—¬, μƒλŒ€λ°©μ΄ κ·Έ 경우λ₯Ό μ„ νƒν•˜μ§€ μ•Šμ„ ν™•λ₯ μ΄ 높을 λ•Œ λΆˆν•„μš”ν•œ 연산을 μž˜λΌλ‚΄λŠ” 것이닀. λ‘˜μ˜ 차이점을 잘 μ•Œμ•„λ‘μž

19μž₯
svg / webserver

20μž₯
AIλŠ” 이미 4인용 κ²Œμž„μ— 적절
6각 tile에 λŒ€ν•œ μ£Όμ‚¬μœ„μ˜ μ΅œλŒ€ 갯수λ₯Ό 3μ—μ„œ 5둜 늘렸으며, AI λ ˆλ²¨μ„ 4μ—μ„œ 2둜 μ€„μ˜€μŠ΅λ‹ˆλ‹€