엄청 큰 행렬 문제를 푼다고 생각해보자... 예를 들면 그래픽스에서 Global Illumination을 구할 때. 조명이 하나인데 얘가 다른 물체에 반사되고, 또 그 물체에서 반사된 빛이 다른 물체에 반사되고... 무한 반복일 때 현존하는 방법으로 계산하면 정말 오래걸릴것이다. 실시간 렌더링이 중요할 때는 맞지 않다.. 그래서 두가지의 방법을 이야기하려고 한다 1. Jacobi Method 2. Gauss-Seidal Method
Ch7의 내용이다!
Chapter6의 내용이다! 앞서 배운 문맥자유문법 같은 경우, 우변에 오는 형태에 어떠한 제약도 없었다. 그런데 이게 항상 좋기만 한것도 아니다.. 따라서 이번 챕터에서는 문법을 단순하게 만드는 방법에 대해서 다뤄보려고 한다. 하지만 단순화 한다고 해서 무조건! 개수가 줄어야 하는 것이 아니라는걸 염두에 두자. 유용한 치환 규칙 어렵지 않은 규칙이다. A->aB B->c라면 A->ac로 바꿀 수 있다는 규칙이다. 증명은 생략하겠다. 필요없는 production 삭제하기 먼저 변수가 필요없다와 필요 있다를 구분하는 방법을 알아야 하는데, (Definition 6.1) 필요 있다 : L(G)에 포함되는 w에 대하여, S->xAy->w 으로 만들어질 수 있는 x, y가 (V set T)* 에 대하여 w가 하..
* coroutine을 'symmetric control' 이라고도 부른다. 호출하는 애랑 호출당하는 애랑 equal basis라고 생각하기 때문이다. 코루틴(coroutine)은 cooperative routine를 의미하는데 서로 협력하는 루틴이라는 뜻입니다. 즉, 메인 루틴과 서브 루틴처럼 종속된 관계가 아니라 서로 대등한 관계이며 특정 시점에 상대방의 코드를 실행합니다. 이처럼 코루틴은 함수가 종료되지 않은 상태에서 메인 루틴의 코드를 실행한 뒤 다시 돌아와서 코루틴의 코드를 실행합니다. 따라서 코루틴이 종료되지 않았으므로 코루틴의 내용도 계속 유지됩니다. 일반 함수를 호출하면 코드를 한 번만 실행할 수 있지만, 코루틴은 코드를 여러 번 실행할 수 있습니다. 참고로 함수의 코드를 실행하는 지점을 ..
# Program to check the list contains elements of another list # List1 List1 = ['python' , 'javascript', 'csharp', 'go', 'c', 'c++'] # List2 List2 = ['swift' , 'php', 'python'] check = any(item in List1 for item in List2) if check is True: print("The list {} contains some elements of the list {}".format(List1, List2)) else : print("No, List1 doesn't have any elements of the List2.") [출처] https://..
이 글은 크게 regex에 대한 요약과 Python에서 regex를 쓰는 부분 두개로 나누어놨다. regex에 관련된 유용한 사이트도 글의 마지막 부분에서 소개하려고 한다. 1. Regex 정리 이 부분은 완전 기본이라서 빠르게 정리하고 넘어가려고 한다. []:문자 클래스. 그룹보다 얘를 쓰는게 좋다! ex) [0-9][a-z][A-Z][가-힣][abc] ^을 쓰면 반대 의미가 된다. ex) [^a-z] [\d]: 숫자 [\D]: 숫자 외 모든것 \.: 줄바꿈 문자 제외 어떤 글자 \ : 특수 문자가 아닌 어떤 문자 \w: 알파벳과 숫자 \W: 그외 [\s]. :공백 \S: 공백 외 개수를 지정해보자 . : 1번(\n 제외) ? : 0번 혹은 1번 * : 0번 이상 + : 1번 이상 {n} : n번 반복..
https://yechoi.tistory.com/52