วันพุธที่ 4 มกราคม พ.ศ. 2555

เวลาตอบสนอง (response time)


วันนี้สอนเรื่องเวลาตอบสนอง (response time) ก็เลยอยากเอามาขยายความต่อสักนิดในบล๊อกครับ

response time คือเวลาที่ตั้งแต่ตอนที่อินพุตมาถึงระบบ จนกระทั่งถึงเวลาที่ผลลัพธ์ออกมาจากระบบ
ซึ่งโดยปรกติจะประกอบด้วยเวลาสองส่วน ซึ่งก็คือ เวลาในแถวคอย (queue time) และเวลาในการบริการ (service time)


response time = queue time + service time

ซึ่งการสร้างแบบจำลองเวลาลักษณะนี้สามารถใช้อธิบายได้กว้างขวางในงานประยุกต์ทั่วไป เช่น กรณีการคิดเงินในร้านซูเปอร์มาร์เก็ต สมมติว่าเราซื้อของมาเต็มรถ แล้วต้องการที่จะชำระเงินค่าสินค้า เราก็ต้องเข็นรถมาที่ ช่องเก็บเงิน ซึ่งถ้ามีคนที่เข้าแถวคอยก่อนหน้าเรา เราก็ต้องเริ่มนับเวลาการเข้าคิวตั้งแต่ตรงนั้น จนกระทั่้งแถวคอยสั้นลงเรื่อย จนถึงลำดับของเราในการรับบริการคิดเงิน การวัดเวลาในแถวคอยก็จะหยุดตรงนั้น และตำแหน่งนั้นก็เป็นตำแหน่งเริ่มของเวลาที่ใช้ในการบริการซึ่งจะสิ้นสุดเมื่อทอนตังค์เสร็จ พนักงานยกมือไหว้ลูกค้าแล้วก็แยกย้ายกันไป ทางใครทางมัน

ทีนี้ถ้าเราต้องการลดเวลาการตอบสนอง เราก็ต้องลดเวลาในแถวคอย และ/หรือ เวลาในการบริการ

ถ้าเราอยากลดเวลาในการบริการเราสามารถทำได้โดย
  1. ใช้วิธีการเดิมแต่เพิ่มประสิทธิภาพการทำงาน โดยฝึกหรือบังคับ ให้พนักงานทำงานเร็วขึ้น เช่น ให้จำราคาได้แม่นยำ หรือยิงบาร์โค้ดได้ด้วยความเร็วสูง ซึ่งวิธีนี้จะทำให้ error rate สูงตามไปด้วย และข้อจำกัดทางกายภาพก็ยังมีอยู่ดี
  2. เปลี่ยนขั้นตอนวิธีในการดำเนินการ เปลี่ยนเทคโนโลยีในการอ่านตะกร้ารถเข็น ว่ามีของอะไรอยู่บ้าง เช่นถ้าเปลี่ยนจากเครื่องอ่านบาร์โค้ดมาเป็นเครื่องอ่าน RFID ซึ่งอาจทำให้อ่านข้อมูลทั้งตะกร้ารถเข็นได้ใน ๑ วินาที อย่างไรก็ตามวิธีนี้เป็นวิธีที่ราคาต้นทุนสูง
อย่างไรก็ตามถ้าหากอัตราเร็วในการบริการคิดเงินจากสินค้ารถเข็นคันหนึ่งยังต่ำกว่าอัตราเร็วของการมาแสดงตัวของลุกค้าที่แถวคอย ก็จะมีแถวคอยปรากฏขึ้นเสมอ ซึ่งถ้าหากเราปรับแต่งกระบวนการให้บริการจนไม่สามารถทำให้ต่ำกว่านี้ได้แล้ว เช่นฝึกให้คิดเงินได้เร็วและใช้เทคโนโลยีในการคิดเงินแล้ว ก็ย่อมมีข้อจำกัดว่าไม่สามารถทำเวลาให้ต่ำกว่านี้ได้อีก

โดยปรกติ เนื่องจากเร่งอัตราเร็วการคิดเงินได้ การลดความยาวของแถวคอย ก็มักจะทำโดยเปิดช่องสำหรับชำระเงินค่าสินค้าเพิ่มซึ่งแน่นอนว่า เวลาให้บริการคงจะไม่ลดลง แต่แน่นอนว่าเวลาในแถวคอยลดลง

ลักษณะของการจัดแถวคอยก็มีหลายแบบ โดยปรกติ ตามซูเปอร์มาร์เก็ต จะมีแถวคอยหนึ่งแถวต่อผู้ให้บริการหนึ่งคน นึ่นก็คือเป็นการเพิ่มจำนวน server นั่นเอง อย่างไรก็ตาม จะพบว่าวิธีนี้ถ้าบังเอิญใครไปต่อคนที่มีปัญหา คนต่อก็จะคอยนานกว่าปรกติ แต่ถ้าในกรณีของธนาคาร เช่น ธ.ไทยพาณิชย์ จำกัด ซึ่งในแต่ละสาขาจะบริการลูกค้าให้ใช้เพียงแถวคอยกลางหนึ่งแถวแล้วคนที่อยู่ที่หัวคิว จะถูกส่งไปยังผู้ให้บริการที่ยังว่างอยู่ ซึ่งวิธีนี้จะช่วยให้ลูกค้าที่ต้องดำเนินการนานไม่เป็นปัญหาต่อบุคคลที่อยู่ด้านหลังของตนอีกต่อไป เพราะถ้าติดก็สามารถเปลี่ยนไปยังผู้ให้บริการคนที่ว่างแทนได้

แล้วทำไมซูเปอร์มาร์เก็ตจึงไม่ใช้แถวคอยแถวเดียวบ้างหละ คำตอบคือ กินพื้นที่คิวมากเกินไป

จริงๆแล้วการออกแบบแถวคอยมีประเด็นปลีกย่อยอีกเพียบให้เราไปศึกษาต่อเช่น ถ้ามีแถวคอยหลายแถวแล้วถ้าลูกค้ากระโดดจากแถวโน้นมาแถวนี้ จะเกิดอะไรขึ้น เป็นต้น

ทีนี้แนวคิดของ การเก็บเงินในซูเปอร์มาร์เก็ตก็สามารถนำมาประยุกต์ใช้กับงานอื่นๆเช่น การใช้ easy pass บนทางด่วนซึ่งเป็นการลด service time ของการเก็บเงินนั่นเอง ซึ่งจะเห็นได้ว่า ผู้ใช้ easy pass แม้อาจมี queue time อยู่บ้าง แต่การที่ service time ต่ำมาก ทำให้ queue time มีไม่มากนัก ซึ่งทำให้โดยรวมๆแล้ว response time จึงต่ำกว่าช่องจ่ายเงินสดมาก

ทำนองเดียวกัน ในการสร้าง web server ขนาดใหญ่ จะเห็นได้ว่าเราติดข้อจำกัดของ service time ของฮาร์ดดิสก์ซึ่งไม่สามารถทำให้เร็วกว่านี้ได้ด้วยเทคโนโลยีปัจจุบัน สิ่งที่เขาทำก็คือสร้าง web server ให้เป็นฟาร์ม แล้วกระจายโหลดไปเครื่องต่างๆ ทำให้ queue time ลดลง แม้ว่า service time จะไม่ลดลงก็ตาม

อย่างไรก็ตาม การวิเคราะห์อย่างละเอียดเพื่อให้เข้าใจถึงสมรรถนะของระบบสามารถทำได้โดยใช้การจำลองสถานการณ์ (simulation) ซึ่งจำเป็นมากสำหรับการออกแบบและพัฒนาะระบบคอมพิวเตอร์ต่างๆ

หวังว่าคงอ่านรู้เรื่องนะครับ เขียนตอนง่วงๆ

วันจันทร์ที่ 7 พฤศจิกายน พ.ศ. 2554

สรุปสั้นๆ ของน้ำท่วม ๒๕๕๔

ต้นฉบับพร้อมความเห็นใน Facebook

ข้อสรุป เหตุผลน้ำท่วม ๒๕๕๔

ขอสรุปสั้นสุด "ขาดธรรมาภิบาล"

แต่ถ้าจะขยายก็คือ
  • น้ำไม่ต่างจากปี ๒๕๓๘ (แต่ตอนนั้น ไม่มีการจัดการ ไม่มีคันกั้นมากมาย มันก็ไม่ได้เละเทะแบบนี้)
  • ให้ข่าวทุกวันว่าจัดการได้ (ดูเอาเองตามข้อเท็จจริง)
  • ปิดข้อเท็จจริงจนหยดสุดท้าย
  • ให้ข้อมูลโดยไร้หลักวิชาการ (เช่น "ผมเดาเอานะ...")
  • มีข้อมูลที่ดีพอต่อการตัดสินใจ แต่... (ตามเว็บกรมชล ก็ได้ข้อเท็จจริงตามนั้นจริงๆ แต่การจัดการก็นะ หน่อมแน้ม สุดๆ)
  • ให้ความสำคัญแก่นโยบายที่หาเสียงมากกว่าข้อเท็จจริง (ปล่อยน้ำเข้าทุ่งก่อนหน้านี้ ก็คงผิด concept "ลาก่อน น้ำท่วม น้ำแล้ง" ... ไม่อยากจะเดาว่าเดี๋ยวก็แล้งอีก ดูจาก performance รอบนี้)
  • บริหารจัดการโดยใช้อำนาจ ตามผลของฐานเสียง (ขาใหญ่สั่งห้ามท่วมที่โน่นที่นี่ จนทำอะไรไมได้)
  • ประเทศไร้ผู้นำที่เก่ง (มีแต่ผู้อยากนำ)

ทำไมวิศวกรคุยกะใครไม่รู้เรื่อง

ต้นฉบับเป็น Status Update ใน Facebook

วิศวกรคุยกับใครไม่รู้เรื่อง

จริงๆจั่วหัวไว้อย่างนั้นแหละครับ ไม่ได้หมายถึงวิศวกรอย่างเดียวหรอกครับ ทุกอาชีพที่คิดแต่มุมของตัวเองไม่มองจากมุมของคนอื่นก็เป็นแบบนี้เหมือนกันหมดแหละ ผมเขียนไว้ก่อนใน Facebook แต่จะเอามาเก็บไว้อ่านง่ายๆที่นี่ครับ

การพยากรณ์น้ำท่วม ให้ชาวบ้านฟัง ควรบอกเหมือนพยากรณ์อากาศในการบอกว่า อาจท่วมตรงไหน เท่าไร ด้วยโอกาสกี่เปอร์เซนต์

ไม่ใช่ใช้ ภาษาวิศวกร (เช่น โมเดล) และ อธิบายด้วย "กรณีเลวร้ายสุด" (ซึ่งมักใช้เฉพาะตอนออกแบบทางวิศวกรรม ที่ไม่ให้ตึกถล่ม เขื่อนพัง)

โดยแน่นอน เราต้องไม่ประมาทโดยใส่ใจสิ่งที่เลวร้ายที่สุด แต่การพยากรณ์จะต้องใช้ข้อมูลจากสถานการณ์ปัจจุบันที่เป็นไปได้มากที่สุดมา รายงาน

คิดดูเอานะว่า ถ้ากรมอุตุ บอกว่า "ฝนที่ตกอยู่เมื่อวานกลับทวีความรุนแรงเป็นไต้ฝุ่น" ถูกต้อง โอกาสมันเป็นไปได้ แต่มันมีโอกาสเท่าไรชาวบ้านก็จะคิดได้เอง แต่เรื่องน้ำท่วมชาวบ้านไม่มีข้อมููลนะ

หวังว่าจะแชร์กันไปถึง คนที่เขาพูดออกทีวีทุกวัน

Worst-case Scenario ของน้ำท่วมกรุงเทพ ๒๕๕๔

ต้นฉบับพร้อมข้อคิดเห็นของเพื่อนๆเขียนไว้ที่ Facebook วันที่ ๒๐ ตุลาคม ๒๕๕๔ ๑๑:๐๕ ... ก่อนที่น้ำจะท่วมกรุงเทพ

สถานการณ์ที่เลวร้ายสุดที่เป็นไปได้

ขอทำ worst-case scenario จากสถานการณ์ปัจจุบันนะครับ อ่านแล้วอย่าตระหนก แค่ให้คิดตามและป้องกัน มองโลกในทางที่ดี แต่ต้องไม่ประมาทต่อสถานการณ์ที่อาจเลวร้ายที่สุด ซึ่งเผื่อรัฐบาลยังจินตนาการถึง scenario นี้ ผมก็ขอช่วยคิดให้

สิ่งที่เลวร้ายที่สุดที่อาจเกิดขึ้น คือ ติด deadlock ครับ ซึ่งดูเหมือนกำลังจะเกิด เพราะ highway กำลังจะกลายเป็นที่จอดรถ และสะพานข้าม กทม ไปฝั่งตะวันตกขาดไปสองสะพานแล้ว (นนทบุรีและพระรามสี่) แถมไม่มีอะไรกินโดยเฉพาะน้ำสะอาด

ถ้าหากว่า ถ้ากรุงเทพเกิดเป็นเกาะขึ้นมาโดยถนนออกนอกเมืองเส้นสุดท้ายที่จะลงใต้หรือตะวันออกถูกตัดขาด อาหารจะส่งมาไม่ได้ ออกจากเกาะก็ไม่ได้ คนมาช่วยก็ไม่ได้ จริงๆแล้วคนจะมาช่วยก็แทบไม่มี

สิ่งที่เกิดขึ้นที่ New Orleans คือ คนตายไปร่วม ๒๐๐๐ จากการขาดอาหาร ที่พัก และน้ำสะอาด

ถ้าจะไม่ให้เกิดอย่างที่ว่า ต้องกันน้ำประปาให้ได้ และต้องเคลียร์ highway/สะพาน สำหรับลงใต้/ตะวันตก ให้มากพอที่จะขนคนออกจากกรุงเทพก่อนจะ panic สุดๆ

อีกที ไม่อยากให้ตระหนกนะครับ อยากให้มีสติกัน

นักวิชาการกับการชี้นำสังคมในปี ๒๕๕๔

ต้นฉบับพร้อมข้อคิดเห็นของเพื่อนๆ เขียนไว้ใน Facebook

เหตุผลที่นักวิชาการ "ตัวจริง" ไม่ค่อยอยากให้ข้อคิดเห็นเชิงสาธารณะ

  • คิดว่าให้ไปแล้วรัฐอาจไม่ฟัง แถมอาจจะโดนอาวุธหนักถล่ม
  • แห็นว่าพวกออกสื่อมีแต่ให้นักวิชาการที่ไม่รู้จริงแต่ลีลาดี เลยกลัวคนมือดีในวงการจะเหมารวมว่า "อยากดัง" ด้วย
  • มีชื่อเสียง เป็นภัยรูปแบบหนึ่ง สำหรับนักวิชาการ (ลองมองหาคนที่มีชื่อเสียงในมหาลัยและเก่งจริงในสาขาก็มีเยอะครับ เขาก็รู้มือกัน คนนอกต่างหากไม่รู้ แต่นักข่าวควรรู้)
  • เพราะรู้ทั้งรู้คนเก่งในหน่วยงานรัฐตัวจริงก็มีเยอะแยะ แต่พวกนั้นไม่ได้โต หรือไม่ใช่พวกนักการเมือง ไม่อยากข้ามหน้าคนที่ตนนับถือ
  • ยังจำเป็นต้องพึ่งพาจากหน่วยงานรัฐ ในโอกาสอื่น
  • เสนอข้อมูลให้คนเกษียณแล้วพูดแทน จะปลอดภัยกว่า
  • รู้ตัวว่าพูดไม่เก่ง เดี๋ยวชาวบ้านฟังไม่รู้เรื่อง
  • กลัวโดนจับเป็นแพะ
  • ให้น้ำหนักจรรยาบรรณมากเกินประโยชน์สาธารณะ เพราะไม่มั่นใจ ๑๐๐% ว่าสิ่งที่พูดจะเวิร์ค
  • ช่วยเบื้องหลังดีกว่า เพราะมักคิดว่าถ้าเห็นเรามีคุณค่าเขาก็มาเองแหละ
  • อีกที นักวิชาการไทยที่เก่งๆ คนวงในเขาก็รู้มือ งานก็เพียบ ช่วยงานประเทศชาติเบื้องหลังตลอด แต่สาธารณะไม่รู้
ตัวอย่างครับ เรื่อง EM Ball ช่วงน้ำท่วม ๒๕๕๔

    วันอังคารที่ 2 พฤศจิกายน พ.ศ. 2553

    แผนการสอน Information Theory

    204552 Information Theory and Coding

    Prerequisite

    None

    Schedule

    Tuesday 13-16; Section 11 (Room 501)

    Instructors

    Associate Professor Dr.Punpiti Piamsa-nga (pp@ku.ac.th)

    Course Description

    Mathematical model for information channel and sources, algebraic theory of cyclic codes, error-control procedures and circuits, and application of computer and data transmission systems.

    Grading

    Midterm (40  %)  Final (50 %)  Class participation (10%)

     

    Score<40
    F
    40< Score49
    D
    50< Score54
    D+
    55< Score64
    C
    65< Score69
    C+
    70< Score74
    B
    75< Score79
    B+
    Score > 80
    A

    Textbook

    Thomas M. Cover, Joy A. Thomas, Elements of Information Theory, 2nd Edition ISBN: 978-0-471-24195-9, 776 pages July 2006, ©2006

    (Required)
    Escolano Ruiz, Francisco, Suau Pérez, Pablo, Bonev, Boyán Ivanov, Information Theory in Computer Vision and Pattern Recognition 2nd Printing., 2009, XVIII, 394 p.  ISBN: 978-1-84882-296-2

    Readings

    Research papers distributed in class

     

    Schedule

    #
    Date
    Lectures
    1
    Nov 2
    Entropy, Relative Entropy, and Mutual Information
    2
    Nov 9
    Asymptotic Equipartition Property
    3
    Nov 16
    Entropy Rates of a Stochastic Process
    4
    Nov 23
    Data Compression
    5
    Nov 30
    Gambling and Data Compression
    6
    Dec 7
    Channel Capacity
    7
    Dec 14
    Differential Entropy

    Dec 21
    Midterm
    8
    Dec28
    Gaussian Channel
    9
    Jan 4
    Rate Distortion Theory
    10
    Jan 11
    Information Theory and Statistics
    11
    Jan 25
    Maximum Entropy
    12
    Feb 1
    Universal Source Coding (Kaset Fair Week)
    13
    Feb 8
    Kolmogorov Complexity
    14
    Feb 15
    Network Information Theory
    15
    Feb 22
    Information Theory and Portfolio Theory

    วันพุธที่ 6 ตุลาคม พ.ศ. 2553

    Final Exam: Computer Human Interfaces 1/2010 (CPE)


    Instructions
    • Write your answer in either Thai or English.
    • Closed book!
    • Closed note!
    • There are 8 questions. Each has 10 scores. Answer all questions in given exam booklets. Do them all. (totally, 40% of the class evaluation)

    Guidelines for answering the questions

    • You obviously need your common senses to answer the exam.  However, even though you have a good one, it is not enough to get scores.
    • References, evidences, causes, rules, laws, theories, and your justifications are supposed to be mentioned. 
    • Any design scripts without good explanation will not get good scores.
    • You should include an example as part of your answer in an appropriate application of your choice (if not specified).
    • Read the question carefully!

    Exam


    1. Information search is one of the most important parts of websites. Explain the general framework of the search mechanism. 
    2. How can we search information of multimedia documents?  What are the challenges?
    3. What parts of DBMS play an important role in information search?  And, what parts they cannot do?
    4. What are the challenges for information visualization?
    5. Supposedly, you are an academic adviser of KU.  You have to supervise many students who may take different courses, get different grades, and stay in different statuses (normal, probation, retried, possibly honors, graduated, graduated with honor).  Design information visualization system in order to ease the supervising task for you (as an adviser.)
    6. If you have to design a cell phone, explain the impact of response time to the design of user interface and the satisfaction of users’.
    7. Design a job resume for yourself in order to get a position of a computer engineer.  Make a good field layout and write excellent resume content.  Explain what your future boss will think about your resume. You can put false (looks likely to be true) information in order to make your resume look very attractive but you have to underline it.
    8. In class, you have experience in mocking up your only own design (such as keyboard) and building only familiar scenarios (such as university registration).  If you are an engineer who is assigned to design a user-interface of an information system that you have never had experiences before, what you would make your own project is successfully done and how you would assess the project results.  

    -END -