Slide 1

Slide 1 text

Swift ʹ͓͚Δܦա࣌ؒͷܭଌ Yuto Mizutani

Slide 2

Slide 2 text

Yuto Mizutani • גࣜձࣾ VALU iOS ΤϯδχΞ • ΞϝϦΧͷ৺ཧֶऀͱڞಉݚڀͯ͠·͢ • try! Swift Ͱ΋ LT ͠·͢

Slide 3

Slide 3 text

৺ཧֶݚڀ༻ΞϓϦ OperantChamberApp, YutoMizutani/OperantKit

Slide 4

Slide 4 text

໰୊

Slide 5

Slide 5 text

໰୊ Start Time: 20XX/XX/XX 14:01:07 End Time: 20XX/XX/XX 14:17:47 Session: 1 Training: Magazine Training VT value: 20000 List of events: 99: 1000808 END OF THE SESSION Responses: 0 Responses(ITI): 0 Reinforcers: 40 1,000,000 ms (1000 ඵ㲈16෼) Ͱ ऴΘͬͯཉ͍͠ͷʹ ऴྃ·Ͱʹ 808 ms ஗Ԇ͢Δ ! ࣮ࡍͷσʔλ͔Βൈਮͨ͠΋ͷɻ࣮ݧϓϩάϥϜʹ͸ Visual Basic 2015® Λ࢖༻ͨ͠ɻ ࣮ݧσʔλ -> σʔλ෼ੳʹෆศ

Slide 6

Slide 6 text

͜Ε·Ͱ (γϯάϧεϨου) 1000 ms + 1 ms 1000 ms + 1 ms 1000 ms + 1 ms 3000 ms + 3 ms ஗Ԇ͕ੵΈॏͳΓऴྃ࣌ؒʹӨڹ

Slide 7

Slide 7 text

࣌ؒܭଌ

Slide 8

Slide 8 text

࣌ؒܭଌ •̋̋ͨ͠ͷ͸ XX ඵͩΑ •XX ඵޙʹ ̋̋ ͯ͠Ͷ Input Output

Slide 9

Slide 9 text

̋̋ͨ͠ͷ͸ XX ඵͩΑ Input

Slide 10

Slide 10 text

̋̋ͨ͠ͷ͸ XX ඵͩΑ -> ൓Ԡ࣌ؒܭଌ

Slide 11

Slide 11 text

• time() • Date • gettimeofday() • clock_gettime() • clock_gettime_nsec_np() • mach_absolute_time() Swift ʹ͓͚Δ ൓Ԡ࣌ؒܭଌ iOS ͷ࣌ؒؔ਺ͷਫ਼౓ - Qiita @yamoridon Λݩʹ Xcode 10.1, Swift 4.2, iPhone X ؀ڥԼʹͯܭଌ 1.00 us 1.01 us 1.00 us 1.00 us 0.05 us 1,000,000.00 us = 1,000 ms 1 ms

Slide 12

Slide 12 text

λονݕग़Ϩʔτ iOS Device Compatibility Reference - Apple Developer

Slide 13

Slide 13 text

λονݕग़Ϩʔτ • iPhone X ͓Αͼ iPad Pro ͕ 120 Hz Ͱͷ ݕग़ ʹରԠ • iPad Pro (2018) ͕ 120 Hz Ͱͷ දࣔ ʹରԠ • ͦΕҎ֎͸ 60 Hz - 60 Hz iOS Device Compatibility Reference - Apple Developer -> ݕग़·Ͱ࠷େ 8.33 - 16.67 ms ͷ஗Ԇ

Slide 14

Slide 14 text

XX ඵޙʹ ̋̋ ͯ͠Ͷ Output

Slide 15

Slide 15 text

XX ඵޙʹ ̋̋ ͯ͠Ͷ -> λΠϚʔॲཧ

Slide 16

Slide 16 text

Swift ʹ͓͚Δ λΠϚʔॲཧ OperantKit ΑΓɼXcode 10.1, Swift 4.2, iPhone X, MacBook Pro (15-inch, 2018) 2.9 GHz Intel Core i9 ؀ڥԼʹͯܭଌɻ While loop ͸ usleep(100) ΛೖΕͨ Async dispatch ʹ࣮ͯߦɻ Delay CPU OS While loop ±0 ms 25% All (include Linux) CADisplayLink +5 ms 9% iOS, tvOS (QuartzCore) CVDisplayLink +0~16 ms 3% macOS (QuartzCore)

Slide 17

Slide 17 text

͜Ε·Ͱ (γϯάϧεϨου) 1000 ms + 1 ms 1000 ms + 1 ms 1000 ms + 1 ms 3000 ms + 3 ms ஗Ԇ͸͢Δ΋ͷͷɼ Ұఆͷ஗Ԇͱ1000 ms ͕ධՁ͞Ε͍ͯͨ

Slide 18

Slide 18 text

஗Ԇ͸มಈ͢Δ΋ͷͷɼ ʮఆظʯͱͯ͠͸ΑΓݱ࣮ੈքʹଈ͍ͯ͠Δ ඇಉظ (λΠϚʔΫϥε) Ͱ௨஌ notify 1000 ms notify notify 1000 ms 1000 ms Log Log Log

Slide 19

Slide 19 text

஗Ԇ͕ώτʹٴ΅͢Өڹ

Slide 20

Slide 20 text

1. ώτ͸஗ԆΛ஌֮͢Δ͔?

Slide 21

Slide 21 text

஌֮͠ͳ͍

Slide 22

Slide 22 text

஌֮͠ͳ͍ • ʮίʔϥΛҿΊʯʮϙοϓίʔϯΛ৯΂Ζʯͱ͍͏จࣈྻΛ ແҙࣝԼ (୹࣌ؒʹ܁Γฦ͠) Ͱఄࣔ • Smarandescu & Shimp (2015) ͷݚڀͰ͸ɼ23 ms x 13 ճͷ ܹࢗఄ͕ࣔ௚ޙͷ঎඼બ୒ʹӨڹΛٴ΅͢͜ͱΛࣔͨ͠ɻ

Slide 23

Slide 23 text

஌֮͠ͳ͍ • ʮίʔϥΛҿΊʯʮϙοϓίʔϯΛ৯΂Ζʯͱ͍͏จࣈྻΛ ແҙࣝԼ (୹࣌ؒʹ܁Γฦ͠) Ͱఄࣔ -> αϒϦϛφϧޮՌ • Smarandescu & Shimp (2015) ͷݚڀͰ͸ɼ23 ms x 13 ճͷ ܹࢗఄ͕ࣔ௚ޙͷ঎඼બ୒ʹӨڹΛٴ΅͢͜ͱΛࣔͨ͠ɻ -> ͜ͷ࣌ɼ࣮ݧࢀՃऀͷશһ͕஌֮͠ͳ͔ͬͨ

Slide 24

Slide 24 text

2. ώτ͸஗Ԇͨ͠ϑΟʔυόοΫΛ ࣗ਎ͷߦಈͱೝࣝͰ͖Δ͔?

Slide 25

Slide 25 text

ೝࣝͰ͖Δ

Slide 26

Slide 26 text

• λονύωϧͷԁʹಛఆͷॱংͰλον͢Δͱ͓ۚͱަ׵ ՄೳͳϙΠϯτΛ֫ಘ • Okouchi (2009) ͷݚڀͰ͸ɼϙΠϯτ֫ಘʹ30ඵͷ ೝࣝͰ͖Δ ஗Ԇ͕͋ͬͯ΋൓ԠΛ֫ಘͨ͠

Slide 27

Slide 27 text

• λονύωϧͷԁʹಛఆͷॱংͰλον͢Δͱ͓ۚͱަ׵ ՄೳͳϙΠϯτΛ֫ಘ • Okouchi (2009) ͷݚڀͰ͸ɼϙΠϯτ֫ಘʹ30ඵͷ ೝࣝͰ͖Δ -> ಉछܹࢗͷ஗Ԇ͸൓ԠܭଌʹӨڹ͠ͳ͍ ஗Ԇ͕͋ͬͯ΋൓ԠΛ֫ಘͨ͠

Slide 28

Slide 28 text

·ͱΊ •λον౳ͷ൓Ԡݕग़͸஗ԆΛڐ༰ •ϑΟʔυόοΫ஗ԆΑΓλΠϚʔΛ༏ઌ -> ݕग़·Ͱ࠷େ 8.33 - 16.67 ms ͷ஗Ԇ -> ܭଌ஗Ԇ͸ 0.00005 ms -> දࣔ·Ͱ࠷େ 8.33 - 16.67 ms ͷ஗Ԇ

Slide 29

Slide 29 text

Swift ʹ͓͚Δܦա࣌ؒͷܭଌ

Slide 30

Slide 30 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ

Slide 31

Slide 31 text

ࢀߟ • iOS ͷ࣌ؒؔ਺ͷਫ਼౓ - Qiita @yamoridon • iOS Device Compatibility Reference - Apple Developer • Okouchi, H. (2009). Response acquisition by humans with delayed reinforcement. Journal of the Experimental Analysis of Behavior, 91(3), 377-390. • OperantChamberApp - App Store • Smarandescu, L., & Shimp, T. A. (2015). Drink coca-cola, eat popcorn, and choose powerade: testing the limits of subliminal persuasion. Marketing Letters, 26(4), 715-726. • YutoMizutani/OperantKit - GitHub