pythainlp/thai_wikipedia_clean_20230101 huggingface dataset:
เมื่อเวลา 09.00 น. ตรง พลเอกลอยด์ แมตทิวส์สั่งการให้เรืออังกฤษเริ่มระดมยิง เวล 09.02 น. เรือแรคคูน ทรูช สแพร์โรว เปิดฉากยิงไปยังพระราชวังอย่างพร้อมเพรียงกัน ปืนใหญ่นัดแรกของเรือทรูชทำให้ปืนใหญ่วิถีราบอาหรับขนาด 12 ปอนด์ใช้การไม่ได้ทันที ฝ่ายตั้งรับ บ่าวและทาสจำนวน 3,000 คนอยู่ในพระราชวังที่สร้างจากไม้เป็นส่วนใหญ่ และมีสิ่งกีดขวางเป็นกล่องลัง หีบห่อและยาง มีกำลังพลสูญเสียจำนวนมากจากกระสุนระเบิดแรงสูง แม้มีรายงานเบื้องต้นว่า สุลต่านคาลิดถูกจับได้และถูกเนรเทศไปยังอินเดีย แต่สุลต่านคาลิดเสด็จหนีออกจากพระราชวัง ผู้สื่อข่าวรอยเตอร์รายงานว่า สุลต่าน "เสด็จหนีไปตั้งแต่กระสุนนัดแรก พร้อมกับชาวอาหรับผู้นำ ทิ้งให้ทาสและผู้ติดตามของพวกเขาสู้รบต่อไป" แต่แหล่งข้อมูลอื่นแถลงว่า พระองค์ประทับอยู่ในพระราชวังนานกว่านั้น การระดมยิงสิ้นสุดเมื่อเวลาประมาณ 09.40 น. ซึ่งเมื่อถึงเวลานั้น พระราชวังและฮาเร็มที่อยู่ติดกันเกิดเพลิงไหม้ ปืนใหญ่ฝ่ายแซนซิบาร์เงียบเสียง และธงสุลต่านโค่นลง
ระหว่างการระดมยิง เกิดการรบปะทะนาวิกขนาดเล็ก เมื่อเวลา 9.05 น. เรือกลาสโกว์ที่ล้าสมัยแล้วเปิดฉากยิงใส่เรือเซนต์จอร์จโดยใช้ปืนใหญ่ขนาด 9 ปอนด์ 7 กระบอก และปืนแก็ตลิงซึ่งเป็นของขวัญจากสมเด็จพระราชินีวิกตอเรียถึงสุลต่าน การยิงตอบโต้ทำให้เรือกลาสโกว์อับปาง แต่เนื่องด้วยน้ำในอ่าวตื้นทำให้เสากระโดงยังโผล่พ้นน้ำ ลูกเรือเรือกลาสโกว์ยกธงอังกฤษเป็นสัญญาณยอมจำนน และพวกเขาทั้งหมดได้รับการช่วยเหลือจากกะลาสีอังกฤษในเรือบด เรือทรูชยังจมเรือยนต์ไอน้ำของแซนซิบาร์ลงอีกสองลำ เพราะลูกเรือแซนซิบาร์ยิงปืนเล็กยาวใส่เรือทรูช มีการสู้รบภาคพื้นดินบ้าง เมื่อคนของสุลต่านคาลิดยิงใส่ทหารอัสคารีของไรคีส เมื่อทหารอัสคารีเคลื่อนพลเข้าใกล้พระราชวัง แต่ได้ผลเล็กน้อย การสู้รบยุติลงเมื่อหยุดระดมยิง อังกฤษเข้าควบคุมเมืองและพระราชวัง ตกบ่าย ฮามัด บิน มุฮามเม็ด ชาวอาหรับที่อังกฤษนิยม ได้รับการสถาปนาเป็นสุลต่านโดยมีพระราชอำนาจลดลงมาก เรืออังกฤษและลูกเรือยิงกระสุนปืนใหญ่ไปประมาณ 500 นัด กระสุนปืนกล 4,100 นัด และกระสุนปืนเล็กยาว 1,000 นัดระหว่างการรบปะทะ
ชายหญิงแซนซิบาร์ราว 500 คนเสียชีวิตหรือได้รับบาดเจ็บระหว่างการระดมยิง ส่วนใหญ่เสียชีวิตเพราะเพลิงที่ลุกไหม้พระราชวัง ไม่ทราบว่าผู้เสียชีวิตและได้รับบาดเจ็บเหล่านี้เป็นพลรบมากเท่าใด แต่กล่าวกันว่าพลปืนใหญ่ของสุลต่านคาลิด "เสียชีวิตไปมาก" กำลังพลสูญเสียฝ่ายอังกฤษมีหนึ่งนาย เป็นจ่าบนเรือทรูชซึ่งได้รับบาดเจ็บสาหัส ภายหลังหายเป็นปกติ แม้ชาวเมืองแซนซิบาร์ส่วนใหญ่จะเข้าข้างอังกฤษ แต่ย่านคนอินเดียของเมืองกลับถูกฉวยโอกาสปล้น และผู้อยู่อาศัยราวยี่สิบคนเสียชีวิตไปในความวุ่นวาย ทหารซิกอังกฤษ 150 นายถูกย้ายจากเมืองมอมบาซามาลาดตระเวนตามท้องถนน เพื่อฟื้นฟูความสงบเรียบร้อย กะลาสีจากเรือเซนต์จอร์จและเรือฟิโลเมลขึ้นบกเพื่อตั้งกองดับเพลิงเพื่อจำกัดเพลิงที่ลุกลามจากพระราชวังไปยังอาคารตรวจสอบทางศุลกากร (customs shed) ที่อยู่ใกล้เคียง มีความกังวลอยู่บ้างเกี่ยวกับเพลิงที่อาคารตรวจสอบทางศุลกากร เพราะมีวัตถุระเบิดเก็บไว้จำนวนหนึ่ง แต่โชคดีที่ไม่เกิดการระเบิดขึ้น
สุลต่านคาลิด ร้อยเอกซาเลห์ และผู้ติดตามอีกประมาณ 40 คนลี้ภัยในสถานกงสุลเยอรมนีหลังการหลบหนีจากพระราชวัง โดยมีกะลาสีและนาวิกโยธินเยอรมันติดอาวุธสิบนายคอยพิทักษ์ ขณะที่แมตทิวส์ประจำคนอยู่ข้างนอกเพื่อจับกุมหากพวกเขาพยายามหลบหนี แม้มีการขอส่งผู้ร้ายข้ามแดน แต่กงสุลเยอรมันปฏิเสธไม่ส่งองค์สุลต่านคาลิดให้แก่อังกฤษ เพราะตามสนธิสัญญาส่งผู้ร้ายข้ามแดนระหว่างแซนซิบาร์และอังกฤษนั้นเจาะจงยกเว้นนักโทษการเมือง กงสุลเยอรมันสัญญาว่าจะนำองค์สุลต่านคาลิดไปยังแอฟริกาตะวันออกของเยอรมนีแทน โดยมิให้พระองค์ "เหยียบแผ่นดินแซนซิบาร์" เมื่อเวลา 10.00 น. ของวันที่ 2 ตุลาคม เรือหลวงเซอัดเลอร์ (SMS "Seeadler") แห่งกองทัพเรือเยอรมันเดินทางถึงท่า เมื่อเวลาน้ำขึ้น เรือเล็กลำหนึ่งของเซอัดเลอร์สามารถแล่นมาถึงประตูสวนของสถานกงสุลได้ และคาลิดเดินทางพื้นที่สถานกงสุลไปยังเรือรบเยอรมันทันที จึงปลอดการจับกุม เขาถูกย้ายจากเรือเล็กสู่เรือเซอัดเลอร์และนำไปยังเมืองดาร์ เอส ซาลาม (Dar es Salaam) ในแอฟริกาตะวันออกของเยอรมนี คาลิดถูกกองกำลังอังกฤษจับกุมใน ค.ศ. 1916 ระหว่างการทัพแอฟริกาตะวันออกในสงครามโลกครั้งที่หนึ่ง และถูกเนรเทศไปยังเซเชลส์และเซนต์เฮเลนาก่อนได้รับอนุญาตให้กลับแอฟริกาตะวันออก เขาเสียชีวิตที่เมืองบอมบาซาใน ค.ศ. 1927 ผู้สนับสนุนคาลิดถูกลงโทษโดยถูกบังคับให้จ่ายค่าปฏิกรรมให้ครอบคลุมค่ากระสุนปืนใหญ่ที่ยิงใส่พวกเขา และสำหรับความเสียหายอันเกิดจากการปล้นซึ่งคิดเป็นมูลค่า 300,000 รูปี
สุลต่านฮามัดนั้นภักดีต่ออังกฤษและประพฤติตนเป็นหุ่นเชิดของรัฐบาลซึ่งแท้จริงแล้วอังกฤษเป็นผู้ดำเนินงาน อังกฤษยังคงรัฐสุลต่านไว้เพียงเพื่อเลี่ยงค่าใช้จ่ายของการบริหารแซนซิบาร์เป็นมกุฎราชอาณานิคม (crown colony) โดยตรง หลายเดือนให้หลังสงคราม สุลต่านฮามัด ด้วยการกระตุ้นของอังกฤษ ทรงเลิกความเป็นทาสในทุกรูปแบบ การเลิกทาสกำหนดให้ทาสต้องแสดงตนที่สำนักงานรัฐบาล และพิสูจน์ด้วยกระบวนการอันเชื่องช้า ภายในสิบปี มีทาสถูกปล่อยเป็นไทเพียง 17,293 คน จากที่ประมาณไว้ 60,000 คน ใน ค.ศ. 1891
สงครามทำให้กลุ่มอาคารพระราชวังที่ได้รับความเสียหายอย่างรุนแรงเปลี่ยนไปอย่างสิ้นเชิง ฮาเร็ม ประภาคาร และพระราชวังถูกทำลายจากการระดมยิง ทำให้ไม่ปลอดภัย ที่ตั้งพระราชวังกลายเป็นสวน ขณะที่พระราชวังหลังใหม่ถูกสร้างเหนือที่ตั้งฮาเร็ม House of Wonder แทบไม่ได้รับความเสียหาย และภายหลังเป็นสำนักงานเลขานุการหลักของทางการอังกฤษ ระหว่างการบูรณะ House of Wonder ใน ค.ศ. 1897 หอนาฬิกาถูกสร้างเพิ่มด้านหน้าอาคารแทนประภาคารที่ถูกทำลายไปในการระดมยิง ซากเรือกลาสโกว์ยังคงอยู่ในท่าเรือด้านหน้าพระราชวัง ด้วยเป็นบริเวณน้ำตื้น ทำให้เสากระโดงเรือยังสามารถมองเห็นได้อีกหลายปีต่อมา กระทั่งถูกทำลายเป็นเศษเล็กเศษน้อยในที่สุด เมื่อ ค.ศ. 1912
ผู้นำฝ่ายอังกฤษในเหตุการณ์ได้รับการยกย่องอย่างสูงจากรัฐบาลในกรุงลอนดอนและแซนซิบาร์สำหรับการกระทำของพวกเขาทั้งก่อนและระหว่างสงคราม และหลายคนได้รับรางวัลการแต่งตั้งและเกียรติยศ พลเอกไรคีส ผู้นำทหารอัสคารี ได้รับเครื่องราชอิสริยาภรณ์ Order of the Brilliant Star of Zanzibar ชั้นที่หนึ่ง (ระดับสอง) เมื่อวันที่ 24 กันยายน ค.ศ. 1896 เครื่องราชอิสริยาภรณ์ Order of Hamondieh ชั้นที่หนึ่ง ของแซนซิบาร์ เมื่อวันที่ 25 สิงหาคม ค.ศ. 1897 และภายหลังได้รับการแต่งตั้งเป็นผู้บัญชาการกองทัพแซนซิบาร์ พลเอกแมตทิวส์ ผู้บัญชาการกองทัพแซนซิบาร์ ได้รับเครื่องราชอิสริยาภรณ์ Grand Order of Hamondieh ในวันที่ 25 สิงหาคม ค.ศ. 1897 และกลายเป็นนายกรัฐมนตรีและขุนคลังของรัฐบาลแซนซิบาร์ บาซิล เคฟ กงสุล ได้รับเครื่องราชอิสริยาภรณ์ Companion of the Order of the Bath เมื่อวันที่ 1 มกราคม ค.ศ. 1897 และได้รับเลื่อนตำแหน่งเป็นกงสุลใหญ่ในวันที่ 9 กรกฎาคม ค.ศ. 1903 แฮร์รี รอว์ซันได้รับเครื่องราชอิสริยาภรณ์ Knight Commander of the Order of the Bath สำหรับผลงานในแซนซิบาร์ และภายหลังเป็นผู้ว่าการรัฐนิวเซาท์เวลส์ในออสเตรเลีย และได้รับการเลื่อนยศเป็นพลเรือเอก รอว์สันยังได้รับเครื่องราชอิสริยาภรณ์ Order of the Brilliant Star of Zanzibar ชั้นที่หนึ่ง ในวันที่ 8 กุมภาพันธ์ ค.ศ. 1897 และ Order of Hamondieh ในวันที่ 18 มิถุนายน ค.ศ. 1898
อาจเป็นเพราะแสนยานุภาพของกองทัพเรืออังกฤษที่แสดงให้เห็นในระหว่างการระดมยิง ส่งผลให้ไม่มีการกบฏต่อต้านอิทธิพลของอังกฤษอีกใน 67 ปีที่เหลือในฐานะรัฐในอารักขา สงครามครั้งนี้ ซึ่งกินเวลาราว 40 นาที ได้รับการพิจารณาว่าเป็นสงครามที่สั้นที่สุดในประวัติศาสตร์
ระยะทางเลเวนชเตย์น
Levenshtein edit distance เป็นขั้นตอนวิธีการวัดหาค่าความต่างกันของสายอักขระสองชุด ระหว่างชุดแรกที่เป็นต้นแบบ และ ชุดที่สองที่เป็นชุดเปรียบเทียบ โดยค่าความต่างกันจะวัดจากจำนวนของการที่จะต้องทำการตัดออก แทรก และแทนที่ อักขระในชุดที่นำมาเปรียบเทียบจนกระทั่งมีลักษณะเหมือนชุดอักขระที่เป็นต้นแบบทุกประการ ขั้นตอนวิธีการวัดใช้กำหนดการพลวัตในการแก้ปัญหา
Levenshtein Edit Distance ถูกตั้งชื่อตามนักวิทยาศาสตร์ชาวรัสเซีย Vladimir Levenshtein ซึ่งเป็นผู้ปรับปรุงชุด Algorithms นี้ในปี ค.ศ. 1965 และเป็นส่วนหนึ่งในรางวัล IEEE Rechard W. Hamming Medal ที่เขาได้รับในปี ค.ศ. 2006
ขั้นตอนวิธีการนี้จะเป็นการนำชุดอักขระ 2 ชุด มาเปรียบเทียบจำนวนความแตกต่างกัน โดยจะพิจารณาดังนี้
int LevenshteinDistance(char s[1..m], char t[1..n])
// สำหรับทุกๆค่า i และ j, d[i,j] จะแสดงค่าความแตกต่างระหว่างอักขระ i ตัวแรกของ s และ อักขระ j ตัวแรกของ t สังเกตว่า แถวลำดับ d จะมีขนาด (m+1)x(n+1)
declare int d[0..m, 0..n]
for i from 0 to m
d[i, 0] := i // ค่าความแตกต่างระหว่างข้อความแรกใดๆ กับ ข้อความที่สองที่ว่างเปล่า
for j from 0 to n
d[0, j] := j // ค่าความแตกต่างระหว่างข้อความที่สองใดๆ กับ ข้อความแรกที่ว่างเปล่า
for j from 1 to n
for i from 1 to m
if s[i] = t[j] then
d[i, j] := d[i-1, j-1] // พิจารณาตัวถัดมา
d[i, j] := minimum
d[i-1, j] + 1, // การตัดออก
d[i, j-1] + 1, // การแทรก
d[i-1, j-1] + 1 // การแทนที่
return d[m,n]
จากตัวอย่างจะเห็นว่า คำว่า algorithm และ คำว่า method มีค่าความต่างกันอยู่คือ 8 โดยได้มาจาก
ดั้งนั้น จะต้องดำเนินการทั้งหมด 8 ครั้ง จึงมีค่าความต่างกันอยู่ 8
การพิสูจน์ความถูกต้อง.
เราสามารถแปลงชุดอักขระเริ่มต้น s[1..i] เป็นชุดอักขระเปรียบเทียบ t[1..j] โดยใช้จำนวนครั้งในการกระทำคือ d[i,j] ซึ่งเป็นจำนวนครั้งของการกระทำที่น้อยที่สุด สามารถแสดงการพิสูจน์ความถูกต้องได้ดังนี้
Levenshtein Edit Distance ถูกใช้ในการตรวจคำสะกด พิสูจน์ประโยคข้อความ วิเคราะห์รหัสพันธุกรรม ตรวจสอบการคัดลอกข้อความ และ อื่นๆอีกมากมาย เช่น
วปรอ. 4010
Lagged Fibonacci Generator
Lagged Fibonacci generator (LFG) เป็นตัวอย่างหนึ่งของ pseudorandom number generator ( ซึ่งเป็นหนึ่งในคลาสของ random number generator ) ในคลาสของ random number generator นั้นมีเป้าหมายเพื่อที่จะ ปรับปรุงและพัฒนาบนพื้นฐานของ linear congruential generator ซึ่งทั้งหมดเหล่านี้ก็อยู่บนพื้นฐานของ ลำดับของ Fibonacci ( Fibonacci Sequence )
ลำดับของ Fibonacci สามารถเขียนอยู่ในรูปแบบ ของความสัมพันธ์แบบเวียนเกิด ( recurrence relation ) ได้ดังนี้
" Sn = Sn − 1 + Sn − 2"
จากความสัมพันธ์ที่เขียนอยู่ในรูปสมการ ข้างต้นนั้น จะเห็นได้ว่า พจน์ใหม่เกิดขึ้นจาก ผลรวมของสองพจน์ก่อนหน้ในลำดับ ซึ่งเราสามารถทำให้อยู่ในรูปแบบของลำดับทั่วไปได้ดังนี้
Sn = Sn-j * Sn-k ( mod m ), 0&lt;j&lt;k
จากลำดับที่แสดงนี้จะเห็นได้ว่า พจน์ใหม่ที่เกิดขึ้น มาจาก สองพจน์ใดๆก่อนหน้า มากระทำการทางคณิตศาสตร์
อธิบายจากสมการของลำดับทั่วไปด้านบน
- m คือตัวแปรที่ โดยส่วนใหญ่จะอยู่ในรูปของ ยกกำลังของ 2 (m = 2m; ตัวอย่างเช่น 232 หรือ 264)
- * คือเครื่องหมายตัวกระทำการ ที่ใช้ในระบบของเลขฐานสอง ซึ่งอาจจะเป็นเครื่องหมาย การบวก ,การลบ,การคูณ หรือเครื่องหมายทางตรรกศาสตร์ เช่น XOR ( Exclusive-OR)
จะเห็นได้ว่าจากทฤษฎีนี้ค่อนข้างจะซับซ้อน และ การที่จะเลือกค่าสุ่มของ j และ k ก็ไม่ใช่เรื่องที่ง่ายนัก และยังมีแนวโน้มที่จะเกิดความยุ่งยากได้ง่ายอีกด้วย
ถ้าเครื่องหมาย * เป็นการบวก เราก็จะเรียกว่า Additive Lagged Fibonacci Generator หรือ ALFG
ถ้าเครื่องหมาย * เป็นการคูณ เราก็จะเรียกว่า Multiplicative Lagged Fibonacci Generator หรือ MLFG
ถ้าเครื่องหมาย * เป็น XOR เราก็จะเรียกว่า Two-tap generalised feedback shift register or GFSR ( ซึ่ง Mersenne twister algorithm ก็ใช้ GFSR ในขั้นตอนของการแก้ปัญหา )
คุณสมบัติของ lagged Fibonacci generators.
Lagged Fibonacci generators นั้นมีข้อจำกัดของค่าที่มากที่สุดคือ (2k - 1)*2M-1 ถ้าเป็นในกรณีของการบวก และการลบ และ (2k-1)*k ถ้าเป็นการ XOR กันของค่าใดๆก่อนหน้า ส่วนช่วงของการคูณนั้น คือ (2k - 1)*2M-3 หรือ 1/4 ของการบวกนั่นเอง
เพื่อความง่ายต่อการเข้าใจของค่าสูงสุด สามารถเขียนอยู่ในรูปพหุนามได้ดังนี้
จากสมการพุนามเบื้องต้นต้องเป็นเลขจำนวนเต็มที่ mod ด้วยสอง ส่วนค่าของ j และ k ที่เป็นที่นิยมใช้กันและถูกตีพิมพ์ลงในตำราทางวิชาการ เช่น
จะเห็นได้ว่าจำนวนที่มีขนาดเล็กจะมีช่วงที่สั้น ( จะมีเพียงไม่กี่จำนวนที่เป็นจำนวนทสุ่มที่ถูกสร้างขึ้น ก่อนจำนวนสุ่มตัวแรกที่จะนำมาใช้อีกในลำดับใหม่)
มันเป็นสิ่งที่จำเป็นที่อย่างน้อยหนึ่งค่าของค่า k ตัวแรกที่ถูกเลือกเพื่อเป็นค่าเริ่มต้นเป็นจำนวนคี่
ค่าอัตราส่วนระหว่าง j และ k ที่ควรจะอยู่ในช่วงของ "อัตราส่วนทอง (golden ratio.)"
ปัญหาของ LFGs.
การเริ่มต้นของปัญหา LFG นั้นค่อนข้างจะซับซ้อน และช่วงของค่าสูงสุดใดๆของ LFG มีจำนวนของลำดับที่เป็นไปได้ที่แตกต่างกันมากมาย แต่วิธีการทำเช่นนี้อาจจะเป็นผลเสียของผลที่เกิดขึ้นตามมา อีกประการหนึ่งค่าผลลัพธ์ที่เกิดขึ้นของลำดับ LFG ค่อนข้างจะไวต่อเงื่อนไขเริ่มต้น รวมถึงข้อบกพร่องทางสถิติที่อาจเกิดขึ้น แต่ก็เกิดขึ้นเป็นบางช่วงของผลลัพธ์ของลำดับ เว้นแต่จะมีการรองรับที่จะแก้ไขปัญหาที่อาจเกิดขึ้น อีกปัญหาที่อาจเกิดขึ้นกับ LFGs เป็นที่ทฤษฎีทางคณิตศาสตร์ที่ไม่สมบูรณ์ทำให้มันจำเป็นที่จะต้องพึ่งพาการทดสอบทางสถิติมากกว่าประสิทธิภาพทางทฤษฎี ด้วยเหตุผลเหล่านี้ รวมทั้งมี ขั้นตอนวิธีของ Mersenne twister ( Mersenne twister algorithm ) ที่มีประสิทธิภาพจึงมีแนวโน้มที่ขั้นตอนวิธีอื่นที่เหนือกว่าจะถูกเลือก
รหัสเทียมของ LFGs.
เป็นตัวอย่างของรหัสในภาษา C++ ;
sub lfib{
my ($m, $r, $k, $op, $seed) = @_;
my (@x, $i);
srand($seed ||time); #initialise state with rand
for (0 .. $r){
push @x, int(rand($m));
my $fn = "sub {
\$i = (\$i + 1) % $r;
\$x[\$i] = (\$x[\$i] $op \$x[(\$i-$k) % $r]) % $m;
(shift || 1.0) * \$x[\$i] / $m;
}\n";
return eval($fn);
$rand = lfib(2**48, 607, 273, '+'); #additive LFib, period 2 ** 638
$rand2 = lfib(2**64, 1279, 861, '*');#multiplicative LFib, period 2 ** 1340
print &amp;$rand(100) . "\n" . &amp;$rand2 ."\n";
ตัวอย่างของรหัสในภาษาจาวา
public int getRandom{
Random generator = new Random;
int j = generator.nextInt(90);
int k = generator.nextInt(90);
int max = Math.max(j, k);
int min = Math.min(j, k);
//Fibo is an array that contain Fibonacci's serie
long rnd = (fibo[min] + fibo[max])%6 + 1;
return (int)rnd;
http://neohumanism.org/l/la/lagged_fibonacci_generator.html
ปลาโลมาน้อย
ปลาโลมาน้อย หรือ ปลาโลมาน้ำจืด หรือ ปลางวงช้างจมูกสั้น  เป็นปลาน้ำจืดชนิดหนึ่ง มีชื่อวิทยาศาสตร์ว่า "Mormyrus kannume" อยู่ในวงศ์ปลางวงช้าง (Mormyridae)
มีรูปร่างเรียวยาว มีสีลำตัวเป็นสีน้ำตาลดำอมน้ำเงิน ตามีขนาดเล็กมาก มีลักษณะเด่น คือ บริเวณส่วนจมูกหรือจะงอยปากจะทู่สั้นกว่าปลาจำพวกเดียวกันสกุลอื่น ๆ ในวงศ์เดียวกัน โดยที่ยังเป็นปลาวัยอ่อนส่วนจมูกจะสั้นและหนามากจนแทบมองไม่เห็น แต่จะยาวขึ้นเรื่อย ๆ เมื่อปลาโตขึ้น แต่รูปร่างจะผอมเพรียว แต่ก็ยังสั้นและหนาอยู่ดี โดยที่ปากมีขนาดเล็กและอยู่สุดปลายของจะงอยปากที่งองุ้มลงด้านล่าง ครีบหลังยาวติดต่อกันจนถึงโคนครีบหาง โคนครีบหางยาว ครีบหางยาวแยกเป็น 2 แฉก
มีขนาดเมื่อโตเต็มที่ได้ถึง 1 เมตร นับว่าเป็นปลาที่มีขนาดใหญ่มากชนิดหนึ่งของวงศ์นี้ เป็นปลาที่หากินในเวลากลางคืน หากินตามพื้นท้องน้ำ โดยใช้กระแสไฟฟ้าอ่อน ๆ ที่ปล่อยออกมาช่วยนำทางแทนตาซึ่งใช้การได้ไม่ดี กินอาหารจำพวก ไส้เดือนน้ำหรือหนอนแดงหรือสัตว์น้ำขนาดเล็กต่าง ๆ รวมถึงปลาหมอสีที่มีอยู่ดาษดื่นในถิ่นที่อยู่ ในเวลากลางคืน โดยอาจจะรวมตัวกันเป็นฝูงเล็ก ๆ ออกล่าอาหารร่วมกัน พบกระจายพันธุ์ในทวีปแอฟริกา เช่น ทะเลสาบวิกตอเรีย, ทะเลสาบคโยกา, ทะเลสาบมาลาวี, ทะเลสาบแทนกันยีกา, ลุ่มแม่น้ำไนล์ และแม่น้ำอติ ในประเทศเคนยา
เป็นปลาที่ใช้บริโภคกันในท้องถิ่น และนิยมเลี้ยงกันเป็นปลาสวยงาม เป็นที่นิยมอย่างมากเนื่องจากเป็นปลาที่ไม่ก้าวร้าวต่างกับปลาขนาดใหญ่ชนิดอื่นในวงศ์เดียวกัน อีกทั้งยังมีพฤติกรรมชอบเคลื่อนย้ายสิ่งของต่าง ๆ ในที่เลี้ยงด้วยการใช้ส่วนหัวดัน หรือเล่นลูกบอลที่ลอยเหนือน้ำได้ด้วย และเชื่องกับผู้เลี้ยงได้เมื่อคุ้นเคยกันดีแล้ว ซึ่งพฤติกรรมการแสดงออกที่แสนรู้เช่นนี้ประกอบกับส่วนหัวที่แลดูคล้ายโลมา ซึ่งเป็นสัตว์เลี้ยงลูกด้วยนมในทะเล จึงทำให้เป็นที่มาของชื่อสามัญที่ใช้เรียกขานกัน
Mormyrus kannume
ปลางวงช้างจมูกสั้น
ปลาโลมาน้ำจืด
Communications-enabled application
communications-enabled application (CEA) ประกอบด้วย ชุดขององค์ประกอบของเทคโนโลยีสารสนเทศ (IT) และองค์ประกอบของเทคโนโลยีการสื่อสารที่รวมเข้าด้วยกันในรูปแบบเฉพาะ ด้วยระบบ service-oriented architecture (SOA) เพื่อใช้ให้เกิดประโยชน์ในการเพิ่มผลิตผลให้กับองค์กร หรือพัฒนาปรับปรุงประสบการณ์ทำงานของผู้ใช้งาน
การสื่อสาร หรือ communication enablement จะเพิ่มฟังก์ชันการปฏิบัติงานแบบเครือข่าย real-time networking เข้าไปใน ระบบโปรแกรมประยุกต์หรือ IT application เพื่อใช้สนับสนุนประสิทธิภาพในการสื่อสารไปยัง ระบบแอปพลิเคชันดังกล่าว
การค้นหาเพื่อนบ้านใกล้สุด
การค้นหาเพื่อนบ้านที่ใกล้ที่สุด  เป็นที่รู้จักในนามอื่น ๆ อาทิ การค้นหาความใกล้ชิด การค้นหาความคล้ายคลึง หรือการค้นหาจุดที่ใกล้ที่สุด เอ็นเอ็นเอส คือ เทคนิคที่ใช้ในการแก้ปัญหาที่ใช้สำหรับหาจุดที่ใกล้ที่สุดในปริภูมิเมทริกซ์ ยกตัวอย่างจากโจทย์ต่อไปนี้ เมื่อให้เซต S คือเซตของจุดในปริภูมิเมทริกซ์ M และ จุดที่กำหนด q ∈ M ต้องการหาจุดที่ใกล้ที่สุดของ S กับ q ในหลายกรณี M นั้นจะถูกแทนค่าเป็นมิติในปริภูมิของยูคลิด และระยะทางนั้นสามารถวัดได้จากระยะทางยูคลิด หรือ ระยะทางแมนฮัตตัน
ในหนังสือของ โดนัลด์ คนูธ เล่มที่สามที่มีชื่อว่า The Art of Computer Programming เรียกโจทย์ปัญหาแบบนี้ว่า ปัญหาไปรษณีย์ โดยอ้างอิงถึงระบบการแนะนำผู้อยู่อาศัยเกี่ยวกับไปรษณีย์ที่ใกล้ที่สุด
เอ็นเอ็นเอสได้ถูกนำไปใช้ในการแก้ปัญหาและตอบโจทย์ในหลายๆด้าน อาทิเช่น
มีหลายวิธีการที่สามารนำไปใช้ในการค้นหาคำตอบสำหรับโจทย์เอ็นเอ็นเอส ได้ถูกคิดต้นขึ้น ค่าประสิทธิภาพของแต่ละวิธีนั้นสามารถหาได้จากเวลาและความซับซ้อนของโครงสร้างข้อมูลที่ถูกบันทึกไว้ การสังเกตอย่างไม่เป็นทางการ หรืออีกชื่อหนึ่งว่าคำสาปของมิติ(curse of dimensionality) กล่าวว่าไม่มีผลลัพธ์ของจุดประสงค์ได้อย่างชัดเจนสำหรับเอ็นเอ็นเอสในปริภูมิของยูคลิดที่มีมิติสูงๆ โดยการใช้การแก้สมการทีมีมากกว่าหนึ่งตัวแปรและ เวลาค้นหาแบบพหุนามล็อคการิทึม
การค้นหาแบบเส้นตรง.
การหาวิธีแก้โจทย์เอ็นเอ็นเอสที่ง่ายที่สุดสามารถกระทำโดยเริ่มจากการหาค่าระยะทางจากจุดที่กำหนด ถึงจุดอื่นๆในฐานข้อมูล และเก็บข้อมูลเส้นทางที่ดีที่สุดอยู่เสมอ การหาค่าแบบนี้บางครั้งถูกตราหาเป็นวิธีที่พื้นฐานเกินไปและใช้เวลาทำงานเท่ากับ O( Nd ) โดย N คือ จำนวนสมาชิกของ S และ d คือมิติของ M วิธีการค้นหาแบบเส้นตรงนั้นไม่จำเป็นที่จะต้องรักษาโครงสร้างของข้อมูล เพราะฉะนั้นวิธีการค้นหาแบบเส้นตรงนั้นไม่ได้มีความสัมพันธ์กับความซับซ้อนของฐานข้อมูล เป็นที่น่าประหลาดใจว่า วิธีการค้นหาแบบเส้นตรงนั้นมีประสิทธิภาพมากกว่า อีกสองวิธีที่จะกล่าวถึงซึ่งก็คือ การแบ่งปริภูมิบนปริภูมิที่มีมิติสูงกว่า
การแบ่งส่วนปริภูมิ.
ตั้งแต่ปี 1970 วิธีการขยายและจำกัดเขต (branch and bound) ได้ถูกมาใช้ในการแก้ปัญหา ในกรณีของปริภูมิของยูคลิด วิธีของการแบ่งปริภูมิ (space-partitioning) นั้นรู้จักในนามว่าวิธีตำแหน่งเชิงพื้นที่ (spatial index) หรือการเข้าถึงชิงพื้นที่ ในหลายวิธีของการแบ่งปริภูมิ ได้ถูกพัฒนาขึ้นเพื่อใช้ในการแก้โจทย์เอ็นเอ็นเอส บางทีวิธีที่ง่ายและมีความซับซ้อนน้อยที่สุดคือ k-d tree วิธีนี้คือการแบ่งแยกข้อมูลออกเป็นสองฝั่ง โดยฝั่งที่ถูกแบ่งนั้นจะมีจุดครึ่งหนึ่งจากทั้งหมดของตอนแรกที่ยังไม่ถูกแบ่ง จะแก้ปัญหาผ่านทางการแวะผ่านต้นไม้เริ่มตั้งแต่รากถึงใบโดยการแก้จุดที่กำหนด ในทุกๆที่ที่ถูกแบ่ง วิธีการนี้ขึ้นอยู่กับระยะทางที่กล่าวถึงในคำถาม กิ่งเพื่อนบ้านที่มีตัวที่กำลังค้นหาอยู่นั้นอาจจะต้องถูกนำมาวิเคาระห์ด้วย โดยช้เวลาในการหาคำตอบเท่ากับ O(log N) ในกรณีที่เลวร้ายที่สุด คือมีจุดกระจายกันอย่างไม่เป็นระเบียบ อีกทางเลือกหนึ่งคือ การใช้โครงสร้างข้อมูลแบบ R-tree ที่ได้ถูกออกแบบมาเพื่อรองรับการค้นหาจุดที่ใกล้ที่สุด แบบพลวัตสืบเนื่องจากว่ามันมีวิธีที่มีประสิทธิภาพในการเพิ่มและลบของข้อมูล
ในกรณีทั่วไปของปริภูมิเมทริกซ์ วิธีการขยายและจำกัดเขต(branch and bound) รู้จักกันภายใต้ชื่อว่า ต้นไม้เมทริกซ์ ยกตัวอย่างจาก vp-tree และ BK-tree
โดยการใช้กลุ่มตัวเลขจากปริภูมิสามมิติและใส่เข้าไปในต้นไม้บีเอสพี และให้จุดที่กำหนดที่มาจากปริภูมิเดียวกัน การหาผลลัพธ์ที่เป็นไปได้สำหรับปัญหาการหาจุดที่ใกล้เคียงที่สุดระหว่างกลุ่มของจุดและ ดังคำอธิบายของการแก้สมการต่อไปนี้
ในทางปฏิบัติ เรานั้นสนใจแค่การหาค่าสับเซตอันใดก็ได้ของกลุ่มของจุดทั้งหมดที่ปรากฏให้เห็นในระยะทางที่สั้นที่สุดจากจุดที่กำหนดไว้ก่อนหน้า จุดประสงค์ของแต่ละกิ่งของต้นไม้นี้คือการเดาว่าจุดที่ใกล้ที่สุดจากในกลุ่มที่ตั้งอยู่ในครึ่งหนึ่งของปริภูมิที่ประกอบไปด้วยจุดที่ต้องการรู้ วิธีนี้อาจไม่ได้ผลเสมอไปแต่มันเป็นการเริ่มต้นในการแก้ไขปัญหาของตัวเองที่ดี หลังจากที่ใช้วิธีนี้วนซ้ำครบทุกกิ่งแล้ว เราจะสามารถเปรียบเทียบว่าระยะทางที่ได้จากผลลัพธ์กับระยะทางที่สั้นที่สุดจากจุดที่ต้องการถึงระนาบที่แบ่งไว้ ว่ากิ่งไหนนั้นใช้ระยะทางที่สั้นที่สุด โดยระยะทางที่สั้นที่สุดอาจจะเกิดขึ้นอีกจากฐานข้อมูลอีกอันที่ถูกแบ่งก็ได้เพราะฉะนั้นบางทีคุณอาจจะต้องพิจารณาทั้งสองฝั่งที่ถูกแบ่ง แต่ถึงอย่างไรก็ตามถ้าระยะทางไปกลับจากจุดที่ต้องการกับระนาบที่แบ่งไว้ นั้นยาวกว่าระยะทางที่ถูกค้นหาก่อนหน้านี้ เราก็ไม่จำเป็นที่จะต้องวิเคราะห์อีกฝั่งนึงแล้ว วิธีนี้ใช้เวลาสั้นกว่าวิธีการค้นหาแบบเส้นตรงเพราะว่าระยะทางระหว่าง จุดที่ต้องการทราบกับกลุ่มของจุดที่ใกล้ที่สุดนั้นเกือบจะเทียบเท่ากับศูนย์ วิธีนี้จะใช้ได้ผลก็ต่อเมื่อมีการค้นหาโดยใช้จุดที่ต้องการทราบ
Locality sensitive hashing.
แอลเอสเอช (Locality sensitive hashing) คือขั้นตอนที่ใช้สำหรับจับกลุ่มจุดต่างๆที่อยู่ในที่ว่างให้อยู่เป็นที่ โดยอ้างอิงจากระยะทางจากการกระทำการเมทริกซ์บนจุดเหล่านั้น จุดที่ใกล้กันในเมทริกซ์ ที่ถูกเลือกนั้นจะถูกจัดเข้าไปอยู่ในที่ๆเดียวกันโดยที่มีสถิติความน่าจะเป็นที่สูงกว่า
การค้นหาเพื่อนบ้านที่ใกล้ที่สุดในปริภูมิที่มีมิติน้อย.
รูปแบบโดยกว้างของต้นไม้นั้นอ้างอิงมาจากการเพิ่มค่าขึ้นเป็นสองเท่าของฐานข้อมูลที่คงที่ เส้นรอบนอก ในเวลาของการค้นหานั้นเท่ากับ O(c12 log n) โดย c นั้นเท่ากับการขยายตัวที่คงที่ของข้อมูลนั้น
Vector Approximation Files.
ในโลกหลายๆมิติ รายละเอียดภายในของต้นไม้นั้นไม่สามารถนำมาใช้ประโยชน์ได้เพราะว่าค่าเปอร์เซ็นต์ของจุดนั้นจะต้องถูกนำมาตรวจสอบด้วย ในการเพิ่มประสิทธิภาพให้กับวิธีค้นหาเป็นเส้นตรง รูปแบบการบีบอัดของการเก็บเวกเตอร์ในแรม นั้นได้ถูกใช้ในการคัดจำแนกข้อมูลในการประเมินในครั้งแรก ตัวเลือกสุดท้ายนั้นสามารถหาได้จากในขั้นตอนที่สองโดยการใช้การปลดปล่อยข้อมูลจากดิสก์เพื่อการคำนวณระยะทาง
Compression/Clustering Based Search
การจำลองการเข้าถึงไฟล์นั้นเป็นวิธีเฉพาะที่ใช้สำหรับการข้นหาข้อมูลแบบย่อ โดยที่องค์ประกอบของข้อมูลที่ถูกย่อนั้นได้ถูกย่อจากเวอร์ชันเต็มโดยไร้ข้อบังคับใช้เทคนิคการย่อและบีบอัดในโลกหลายๆมิตินั้นเรียกว่า Vector Quantization (VQ)ที่สร้างโดยการจัดกลุ่ม ฐานข้อมูลได้ถูกหั่นและย่อลงมาจนเหลือแค่ชิ้นข้อมูลที่น่าเชื่อถือที่สุด ประโยชน์ของเทคนิคนี้นั้นมากกว่าVA-File, tree-based indexes และ sequential scan
สิ่งที่แปรผัน.
มีค่าแปรผันมากมายในโจทย์เอ็นเอ็นเอสแต่ค่าแปรผันสองตัวที่พบเจอบ่อยที่สุดคือ การค้นหาเพื่อนบ้านที่ใกล้ที่สุดเป็นระยะทาง k (k-nearest neighbor search) และการประมาณหาเพื่อนบ้านที่ใกล้ที่สุด(ε-approximate nearest neighbor search)
k เพื่อนบ้านที่ใกล้ที่สุด (k-nearest neighbor).
การค้นหาเพื่อนบ้านที่ใกล้ที่สุด k ตัว(k-nearest neighbor search) แสดงค่าเพื่อนบ้านที่ใกล้กับจุดที่ต้องการทราบที่สุด k ตัว เทคนิคนี้ใช้อย่างเพร่หลายใจการวิเคราะห์คาดคะเนเพื่อที่จะประมาณหรือจำแนกจุดโดยอ้างอิงจากข้อสรุปของจุดอื่นในละแวกใกล้เคียง กราฟของเพื่อนบ้านที่ใกล้ที่สุด k เพื่อนบ้าน คือกราฟที่ทุกๆจุดได้ถูกเชื่อมต่อเข้ากับ k ที่ใกล้สุดในระแวกเดียวกัน
การคาดคะเนหรือประมาณจุดที่ใกล้ที่สุด (Approximate nearest neighbor).
ในการประยุกต์ใช้ในบางอย่าง มันอาจเป็นที่ยอบรับสำหรับการค้นเจอการคาดเดาที่ดีของจุดที่ใกล้ที่สุดในละแวกนั้น สำหรับกรณีเหล่านั้นเราสามารถใช้สมการที่ไม่รับรองการค้นหาจุดที่ใกล้ที่สุดที่แท้จริงโดยเสมอไป แต่ข้อดีของมันก็คือมันสามารถนำไปใช้ในการพัฒนาความเร็วในด้านการค้นหาและจัดเก็บข้อมูล แต่ถึงอย่างไรก็ตามสมการที่ว่าวามารถค้นหาจุดรอบๆที่ใกล้ที่สุดได้อยู่บ่อยๆแต่ทั้งนี้ทั้งนั้นมันก็ขึ้นอยู่กับข้อมูลที่ใช้ในการวิเคราะห์
ขั้นตอนวิธีที่รองรับการค้นหาเพื่อนบ้านที่ใกล้ที่สุดแบบคาดคะเน อาทิเช่น locality-sensitive hashing , best bin first และ balanced box-decomposition tree based search
การประมาณหาเพื่อนบ้านที่ใกล้ที่สุด (ε-approximate nearest neighbor search) นั้นกำลังเป็นที่นิยมสำหรับต่อกรกับคำสาปของมิติ (curse of dimensionality)
อัตราส่วนระยะทางของเพื่อนบ้านที่ใกล้ที่สุด (Nearest neighbor distance ratio).
อัตราส่วนระยะทางของเพื่อนบ้านที่ใกล้ที่สุด (Nearest neighbor distance ratio) นั้นใช้ไม่ได้กับระยะทางโดยตรงระหว่างจุดเริ่มแรกกับจุดที่อยู่ในละแวกเดียวกันแต่สัดส่วนของแต่ละจุดนี้ขึ้นอยู่กับระยะทางของจุดก่อนหน้านี้ที่อยู่ในละแวกเดียวกัน เทคนิคได้ถูกนำไปใช้กับ CBIR ในการค้นหารูปภาพผ่านจากตัวอย่างคำถาม โดยอ้างอิงจากความใกล้เคียงของคุณสมบัติต่างๆของรูปภาพเหล่านั้น ในเชิงลึกเทคนิคนี้ได้นำไปใช้ในปัญหาสำหรับการจับคู่
ทุกเพื่อนบ้านที่ใกล้ที่สุด (All nearest neighbors).
สำหรับขั้นตอนอื่น ตัวอย่างเช่น entropy estimation เราอาจมี N จุดข้อมูลและเราต้องการที่ทราบว่าจุดในละแวกไหนที่อยู่ใกล้จุดข้อมูล N เหล่านั้น เราอาจสามารถแก้ปัญหานี้ได้โดยการใช้วิธีเอ็นเอ็นเอสกับทุกจุด แต่แผนการ์ณที่ดีกว่านั้นคือการใช้ข้อมูลที่ซับซ้อนระหว่าง Nจุดที่ต้องการทราบ เพื่อที่จะสร้างการค้นหาที่มีประสิทธิภาพที่มากยิ่งขึ้น ดังเช่นตัวอย่างที่ง่ายที่จะกล่าวถึงต่อไปนี้ เมื่อไรเราได้หาระยะทางระหว่าจุด X กับ จุด Y เราก็สามารถรู้ระยะทางระหว่าง Y กับ X ในเวลาเดียวกัน เพราะฉะนั้นขั้นตอนการคำนวณที่เหมือนกันสามารถนำไปใช้ได้อีกเมื่อเราต้องการหาระยะทางจากจุด X ไปยังจุดสองจุดที่ต่างกัน
ปัญหาคอนกรูเอนซ์ของจำนวนเต็มยกกำลังสองมอดุโลเอ็น
ปัญหาคอนกรูเอนซ์ของจำนวนเต็มยกกำลังสองมอดุลโลเอ็น  ในเรื่องทฤษฎีจำนวนนั้นได้ถูกนำมาใช้บ่อยครั้งในปัญหาที่เกี่ยวข้องกับการแยกตัวประกอบของจำนวนเต็ม โดยเริ่มต้นจากปัญหาที่ว่า " จงหาจำนวนเต็ม x,y ที่ทำให้สมการดังกล่าวเป็นจริง เมื่อกำหนดจำนวนเต็ม n " โดย
ซึ่งการใช้ขั้นตอนวิธีการแยกตัวประกอบของจำนวนเต็มของแฟร์มาต์  โดยการพยายามแยกตัวประกอบของ n ในรูปแบบ "n" = "x"2 − "y"2 = ("x" + "y") ("x" − "y"). นั้น ต้องใช้เวลาที่ยาวนานมากในการค้นหาคำตอบ เพราะต้องค้นหาคำตอบที่เป็นไปได้เป็นจำนวนมาก และมีตัวเลขที่อาจเป็นคำตอบได้จริงน้อยมาก ในทางปฏิบัติจึงไม่นิยมใช้ แต่จะอาศัยการแยกตัวประกอบจากปัญหาที่ง่ายกว่า ซึ่งคือ ปัญหาคอนกรูเอนซ์ของจำนวนเต็มยกกำลังสองมอดุลโลเอ็น ซึ่งสามารถเขียนเป็นสมการได้ดังนี้
ขั้นตอนวิธีการแก้ปัญหา.
จากสมการ formula_2 จะได้ว่าเราสามารถเปลี่ยนรูปของปัญหาดังนี้
ซึ่งหมายความว่า formula_7 สามารถหาร formula_8 ลงตัว แต่ด้วยข้อกำหนดที่ว่า formula_3 จึงจะได้ว่า formula_10หรือ formula_11 ไม่สามารถหารด้วย n ลงตัวได้เพียงตัวใดตัวหนึ่ง โดยอาจใช้วิธีการแก้ปัญหาดังนี้
ในการหาตัวหารร่วมมากระหว่าง a และ b โดยกำหนด a &gt; b จะมีวิธีการหาตัวหารร่วมมากดังนี้ โดยมีข้อกำหนดว่า ทุกๆขั้นตอนที่ k ใดๆ ( k คือ 0 หรือ จำนวนเต็มบวกใดๆ) "r""k"−2 = "q""k" "r""k"−1 + "r""k" ซึ่ง ( 0≤ "r""k" , "q""k" formula_19 ± formula_20 โดย "q""k"จะมีเครื่องหมายเป็นลบเมื่อ a เป็นจำนวนเต็มบวก และ b เป็นจำนวนเต็มลบ หรือ a เป็นจำนวนเต็มลบ และ b เป็นจำนวนเต็มบวก) โดยจะมีขั้นตอนการดำเนินการดังนี้
จากสมการข้างต้นจะได้ "q"n = formula_12 ซึ่งจะเห็นได้ว่า จะสามารถตรวจคำตอบได้อย่างรวดเร็วซึ่งใช้เวลาไม่เกิน O(h) โดย h เป็นจำนวนหลักของ b ที่เป็นจำนวนที่น้อยกว่า a จากข้อกำหนด ซึ่ง h = formula_22 + 1 ( โดย k= log10(b) )
formula_28 เพราะฉะนั้นจะได้ว่า x = 6 , y = 1 เป็นคำตอบหนึ่งของสมการ ซึ่งจากการตรวจสอบ (6-1,35) = 5 และ (6+1,35) = 7 ซึ่งจะพบว่าตรงตามเงื่อนไขที่ได้กำหนดไว้ จึงถือว่า x=6,y=1 เป็นคำตอบหนึ่งของสมการนี้